CINXE.COM

Technology Solutions for Grocery Stores | Elo庐 Official

<!doctype html> <html lang="en"> <head > <!-- anti-flicker snippet (recommended) --> <style>.async-hide{opacity:0!important;}</style> <!-- Google Tag Manager --> <!-- End Google Tag Manager --> <meta charset="utf-8"/><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"538526754",accountID:"4210025",trustKey:"4210025",xpid:"UAQGUVZRDRAEUldQBAIGU1Y=",licenseKey:"NRJS-7c63cb5a7de5d9eaba4",applicationID:"466233152"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta name="title" content="Technology Solutions for Grocery Stores | Elo庐 Official"/> <meta name="description" content="Interactive digital signage, payment and checkout solutions for grocery stores. Improve operations and customer experience while decreasing tech debt."/> <meta name="keywords" content="restaurant pos system, restaurant pos systems, restaurant point of sale systems, pos for restaurant, restaurant computer solutions, restaurant pos solutions, bar pos system, cafe pos system, hospitality pos systems, bakery pos system, qsr pos, qsr pos system, touch screen pos system restaurant, restaurant cash register touch screen, touchscreen, interactive, self-service kiosk, ordering kiosk, mcdonalds kiosk, taco bell kiosk, self-order kiosk, point-of-sale, POS, POS system, POS computer, table top ordering, digital menu, menuboards, pickup cabinet, kitchen display, KDS, smart kitchen control, industrial kitchen control"/> <meta name="robots" content="INDEX,FOLLOW"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="google-site-verification" content="Xx1ibU-jnx_pSyV5pbMqqHSDdfNEdAiHZr4uY8IdhgM"/> <title>Technology Solutions for Grocery Stores | Elo庐 Official</title> <link rel="stylesheet" type="text/css" media="all" href="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/mage/calendar.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/MageArray_News/css/category_sidebar.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/MageArray_News/css/widget.min.css" /> <link rel="canonical" href="https://www.elotouch.com/grocery" /> <link rel="alternate" hreflang="x-default" href="https://www.elotouch.com/grocery" /> <link rel="alternate" hreflang="es-AR" href="https://www.elotouch.com.ar/grocery" /> <link rel="alternate" hreflang="pt-BR" href="https://www.elotouch.com.br/grocery" /> <link rel="alternate" hreflang="de-DE" href="https://www.elotouch.de/grocery" /> <link rel="alternate" hreflang="fr-FR" href="https://www.elotouch.fr/grocery" /> <link rel="alternate" hreflang="en-GB" href="https://www.elotouch.co.uk/grocery" /> <link rel="icon" type="image/x-icon" href="https://www.elotouch.com/media/favicon/default/elofavicon.png" /> <link rel="shortcut icon" type="image/x-icon" href="https://www.elotouch.com/media/favicon/default/elofavicon.png" /> <link rel="stylesheet" type="text/css" media="all" href="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/css/master.min.css" /> <link rel="preconnect" href="https://www.gstatic.com"/> <link rel="preconnect" href="https://www.googletagmanager.com"/> <link rel="preconnect" href="https://www.recaptcha.net"/> <link rel="preconnect" href="https://static.hotjar.com"/> <link rel="preconnect" href="https://script.hotjar.com"/> <link rel="preconnect" href="https://cdn.cookielaw.org"/> <!-- ELO-751 START--> <!--For opt-out information on Visitor Intelligence, please visit: https://d41.co/--> <!-- ELO-751 END --> <meta name="be:magento" content="1.1.1"> <!-- be_ixf, sdk, gho--> <meta name="be:sdk" content="php_sdk_1.5.8" /> <meta name="be:timer" content="71ms" /> <meta name="be:orig_url" content="https%3A%2F%2Fwww.elotouch.com%2Fgrocery" /> <meta name="be:norm_url" content="https%3A%2F%2Fwww.elotouch.com%2Fgrocery" /> <meta name="be:capsule_url" content="https%3A%2F%2Fixfd1-api.bc0a.com%2Fapi%2Fixf%2F1.0.0%2Fget_capsule%2Ff00000000296536%2F01789152146" /> <meta name="be:api_dt" content="Zy_2024;Zm_11;Zd_15;Zh_19;Zmh_07;p_epoch:1731697672681" /> <meta name="be:mod_dt" content="Zy_2024;Zm_11;Zd_15;Zh_19;Zmh_07;p_epoch:1731697672681" /> <meta name="be:diag" content="IzKQCTaaKtYx32stHW/bPyFo0NMhOYF+8kDHA/m4zTtd1QdLeCjIWb+IWp8koGWa5UPTIT0MVvgz3p59pDoe/9Q005kbteqxIyreAZgOQVLWHY0hidSwNoFqJrknGSBan10+Wd7LcmWNmFSkK3wJqfvGqH8ZvhNDr6PBL3B1OyvHHBom/R2JDYPbwPwQ+1eCS9gMOW5dC3wv16ncyyenXcpcAIIRsqP59ZDl2WRJat3nJMavVi1Sq9+9S5ioLR4vIbGoQbcmpKsUhlKXyjahcq1OmiYbvFMel73bEjzEdyVtEvA4cbeiIOFxvTsXaD51blfmH4doo2PvOZ1I9y83dt7LQBWTxmQQjgLoY2bvbPA3U41KGmo1NgtMWpj+F48cweVzNPLPhuGMCKUuVMb6mZ1PbU2tVLIMXwzZF2cV98PUqJm5wJmaS7R+VFI2UgXmy7NjWzGKnUANdWFm0yFLzbZJBs7XZ1ShOWb55iv7RChn7K9id4kfJgRXe4oV6rgh//p5eA/3v4QxVe3r2SEMUN4eDY8t6UnyshuDYtnPAqmz/dqyyYnSeFRmRPvF2Rl9XuD95uk7XyU+e+lhK/4ufzNdCgtik3D5Gn08iXpwA++AHrp4l+sU/V7JxPO9bvFIZhmne96QcPzWWTttmauUTgfj/0xUbYOi97beVHf521Tbd1B6IEvStUyRsIK4oMJviLp1aolFm4dWbrEkqEPIH4xK4td4w5t/0Y+PeVNvRF2k/fxliCVFPFnPd3LZUmX9izkpQ6nNwKiYiLdMcs2ojvngzpHUvKosIyok1TGTW/mDD7zqLZ1/maZUYJ6dlDvmztkaVmIvDMBvy6UU+JHHfYrsS1vJZij/TxGQ5yGnRg+RTbNpUUy75ObFOEW+/+43KHoZg1hA4q3HRMG7w16vLvL106FBQnBelVH7V3/jGBLDprAyfo0eivE6GgbHqZlBfPPaTz0uqPp+CScbyaqd0OSk4e4ZuxZsLApgxT+RFs5qRKuRpNuw3/X+6N6UPXg8C3Rvr+qN0c5wAy1xiaK2V4R27p41+X2Ke+YXmog/eCh0NAAf/G4HN9ASg5TUSI+UKfXqIrNOAtNMpmmyKRBTZCW6rtA1Rb88sRbDnuwFl15r2SFG0ask58nrSRH7I/p+L3rSUIJDSbBtywRtvOtZd0+phibCTjY7fDXbuo7OiiRrRNtn6cOOHu13Q/2Rpcmb8IAFczExwsqufnmQJRLuKMV+8NIbGpTAEw8gRv/d/qLzMRgWR/iPqXPEeJIlgwpGLGzNYmH+4ybcha9kHkstf6Saz7l9wNeH4m3d7POl8mPaugkfEhBSlvC6t6ogcgfwij5hDyKqDMbwH9QQx+YNhAIb+OZtk8Th52bquNUHXTYl+n4uQ6toz6gCdsF2koelDurBfNT1rnTYzGxHVmc3VjAfa9f+UUf+6RGR8SYCxTJ+2ueS+GxLg84HSYfqSoXkWY0DdwARtLDqpdKaTMrOVL3+Popr0Yd/WUtAN02VjZkoZWlh6GGVurO0FAFNxpUXQRuSU5EjLX56LmhH4dZPmigR4vsjJl7ZIXnxJtjKNofw9cc13TvPBFMtqffL5WGJToN7KudlfQdcbSTDzziOEdvaVlM3wKC7lfWP6zsEeXqOj1yazS2Md3LQrRvbhWEZaaGWD2U4mEZ+FEoj76iU7a+B0c/uRllFEDJrhESCKNmmeYERBXnVINy0uUlA0rspMbKCFbWnYPit0Ql711iHNrL+pL2ikePetCogVJtGBfapccNvWt4t4wDo+mmy+SKCHt8Iv/RIQClP69l05saX15NVSp3lVUkbVEyhQQYOXwPIvh+FzrTCVAOTVkHXESxM3ZnzEBupkt4Zd2SIdGBwtTCHc5rwVbgoEZROR8TQRp8MiWTR8TftI+XToPk0p7xgzDTFNkQGk6F5kGIqWo7ys2VngDTOVqKS+pVo3JUBIV+rlU5fftXUARSyKxhrqZU7jrlEM1OJVB8aSzt53XPe+zK+ia4Y2wtWYooUeApEuf/PGwZTaSZAEsv0Vzoq8Kl60+gM1vFETndPLJSPoKsnitaRUQOnhW8BAjSBxessA8mTAlc63Z6H3MgSO+c6iz290sx5PClN48t4UieKPwRxhJXalOn8pr/S03zL0FjVYNxX3yifvxJXEMbzHBVjVgGsPf5wqPN2TvBYwnoJ78TfixLLwJ1VutYpPaJRO0l6NTBUTGPNqXCzatb8t8iMjV2fANGhLiD/WufwdVDHpuPUgt5pO5/i5NccQ+mCVh5algzn736fLklpbImRR9LnNVxLDxpNvFF2p1SYwlQew3UBjjfqEx0tLo6vEoUSJj6KbMTPJ/HcG8YLz4XdcPDOExRSbJ/1YQa0cUKGY8hjmChReg==" /> <meta name="be:messages" content="true" /> <script data-cfasync="false" id="marvel" data-customerid="f00000000296536" src="https://marvel-b2-cdn.bc0a.com/marvel.js"></script> <style>.be-related-link-container .be-label{font-size:15px;font-weight:700;color:#7c808c;letter-spacing:0;-webkit-font-smoothing:antialiased}.be-related-link-container .be-label,.be-related-link-container .be-list,.be-related-link-container .be-list .be-list-item{display:inline-block}.be-related-link-container .be-list{padding-bottom:0;margin-bottom:0;margin-top:0}.be-related-link-container .be-list .be-list-item::before{display:none}.be-related-link-container .be-list .be-list-item{padding-right:20px}.be-related-link-container .be-list .be-list-item a{color:#33353a;font-weight:400;font-size:13px;-webkit-font-smoothing:antialiased}.be-related-link-container .be-list .be-list-item a:hover{color:#7fc6f5}@media (max-width:768px){.be-related-link-container{padding-left:30px;padding-top:30px}.be-related-link-container .be-list,.be-related-link-container .be-list .be-list-item{display:block}.be-related-link-container .be-list{padding-left:0}}</style> <meta property="og:type" content="article"/> <meta property="og:title" content="Technology&#x20;Solutions&#x20;for&#x20;Grocery&#x20;Stores&#x20;&#x7C;&#x20;Elo&#xAE;&#x20;Official"/> <meta property="og:description" content="Interactive&#x20;digital&#x20;signage,&#x20;payment&#x20;and&#x20;checkout&#x20;solutions&#x20;for&#x20;grocery&#x20;stores.&#x20;Improve&#x20;operations&#x20;and&#x20;customer&#x20;experience&#x20;while&#x20;decreasing&#x20;tech&#x20;debt."/> <meta property="og:url" content="https://www.elotouch.com/grocery"/> <meta property="og:image" content="https://www.elotouch.com/media/og_image/default/social_media_share-min.jpg"/> <meta property="og:image:width" content="1200"/> <meta property="og:image:height" content="627"/> <meta name="twitter:card" content="summary"/> <meta name="twitter:site" content="@elotouch"/> <meta name="twitter:title" content="Technology&#x20;Solutions&#x20;for&#x20;Grocery&#x20;Stores&#x20;&#x7C;&#x20;Elo&#xAE;&#x20;Official"/> <meta name="twitter:description" content="Interactive&#x20;digital&#x20;signage,&#x20;payment&#x20;and&#x20;checkout&#x20;solutions&#x20;for&#x20;grocery&#x20;stores.&#x20;Improve&#x20;operations&#x20;and&#x20;customer&#x20;experience&#x20;while&#x20;decreasing&#x20;tech&#x20;debt."/> <link rel="stylesheet" type="text/css" media="all" href="/static/frontend/Envoy/elo/en_US/css/page/details.min.css"/> </head> <body data-container="body" data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/images/loader-2.gif"}}' class="cms-grocery cms-page-view page-layout-1column"> <noscript> <div class="message global noscript"> <div class="content"> <p> <strong>JavaScript seems to be disabled in your browser.</strong> <span> For the best experience on our site, be sure to turn on Javascript in your browser. </span> </p> </div> </div> </noscript> <div class="site-wrap"> <header class="site-header"> <div class="site-header__container"> <nav id="site-nav" class="site-nav"> <ul class="site-nav__list"> <li class="site-nav__list-item"> <a href="/" class="site-nav__item-link site-nav__item-link--has-logo"> <svg xmlns="http://www.w3.org/2000/svg" width="43" height="32"><path class="cls-1" d="M24.563 31.745V.033h-6.048v31.712h6.048zM7.537 32a26.113 26.113 0 0 1-3.19-.259c-2.7-.6-4.293-2.008-4.293-3.957V10.232c0-2.628 2.9-4.275 7.5-4.275s7.5 1.647 7.5 4.275v9.353H6.1v8.106c0 1.158.567 1.247 1.45 1.247S9 28.85 9 27.691v-5.967h6.047v6.057c0 1.953-1.6 3.365-4.31 3.961a30.494 30.494 0 0 1-3.2.258zM9 10.322c0-1.159-.567-1.247-1.448-1.247s-1.45.088-1.45 1.247V16.6H9v-6.28zM35.709 32c-1.3 0-3.371-.255-3.371-.255h-.024c-2.708-.6-4.307-2.008-4.307-3.961V10.232c0-2.628 2.9-4.275 7.5-4.275S43 7.6 43 10.232v17.549c0 1.956-1.6 3.368-4.319 3.963h.011a25.494 25.494 0 0 1-2.983.256zm1.244-21.678c0-1.159-.567-1.247-1.45-1.247s-1.448.088-1.448 1.247v17.37c0 1.158.566 1.247 1.448 1.247s1.45-.089 1.45-1.247v-17.37zM0 0v4.137h15.071V0H0z"/></svg> </a> </li> <li class="site-nav__list-item"> <a href="javascript:void(0)" class="site-nav__item-link" data-submenu-ref="products"> <span class="site-nav__item-link-text"> Products </span> </a> </li> <li class="site-nav__list-item"> <a href="javascript:void(0)" class="site-nav__item-link" data-submenu-ref="solutions"> <span class="site-nav__item-link-text"> Solutions </span> </a> </li> <li class="site-nav__list-item"> <a href="javascript:void(0)" class="site-nav__item-link" data-submenu-ref="services"> <span class="site-nav__item-link-text"> Services </span> </a> </li> <li class="site-nav__list-item"> <a href="https://myelo.elotouch.com/support" class="site-nav__item-link" data-submenu-ref="support"> <span class="site-nav__item-link-text"> Support </span> </a> </li> </ul> <ul class="site-nav__list site-nav__list--right"> <li class="site-nav__list-item site-nav__language-selector site-nav__language-selector--us"> <a href="/languages" class="site-nav__item-link site-nav__item-link--small site-nav__item-link-languages"> <img class="site-nav__language-flag" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/image/flags/us.png" alt="English (US) flag"> <span class="site-nav__language-name">English (US)</span> </a> </li> <li class="site-nav__list-item site-nav__search"> <a href="#" class="site-nav__item-link site-nav__item-link--small" data-search-ref> <span class="site-nav__icon-search"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 19 19" preserveAspectRatio="none"><path d="M1030.6 49.589a1.349 1.349 0 0 1-1.91 0l-3.99-3.989a6.325 6.325 0 1 1 1.91-1.91l3.99 3.992a1.346 1.346 0 0 1 0 1.907zm-9.29-13.8a4.5 4.5 0 1 0 4.5 4.5 4.507 4.507 0 0 0-4.5-4.498z" transform="translate(-1015 -34)" style="fill:#3a3a3a;fill-rule:evenodd"/></svg> </span> </a> </li> <li class="site-nav__list-item site-nav__buy-button"> <a href="/how-to-buy" class="site-nav__item-link site-nav__item-link--cta">How to buy</a> </li> </ul> </nav> <nav id="site-nav-mobile" class="site-nav-mobile"> <div class="site-nav-mobile__menu-toggle"> <div class="site-nav-mobile__menu-lines"> <span></span> <span></span> <span></span> </div> </div> <div class="site-nav-mobile__top"> <a href="/" class="site-nav-mobile__logo"> <svg xmlns="http://www.w3.org/2000/svg" width="43" height="32"><path class="cls-1" d="M24.563 31.745V.033h-6.048v31.712h6.048zM7.537 32a26.113 26.113 0 0 1-3.19-.259c-2.7-.6-4.293-2.008-4.293-3.957V10.232c0-2.628 2.9-4.275 7.5-4.275s7.5 1.647 7.5 4.275v9.353H6.1v8.106c0 1.158.567 1.247 1.45 1.247S9 28.85 9 27.691v-5.967h6.047v6.057c0 1.953-1.6 3.365-4.31 3.961a30.494 30.494 0 0 1-3.2.258zM9 10.322c0-1.159-.567-1.247-1.448-1.247s-1.45.088-1.45 1.247V16.6H9v-6.28zM35.709 32c-1.3 0-3.371-.255-3.371-.255h-.024c-2.708-.6-4.307-2.008-4.307-3.961V10.232c0-2.628 2.9-4.275 7.5-4.275S43 7.6 43 10.232v17.549c0 1.956-1.6 3.368-4.319 3.963h.011a25.494 25.494 0 0 1-2.983.256zm1.244-21.678c0-1.159-.567-1.247-1.45-1.247s-1.448.088-1.448 1.247v17.37c0 1.158.566 1.247 1.448 1.247s1.45-.089 1.45-1.247v-17.37zM0 0v4.137h15.071V0H0z"/></svg> </a> <div class="site-nav-mobile__right"> <a href="/languages" class="site-nav-mobile__language-selector"> <img class="site-nav-mobile__language-flag" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/image/flags/us.png" alt="English (US) flag"> <span class="site-nav-mobile__language-name">English (US)</span> </a> <a href="/how-to-buy" class="site-nav-mobile__btn"> <span class="site-nav-mobile__btn-text">How to buy</span> </a> </div> </div> <div class="site-nav-mobile__breadcrumbs"> <span class="site-nav-mobile__crumb-all" data-link-crumb="all">All</span> <span class="site-nav-mobile__crumb-section" data-link-crumb="search">Search</span> <span class="site-nav-mobile__crumb-section" data-link-crumb="products">Products</span> <span class="site-nav-mobile__crumb-section" data-link-crumb="solutions">Solutions</span> <span class="site-nav-mobile__crumb-section" data-link-crumb="services">Services</span> <span class="site-nav-mobile__crumb-section" data-link-crumb="support">Support</span> <span class="site-nav-mobile__crumb-section" data-link-crumb="about">About</span> <a href="/languages" class="site-nav-mobile__language-selector site-nav-mobile__language-selector--menu-open"> <img class="site-nav-mobile__language-flag" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/image/flags/us.png" alt="English (US) flag"> <span class="site-nav-mobile__language-name">English (US)</span> </a> </div> <nav class="site-nav-mobile__menu"> <ul class="site-nav-mobile__list site-nav-mobile__list--active" data-rootmenu data-submenu="all"> <li class="site-nav-mobile__list-item site-nav-mobile__list-item--expandable"> <a href="javascript:void(0)" class="site-nav-mobile__item-link" data-submenu-ref=products> Products </a> </li> <li class="site-nav-mobile__list-item site-nav-mobile__list-item--expandable"> <a href="javascript:void(0)" class="site-nav-mobile__item-link" data-submenu-ref=solutions> Solutions </a> </li> <li class="site-nav-mobile__list-item site-nav-mobile__list-item--expandable"> <a href="javascript:void(0)" class="site-nav-mobile__item-link" data-submenu-ref=services> Services </a> </li> <li class="site-nav-mobile__list-item"> <a href="https://myelo.elotouch.com/support" class="site-nav-mobile__item-link" data-submenu-ref="support"> Support </a> </li> <li class="site-nav-mobile__list-item"> <a href="javascript:void(0)" class="site-nav-mobile__item-link" data-search-ref>Search</a> </li> </ul> <ul id="site-search-mobile" class="site-nav-mobile__list" data-submenu="search"> <li class="site-nav-mobile__list-item"> <form class="form minisearch" action="/catalogsearch/result/" method="get"> <input type="text" class="site-nav-mobile__input" placeholder="I&rsquo;m looking for..." autocomplete="off" name="q"> </form> </li> <div id="search_autocomplete_mobile" class="search-autocomplete"></div> </ul> <ul class="site-nav-mobile__list" data-submenu="products"> <li class="site-nav-mobile__list-item"> <a href="/mobile-computers.html" class="site-nav-mobile__item-link" data-text="Mobile Computers">Mobile Computers</a> </li> <li class="site-nav-mobile__list-item"> <a href="/touchscreen-monitors.html" class="site-nav-mobile__item-link" data-text="Touchscreen Monitors">Touchscreen Monitors</a> </li> <li class="site-nav-mobile__list-item"> <a href="/pos-terminals.html" class="site-nav-mobile__item-link" data-text="POS Terminals">POS Terminals</a> </li> <li class="site-nav-mobile__list-item"> <a href="/touchscreen-computers.html" class="site-nav-mobile__item-link" data-text="Touchscreen Computers">Touchscreen Computers</a> </li> <li class="site-nav-mobile__list-item"> <a href="/open-frame-touchscreens.html" class="site-nav-mobile__item-link" data-text="Open Frame Touchscreens">Open Frame Touchscreens</a> </li> <li class="site-nav-mobile__list-item"> <a href="/touchscreen-signage.html" class="site-nav-mobile__item-link" data-text="Touchscreen Signage">Touchscreen Signage</a> </li> <li class="site-nav-mobile__list-item"> <a href="/medical-grade-touchscreens.html" class="site-nav-mobile__item-link" data-text="Medical-Grade Touchscreens">Medical-Grade Touchscreens</a> </li> <li class="site-nav-mobile__list-item"> <a href="/touchscreen-components.html" class="site-nav-mobile__item-link" data-text="Touchscreen Components">Touchscreen Components</a> </li> <li class="site-nav-mobile__list-item"> <a href="/touchscreen-display-modules.html" class="site-nav-mobile__item-link" data-text="Touchscreen Display Modules">Touchscreen Display Modules</a> </li> <li class="site-nav-mobile__list-item"> <a href="/accessories.html" class="site-nav-mobile__item-link" data-text="Accessories">Accessories</a> </li> <li class="site-nav-mobile__list-item"> <a href="/eloview" class="site-nav-mobile__item-link" data-text="EloView<sup>&reg;</sup>">EloView<sup>&reg;</sup></a> </li> <li class="site-nav-mobile__list-item"> <a href="/elo-pay" class="site-nav-mobile__item-link" data-text="Elo Pay">Elo Pay</a> </li> </ul> <ul class="site-nav-mobile__list" data-submenu="solutions"> <li class="site-nav-mobile__list-item"> <a href="/android" class="site-nav-mobile__item-link" data-text="Essentials for Android">Essentials for Android</a> </li> <li class="site-nav-mobile__list-item"> <a href="/point-of-sale" class="site-nav-mobile__item-link" data-text="Point-of-Sale">Point-of-Sale</a> </li> <li class="site-nav-mobile__list-item"> <a href="/self-service" class="site-nav-mobile__item-link" data-text="Self-Service">Self-Service</a> </li> <li class="site-nav-mobile__list-item"> <a href="/retail" class="site-nav-mobile__item-link" data-text="Retail">Retail</a> </li> <li class="site-nav-mobile__list-item"> <a href="/restaurant-qsr" class="site-nav-mobile__item-link" data-text="Restaurant/QSR">Restaurant/QSR</a> </li> <li class="site-nav-mobile__list-item"> <a href="/grocery" class="site-nav-mobile__item-link" data-text="Grocery">Grocery</a> </li> <li class="site-nav-mobile__list-item"> <a href="/healthcare" class="site-nav-mobile__item-link" data-text="Healthcare">Healthcare</a> </li> <li class="site-nav-mobile__list-item"> <a href="/gaming" class="site-nav-mobile__item-link" data-text="Gaming">Gaming</a> </li> <li class="site-nav-mobile__list-item"> <a href="/touchscreen-signage" class="site-nav-mobile__item-link" data-text="Touchscreen Signage">Touchscreen Signage</a> </li> <li class="site-nav-mobile__list-item"> <a href="/corporate" class="site-nav-mobile__item-link" data-text="Corporate">Corporate</a> </li> <li class="site-nav-mobile__list-item"> <a href="/industry-4.0" class="site-nav-mobile__item-link" data-text="Industry 4.0">Industry 4.0</a> </li> <li class="site-nav-mobile__list-item"> <a href="/embedded-oem-solutions" class="site-nav-mobile__item-link" data-text="Embedded OEM Solutions">Embedded OEM Solutions</a> </li> </ul> <ul class="site-nav-mobile__list" data-submenu="services"> <li class="site-nav-mobile__list-item"> <a href="/services/elocare" class="site-nav-mobile__item-link" data-text="EloCare<sup>&#8480;</sup>">EloCare<sup>&#8480;</sup></a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-os-360" class="site-nav-mobile__item-link" data-text="OS 360">OS 360</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-advance-unit-replacement" class="site-nav-mobile__item-link" data-text="Advance Unit Replacement">Advance Unit Replacement</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-accidental-damage-protection" class="site-nav-mobile__item-link" data-text="Accidental Damage Protection">Accidental Damage Protection</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-extended-warranty" class="site-nav-mobile__item-link" data-text="Extended Warranty">Extended Warranty</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-onsite-exchange" class="site-nav-mobile__item-link" data-text="On-Site Exchange">On-Site Exchange</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-out-of-warranty-services" class="site-nav-mobile__item-link" data-text="Out of Warranty">Out of Warranty</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-battery-replacement" class="site-nav-mobile__item-link" data-text="Battery Replacement">Battery Replacement</a> </li> <li class="site-nav-mobile__list-item"> <a href="/services/elocare-professional-services" class="site-nav-mobile__item-link" data-text="Professional Services">Professional Services</a> </li> </ul> <ul class="site-nav-mobile__list" data-submenu="support"> <li class="site-nav-mobile__list-item"> <a href="/support" class="site-nav-mobile__item-link" data-text="Overview">Overview</a> </li> <li class="site-nav-mobile__list-item"> <a href="/support/downloads" class="site-nav-mobile__item-link" data-text="Downloads">Downloads</a> </li> <li class="site-nav-mobile__list-item"> <a href="/support/technical-support" class="site-nav-mobile__item-link" data-text="Technical Support">Technical Support</a> </li> <li class="site-nav-mobile__list-item"> <a href="/support/customer-service" class="site-nav-mobile__item-link" data-text="Customer Service">Customer Care</a> </li> <li class="site-nav-mobile__list-item"> <a href="/support/technical-support/cleaning" class="site-nav-mobile__item-link" data-text="Cleaning">Cleaning</a> </li> </ul> <ul class="site-nav-mobile__list" data-submenu="about"> <li class="site-nav-mobile__list-item"> <a href="/about" class="site-nav-mobile__item-link" data-text="Company">Company</a> </li> <li class="site-nav-mobile__list-item"> <a href="/team" class="site-nav-mobile__item-link" data-text="Team">Team</a> </li> <li class="site-nav-mobile__list-item"> <a href="/news" class="site-nav-mobile__item-link" data-text="Press">Press</a> </li> <li class="site-nav-mobile__list-item"> <a href="/events" class="site-nav-mobile__item-link" data-text="Events">Events</a> </li> <li class="site-nav-mobile__list-item"> <a href="/careers" class="site-nav-mobile__item-link" data-text="Careers">Careers</a> </li> <li class="site-nav-mobile__list-item"> <a href="/product-environmental-compliance" class="site-nav-mobile__item-link" data-text="Environment">Environment</a> </li> <li class="site-nav-mobile__list-item"> <a href="/how-to-buy" class="site-nav-mobile__item-link" data-text="How to Buy">How to buy</a> </li> </ul> <a href="/how-to-buy" class="site-nav-mobile__btn-cta site-nav-mobile__btn-cta--show" data-submenu-ref="all"> <span class="site-nav-mobile__btn-cta-text">Contact Us</span> </a> <a href="/all-products" class="site-nav-mobile__btn-cta" data-submenu-ref="products" style="bottom: 125px"> <span class="site-nav-mobile__btn-cta-text">Explore all products</span> </a> <a href="/custom-products" class="site-nav-mobile__btn-cta" data-submenu-ref="products"> <span class="site-nav-mobile__btn-cta-text">Explore custom products</span> </a> <a href="/all-solutions" class="site-nav-mobile__btn-cta" data-submenu-ref="solutions" style="bottom: 125px"> <span class="site-nav-mobile__btn-cta-text">Explore all solutions</span> </a> <a href="/how-to-buy" class="site-nav-mobile__btn-cta" data-submenu-ref="solutions"> <span class="site-nav-mobile__btn-cta-text">Get in touch</span> </a> <a href="https://portal.elotouch.com/Services" class="site-nav-mobile__btn-cta" data-submenu-ref="services" style="bottom: 125px"> <span class="site-nav-mobile__btn-cta-text">Check warranty status</span> </a> <a href="/support/policy/return" class="site-nav-mobile__btn-cta" data-submenu-ref="services"> <span class="site-nav-mobile__btn-cta-text">Return & Repair Policy</span> </a> </nav> </nav> </div> <!-- __container --> </header> <!-- END .site-header --> <div class="submenu__bg"> <div class="submenu__bg-flyout"></div> <div class="submenu__bg-box"></div> </div> <div class="submenu submenu--products" data-submenu="products"> <div class="submenu__container"> <div class="submenu__click-area"></div> <nav class="submenu__nav"> <ul class="submenu__nav-list"> <li class="submenu__nav-list-item"> <a href="/mobile-computers.html" class="submenu__nav-item-link" data-text="Mobile Computers">Mobile Computers</a> </li> <li class="submenu__nav-list-item"> <a href="/touchscreen-monitors.html" class="submenu__nav-item-link" data-text="Touchscreen Monitors">Touchscreen Monitors</a> </li> <li class="submenu__nav-list-item"> <a href="/pos-terminals.html" class="submenu__nav-item-link" data-text="POS Terminals">POS Terminals</a> </li> <li class="submenu__nav-list-item"> <a href="/touchscreen-computers.html" class="submenu__nav-item-link" data-text="Touchscreen Computers">Touchscreen Computers</a> </li> <li class="submenu__nav-list-item"> <a href="/open-frame-touchscreens.html" class="submenu__nav-item-link" data-text="Open Frame Touchscreens">Open Frame Touchscreens</a> </li> <li class="submenu__nav-list-item"> <a href="/touchscreen-signage.html" class="submenu__nav-item-link" data-text="Touchscreen Signage">Touchscreen Signage</a> </li> <li class="submenu__nav-list-item"> <a href="/medical-grade-touchscreens.html" class="submenu__nav-item-link" data-text="Medical-Grade Touchscreens">Medical-Grade Touchscreens</a> </li> <li class="submenu__nav-list-item"> <a href="/touchscreen-components.html" class="submenu__nav-item-link" data-text="Touchscreen Components">Touchscreen Components</a> </li> <li class="submenu__nav-list-item"> <a href="/touchscreen-display-modules.html" class="submenu__nav-item-link" data-text="Touchscreen Display Modules">Touchscreen Display Modules</a> </li> <li class="submenu__nav-list-item"> <a href="/accessories.html" class="submenu__nav-item-link" data-text="Accessories">Accessories</a> </li> <li class="submenu__nav-list-item"> <a href="/eloview" class="submenu__nav-item-link" data-text="EloView<sup>&reg;</sup>">EloView<sup>&reg;</sup></a> </li> <li class="submenu__nav-list-item"> <a href="/elo-pay" class="submenu__nav-item-link" data-text="Elo Pay">Elo Pay</a> </li> </ul> </nav> <div class="submenu__right"> <a href="/all-products" class="submenu__cta-btn">Explore all products</a> <a href="/custom-products" class="submenu__cta-btn secondary"> Explore custom products </a> </div> </div> </div> <div class="submenu submenu--solutions" data-submenu="solutions"> <div class="submenu__container"> <div class="submenu__click-area"></div> <nav class="submenu__nav"> <ul class="submenu__nav-list"> <li class="submenu__nav-list-item"> <a href="/android" class="submenu__nav-item-link" data-text="Essentials for Android">Essentials for Android</a> </li> <li class="submenu__nav-list-item"> <a href="/point-of-sale" class="submenu__nav-item-link" data-text="Point-of-Sale">Point-of-Sale</a> </li> <li class="submenu__nav-list-item"> <a href="/self-service" class="submenu__nav-item-link" data-text="Self-Service">Self-Service</a> </li> <li class="submenu__nav-list-item"> <a href="/retail" class="submenu__nav-item-link" data-text="Retail">Retail</a> </li> <li class="submenu__nav-list-item"> <a href="/restaurant-qsr" class="submenu__nav-item-link" data-text="Restaurant/QSR">Restaurant/QSR</a> </li> <li class="submenu__nav-list-item"> <a href="/grocery" class="submenu__nav-item-link" data-text="Grocery">Grocery</a> </li> <li class="submenu__nav-list-item"> <a href="/healthcare" class="submenu__nav-item-link" data-text="Healthcare">Healthcare</a> </li> <li class="submenu__nav-list-item"> <a href="/gaming" class="submenu__nav-item-link" data-text="Gaming">Gaming</a> </li> <li class="submenu__nav-list-item"> <a href="/touchscreen-signage" class="submenu__nav-item-link" data-text="Touchscreen Signage">Touchscreen Signage</a> </li> <li class="submenu__nav-list-item"> <a href="/corporate" class="submenu__nav-item-link" data-text="Corporate">Corporate</a> </li> <li class="submenu__nav-list-item"> <a href="/industry-4.0" class="submenu__nav-item-link" data-text="Industry 4.0">Industry 4.0</a> </li> <li class="submenu__nav-list-item"> <a href="/embedded-oem-solutions" class="submenu__nav-item-link" data-text="Embedded OEM Solutions">Embedded OEM Solutions</a> </li> </ul> </nav> <div class="submenu__right"> <a href="/all-solutions" class="submenu__cta-btn">Explore all solutions</a> <a href="/how-to-buy" class="submenu__cta-btn secondary"> Get in touch </a> </div> </div> </div> <div class="submenu submenu--services" data-submenu="services"> <div class="submenu__container"> <div class="submenu__click-area"></div> <nav class="submenu__nav"> <ul class="submenu__nav-list"> <li class="submenu__nav-list-item"> <a href="/services/elocare" class="submenu__nav-item-link" data-text="EloCare<sup>&#8480;</sup>">EloCare<sup>&#8480;</sup></a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-os-360" class="submenu__nav-item-link" data-text="OS 360">OS 360</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-advance-unit-replacement" class="submenu__nav-item-link" data-text="Advance Unit Replacement">Advance Unit Replacement</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-accidental-damage-protection" class="submenu__nav-item-link" data-text="Accidental Damage Protection">Accidental Damage Protection</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-extended-warranty" class="submenu__nav-item-link" data-text="Extended Warranty">Extended Warranty</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-onsite-exchange" class="submenu__nav-item-link" data-text="On-Site Exchange">On-Site Exchange</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-out-of-warranty-services" class="submenu__nav-item-link" data-text="Out of Warranty">Out of Warranty</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-battery-replacement" class="submenu__nav-item-link" data-text="Battery Replacement">Battery Replacement</a> </li> <li class="submenu__nav-list-item"> <a href="/services/elocare-professional-services" class="submenu__nav-item-link" data-text="Professional Services">Professional Services</a> </li> </ul> </nav> <div class="submenu__right"> <a href="https://portal.elotouch.com/Services" class="submenu__cta-btn">Check warranty status</a> <a href="/support/policy/return" class="submenu__cta-btn secondary"> Return & Repair Policy </a> </div> </div> </div> <div class="submenu submenu--support" data-submenu="support"> <div class="submenu__container"> <div class="submenu__click-area"></div> <nav class="submenu__nav"> <ul class="submenu__nav-list"> <li class="submenu__nav-list-item"> <a href="/support" class="submenu__nav-item-link" data-text="Overview">Overview</a> </li> <li class="submenu__nav-list-item"> <a href="/support/downloads" class="submenu__nav-item-link" data-text="Downloads">Downloads</a> </li> <li class="submenu__nav-list-item"> <a href="/support/technical-support" class="submenu__nav-item-link" data-text="Technical Support">Technical Support</a> </li> <li class="submenu__nav-list-item"> <a href="/support/customer-service" class="submenu__nav-item-link" data-text="Customer Service">Customer Care</a> </li> <li class="submenu__nav-list-item"> <a href="/support/technical-support/cleaning" class="submenu__nav-item-link" data-text="Cleaning">Cleaning</a> </li> </ul> </nav> </div> </div> <div class="submenu submenu--about" data-submenu="about"> <div class="submenu__container"> <div class="submenu__click-area"></div> <nav class="submenu__nav"> <ul class="submenu__nav-list"> <li class="submenu__nav-list-item"> <a href="/about" class="submenu__nav-item-link" data-text="Company">Company</a> </li> <li class="submenu__nav-list-item"> <a href="/team" class="submenu__nav-item-link" data-text="Team">Team</a> </li> <li class="submenu__nav-list-item"> <a href="/news" class="submenu__nav-item-link" data-text="Press">Press</a> </li> <li class="submenu__nav-list-item"> <a href="/events" class="submenu__nav-item-link" data-text="Events">Events</a> </li> <li class="submenu__nav-list-item"> <a href="/careers" class="submenu__nav-item-link" data-text="Careers">Careers</a> </li> <li class="submenu__nav-list-item"> <a href="/product-environmental-compliance" class="submenu__nav-item-link" data-text="Environment">Environment</a> </li> <li class="submenu__nav-list-item"> <a href="/how-to-buy" class="submenu__nav-item-link" data-text="How to Buy">How to buy</a> </li> </ul> </nav> </div> </div> <div id="site-search" class="site-search"> <div class="site-search__region"> <div class="site-search__container"> <form class="form minisearch" id="search_mini_form" action="https://www.elotouch.com/catalogsearch/result" method="get"> <input id="search" type="text" name="q" value="" placeholder="I&rsquo;m looking for..." class="site-search__input" maxlength="128" role="combobox" aria-haspopup="false" aria-autocomplete="both" autocomplete="off"/> <button type="submit" title="Go" class="site-search__btn"> Go </button> </form> </div> </div> <div id="search_autocomplete" class="search-autocomplete"></div> </div> <main id="maincontent" class="page-content"><div class="page messages"><div data-placeholder="messages"></div> <div data-bind="scope: 'messages'"> <!-- ko if: cookieMessages && cookieMessages.length > 0 --> <div aria-atomic="true" role="alert" data-bind="foreach: { data: cookieMessages, as: 'message' }" class="messages"> <div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"> <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> </div> </div> <!-- /ko --> <!-- ko if: messages().messages && messages().messages.length > 0 --> <div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { data: messages().messages, as: 'message' }"> <div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"> <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> </div> </div> <!-- /ko --> </div> </div><input name="form_key" type="hidden" value="AYqNfewFsw8LE62Z" /><div id="authenticationPopup" data-bind="scope:'authenticationPopup', style: {display: 'none'}"> <!-- ko template: getTemplate() --><!-- /ko --> </div> <style>.body-content{max-width:1920px;margin:0 auto}.top-container{padding-top:61px}.link_btn a{color:#0069ff;font-weight:400}.link_btn{margin-top:10px}.link_btn a img{height:.6em;margin-left:10px}.link_btn a:hover{text-decoration:underline}@media screen and (min-width:400px){.link_btn a{font-size:18px}}@media screen and (min-width:900px){.link_btn a{font-size:19px}}@media screen and (min-width:1170px){.link_btn a{font-size:21px}.link_btn{margin-top:15px}}@media screen and (min-width:769px){.top-container{padding-top:80px}}.image-text-block{grid-template-columns:1fr;display:grid;margin-bottom:40px}.contained,.image-text-block.contained{margin-left:auto;margin-right:auto}.image-text-block h1,.image-text-block h2,.image-text-block h3{color:#121d22;line-height:105%;margin-top:0;margin-bottom:10px;letter-spacing:-.5px}.image-text-block h1{font-size:24px}.image-text-block>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.image-text-block p{font-size:16px;line-height:150%}.image-text-block .attachment-container{position:relative;overflow:hidden;min-height:100%!important;border-radius:4px;display:flex}.image-text-block .attachment-container video{width:100%;height:100%;object-fit:cover;display:inline-block}.eight>div>img,.image-text-block .attachment-container img{max-width:100%;display:block}.image-text-block>div:first-of-type{grid-row:2}.image-text-block.left-attachment .text-container{order:2}.icon-block br,.image-text-block br,.section9 .form label{display:none}.image-text-block .text-container{padding:45px 30px 40px 35px}@media screen and (min-width:400px){.image-text-block .text-container{padding:45px 40px 40px 45px}.image-text-block h1{font-size:30px}.image-text-block h2,.image-text-block h3{font-size:24px}}@media screen and (min-width:767px){.image-text-block .text-container{padding:65px 45px 65px 50px}}@media screen and (min-width:768px){.image-text-block h2,.image-text-block h3{font-size:26px}}@media screen and (min-width:900px){.image-text-block br{display:block}.image-text-block{grid-template-columns:49% 51%;margin-bottom:70px}.image-text-block.left-attachment{grid-template-columns:51% 49%}.image-text-block .attachment-container{max-height:825px}.image-text-block>div:first-of-type{grid-row:auto}}@media screen and (min-width:1050px){.image-text-block h1{font-size:40px}.image-text-block h2,.image-text-block h3{font-size:36px}.eight p,.image-text-block p{font-size:18px}}@media screen and (min-width:1100px){.image-text-block h1,.image-text-block h2,.image-text-block h3{margin-bottom:30px}}@media screen and (min-width:1250px){.image-text-block{margin-bottom:145px}.image-text-block h1{font-size:50px}.image-text-block h2,.image-text-block h3{font-size:38px}}.image-text-block h2,.image-text-block h3,.section9 h2{font-size:45px}@media screen and (min-width:1500px){.contained,.image-text-block.contained{max-width:1230px}}.icon-block{display:flex;justify-content:space-between;max-width:1260px;margin:0 auto;flex-wrap:wrap;padding:75px 15px 100px}.icon-block .icon{max-width:75px;margin-bottom:30px}.icon-block .heading{font-size:14px;font-weight:700;line-height:130%;max-width:200px}.icon-block .icon-container{margin-right:20px;width:calc(50% - 20px);margin-bottom:80px;display:flex;flex-direction:column;align-items:center}.icon-block .icon-container:nth-child(2n){margin-right:0}@media screen and (min-width:400px){.icon-block .heading{font-size:18px}}@media screen and (min-width:460px){.icon-block br{display:block}}@media screen and (min-width:768px){.icon-block .icon-container{margin-right:40px;width:calc(25% - 30px)}.icon-block{margin:0 auto 25px}.icon-block .icon{max-width:125px}.icon-block .icon-container:nth-child(2n){margin-right:40px}.icon-block .icon-container:last-child{margin-right:0}.icon-block .heading{max-width:100%}}@media screen and (min-width:1200px){.icon-block .heading{font-size:24px}.icon-block .icon{max-width:132px;margin-bottom:50px}}em{font-style:normal}img.mid{display:none!important}.site-header{box-shadow:0 5px 4px 0 rgba(0,0,0,.03)!important}body{box-sizing:border-box;scroll-behavior:smooth;background:#fff;background:linear-gradient(101deg,#fdfafa 15.01%,#fff 63.76%);color:#32353a;overflow-x:hidden}.flexbox{display:flex;flex-direction:row}.bg-dark-gray{background-color:#32353a}.txt-blue{color:#3ba6ef}.txt-white{color:#fff}.image-text-block.header{grid-template-columns:50% 50%!important;justify-content:end}.image-text-block.header p{max-width:550px}.image-text-block.contained.left-attachment .text-container{padding-left:90px}.image-text-block.contained:not(.left-attachment) .text-container{padding-right:100px}.contained,.image-text-block.contained{max-width:1420px;overflow-x:hidden}.image-text-block.contained .attachment-container{max-height:none!important}.image-text-block.contained .attachment-container img{width:auto}.icon-block .icon-container{align-items:flex-start}.one p{max-width:575px}.two p{max-width:515px}.image-text-block.three{padding-left:35px}.three p{max-width:480px}.image-text-block.four{grid-template-columns:46% 53%;padding-left:15px;padding-right:50px}.four p{max-width:420px}.five p,.section9 .form{max-width:595px}.image-text-block.left-attachment.five{padding-left:70px;grid-template-columns:45% 55%}.image-text-block.six{grid-template-columns:54% 46%;padding-left:80px}.six p{max-width:565px}.image-text-block.left-attachment.seven{grid-template-columns:48% 52%}.seven p{max-width:585px}.eight{justify-content:space-between;align-items:stretch;margin-bottom:145px}.eight>div{flex:0 0 30%;background-color:#f6f9ff}.eight>div>img{width:100%;object-fit:cover;margin:0}.eight>div .content{padding:48px}.eight>div h4{font-size:26px;line-height:30px;margin-top:0;margin-bottom:24px}.eight .link_btn a{font-size:18px}.section9{padding:50px 50px 100px}.section9 h2{letter-spacing:0;margin-bottom:0}.section9 .notes p{font-size:18px;max-width:475px;margin:0 auto}.section9 .inner p{max-width:225px}.section9 .form{margin:0 auto}.section9 .form .notes{padding-bottom:30px;text-align:center}.section9 .form select,ul.checklist li::before{background-repeat:no-repeat}.section9 .form input,.section9 .form select,.section9 .form textarea{width:100%;min-width:300px;margin:0 0 15px;border-radius:5px;padding:5px 18px;color:#32353a;font-size:16px;border:1px solid #dedede;-webkit-font-smoothing:antialiased;height:50px;-webkit-appearance:none;-moz-appearance:none;outline:0;appearance:none;box-shadow:none!important}.section9 .form select{cursor:pointer;margin-bottom:0;background-image:url("https://elotouch.com/media/wysiwyg/solution/self_service/Dropdown_Arrow.svg");background-position:96% center;-webkit-appearance:none;background-size:15px;padding-right:60px}.section9 .form input:-moz-placeholder,.section9 .form input:-ms-input-placeholder,.section9 .form input::-webkit-input-placeholder,.section9 .form textarea:-moz-placeholder,.section9 .form textarea:-ms-input-placeholder,.section9 .form textarea::-webkit-input-placeholder{color:#32353a;opacity:1}.section9 .form #login-form .sbSelector a{color:#000!important}.section9 form .cb{padding-top:25px}.section9 a#submit,.section9 button[type=submit]{background-color:#0368fe;color:#fff;font-size:16px;padding:20px 50px;border:none;outline:0;font-weight:600;min-width:300px;margin-top:50px;border-radius:50px;width:auto}.section9 .component-form-a__form-columns{position:relative;padding-top:5px}.section9 .form p.component-form-a__form-error{color:#fff;margin-top:-15px;font-size:12px!important;position:absolute;bottom:-28px!important;top:unset!important;left:0}.section9 a:not(#submit){color:#0368fe!important}@media screen and (min-width:1920px){.image-text-block.header .text-container.pl{padding-left:260px!important}}@media (max-width:1600px){.image-text-block.header .text-container.pl{padding-left:100px!important}}@media (max-width:1500px){.image-text-block.header .text-container.pl{padding-left:80px!important}.contained,.image-text-block.contained{max-width:1500px;padding-left:50px;padding-right:50px}.image-text-block.contained.left-attachment .text-container{padding-left:75px}.image-text-block h2,.image-text-block h3,.section9 h2{font-size:42px}.image-text-block.left-attachment.one{grid-template-columns:48% 52%}.image-text-block.left-attachment.seven{grid-template-columns:46% 54%}.eight>div{flex:0 0 31%}.eight>div .content{padding:42px}}@media (max-width:1360px){.image-text-block h1{font-size:46px}.image-text-block.header{grid-template-columns:53% 47%!important}.image-text-block.header .text-container.pl{padding-top:100px}.image-text-block.left-attachment.three{grid-template-columns:48% 52%}.image-text-block.left-attachment.seven{grid-template-columns:44% 56%}.image-text-block.contained.left-attachment .text-container{padding-left:60px}.icon-block{padding:75px 50px 100px}.icon-block .heading{font-size:22px}.eight>div h4{font-size:24px;line-height:28px}}@media (max-width:1300px){.image-text-block.header>div{justify-content:flex-start}.image-text-block.header p{max-width:500px}.image-text-block h2,.image-text-block h3,.section9 h2{font-size:40px}}@media (max-width:1250px){.eight,.image-text-block{margin-bottom:120px}.image-text-block.header p{max-width:500px}.image-text-block.contained:not(.left-attachment) .text-container{padding-right:50px}.image-text-block .text-container{padding:65px 45px 65px 25px}.image-text-block.four{grid-template-columns:49% 50%}.image-text-block.left-attachment.five{padding-left:50px}.image-text-block.left-attachment.seven{grid-template-columns:42% 58%}.eight>div .content{padding:35px}}@media (max-width:1200px){.eight,.image-text-block{margin-bottom:100px}.image-text-block.contained{padding-left:0!important;padding-right:0!important}.image-text-block.contained.left-attachment .attachment-container{margin-left:-15px}.image-text-block.contained:not(.left-attachment) .attachment-container{margin-right:-15px}.image-text-block.contained:not(.left-attachment) .text-container,.image-text-block.header .text-container.pl{padding-left:75px!important}.image-text-block.contained.left-attachment .text-container{padding-right:50px}.image-text-block.header .attachment-container img{min-height:550px;object-fit:cover}.image-text-block h1{font-size:40px}.image-text-block h2,.image-text-block h3{font-size:38px}.image-text-block.header{grid-template-columns:55% 45%!important}.image-text-block.header p{max-width:450px}.image-text-block.header .text-container.pl{padding-bottom:0;padding-top:65px}.image-text-block.header .sq,.image-text-block.header .sq img{width:auto!important}.image-text-block.header .sq img{object-fit:cover;object-position:top right}img.full{display:none!important}img.mid{display:block!important}.icon-block .heading{font-size:21px}.image-text-block.two{grid-template-columns:51% 49%}.image-text-block.contained.four .attachment-container img,.image-text-block.contained.two .attachment-container img{object-fit:cover;object-position:top left}.image-text-block.left-attachment.three{grid-template-columns:50% 50%}.image-text-block.left-attachment.five h2 br,.image-text-block.left-attachment.three h2 br{display:none}.image-text-block.left-attachment.three h2{max-width:400px}.image-text-block.left-attachment.five h2 span.txt-blue,.image-text-block.left-attachment.three h2 span.txt-blue{color:#32353a}.three p{max-width:380px}.image-text-block.four{grid-template-columns:52% 48%}.image-text-block.left-attachment.five{grid-template-columns:53% 47%}.image-text-block.left-attachment.five h2{max-width:355px}.five p{max-width:378px}.six p{max-width:460px}.image-text-block.contained.seven .attachment-container img{object-fit:cover;object-position:top center}.image-text-block.left-attachment.seven{grid-template-columns:44% 56%}.eight>div{flex:0 0 31.5%}}@media (max-width:1100px){.image-text-block h1{font-size:36px}.image-text-block h2,.image-text-block h3,.section9 h2{font-size:34px}.image-text-block.contained:not(.left-attachment) .text-container,.image-text-block.header .text-container.pl{padding-left:50px!important}.image-text-block.header{grid-template-columns:53% 47%!important}.image-text-block.header p,.one p{max-width:395px}.seven p,.two p{max-width:400px}.image-text-block.left-attachment.three h2{max-width:300px}.three p{max-width:335px}.image-text-block.left-attachment.three{grid-template-columns:52% 48%}.icon-block{padding:50px 0 65px 35px}.icon-block .icon-container,.icon-block .icon-container:nth-child(2n){margin-right:25px;width:calc(25% - 25px)}.icon-block .heading{font-size:19px}.four p{max-width:365px}.image-text-block.left-attachment.five h2{max-width:320px}.image-text-block.six{grid-template-columns:50% 50%}.image-text-block.six h2{max-width:340px}.image-text-block.six h2 br{display:none!important}.image-text-block.six h2 span{color:#32353a}.image-text-block.six h2 span em{display:block}.six p{max-width:380px}.image-text-block.left-attachment.seven{grid-template-columns:42% 58%}.eight{flex-direction:column}.eight>div{flex:0 0 100%;margin-top:50px}.eight>div .content{padding:48px}.eight>div h4{font-size:26px;line-height:30px}}@media (max-width:1050px){.eight p,.image-text-block p{font-size:18px}}@media (max-width:991px){.eight,.image-text-block{margin-bottom:80px}.image-text-block h1,.section9 h2{font-size:34px}.four p,.image-text-block.header p{max-width:350px}.image-text-block.header .attachment-container img{min-height:500px}.image-text-block.contained.left-attachment .text-container{padding-left:50px}.image-text-block h2,.image-text-block h3{font-size:32px}.image-text-block.left-attachment.one{grid-template-columns:46% 54%}.one p{max-width:375px}.image-text-block.contained.five .attachment-container img,.image-text-block.contained.four .attachment-container img,.image-text-block.contained.two .attachment-container img{object-fit:cover}.image-text-block.header{grid-template-columns:49% 51%!important}.two p{max-width:340px}.three p{max-width:328px}.icon-block .icon-container,.icon-block .icon-container:nth-child(2n){width:calc(50% - 25px);align-items:center}.icon-block{padding:35px 50px;max-width:750px}.icon-block .icon{margin-left:-25px}.image-text-block.left-attachment.five{grid-template-columns:48% 52%}.five p{max-width:355px}.image-text-block.six{grid-template-columns:52% 48%}.six p{max-width:342px}}@media (max-width:900px){.link_btn{margin-top:0}.image-text-block>div:first-of-type{grid-row:auto}.image-text-block h1,.section9 h2{font-size:30px}.image-text-block h2,.image-text-block h3{font-size:28px}.image-text-block h1{max-width:305px}.image-text-block.header p{max-width:321px}.image-text-block.header .text-container.pl{padding-top:60px}.image-text-block.contained:not(.left-attachment) .text-container,.image-text-block.header .text-container.pl{padding-left:40px!important}.image-text-block.contained.one .attachment-container img,.image-text-block.contained.six .attachment-container img{object-fit:cover}.image-text-block.contained.left-attachment .text-container{padding-left:40px;padding-right:35px}.image-text-block.left-attachment.one{grid-template-columns:44% 56%}.image-text-block.one h2{max-width:326px}.one p{max-width:365px}.image-text-block.contained:not(.left-attachment) .text-container{padding-right:40px}.image-text-block.two h2{max-width:270px}.two p{max-width:320px}.image-text-block.left-attachment.three,.image-text-block.six{grid-template-columns:50% 50%}.four p,.three p{max-width:310px}.image-text-block.contained.three .attachment-container img{object-fit:cover;object-position:bottom center}.image-text-block.four h2{max-width:225px}.image-text-block.left-attachment.five h2{max-width:260px}.image-text-block.left-attachment.five{grid-template-columns:51% 49%}.five p{max-width:312px}.six p{max-width:302px}.image-text-block.left-attachment.seven h2{max-width:370px}.eight{padding-left:35px;padding-right:35px}.eight>div{margin-top:35px}}@media (max-width:850px){.five p,.two p{margin-bottom:0}.image-text-block .attachment-container img{min-height:unset!important}img.mid{display:none!important}img.full{display:block!important}.image-text-block,.image-text-block.header{grid-template-columns:1fr!important;margin-bottom:50px}.image-text-block .text-container,.image-text-block.header .text-container.pl{padding:55px 35px 35px 25px}.image-text-block:not(.left-attachment) .text-container{order:2}.image-text-block.contained.left-attachment .attachment-container,.image-text-block.contained:not(.left-attachment) .attachment-container{margin:0 -15px;padding:0}.image-text-block.contained .attachment-container img,.image-text-block.header .sq,.image-text-block.header .sq img{width:100%!important;min-height:0!important}.image-text-block.contained.five .attachment-container img{object-position:center top}.image-text-block h1{font-size:36px;max-width:380px}.image-text-block.header p{max-width:470px}.image-text-block h2,.image-text-block h3{font-size:34px}.image-text-block.left-attachment.five h2 span.txt-blue,.image-text-block.left-attachment.three h2 span.txt-blue,.image-text-block.six h2 span{color:#3ba6ef}.image-text-block.left-attachment.three h2,.image-text-block.one h2,.image-text-block.six h2{max-width:400px}.one p,.six p{max-width:500px}.image-text-block.two h2{max-width:325px}.two p{max-width:445px}.three p{max-width:480px}.image-text-block.four h2{max-width:275px}.four p{max-width:420px}.image-text-block.left-attachment.five h2{max-width:430px}.five p{max-width:528px}.image-text-block.six h2 span em{display:inline}.image-text-block.left-attachment.seven h2{max-width:455px}.seven p{max-width:520px}.icon-block{padding:25px 35px}.eight{margin-bottom:50px}.eight>div{margin-top:0;margin-bottom:35px}.section9{padding:40px 40px 80px}}@media (max-width:620px){.five p,.image-text-block.header p,.seven p,.two p{max-width:400px}.image-text-block h1{font-size:34px}.image-text-block h2,.image-text-block h3,.section9 h2{font-size:32px}.one p{max-width:395px}.image-text-block.left-attachment.three h2{max-width:360px}.three p{max-width:380px}.icon-block{padding:25px 15px 25px 35px}.icon-block .heading{font-size:18px}.six p{max-width:405px}.image-text-block.left-attachment.seven h2{max-width:425px}.eight>div .content{padding:35px}}@media (max-width:500px){.image-text-block h1,.image-text-block h2,.image-text-block h3,.section9 h2{font-size:28px}.image-text-block.contained:not(.left-attachment) .text-container,.image-text-block.header .text-container.pl{padding-left:35px!important}.image-text-block h1{max-width:305px}.image-text-block.header p,.image-text-block.one h2,.image-text-block.six h2{max-width:325px}.image-text-block.contained.left-attachment .text-container{padding-left:35px;padding-right:25px}.one p{max-width:330px}.image-text-block.left-attachment.five h2,.image-text-block.two h2{max-width:260px}.two p{max-width:320px}.five p,.image-text-block.left-attachment.three h2,.seven p{max-width:315px}.four p,.three p{max-width:310px}.icon-block .icon-container,.icon-block .icon-container:nth-child(2n){width:100%;align-items:flex-start}.icon-block .icon{margin-left:0}.icon-block .heading{font-size:19px}.image-text-block.four h2{max-width:225px}.image-text-block.left-attachment.five h2 span.txt-blue{color:#32353a}.six p{max-width:302px}.image-text-block.left-attachment.seven h2{max-width:370px}.eight{margin-top:25px;margin-bottom:25px}.eight>div h4{font-size:24px;line-height:28px}.eight>div .content{padding:30px}.section9{padding:25px 35px 60px}}@media (max-width:420px){.image-text-block.left-attachment.seven h2{max-width:300px}}@media (max-width:400px){.link_btn a{font-size:18px}.image-text-block.contained:not(.left-attachment) .text-container,.image-text-block.header .text-container.pl{padding-left:25px!important}.image-text-block .text-container,.image-text-block.header .text-container.pl{padding:45px 25px 25px}.eight,.image-text-block.contained.left-attachment .text-container{padding-left:25px;padding-right:25px}.image-text-block.contained:not(.left-attachment) .text-container{padding-right:25px}.eight>div .content{padding:30px}.section9{padding:25px 25px 60px}}@media (max-width:373px){.image-text-block h1,.image-text-block h2,.image-text-block h3,.section9 h2{font-size:24px}.eight .link_btn a,.image-text-block p,.link_btn a,.section9 .notes p,p{font-size:16px}.image-text-block,.image-text-block.header{margin-bottom:30px}.image-text-block h1{max-width:245px}.image-text-block.header p{max-width:265px}.five p,.image-text-block.one h2{max-width:280px}.one p{max-width:290px}.two p{max-width:285px}.image-text-block.left-attachment.three h2{max-width:270px}.image-text-block.four h2{max-width:200px}.four p,.image-text-block.six h2{max-width:275px}.image-text-block.left-attachment.five h2{max-width:220px}.six p{max-width:268px}.image-text-block.left-attachment.seven h2{max-width:250px}.seven p{max-width:277px}.eight>div .content{padding:25px}.eight>div h4{font-size:21px;line-height:24px}}@media (max-width:359px){.txt-blue{color:#32353a!important}.section9 .form input,.section9 .form select,.section9 .form textarea,.section9 a#submit,.section9 button[type=submit]{min-width:200px}.section9 a#submit,.section9 button[type=submit]{padding:20px 30px}} </style> <!---div class="body-content bg-light top-container"---> <!-- Image/Text Block --> <div class="image-text-block fw header"> <div class="text-container pl"> <h1> <span class="txt-blue">Simplify operations</span><br> and elevate CX with<br> unified grocery store<br> technology&nbsp;solutions. </h1> <p>As consumer shopping habits continue to evolve and drive more demand for unified grocery store technology, the need for flexible solutions is greater than ever. With Elo鈥檚 broad range of modular touchscreen solutions you can create the omni-channel experience customers want while streamlining operations to minimize burden on&nbsp;employees. </p> <div class="link_btn"> <a href="#contact">Get started<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/point_of_sale_checkout_for_grocery-1.jpg" alt="Image of Grocery POS system"> </div> </div> <!-- Image/Text Block --> <!-- Image/Text Block --> <div class="image-text-block contained left-attachment one"> <div class="text-container"> <h2> <span class="txt-blue">Connect your operations</span> <br> with interactive grocery <br> store&nbsp;POS&nbsp;displays. </h2> <p>Choosing the right grocery POS system requires a comprehensive assessment of performance, durability, scalability and the total cost of ownership. With the unique requirements of various in-store departments - from the bakery and order pickup to self-service kiosks and traditional checkout lanes - a versatile platform that can adapt to various configurations is important. Elo offers one of the largest commercial grade grocery store POS system line ups on&nbsp;the&nbsp;market.</p> <div class="link_btn"> <a href="/point-of-sale">Explore POS Systems<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/grocery-store-cash-registers.png" alt="Image of Grocery POS system" class="full"> <img src="https://docs.elotouch.com/solutions/grocery/grocery-store-cash-registers-mid-1.png" alt="Image of Grocery POS system" class="mid"> </div> </div> <!-- Image/Text Block --> <!-- Image/Text Block --> <div class="image-text-block contained two"> <div class="text-container"> <h2> Drive upsells with a<br> price checker kiosk <br> <span class="txt-blue">that&nbsp;does&nbsp;more.</span> </h2> <p>Grocers are transforming grocery store price checkers beyond the boundaries of price checking by offering multiple conveniences on one platform. From endless aisle and point-of-information to assisted selling and personalized item recommendations, leverage price checkers to drive sales like never&nbsp;before.</p> <!-- <div class="link_btn"> <a href="/restaurant-kiosks.html">Learn more<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div>--> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/grocery_store_price_checker.png" alt="Image of restaurant POS system"> </div> </div> <!-- Image/Text Block --> <!-- Image/Text Block --> <div class="image-text-block contained left-attachment three"> <div class="text-container"> <h2> Boost efficiency in store <br> with mobile computers <br> <span class="txt-blue">for <em class="txt-blue">grocery&nbsp;stores.</em></span> </h2> <p>From line-busting and inventory management to BOPIS and scan and go shopping, mobile computers offer a strategic advantage for employees and customers. Elo鈥檚 enterprise-grade Android mobile computers offer you the versatility you need&nbsp;across the&nbsp;store.</p> <div class="link_btn"> <a href="/mobile-computers.html">Explore Mobile Computers<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/mobile_grocery_pos_systems.png" alt="Image of grocery store mobile computers"> </div> </div> <!-- Image/Text Block --> <!-- Icon Block --> <div class="icon-block"> <div class="icon-container"> <img class="icon" src="https://docs.elotouch.com/solutions/grocery/Elo_Grocery_Line%20Busting.svg" alt="Mobile POS"/> <div class="heading"> Mobile grocery store <br> POS for line busting. </div> </div> <div class="icon-container"> <img class="icon" src="https://docs.elotouch.com/solutions/grocery/Elo_Grocery_Inventory%20Management.svg" alt="Handheld Scanner"/> <div class="heading"> Handheld grocery <br> scanner for inventory <br> management. </div> </div> <div class="icon-container"> <img class="icon" src="https://docs.elotouch.com/solutions/grocery/Elo_Grocery_Scan_and_go.svg" alt="Mobile POS"/> <div class="heading"> Mobile POS for scan <br> and go shopping. </div> </div> <div class="icon-container"> <img class="icon" src="https://docs.elotouch.com/solutions/grocery/Elo_Grocery_BOPIS.svg" alt="Mobile Computer"/> <div class="heading"> Grocery store mobile <br> computer for BOPIS. </div> </div> </div> <!-- Icon Block --> <!-- Image/Text Block --> <div class="image-text-block contained four"> <div class="text-container"> <h2> Put the customer <br> in control with <br> <span class="txt-blue">self-checkout.</span> </h2> <p>Easy to use self-checkout systems put the customer in control to help boost sales, reduce operational costs and free up your staff to deliver enhanced customer service. Elo鈥檚 portfolio of touchscreen solutions offer the versatility to create a fully configured self-checkout system or ability to integrate into a&nbsp;third&nbsp;party&nbsp;design.</p> <div class="link_btn"> <a href="/self-service">Learn more<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/grocery-store-kiosk.png" alt="Image of grocery store self-checkout"> </div> </div> <!-- Image/Text Block --> <!-- Image/Text Block --> <div class="image-text-block contained left-attachment five"> <div class="text-container"> <h2> Discover the power of <br> <span class="txt-blue">grocery store <em class="txt-blue">shelf&nbsp;talkers.</em></span> </h2> <p>Strategically placed, grocery store shelf-talkers offer endless possibilities for enhancing the shopping experience and improving conversion. From communicating in-store promotions and advertisements, to sharing digital coupons and creating upsell opportunities with product recommendations, Elo鈥檚 interactive grocery store technology solutions deliver the perfect fit for digital shelf&nbsp;talkers.</p> <!--<div class="link_btn"> <a href="/restaurant-kiosks.html">Explore POS Systems<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> --> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/smart_grocery_stores_shelf_talker.png" alt="Image of restaurant POS system"> </div> </div> <!-- Image/Text Block --> <!-- Image/Text Block --> <div class="image-text-block contained six"> <div class="text-container"> <h2> <span class="txt-blue"><em class="txt-blue">Drive interaction in</em> store</span> <br> with interactive grocery <br> store digital signage. </h2> <p>Interactive digital signage does more than just delivering a message, it captivates and drives brand interaction. Available from 10 to 65 inches, Elo鈥檚 grocery store digital signage can be leveraged across the store for wayfinding, advertising, endless aisle and&nbsp;more.</p> <div class="link_btn"> <a href="/touchscreen-signage">Explore Touchscreen Signage<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/grocery_store_display_for_point_of_information.png" alt="Image of restaurant POS system"> </div> </div> <!-- Image/Text Block --> <!-- Image/Text Block --> <div class="image-text-block contained left-attachment seven"> <div class="text-container"> <h2> Offer a quick, convenient <br> and frictionless alternative <br> <span class="txt-blue">with smart pick-up cabinets.</span> </h2> <p>Elo鈥榮 modern, open-frame touchscreens, ranging from 10 to 43 inches, provide the commercial-grade durability that many of the leading third-party integrators rely&nbsp;on.</p> <div class="link_btn"> <a href="/open-frame-touchscreens.html">Explore open frames<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> <div class="attachment-container"> <img src="https://docs.elotouch.com/solutions/grocery/bopis_grocery_store_technology.png" alt="Image of restaurant POS system"> </div> </div> <!-- Image/Text Block --> <!-- <section class="contained eight flexbox"> <div> <img src="https://docs.elotouch.com/solutions/grocery/temp.png" /> <div class="content"> <h4>Lorem ipsum dolor sit amet, consectetur adipiscing&nbsp;elit</h4> <p> Lorem ipsum dolor sit amet, consectetur adipiscing&nbsp;elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est&nbsp;laborum. </p> <div class="link_btn"> <a href="#">Read more<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> </div> <div> <img src="https://docs.elotouch.com/solutions/grocery/temp.png" /> <div class="content"> <h4>Lorem ipsum dolor sit amet, consectetur adipiscing&nbsp;elit</h4> <p> Lorem ipsum dolor sit amet, consectetur adipiscing&nbsp;elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est&nbsp;laborum. </p> <div class="link_btn"> <a href="#">Read more<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> </div> <div> <img src="https://docs.elotouch.com/solutions/grocery/temp.png" /> <div class="content"> <h4>Lorem ipsum dolor sit amet, consectetur adipiscing&nbsp;elit</h4> <p> Lorem ipsum dolor sit amet, consectetur adipiscing&nbsp;elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est&nbsp;laborum. </p> <div class="link_btn"> <a href="#">Read more<img src="https://elotouch.com/media/wysiwyg/EloPOS/z20/arrow_img.png" alt="Arrow"></a> </div> </div> </div> </section> --> <section class="section9 bg-dark-gray" id="contact"> <div class="form"> <div class="notes"> <h2 class="txt-white">Get in touch today.</h2> <p class="txt-white">Fill out the form below and we will contact you to create a personalized solution tailored to your business&nbsp;need.</p> </div> <section class="component component-form-a component-form-a--padding-top" data-component-name="form-a"> <div class="component-form-a__container"> <form action="//solutions.elotouch.com/l/128531/2021-04-22/3g6q4d" method="post" class="component-form-a__form get_in_touch"> <div class="component-form-a__form-group"> <div class="component-form-a__form-columns"> <!-- text --> <label for="first_name" class="component-form-a__form-label component-form-a__form-label--required"></label> <input type="text" class="form-control component-form-a__form-control" id="first_name" name="first_name" placeholder="First Name*" data-validator="^[a-zA-Z]+$" required> <p class="component-form-a__form-error"></p> </div> <div class="component-form-a__form-columns last_name_mobile_margin mobile_no_margin"> <!-- text --> <label for="last_name" class="component-form-a__form-label component-form-a__form-label--required"></label> <input type="text" class="form-control component-form-a__form-control" id="last_name" name="last_name" placeholder="Last Name*" data-validator="^[a-zA-Z]+$" required> <p class="component-form-a__form-error"></p> </div> </div> <div class="component-form-a__form-group"> <div class="component-form-a__form-columns" style="width:100%;margin-top: 0px;"> <!-- text --> <label for="email" class="component-form-a__form-label component-form-a__form-label--required">Email</label> <input type="text" class="form-control component-form-a__form-control" id="email" name="email" placeholder="Email*" data-validator=".+@.+..+" required> <p class="component-form-a__form-error"></p> </div> </div> <div class="component-form-a__form-group"> <div class="component-form-a__form-columns" style="width:100%;margin-top: 0px;"> <!-- text --> <label for="phone" class="component-form-a__form-label component-form-a__form-label--required">Phone</label> <input type="text" class="form-control component-form-a__form-control" id="phone" name="phone" placeholder="Phone*" data-validator="^[0-9+\-.\(\) ]+$" required> <p class="component-form-a__form-error"></p> </div> </div> <div class="component-form-a__form-group"> <div class="component-form-a__form-columns" style="width:100%;margin-top: 0px;"> <!-- text --> <label for="company" class="component-form-a__form-label component-form-a__form-label--required">Company</label> <input type="text" class="form-control component-form-a__form-control" id="company" name="company" placeholder="Company*" data-validator="" required> <p class="component-form-a__form-error"></p> </div> </div> <div class="component-form-a__form-group"> <div class="component-form-a__form-columns"> <!-- select --> <label for="country">Select Country</label> <select class=" component-form-a__form-select form-control form-msg " name="country" id="state"> <option val="" disabled="" selected="">Country*</option> <option val="United States">United States</option> <option val="Canada">Canada</option> <option val="Afghanistan">Afghanistan</option> <option val="Albania">Albania</option> <option val="Algeria">Algeria</option> <option val="American Samoa">American Samoa</option> <option val="Andorra">Andorra</option> <option val="Angola">Angola</option> <option val="Anguilla">Anguilla</option> <option val="Antarctica">Antarctica</option> <option val="Antigua and Barbuda">Antigua and Barbuda</option> <option val="Argentina">Argentina</option> <option val="Armenia">Armenia</option> <option val="Aruba">Aruba</option> <option val="Australia">Australia</option> <option val="Austria">Austria</option> <option val="Azerbaijan">Azerbaijan</option> <option val="Bahamas">Bahamas</option> <option val="Bahrain">Bahrain</option> <option val="Bangladesh">Bangladesh</option> <option val="Barbados">Barbados</option> <option val="Belarus">Belarus</option> <option val="Belgium">Belgium</option> <option val="Belize">Belize</option> <option val="Benin">Benin</option> <option val="Bermuda">Bermuda</option> <option val="Bhutan">Bhutan</option> <option val="Bolivia">Bolivia</option> <option val="Bosnia and Herzegovina">Bosnia and Herzegovina</option> <option val="Botswana">Botswana</option> <option val="Bouvet Island">Bouvet Island</option> <option val="Brazil">Brazil</option> <option val="British Indian Ocean Territory">British Indian Ocean Territory</option> <option val="Brunei">Brunei</option> <option val="Bulgaria">Bulgaria</option> <option val="Burkina Faso">Burkina Faso</option> <option val="Burundi">Burundi</option> <option val="Cambodia">Cambodia</option> <option val="Cameroon">Cameroon</option> <option val="Cape Verde">Cape Verde</option> <option val="Cayman Islands">Cayman Islands</option> <option val="Central African Republic">Central African Republic</option> <option val="Chad">Chad</option> <option val="Chile">Chile</option> <option val="China">China</option> <option val="Christmas Island">Christmas Island</option> <option val="Cocos (Keeling) Islands">Cocos (Keeling) Islands</option> <option val="Columbia">Columbia</option> <option val="Comoros">Comoros</option> <option val="Congo">Congo</option> <option val="Cook Islands">Cook Islands</option> <option val="Costa Rica">Costa Rica</option> <option val="Cote D鈥橧voire (Ivory Coast)">Cote D鈥橧voire (Ivory Coast)</option> <option val="Croatia (Hrvatska)">Croatia (Hrvatska)</option> <option val="Cyprus">Cyprus</option> <option val="Czech Republic">Czech Republic</option> <option val="Dem Rep of Congo (Zaire)">Dem Rep of Congo (Zaire)</option> <option val="Denmark">Denmark</option> <option val="Djibouti">Djibouti</option> <option val="Dominica">Dominica</option> <option val="Dominican Republic">Dominican Republic</option> <option val="East Timor">East Timor</option> <option val="Ecuador">Ecuador</option> <option val="Egypt">Egypt</option> <option val="El Salvador">El Salvador</option> <option val="Equatorial Guinea">Equatorial Guinea</option> <option val="Eritrea">Eritrea</option> <option val="Estonia">Estonia</option> <option val="Ethiopia">Ethiopia</option> <option val="Falkland Islands (Malvinas)">Falkland Islands (Malvinas)</option> <option val="Faroe Islands">Faroe Islands</option> <option val="Fiji">Fiji</option> <option val="Finland">Finland</option> <option val="France">France</option> <option val="French Guiana">French Guiana</option> <option val="French Polynesia">French Polynesia</option> <option val="French Southern Territories">French Southern Territories</option> <option val="Gabon">Gabon</option> <option val="Gambia">Gambia</option> <option val="Georgia">Georgia</option> <option val="Germany">Germany</option> <option val="Ghana">Ghana</option> <option val="Gibraltar">Gibraltar</option> <option val="Greece">Greece</option> <option val="Greenland">Greenland</option> <option val="Grenada">Grenada</option> <option val="Guadeloupe">Guadeloupe</option> <option val="Guam">Guam</option> <option val="Guatemala">Guatemala</option> <option val="Guinea">Guinea</option> <option val="Guinea-Bissau">Guinea-Bissau</option> <option val="Guyana">Guyana</option> <option val="Haiti">Haiti</option> <option val="Heard and McDonald Islands">Heard and McDonald Islands</option> <option val="Honduras">Honduras</option> <option val="Hong Kong SAR">Hong Kong SAR</option> <option val="Hungary">Hungary</option> <option val="Iceland">Iceland</option> <option val="India">India</option> <option val="Indonesia">Indonesia</option> <option val="Ireland">Ireland</option> <option val="Israel">Israel</option> <option val="Italy">Italy</option> <option val="Jamaica">Jamaica</option> <option val="Japan">Japan</option> <option val="Jordan">Jordan</option> <option val="Kazakhstan">Kazakhstan</option> <option val="Kenya">Kenya</option> <option val="Kiribati">Kiribati</option> <option val="Korea">Korea</option> <option val="Kosovo">Kosovo</option> <option val="Kuwait">Kuwait</option> <option val="Kyrgyzstan">Kyrgyzstan</option> <option val="Laos">Laos</option> <option val="Latvia">Latvia</option> <option val="Lebanon">Lebanon</option> <option val="Lesotho">Lesotho</option> <option val="Liberia">Liberia</option> <option val="Libya">Libya</option> <option val="Liechtenstein">Liechtenstein</option> <option val="Lithuania">Lithuania</option> <option val="Luxembourg">Luxembourg</option> <option val="Macau SAR">Macau SAR</option> <option val="Macedonia">Macedonia</option> <option val="Madagascar">Madagascar</option> <option val="Malawi">Malawi</option> <option val="Malaysia">Malaysia</option> <option val="Maldives">Maldives</option> <option val="Mali">Mali</option> <option val="Malta">Malta</option> <option val="Marshall Islands">Marshall Islands</option> <option val="Martinique">Martinique</option> <option val="Mauritania">Mauritania</option> <option val="Mauritius">Mauritius</option> <option val="Mayotte">Mayotte</option> <option val="Mexico">Mexico</option> <option val="Micronesia">Micronesia</option> <option val="Moldova">Moldova</option> <option val="Monaco">Monaco</option> <option val="Mongolia">Mongolia</option> <option val="Montenegro">Montenegro</option> <option val="Montserrat">Montserrat</option> <option val="Morocco">Morocco</option> <option val="Mozambique">Mozambique</option> <option val="Myanmar">Myanmar</option> <option val="Namibia">Namibia</option> <option val="Nauru">Nauru</option> <option val="Nepal">Nepal</option> <option val="Netherlands">Netherlands</option> <option val="Netherlands Antilles">Netherlands Antilles</option> <option val="New Caledonia">New Caledonia</option> <option val="New Zealand">New Zealand</option> <option val="Nicaragua">Nicaragua</option> <option val="Niger">Niger</option> <option val="Nigeria">Nigeria</option> <option val="Niue">Niue</option> <option val="Norfolk Island">Norfolk Island</option> <option val="Northern Mariana Islands">Northern Mariana Islands</option> <option val="Norway">Norway</option> <option val="Oman">Oman</option> <option val="Other">Other</option> <option val="Pakistan">Pakistan</option> <option val="Palau">Palau</option> <option val="Panama">Panama</option> <option val="Papua New Guinea">Papua New Guinea</option> <option val="Paraguay">Paraguay</option> <option val="Peru">Peru</option> <option val="Philippines">Philippines</option> <option val="Pitcairn Islands">Pitcairn Islands</option> <option val="Poland">Poland</option> <option val="Portugal">Portugal</option> <option val="Puerto Rico">Puerto Rico</option> <option val="Qatar">Qatar</option> <option val="Reunion">Reunion</option> <option val="Romania">Romania</option> <option val="Russia">Russia</option> <option val="Rwanda">Rwanda</option> <option val="Saint Helena">Saint Helena</option> <option val="Saint Kitts and Nevis">Saint Kitts and Nevis</option> <option val="Saint Lucia">Saint Lucia</option> <option val="Saint Pierre and Miquelon">Saint Pierre and Miquelon</option> <option val="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option> <option val="Samoa">Samoa</option> <option val="San Marino">San Marino</option> <option val="Sao Tome and Principe">Sao Tome and Principe</option> <option val="Saudi Arabia">Saudi Arabia</option> <option val="Senegal">Senegal</option> <option val="Serbia">Serbia</option> <option val="Seychelles">Seychelles</option> <option val="Sierra Leone">Sierra Leone</option> <option val="Singapore">Singapore</option> <option val="Slovak Republic">Slovak Republic</option> <option val="Slovenia">Slovenia</option> <option val="Solomon Islands">Solomon Islands</option> <option val="Somalia">Somalia</option> <option val="South Africa">South Africa</option> <option val="South Georgia and the South Sandwich Islands">South Georgia and the South Sandwich Islands</option> <option val="Spain">Spain</option> <option val="Sri Lanka">Sri Lanka</option> <option val="Suriname">Suriname</option> <option val="Svalbard and Jan Mayen Islands">Svalbard and Jan Mayen Islands</option> <option val="Swaziland">Swaziland</option> <option val="Sweden">Sweden</option> <option val="Switzerland">Switzerland</option> <option val="Taiwan Region">Taiwan Region</option> <option val="Tajikistan">Tajikistan</option> <option val="Tanzania">Tanzania</option> <option val="Thailand">Thailand</option> <option val="Togo">Togo</option> <option val="Tokelau">Tokelau</option> <option val="Tonga">Tonga</option> <option val="Trinidad and Tobago">Trinidad and Tobago</option> <option val="Tunisia">Tunisia</option> <option val="Turkey">Turkey</option> <option val="Turkmenistan">Turkmenistan</option> <option val="Turks and Caicos Islands">Turks and Caicos Islands</option> <option val="Tuvalu">Tuvalu</option> <option val="Uganda">Uganda</option> <option val="Ukraine">Ukraine</option> <option val="United Arab Emirates">United Arab Emirates</option> <option val="United Kingdom">United Kingdom</option> <option val="United States Minor Outlying Islands">United States Minor Outlying Islands</option> <option val="Uruguay">Uruguay</option> <option val="Uzbekistan">Uzbekistan</option> <option val="Vanuatu">Vanuatu</option> <option val="Vatican City State">Vatican City State</option> <option val="Venezuela">Venezuela</option> <option val="Vietnam">Vietnam</option> <option val="Virgin Islands (British)">Virgin Islands (British)</option> <option val="Virgin Islands (US)">Virgin Islands (US)</option> <option val="Wallis and Futuna Islands">Wallis and Futuna Islands</option> <option val="Western Sahara">Western Sahara</option> <option val="Yemen">Yemen</option> <option val="Zambia">Zambia</option> <option val="Zimbabwe">Zimbabwe</option> </select> <p class="component-form-a__form-error"></p> </div> </div> <div class="flexbox cb"> <input style="min-width: 0;" type="checkbox" class="checkbox component-form-a__form-checkbox" name="privacy_policy_agreed" value="true" required> <div style="text-align:left; width:90%; align-self: center;"> <p class="txt-white" style="font-size: 13px; text-align: left; margin:0; padding-top: 10px;"> I agree with Elo's <a title="Privacy Policy" href="/privacy-policy"> Privacy Policy</a>.* </p> </div> </div> <p class="component-form-a__form-error component-form-a__form-error--checkbox"></p> <div class="flexbox cb"> <input type="checkbox" class="checkbox component-form-a__form-checkbox" name="newsletter_optin" value="true"> <div style="text-align: left; width:90%; align-self: center;"> <p class="txt-white" style="font-size: 13px;text-align: left; margin:0; padding-top: 10px;">Subscribe me to <span style="font-weight: bold;">Elo's newsletter</span>. </p> </div> </div> <p class="component-form-a__form-error component-form-a__form-error--checkbox"></p> <!-- hidden fields --> <input type="hidden" name="utm_campaign"> <input type="hidden" name="utm_content"> <input type="hidden" name="utm_medium"> <input type="hidden" name="utm_source"> <input type="hidden" name="utm_term"> <input type="hidden" name="last_utm_campaign"> <input type="hidden" name="last_utm_content"> <input type="hidden" name="last_utm_medium"> <input type="hidden" name="last_utm_source"> <input type="hidden" name="URL"> <input type="hidden" name="GCLID"> <!-- / hidden fields --> <div class="component-form-a__button-container"> <a id="submit" class="btn bg-accent">Start the conversation</a> </div> </form> </div> <p style="display:block;clear:both;font-size:13px;margin-top:65px;margin-bottom:0;color:#E0E3EA;text-align:left;"> This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy">Privacy Policy</a> and <a href="https://policies.google.com/terms">Terms of Service</a>&nbsp;apply. </p> </section> </div> </section> </div> </main><div class="page-bottom"><div class="content"> <!-- be_ixf, sdk, is --> </div> </div> <footer class="site-footer"> <div class="site-footer__container"> <a href="/" class="site-footer__logo"> <svg xmlns="http://www.w3.org/2000/svg" width="43" height="32"><path class="cls-1" d="M24.563 31.745V.033h-6.048v31.712h6.048zM7.537 32a26.113 26.113 0 0 1-3.19-.259c-2.7-.6-4.293-2.008-4.293-3.957V10.232c0-2.628 2.9-4.275 7.5-4.275s7.5 1.647 7.5 4.275v9.353H6.1v8.106c0 1.158.567 1.247 1.45 1.247S9 28.85 9 27.691v-5.967h6.047v6.057c0 1.953-1.6 3.365-4.31 3.961a30.494 30.494 0 0 1-3.2.258zM9 10.322c0-1.159-.567-1.247-1.448-1.247s-1.45.088-1.45 1.247V16.6H9v-6.28zM35.709 32c-1.3 0-3.371-.255-3.371-.255h-.024c-2.708-.6-4.307-2.008-4.307-3.961V10.232c0-2.628 2.9-4.275 7.5-4.275S43 7.6 43 10.232v17.549c0 1.956-1.6 3.368-4.319 3.963h.011a25.494 25.494 0 0 1-2.983.256zm1.244-21.678c0-1.159-.567-1.247-1.45-1.247s-1.448.088-1.448 1.247v17.37c0 1.158.566 1.247 1.448 1.247s1.45-.089 1.45-1.247v-17.37zM0 0v4.137h15.071V0H0z"/></svg> </a> <div class="site-footer__left"> <div class="site-footer__row"> <div class="site-footer__col"> <ul class="site-footer__list"> <li class="site-footer__list-item"> <h5 class="site-footer__list-heading">Products</h5> </li> <li class="site-footer__list-item"> <a href="/mobile-computers.html" class="site-footer__list-link">Mobile Computers</a> </li> <li class="site-footer__list-item"> <a href="/touchscreen-monitors.html" class="site-footer__list-link">Touchscreen Monitors</a> </li> <li class="site-footer__list-item"> <a href="/pos-terminals.html" class="site-footer__list-link">POS Terminals</a> </li> <li class="site-footer__list-item"> <a href="/touchscreen-computers.html" class="site-footer__list-link">Touchscreen Computers</a> </li> <li class="site-footer__list-item"> <a href="/open-frame-touchscreens.html" class="site-footer__list-link">Open Frame Touchscreens</a> </li> <li class="site-footer__list-item"> <a href="/touchscreen-signage.html" class="site-footer__list-link">Touchscreen Signage</a> </li> <li class="site-footer__list-item"> <a href="/medical-grade-touchscreens.html" class="site-footer__list-link">Medical-Grade Touchscreens</a> </li> <li class="site-footer__list-item"> <a href="/touchscreen-components.html" class="site-footer__list-link">Touchscreen Components</a> </li> <li class="site-footer__list-item"> <a href="/touchscreen-display-modules.html" class="site-footer__list-link">Touchscreen Display Modules</a> </li> <li class="site-footer__list-item"> <a href="/accessories.html" class="site-footer__list-link">Accessories</a> </li> <li class="site-footer__list-item"> <a href="/eloview" class="site-footer__list-link">EloView<sup>&reg;</sup></a> </li> <li class="site-footer__list-item"> <a href="/elo-pay" class="site-footer__list-link">Elo Pay</a> </li> <li class="site-footer__list-item"> <a href="/custom-products" class="site-footer__list-link">Custom Products</a> </li> </ul> </div> <div class="site-footer__col"> <ul class="site-footer__list"> <li class="site-footer__list-item"> <h5 class="site-footer__list-heading">Solutions</h5> </li> <li class="site-footer__list-item"> <a href="/android" class="site-footer__list-link">Essentials for Android</a> </li> <li class="site-footer__list-item"> <a href="/point-of-sale" class="site-footer__list-link">Point-of-Sale</a> </li> <li class="site-footer__list-item"> <a href="/self-service" class="site-footer__list-link">Self-Service</a> </li> <li class="site-footer__list-item"> <a href="/retail" class="site-footer__list-link">Retail</a> </li> <li class="site-footer__list-item"> <a href="/restaurant-qsr" class="site-footer__list-link">Restaurant/QSR</a> </li> <li class="site-footer__list-item"> <a href="/grocery" class="site-footer__list-link">Grocery</a> </li> <li class="site-footer__list-item"> <a href="/healthcare" class="site-footer__list-link">Healthcare</a> </li> <li class="site-footer__list-item"> <a href="/gaming" class="site-footer__list-link">Gaming</a> </li> <li class="site-footer__list-item"> <a href="/touchscreen-signage" class="site-footer__list-link">Touchscreen Signage</a> </li> <li class="site-footer__list-item"> <a href="/corporate" class="site-footer__list-link">Corporate</a> </li> <li class="site-footer__list-item"> <a href="/industry-4.0" class="site-footer__list-link">Industry 4.0</a> </li> <li class="site-footer__list-item"> <a href="/embedded-oem-solutions" class="site-footer__list-link">Embedded OEM Solutions</a> </li> </ul> </div> <div class="site-footer__col"> <ul class="site-footer__list"> <li class="site-footer__list-item"> <h5 class="site-footer__list-heading">About</h5> </li> <li class="site-footer__list-item"> <a href="/about" class="site-footer__list-link">Company</a> </li> <li class="site-footer__list-item"> <a href="/team" class="site-footer__list-link">Team</a> </li> <li class="site-footer__list-item"> <a href="/news" class="site-footer__list-link">News</a> </li> <li class="site-footer__list-item"> <a href="/events" class="site-footer__list-link">Events</a> </li> <li class="site-footer__list-item"> <a href="/careers" class="site-footer__list-link">Careers</a> </li> <li class="site-footer__list-item"> <a href="/product-environmental-compliance" class="site-footer__list-link">Environment</a> </li> <li class="site-footer__list-item"> <a href="/quality" class="site-footer__list-link">Quality</a> </li> <li class="site-footer__list-item"> <a href="/customer-stories" class="site-footer__list-link">Customer Stories</a> </li> <li class="site-footer__list-item"> <a href="/how-to-buy" class="site-footer__list-link">How to buy</a> </li> </ul> </div> </div> <div class="site-footer__row"> <div class="site-footer__col"> <ul class="site-footer__list"> <li class="site-footer__list-item"> <h5 class="site-footer__list-heading">Services</h5> </li> <li class="site-footer__list-item"> <a href="/services/elocare" class="site-footer__list-link">EloCare<sup>&#8480;</sup></a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-os-360" class="site-footer__list-link">OS 360</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-advance-unit-replacement" class="site-footer__list-link">Advance Unit Replacement</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-accidental-damage-protection" class="site-footer__list-link">Accidental Damage Protection</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-extended-warranty" class="site-footer__list-link">Extended Warranty</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-onsite-exchange" class="site-footer__list-link">On-Site Exchange</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-out-of-warranty-services" class="site-footer__list-link">Out of Warranty</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-battery-replacement" class="site-footer__list-link">Battery Replacement</a> </li> <li class="site-footer__list-item"> <a href="/services/elocare-professional-services" class="site-footer__list-link">Professional Services</a> </li> </ul> </div> <div class="site-footer__col"> <ul class="site-footer__list"> <li class="site-footer__list-item"> <h5 class="site-footer__list-heading">Support</h5> </li> <li class="site-footer__list-item"> <a href="/support" class="site-footer__list-link">Overview</a> </li> <li class="site-footer__list-item"> <a href="/support/technical-support" class="site-footer__list-link">Technical Support</a> </li> <li class="site-footer__list-item"> <a href="/support/customer-service" class="site-footer__list-link">Customer Care</a> </li> <li class="site-footer__list-item"> <a href="https://portal.elotouch.com/supplier" class="site-footer__list-link">Supplier Portal</a> </li> <li class="site-footer__list-item"> <a href="/support/service-and-repair" class="site-footer__list-link">Service &amp; Repair</a> </li> <li class="site-footer__list-item"> <a href="/support/downloads" class="site-footer__list-link">Downloads</a> </li> <li class="site-footer__list-item"> <a href="/support/documentation" class="site-footer__list-link">Documentation</a> </li> <li class="site-footer__list-item"> <a href="/support/warranty" class="site-footer__list-link">Warranty Information</a> </li> </ul> </div> <div class="site-footer__col"> <ul class="site-footer__list"> <li class="site-footer__list-item"> <h5 class="site-footer__list-heading">Partners</h5> </li> <li class="site-footer__list-item"> <a href="/elite-partner-program" class="site-footer__list-link">Elo Elite Partner Program</a> </li> <li class="site-footer__list-item"> <a href="/software-and-hardware-partners" class="site-footer__list-link">Software &amp; Hardware Partners</a> </li> <li class="site-footer__list-item"> <a href="https://myelo.force.com/manrep/s/" class="site-footer__list-link">Elo ManRep Portal</a> </li> <li class="site-footer__list-item"> <a href="https://na6.salesforce.com/secur/login_portal.jsp?orgId=00D80000000aWor&portalId=06080000000QwHb" class="site-footer__list-link">Elo Distributor Portal</a> </li> </ul> </div> </div> <nav id="mob-footer" class="mob-footer"> <ul class="mob-footer__list"> <li class="mob-footer__list-item"> <h5 class="mob-footer__section-label">Products</h5> <ul class="mob-footer__section-list" style="height: 0;"> <li class="mob-footer__section-list-item"> <a href="/mobile-computers.html" class="mob-footer__section-item-link">Mobile Computers</a> </li> <li class="mob-footer__section-list-item"> <a href="/touchscreen-monitors.html" class="mob-footer__section-item-link">Touchscreen Monitors</a> </li> <li class="mob-footer__section-list-item"> <a href="/pos-terminals.html" class="mob-footer__section-item-link">POS Terminals</a> </li> <li class="mob-footer__section-list-item"> <a href="/touchscreen-computers.html" class="mob-footer__section-item-link">Touchscreen Computers</a> </li> <li class="mob-footer__section-list-item"> <a href="/open-frame-touchscreens.html" class="mob-footer__section-item-link">Open Frame Touchscreens</a> </li> <li class="mob-footer__section-list-item"> <a href="/touchscreen-signage.html" class="mob-footer__section-item-link">Touchscreen Signage</a> </li> <li class="mob-footer__section-list-item"> <a href="/medical-grade-touchscreens.html" class="mob-footer__section-item-link">Medical-Grade Touchscreens</a> </li> <li class="mob-footer__section-list-item"> <a href="/touchscreen-components.html" class="mob-footer__section-item-link">Touchscreen Components</a> </li> <li class="mob-footer__section-list-item"> <a href="/touchscreen-display-modules.html" class="mob-footer__section-item-link">Touchscreen Display Modules</a> </li> <li class="mob-footer__section-list-item"> <a href="/accessories.html" class="mob-footer__section-item-link">Accessories</a> </li> <li class="mob-footer__section-list-item"> <a href="/eloview" class="mob-footer__section-item-link">EloView<sup>&reg;</sup></a> </li> <li class="mob-footer__section-list-item"> <a href="/elo-pay" class="mob-footer__section-item-link">Elo Pay</a> </li> <li class="mob-footer__section-list-item"> <a href="/custom-products" class="mob-footer__section-item-link">Custom Products</a> </li> </ul> </li> <li class="mob-footer__list-item"> <h5 class="mob-footer__section-label">Solutions</h5> <ul class="mob-footer__section-list" style="height: 0;"> <li class="mob-footer__section-list-item"> <a href="/android" class="mob-footer__section-item-link">Essentials for Android</a> </li> <li class="mob-footer__section-list-item"> <a href="/point-of-sale" class="mob-footer__section-item-link">Point-of-Sale</a> </li> <li class="mob-footer__section-list-item"> <a href="/self-service" class="mob-footer__section-item-link">Self-Service</a> </li> <li class="mob-footer__section-list-item"> <a href="/retail" class="mob-footer__section-item-link">Retail</a> </li> <li class="mob-footer__section-list-item"> <a href="/restaurant-qsr" class="mob-footer__section-item-link">Restaurant/QSR</a> </li> <li class="mob-footer__section-list-item"> <a href="/grocery" class="mob-footer__section-item-link">Grocery</a> </li> <li class="mob-footer__section-list-item"> <a href="/healthcare" class="mob-footer__section-item-link">Healthcare</a> </li> <li class="mob-footer__section-list-item"> <a href="/gaming" class="mob-footer__section-item-link">Gaming</a> </li> <li class="mob-footer__section-list-item"> <a href="/touchscreen-signage" class="mob-footer__section-item-link">Touchscreen Signage</a> </li> <li class="mob-footer__section-list-item"> <a href="/corporate" class="mob-footer__section-item-link">Corporate</a> </li> <li class="mob-footer__section-list-item"> <a href="/industry-4.0" class="mob-footer__section-item-link">Industry 4.0</a> </li> <li class="mob-footer__section-list-item"> <a href="/embedded-oem-solutions" class="mob-footer__section-item-link">Embedded OEM Solutions</a> </li> </ul> </li> <li class="mob-footer__list-item"> <h5 class="mob-footer__section-label">About</h5> <ul class="mob-footer__section-list" style="height: 0;"> <li class="mob-footer__section-list-item"> <a href="/about" class="mob-footer__section-item-link">Company</a> </li> <li class="mob-footer__section-list-item"> <a href="/team" class="mob-footer__section-item-link">Team</a> </li> <li class="mob-footer__section-list-item"> <a href="/news" class="mob-footer__section-item-link">News</a> </li> <li class="mob-footer__section-list-item"> <a href="/events" class="mob-footer__section-item-link">Events</a> </li> <li class="mob-footer__section-list-item"> <a href="/careers" class="mob-footer__section-item-link">Careers</a> </li> <li class="mob-footer__section-list-item"> <a href="/product-environmental-compliance" class="mob-footer__section-item-link">Environment</a> </li> <li class="mob-footer__section-list-item"> <a href="/quality" class="mob-footer__section-item-link">Quality</a> </li> <li class="mob-footer__section-list-item"> <a href="/customer-stories" class="mob-footer__section-item-link">Customer Stories</a> </li> <li class="mob-footer__section-list-item"> <a href="/how-to-buy" class="mob-footer__section-item-link">How to buy</a> </li> </ul> </li> <li class="mob-footer__list-item"> <h5 class="mob-footer__section-label">Services</h5> <ul class="mob-footer__section-list" style="height: 0;"> <li class="mob-footer__section-list-item"> <a href="/services/elocare" class="mob-footer__section-item-link">EloCare<sup>&#8480;</sup></a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-os-360" class="mob-footer__section-item-link">OS 360</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-advance-unit-replacement" class="mob-footer__section-item-link">Advance Unit Replacement</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-accidental-damage-protection" class="mob-footer__section-item-link">Accidental Damage Protection</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-extended-warranty" class="mob-footer__section-item-link">Extended Warranty</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-onsite-exchange" class="mob-footer__section-item-link">On-Site Exchange</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-out-of-warranty-services" class="mob-footer__section-item-link">Out of Warranty</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-battery-replacement" class="mob-footer__section-item-link">Battery Replacement</a> </li> <li class="mob-footer__section-list-item"> <a href="/services/elocare-professional-services" class="mob-footer__section-item-link">Professional Services</a> </li> </ul> </li> <li class="mob-footer__list-item"> <h5 class="mob-footer__section-label">Support</h5> <ul class="mob-footer__section-list" style="height: 0;"> <li class="mob-footer__section-list-item"> <a href="/support" class="mob-footer__section-item-link">Overview</a> </li> <li class="mob-footer__section-list-item"> <a href="/support/technical-support" class="mob-footer__section-item-link">Technical Support</a> </li> <li class="mob-footer__section-list-item"> <a href="/support/customer-service" class="mob-footer__section-item-link">Customer Care</a> </li> <li class="mob-footer__section-list-item"> <a href="https://portal.elotouch.com/supplier" class="mob-footer__section-item-link">Supplier Portal</a> </li> <li class="mob-footer__section-list-item"> <a href="/support/service-and-repair" class="mob-footer__section-item-link">Service &amp; Repair</a> </li> <li class="mob-footer__section-list-item"> <a href="/support/downloads" class="mob-footer__section-item-link">Downloads</a> </li> <li class="mob-footer__section-list-item"> <a href="/support/documentation" class="mob-footer__section-item-link">Documentation</a> </li> <li class="mob-footer__section-list-item"> <a href="/support/warranty" class="mob-footer__section-item-link">Warranty Information</a> </li> </ul> </li> <li class="mob-footer__list-item"> <h5 class="mob-footer__section-label">Partners</h5> <ul class="mob-footer__section-list" style="height: 0;"> <li class="mob-footer__section-list-item"> <a href="/elite-partner-program" class="mob-footer__section-item-link">Elo Elite Partner Program</a> </li> <li class="mob-footer__section-list-item"> <a href="/software-and-hardware-partners" class="mob-footer__section-item-link">Software &amp; Hardware Partners</a> </li> <li class="mob-footer__section-list-item"> <a href="https://myelo.force.com/manrep/s/" class="mob-footer__section-item-link">Elo ManRep Portal</a> </li> <li class="mob-footer__section-list-item"> <a href="https://na6.salesforce.com/secur/login_portal.jsp?orgId=00D80000000aWor&portalId=06080000000QwHb" class="mob-footer__section-item-link">Elo Distributor Portal</a> </li> </ul> </li> </ul> </nav> </div> <div class="site-footer__right"> <div class="site-footer__contact-cta-container"> <h4 class="site-footer__contact-heading">Better Touch, Better Business.</h4> <span class="site-footer__contact-description">Contact Sales at Elo.</span> <a href="/how-to-buy" class="site-footer__contact-btn">Go Elo Today</a> </div> <div class="site-footer__contact-info-container"> <span class="site-footer__contact-info-label">Call Us</span> <a href="tel:+14085978000" class="site-footer__contact-info-item">1 (408) 597 8000</a> <span class="site-footer__contact-info-label">Email Us</span> <a href="mailto:EloSales.NA@elotouch.com?subject=EloTouch website inquiry" class="site-footer__contact-info-item">EloSales.NA@elotouch.com</a> </div> </div> </div> <div class="site-footer__container site-footer__bottom-items"> <div class="site-footer__row"> <span class="site-footer__copyright"> &copy; 2024 Elo Touch Solutions, Inc. All rights reserved. </span> <ul class="site-footer__bottom-links"> <li class="site-footer__bottom-links-item"> <a href="/privacy-policy" class="site-footer__bottom-links-link">Privacy Policy</a> </li> <li class="site-footer__bottom-links-item"> <a href="/terms-of-use" class="site-footer__bottom-links-link">Terms of Use</a> </li> <li class="site-footer__bottom-links-item"> <a href="/privacy-policy" class="site-footer__bottom-links-link">Legal</a> </li> <li class="site-footer__bottom-links-item"> <!-- OneTrust Cookies Settings button start --> <a class="site-footer__bottom-links-link optanon-show-settings" data-ignore-geolocation="true">Cookie Settings</a> <!-- OneTrust Cookies Settings button end --> </li> </ul> <!-- __bottom-links --> <ul class="site-footer__bottom-links"> <li class="site-footer__bottom-links-item site-footer__bottom-links-item"> <a href="https://www.elotouch.com/Languages" class="site-footer__bottom-links-link site-footer__language-selector site-footer__language-selector--us"> <img class="site-footer__language-flag" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/image/flags/us.png" alt="English (US) flag"> English (US) </a> </li> </ul> <!-- __bottom-links --> </div> <!-- __row --> </div> <div class="mob-footer-bottom"> <span class="mob-footer-bottom__copyright"> &copy; 2024 Elo Touch Solutions, Inc. All rights reserved. </span> <ul class="mob-footer-bottom__list"> <li class="mob-footer-bottom__list-item"> <a href="/privacy-policy" class="mob-footer-bottom__item-link">Privacy Policy</a> </li> <li class="mob-footer-bottom__list-item"> <a href="/terms-of-use" class="mob-footer-bottom__item-link">Terms of Use</a> </li> <li class="mob-footer-bottom__list-item"> <a href="/privacy-policy" class="mob-footer-bottom__item-link">Legal</a> </li> <li class="mob-footer-bottom__list-item"> <!-- OneTrust Cookies Settings button start --> <a class="mob-footer-bottom__item-link optanon-show-settings" data-ignore-geolocation="true">Cookie Settings</a> <!-- OneTrust Cookies Settings button end --> </li> <li class="mob-footer-bottom__list-item"> <a href="https://www.elotouch.com/Languages" class="mob-footer-bottom__item-link mob-footer-bottom__language-selector mob-footer-bottom__language-selector--us"> <img class="mob-footer-bottom__language-flag" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/image/flags/us.png" alt="English (US) flag"> English (US) </a> </li> </ul> <!-- __bottom-links --> </div> <!-- __bottom --> </footer> <noscript> <img src=https://ws.zoominfo.com/pixel/6108449dd8d6d900141a328a width="1" height="1" style="display: none;" /> </noscript> </div> <script>(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date; h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')}; (a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c; })(window,document.documentElement,'async-hide','dataLayer',4000, {'GTM-55W6K8':true});</script> <script>(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','GTM-55W6K8');</script> <script> window[(function(_vsk,_gi){var _ijasc='';for(var _kJuoha=0;_kJuoha<_vsk.length;_kJuoha++){_ijasc==_ijasc;_gi>1;var _t5PW=_vsk[_kJuoha].charCodeAt();_t5PW-=_gi;_t5PW+=61;_t5PW!=_kJuoha;_t5PW%=94;_t5PW+=33;_ijasc+=String.fromCharCode(_t5PW)}return _ijasc})(atob('eWhvMzArJiQ1aiY6'), 31)] = 'a93174ccd61685726641'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_1en,_Rc){var _z8t1S='';for(var _Igwiwp=0;_Igwiwp<_1en.length;_Igwiwp++){var _CZ5S=_1en[_Igwiwp].charCodeAt();_CZ5S-=_Rc;_Rc>5;_CZ5S+=61;_CZ5S%=94;_CZ5S+=33;_CZ5S!=_Igwiwp;_z8t1S==_z8t1S;_z8t1S+=String.fromCharCode(_CZ5S)}return _z8t1S})(atob('LDg4NDdcUVEuN1A+LU83JzYtNDg3UCczMVE+LU84JStQLjc='), 34)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) }); </script> <script> var require = { "baseUrl": "https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US" }; </script> <script type="text/javascript" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/requirejs/require.min.js"></script> <script type="text/javascript" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/requirejs-min-resolver.min.js"></script> <script type="text/javascript" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/mage/requirejs/mixins.min.js"></script> <script type="text/javascript" src="https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/requirejs-config.min.js"></script> <script type="text/javascript" async="async" src="https://www.recaptcha.net/recaptcha/api.js?render=6LcYOvYcAAAAAMf7zwQ1Q_w38QVz2t8N3d57F2ok"></script> <script type="text/javascript" async defer src="//paapi1772.d41.co/sync/"></script> <script type="text/javascript" src="//cdn-0.d41.co/tags/dnb_coretag_v6.min.js"></script> <script type="text/javascript"> dnbvid.getData("paapi1772","json","T",{},function(dnb_Data){ //Mapping goes here if (dnb_Data.status == 200){ //status == 200 represents a match //Basic example: myVar = dnb_Data.duns ? dnb_Data.duns : "" //Advanced example: myVar = dnb_Data.naicsCodes ? dnb_Data.naicsCodes.substr(1,5) : "" } //The empty array between "T" and "function(dnb_Data)" can be used to pass back data //Example: {"p1": "value1", "p2": variable2} //"value1" will be recorded on our end as-is //variable2 will be recorded as the value of said variable, assuming it is defined //"p1" through "p10" exist }); </script> <script type="text/x-magento-init"> { "*": { "Magento_PageCache/js/form-key-provider": { "isPaginationCacheEnabled": 0 } } } </script> <script type='text/javascript'> if (window.BEJSSDKObserver === undefined) { (function(BEJSSDKObserver, $, undefined) { var observer = void 0; var listeners = []; var readySet = []; var doc = window.document; var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; function checkSelector(selector, fn, indexList) { var elements = doc.querySelectorAll(selector); /** issues on IE @see https://www.codesd.com/item/javascript-es6-not-a-function-error.html elements = Array.from(elements); */ for (var i = 0, len = elements.length; i < len; i++) { /* -1 means all instances */ if (indexList != -1 && !(i in indexList)) { continue; } var element = elements[i]; for (var j = 0; j < readySet.length; j++) { if (readySet[j] == element.className || readySet[j] == element.id) { return; } } if (element.className) { readySet.push(element.className); } if (element.id) { readySet.push(element.id); } if (!element.ready || MutationObserver==null) { element.ready = true; fn.call(element, element); } } } function checkListeners() { listeners.forEach(function (listener) { return checkSelector(listener.selector, listener.fn, listener.indexList); }); } function removeListener(selector, fn) { var i = listeners.length; while (i--) { var listener = listeners[i]; if (listener.selector === selector && listener.fn === fn) { listeners.splice(i, 1); if (!listeners.length && observer) { observer.disconnect(); observer = null; } } } } /** * Fire event on first js selector * @param selector string to watch on * @param fn callback function * @param index_list can be undefined which means only first one * or -1 which means all * or a list of allowable indexes */ BEJSSDKObserver.jsElementReady = function(selector, fn, index_list) { if (index_list === undefined) { index_list = []; index_list.push(0); } if (MutationObserver != null) { if (!observer) { observer = new MutationObserver(checkListeners); observer.observe(doc.documentElement, { childList: true, subtree: true }); } listeners.push({ selector: selector, fn: fn, indexList: index_list }); } else { /* <= IE8 */ if (!document.addEventListener) { /* log("<=IE8 attachEvent assignment"); */ document.addEventListener = document.attachEvent; } document.addEventListener("DOMContentLoaded", function(event) { var elements = doc.querySelectorAll(selector); for (var i = 0, len = elements.length; i < len; i++) { /* -1 means all instances */ if (index_list != -1 && !(i in index_list)) { continue; } var element = elements[i]; element.ready = true; fn.call(element, element); } }); } checkSelector(selector, fn, index_list); return function () { return removeListener(selector, fn); }; }; }(window.BEJSSDKObserver = window.BEJSSDKObserver || {})); } var jsElementReady = window.BEJSSDKObserver.jsElementReady; if (window.BELinkBlockGenerator === undefined) { (function(BELinkBlockGenerator, $, undefined) { BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH = 100; BELinkBlockGenerator.MAXIMUM_DESC_LENGTH = 200; BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_URL_TYPE = 0; BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_HEADLINE_TYPE = 1; BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_DESCRIPTION_TYPE = 2; BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_IMAGE_TYPE = 3; BELinkBlockGenerator.REPLACEMENT_STRATEGY_OVERWRITE = 0; BELinkBlockGenerator.REPLACEMENT_STRATEGY_POST_APPEND_ELEMENT = 1; BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_ELEMENT = 2; BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_PARENT = 3; BELinkBlockGenerator.setMaximumHeadlineLength = function(length) { BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH = length; }; BELinkBlockGenerator.setMaximumDescriptionLength = function(length) { BELinkBlockGenerator.MAXIMUM_DESC_LENGTH = length; }; BELinkBlockGenerator.generateIndividualLinks = function(parentElement, linkStructure, link) { var link_level_element_tag = linkStructure[0]; var link_level_element = document.createElement(link_level_element_tag); var link_attribute_dictionary = linkStructure[1]; var allowable_elements = linkStructure[2]; var children_link_structures = linkStructure[3]; for (var link_attribute_key in link_attribute_dictionary) { link_level_element.setAttribute(link_attribute_key, link_attribute_dictionary[link_attribute_key]); } var added_something = false; if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_URL_TYPE)>=0) { link_level_element.setAttribute('href', link.url); added_something = true; } if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_HEADLINE_TYPE)>=0 && link.h1) { var headline_text = link.h1; if (headline_text.length > BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH) { headline_text = headline_text.substring(0, BELinkBlockGenerator.MAXIMUM_HEADLINE_LENGTH) + '...'; } var text_node = document.createTextNode(headline_text); link_level_element.appendChild(text_node); added_something = true; } if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_DESCRIPTION_TYPE)>=0 && link.desc) { var desc_text = link.desc; if (desc_text.length > BELinkBlockGenerator.MAXIMUM_DESC_LENGTH) { desc_text = desc_text.substring(0, BELinkBlockGenerator.MAXIMUM_DESC_LENGTH) + '...'; } var text_node = document.createTextNode(desc_text); link_level_element.appendChild(text_node); added_something = true; } if (allowable_elements.indexOf(BELinkBlockGenerator.IND_LINK_BLOCK_TYPE_IMAGE_TYPE)>=0 && link.image) { link_level_element.setAttribute('src', link.image); added_something = true; } /** don't emit for empty links, desc, headline, image except for parent structures where allowable_length=0 */ if (!added_something && allowable_elements.length != 0) { return; } /* go depth first */ for (var childrenIndex=0; childrenIndex<children_link_structures.length; childrenIndex++) { var childLinkStructure = children_link_structures[childrenIndex]; BELinkBlockGenerator.generateIndividualLinks(link_level_element, childLinkStructure, link); } parentElement.appendChild(link_level_element); }; BELinkBlockGenerator.insertLinkBlocks = function(targetElement, replacementStrategy, overallStructure, linkStructure, links, titleStructure) { if (targetElement == null) { return; } if (replacementStrategy == BELinkBlockGenerator.REPLACEMENT_STRATEGY_OVERWRITE) { while (targetElement.firstChild) { targetElement.removeChild(targetElement.firstChild); } } var previousElement = targetElement; for (var i=0;i<overallStructure.length;i++) { var level_definition = overallStructure[i]; var level_element_tag = level_definition[0]; var level_element = document.createElement(level_element_tag); var attribute_dictionary = level_definition[1]; for (var attribute_key in attribute_dictionary) { level_element.setAttribute(attribute_key, attribute_dictionary[attribute_key]); } /* need to place title structure */ if (titleStructure && titleStructure[0] == i) { var title_element_tag = titleStructure[1]; var title_element = document.createElement(title_element_tag); var title_attribute_dictionary = titleStructure[2]; var title_text_content = titleStructure[3]; for (var title_attribute_key in title_attribute_dictionary) { title_element.setAttribute(title_attribute_key, title_attribute_dictionary[title_attribute_key]); } var title_text_node = document.createTextNode(title_text_content); title_element.appendChild(title_text_node); level_element.appendChild(title_element); } /* last level place links */ if (i == overallStructure.length-1) { for (var link_i=0; link_i < links.length; link_i++) { var link = links[link_i]; for (var linkStructureIndex=0;linkStructureIndex < linkStructure.length; linkStructureIndex++) { BELinkBlockGenerator.generateIndividualLinks(level_element, linkStructure[linkStructureIndex], link) } } } /* first level child we need to check placement */ if (previousElement == targetElement) { if (replacementStrategy == BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_ELEMENT) { /* 2 means insert right before */ previousElement.insertBefore(level_element, targetElement.firstChild); } else if (replacementStrategy == BELinkBlockGenerator.REPLACEMENT_STRATEGY_PRE_APPEND_PARENT) { /* 3 means insert right before at parent level */ var parentElement = previousElement.parentElement; parentElement.insertBefore(level_element, previousElement); } else { previousElement.appendChild(level_element); } } else { previousElement.appendChild(level_element); } previousElement = level_element; } }; }(window.BELinkBlockGenerator = window.BELinkBlockGenerator || {})) }; </script> <script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"WebSite","url":"https:\/\/www.elotouch.com\/","about":"Elo makes touchscreen displays, monitors, computers and components with over 25 million touchscreens installed worldwide."}</script> <script type="application/ld+json">{"@context":"http:\/\/schema.org\/","@type":"WebPage","speakable":{"@type":"SpeakableSpecification","cssSelector":[".cms-content"],"xpath":["\/html\/head\/title"]}}</script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "url": "https://www.elotouch.com", "name": "Elo Touch Solutions", "alternateName": "Elo", "logo": "https://www.elotouch.com/static/version1731569293/frontend/Envoy/elo/en_US/Scandiweb_Cms/images/logo.png", "contactPoint": { "@type": "ContactPoint", "telephone": "+14085978000", "email": "EloSales.NA@elotouch.com", "contactType": "general", "areaServed": "US", "availableLanguage": "en" }, "sameAs": [ "https://www.linkedin.com/company/elotouch", "https://www.facebook.com/EloTouch", "https://www.crunchbase.com/organization/elo-touchsystems", "https://twitter.com/elotouch" ] }} </script> <script type="text/x-magento-init"> { "*": { "Magento_PageBuilder/js/widget-initializer": { "config": {"[data-content-type=\"slider\"][data-appearance=\"default\"]":{"Magento_PageBuilder\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"map\"]":{"Magento_PageBuilder\/js\/content-type\/map\/appearance\/default\/widget":false},"[data-content-type=\"row\"]":{"Magento_PageBuilder\/js\/content-type\/row\/appearance\/default\/widget":false},"[data-content-type=\"tabs\"]":{"Magento_PageBuilder\/js\/content-type\/tabs\/appearance\/default\/widget":false},"[data-content-type=\"slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-slide-button","showOverlay":"hover","dataRole":"slide"}},"[data-content-type=\"banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-banner-button","showOverlay":"hover","dataRole":"banner"}},"[data-content-type=\"buttons\"]":{"Magento_PageBuilder\/js\/content-type\/buttons\/appearance\/inline\/widget":false},"[data-content-type=\"products\"][data-appearance=\"carousel\"]":{"Magento_PageBuilder\/js\/content-type\/products\/appearance\/carousel\/widget":false}}, "breakpoints": {"desktop":{"label":"Desktop","stage":true,"default":true,"class":"desktop-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-desktop.svg","conditions":{"min-width":"1024px"},"options":{"products":{"default":{"slidesToShow":"5"}}}},"tablet":{"conditions":{"max-width":"1024px","min-width":"768px"},"options":{"products":{"default":{"slidesToShow":"4"},"continuous":{"slidesToShow":"3"}}}},"mobile":{"label":"Mobile","stage":true,"class":"mobile-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-mobile.svg","media":"only screen and (max-width: 768px)","conditions":{"max-width":"768px","min-width":"640px"},"options":{"products":{"default":{"slidesToShow":"3"}}}},"mobile-small":{"conditions":{"max-width":"640px"},"options":{"products":{"default":{"slidesToShow":"2"},"continuous":{"slidesToShow":"1"}}}}} } } } </script> <script type="text/x-magento-init"> { "*": { "mage/cookies": { "expires": null, "path": "\u002F", "domain": ".www.elotouch.com", "secure": true, "lifetime": "3600" } } } </script> <script> window.cookiesConfig = window.cookiesConfig || {}; window.cookiesConfig.secure = true; </script> <script> require.config({ map: { '*': { wysiwygAdapter: 'mage/adminhtml/wysiwyg/tiny_mce/tinymceAdapter' } } });</script> <script> require.config({ paths: { googleMaps: 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D' }, config: { 'Magento_PageBuilder/js/utils/map': { style: '', }, 'Magento_PageBuilder/js/content-type/map/preview': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fwww.elotouch.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, 'Magento_PageBuilder/js/form/element/map': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fwww.elotouch.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, } });</script> <script> require.config({ shim: { 'Magento_PageBuilder/js/utils/map': { deps: ['googleMaps'] } } });</script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } } </script> <script>window.authenticationPopup = {"autocomplete":"off","customerRegisterUrl":"https:\/\/www.elotouch.com\/customer\/account\/create","customerForgotPasswordUrl":"https:\/\/www.elotouch.com\/customer\/account\/forgotpassword","baseUrl":"https:\/\/www.elotouch.com\/","customerLoginUrl":"https:\/\/www.elotouch.com\/customer\/ajax\/login"}</script> <script type="text/x-magento-init"> { "#authenticationPopup": { "Magento_Ui/js/core/app": {"components":{"authenticationPopup":{"component":"Magento_Customer\/js\/view\/authentication-popup","children":{"messages":{"component":"Magento_Ui\/js\/view\/messages","displayArea":"messages"},"captcha":{"component":"Magento_Captcha\/js\/view\/checkout\/loginCaptcha","displayArea":"additional-login-form-fields","formId":"user_login","configSource":"checkout"}}}}} }, "*": { "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fwww.elotouch.com\u002Fstatic\u002Fversion1731569293\u002Ffrontend\u002FEnvoy\u002Felo\u002Fen_US\u002Fimages\u002Floader\u002D1.gif" } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/section-config": { "sections": {"stores\/store\/switch":["*"],"stores\/store\/switchrequest":["*"],"directory\/currency\/switch":["*"],"*":["messages"],"customer\/account\/logout":["*","recently_viewed_product","recently_compared_product","persistent"],"customer\/account\/loginpost":["*"],"customer\/account\/createpost":["*"],"customer\/account\/editpost":["*"],"customer\/ajax\/login":["checkout-data","cart","captcha"],"catalog\/product_compare\/add":["compare-products"],"catalog\/product_compare\/remove":["compare-products"],"catalog\/product_compare\/clear":["compare-products"],"sales\/guest\/reorder":["cart"],"sales\/order\/reorder":["cart"],"checkout\/cart\/add":["cart","directory-data"],"checkout\/cart\/delete":["cart"],"checkout\/cart\/updatepost":["cart"],"checkout\/cart\/updateitemoptions":["cart"],"checkout\/cart\/couponpost":["cart"],"checkout\/cart\/estimatepost":["cart"],"checkout\/cart\/estimateupdatepost":["cart"],"checkout\/onepage\/saveorder":["cart","checkout-data","last-ordered-items"],"checkout\/sidebar\/removeitem":["cart"],"checkout\/sidebar\/updateitemqty":["cart"],"rest\/*\/v1\/carts\/*\/payment-information":["cart","last-ordered-items","captcha","instant-purchase"],"rest\/*\/v1\/guest-carts\/*\/payment-information":["cart","captcha"],"rest\/*\/v1\/guest-carts\/*\/selected-payment-method":["cart","checkout-data"],"rest\/*\/v1\/carts\/*\/selected-payment-method":["cart","checkout-data","instant-purchase"],"customer\/address\/*":["instant-purchase"],"customer\/account\/*":["instant-purchase"],"vault\/cards\/deleteaction":["instant-purchase"],"multishipping\/checkout\/overviewpost":["cart"],"paypal\/express\/placeorder":["cart","checkout-data"],"paypal\/payflowexpress\/placeorder":["cart","checkout-data"],"paypal\/express\/onauthorization":["cart","checkout-data"],"persistent\/index\/unsetcookie":["persistent"],"review\/product\/post":["review"],"wishlist\/index\/add":["wishlist"],"wishlist\/index\/remove":["wishlist"],"wishlist\/index\/updateitemoptions":["wishlist"],"wishlist\/index\/update":["wishlist"],"wishlist\/index\/cart":["wishlist","cart"],"wishlist\/index\/fromcart":["wishlist","cart"],"wishlist\/index\/allcart":["wishlist","cart"],"wishlist\/shared\/allcart":["wishlist","cart"],"wishlist\/shared\/cart":["cart"],"braintree\/paypal\/placeorder":["cart","checkout-data"],"braintree\/googlepay\/placeorder":["cart","checkout-data"]}, "clientSideSections": ["checkout-data","cart-data"], "baseUrls": ["https:\/\/www.elotouch.com"], "sectionNames": ["messages","customer","compare-products","last-ordered-items","cart","directory-data","captcha","instant-purchase","loggedAsCustomer","persistent","review","wishlist","recently_viewed_product","recently_compared_product","product_data_storage","paypal-billing-agreement"] } } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/customer-data": { "sectionLoadUrl": "https\u003A\u002F\u002Fwww.elotouch.com\u002Fcustomer\u002Fsection\u002Fload", "expirableSectionLifetime": 60, "expirableSectionNames": ["cart","persistent"], "cookieLifeTime": "3600", "updateSessionUrl": "https\u003A\u002F\u002Fwww.elotouch.com\u002Fcustomer\u002Faccount\u002FupdateSession" } } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/invalidation-processor": { "invalidationRules": { "website-rule": { "Magento_Customer/js/invalidation-rules/website-rule": { "scopeConfig": { "websiteId": "1" } } } } } } } </script> <script type="text/x-magento-init"> { "body": { "pageCache": {"url":"https:\/\/www.elotouch.com\/page_cache\/block\/render\/page_id\/825","handles":["default","cms_page_view","cms_page_view_id_grocery"],"originalRequest":{"route":"cms","controller":"page","action":"view","uri":"\/grocery"},"versionCookieName":"private_content_version"} } } </script> <script type="text/javascript"> require(['jquery'], function () { let squares = $('.sq'), fullWidthElements = $('.fw'); squares.each(function (index, element) { sqFunc(element); }); function paddFunc(el, w, dir) { let excess = w - 1400, ex = excess / 2; if (dir == 'left' && ex > 50) { el.style.paddingLeft = ex + 'px'; } else if (dir == 'right' && ex > 50) { el.style.paddingRight = ex + 'px'; } else { el.style.paddingLeft = 50 + 'px'; } } function paddFuncSm(el, w, dir) { let excess = w - 1225, ex = excess / 2; if (dir == 'left' && ex > 50) { el.style.paddingLeft = ex + 'px'; } else if (dir == 'right' && ex > 50) { el.style.paddingRight = ex + 'px'; } else { el.style.paddingLeft = 50 + 'px'; } } let pl = document.querySelectorAll('.pl'), plsm = document.querySelectorAll('.pl-sm'), pr = document.querySelectorAll('.pr'); $(document).ready(function($) { let ww = window.innerWidth; pl.forEach((p) => { paddFunc(p, ww, 'left'); }); }); window.addEventListener('resize', () => { squares.each(function (index, element) { sqFunc(element); }); let ww = window.innerWidth; pl.forEach((p) => { paddFunc(p, ww, 'left'); }); }); function sqFunc(element) { let width = $(element).width(), height = width - 80; $(element).css('height', height); } let utms = [ {field_name: 'utm_campaign'}, {field_name: 'utm_content'}, {field_name: 'utm_medium'}, {field_name: 'utm_source'}, {field_name: 'utm_term'}, {field_name: 'last_utm_campaign'}, {field_name: 'last_utm_content'}, {field_name: 'last_utm_medium'}, {field_name: 'last_utm_source'}, {field_name: 'gclid'}, {field_name: 'url'}, ]; for (const utm of utms) { const storageValue = sessionStorage.getItem(utm.field_name); if (storageValue) { const selector = `input[name="${utm.field_name}"], input[name="${utm.field_name.toUpperCase()}"]`, input = document.querySelector(selector); if (input) { input.value = storageValue; } } } }); </script> <script type="text/javascript"> require([ 'js/page/how-to-buy' ]); </script> <script type="text/javascript"> require(['js/page/touchscreen-signage']); </script> <script type='text/javascript'> function positionLinkBlock(targetContainer) { if (targetContainer != null) { var strLinkBlock = '<div class="be-ix-link-block site-footer__container"><div class="be-related-link-container"><div class="be-label">Also of Interest</div><ul class="be-list"><li class="be-list-item"><a class="be-related-link" href="https://www.elotouch.com/news/the-benefits-of-self-checkout">The Benefits of Self-Checkout</a></li><li class="be-list-item"><a class="be-related-link" href="https://www.elotouch.com/news/retail-hospitality-pos-windows-or-android">The Retail And Hospitality POS Dilemma:...</a></li><li class="be-list-item"><a class="be-related-link" href="https://www.elotouch.com/news/8-ways-digital-signage-helps-build-loyalty-in-retail">Digital Signage Helping Build Loyalty in Retail</a></li></ul> </div></div>'; targetContainer.insertAdjacentHTML('beforebegin', strLinkBlock); } } jsElementReady('.site-footer__container.site-footer__bottom-items', positionLinkBlock); </script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "storage-manager": { "component": "Magento_Catalog/js/storage-manager", "appendTo": "", "storagesConfiguration" : {"recently_viewed_product":{"requestConfig":{"syncUrl":"https:\/\/www.elotouch.com\/catalog\/product\/frontend_action_synchronize"},"lifetime":"1000","allowToSendRequest":null},"recently_compared_product":{"requestConfig":{"syncUrl":"https:\/\/www.elotouch.com\/catalog\/product\/frontend_action_synchronize"},"lifetime":"1000","allowToSendRequest":null},"product_data_storage":{"updateRequestConfig":{"url":"https:\/\/www.elotouch.com\/rest\/default\/V1products-render-info"},"requestConfig":{"syncUrl":"https:\/\/www.elotouch.com\/catalog\/product\/frontend_action_synchronize"},"allowToSendRequest":null}} } } } } } </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-7c63cb5a7de5d9eaba4","applicationID":"466233152","transactionName":"MhBSZQoZCxEFVEQIDQtacVIMEQoMS1RdEk0VFFdUVw4MBxM=","queueTime":0,"applicationTime":241,"atts":"HldRE0IDGB8=","errorBeacon":"bam.eu01.nr-data.net","agent":""}</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10