1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 5<link href="/1723204578/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type="text/css"> 6<link href="/1723204578/bootflat/css/fontawesome-pro-6.5.2-web/css/v4-shims.min.css" rel="stylesheet" type="text/css"> 7 <link rel="icon" type="image/x-icon" href="/favicon.ico"> 8 <title></title> 9 10 <meta name="description" content=""> 11 12 <link rel="canonical" href="https://www.belmontmedical.com/module/product.htm"> 13 14 15 <link rel="dns-prefetch" href="oss.maxcdn.com"> 16 <link rel="dns-prefetch" href="ajax.googleapis.com"> 17 18 <!-- BOOTSTRAP START !! --> 19 <meta charset="utf-8"> 20 <meta http-equiv="X-UA-Compatible" content="IE=edge">
20<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"7339834",accountID:"732355",trustKey:"732355",licenseKey:"d60c52fc57",applicationID:"7339757",browserID:"7339834"};;/*! For license information please see nr-loader-rum-1.322.0.min.js.LICENSE.txt */ 21(()=>{var e={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)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={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};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}
21).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(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],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.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,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,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 g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},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,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[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 a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(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))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(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),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},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})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
21{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,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},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,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)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.322.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-/59P7qAoMYQDJAZerTRPChdYcdrlcoEAw2TwA1wz6Y0/XLmt3sblL
21I5JCXAuxG0YxsW7iqJzgrcO7NJWO58EfQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},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,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,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){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.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){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.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,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
21,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
21var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
21return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
21 22 <meta name="viewport" content="width=device-width, initial-scale=1"> 23 24 <!-- BEGIN FRONTEND TRACKJS -->
24<script attr="nomove" src="https://cdn.trackjs.com/agent/v3/latest/t.js"></script>
vendor: 1 bytes, line 24
24
25<script attr="nomove"> 26 TrackJS.install({ 27 token: "a7347001564f4c9cb840b3caf60af7ea", 28 application: "frontend-production" 29 // for more configuration options, see https://docs.trackjs.com 30 }); 31</script>
31<!-- END FRONTEND TRACKJS --> 32 33 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 34 <!--[if lt IE 9]> 35
35<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js" attr="nomove"></script>
35 36
36<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js" attr="nomove"></script>
36 37 <![endif]--> 38 <!-- BOOTSTRAP END --> 39 40 41
41<script type="text/javascript" src="https://images.rainpos.com/jquery.tools.min.js" attr="nomove"></script>
41 42 43
43<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" attr="nomove"></script>
43 44 45 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"> 46 47 48 49 50 <style> 51 * {box-sizing: border-box;}*:before, *:after {box-sizing: border-box;}a {text-decoration: none;}body {margin: 0;margin-top: 0px;line-height: 1.42857;}h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {font-weight: 500;line-height: 1.1;margin-top: 20px;margin-bottom: 10px;}input, textarea {line-height: inherit;}td, th {padding: 0;}.collapse {display: none;visibility: hidden;}.container {padding-right: 15px;padding-left: 15px;margin-right: auto;margin-left: auto;}@media (min-width: 768px) {.container {width: 750px;}}@media (min-width: 992px) {.container {width: 970px;}}@media (min-width: 1200px) {.container {width: 1170px;}}.container-fluid {padding-left: 15px;padding-right: 15px;}img.img-responsive { max-width: 100%; height: auto; }.dropdown {}.dropdown-menu {display:none;}.dropdown-toggle {}.nav {padding-left: 0;margin-bottom: 0;list-style: none;}.nav > li > a {position: relative;display: block;padding: 10px 15px;}.navbar {position: relative;min-height: 50px;margin-bottom: 20px;}.navbar-collapse {padding-right: 15px;padding-left: 15px;overflow-x: visible;-webkit-overflow-scrolling: touch;border-top: 1px solid transparent;-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);}.navbar-collapse.in {overflow-y: auto;}.navbar-default {}.navbar-header {}.navbar-nav {margin: 7.5px -15px;}@media (min-width: 768px) {.navbar-nav > li {float: left;}.navbar-nav > li > a {padding-top: 10px;padding-bottom: 10px;line-height: 20px;}.navbar-toggle {display: none;}.navbar-collapse {width: auto;border-top: 0;-webkit-box-shadow: none;box-shadow: none;}.navbar-collapse.collapse {display: block !important;height: auto !important;padding-bottom: 0;overflow: visible !important;visibility: visible !important;}.navbar-collapse.in {overflow-y: visible;}.navbar-nav {float: left;margin: 0;}.navbar-nav > li > a {padding-top: 15px;padding-bottom: 15px;}.navbar-header {float: left;}#mainNav ul.nav li.dropdown:hover > ul.dropdown-menu {display: block;}.navbar-collapse, nav > .container-fluid {padding-left:0px !important;padding-right:0px !important;}}@media (max-width: 767px) {.navbar-nav .open .dropdown-menu {position: static;float: none;width: auto;margin-top: 0;background-color: transparent;border: 0;-webkit-box-shadow: none;box-shadow: none;}}.row {margin-left: -15px;margin-right: -15px;}#adminNav nav {margin-left: -15px;}.carousel.fade {opacity: 1;}.carousel.fade .item {-moz-transition: opacity ease-in-out .7s;-o-transition: opacity ease-in-out .7s;-webkit-transition: opacity ease-in-out .7s;transition: opacity ease-in-out .7s;left: 0 !important;opacity: 0;top:0;position:absolute;width: 100%;display:block !important;z-index:1;}.carousel.fade .item:first-child {top:auto;position:relative;}.carousel.fade .item.active {opacity: 1;-moz-transition: opacity ease-in-out .7s;-o-transition: opacity ease-in-out .7s;-webkit-transition: opacity ease-in-out .7s;transition: opacity ease-in-out .7s;z-index:2;}@media (min-width: 768px) {.menubg nav {float: left !important;}.menubg .dropdown-menu {margin-left: 20px !important;border: 1px solid #084882 !important;}.menubg {min-height: px;}.mainMenuItem {padding-left: 20px !important;padding-right: 20px !important;}}#mainNav.navbar-default{background-color:transparent !important;border:0px !important;}#mainNav.navbar-default .navbar-nav > .open > a,#mainNav.navbar-default .navbar-nav > .open > a:hover,#mainNav.navbar-default .navbar-nav > .open > a:focus{background-color:transparent !important;border:0px !important;}#mainNav .dropdown-menu,#mainNav.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,#mainNav.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus{background-color:#084882 !important;border:0px !important;}#mainNav.navbar-default .navbar-nav > li > a,#mainNav.navbar-default .navbar-nav .open .dropdown-menu > li > a,#mainNav.navbar-default .navbar-nav > li > a:hover,#mainNav.navbar-default .navbar-nav > li > a:focus,#mainNav.navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,#mainNav.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus{color:#fff !important;}#mainNav.navbar-default .navbar-nav > li > a:hover,#mainNav.navbar-default .navbar-nav > .open > a,#mainNav.navbar-default .navbar-nav > .open > a:hover,#mainNav.navbar-default .navbar-nav > .open > a:focus{color:#c6c6c6 !important;}#mainNav .dropdown-menu > li > a{color:#fff !important;background-color:#084882 !important;border:0px !important;}#mainNav .dropdown-menu > li > a:hover,#mainNav .dropdown-menu > li > a:focus{color:#c6c6c6 !important;background-color:#084882 !important;}.menubg{background-color:#084882 ;z-index:3 !important;}.menubg .navbar{min-height:30px !important;margin-bottom:0px !important;}#main-website-content .btn-add-to-cart{color:#f6f6f6 !important;padding-left:60px !important;padding-right:60px !important;transition-duration:0.2s;background:#5bc050 !important;}#main-website-content .btn-add-to-cart:hover{color:#fff !important;transition-duration:0.2s;background:#4BB340 !important;}.btn-add-to-waitlist{color:#f6f6f6 !important;padding-left:60px !important;padding-right:60px !important;transition-duration:0.2s;background:#999999 !important;}.btn-add-to-waitlist:hover{color:#fff !important;transition-duration:0.2s;background:#777 !important;}#main-website-content .btn-add-to-improved-waitlist{color:#f6f6f6 !important;padding-left:20px !important;padding-right:20px !important;transition-duration:0.2s;background:#ff8c00 !important;}.menubg .nav > li{margin-bottom:0px !important;}.menubg > .container{padding:0px !important;}.mainMenuItem{font-size:16px !important;font-family:Arial, sans-serif !important;
51font-weight:normal !important;color:#fff !important;}html{font-size:1em !important;}body{font-family:Arial, sans-serif !important;color:#606060 !important;font-size:inherit !important;margin:0px;padding:0px;margin-top:0px;height:100%;}.homePageBg{background:#fff ;}.secondaryPageBg{background:#fff ;}FORM{display:inline !important;}H1:not(.ignore-site-layout-styles h1), H2:not(.ignore-site-layout-styles h2), H3:not(.ignore-site-layout-styles h3), H4:not(.ignore-site-layout-styles h4), H5:not(.ignore-site-layout-styles h5){color:#084882 !important;font-family:Rajdhani, sans-serif !important; font-weight: 600 !important;font-size:2.250em !important;}a:not(.ignore-site-layout-styles a), a:visited:not(.ignore-site-layout-styles a){color:#084882 !important;font-weight:normal; text-decoration:none !important;}a:hover:not(.ignore-site-layout-styles a){text-decoration:none !important;color:#329AC3 !important;}A:active{outline:none !important;}:focus{-moz-outline-style:none !important;}LI{margin-bottom:8px !important;}.pageDiv{height:auto !important; height:100%;min-height:100%;margin:0 auto;}.secondaryPageDiv{height:auto !important; height:100%;min-height:100%;margin:0 auto;}
51.footer, .footer:hover, .footer:visited{color:#606060 !important;font-size:.9em !important;}.main1ColumnWidth h1, .main1ColumnWidth h2, .main1ColumnWidth h3{color:#084882 ;font-family:Rajdhani, sans-serif !important; font-weight: 600;font-size:2.250em;}.main1ColumnWidth a{color:#084882 ;font-weight:normal; text-decoration:none;}.main1ColumnWidth a:hover{text-decoration:none;color:#329AC3 ;}.secondaryMain1ColumnWidth h1, .secondaryMain1ColumnWidth h2, .secondaryMain1ColumnWidth h3{color:#084882 ;font-family:Rajdhani, sans-serif !important; font-weight: 600;font-size:2.250em;}.secondaryMain1ColumnWidth a{color:#084882 ;font-weight:normal; text-decoration:none;}.secondaryMain1ColumnWidth a:hover{text-decoration:none;}.paddingSmall{padding:5px;}.paddingMedium{padding:10px;}.paddingLarge{padding:20px;}.paddingXLarge{padding:30px;padding-top:20px;} .btnViewCart { cursor: pointer; color: rgb(255, 255, 255); font-size: 16px; padding: 5px; text-shadow: 0px -1px 0px rgba(30, 30, 30, 0.8); -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; background: rgb(40, 40, 40); background: -moz-linear-gradient(90deg, rgb(40, 40, 40) 30%, rgb(84, 84, 84) 70%); background: -webkit-linear-gradient(90deg, rgb(40, 40, 40) 30%, rgb(84, 84, 84) 70%); background: -o-linear-gradient(90deg, rgb(40, 40, 40) 30%, rgb(84, 84, 84) 70%); background: -ms-linear-gradient(90deg, rgb(40, 40, 40) 30%, rgb(84, 84, 84) 70%); background: linear-gradient(0deg, rgb(40, 40, 40) 30%, rgb(84, 84, 84) 70%); -webkit-box-shadow: 0px 2px 1px rgba(130, 130, 130, 0.75); -moz-box-shadow: 0px 2px 1px rgba(130, 130, 130, 0.75); box-shadow: 0px 2px 1px rgba(130, 130, 130, 0.75); border-bottom: 2px solid #000; border-left: 2px solid #333; border-right: 2px solid #333; border-top: 2px solid #333; }@media (max-width: 767px) {.navbar-default {background-color: #084882 ;}.navbar-default .navbar-collapse, .navbar-default .navbar-form {border: 0px;}}.dlgWaitList > .ui-dialog-titlebar {background: #f2f2f2 !important;font-size: 16px;font-family: "Arial";color: #515151;text-transform: uppercase;font-weight: 700;border: 0px;}.dlgWaitList > .ui-dialog-titlebar > .ui-dialog-titlebar-close {background: #f2f2f2 !important;border: 0px;}.dlgWaitList #overlayWaitListForm {padding: 0px;}.dlgWaitList .form-container {margin: 25px;}.dlgWaitList .form-input {-webkit-border-radius: 3px;border-radius: 3px;width: 100%;font-size: 14px;font-family: "Arial";border: 1px solid #d7d8dd;padding: 10px;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}.dlgWaitList .form-title {font-size: 14px;font-family: "Arial";color: #9c9c9c;margin-bottom: 5px;}.dlgWaitList .product-name {font-size: 14px;font-family: "Arial";color: #515151;font-weight: 700;}.dlgWaitList .glyphicon .glyphicon-remove {font-size: 16px;}.dlgWaitList .form-row {margin-bottom: 25px;}.dlgWaitList .wait-list-btn {color: #fff;padding: 10px;font-family: "Arial";text-align: center;display: block;width: 100%;background-color: #5bc050;border: none;-webkit-border-radius: 3px;border-radius: 3px;}.dlgWaitList .wait-list-btn:hover {background-color: #4BB340;}.dlgWaitList input:focus {color:#515151;}.component-header { position: relative;}.editor-controls-new { z-index: 1000; position: absolute;}.body-content, .header-content { display: grid; grid-template-columns: repeat(12, 1fr); width: 100%;}[data-column-id="body"], [data-column-id="header"], [data-column-id="footer"], .header-content >div, .body-content >div, .bgFooter > div { grid-column: span 12; min-width: 0; width: 100%;}/* Mobile Grid Breakpoints */@media (max-width: 767px) { div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-half, div.span-7, div.span-8, div.span-three-fourths, div.span-10, div.span-11 { grid-column: span 12; } div.span-full { grid-column: span 12; }}@media (min-width: 768px) and (max-width: 991px) { div.span-1 { grid-column: span 3; } div.span-2 { grid-column: span 4; } div.span-3 { grid-column: span 6; } div.span-4 { grid-column: span 6; } div.span-5 { grid-column: span 8; } div.span-half, div.span-6 { grid-column: span 12; } div.span-7, div.span-8, div.span-three-fourths, div.span-10, div.span-11, div.span-full { grid-column: span 12; }}@media (min-width: 992px) { div.span-1 { grid-column: span 1; } div.span-2 { grid-column: span 2; } div.span-fourth { grid-column: span 3; } div.span-third { grid-column: span 4; } div.span-5 { grid-column: span 5; } div.span-half { grid-column: span 6; } div.span-7 { grid-column: span 7; } div.span-two-thirds { grid-column: span 8; } div.span-three-fourths { grid-column: span 9; } div.span-10 { grid-column: span 10; } div.span-11 { grid-column: span 11; } div.span-full { grid-column: span 12; }}.vue-component-row.container-fluid { width: 100%;}.grid-item.span-1 .container,.grid-item.span-2 .container,.grid-item.span-fourth .container,.grid-item.span-third .container,.grid-item.span-5 .container,.grid-item.span-half .container,.grid-item.span-7 .container,.grid-item.span-two-thirds .container,.grid-item.span-three-fourths .container,.grid-item.span-10 .container,.grid-item.span-11 .container,.grid-item.span-full .container { width: 100%;}@media (min-width: 768px) { div[data-column-id].new.container { width: 750px; padding-right: 0; padding-left: 0; }}@media (min-width: 992px) { div[data-column-id].new.container { width: 970px; padding-right: 0; padding-left: 0; }}@media (min-width: 1200px) { div[data-column-id].new.container { width: 1170px; padding-right: 0; padding-left: 0; }}#waitlist-wrapper .product-add-waitlist { 52 border-radius: 4px!important; 53 border: 1px solid #ddd!important; 54 background: #FC971F!important; 55 display: block!important; 56 padding: 16px!important; 57 font-family: Roboto, sans-serif; 58 font-size: 14px!important; 59 font-style: normal; 60 font-weight: 400; 61 line-height: normal; 62 letter-spacing: 0.28px; 63 height: 50px!important; 64 color: #fff!important; 65} 66 67#waitlist-wrapper .product-add-waitlist:hover { 68 border-radius: 4px!important; 69 border: 1px solid #ddd!important; 70 background: #FC971F!important; 71 cursor: pointer; 72 text-decoration: underline!important; 73} 74 75 76 </style> 77 <link href="//fonts.googleapis.com/css?family=Rajdhani:400,600,700" rel="stylesheet"> 78<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> 79 80<!-- phone insertion script begins --> 81 82 83<!-- phone insertion script ends --> 84 85 86 87 88 89 90
90<script attr="nomove" async src="https://www.googletagmanager.com/gtag/js?id=1624869"></script>
90<script attr="nomove"> 91 window.dataLayer = window.dataLayer || []; 92 function gtag(){dataLayer.push(arguments);} 93 gtag('js', new Date()); 94 gtag('config', '1624869'); 95</script>
95 96 97<!-- Facebook Pixel Code -->
98<script attr='nomove'>
vendor: 417 bytes, lines 98-107
98 99 !function(f,b,e,v,n,t,s) 100 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 101 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 102 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 103 n.queue=[];t=b.createElement(e);t.async=!0; 104 t.src=v;s=b.getElementsByTagName(e)[0]; 105 s.parentNode.insertBefore(t,s)}(window, document,'script', 106 'https://connect.facebook.net/en_US/fbevents.js'); 107 fbq('init', '
107343913853729620
vendor: 32 bytes, lines 107-108
107'); 108 fbq('track', 'PageView');
109</script>
109 110<noscript><img height="1" width="1" style="display:none" 111 src="https://www.facebook.com/tr?id=343913853729620&ev=PageView&noscript=1" 112/></noscript> 113<!-- End Facebook Pixel Code --> 114 115 116 <style> 117 /* NEWSLETTER CSS */ 118.btnNewsletterSignup { 119 background:#084882 ; 120 color:#fff !important; 121 border: 1px solid #084882 ; 122} 123 124/* FEATURED CATEGORY CSS */ 125.featuredCategoryTitle { 126 background: #084882 !important; 127} 128.featuredCategoryTitle a { 129 color:#fff !important; 130} 131 132/* MISC CSS */ 133.white-text { 134 color:#fff !important; 135} 136 137.white-text a { 138 color:#fff !important; 139} 140 141.b-margin { 142 margin-bottom:15px; 143} 144 145/* SERVICE BOX */ 146.service-box { 147 border: 1px solid #dfdfdf; 148 border-bottom: 10px solid #dfdfdf; 149 padding-bottom: 7px; 150} 151 152.box-heading { 153 font-size: 0.750em !important; 154} 155 156/* FOOTER CSS */ 157.foot-ul li { 158 border-bottom:1px dotted #dfdfdf; 159 margin-bottom: 5px !important; 160 padding-bottom: 5px; 161 border-bottom: 1px dotted #dfdfdf; 162} 163 164.foot-text a{ 165 color: #606060 !important; 166} 167 168 169/* FIVE COLUMN CSS */ 170.col-xs-15, 171.col-sm-15, 172.col-md-15, 173.col-lg-15 { 174 position: relative; 175 min-height: 1px; 176 padding-right: 10px; 177 padding-left: 10px; 178} 179.col-xs-15 { 180 width: 100%; 181 float: left; 182} 183@media (min-width: 768px) { 184.col-sm-15 { 185 width: 20%; 186 float: left; 187 } 188} 189@media (min-width: 992px) { 190 .col-md-15 { 191 width: 20%; 192 float: left; 193 } 194} 195@media (min-width: 1200px) { 196 .col-lg-15 { 197 width: 20%; 198 float: left; 199 } 200} 201 202.top-bar { 203 background-color: #606060 } 204 205.top-bar .fa { 206 font-size: 1.1em; 207 color: #fff } 208 209.top-link {} 210 211.header-main { 212 background-color: #084882 } 213 214.glyphicon.glyphicon-search { 215 background: none; 216 border: none; 217 color: #606060; 218 font-size: 18px } 219 220.header-main .social { 221 margin-top: 15px; 222 margin-bottom: 10px } 223 224.social .fa { 225 font-size: 1.75em; 226 color: #fff } 227 228.social .fa:hover { 229 color: #606060 } 230 231.top-bar { 232 background-color: #606060 } 233 234.top-link {} 235 236.header-main { 237 background-color: #084882 } 238 239.glyphicon.glyphicon-search { 240 background: none; 241 border: none; 242 color: #606060; 243 font-size: 18px } 244 245.header-main .social { 246 margin-top: 15px; 247 margin-bottom: 5px } 248 249.social .fa { 250 font-size: 1.75em; 251 color: #fff } 252 253.social .fa:hover { 254 color: #606060 } 255 256.newsletter-main { 257 background-position: center; 258 background-image: url(https://media.rainpos.com/4195/dollarphotoclub_78472249.jpg); 259 background-repeat: no-repeat; 260 max-width: 1170px; 261 margin: 0px auto } 262 263.foot-text { 264 border-bottom: 1px solid #ccc; 265 border-top: 1px solid #ccc } 266 267.foot-text .fa { 268 color: #084882 ; 269 font-size: 1.75em } 270 271 </style> 272
272<script attr="nomove" type="text/javascript"> 273 var themeClass = "theme-default"; 274var knobby = {"bin_location":false,"bulk":true,"module_canonical":true,"customer_notes":false,"dumbbell_labels":true,"email_customization":true,"layaway":true,"newsletter_archive":true,"polls":false,"product_download":true,"product_form":true,"product_kit":true,"product_offline_reserve":true,"product_serialized":true,"allow_subscriptions_settings":true,"product_suggested":true,"product_transfer":true,"product_wait_list":true,"product_yards":true,"quotes":true,"repairs":true,"rto_school_info":false,"services":true,"so":true,"packages":true,"till_quick_pick":false,"taxjar":false,"shopify":false,"web_checkout":true,"website_file_upload":true,"website_forms":true,"website_customer_directory":true,"website_store_locator":true,"scuba_store":false,"module_website":true,"module_email":true,"module_products":true,"module_classes":true,"module_packages":true,"module_class_packages":false,"module_enhancedCategoryPage":true,"module_pos":true,"module_spreadsheetUpload":true,"module_wholesaleLogin":false,"module_designWall":false,"module_facebookFeatures":true,"module_gallery":true,"module_allcosts":false,"module_rental":true,"module_txtMsg":true,"module_rto":true,"module_inventory_turn":false,"module_reverb":false,"module_social":true,"module_mobile":false,"module_vantiv":true,"module_marketing":true,"module_marketingReviews":true,"module_bin_location":false,"module_ssi":false,"module_use_ssi_sandbox":false,"module_backorders":false,"module_gst":false,"module_online_canada_tax":false,"module_order_location":false,"module_locally":false,"module_loans":false,"module_catalog_options":true,"module_check_duplicate_sn_store":true,"module_subscriptions":false,"module_layaway_reserve_logic":false,"module_purchase_contracts":false,"module_comment_sold":false,"module_customer_po_pos":false,"module_search_through_packrat":true,"module_participate_in_stashify":false,"module_customer_packrat_sync":false,"module_wholesale_shipping":false,"module_sellbrite":false,"module_calendarAdmin":false,"module_stashify_reporting":false,"module_support_tax_inclusive_pricing":false,"module_rto_overdue_statements_bulk_edit":false,"module_test_tu_on_prod":false,"module_trial_purchases":false,"module_rto_required_fields_simplified_customer_modal":false,"module_crmGroupsFlag":false,"module_avalara_tax_sandbox_mode":false,"module_add_other_payment_method":false,"module_online_account_management_enhancements":true,"on_all_stores_online_account_management_enhancements":true,"module_paypal_sandbox_mode":false,"module_great_plains_exports":false,"module_till_require_pin":false,"module_view_waive_rto_late_fee":false,"module_facebook_catalog_feed":false,"module_letter_management":false,"module_bye_pendo":false,"module_show_desc_for_till_line_item":false,"module_ebay_integration_flag":false,"module_ebay_sandbox":false,"module_invalid_cart_code":false,"module_shipping_carrier":false,"module_reconciliation":false,"module_weight_cost":false,"module_break_up_ccf_upload":false,"module_autopayment_rto_eod":false,"module_freeze_rto_tax":false,"module_ebay_sandbox_mock":false,"module_facebook_social_posts":false,"module_facebook_shop_integration":false,"module_honor_purchase_of_free_products_setting":false,"module_emails_v2_using_partials":false,"module_rental_inventory_from_products":false,"module_advanced_customer_search":false,"module_return_line_item_edit_icon":false,"module_reverb_orders_sync":false,"module_taxjar":false,"module_taxjar_sandbox":false,"module_recognize_rental_revenue":false,"module_rto_settings_fees":false,"module_finish_out_discount_on_po_ro":false,"module_show_customer_group_and_custom_id_in_till":false,"module_navbar_v2":true,"on_all_stores_navbar_v2":true,"module_pointy_slack_logging":false,"module_pointy_staging":false,"module_reconciliation_memory_size_exhausted":false,"module_printouts_min_height":false,"module_sell_free_online_order":true,"on_all_stores_sell_free_online_order":true,"module_trade_in_tax_calculating":false,"module_temp_till_address":false,"module_changing_price_in_consignment_contract":false,"module_rto_payments_show_to_left_eod":true,"on_all_stores_rto_payments_show_to_left_eod":true,"module_logging_incorrect_styled_product":false,"module_pslr_weighted_cost":false,"module_tax_profiles":true,"module_ignore_international_setting_for_non_shipping_items":false,"module_virtual_terminal_sync":true,"on_all_stores_virtual_terminal_sync":true,"module_fix_item_shows_as_available_on_web":false,"module_change-select-to-input-in-disassemble":false,"module_auth_capture_report_service_error":false,"module_paypal_subscription_only":false,"module_clientbook_sandbox_mode":false,"module_online_rto_zero":false,"module_ignore_empty_tax_rates":false,"module_craftalytics_feed":false,"module_fix_customer_overwriting":false,"module_log_interac_refund_attempts":false,"module_dumbbell_margin_between_f
274ix":false,"module_make_request_review_checkbox_on_by_default":false,"module_user-guiding":false,"module_big_company":false,"module_big_slack_logging":false,"module_nmi_emv_payments":false,"module_stone_management":false,"module_bulk_rental_billing_functions_on_rto_list":true,"module_dumbbell_1up_fix":false,"module_gift_registry_till_block":false,"module_change_barcode_type":false,"module_jewel_product_type":false,"module_appraisals_main_flag":false,"module_fix_empty_till_sales_tax_report_grouping":false,"module_spreadsheet_uploads_cant_allow_for_duplicate_sku":false,"module_omnichannel_integration":false,"module_display_single_line_item_for_identical_serialized_items_on_RO":false,"module_dont_show_completed_ro_when_ready_to_receive_filter_is_selected":false,"module_qbo_sandbox_mode":false,"module_fake_test_flag":false,"module_fake_test_flag_v2":true,"module_fix_serial_numbers_displayed_on_special_order_ticket_in_ro":false,"module_colorado_retail_delivery_fee":false,"module_remove_coupon_from_cart_if_deleted_and_throw_error":true,"on_all_stores_remove_coupon_from_cart_if_deleted_and_throw_error":true,"module_zpl_debug":false,"module_care_plans":false,"module_flag_backorders_for_rain_payments":false,"module_customer_po_adjust_wo_logic":false,"module_jm_slack_logging":false,"module_jm_sandbox":false,"module_product_page_redesign":false,"module_respect_serialized_condition_for_website_enhanced_view":false,"module_flag_craftalytics_export_item_weight":false,"module_jm_insurance":false,"module_remove_lane_info_from_non_worldpay":false,"module_flag_add_categories_automatically_in_product_upload":true,"on_all_stores_flag_add_categories_automatically_in_product_upload":true,"module_disable_db_log_usage":true,"on_all_stores_disable_db_log_usage":true,"module_flag_migration_upload_score_card":false,"module_refactor_online_rto_price_code":false,"module_fix_custom_field_date_validator":true,"on_all_stores_fix_custom_field_date_validator":true,"module_fix_merge_serial_numbers":false,"module_rto_order_line_details":false,"module_allow_fallback_to_wp_tokens":false,"module_flag_migrate_invoice_customer_by_external_id":true,"on_all_stores_flag_migrate_invoice_customer_by_external_id":true,"module_fix_items_quantity_for_so":false,"module_flag_test_subscription_email_store_logo":false,"module_fix_product_info_modal":false,"module_stripe_accounts_per_location":false,"module_vendor_integration_sandbox":false,"module_flag_google_analytics_v4":false,"module_mapping_clientbook_associates":true,"on_all_stores_mapping_clientbook_associates":true,"module_rental_auto_reminder_on":false,"module_fix_order_note_for_sub_and_rental_payments":true,"on_all_stores_fix_order_note_for_sub_and_rental_payments":true,"module_adyen_accounts_per_location":false,"module_assemble_disassemble":false,"module_system_callout_for_reports":false,"module_lock_transaction_save":true,"on_all_stores_lock_transaction_save":true,"module_custom_labels_templates_in_print_modal":true,"module_open_ai_long_description":true,"on_all_stores_open_ai_long_description":true,"module_po_export_fix_comma":false,"module_fix_signup_disappear_after_customer_added_register":false,"module_avalara_tax_code_issue":false,"module_inventory_history_fix_other_event_when_sn_removed":true,"on_all_stores_inventory_history_fix_other_event_when_sn_removed":true,"module_item_filters_dollar_off_coupons":false,"module_flag_set_date_received_from_new_product_upload":true,"on_all_stores_flag_set_date_received_from_new_product_upload":true,"module_prevent_close_on_print":false,"module_rto_autopay_improvements_issue_indicator":false,"module_handle_serialized_line_item_upload_migrated_option_id":true,"on_all_stores_handle_serialized_line_item_upload_migrated_option_id":true,"module_stripe_send_level_3_data":true,"on_all_stores_stripe_send_level_3_data":true,"module_fix_previous_payments_for_multiple_contracts":true,"on_all_stores_fix_previous_payments_for_multiple_contracts":true,"module_locations_in_scheduled_sale":false,"module_fix_send_to_list_validation_schedule_email":false,"module_toggle_product_page_version":true,"on_all_stores_toggle_product_page_version":true,"module_allow_super_admin_download_ext_customer_id":true,"on_all_stores_allow_super_admin_download_ext_customer_id":true,"module_smaller_pslr_status_updates":true,"on_all_stores_smaller_pslr_status_updates":true,"module_add_customer_id_type_transaction_upload":true,"on_all_stores_add_customer_id_type_transaction_upload":true,"module_send_mix_panel_event_on_zipcode_change_web_checkout":false,"module_locally_push2cart_integration":false,"module_beta_features_feedback":true,"on_all_stores_beta_features_feedback":true,"module_quick_assemble":false,"module_verify_payment_id":true,"on_all_stores_verify_payment_id":true,"module_layaway_migration":false,"module_send_mixpanel_event_on_mms_customer_disconnect":false,"module_improved_waitlist":true,"on_all_stores_improved_waitlist":true,"module_use_amex_pricing":true,"on_all_stores_use_amex_pricing":true,"module_additional_settings_custom_tenders":true,"on_all_stores_additional_settings_custom_tenders":true,"module_nps_page_v2":true,"on_all_stores_nps_page_v2":true,"module_set_store_id_for_transaction_if_has_value":false,"module_deprecate_on_account":true,"on_all_stores_deprecate_on_account":true,"module_restricted_login":false,"module_eod_summary_v2":true,"on_all_stores_eod_summary_v2":true,"module_enhanced_interrogation_techniques":false,"module_work_orders_current_store_location_id":true,"on_all_stores_work_orders_current_store_location_id":true,"module_prevent_utf8_in_header_columns":true,"on_all_stores_prevent_utf8_in_header_columns":true,"module_gia_sandbox":false,"module_edit_appraisals":true,"on_all_stores_edit_appraisals":true,"module_fix_edit_appraisal_template":true,"on_all_stores_fix_edit_appraisal_template":true,"module_slack_notification_when_store_connects_clientbook":true,"on_all_stores_slack_notification_when_store_connects_clientbook":true,"module_fix_image_upload_invalid_extension":false,"module_show_warning_if_no_price_for_new_consignment_items":false,"module_fix_sorting_by_technician_in_wo":true,"on_all_stores_fix_sorting_by_technician_in_wo":true,"module_fix_deleting_main_image_from_all_products":true,"on_all_stores_fix_deleting_main_image_from_all_products":true,"module_respect_classes_setting_in_all_places":true,"on_all_stores_respect_classes_setting_in_all_places":true,"module_markup_pricing_flag":true,"on_all_stores_markup_pricing_flag":true,"module_image_inventory_velocity_report":true,"on_all_stores_image_inventory_velocity_report":true,"module_gia_slack_logging":false,"module_category_issue_new_pp":true,"on_all_stores_category_issue_new_pp":true,"module_fix_wo_tags":true,"on_all_stores_fix_wo_tags":true,"module_beta_product_feedback_report":true,"on_all_stores_beta_product_feedback_report":true,"module_check_duplication_upc_mfr_id":true,"on_all_stores_check_duplication_upc_mfr_id":true,"module_product_page_fix_tax_clearing":true,"on_all_stores_product_page_fix_tax_clearing":true,"module_nps_report_list_update":true,"on_all_stores_nps_report_list_update":true,"module_custom_zpl_tools":false,"module_print_note_wo_items":true,"on_all_stores_print_note_wo_items":true,"module_facet_fields_order_web_fix":true,"on_all_stores_facet_fields_order_web_fix":true,"module_po_clear_date_issue":true,"on_all_stores_po_clear_date_issue":true,"module_email_cleanup_script_banner":false,"module_unsaved_inventory_warnings":false,"module_fix_appraisal_item_on_close"
274:true,"on_all_stores_fix_appraisal_item_on_close":true,"module_404_on_bogus_category_url":true,"on_all_stores_404_on_bogus_category_url":true,"module_fix_backspace_till_card_payment":true,"on_all_stores_fix_backspace_till_card_payment":true,"module_beta_feedback_to_use_index_db":true,"on_all_stores_beta_feedback_to_use_index_db":true,"module_setting_for_default_website_sorting_option":true,"on_all_stores_setting_for_default_website_sorting_option":true,"module_marketplaces_slowdown_fix":true,"on_all_stores_marketplaces_slowdown_fix":true,"module_slack_notification_when_store_disconnects_clientbook":true,"on_all_stores_slack_notification_when_store_disconnects_clientbook":true,"module_confirm_opt_in_email":true,"on_all_stores_confirm_opt_in_email":true,"module_suggest_feature_modal_email_fix":true,"on_all_stores_suggest_feature_modal_email_fix":true,"module_better_coupons":true,"on_all_stores_better_coupons":true,"module_fix_saving_variant_pictures_on_npp":true,"on_all_stores_fix_saving_variant_pictures_on_npp":true,"module_edit_component_vue":false,"module_generate_seo":true,"on_all_stores_generate_seo":true,"module_show_prop_65_warning_setting":true,"on_all_stores_show_prop_65_warning_setting":true,"module_line_totals_add_invoice_payment_and_store_credit":true,"on_all_stores_line_totals_add_invoice_payment_and_store_credit":true,"module_manage_301_redirects":true,"on_all_stores_manage_301_redirects":true,"module_layaway_remaining_balance_fix":true,"on_all_stores_layaway_remaining_balance_fix":true,"module_apply_all_reward_coupons_fix":true,"on_all_stores_apply_all_reward_coupons_fix":true,"module_fix_shipping_method_dropdown_in_orders_module":false,"module_mms_payment_warning_flag":false,"module_increase_default_image_size_wo_form_style":true,"on_all_stores_increase_default_image_size_wo_form_style":true,"module_fix_pslr_images":true,"on_all_stores_fix_pslr_images":true,"module_barcode_printing_location_issue":true,"on_all_stores_barcode_printing_location_issue":true,"module_refactoring_getting_piis_for_inventory_tab_on_npp":false,"module_inventory_summary_modal":true,"on_all_stores_inventory_summary_modal":true,"module_omnichannel_respect_data_source":true,"on_all_stores_omnichannel_respect_data_source":true,"module_luxsurance_sandbox":false,"module_luxsurance_functionality":false,"module_luxsurance_logging_in_slack":false,"module_speed_up_locally_sync":true,"on_all_stores_speed_up_locally_sync":true,"module_Jewelers_for_children_slack_logging":true,"on_all_stores_Jewelers_for_children_slack_logging":true,"module_so_care_plan_zero_payment_issue":true,"on_all_stores_so_care_plan_zero_payment_issue":true,"module_care_plans_sale_price_issue":true,"on_all_stores_care_plans_sale_price_issue":true,"module_fix_product_page_width_issue":true,"on_all_stores_fix_product_page_width_issue":true,"module_web_link_text_editor_issue":true,"on_all_stores_web_link_text_editor_issue":true,"module_fix_rto_loading_due_to_cookie":true,"on_all_stores_fix_rto_loading_due_to_cookie":true,"module_fix_rental_account_statement_past_dues":true,"on_all_stores_fix_rental_account_statement_past_dues":true,"module_fix_barcode_location_modal":true,"on_all_stores_fix_barcode_location_modal":true,"module_product_placeholder_flag":true,"on_all_stores_product_placeholder_flag":true,"module_print_before_save_from_opp_modal":true,"on_all_stores_print_before_save_from_opp_modal":true,"module_ro_duplicate_barcodes_fix":true,"on_all_stores_ro_duplicate_barcodes_fix":true,"module_save_luxsurance_insurance_info_after_reloading":false,"module_initial_save_for_new_product_on_the_old_product_page":true,"on_all_stores_initial_save_for_new_product_on_the_old_product_page":true,"module_increase_image_size_wo_print":true,"on_all_stores_increase_image_size_wo_print":true,"module_reorder_components":true,"on_all_stores_reorder_components":true,"module_remove_business_name_on_receipts":false,"module_handle_interac_with_adyen":true,"on_all_stores_handle_interac_with_adyen":true,"module_bnb_tmp_files":true,"on_all_stores_bnb_tmp_files":true,"module_user_timeout":true,"on_all_stores_user_timeout":true,"module_set_default_printer_to_barcode_printer_modal":true,"on_all_stores_set_default_printer_to_barcode_printer_modal":true,"module_fix_product_dimensions":true,"on_all_stores_fix_product_dimensions":true,"module_markup_pricing_send_mixpanel_event":true,"on_all_stores_markup_pricing_send_mixpanel_event":true,"module_ro-ai-upload":true,"on_all_stores_ro-ai-upload":true,"module_stones_facets":true,"on_all_stores_stones_facets":true,"module_so_fix_remaining_balance":true,"on_all_stores_s
274o_fix_remaining_balance":true,"module_restore_school_delivery_shipping_option":false,"module_log_everything_sent_to_luxsurance":false,"module_kinder_return_growl_message":true,"on_all_stores_kinder_return_growl_message":true,"module_transfer_permissions":true,"on_all_stores_transfer_permissions":true,"module_fix_opening_product_page_from_website_categories":true,"on_all_stores_fix_opening_product_page_from_website_categories":true,"module_hide_jewelers_for_children_notifications_from_store_with_stripe":true,"on_all_stores_hide_jewelers_for_children_notifications_from_store_with_stripe":true,"module_product_page_builder":true,"on_all_stores_product_page_builder":true,"module_show_bin_location_ids":true,"on_all_stores_show_bin_location_ids":true,"module_work_order_custom_signature":true,"on_all_stores_work_order_custom_signature":true,"module_refactoring_wo_settings_tab":true,"on_all_stores_refactoring_wo_settings_tab":true,"module_stone_custom_label":true,"on_all_stores_stone_custom_label":true,"module_query_builder_for_so":true,"on_all_stores_query_builder_for_so":true,"module_fix_upload_image_by_upc_mfr_id":true,"on_all_stores_fix_upload_image_by_upc_mfr_id":true,"module_add_bin_location_column_spreadsheet":true,"on_all_stores_add_bin_location_column_spreadsheet":true,"module_saving_loose_stone_from_catalog":true,"on_all_stores_saving_loose_stone_from_catalog":true,"module_fix_scheduled_sale_does_not_delete_original_prices":true,"on_all_stores_fix_scheduled_sale_does_not_delete_original_prices":true,"module_adyen_send_level_3_data":true,"on_all_stores_adyen_send_level_3_data":true,"module_fix_ro_condition_inventory":true,"on_all_stores_fix_ro_condition_inventory":true,"module_blue_book_flag":false,"module_upload_fix_pslr_without_product_id":true,"on_all_stores_upload_fix_pslr_without_product_id":true,"module_edit_stone_details_spreadsheet":true,"on_all_stores_edit_stone_details_spreadsheet":true,"module_vendor_markup_flag":true,"on_all_stores_vendor_markup_flag":true,"module_searching_only_stone_for_loose_stone":false,"module_fix_images_old_new_product_page":true,"on_all_stores_fix_images_old_new_product_page":true,"module_loose_stone_in_po_ro":true,"on_all_stores_loose_stone_in_po_ro":true,"module_large_images_in_reg":true,"on_all_stores_large_images_in_reg":true,"module_bad_emails":true,"on_all_stores_bad_emails":true,"module_validate_imported_rto_payment_amount_with_interest":true,"on_all_stores_validate_imported_rto_payment_amount_with_interest":true,"module_expand_collapse_web_filters":true,"on_all_stores_expand_collapse_web_filters":true,"module_fix_bootstrap_switch_circle":true,"on_all_stores_fix_bootstrap_switch_circle":true,"module_bin_location_bulk_messaging":false,"module_fix_ecomm_canada_tax":true,"on_all_stores_fix_ecomm_canada_tax":true,"module_fix_inventory_save_new_product_page":true,"on_all_stores_fix_inventory_save_new_product_page":true,"module_add_serial_number_to_wo_custom_message":true,"on_all_stores_add_serial_number_to_wo_custom_message":true,"module_sales_details_report_integration_filter":true,"on_all_stores_sales_details_report_integration_filter":true,"module_fix_invoice_online_line_item_summary":true,"on_all_stores_fix_invoice_online_line_item_summary":true,"module_add_stripe_to_payment_success_worker":true,"on_all_stores_add_stripe_to_payment_success_worker":true,"module_update_to_captcha_v3":false,"module_adyen_send_level_3_data_auth_capture":true,"on_all_stores_adyen_send_level_3_data_auth_capture":true,"module_copy_super_user":true,"on_all_stores_copy_super_user":true,"module_report_permissions":true,"on_all_stores_report_permissions":true,"module_metal_pricing":false,"module_service_shadow_rows_wo":false,"module_fix_empty_bin_location_spreadsheet":true,"on_all_stores_fix_empty_bin_location_spreadsheet":true,"module_adjust_shopify_unlimited_logic":false,"module_metal_pricing_error_slack_logging":false,"module_metal_pricing_log_everything_sent":false,"module_metal_pricing_sandbox":false,"module_featured_features_v2":true,"on_all_stores_featured_features_v2":true,"module_fix_worker_order_wont_print_null_target_date":true,"on_all_stores_fix_worker_order_wont_print_null_target_date":true,"module_disable_express_checkout":false,"module_allow_phone_email_manual_card_entry":true,"on_all_stores_allow_phone_email_manual_card_entry":true,"module_fix_appraisal_print_preview_displaying":true,"on_all_stores_fix_appraisal_print_preview_displaying":true,"module_address_export_fields":true,"on_all_stores_address_export_fields":true,"module_new_pp_optimize":true,"on_all_stores_new_pp_optimize":true,"module_care_plans_in_special_orders":true,"on_all_stores_care_plans_in_special_orders":true,"module_avs_ecommerce":true,"on_all_stores_avs_ecommerce":true,"module_wo_claim_ticket_till_fix":true,"on_all_stores_wo_claim_ticket_till_fix":true,"module_wo_rename_add_to_register_button":true,"on_all_stores_wo_rename_add_to_register_button":true,"module_default_class_page_v2":true,"on_all_stores_default_class_page_v2":true,"module_alert_print_ro_custom_template_no_vend
274or":true,"on_all_stores_alert_print_ro_custom_template_no_vendor":true,"module_fix_gtag_purchase_event_vars":true,"on_all_stores_fix_gtag_purchase_event_vars":true,"module_allow_no_sn_in_loose_stone":true,"on_all_stores_allow_no_sn_in_loose_stone":true,"module_fix_saving_loose_stone_inventory":true,"on_all_stores_fix_saving_loose_stone_inventory":true,"module_po_upload_files_ai":false,"module_delayed_mixpanel_event":true,"on_all_stores_delayed_mixpanel_event":true,"module_website_page_code":true,"on_all_stores_website_page_code":true,"module_stop_serialized_switching_old_pp":true,"on_all_stores_stop_serialized_switching_old_pp":true,"module_material_fix_class_v2":true,"on_all_stores_material_fix_class_v2":true,"module_parafin_ad":false,"module_respect_custom_tenders_order_in_tenders_by_till":true,"on_all_stores_respect_custom_tenders_order_in_tenders_by_till":true,"module_date_range_filter_for_aging_report":true,"on_all_stores_date_range_filter_for_aging_report":true,"module_default_sales_representative":true,"on_all_stores_default_sales_representative":true,"module_add_flat_rate_to_consignor":true,"on_all_stores_add_flat_rate_to_consignor":true,"module_parafin_sandbox":false,"module_rental_contracts_paypal_method":false,"module_rto_ecom_tab_rrr":false,"module_independent_scrolling_on_web":false,"module_geller_blue_book_work_order":false,"module_fix_wo_take_deposit_redirect":true,"on_all_stores_fix_wo_take_deposit_redirect":true,"module_stop_deleting_resumed_transactions":true,"on_all_stores_stop_deleting_resumed_transactions":true,"module_tag_in_work_order_list":true,"on_all_stores_tag_in_work_order_list":true,"module_package_coupons":false,"module_scrap_metal_flag":false,"module_product_list_v2":false,"module_stone_mixpanel":false,"module_ship_to_school_for_non_rto_or_osr":true,"on_all_stores_ship_to_school_for_non_rto_or_osr":true,"module_fix_geller_prices":true,"on_all_stores_fix_geller_prices":true,"module_add_submit_workorder_online_feature":false,"module_show_aim_data_in_customer_account":false,"module_blog_module":true,"on_all_stores_blog_module":true,"module_comparison_report":true,"on_all_stores_comparison_report":true,"module_allow_users_to_edit_product_in_till":false,"module_inventory_report_refactoring":false,"module_fix_utf_response_issue":false,"module_product_metal_info":false,"module_social_media_manager":false,"module_job_condition_field_for_work_order":false,"module_in_classes_not_able_to_add_required_material":false,"module_new_pii_for_kit_assembly":true,"on_all_stores_new_pii_for_kit_assembly":true,"module_display_sn_for_trade_in":false,"module_fix_locally_payment_nonce_reset":false,"module_fix_sold_column_in_product_inventory_page":true,"on_all_stores_fix_sold_column_in_product_inventory_page":true,"module_disable_vue_parsing_for_description":false,"module_so_print_ticket_receipt":true,"on_all_stores_so_print_ticket_receipt":true,"module_mixpanel_active_no_demo_store":false,"module_rental_enable_auto_pay_on_card":true,"on_all_stores_rental_enable_auto_pay_on_card":true,"module_merge_product_information_with_discount_to_pop_up":false,"module_marketing_email_not_sending_to_all_recipients":false,"module_allow_batch_actions_for_line_discounts":true,"on_all_stores_allow_batch_actions_for_line_discounts":true,"module_rental_double_charge_log":false,"module_fix_incorrect_next_payment_amount_for_rental":true,"on_all_stores_fix_incorrect_next_payment_amount_for_rental":true,"module_add_local_delivery_tab":false,"module_fix_ipad_print_second_page":true,"on_all_stores_fix_ipad_print_second_page":true,"module_fix_modules_duplication":false,"module_domain_management_tool":false,"module_rto_custom_views_button":true,"on_all_stores_rto_custom_views_button":true,"module_fix_remaining_balances_incorrect_total":false,"module_custom_printer_margins":false,"module_bug_classes_cant_check_out_ecommerce":true,"on_all_stores_bug_classes_cant_check_out_ecommerce":true,"module_duplicate_rental_product":true,"on_all_stores_duplicate_rental_product":true,"module_new_kb_site_flag":true,"on_all_stores_new_kb_site_flag":true,"module_notes_template_option":true,"on_all_stores_notes_template_option":true,"module_add_tracking_number_to_purchase_order":true,"on_all_stores_add_tracking_number_to_purchase_order":true,"module_customer_wo_tab":true,"on_all_stores_customer_wo_tab":true,"module_osr_product_description_editor":true,"on_all_stores_osr_product_description_editor":true,"module_submit_special_order_from_wo_modal":false,"module_so_negative_deposits_till_fix":true,"on_all_stores_s
274o_negative_deposits_till_fix":true,"module_products_variants_order_on_save_fix":true,"on_all_stores_products_variants_order_on_save_fix":true,"module_end_of_day_v2_toggle":true,"module_edit_school_tooltip_text":true,"on_all_stores_edit_school_tooltip_text":true,"module_upc_duplicate_popup_items":false,"module_unable_to_save_when_editing_older_inventory":true,"on_all_stores_unable_to_save_when_editing_older_inventory":true,"module_fix_checkout_for_classes":true,"on_all_stores_fix_checkout_for_classes":true,"module_quick_edit":false,"module_customer_modal_work_order_tab_additional_changes":false,"module_osr_add_x_button_to_remove_optional_add_on":true,"on_all_stores_osr_add_x_button_to_remove_optional_add_on":true,"module_osr_add_progress_bar_for_osr_checkout":true,"on_all_stores_osr_add_progress_bar_for_osr_checkout":true,"module_wo_add_service_qty_change":false,"module_website_vue_use_one_lib_for_all_places":true,"on_all_stores_website_vue_use_one_lib_for_all_places":true,"module_osrs_print_terms_and_conditions":true,"on_all_stores_osrs_print_terms_and_conditions":true,"module_osr_rename_search_button_and_rework_logic":false,"module_remove_save_tracking_number_button_from_purchase_order":false,"module_glitch_online_orders_canadian_tax_missing":true,"on_all_stores_glitch_online_orders_canadian_tax_missing":true,"module_allow_search_for_school_district_steps":true,"on_all_stores_allow_search_for_school_district_steps":true,"module_user_login_report":false,"module_remove_vendor_integration_tab":true,"on_all_stores_remove_vendor_integration_tab":true,"module_bug_digital_download_with_class":true,"on_all_stores_bug_digital_download_with_class":true,"module_wo_view_comments_button":true,"on_all_stores_wo_view_comments_button":true,"module_care_plan_allow_refund_non_existent_sale":false,"module_confirm_to_delete_purchase_order":true,"on_all_stores_confirm_to_delete_purchase_order":true,"module_saved_cards_at_checkout":false,"module_fix_calculation_work_orders_in_remaining_balances":true,"on_all_stores_fix_calculation_work_orders_in_remaining_balances":true,"module_bin_location_removing_after_bulk_edit":true,"on_all_stores_bin_location_removing_after_bulk_edit":true,"module_product_verify_images_async":true,"on_all_stores_product_verify_images_async":true,"module_hide_shipping_tab":false,"module_fix_created_by_display_during_wo_creation":true,"on_all_stores_fix_created_by_display_during_wo_creation":true,"module_prevent_creating_ro_without_items_if_reladed_po_fully_received":true,"on_all_stores_prevent_creating_ro_without_items_if_reladed_po_fully_received":true,"module_bug_thermal_receipt_column_mismatch":false,"module_respect_product_add_to_cart_setting_in_enhanced_product_view":true,"on_all_stores_respect_product_add_to_cart_setting_in_enhanced_product_view":true,"module_adyen_region_failover":true,"on_all_stores_adyen_region_failover":true,"module_validate_customer_discount_column":true,"on_all_stores_validate_customer_discount_column":true,"module_checkout_rent_another_button":false,"module_shopify_margin_report":true,"on_all_stores_shopify_margin_report":true,"module_bug_welcome_email_after_opt_in":true,"on_all_stores_bug_welcome_email_after_opt_in":true,"module_add_ship_date_column_to_ordered_inventory_report":true,"on_all_stores_add_ship_date_column_to_ordered_inventory_report":true,"module_layaway_sales_rep":true,"on_all_stores_layaway_sales_rep":true,"module_paypal_extra_log":false,"module_ui_enhancements_in_product_information_modal":false,"module_user_able_to_issue_refund_without_permission":true,"on_all_stores_user_able_to_issue_refund_without_permission":true,"module_fix_misc_items_not_respecting_department_discount_eligibiltiy":true,"on_all_stores_fix_misc_items_not_respecting_department_discount_eligibiltiy":true,"module_fix_rto_total_due_in_print_template":true,"on_all_stores_fix_rto_total_due_in_print_template":true,"module_allow_multiple_versions_of_term_email_on_customer_upload_spreadsheet":true,"on_all_stores_allow_multiple_versions_of_term_email_on_customer_upload_spreadsheet":true,"module_add_quilt_auth_payment_from_reader_logs":false,"module_bug_paypal_shipping_price_not_updating":false,"module_fix_rto_serial_payment_schedule":true,"on_all_stores_fix_rto_serial_payment_schedule":true,"module_block_gift_card_pause_transaction":true,"on_all_stores_block_gift_card_pause_transaction":true,"module_bug_cannot_delete_saved_card_from_customer_profile":true,"on_all_stores_bug_cannot_delete_saved_card_from_customer_profile":true,"module_posthog_tracking_event":false,"module_fix_po_product_attributes":true,"on_all_stores_fix_po_product_attributes":true,"module_log_add_card_on_file_processing":false,"module_quick_assembled_product_transaction_pause":true,"on_all_stores_quick_assembled_product_transaction_pause":true,"module_service_description_wo_improvements":true,"on_all_stores_service_description_wo_improvements":true,"module_restrict_nonnumeric_characters_in_open_shift_modal":true,"on_all_stores_restrict_nonnumeric_characters_in_open_shift_modal":true,"module_fix_landscape_fs":false,"module_bug_eod_total_receipts_column_not_correct":true,"on_all_stores_bug_eod_total_receipts_column_not_correct":true,"module_bug_unable_to_void_invoice":true,"on_all_stores_bug_unable_to_void_invoice":true,"module_shopify_shipping_tax_total_fix":true,"on_all_stores_shopify_shipping_tax_total_fix":true,"module_email_signup_module":false,"module_apply_scheduled_sale_to_newly_eligible_products_after_it_starts":true,"on_all_stores_apply_scheduled_sale_to_newly_eligible_products_after_it_starts":true,"module_fix_pitr_tax_jurisdictions_dynamic_tax_rate":false,"module_fix_current_item_count_updating_for_sold_tbd_assign_serial_number":true,"on_all_stores_fix_current_item_count_updating_for_sold_tbd_assign_serial_number":true,"module_update_rental_collections_text":false,"module_fix_low_inventory_variant_products_purchase_queue":true,"on_all_stores_fix_low_inventory_variant_products_purchase_queue":true,"module_fix_product_label_price":true,"on_all_stores_fix_product_label_price":true,"module_fix_short_term_rentals_editing":true,"on_all_stores_fix_short_term_rentals_editing":true,"module_missing_so_relations":false,"module_customer_specific_payment_not_removing_from_register":false,"module_po_ro_form_style_not_responding":true,"on_all_stores_po_ro_form_style_not_responding":true,"module_print_ipad_fix":true,"on_all_stores_print_ipad_fix":true,"module_bug_jewelers_mutual_purchase_not_migrating_care_plan":false,"module_fix_calculation_store_credit_and_account_balances_with_invoicing_enabled":true,"on_all_stores_fix_calculation_store_credit_and_account_balances_with_invoicing_enabled":true,"module_cannot_view_terms_conditions_checkout_screen_address_info":true,"on_all_stores_cannot_view_terms_conditions_checkout_screen_address_info":true,"module_fix_transfer_items_search_order":true,"on_all_stores_fix_transfer_items_search_order":true,"module_metal_buy_unavailable_message":true,"on_all_stores_metal_buy_unavailable_message":true,"module_elastic_tracking_ssl_notice":true,"on_all_stores_elastic_tracking_ssl_notice":true,"module_qbo_retail_delivery_fee":true,"on_all_stores_qbo_retail_delivery_fee":true,"module_printing_multiple_serial_numbers_at_one_time_prints_the_oldest":true,"on_all_stores_printing_multiple_serial_numbers_at_one_time_prints_the_oldest":true,"module_fix_po_styles_for_product_with_existing_styles":true,"on_all_stores_fix_po_styles_for_product_with_existing_styles":true,"module_do_not_send_unnecessary_data_with_po":true,"on_all_stores_do_not_send_unnecessary_data_with_po":true,"module_fix_serialized_unlimited_inventory_concurrent":true,"on_all_stores_fix_serialized_unlimited_inventory_concurrent":true,"module_fix_bug_add_serialized_product_to_till_without_seri
274al_number":false,"module_fix_auto_increase_duplicate_product_quantity":true,"on_all_stores_fix_auto_increase_duplicate_product_quantity":true,"module_bug_cannot_add_alternate_lookup_on_product":true,"on_all_stores_bug_cannot_add_alternate_lookup_on_product":true,"module_comparison_report_scrolling":true,"on_all_stores_comparison_report_scrolling":true,"module_fix_label_price_zero_condition":true,"on_all_stores_fix_label_price_zero_condition":true,"module_fix_customer_modal_respects_wo_enabled_settings":false,"module_fix_serialized_inventory_batch_caching":true,"on_all_stores_fix_serialized_inventory_batch_caching":true,"module_add_delete_confirmation_popup_for_manage_serialized_inventory":true,"on_all_stores_add_delete_confirmation_popup_for_manage_serialized_inventory":true,"module_bug_product_page_filter_not_filtering_properly":true,"on_all_stores_bug_product_page_filter_not_filtering_properly":true,"module_disable_editing_if_paypal_is_used":false,"module_fix_nr_error_in_wishlist":true,"on_all_stores_fix_nr_error_in_wishlist":true,"module_fix_elastic_email_set_default_sender":true,"on_all_stores_fix_elastic_email_set_default_sender":true,"module_bug_reward_eligibility_defaults_to_on":true,"on_all_stores_bug_reward_eligibility_defaults_to_on":true,"module_validate_store_location_while_saving_wo":true,"on_all_stores_validate_store_location_while_saving_wo":true,"module_fix_price_manage_serialized_inventory":true,"on_all_stores_fix_price_manage_serialized_inventory":true,"module_fix_previous_payments_non_discountable_lines":true,"on_all_stores_fix_previous_payments_non_discountable_lines":true,"module_reverb_is_not_displaying_correct_inventory_accounts_ms360_integrated_products":true,"on_all_stores_reverb_is_not_displaying_correct_inventory_accounts_ms360_integrated_products":true,"module_shopify_refund_fallback":true,"on_all_stores_shopify_refund_fallback":true,"module_avg_margin_col_sales_details_report":true,"on_all_stores_avg_margin_col_sales_details_report":true,"module_pointy_status_request":true,"on_all_stores_pointy_status_request":true,"module_bug_payout_shift_report_duplicating_entries":true,"on_all_stores_bug_payout_shift_report_duplicating_entries":true,"module_fix_rounding_sales_tax_report":true,"on_all_stores_fix_rounding_sales_tax_report":true,"module_optimize_barcode_loading":true,"on_all_stores_optimize_barcode_loading":true,"module_fix_custom_tenders_shift_summary":true,"on_all_stores_fix_custom_tenders_shift_summary":true,"module_add_customer_search_to_work_order_bulk_edit":true,"on_all_stores_add_customer_search_to_work_order_bulk_edit":true,"module_wo_remaining_balance_quote":true,"on_all_stores_wo_remaining_balance_quote":true,"module_shopify_variant_level_refund_matching":true,"on_all_stores_shopify_variant_level_refund_matching":true,"module_sales_tax_report_add_shipping_sales_to_summary":false,"module_fix_update_transaction_timestamp_timezone":true,"on_all_stores_fix_update_transaction_timestamp_timezone":true,"module_fix_uuid_not_cleared_on_transaction_complete":true,"on_all_stores_fix_uuid_not_cleared_on_transaction_complete":true,"module_prohibit_digital_products_with_options":false,"module_fix_the_inventory_history_event_to_show_the_correct_area_and_event":false,"module_bug_serial_number_duplicating_on_product_page":true,"on_all_stores_bug_serial_number_duplicating_on_product_page":true,"module_fix_tailored_lists_not_saving_added_products":true,"on_all_stores_fix_tailored_lists_not_saving_added_products":true,"module_fix_same_payment_for_different_transactions":true,"on_all_stores_fix_same_payment_for_different_transactions":true,"module_export_to_qbo_vendor_consignment":true,"on_all_stores_export_to_qbo_vendor_consignment":true,"module_reverb_extend_marketplace_provider_get_orders":true,"on_all_stores_reverb_extend_marketplace_provider_get_orders":true,"module_fix_403_error_on_image_upload":true,"on_all_stores_fix_403_error_on_image_upload":true,"module_fix_rto_future_payments_proportion":true,"on_all_stores_fix_rto_future_payments_proportion":true,"module_communications_module_not_showing_emails":false,"module_disable_best_seller_report":false,"module_signature_only_on_store_copy_on_auto_print":true,"on_all_stores_signature_only_on_store_copy_on_auto_print":true,"module_bug_loose_stone_behavior_in_special_order":true,"on_all_stores_bug_loose_stone_behavior_in_special_order":true,"module_fix_subscription_invali
274d_card_marking":true,"on_all_stores_fix_subscription_invalid_card_marking":true,"module_fix_saving_product_modal_reorder_pslrs":true,"on_all_stores_fix_saving_product_modal_reorder_pslrs":true,"module_bug_service_add_to_group_button_is_missing":true,"on_all_stores_bug_service_add_to_group_button_is_missing":true,"module_skip_sold_sn_check_on_transaction_update":true,"on_all_stores_skip_sold_sn_check_on_transaction_update":true,"module_add_worker_options_to_transaction_alert_message":true,"on_all_stores_add_worker_options_to_transaction_alert_message":true,"module_bug_print_preview_missing_price_field_on_custom_label":true,"on_all_stores_bug_print_preview_missing_price_field_on_custom_label":true,"module_fix_eod_net_sales_previous_payments":false,"module_new_sl_transaction":true,"on_all_stores_new_sl_transaction":true,"module_blog_parse_fix":false,"module_shopify_respect_reserve_inventory_flag":true,"on_all_stores_shopify_respect_reserve_inventory_flag":true,"module_fix_work_order_markup":true,"on_all_stores_fix_work_order_markup":true,"module_comparison_report_search_functionality":true,"on_all_stores_comparison_report_search_functionality":true,"module_glitch_image_is_stuck_on_page":true,"on_all_stores_glitch_image_is_stuck_on_page":true,"module_show_print_proxy_help_message":true,"on_all_stores_show_print_proxy_help_message":true,"module_bug_sales_by_item_report_filtering":true,"on_all_stores_bug_sales_by_item_report_filtering":true,"module_clear_max_debit_value_from_previous_transaction":true,"on_all_stores_clear_max_debit_value_from_previous_transaction":true,"module_digital_download_save_in_original_product_view":false,"module_fix_rounding_adjustment_return":true,"on_all_stores_fix_rounding_adjustment_return":true,"module_bug_thermal_receipt_prints_tbd_sn":true,"on_all_stores_bug_thermal_receipt_prints_tbd_sn":true,"module_fix_short_term_rental_barcode_printing":true,"on_all_stores_fix_short_term_rental_barcode_printing":true,"module_fix_online_order_module_shipstation_shipping_method":false,"module_taxes_incorrect_after_credit_payment_but_correct_in_till":true,"on_all_stores_taxes_incorrect_after_credit_payment_but_correct_in_till":true,"module_bug_deposits_not_showing_during_osr_checkout":true,"on_all_stores_bug_deposits_not_showing_during_osr_checkout":true,"module_bug_transactions_selling_consignment_inventory_still_requiring_customer":true,"on_all_stores_bug_transactions_selling_consignment_inventory_still_requiring_customer":true,"module_rezo_integration":false,"module_fix_pay_at_pickup_giftcard_activation":true,"on_all_stores_fix_pay_at_pickup_giftcard_activation":true,"module_fix_rto_exchange_security_deposit":true,"on_all_stores_fix_rto_exchange_security_deposit":true,"module_fix_jurisdiction_tax_precision":true,"on_all_stores_fix_jurisdiction_tax_precision":true,"module_products_with_variants_cant_be_listed_on_reverb_if_one_variant_has_zero_inventory":true,"on_all_stores_products_with_variants_cant_be_listed_on_reverb_if_one_variant_has_zero_inventory":true,"module_fix_layaway_unpaid_balance":true,"on_all_stores_fix_layaway_unpaid_balance":true,"module_bug_end_of_day_report_view_all_tenders":true,"on_all_stores_bug_end_of_day_report_view_all_tenders":true,"module_sms_trial_for_non_marketing":true,"on_all_stores_sms_trial_for_non_marketing":true,"module_slack_logging_for_customer_catalog_syncs":true,"on_all_stores_slack_logging_for_customer_catalog_syncs":true,"module_fix_barcode_print_1x1":true,"on_all_stores_fix_barcode_print_1x1":true,"module_simplify_migrated_work_order_images":false,"module_migration_cleanup_migrated_repairs":true,"on_all_stores_migration_cleanup_migrated_repairs":true,"module_remove_receptive":true,"on_all_stores_remove_receptive":true,"module_bug_tenders_are_not_being_recorded_correctly_in_eod_report":false,"module_fix_rounding_adjustment_on_delete_payment":true,"on_all_stores_fix_rounding_adjustment_on_delete_payment":true,"module_better_handling_product_records_syncs_to_reverb_after_returning":true,"on_all_stores_better_handling_product_records_syncs_to_reverb_after_returning":true,"module_rto_scheduled_payment_handle_adyen_bad_card_response":false,"module_metals_dev_currencies":true,"on_all_stores_metals_dev_currencies":true,"module_comparison_report_extended_date_range":true,"on_all_stores_comparison_report_extended_date_range":true,"module_fix_waitlist_user_permission":true,"on_all_stores_fix_waitlist_user_permission":true,"module_hide_email_optional_label_when_save_card":true,"on_all_stores_hide_email_optional_label_when_save_card":true,"module_fix_save_operation_exceptions":true,"on_all_stores_fix_save_operation_exceptions":true,"module_bug_customer_percentage_discount_applying_to_already_discounted_so":true,"on_all_stores_bug_customer_percentage_discount_applying_to_already_discounted_so":true,"module_cannot_merge_product_with_reverb_shipping_rate":true,"on_all_stores_cannot_merge_product_with_reverb_shipping_rate":true,"module_bugfix_store_can_open_rto_it_doesnt_own":true,"on_all_stores_bugfix_store_can_open_rto_it_doesnt_own":true,"module_glitch_deleted_customer_profile_still_in_previous_subscription":true,"on_all_stores_glitch_deleted_customer_profile_still_in_previous_subscription":true,"module_handle_refund_callback":true,"on_all_stores_handle_refund_callback":true,"module_posthog_modal_pageview_tracking":true,"on_all_stores_posthog_modal_pageview_tracking":true,"module_trade_in_and_misc_product_tax_fix":true,"on_all_stores_trade_in_and_misc_product_tax_fix":true,"module_fix_bin_locations_display":true,"on_all_stores_fix_bin_locations_display":true,"module_fix_external_customer_id_for_migrated_adyen_cards":true,"on_all_stores_fix_external_customer_id_for_migrated_adyen_cards":true,"module_fix_nr_error_bad_email":true,"on_all_stores_fix_nr_error_bad_email":true,"module_cash_rounding_always_down":true,"on_all_stores_cash_rounding_always_down":true,"module_add_card_on_file_column_to_rto_upload":true,"on_all_stores_add_card_on_file_column_to_rto_upload":true,"module_fix_clerk_change_by_pin_in_till":true,"on_all_stores_fix_clerk_change_by_pin_in_till":true,"module_rto_report_email_export":true,"on_all_stores_rto_report_email_export":true,"module_metal_spot_rate_ticker_section":false,"module_fix_so_delete_item":true,"on_all_stores_fix_so_delete_item":true,"module_aim_api_product_custom_field":true,"on_all_stores_aim_api_product_custom_field":true,"module_bug_reverb_integration_not_showing_variant_information":true,"on_all_stores_bug_reverb_integration_not_showing_variant_information":true,"module_popup_signup":true,"on_all_stores_popup_signup":true,"module_lazy_loading_images":true,"on_all_stores_lazy_loading_images":true,"module_fix_wo_commissions":true,"on_all_stores_fix_wo_commissions":true,"module_log_marking_card_bad":true,"on_all_stores_log_marking_card_bad":true,"module_reverb_integration_showing_out_of_stock_items_as_on_sale":true,"on_all_stores_reverb_integration_showing_out_of_stock_items_as_on_sale":true,"module_posthog_pageleave_auto_capture_event_removal":true,"on_all_stores_posthog_pageleave_auto_capture_event_removal":true,"module_fix_retail_delivery_fee_shipping_update":true,"on_all_stores_fix_retail_delivery_fee_shipping_update":true,"module_bug_cash_rounding_beta_not_applying_in_register":true,"on_all_stores_bug_cash_rounding_beta_not_applying_in_register":true,"module_bug_tax_rounding_inconsistently_between_wo_and_register":true,"on_all_stores_bug_tax_rounding_inconsistently_between_wo_and_register":true,"module_aim_customer_cards_webhook_sync":true,"on_all_stores_aim_customer_cards_webhook_sync":true,"module_bug_cannot_sell_serialized_item_in_the_register":true,"on_all_stores_bug_cannot_sell_serialized_item_in_the_register":true,"module_fix_care_plan_pitrs":true,"on_all_stores_fix_care_plan_pitrs":true,"module_misc_item_qt
274y_story_495679":true,"on_all_stores_misc_item_qty_story_495679":true,"module_bug_rto_next_payment_date_is_ignored":true,"on_all_stores_bug_rto_next_payment_date_is_ignored":true,"module_validate_shipping_postal_format":true,"on_all_stores_validate_shipping_postal_format":true,"module_glitch_so_showing_wrong_remaining_balance":true,"on_all_stores_glitch_so_showing_wrong_remaining_balance":true,"module_fix_coupon_for_service":true,"on_all_stores_fix_coupon_for_service":true,"module_fix_wo_service_taxable":true,"on_all_stores_fix_wo_service_taxable":true,"module_bug_gift_card_problems":true,"on_all_stores_bug_gift_card_problems":true,"module_fix_rto_min_payment_due_date":true,"on_all_stores_fix_rto_min_payment_due_date":true,"module_fix_refund_card_payments":true,"on_all_stores_fix_refund_card_payments":true,"module_fix_metal_dev_currencies":true,"on_all_stores_fix_metal_dev_currencies":true,"module_fix_product_upload_out_of_memory":false,"module_bug_geller_integration_default_commission_setting":true,"on_all_stores_bug_geller_integration_default_commission_setting":true,"module_user_flow":false,"module_shopify_sync_variant_option_values":true,"on_all_stores_shopify_sync_variant_option_values":true,"module_skip_scheduled_payment_late_fees":false,"module_unable_to_return_short_term_rentals":true,"on_all_stores_unable_to_return_short_term_rentals":true,"module_bug_paused_transactions_wil_not_save_as_quotes":true,"on_all_stores_bug_paused_transactions_wil_not_save_as_quotes":true,"module_rto_modal_fix_summary_numbers":true,"on_all_stores_rto_modal_fix_summary_numbers":true,"module_enable_rto_autopay_pending_processor_worker":true,"on_all_stores_enable_rto_autopay_pending_processor_worker":true,"module_design_consistency_invoicing":false,"module_fix_duplicate_ro_line_items_for_so":true,"on_all_stores_fix_duplicate_ro_line_items_for_so":true,"module_bug_trade_in_tax_being_calculated_before_credit_given_in_va":true,"on_all_stores_bug_trade_in_tax_being_calculated_before_credit_given_in_va":true,"module_inventory_facade":true,"on_all_stores_inventory_facade":true,"module_likesew_theme":false,"module_storm_integration":false,"module_storm_dev_env":false,"module_bug_incorrect_tax_calculation_on_locally_orders":true,"on_all_stores_bug_incorrect_tax_calculation_on_locally_orders":true,"module_insurance_validation_improvements":true,"on_all_stores_insurance_validation_improvements":true,"module_bug_rental_contracts_in_draft_status":true,"on_all_stores_bug_rental_contracts_in_draft_status":true,"module_bug_migrated_customer_sales_history_is_blank_ahm_music_llc_14981":true,"on_all_stores_bug_migrated_customer_sales_history_is_blank_ahm_music_llc_14981":true,"module_services_can_t_be_uploaded_by_spreadsheet_with_0_as_the_price":true,"on_all_stores_services_can_t_be_uploaded_by_spreadsheet_with_0_as_the_price":true,"module_fix_batch_inventory_reconcile":true,"on_all_stores_fix_batch_inventory_reconcile":true,"module_design_consistency_stones":false,"module_fix_tbd_calc_issue":true,"on_all_stores_fix_tbd_calc_issue":true,"module_fix_order_total_calculation":true,"on_all_stores_fix_order_total_calculation":true,"module_aim_webhook_order_created_order_notes":true,"on_all_stores_aim_webhook_order_created_order_notes":true,"module_special_order_claim_check":false,"module_fix_communications_repository":true,"on_all_stores_fix_communications_repository":true,"module_prevent_duplicate_receiving_order_completion":true,"on_all_stores_prevent_duplicate_receiving_order_completion":true,"module_local_inventory_adjustments":true,"on_all_stores_local_inventory_adjustments":true,"module_received_ro_missing_products_that_were_in_the_ro_when_saved":true,"on_all_stores_received_ro_missing_products_that_were_in_the_ro_when_saved":true,"module_geller_flat_charges":true,"on_all_stores_geller_flat_charges":true,"module_fix_ro_partial_completion_inventory_duplicates":true,"on_all_stores_fix_ro_partial_completion_inventory_duplicates":true,"module_aikido_story_493249":true,"on_all_stores_aikido_story_493249":true,"module_change_share_screen_link_to_teams":false,"module_fix_checkout_jurisdiction_tax_precision":true,"on_all_stores_fix_checkout_jurisdiction_tax_precision":true,"module_rain_api_fix_order_created_webhook_shipping_data":true,"on_all_stores_rain_api_fix_order_created_webhook_shipping_data":true,"module_fix_trade_in_serial_number_on_pause":true,"on_all_stores_fix_trade_in_serial_number_on_pause":true,"module_setting_for_cash_rounding_behavior":true,"on_all_stores_setting_for_cash_rounding_behavior":true,"module_download_sheets_missing_columns":true,"on_all_stores_download_sheets_missing_columns":true,"module_fix_po_barcode_print_issue":true,"on_all_stores_fix_po_barcode_print_issue":true,"module_rto_modal_fix_due_date_timezone":true,"on_all_stores_rto_modal_fix_due_date_timezone":true,"module_layaway_claim_check_form_style":false,"module_flag_to_settings_music_staff":true,"on_all_stores_flag_to_settings_music_staff":true,"module_work_order_search_capability":true,"on_all_stores_work_order_search_capability":true,"module_fix_rto_schedule_remaining_balance_overpay":true,"on_all_stores_fix_rto_schedule_remaining_balance_overpay":true,"module_bug_workorder_print_out_has_duplicate_spacer_lines":true,"on_all_stores_bug_workorder_print_out_has_duplicate_spacer_lines":true,"module_fix_website_carousel_padding":true,"on_all_stores_fix_website_carousel_padding":true,"module_fix_classes_overselling_reports":true,"on_all_stores_fix_classes_overselling_reports":true,"module_fix_wo_service_description_invoice":true,"on_all_stores_fix_wo_service_description_invoice":true,"module_fix_optin_email_link":true,"on_all_stores_fix_optin_email_link":true,"module_gia_url_not_pulling_correctly_to_inventory_module":true,"on_all_stores_gia_url_not_pulling_correctly_to_inventory_module":true,"module_online_school_rentals_birthday_form_field_displays_bad_behavior":true,"on_all_stores_online_school_rentals_birthday_form_field_displays_bad_behavior":true,"module_aikido_story_505453":true,"on_all_stores_aikido_story_505453":true,"module_potential_sql_injection_db_gift_card":true,"on_all_stores_potential_sql_injection_db_gift_card":true,"module_online_order_confirmation_not_showing_class_descriptions_fully":true,"on_all_stores_online_order_confirmation_not_showing_class_descriptions_fully":true,"module_fix_special_order_processing_fee_pickup":true,"on_all_stores_fix_special_order_processing_fee_pickup":true,"module_add_note_column_to_metal_buy_export":true,"on_all_stores_add_note_column_to_metal_buy_export":true,"module_inventory_report_export_fix":true,"on_all_stores_inventory_report_export_fix":true,"module_big_integration_improvements":true,"on_all_stores_big_integration_improvements":true,"module_fix_rto_
274number_of_payments_with_interest":true,"on_all_stores_fix_rto_number_of_payments_with_interest":true,"module_aikido_story_505450_and_505448":true,"on_all_stores_aikido_story_505450_and_505448":true,"module_rto_purchase_discount_respect_rental_credit":true,"on_all_stores_rto_purchase_discount_respect_rental_credit":true,"module_waitlists_not_available_during_classes":true,"on_all_stores_waitlists_not_available_during_classes":true,"module_aikido_story_505445":true,"on_all_stores_aikido_story_505445":true,"module_missing_primary_vendor_in_memo_list":true,"on_all_stores_missing_primary_vendor_in_memo_list":true,"module_fix_customer_modal_line_item_search_exclude_suspended_transactions":false,"module_product_csv_optimized_import":true,"on_all_stores_product_csv_optimized_import":true,"module_fix_cash_rounding_non_cash_tenders":true,"on_all_stores_fix_cash_rounding_non_cash_tenders":true,"module_show_coupon_error_message_on_checkout_page":true,"on_all_stores_show_coupon_error_message_on_checkout_page":true,"module_fix_creating_blank_customers":true,"on_all_stores_fix_creating_blank_customers":true,"module_aikido_story_505440":true,"on_all_stores_aikido_story_505440":true,"module_fix_sale_price_item_on_paused_transaction_resume":true,"on_all_stores_fix_sale_price_item_on_paused_transaction_resume":true,"module_isdirty_null_empty_equiv":true,"on_all_stores_isdirty_null_empty_equiv":true,"module_potential_sql_injection_db_paypal_ipn_log":true,"on_all_stores_potential_sql_injection_db_paypal_ipn_log":true,"module_fix_manual_reward_coupon_dollar_off_display":true,"on_all_stores_fix_manual_reward_coupon_dollar_off_display":true,"module_aikido_story_505454":false,"module_fix_revalidate_coupons_on_item_remove":true,"on_all_stores_fix_revalidate_coupons_on_item_remove":true,"module_fix_rto_validation_for_migration":true,"on_all_stores_fix_rto_validation_for_migration":true,"module_inventory_facade_consume":true,"on_all_stores_inventory_facade_consume":true,"module_fix_order_with_deleted_serial_number":true,"on_all_stores_fix_order_with_deleted_serial_number":true,"module_work_order_external_deposit_paid":true,"on_all_stores_work_order_external_deposit_paid":true,"module_unescaped_input_can_lead_xss_attacks_upload_school_csv":false,"module_unescaped_input_can_lead_xss_attacks_upload_rto_csv":false,"module_disable_custom_customer_field_type_after_saving":true,"on_all_stores_disable_custom_customer_field_type_after_saving":true,"module_fix_consignment_contract_js_errors":true,"on_all_stores_fix_consignment_contract_js_errors":true,"module_fix_broken_image_link_in_signature_email":true,"on_all_stores_fix_broken_image_link_in_signature_email":true,"module_fix_exempt_line_tax_jurisdiction_leak":true,"on_all_stores_fix_exempt_line_tax_jurisdiction_leak":true,"module_fix_online_rental_contract_exchange_status":true,"on_all_stores_fix_online_rental_contract_exchange_status":true,"module_fix_tax_profile_delete_hidden_till_usage":true,"on_all_stores_fix_tax_profile_delete_hidden_till_usage":true,"module_rental_contract_payment_total_off_by_1_cent":true,"on_all_stores_rental_contract_payment_total_off_by_1_cent":true,"module_contract_exchange_profile_cannot_save_if_any_fields_are_set_to_0":true,"on_all_stores_contract_exchange_profile_cannot_save_if_any_fields_are_set_to_0":true,"module_replace_new_line_with_pre_wrap":true,"on_all_stores_replace_new_line_with_pre_wrap":true,"module_simplify_work_order_message":true,"on_all_stores_simplify_work_order_message":true,"module_aikido_story_507499":true,"on_all_stores_aikido_story_507499":true,"module_fix_rto_list_phone_format":true,"on_all_stores_fix_rto_list_phone_format":true,"module_fix_for_markup_pricing_calculation":true,"on_all_stores_fix_for_markup_pricing_calculation":true,"module_bug_sales_by_item_product_search_frontend_filter":true,"on_all_stores_bug_sales_by_item_product_search_frontend_filter":true,"module_fix_online_rental_start_date_on_checkout":true,"on_all_stores_fix_online_rental_start_date_on_checkout":true,"module_fix_rto_split_payment_double_tax":true,"on_all_stores_fix_rto_split_payment_double_tax":true,"module_design_consistency_common_table":true,"on_all_stores_design_consistency_common_table":true,"module_fix_so_items_modal_missing_rows":true,"on_all_stores_fix_so_items_modal_missing_rows":true,"module_aikido_story_ch505462":true,"on_all_stores_aikido_story_ch505462":true,"module_design_consistency_filters":true,"on_all_stores_design_consistency_filters":true,"module_gift_line_item_is_duplicated":true,"on_all_stores_gift_line_item_is_duplicated":true,"module_bug_reverb_price_does_not_change":true,"on_all_stores_bug_reverb_price_does_not_change":true,"module_debug_log_flag":false,"module_bug_add_misc_item_missing_when_creating_work_order_from_customers_screen":true,"on_all_stores_bug_add_misc_item_missing_when_creating_work_order_from_customers_screen":true,"module_fix_bug_google_xml_product_feed_error":true,"on_all_stores_fix_bug_google_xml_product_feed_error":true,"module_bug_reverb_refund_is_not_updating_transaction":true,"on_all_stores_bug_reverb_refund_is_not_updating_transaction":true,"module_print_button_radius_fix":true,"on_all_stores_print_button_radius_fix":true,"module_shopify_sync_active_products_only":true,"on_all_stores_shopify_sync_active_products_only":true,"module_account_ownership_change":true,"on_all_stores_account_ownership_change":true,"module_mark_declined_stripe_cards_bad":false,"module_fix_web_class_coupon_id_matching":true,"on_all_stores_fix_web_class_coupon_id_matching":true,"module_receive_files_module_does_not_send_files":true,"on_all_stores_receive_files_module_does_not_send_files":true,"module_async_manage_serialized_inventory_report_cache":true,"on_all_stores_async_manage_serialized_inventory_report_cache":true,"module_jm_insurance_product_type":true,"on_all_stores_jm_insurance_product_type":true,"module_fix_aikido_507894":true,"on_all_stores_fix_aikido_507894":true,"module_bug_unable_to_upload_image_product_from_computer":true,"on_all_stores_bug_unable_to_upload_image_product_from_computer":true,"module_fix_bug_issues_with_gift_card_reports_exp
274ort_dates":true,"on_all_stores_fix_bug_issues_with_gift_card_reports_export_dates":true,"module_consignment_price_not_updating_for_conditional_pricing":true,"on_all_stores_consignment_price_not_updating_for_conditional_pricing":true,"module_fix_term_still_display_on_invoice_despite_disabled_form_styles":true,"on_all_stores_fix_term_still_display_on_invoice_despite_disabled_form_styles":true,"module_fix_adyen_bad_shipping":true,"on_all_stores_fix_adyen_bad_shipping":true,"module_aikido_potential_sql_injection_507487":false,"module_prevent_editing_voided_consignment_inventory":true,"on_all_stores_prevent_editing_voided_consignment_inventory":true,"module_bug_work_order_text_message_not_being_received":true,"on_all_stores_bug_work_order_text_message_not_being_received":true,"module_fix_no_qty_for_web_rentals":true,"on_all_stores_fix_no_qty_for_web_rentals":true,"module_fix_form_style_receipt_with_taxes":true,"on_all_stores_fix_form_style_receipt_with_taxes":true,"module_improve_logging_for_osr_create":true,"on_all_stores_improve_logging_for_osr_create":true,"module_rto_report_batch_next_payment":true,"on_all_stores_rto_report_batch_next_payment":true,"module_design_consistency_appraisals":false,"module_comparison_report_polish":true,"on_all_stores_comparison_report_polish":true,"module_inventory_report_filter_select_all_fix":true,"on_all_stores_inventory_report_filter_select_all_fix":true,"module_bug_sales_by_item_report_consolidated_on_hand":true,"on_all_stores_bug_sales_by_item_report_consolidated_on_hand":true,"module_rental_contracts_export_issue":true,"on_all_stores_rental_contracts_export_issue":true,"module_design_consistency_quotes":false,"module_design_consistency_classes":false,"module_eod_v2_printout_changes":true,"on_all_stores_eod_v2_printout_changes":true,"module_update_store_checklist_copy_store_list":true,"on_all_stores_update_store_checklist_copy_store_list":true,"module_prevent_stale_stripe_account_update":true,"on_all_stores_prevent_stale_stripe_account_update":true,"module_bug_unable_to_reorder_product_variants":true,"on_all_stores_bug_unable_to_reorder_product_variants":true,"module_bug_not_loading_all_metal_buy_transactions":true,"on_all_stores_bug_not_loading_all_metal_buy_transactions":true,"module_saving_customer_profile_sends_opt_in_email":true,"on_all_stores_saving_customer_profile_sends_opt_in_email":true,"module_design_consistency_custom_form_styles":false,"module_bug_geller_services_not_getting_markup_percentage":false,"module_trial_purchase_cannot_be_closed":true,"on_all_stores_trial_purchase_cannot_be_closed":true,"module_flag_to_settings_completed_status_for_orders":true,"on_all_stores_flag_to_settings_completed_status_for_orders":true,"module_inventory_facade_release_reserve":true,"on_all_stores_inventory_facade_release_reserve":true,"module_remove_api2cart":true,"on_all_stores_remove_api2cart":true,"module_bug_invoice_starting_number_not_being_reflected":true,"on_all_stores_bug_invoice_starting_number_not_being_reflected":true,"module_ccf_bulk_issue":true,"on_all_stores_ccf_bulk_issue":true,"module_rental_profiles_export":true,"on_all_stores_rental_profiles_export":true,"module_block_checkout_on_dynamic_tax_failure":true,"on_all_stores_block_checkout_on_dynamic_tax_failure":true,"module_bug_missing_columns_in_products_export":true,"on_all_stores_bug_missing_columns_in_products_export":true,"module_fix_aikido_db_customer_3892":false,"module_fix_aikido_db_customer_2299":true,"on_all_stores_fix_aikido_db_customer_2299":true,"module_fix_aikido_db_customer_2045":false,"module_end_of_day_shipping_changes":true,"on_all_stores_end_of_day_shipping_changes":true,"module_flag_to_settings_trial_purchases":true,"on_all_stores_flag_to_settings_trial_purchases":true,"module_bug_serialized_item_exchange_caused_incorrect_stock_count":true,"on_all_stores_bug_serialized_item_exchange_caused_incorrect_stock_count":true,"module_fix_checkout_apply_all_coupon_stacking":true,"on_all_stores_fix_checkout_apply_all_coupon_stacking":true,"module_design_consistency_loaner":false,"module_void_uncaptured_transaction":true,"on_all_stores_void_uncaptured_transaction":true,"module_geller_blue_book_
274split_labor_parts":false,"module_export_rental_contract_profile_id":true,"on_all_stores_export_rental_contract_profile_id":true,"module_design_consistency_layaways":false,"module_add_rental_contract_profile_id_field_to_product_import":true,"on_all_stores_add_rental_contract_profile_id_field_to_product_import":true,"module_fix_till_duplicate_transaction_nonce_check":true,"on_all_stores_fix_till_duplicate_transaction_nonce_check":true,"module_sitemap_xml_url_encode":true,"on_all_stores_sitemap_xml_url_encode":true,"module_flag_to_settings_review_default":true,"on_all_stores_flag_to_settings_review_default":true,"module_qbo_vendor_consignment_memo_replace_jewel360":true,"on_all_stores_qbo_vendor_consignment_memo_replace_jewel360":true,"module_bug_reverb_integration_already_set_to_publish":true,"on_all_stores_bug_reverb_integration_already_set_to_publish":true,"module_rto_template_balance_due_includes_late_fee":true,"on_all_stores_rto_template_balance_due_includes_late_fee":true,"module_add_shipping_tax_collected_to_sales_tax_report":true,"on_all_stores_add_shipping_tax_collected_to_sales_tax_report":true,"module_fix_rto_print_fields":true,"on_all_stores_fix_rto_print_fields":true,"module_fix_serialized_inventory_edit_respect_trade_in":true,"on_all_stores_fix_serialized_inventory_edit_respect_trade_in":true,"module_content_tagging":false,"module_web_editor_2026":false,"module_comparison_report_sales_rep":true,"on_all_stores_comparison_report_sales_rep":true,"module_fix_wo_page_load_speed":true,"on_all_stores_fix_wo_page_load_speed":true,"module_fix_product_page_variant_pslr_match":true,"on_all_stores_fix_product_page_variant_pslr_match":true,"module_fix_gift_cards_invalid_purchase_date":true,"on_all_stores_fix_gift_cards_invalid_purchase_date":true,"module_transfers_list_date_bound_query":false,"module_fix_common_table_empty_rows":true,"on_all_stores_fix_common_table_empty_rows":true,"module_migration_for_cof":false,"module_spreadsheet_migration_framework":true,"on_all_stores_spreadsheet_migration_framework":true,"module_checkout_sync_safe_redirect":true,"on_all_stores_checkout_sync_safe_redirect":true,"module_work_order_job_list_print":true,"on_all_stores_work_order_job_list_print":true,"module_inventory_facade_serialized_delete":true,"module_fix_serial_number_update_pos_item_relation":true,"on_all_stores_fix_serial_number_update_pos_item_relation":true,"module_web_order_coming_through_as_abandoned_cart":true,"on_all_stores_web_order_coming_through_as_abandoned_cart":true,"module_remove_beta_from_geller_services":true,"on_all_stores_remove_beta_from_geller_services":true,"module_product_with_special_character_duplicating_variants":false,"module_fix_report_permission_sales_details":true,"on_all_stores_fix_report_permission_sales_details":true,"module_fix_scheduled_payment_date_on_summer_time":true,"on_all_stores_fix_scheduled_payment_date_on_summer_time":true,"module_fix_zero_order_capture_payment":true,"on_all_stores_fix_zero_order_capture_payment":true,"module_design_consistency_layaway_modal":false,"module_bulk_301_fix":true,"on_all_stores_bulk_301_fix":true,"module_end_of_day_report_include_transaction_notes":true,"on_all_stores_end_of_day_report_include_transaction_notes":true,"module_inventory_facade_serialized_assign_new_sn":true,"on_all_stores_inventory_facade_serialized_assign_new_sn":true,"module_fix_auto_increase_duplicate_product_quantity_in_till":true,"on_all_stores_fix_auto_increase_duplicate_product_quantity_in_till":true,"module_marketing_email_ai_copilot":true,"module_fix_rto_school_district_order":true,"on_all_stores_fix_rto_school_district_order":true,"module_lapsed_customers_report":false,"module_reverb_variants_arent_sending_over_correctly":true,"on_all_stores_reverb_variants_arent_sending_over_correctly":true,"module_better_physical_image_handling":true,"on_all_stores_better_physical_image_handling":true,"module_additional_logging_on_reverb_refund":true,"on_all_stores_additional_logging_on_reverb_refund":true,"module_design_consistency_consignment_page":false,"module_metal_buy_transaction_details_print_image":true,"on_all_stores_metal_buy_transaction_details_print_image":true,"module_allow_ship_station_package_overpaid_shipping":true,"on_all_stores_allow_ship_station_package_overpaid_shipping":true,"module_fix_work_order_negative_deposit":true,"on_all_stores_fix_work_order_negative_deposit":true,"module_add_notes_field_to_export_on_customers_page":true,"on_all_stores_add_notes_field_to_export_on_customers_page":true,"module_bug_price_on_layaway_item_round_up_after_saving":true,"on_all_stores_bug_price_on_layaway_item_round_up_after_saving":true,"module_auto_
274suggested_products":false,"module_multi_store_product_upload_adjustment":true,"on_all_stores_multi_store_product_upload_adjustment":true,"module_rto_select_all_contracts":true,"on_all_stores_rto_select_all_contracts":true,"module_log_invalid_origin_error":true,"on_all_stores_log_invalid_origin_error":true,"module_fix_so_full_deposit_ignores_line_discount":true,"on_all_stores_fix_so_full_deposit_ignores_line_discount":true,"module_fix_so_pickup_payment_plan_deposit":true,"on_all_stores_fix_so_pickup_payment_plan_deposit":true,"module_unable_to_pick_up_layaway":true,"on_all_stores_unable_to_pick_up_layaway":true,"module_add_notes_field_to_import_on_migration_tools_page":true,"on_all_stores_add_notes_field_to_import_on_migration_tools_page":true,"module_work_order_form_style_declared_value":true,"on_all_stores_work_order_form_style_declared_value":true,"module_vendor_api_store_sales_inventory":false,"module_fix_po_ro_qty_on_hand_reserved_count":true,"on_all_stores_fix_po_ro_qty_on_hand_reserved_count":true,"module_fix_transfers_loading_speed":true,"on_all_stores_fix_transfers_loading_speed":true,"module_bug_gia_does_not_update_loose_stone_details":true,"on_all_stores_bug_gia_does_not_update_loose_stone_details":true,"module_fix_ro_received_qty_so_duplication":true,"on_all_stores_fix_ro_received_qty_so_duplication":true,"module_api_webhook_retry_and_logging":true,"on_all_stores_api_webhook_retry_and_logging":true,"module_enforce_server_tax_on_checkout":true,"on_all_stores_enforce_server_tax_on_checkout":true,"module_fix_trade_in_product_label_price":true,"on_all_stores_fix_trade_in_product_label_price":true,"module_add_notes_field_to_import_on_customer_extid_update":true,"on_all_stores_add_notes_field_to_import_on_customer_extid_update":true,"module_add_jmd_currency":true,"on_all_stores_add_jmd_currency":true,"module_fix_rto_customer_edit_missing_groups":true,"on_all_stores_fix_rto_customer_edit_missing_groups":true,"module_block_checkout_button_while_processing":true,"on_all_stores_block_checkout_button_while_processing":true,"module_form_style_receipt_wo_sales_reps":true,"on_all_stores_form_style_receipt_wo_sales_reps":true,"module_inventory_facade_serialized_update":false,"module_fix_wo_serialized_material_serial":true,"on_all_stores_fix_wo_serialized_material_serial":true,"module_marketing_email_unsubscribeIs_ignored_at_send_time":true,"on_all_stores_marketing_email_unsubscribeIs_ignored_at_send_time":true,"module_vue3_coexistence_playground":true,"on_all_stores_vue3_coexistence_playground":true,"module_locally_sync_exclude_reserved":true,"on_all_stores_locally_sync_exclude_reserved":true,"module_fix_low_inventory_warning_respect_toggle":true,"on_all_stores_fix_low_inventory_warning_respect_toggle":true,"module_shopify_full_refund_via_partial_logic":true,"on_all_stores_shopify_full_refund_via_partial_logic":true,"module_fix_customer_custom_field_store_location_type":true,"on_all_stores_fix_customer_custom_field_store_location_type":true,"module_design_consistency_consignment_modal":false,"module_vue3_coexistence_rto":true,"on_all_stores_vue3_coexistence_rto":true,"module_fix_split_line_jurisdiction_tax_rounding":true,"on_all_stores_fix_split_line_jurisdiction_tax_rounding":true,"module_wo_department_export":true,"on_all_stores_wo_department_export":true,"module_bug_cancelled_web_order_transaction_still_on_eod_report":true,"on_all_stores_bug_cancelled_web_order_transaction_still_on_eod_report":true,"module_void_invoice_transaction_improvements":true,"on_all_stores_void_invoice_transaction_improvements":true,"module_fix_time_clock_report_week_start":true,"on_all_stores_fix_time_clock_report_week_start":true,"module_fix_rto_collections_status_after_close":true,"on_all_stores_fix_rto_collections_status_after_close":true,"module_fix_tiered_coupon_on_website":true,"on_all_stores_fix_tiered_coupon_on_website":true,"module_user_flow_staging_key_in_production":false,"module_storm_widget_customer_context":false,"module_design_consistency_table_performance":true,"on_all_stores_design_consistency_table_performance":true,"module_lapsed_customers_customers_list":true,"on_all_stores_lapsed_customers_customers_list":true,"module_metal_buy_spot_rate_ticker_backend":false,"module_reverb_transliterate_customer_names":true,"on_all_stores_reverb_transliterate_customer_names":true,"module_fix_duplicate_invoice_payments":true,"on_all_stores_fix_duplicate_invoice_payments":true,"module_stripe_to_quilt_payfac":false,"module_surcharging":false,"module_qbo_metal_buy_payout_account":false,"module_fix_coupon_end_date_timezone_offset":true,"on_all_stores_fix_coupon_end_date_timezone_offset":true,"module_product_reserved_count_incorrect":true,"on_all_stores_product_reserved_count_incorrect":true,"module_textarea_template_button_slot":true,"on_all_stores_textarea_template_button_slot":true,"module_vgt_fixed_table_data_cy":true,"on_all_stores_vgt_fixed_table_data_cy":true,"module_nav_dynamic_data_cy":true,"on_all_stores_nav_dynamic_data_cy":true,"module_vue3_coexistence_work_orders":true,"on_all_stores_vue3_coexistence_work_orders":true,"module_fix_coupon_min_purchase_class_addon":true,"on_all_stores_fix_coupon_min_purchase_class_addon":true,"module_fix_coupon_items_not_saving":true,"on_all_stores_fix_coupon_items_not_saving":true,"module_fix_work_order_barcode_url":true,"on_all_stores_fix_work_order_barcode_url":true,"module_shopify_match_import_before_push":true,"on_all_stores_shopify_match_import_before_push":true,"module_vendor_api_store_location_codes":false,"module_add_pennyweight_to_dropdown_metal_info":true,"on_all_stores_add_pennyweight_to_dropdown_metal_info":true,"module_add_hide_empty_wishlist_filter":true,"on_all_stores_add_hide_empty_wishlist_filter":true,"module_fix_aikido_story_517214":true,"on_all_stores_fix_aikido_story_517214":true,"module_adyen_patch_external_payment_id":true,"on_all_stores_adyen_patch_external_payment_id":true,"module_web_ordering_quantity_total":false,"module_weight_uom_for_labels":false,"module_use_openai_responses_api":true,"on_all_stores_use_openai_responses_api":true,"module_vue3_coexistence_seri
274alized_inventory":false,"module_fix_click_outside_detached_target":true,"on_all_stores_fix_click_outside_detached_target":true,"module_fix_customer_coupon_redeemed_display":true,"on_all_stores_fix_customer_coupon_redeemed_display":true,"module_fix_empty_store_s3_bucket":true,"on_all_stores_fix_empty_store_s3_bucket":true,"module_clientbook_sync_self_healing":true,"on_all_stores_clientbook_sync_self_healing":true,"module_aim_order_payment_status_sync":true,"on_all_stores_aim_order_payment_status_sync":true,"module_fix_osr_contract_tax_profile":true,"on_all_stores_fix_osr_contract_tax_profile":true,"module_vue3_coexistence_customers":true,"on_all_stores_vue3_coexistence_customers":true,"module_fix_aikido_518998":true,"on_all_stores_fix_aikido_518998":true,"module_fix_aikido_xss_invoice_pdf":true,"on_all_stores_fix_aikido_xss_invoice_pdf":true,"module_void_uncaptured_by_capture_state":true,"on_all_stores_void_uncaptured_by_capture_state":true,"module_rto_cleanup_schedule_on_contract_close":true,"on_all_stores_rto_cleanup_schedule_on_contract_close":true,"module_deleting_images_product_do_not_remove_them_in_reverb_listing":true,"on_all_stores_deleting_images_product_do_not_remove_them_in_reverb_listing":true,"module_rapid_deposit_fee_payout_report":true,"on_all_stores_rapid_deposit_fee_payout_report":true,"module_add_stash_it_shipping_name":true,"on_all_stores_add_stash_it_shipping_name":true,"module_inventory_facade_transfer":false,"module_preserve_embed_iframe_attributes":true,"on_all_stores_preserve_embed_iframe_attributes":true,"module_mms_rate_limit_handling":true,"on_all_stores_mms_rate_limit_handling":true,"module_validate_rto_cart_on_checkout":true,"on_all_stores_validate_rto_cart_on_checkout":true,"module_ xss_transaction_line_item_mustache_view_model":true,"on_all_stores_ xss_transaction_line_item_mustache_view_model":true,"module_waitlist_report_not_updating_when_customer_is_removed":true,"on_all_stores_waitlist_report_not_updating_when_customer_is_removed":true,"module_fix_rto_exchange_transfer_issues":true,"on_all_stores_fix_rto_exchange_transfer_issues":true,"module_fix_rental_multiple_tax_jurisdictions":true,"on_all_stores_fix_rental_multiple_tax_jurisdictions":true,"module_vue3_coexistence_transfers":true,"on_all_stores_vue3_coexistence_transfers":true,"module_fix_aikido_story_518997":true,"on_all_stores_fix_aikido_story_518997":true,"module_specific_item_types_surcharge":true,"on_all_stores_specific_item_types_surcharge":true,"module_fix_web_coupon_customer_group_restriction":true,"on_all_stores_fix_web_coupon_customer_group_restriction":true,"module_show_card_on_file_decline_reason":true,"on_all_stores_show_card_on_file_decline_reason":true,"module_vue3_coexistence_subscriptions":true,"on_all_stores_vue3_coexistence_subscriptions":true,"module_aikido_story_519003":true,"on_all_stores_aikido_story_519003":true,"module_aikido_story_519002":true,"on_all_stores_aikido_story_519002":true,"module_add_address_to_order_export":true,"on_all_stores_add_address_to_order_export":true,"module_surcharging_transaction_edit_button_adjustment":true,"on_all_stores_surcharging_transaction_edit_button_adjustment":true,"module_fix_manual_payment_due_date_revert":true,"on_all_stores_fix_manual_payment_due_date_revert":true,"module_use_card_token_payment_method_type":true,"on_all_stores_use_card_token_payment_method_type":true,"module_fix_scheduled_sale_round_value_validation":true,"on_all_stores_fix_scheduled_sale_round_value_validation":true,"module_customer_po_delete_unassign_items":true,"on_all_stores_customer_po_delete_unassign_items":true,"module_shipstation_package_id_rates":true,"on_all_stores_shipstation_package_id_rates":true,"module_important_dates_customers_list":true,"on_all_stores_important_dates_customers_list":true,"module_fix_partial_refund_surcharge_amount":true,"on_all_stores_fix_partial_refund_surcharge_amount":true,"module_assemble_modal_to_work_order_module":false,"module_vue3_coexistence_orders":true,"on_all_stores_vue3_coexistence_orders":true,"module_surcharging_reports":true,"on_all_stores_surcharging_reports":true,"module_vue3_coexistence_receiving_orders":true,"on_all_stores_vue3_coexistence_receiving_orders":true,"module_fix_new_product_modal_availability_value":true,"on_all_stores_fix_new_product_modal_availability_value":true,"module_fix_rto_return_after_complete":false,"module_user_login_report_locations":false,"module_aikido_story_517220":true,"on_all_stores_aikido_story_517220":true,"module_add_new_card_reader_name_for_stripe_setup":true,"on_all_stores_add_new_card_reader_name_for_stripe_setup":true,"module_fix_dual_pricing_discount_with_cash_rounding":true,"on_all_stores_fix_dual_pricing_discount_with_cash_rounding":true,"module_rto_import_initial_payments_and_interest":true,"on_all_stores_rto_import_initial_payments_and_interest":true,"module_fix_aikido_sql_quilt_class":true,"on_all_stores_fix_aikido_sql_quilt_class":true,"module_vue3_coexistence_rental_list":true,"on_all_stores_vue3_coexistence_rental_list":true,"module_inventory_history_report_applies_its_date_filter_in_utc":true,"on_all_stores_inventory_history_report_applies_its_date_filter_in_utc":true,"module_capture_after_commit_adyen":false,"module_product_minimum_price":false,"module_handle_cof_blocked_card":true,"on_all_stores_handle_cof_blocked_card":true,"module_fix_aikido_story_520310":true,"on_all_stores_fix_aikido_story_520310":true,"module_fix_aikido_story_520947":true,"on_all_stores_fix_aikido_story_520947":true,"module_vue3_coexistence_inventory_batches":true,"on_all_stores_vue3_coexistence_inventory_batches":true,"module_fix_aikido_story_520309":true,"on_all_stores_fix_aikido_story_520309":true,"module_mixpanel_surcharge":true,"on_all_stores_mixpanel_surcharge":true,"module_bad_emails_bounce_classification":false,"module_care_plans_in_work_order":false,"module_crm_new_client_rework":true,"on_all_stores_crm_new_client_rework":true,"module_quote_data_cy":true,"on_all_stores_quote_data_cy":true,"module_bulk_edit_unit_of_measure":true,"on_all_stores_bulk_edit_unit_of_measure":true,"module_fix_spreadsheet_header_case_sensitivity":true,"on_all_stores_fix_spreadsheet_header_case_sensitivity":true,"module_transfer_received_date_event_time":true,"on_all_stores_transfer_received_date_event_time":true,"module_fix_customer_modal_till_prompt_on_wo_tab":true,"on_all_stores_fix_customer_modal_till_prompt_on_wo_tab":true,"module_prevent_duplicate_consignment_serial_inventory":true,"on_all_stores_prevent_duplicate_consignment_serial_inventory":true,"module_aikido_security_issues_520311":true,"on_all_stores_aikido_security_issues_520311":true,"module_qbo_surcharging":true,"on_all_stores_qbo_surcharging":true,"module_vue3_coexistence_giftcard_list":true,"on_all_stores_vue3_coexistence_giftcard_list":true,"module_default_customer_address_state":true,"on_all_stores_default_customer_address_state":true,"module_po_discount_being_removed_after_going_to_ro":true,"on_all_stores_po_discount_being_removed_after_going_to_ro":true,"module_aim_add_card_on_file_for_invoice_payments":false,"module_fix_quick_assemble_serial_number_field_name":false,"module_marketing_email_require_explicit_opt_in":true,"on_all_stores_marketing_email_require_explicit_opt_in":true,"module_wo_customer_actions_buttons":true,"on_all_stores_wo_customer_actions_buttons":true,"module_handle_adyen_intent_error_status":true,"on_all_stores_handle_adyen_intent_error_status":true,"module_product_page_prev_next_nav":true,"on_all_stores_product_page_prev_next_nav":true,"module_inventory_value_bin_filter_improvements":false,"module_fix_duplicate_loaner_on_wo_save":true,"on_all_stores_fix_duplicate_loaner_on_wo_save":true,"module_surcharging_payout_report":true,"on_all_stores_surcharging_payout_report":true,"module_use_payfac_refund_surcharge_amount":true,"on_all_stores_use_payfac_refund_surcharge_amount":true,"module_clear_till_search_cache_after_transaction":true,"on_all_stores_clear_till_search_cache_after_transaction":true,"module_fix_customer_shipping_address_billing_default_sync":true,"on_all_stores_fix_customer_shipping_address_billing_default_sync":true,"module_form_style_receipt_data_cy":true,"on_all_stores_form_style_receipt_data_cy":true,"module_fix_aikido_sql_migration_cleanup":true,"on_all_stores_fix_aikido_sql_migration_cleanup":true,"module_fix_online_rental_status_active_by_transaction":true,"on_all_stores_fix_online_rental_status_active_by_transaction":true,"module_fix_ro_complete_already_fulfilled_special_order":true,"on_all_stores_fix_ro_complete_already_fulfilled_special_order":true,"module_fix_aikido_story_522749":true,"on_all_stores_fix_aikido_story_522749":true,"module_vue3_coexistence_coupon_usage":true,"on_all_stores_vue3_coexistence_coupon_usage":true,"module_fix_email_dns_records":true,"on_all_stores_fix_email_dns_records":true,"module_fix_aikido_story_523478":true,"on_all_stores_fix_aikido_story_523478":true,"module_vue3_coexistence_top_customers":true,"on_all_stores_vue3_coexistence_top_customers":true,"module_surcharging_adjustment_2":true,"on_all_stores_surcharging_adjustment_2":true,"module_fix_aikido_story_522751":true,"on_all_stores_fix_aikido_story_522751":true,"module_fix_aikido_520308":true,"on_all_stores_fix_aikido_520308":true,"module_fix_aikido_522752":true,"on_all_stores_fix_aikido_522752":true,"module_vendor_api_hide_disabled_stores":true,"on_all_stores_vendor_api_hide_disabled_stores":true,"module_bug_manually_setting_wo_status_completed":false,"module_qbo_deposit_on_account":true,"on_all_stores_qbo_deposit_on_account":true,"module_fix_new_location_resets_store_defaults":true,"on_all_stores_fix_new_location_resets_store_defaults":true,"module_wo_text_ticket_claim_check":true,"on_all_stores_wo_text_ticket_claim_check":true,"module_marketing_blast_honors_list_unsubscribe":false,"module_add_make_model_columns_spreadsheet":false,"module_metal_buy_void_transaction":false,"module_surcharging_adjustment_refund_receipt":true,"on_all_stores_surcharging_adjustment_refund_receipt":true,"module_signature_line_on_receipt_store_copy_is_misaligned":true,"on_all_stores_signature_line_on_receipt_store_copy_is_misaligned":true,"module_aikido_524591":true,"on_all_stores_aikido_524591":true,"module_fix_interac_captured_amount":false,"module_ai_sales_assistant":false,"module_vue3_coexistence_rto_commissions":false,"module_product_list_page_add_hover_to_images":true,"on_all_stores_product_list_page_add_hover_to_images":true,"module_vue3_coexistence_gc_outstanding":false,"module_marketing_email_recency_filter":false,"module_wo_deposit_default_remaining_balance":false,"module_fix_aikido_story_524589":true,"on_all_stores_fix_aikido_story_524589":true,"module_aikido_523480":true,"on_all_stores_aikido_523480":true,"module_website_sales_set_to_authorization_capturing_anyway":false,"module_allow_rto_import_interval_price_not_less_than_financed":false,"module_vue3_coexistence_transactions_needing_payment":false,"module_product_image_content_type_fix":false,"module_top_bar_current_location":false,"module_fix_aikido_story_522750":true,"on_all_stores_fix_aikido_story_522750":true,"module_aikido_523477":true,"on_all_stores_aikido_523477":true,"module_vue3_coexistence_wishlist_list":false,"module_admin_tools_create_store_rework":false,"module_department_custom_ordering":false,"module_void_surcharge_auth_on_price_change":false,"module_fix_osr_rtr_zero_financed_checkout":false,"module_apply_template_global_holder_page":false,"module_vue3_coexistence_bestsellers":false,"module_fix_rto_purchase_security_deposit":false,"module_invoice":true,"module_completed_status_for_orders":true,"module_shopify":false,"module_mms":false,"module_ebay":false,"use_receptive":true,"enableSellingWholesaleItems":true,"rental":true,"website_customer_login":false,"captcha_at_checkout":false,"web_allow_discount_stacking":true,"website_pricing":false,"module_out_of_stock_product_card":false,"three_decimal_pricing":false,"displayReportsImagesByDefault":false,"pos_customer_rewards":true,"pos_shift_management":true,"pos_enable_tax_inclusive_pricing":false,"pos_show_tax_breakdown_on_receipt":false,"product_module_item_conditions":false,"product_module_dont_use_item_conditions_online":false,"pos_allow_discount_stacking":true,"printDescriptionOnReceipt":false,"WishlistEnabled":false,"is_responsive":true,"module_show_sku_till_product_search":true,"module_docraptor_test_mode":false,"module_rental_location_tax_integration":false,"admin_domain":false,"checkout_enabled":true}; 275var COLORADO_RETAIL_DELIVERY_FEE = 0.31; 276 </script>
276 277</head> 278<body class="secondaryPageBg"> 279<!-- 43-module.tpl --> 280 281 282 283 284 285<div id="main-website-content" class="secondaryPageDiv"> 286 <!-- Accessibility stuff --> 287 <a href="#skip-navigation" class="sr-only visible-focused">Skip Navigation</a> 288 <a href="/website-accessibility.htm" class="sr-only visible-focused">Website Accessibility</a> 289 290 <!-- column0_components --> 291 <div style="" class="top-bar white-text"> 292 <div class="container "> 293 <div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 2px; padding-bottom: 4px; "> 294 295 296 <div class="col-sm-6"><span class="fa fa-phone"> </span> Ph: 617-484-3888</div> 297<div class="col-sm-4 pull-right text-right"><span style="font-size: 0.875em;"><a href="#"><span class="top-link">About</span></a> | <a href="#"><span class="top-link">Contact</span></a> | <a href="/checkout/cart.php"><span class="top-link">View Cart</span> </a></span><a href="/checkout/cart.php"> <span class="fa fa-shopping-cart"> </span></a></div> 298 </div> 299 </div> 300</div><div style="" class="header-main white-text"> 301 <div class="container "> 302 <div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 10px; padding-bottom: 0px; "> 303 304 305 <div class="col-sm-6"><img class="img-responsive" src="https://media.rainpos.com/11027/430x127_belmont_logo2jpg.jpg" alt="" width="430" height="127" /></div> 306<div class="col-sm-4 pull-right text-right"> 307<div class="social"><a href="#" target="_blank"><span class="fa fa-facebook-official"> </span></a> <a href="#" target="_blank"><span class="fa fa-twitter-square"> </span></a> <a href="#" target="_blank"><span class="fa fa-instagram"> </span></a> <a href="#" target="_blank"><span class="fa fa-pinterest-square"> </span></a></div> 308<div class="text-right"><form action="/module/search_content.htm" method="get" name="frmSearch"><input type="hidden" name="form_version" value="2"><input name="showSearchResults" type="hidden" value="1" /> 309<table style="width: 100%; height: auto; border: 1px solid #c8ccd3; min-width: 290px; background: #fff;" border="0" cellspacing="0" cellpadding="0"> 310<tbody> 311<tr> 312<td width="100%"><input id="search_keyword" style="width: 100%; height: 100%; background-color: transparent; border: none; padding-left: 10px; font-size: 14px; font-family: Century Gothic, sans-serif; color: #000;" name="search_keyword" size="" type="text" value="" placeholder="Search" /></td> 313<td style="padding: 10px;" align="right"><button class="glyphicon glyphicon-search" name="image" type="image" value="Search"></button></td> 314</tr> 315</tbody> 316</table> 317</form></div> 318</div> 319 </div> 320 </div> 321</div> 322 323 <!-- navigation --> 324 325<div class="menubg"> 326 <div class="container"> 327 328 <nav id="mainNav" class="navbar navbar-default"> 329 <div class="container-fluid"> 330 331 <!-- Brand and toggle get grouped for better mobile display --> 332 <div class="navbar-header" style="padding-left:15px; padding-right:15px;"> 333 <button type="button" class="navbar-toggle collapsed" style="width: 100%; float: left;" data-toggle="collapse" data-target="#navbar-collapse-1"> 334 <span class="sr-only">Toggle navigation</span> 335 ☰ Menu 336 </button> 337 <!--span class="navbar-brand visible-xs-block" data-toggle="collapse" href="#">Menu</span--> 338 </div> 339 340 <!-- Collect the nav links, forms, and other content for toggling --> 341 <div class="collapse navbar-collapse" id="navbar-collapse-1"> 342 <ul class="nav navbar-nav"> 343 <li><a href="https://www.belmontmedical.com/" class="mainMenuItem">Home</a></li><li><a href="https://www.belmontmedical.com/product-catalog.htm" class="mainMenuItem">Product Catalog</a></li><li><a href="https://www.belmontmedical.com/forms.htm" class="mainMenuItem">Rentals</a></li><li><a href="https://www.belmontmedical.com/contact.htm" class="mainMenuItem">Contact</a></li><li><a href="https://www.belmontmedical.com/feedback.htm" class="mainMenuItem">Feedback</a></li><li><a href="https://www.belmontmedical.com/services.htm" class="mainMenuItem">Insurance Disclaimer</a></li><li><a href="https://www.belmontmedical.com/about.htm" class="mainMenuItem">About</a></li> 344 </ul>
345 </div> 346 347 </div> 348 </nav> 349 </div> 350</div> 351 352 353 <!-- Accessibility stuff --> 354 <span id="skip-navigation"></span> 355 356 <!-- column2_components --> 357 <div style="" class=""> 358 <div class="container "> 359 <div class="row paddingXLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; "> 360 361 362 <div align=center style="text-align:center;"> 363 364 </div> 365 366 367<link href="/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type='text/css'> 368 369 370<style> 371 .cart-base { 372 color: #333 !important; 373 } 374 375 .text-danger, .has-error { 376 border-color: #a94442; 377 } 378 379 .error-label { 380 color: #a94442; 381 } 382 .text-hover-red:hover { 383 color: red !important; 384 } 385 386 .text-muted { 387 color: #bbb !important; 388 } 389 390 .display-block { 391 display: block; 392 } 393 394 .cartContainer { 395 background: #FFF; 396 } 397 398 .cartTable { 399 width:100%; 400 display: table; 401 } 402 403 .cartRow { 404 display: table-row; 405 } 406 407 .cartCell { 408 display: table-cell; 409 padding-left: 0; 410 padding-right: 10px; 411 vertical-align: middle; 412 border-top: 1px solid #eee; 413 padding-top: 5px; 414 padding-bottom: 5px; 415 } 416 417 .cp-title { 418 height: 30px; 419 font-weight: 600; 420 font-size: 14px; 421 line-height: 14px 422 } 423 424 .cp-title, .cp-footer { 425 border-top: 0 !important; 426 } 427 428 .cp-footer { 429 padding-top: 0; 430 height: 20px; 431 padding-bottom: 16px; 432 } 433 434 .border-top-white { 435 border-top: 1px solid white !important; 436 } 437 438 .cp-row { 439 height: 50px; 440 } 441 442 .selling-points-group { 443 box-sizing: content-box; 444 border: 1px solid #ddd; 445 border-radius: 5px; 446 padding: 16px; 447 width: 65%; 448 font-size: 12px; 449 line-height: 14px; 450 margin-top: 8px; 451 } 452 .cartTableHeader { 453 border-top: 2px solid #ddd; 454 border-bottom: 1px solid #ddd; 455 font-weight: bold; 456 font-size: larger; 457 padding-top: 5px; 458 padding-bottom: 5px; 459 background: #eee; 460 padding-right: 10px; 461 } 462 463 .cartTableHeader .cartTableSubHeader { 464 font-weight: normal; 465 font-size: small; 466 } 467 468 .cartImage, .cartDelete { 469 text-align: center; 470 } 471 472 .cartItems { 473 text-align: left; 474 } 475 476 .cartPrice, .cartQuantity, .cartAmount { 477 text-align: right; 478 } 479 480 .qtySelectCell { 481 width: 100px; 482 height: 24px; 483 padding: 0; 484 } 485 486 .cp-info-group { 487 margin: 0; 488 } 489 490 .cp-info-item { 491 border: none; 492 padding: 0; 493 height: 14px; 494 } 495 496 .cp-info-item:last-child { 497 margin-bottom: 0 !important; 498 } 499 500 .cp-info-btn { 501 cursor:pointer; 502 } 503 504 .cp-terms-conditions { 505 list-style-type: none; 506 } 507 508 .mobileDivider { 509 display: none; 510 } 511 512 .contactInfo > tbody > tr > td { 513 padding: 5px; 514 } 515 516 .leftAlignDark { 517 background: #f6f6f6; 518 padding: 20px 10px 5px 20px; 519 text-align: left; 520 } 521 522 .leftAlignLight { 523 padding: 20px 10px 5px 20px; 524 text-align: left; 525 } 526 527 .infoHeader { 528 padding: 20px 10px 5px 0 !important; 529 } 530 531 532 #gift-cards-coupons .row-divider { 533 margin-top: 10px; 534 margin-bottom: 10px; 535 } 536 #gift-cards-coupons #gift-card-coupon-label-cell { 537 padding: 10px 8px 4px 8px; 538 } 539 #gift-cards-coupons #gift-card-coupon-label { 540 /*padding: 10px;*/ 541 font-size: 13px; 542 color: #7f7f7f; 543 } 544 #gift-cards-coupons #gift-card-coupon-msgs { 545 text-align: right; 546 } 547 #gift-cards-coupons #gift-card-applied-msg { 548 font-size: 12px; 549 vertical-align: middle; 550 color: #64b92a; 551 } 552 #gift-card-coupon-error-msg, #coupon-applied-msg { 553 padding-left: 5px; 554 } 555 #gift-cards-coupons #coupon-applied-msg { 556 font-size: 12px; 557 vertical-align: middle; 558 color: #64b92a; 559 } 560 #gift-cards-coupons #gift-card-coupon-error-msg { 561 font-size: 12px; 562 vertical-align: middle; 563 color: #c0392b; 564 } 565 #gift-cards-coupons #gift-card-coupon-code { 566 width: 270px; 567 margin-left: 5px; 568 margin-right: 5px; 569 border: 1px solid #dfdfdf; 570 border-radius: 5px; 571 padding: 6px 0px 6px 12px; 572 font-size: 14px; 573 vertical-align: middle; 574 } 575 #gift-cards-coupons #gift-card-coupon-code-apply-cell { 576 padding-right: 8px; 577 vertical-align: top; 578 } 579 #gift-cards-coupons #gift-card-coupon-code-apply { 580 font-size: 14px; 581 vertical-align: middle; 582 border-radius: 4px; 583 padding: 6px 12px 6px 12px; 584 color: #333 !important; 585 background-color: #fff !important; 586 border: 1px solid !important; 587 } 588 #gift-cards-coupons #gift-card-coupon-code-apply:disabled { 589 opacity: .65; 590 } 591 #gift-cards-coupons #gift-card-coupon-code-apply:hover:enabled { 592 background-color: #e6e6e6 !important; 593 border: 1px solid #bfbfbf !important; 594 } 595 #gift-cards-coupons ::placeholder { 596 color: #bfbfbf; 597 opacity: 1; 598 } 599 #gift-cards-coupons .gc-coupon-data-loading { 600 color: #7f7f7f; 601 } 602 #gift-cards-coupons .gc-coupon-data-loading .fa-spinner { 603 font-size: 18px; 604 } 605 606 .gift-card-coupon-identifier { 607 font-weight: bold; 608 } 609 610 .jm { 611 width: 98%; 612 padding: 10px 8px 4px 8px; 613 } 614 615 .quote-contact-wrapper { 616 display: grid; 617 align-items: center; 618 padding: 0; 619 margin: 0 0 8px 0; 620 } 621 622 .quote-contact-div { 623 display: flex; 624 align-items: center; 625 justify-content: end; 626 } 627 628 .quote-contact-button { 629 border: none; 630 background-color: white; 631 } 632 633 .quote-contact-button-wrapper { 634 display: flex; 635 align-items: center; 636 justify-content: space-between; 637 gap: 4px; 638 } 639 640 #isInsuranceSwitchedOn, #isLuxsuranceSwitchedOn { 641 margin: 0; 642 } 643 644 #insuranceContactInformation { 645 margin: 0; 646 } 647 648 .review-contact-information { 649 text-align: right; 650 } 651 652 .review-contact-information-span { 653 cursor: pointer; 654 } 655 656 #text-msg-notifications { 657 font-weight: normal; 658 } 659 #text-msg-notifications i { 660 font-size: 16px; 661 } 662 663 664 @media (min-width: 768px) { 665 .contactInfo { 666 width: 80%; 667 } 668 } 669 670 @media (min-width: 768px) { 671 .contactInfo { 672 width: 90%; 673 } 674 .largeHidden { 675 display: none !important; 676 } 677 .shippingOption { 678 display: inline-block !important; 679 width: inherit !important; 680 } 681 } 682 683 @media (max-width: 767px) { 684 .contactInfo { 685 width: 100%; 686 } 687 .mobileDivider { 688 display: block !important; 689 border-top: 1px solid #ccc; 690 } 691 .mobileClear { 692 clear: both; 693 } 694 .smallHidden { 695 display: none !important; 696 } 697 .cartRow, .cartCell { 698 display: block; 699 } 700 .cartCell { 701 height:inherit; 702 border: 0px; 703 padding-top:10px; 704 padding-bottom:10px; 705 } 706 .cartAmount { 707 display: none !important; 708 } 709 .cartImage { 710 width: 50px; 711 float: right; 712 text-align: left; 713 } 714 .cartItems, .cartPrice { 715 width: 235px; 716 float: left; 717 text-align: left; 718 } 719 .cartPrice { 720 font-weight: bold; 721 } 722 .cartQuantity { 723 width: 200px; 724 float: left; 725 text-align: left; 726 } 727 .qtySelect { 728 width: 45px; 729 text-align: center; 730 } 731 .cartDelete { 732 width: 70px; 733 float: right; 734 text-align: right; 735 } 736 .shippingOption { 737 width: 100%; 738 } 739 740 /*New bootstrap styles for mobile*/ 741 .checkout-card .form-group { 742 margin-bottom: 0px; 743 } 744 745 .checkout-card input { 746 margin-bottom: 10px; 747 } 748 749 .checkout-card select { 750 margin-bottom: 10px; 751 } 752 } 753 754 .row-divider { 755 padding-top: 5px; 756 padding-bottom: 5px; 757 padding-right: 10px; 758 text-align: right; 759 } 760 761 .small-link { 762 text-decoration: none; 763 font-size: 90%; 764 } 765 766 .checkout-btn { 767 font-size: 18px; 768 line-height: 1.33; 769 border-radius: 6px; 770 text-decoration: none; 771 color: #fff !important; 772 773 display: inline-block; 774 text-align: center; 775 white-space: nowrap; 776 vertical-align: middle; 777 touch-action: manipulation; 778 cursor: pointer; 779 -moz-user-select: none; 780 -webkit-user-select: none; 781 border: 1px solid transparent; 782 783 padding-top: 10px; 784 padding-bottom: 10px; 785 padding-left: 40px !important; 786 padding-right: 40px !important; 787 margin-bottom: 0; 788 transition-duration: 0.2s; 789 background: #5bc050 !important; 790 } 791 792 .checkout-btn[disabled] { 793 opacity: 0.75 !important; 794 } 795 796 [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { 797 display: none !important; 798 } 799 800 .mt-10 { 801 margin-top: 5px; 802 } 803 804 .card { 805 background-color: #f6f6f6; 806 padding: 20px; 807 border-radius: 5px; 808 } 809 810 .new-header { 811 margin-bottom: 20px; 812 } 813 814 .express-checkout .express-checkout-title { 815 margin-top: 10px; 816 } 817 818 .express-checkout .express-checkout-panel { 819 margin-top: 10px; 820 margin-bottom: 20px; 821 border: 1px solid #ddd; 822 box-shadow: 0 1px 1px rgba(0, 0, 0, .05); 823 padding: 15px; 824 border-radius: 4px; 825 } 826 827 .express-checkout .express-checkout-panel .express-checkout-info { 828 margin-top: 10px; 829 } 830 831 .express-checkout .express-checkout-buttons { 832 display: flex; 833 flex-direction: column; 834 align-items: center; 835 overflow: hidden; 836 } 837 838 .express-checkout .express-checkout-buttons .express-checkout-button { 839 overflow: hidden; 840 max-width: 300px; 841 width: 100%; 842 } 843 844 .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) { 845 margin: 0 0 20px 0; 846 } 847 848 @media screen and (min-width: 576px) { 849 .express-checkout .express-checkout-buttons { 850 flex-direction: row; 851 justify-content: flex-start; 852 } 853 854 .express-checkout .express-checkout-buttons .express-checkout-button { 855 width: 33%; 856 } 857 858 .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) { 859 margin: 0 20px 0 0; 860 } 861 } 862 863 .discounts-block { 864 display: flex; 865 flex-direction: row-reverse; 866 } 867 868 .discount-divider { 869 width: 30%; 870 } 871 872 .divider-block-title { 873 text-align: left; 874 border-top: 1px solid lightgrey; 875 padding: 5px 0 3px 0; 876 } 877 878 .warning-box { 879 background-color: #fcf8e3; 880 color: #8a6d3b; 881 font-family: Roboto, sans-serif; 882 font-size: 12px; 883 line-height: 1.17; 884 border: 0.5px solid #8a6d3b; 885 border-radius: 4px; 886 padding: 7px; 887 text-align: left; 888 margin-bottom: 8px; 889 } 890 891 .item-box { 892 border: 1px solid #dfdfdf; 893 border-radius: 4px; 894 padding: 8px; 895 margin-bottom: 8px; 896 } 897 898 .discount-item { 899 display: flex; 900 justify-content: space-between; 901 } 902 903 .gift-card-coupon-code-span { 904 color: grey; 905 text-align: left; 906 } 907 908 .not-applied-coupon > .gift-card-coupon-code-span, 909 .not-applied-coupon > .discount-item > .discount-item-title { 910 opacity: 0.6; 911 text-align: left; 912 width: 60%; 913 } 914 915 .discount-item-title { 916 text-align: left; 917 width: 65%; 918 } 919 920 .not-applied-amount-label { 921 color: darkgrey; 922 font-weight: normal; 923 } 924 925 .times-close { 926 color: black; 927 } 928 929 .times-close:hover { 930 color: red; 931 } 932 933 .discount-amount { 934 font-weight: bold; 935 color: red; 936 } 937 938 .coupon-error-msg { 939 text-align: left; 940 } 941</style> 942 943<style> 944 .inner-label { 945 padding-right: 15px; 946 padding-left: 30px; 947 } 948 .row-grid { 949 margin-bottom: 10px; 950 text-align: right;; 951 } 952 953 .text-danger { 954 border-color: #a94442; 955 } 956 957 .text-hover-red:hover { 958 color: red; 959 } 960 .text-hover-blue:hover { 961 color: blue; 962 } 963 964 .display-block { 965 display: block; 966 } 967 968 .cartTableSubHeader { 969 font-weight: normal; 970 font-size: small; 971 } 972 973 .panel-default { 974 background: #f6f6f6 !important; 975 } 976 977 .btn-sm { 978 background: #ccc !important; 979 } 980 981 .btn-lg { 982 padding-left: 40px; 983 padding-right: 40px; 984 } 985 986 .card-default{ 987 color: #bbb; 988 } 989 .card-visa{ 990 color: #037AFC; 991 } 992 .card-mastercard{ 993 color: #FFA600; 994 } 995 .card-amex{ 996 color: #1696D3; 997 } 998 .card-discover{ 999 color: #FF680F; 1000 } 1001 .form-control{ 1002 margin-bottom: 15px; 1003 } 1004 .error-label{ 1005 position: relative; 1006 top: -12px; 1007 } 1008 1009 .option_radio { 1010 display: inline-block; 1011 vertical-align: top; 1012 } 1013 1014 .option_content { 1015 display: inline-block; 1016 margin-left: 5px;
1017 margin-top: 1px; 1018 margin-bottom: 5px; 1019 } 1020 1021 [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak { 1022 display: none !important; 1023 } 1024</style> 1025 1026<div class="container cartContainer cart-base" ng-app="checkoutApp" ng-controller="checkoutCtrl" ng-init="Init('https://www.belmontmedical.com', '4CF3BF52-2F60-4EE2-B08F-62875D10532E', 'US', 'IL', '', true, [])" ng-cloak > 1027 <div> 1028 <!-- Header --> 1029 <div class="row"> 1030 <div ng-show="InitInfo.CheckoutSettings.HeaderType == 'Custom'" class="col-sm-12"> 1031 <div id="customheader"></div> 1032 </div> 1033 </div> 1034 1035 1036 <div ng-if="CartData.message" class="alert alert-warning"> 1037 <button type="button" class="close" ng-click="ErrorMessageClose()">×</button> 1038 {{CartData.message}} 1039 </div> 1040 1041 <div ng-if="!requireAddressInfo() && !requireContactInfo()"> 1042 <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning"> 1043 <button type="button" class="close" ng-click="InventoryMessagesClose()">×</button> 1044 <div ng-if="InventoryMessages.RemovedItems"> 1045 We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed 1046 <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul> 1047 </div> 1048 <div ng-if="InventoryMessages.InventoryChanges"> 1049 <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div> 1050 </div> 1051 </div> 1052 1053 <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning"> 1054 <button type="button" class="close" ng-click="AvailabilityMessagesClose()">×</button> 1055 <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0"> 1056 We're sorry, but an item in your cart is no longer available online but may still be available in store. Your cart has been adjusted and the following product(s) have been removed: 1057 <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul> 1058 </div> 1059 </div> 1060 </div> 1061 1062 <!-- Initial Cart Contents --> 1063 <div ng-if="!isWebPayment()"> 1064 <div class="h1">Shopping Cart</div> 1065 </div> 1066 <br> 1067 <div ng-if="StatusInfo.Initializing"> 1068 <i class="fa fa-spinner fa-pulse fa-2x"></i> 1069 </div> 1070 <div ng-if="showContinueShopping()"> 1071 <span ng-show="!CartStatus.Valid" > 1072 Your cart is empty. 1073 </span> 1074 <a href="{{InitInfo.ShopUrl}}/checkout/sync.php?redirect=" style="btn">Click Here</a> to continue shopping.</h4> 1075 </div> 1076 <div ng-if="isCardProcessorRain()" ng-show="showExpressCheckout()" class="row"> 1077 <div class="col-sm-7"> 1078 <div class="express-checkout"> 1079 <div class="express-checkout-title"> 1080 <strong>Express Checkout</strong> 1081 </div> 1082 1083 <div class="express-checkout-panel"> 1084 <div class="express-checkout-buttons"> 1085 <div class="express-checkout-button" id="payment-request-button-wrapper" style="display: none;"> 1086 <div id="payment-request-button"> 1087 <!-- A Stripe Element will be inserted here. --> 1088 </div> 1089 </div> 1090 </div> 1091 1092 <div class="express-checkout-info"> 1093 If you choose Apple Pay or Google Pay, 1094 you will need to set your shipping preferences in the window 1095 that opens after you click the button. 1096 Settings below will not display there. 1097 </div> 1098 </div> 1099 </div> 1100 </div> 1101 </div> 1102 1103 <!-- Initial Items List --> 1104 <div ng-if="!showHostedCheckout()"> 1105 <br> 1106 <!-- Item Summary --> 1107<div class="cartTable" ng-if="showItemSummary()"> 1108 <div class="cartRow smallHidden"> 1109 <div class="cartCell cartTableHeader cartImage"></div> 1110 <div class="cartCell cartTableHeader cartItems">Items</div> 1111 <div class="cartCell cartTableHeader cartPrice">Price</div> 1112 <div class="cartCell cartTableHeader cartQuantity">Quantity</div> 1113 <div class="cartCell cartTableHeader cartAmount">Amount</div> 1114 <div class="cartCell cartTableHeader cartDelete"></div> 1115 </div> 1116 <div class="cartRow" data-cy="web-cart-item-row" ng-cloak ng-repeat="item in CartData.Items"> 1117 <div class="mobileDivider largeHidden"></div> 1118 <div class="cartCell cartImage"><img ng-if="item.image && item.image != 'undefined'" ng-src="{{item.image}}" style="vertical-align: middle; max-height: 50px; max-width: 50px; padding-right: 8px;"></div> 1119 <div class="cartCell cartItems" data-cy="web-cart-item-title">
1120 <span ng-if="item.condition"> 1121 {{item.title}} {{item.condition.title}} 1122 </span> 1123 <span ng-if="!item.condition"> 1124 {{item.title}} 1125 <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span> 1126 </span> 1127 <span ng-if="!item.quantity_updating && item.type == 'rental'"> 1128 - {{item.id}} 1129<!-- Below doesn't work--> 1130<!-- <a ng-click="editRental(item)" class="btn-default" style="cursor: pointer;" title="Edit Rental">--> 1131<!-- <i class="fa fa-edit fa-lg"></i>--> 1132<!-- </a>--> 1133 </span> 1134 <span ng-if="item.package_items" ng-repeat="pitem in item.package_items"> 1135 <br> - {{pitem.title}} 1136 </span> 1137 <span ng-if="item.class_attendees.length"> 1138 <br> - Attendees: 1139 <span ng-repeat="name in item.class_attendees"> 1140 {{name}} 1141 </span> 1142 </span> 1143<style> 1144 a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited { 1145 font-size: 13px; 1146 text-decoration: none; 1147 } 1148 table.subscription-details { 1149 font-size: 13px; 1150 margin: 5px 0; 1151 } 1152 .details-hidden { 1153 visibility: hidden; 1154 height: 0; 1155 } 1156</style> 1157 1158<div ng-if="item.type === 'subscription'"> 1159 <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);"> 1160 <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i> 1161 View Subscription Details 1162 </a> 1163 <div ng-class="{'details-hidden': !showSubscriptionDetails}"> 1164 <style> 1165 table.subscription-details span.small-subtitle { 1166 font-size: 10px; 1167 } 1168 table.subscription-details tr td:first-child { 1169 padding: 0 15px 0 0; 1170 } 1171</style> 1172 1173<table class="subscription-details"> 1174 <tr> 1175 <td>{{item.subscriptionData.labels.adverb}} Price:</td> 1176 <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td> 1177 </tr> 1178 <tr> 1179 <td>Subscription Length:</td> 1180 <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td> 1181 </tr> 1182 <tr> 1183 <td>Start/End Date:</td> 1184 <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td> 1185 </tr> 1186 <tr> 1187 <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td> 1188 <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td> 1189 </tr> 1190 <tr> 1191 <td>Previous {{item.subscriptionData.labels.plural}}:</td> 1192 <td> 1193 <span ng-if="item.subscriptionData.previous_items_cnt > 0"> 1194 {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}} 1195 </span> 1196 <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span> 1197 </td> 1198 </tr> 1199 <tr> 1200 <td>Delivery Method:</td> 1201 <td ng-switch="item.subscriptionData.delivery_type"> 1202 <span ng-switch-when="ship"> 1203 Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}} 1204 </span> 1205 <span ng-switch-default>In-Store Pickup</span> 1206 </td> 1207 </tr> 1208 <tr ng-if="item.subscriptionData.delivery_type === 'ship'"> 1209 <td>Address:</td> 1210 <td>{{item.subscriptionData.address}}</td> 1211 </tr> 1212 <tr> 1213 <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td> 1214 <td> 1215 <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong> 1216 </td> 1217 </tr> 1218 <tr> 1219 <td><strong>Due Today:</strong></td> 1220 <td> 1221 <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong> 1222 </td> 1223 </tr> 1224</table> 1225 </div> 1226</div>
1227 <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block"> 1228 This item is not eligible for discounts 1229 </span> 1230 </div> 1231 <div ng-if="!showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemPriceForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div> 1232 <div ng-if="showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemGstPrice(item) | currency:InitInfo.CurrencySymbol2}}</div> 1233 <div class="mobileClear largeHidden"></div> 1234 <div class="cartCell cartQuantity" data-cy="web-cart-item-quantity"> 1235 <div ng-if="showQuantityAsSelector(item)" style="white-space: nowrap;"> 1236 <select data-cy="web-cart-item-quantity-select" ng-model="item.qty_integer" ng-options="opt.id as opt.name for opt in item.integer_options" class="qtySelect" style="width: 75px; height: 24px; padding: 0;" ng-change="QuantityChanged(item)"> 1237 </select> 1238 <span> 1239 <select ng-if="item.qty_type == 'fraction'" ng-model="item.qty_remainder" ng-options="opt.id as opt.name for opt in item.remainder_options" class="qtySelect" style="width: 100px; height: 24px; padding: 0;" ng-change="QuantityChanged(item)"> 1240 </select> 1241 <span>{{ getItemUnitType(item); }}</span> 1242 </span> 1243 </div> 1244 <div ng-if="showQuantityAsNumber(item)"> 1245 {{item.qty_integer}} 1246 </div> 1247 <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i> 1248 </div> 1249 <div ng-if="!showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemTotalForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div> 1250 <div ng-if="showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</div> 1251 <div class="cartCell cartDelete"> 1252 <a href="" data-cy="web-cart-item-remove" ng-if="!item.removing" ng-click="ItemRemove(item)" class="text-muted text-hover-red"><span class="smallHidden"><i class="fa fa-times"></i></span><span class="largeHidden">remove</span></a> 1253 <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i> 1254 </div> 1255 <div class="mobileClear largeHidden"></div> 1256 </div> 1257 </div> 1258 1259 1260 1261 1262<!-- Items Subtotal --> 1263 1264<div ng-if="!showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal"> 1265 Subtotal: {{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} 1266</div> 1267<div ng-if="showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal"> 1268 Subtotal: {{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} 1269</div> 1270 1271 <!-- Gift Cards and Coupons --> 1272 <div ng-show="isProcessingEnabled()"> 1273 <div ng-if="shouldShowGiftCardsCoupons()" id="gift-cards-coupons"> 1274 1275 <!-- Gift Card or Coupon Code Lookup --> 1276 <table> 1277 <tr> 1278 <td colspan="3"> 1279 <div ng-show="isProductInCart()" class="quote-contact-wrapper"> 1280 </div> 1281 </td> 1282 </tr> 1283 <tr> 1284 <td style="width: 98%;"> 1285 </td> 1286 <td id="gift-card-coupon-label-cell" style="width: 1%;"> 1287 </td> 1288 <td style="width: 1%;"> 1289 </td> 1290 </tr> 1291 <tr> 1292 <td id="gift-card-coupon-msgs"> 1293 <span> 1294 <!-- Loading -->
1295 <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span> 1296 </span> 1297 </td> 1298 <td> 1299 <input id="gift-card-coupon-code" data-cy="web-cart-coupon-input" ng-model="StatusInfo.giftCardOrCouponCode" ng-keydown="giftCardOrCouponCodeKeyDown($event)" type="text" placeholder="Enter Gift Card or Coupon Code"> 1300 <span> 1301 <!-- Messages --> 1302 <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i> {{giftCardCouponMsg}}</span> 1303 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 1304 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> Coupon Added</span> 1305 </span> 1306 </td> 1307 <td id="gift-card-coupon-code-apply-cell"> 1308 <button id="gift-card-coupon-code-apply" data-cy="web-cart-coupon-apply" ng-disabled="!shouldEnableGiftCardCouponApplyBtn()" ng-click="getGiftCardOrCoupon()" type="button" class="btn btn-default">Apply</button> 1309 </td> 1310 </tr> 1311 </table> 1312 1313 <!-- Coupons --> 1314 <div class="discounts-block"> 1315 <div ng-show="CartData.Coupons.length > 0" class="row-divider discount-divider"> 1316 <div class="divider-block-title"> 1317 Coupons 1318 </div> 1319 <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert alert-warning warning-box"> 1320 <span ng-if="showOnlyHighestDiscountWarning()"> 1321 Only a single coupon with the highest savings will be applied. 1322 </span> 1323 <span ng-if="showDontApplyOnSaleItemsWarning()"> 1324 Coupons do not apply to On Sale Items 1325 </span> 1326 </div> 1327 <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}"> 1328 <div class="discount-item"> 1329 <div class="discount-item-title"> 1330 <a href="" ng-click="openCouponDetailsModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a> 1331 </div> 1332 <div class="discount-amount"> 1333 <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} </span> 1334 <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} </span> 1335 <a href="" ng-show="!StatusInfo.CouponUpdating" ng-click="removeCoupon(c.couponId)" class="text-muted text-hover-red"><i class="fa fa-times times-close"></i></a> 1336 <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i> 1337 </div> 1338 </div> 1339 <div class="gift-card-coupon-code-span"> 1340 {{c.couponCode}} 1341 </div> 1342 <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">
1342{{couponStatusMessage}}</div> 1343 </div> 1344 </div> 1345 </div> 1346 <div class="discounts-block"> 1347 <!-- Gift Cards --> 1348 1349 <div ng-if="CartData.GiftCards.length > 0" class="row-divider discount-divider"> 1350 <div class="divider-block-title"> 1351 Gift Cards 1352 </div> 1353 <div ng-repeat="gc in CartData.GiftCards" class="item-box"> 1354 <div class="discount-item"> 1355 <div> 1356 <span class="gift-card-coupon-identifier">{{gc.title}}</span> 1357 </div> 1358 <div class="discount-amount"> 1359 -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} 1360 <a href="" ng-show="!StatusInfo.GiftCardUpdating" ng-click="removeGiftCard(gc.id)" class="text-muted text-hover-red"><i class="fa fa-times times-close"></i></a> 1361 <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i> 1362 </div> 1363 </div> 1364 <div class="gift-card-coupon-code-span"> 1365 {{gc.number}} 1366 </div> 1367 </div> 1368 </div> 1369 </div> 1370 </div> 1371 1372 <!-- Checkout Options --> 1373 <div align="right"> 1374 <div ng-show="showSecureOrPaypal()" class="row-divider" style="display: inline-block; text-align:center;"> 1375 <br> 1376 1377 <span ng-if="allowCreditCardCheckout() && isCardProcessorNMI()"> 1378 <button ng-click="GoToCheckoutUrl()" class="checkout-btn" data-cy="web-cart-checkout-button"> 1379 Secure Checkout <i class="button-icon-right fa fa-caret-right"></i> 1380 </button> 1381 </span> 1382 1383 <span ng-if="isCardProcessorVantiv()"> 1384 <button id="checkout-vantiv" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_VANTIV)" class="checkout-btn"> 1385 Checkout <i class="button-icon-right fa fa-caret-right"></i> 1386 </button> 1387 </span> 1388 1389 <span ng-if="isCardProcessorRain()"> 1390 <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_RAIN)" class="checkout-btn"> 1391 Checkout <i class="button-icon-right fa fa-caret-right"></i> 1392 </button> 1393 </span> 1394 1395 <span ng-if="isCardProcessorQuiltAdyen()"> 1396 <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_QUILT_ADYEN)" class="checkout-btn"> 1397 Checkout <i class="button-icon-right fa fa-caret-right"></i> 1398 </button> 1399 </span> 1400 1401 <div ng-if="showPaypalButtonOnCart()" style="padding:10px;"> 1402 <p><strong>- OR -</strong></p> 1403 <img id="checkout-paypal" ng-click="CartDone('paypal')" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-medium.png" style="margin-right:7px; cursor: pointer;"> 1404 </div> 1405 1406 <br> 1407 </div> 1408 1409 <div ng-show="isCartTotalExceeded()" class="mt-10">Please contact our store for payment options on your purchase.</div> 1410 </div> 1411 </div> 1412 <div ng-if="!isProcessingEnabled()"> 1413 <p> </p> 1414 <p>Online checkout is currently disabled. Please call {{InitInfo.Store.phone}} to place an order.</p> 1415 </div> 1416 </div> 1417 <div ng-show="showHostedCheckout()"> 1418 <style> 1419 1420 #shippingInStorePickupOptions .nav-pills>li>a { 1421 border: solid #ddd 1px; 1422 color: #337ab7 !important; 1423 } 1424 1425 #shippingInStorePickupOptions .nav-justified>li { 1426 padding: 0 10px; 1427 } 1428 1429 1430 #shippingInStorePickupOptions .nav-pills>li.active>a { 1431 position: relative; 1432 color: #fff !important; 1433 background: #337ab7; 1434 border-color: #337ab7; 1435 } 1436 1437 #shippingInStorePickupOptions .nav-pills>li.active>a:hover { 1438 color: #fff !important; 1439 } 1440 1441 @media (min-width: 768px) { 1442 #shippingInStorePickupOptions .nav-pills>li.active>a:before { 1443 position: absolute; 1444 content: ''; 1445 bottom: -10px; 1446 left: 0; 1447 right: 0; 1448 margin: 0 auto; 1449 width: 0; 1450 height: 0; 1451 border-style: solid; 1452 border-width: 10px 10px 0 10px; 1453 border-color: #337ab7 transparent transparent transparent; 1454 } 1455 } 1456 1457 #shippingInStorePickupOptions .well { 1458 background-color: #fff; 1459 } 1460 1461 #shippingInStorePickupOptions .form-group { 1462 margin-bottom: 5px; 1463 } 1464 1465 .tab-options .nav-pills>li>a { 1466 border: solid #ddd 1px; 1467 color: #337ab7 !important; 1468 } 1469 1470 .tab-options .nav-justified>li { 1471 padding: 0 10px; 1472 } 1473 1474 .tab-options .nav-pills>li.active>a { 1475 position: relative; 1476 color: #fff !important; 1477 background: #337ab7; 1478 border-color: #337ab7; 1479 } 1480 1481 .tab-options .nav-pills>li.active>a:hover { 1482 color: #fff !important; 1483 } 1484 1485 @media (min-width: 768px) { 1486 .tab-options .nav-pills>li.active>a:before { 1487 position: absolute; 1488 content: ''; 1489 bottom: -10px; 1490 left: 0; 1491 right: 0; 1492 margin: 0 auto; 1493 width: 0; 1494 height: 0; 1495 border-style: solid; 1496 border-width: 10px 10px 0 10px; 1497 border-color: #337ab7 transparent transparent transparent; 1498 } 1499 } 1500 1501 .tab-options .well { 1502 background-color: #fff; 1503 } 1504 1505 .tab-options .form-group { 1506 margin-bottom: 5px; 1507 } 1508
1509 a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited { 1510 font-size: 13px; 1511 text-decoration: none; 1512 } 1513 table.subscription-details { 1514 font-size: 13px; 1515 margin: 5px 0; 1516 } 1517 table.subscription-details tr td:first-child { 1518 padding: 0 15px 0 0; 1519 } 1520 table.subscription-details span.small-subtitle { 1521 font-size: 10px; 1522 } 1523 .dynamic_tax_error { 1524 color: #939ca6; 1525 } 1526 1527 #gift-card-coupon-code-apply { 1528 color: #333 !important; 1529 background-color: #fff !important; 1530 border: 1px solid !important; 1531 } 1532 1533 .divider-checkout-block-title { 1534 text-align: left; 1535 margin-bottom: 10px; 1536 } 1537 1538 .divider-checkout-block-gc-title { 1539 text-align: left; 1540 } 1541 1542 .messages-coupon-gc { 1543 font-size: 12px; 1544 } 1545 1546 #gift-card-coupon-msgs > #coupon-applied-msg, #gift-card-applied-msg { 1547 font-size: 12px; 1548 vertical-align: middle; 1549 color: #64b92a; 1550 } 1551 1552 #gift-card-coupon-msgs > #gift-card-coupon-error-msg { 1553 font-size: 12px; 1554 vertical-align: middle; 1555 color: #c0392b; 1556 } 1557 1558 .row-divider-checkout { 1559 padding-bottom: 5px; 1560 text-align: right; 1561 } 1562 1563 .quote-contact-checkout-button { 1564 border: none; 1565 background-color: #f6f6f6; 1566 } 1567 1568 .review-contact-information-checkout { 1569 text-align: left; 1570 padding-left: 23px; 1571 } 1572 1573 .checkout-marketing-emails-checkbox { 1574 margin-top: -10px; 1575 display: block; 1576 } 1577 1578 .terms-fallback-panel { 1579 background: #f5f5f5; 1580 border: 1px solid #e3e3e3; 1581 border-radius: 4px; 1582 margin-bottom: 20px; 1583 vertical-align: text-top; 1584 } 1585 1586 .divider-row { 1587 display: flex; 1588 align-items: center; 1589 gap: 8px; 1590 margin: 12px 0; 1591 } 1592 1593 .divider-line { 1594 flex: 1; 1595 height: 1px; 1596 background: #e5e7eb; 1597 } 1598 1599 .divider-text { 1600 color: #6b7280; 1601 } 1602 1603 .saved-cards-container { 1604 border: 1px solid #e5e7eb; 1605 border-radius: 6px; 1606 padding: 12px; 1607 background-color: #fff; 1608 max-height: 200px; 1609 overflow-y: auto; 1610 } 1611 1612 .saved-cards-header { 1613 display: flex; 1614 padding: 0 8px 8px; 1615 font-weight: 600; 1616 } 1617 1618 .saved-cards-col-name { 1619 flex: 1; 1620 } 1621 1622 .saved-cards-col-exp { 1623 width: 20%; 1624 text-align: left; 1625 } 1626 1627 .saved-card-row { 1628 display: flex; 1629 align-items: center; 1630 padding: 8px; 1631 border-top: 1px solid #f3f4f6; 1632 box-sizing: border-box; 1633 transition: background 0.2s, border 0.2s; 1634 } 1635 1636 .saved-card-row.saved-card-selected { 1637 background: #e8f3ff; 1638 border: 1px solid #9ac7ff; 1639 border-radius: 6px; 1640 } 1641 1642 .saved-card-label { 1643 display: flex; 1644 align-items: center; 1645 gap: 8px; 1646 flex: 1; 1647 min-width: 0; 1648 margin: 0; 1649 cursor: pointer; 1650 } 1651 1652 .saved-card-label input[type="radio"] { 1653 margin-top: 0; 1654 position: relative; 1655 top: 0; 1656 } 1657 1658 .saved-card-info { 1659 min-width: 0; 1660 } 1661 1662 .saved-card-title { 1663 font-weight: bold; 1664 overflow: hidden; 1665 text-overflow: ellipsis; 1666 white-space: nowrap; 1667 } 1668 1669 .saved-card-last4, 1670 .saved-card-exp { 1671 font-weight: normal; 1672 color: #6b7280; 1673 } 1674 1675 .saved-card-expdate { 1676 flex: 0 0 20%; 1677 font-weight: bold; 1678 } 1679 1680 .nickname-group { 1681 margin-bottom: 16px; 1682 } 1683 1684 .nickname-label { 1685 display: flex; 1686 gap: 6px; 1687 align-items: baseline; 1688 font-weight: bold; 1689 margin-bottom: 6px; 1690 } 1691 1692 .nickname-optional { 1693 font-size: 12px; 1694 font-weight: normal; 1695 color: #6b7280; 1696 } 1697 1698 .nickname-input { 1699 border: 1px solid #d1d5db; 1700 border-radius: 6px; 1701 padding: 8px 10px; 1702 font-size: 14px; 1703 transition: border-color 0.2s ease; 1704 } 1705 1706 .nickname-input:focus { 1707 outline: none; 1708 border-color: #3b82f6; 1709 box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15); 1710 } 1711 1712 .payment-wrapper { 1713 position: relative; 1714 } 1715 1716 .payment-overlay { 1717 position: absolute; 1718 inset: 0; 1719 background: rgba(255, 255, 255, 0.3); 1720 cursor: pointer; 1721 z-index: 10; 1722 border-radius: 4px; 1723 transition: background 0.2s ease; 1724 } 1725 1726 .payment-overlay:hover { 1727 background: rgba(255, 255, 255, 0.3); 1728 } 1729</style> 1730 1731<!-- Main Checkout --> 1732<div class="row" ng-show="showMainCheckout()"> 1733 <div class="col-sm-7"> 1734 1735 <!-- Error messages --> 1736 1737 <div ng-if="StatusInfo.ErrorMessage" class="alert alert-danger" data-cy="web-checkout-error-top"> 1738 <button type="button" class="close" ng-click="ErrorMessageClose()" data-cy="web-checkout-error-top-close">×</button> 1739 {{StatusInfo.ErrorMessage}} 1740 </div> 1741 1742 <div ng-if="CartData.Message" class="alert alert-warning" data-cy="web-checkout-cart-message"> 1743 <button type="button" class="close" ng-click="ErrorMessageClose()">×</button> 1744 {{CartData.Message}} 1745 </div> 1746 1747 <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning" data-cy="web-checkout-inventory-message"> 1748 <button type="button" class="close" ng-click="InventoryMessagesClose()">×</button> 1749 <div ng-if="InventoryMessages.RemovedItems.length > 0"> 1750 We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed 1751 <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul> 1752 </div> 1753 <div ng-if="InventoryMessages.InventoryChanges.length > 0"> 1754 <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div> 1755 </div> 1756 </div> 1757 1758 <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning" data-cy="web-checkout-availability-message"> 1759 <button type="button" class="close" ng-click="AvailabilityMessagesClose()">×</button> 1760 <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
1761 We're sorry, but an item in your cart is no longer available online but may still be available in store. Your cart has been adjusted and the following product(s) have been removed: 1762 <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul> 1763 </div> 1764 </div> 1765 1766 <div ng-if="StatusInfo.DynamicTaxError" class="alert alert-danger" data-cy="web-checkout-error-tax"> 1767 {{StatusInfo.DynamicTaxError}} 1768 </div> 1769 <!-- Initial Cart Contents --> 1770 1771 <div ng-show="!isCartValid()" class="panel panel-default ng-hide"> 1772 <div class="panel-body"> 1773 <h4>Your cart is empty. <a href="{{InitInfo.ShopUrl}}/checkout/sync.php" style="btn">Click Here</a> to continue shopping.</h4> 1774 </div> 1775 </div> 1776 1777 <!-- Mobile Items --> 1778 1779 <div class="panel panel-default visible-xs"> 1780 <div ng-if="StatusInfo.Initializing" class="panel-body"> 1781 <i class="fa fa-spinner fa-pulse fa-2x"></i> 1782 </div> 1783 <table ng-if="!StatusInfo.Initializing" class="table"> 1784 1785 1786<thead> 1787<tr> 1788 <td><strong>Description</strong></td> 1789 <td><strong>Quantity</strong></td> 1790 <td colspan="2"><strong>Amount</strong></td> 1791</tr> 1792</thead> 1793<tbody ng-repeat="item in CartData.Items"> 1794<tr> 1795 <td colspan="4" style="border-bottom: 0; padding-bottom: 0;"> 1796 <span ng-if="item.condition"> 1797 {{item.title}} ({{item.condition.title}}) 1798 </span> 1799 1800 <span ng-if="!item.condition"> 1801 {{item.title}} 1802 <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span> 1803 </span> 1804 1805 <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block"> 1806 This item is not eligible for discounts 1807 </span> 1808 <span ng-if="!item.quantity_updating && item.type == 'rental'"> 1809 - {{item.id}} 1810 </span> 1811 <span ng-if="item.package_items" ng-repeat="pitem in item.package_items"> 1812 <br> - {{pitem.title}} 1813 </span> 1814 <span ng-if="item.class_attendees.length"> 1815 <br> - Attendees: 1816 <span ng-repeat="name in item.class_attendees"> 1817 {{name}} 1818 </span> 1819 </span> 1820 </td> 1821</tr> 1822<tr> 1823 <td style="border-top: 0;"> 1824 <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;"> 1825 1826 </td> 1827 <td style="vertical-align: middle; border-top: 0;"> 1828 <div ng-if="showQuantityAsSelector(item)" class="form-inline"> 1829 <select ng-model="item.qty_integer" ng-options="opt.id as opt.name for opt in item.integer_options" class="form-control" style="max-width: 75px; height: 24px; padding: 0; margin-bottom: 0px !important;" ng-change="QuantityChanged(item)"> 1830 </select> 1831 1832 <span ng-if="item.qty_type == 'fraction'"> 1833 <select ng-model="item.qty_remainder" ng-options="opt.id as opt.name for opt in item.remainder_options" class="form-control" style="max-width: 85px; height: 24px; padding: 0; margin-bottom: 0px !important;" ng-change="QuantityChanged(item)"> 1834 </select> 1835 <span ng-if="item.measure_unit == 'Meter'">Metres</span> 1836 <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span> 1837 </span> 1838 </div> 1839 <div ng-if="showQuantityAsNumber(item)"> 1840 {{item.qty_integer}} 1841 </div> 1842 <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i> 1843 </td> 1844 1845 <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td> 1846 1847 <td style="vertical-align: middle; border-top: 0;"> 1848 <div class="cartCell cartDelete"> 1849 <a href="#" ng-if="!item.removing" ng-click="ItemRemove(item)" class="text-muted text-hover-red"><span class="smallHidden"><i class="fa fa-times"></i></span><span class="largeHidden">remove</span></a> 1850 <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i> 1851 </div> 1852 </td> 1853 <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td> 1854</tr> 1855<tr ng-if="item.type === 'subscription'"> 1856 <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
1857 <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);"> 1858 <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i> 1859 View Subscription Details 1860 </a> 1861 <div ng-show="showSubscriptionDetails"> 1862 <table class="subscription-details"> 1863 <tr> 1864 <td>{{item.subscriptionData.labels.adverb}} Price:</td> 1865 <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td> 1866 </tr> 1867 <tr> 1868 <td>Subscription Length:</td> 1869 <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td> 1870 </tr> 1871 <tr> 1872 <td>Start/End Date:</td> 1873 <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td> 1874 </tr> 1875 <tr> 1876 <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td> 1877 <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td> 1878 </tr> 1879 <tr> 1880 <td>Previous {{item.subscriptionData.labels.plural}}:</td> 1881 <td> 1882 <span ng-if="item.subscriptionData.previous_items_cnt > 0"> 1883 {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}} 1884 </span> 1885 <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span> 1886 </td> 1887 </tr> 1888 <tr> 1889 <td>Delivery Method:</td> 1890 <td ng-switch="item.subscriptionData.delivery_type"> 1891 <span ng-switch-when="ship"> 1892 Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}} 1893 </span> 1894 <span ng-switch-default>In-Store Pickup</span> 1895 </td> 1896 </tr> 1897 <tr ng-if="item.subscriptionData.delivery_type === 'ship'"> 1898 <td>Address:</td> 1899 <td>{{item.subscriptionData.address}}</td> 1900 </tr> 1901 <tr> 1902 <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td> 1903 <td> 1904 <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong> 1905 </td> 1906 </tr> 1907 <tr> 1908 <td><strong>Due Today:</strong></td> 1909 <td> 1910 <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong> 1911 </td> 1912 </tr> 1913 </table> 1914 </div> 1915 </td> 1916</tr> 1917</tbody> 1918 </table> 1919 </div> 1920 1921 <!-- Show Contact Info --> 1922 <div ng-form="contactForm" ng-show="showContactInfo()" class="panel panel-default ng-hide"> 1923 <div class="panel-body"> 1924 1925 <!-- Validation Messages --> 1926 <div ng-show="!inStorePickup() && (ShippingStatus.MessagesShow && ShippingStatus.NotValidMessages.length > 0 || ContactStatus.MessagesShow && ContactStatus.NotValidMessages.length > 0)" class="row"> 1927 <div class="col-xs-12 text-danger"> 1928 <span ng-repeat="message in ContactStatus.NotValidMessages"><label>{{message}}</label><br></span> 1929 </div> 1930 <div class="col-xs-12 text-danger"> 1931 <span ng-repeat="message in ShippingStatus.NotValidMessages"><label>{{message}}</label><br></span> 1932 </div> 1933 </div> 1934 1935 <div class="row"> 1936 <div class="col-xs-12"> 1937 <label>Contact Information</label> 1938 </div> 1939 </div> 1940 1941 <div class="row"> 1942 <div ng-class="FormFieldErrorClass('contactForm', 'email', contactForm)" class="col-sm-6"> 1943 <input required 1944 id="billing_email" 1945 data-cy="web-checkout-contact-email" 1946 name="email" 1947 type="email" 1948 ng-model="BillingInfo.Email" 1949 class="form-control" 1950 placeholder="Email" 1951 ng-focus="InitToolTip($event)" 1952 data-toggle="tooltip" 1953 ng-blur="updateCouponsByCustomerGroups()" 1954 title="Email Address"> 1955 <label ng-if="FormFieldError('contactForm', 'email', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-email-error"> 1956 Please enter a valid email 1957 </label> 1958 <label ng-if="isSubscribeToMarketingEmailsEnabled()" class="checkout-marketing-emails-checkbox" id="text-msg-notifications"> 1959 <input class="ng-pristine ng-untouched ng-valid" id="subscribeToMarketingEmails" data-cy="web-checkout-subscribe-marketing" type="checkbox" ng-click="toggleSubscribeToMarketingEmails()"> 1960 <small for="subscribeToMarketingEmails"> 1961 Sign me up for News and Offers 1962 </small> 1963 </label> 1964 </div> 1965 <div ng-class="FormFieldErrorClass('contactForm', 'phone', contactForm)" class="col-sm-6"> 1966 <input 1967 id="billing_phone" 1968 data-cy="web-checkout-contact-phone" 1969 required 1970 phone-number 1971 ng-model="BillingInfo.Phone" 1972 ng-focus="InitToolTip($event)" 1973 name="phone" 1974 type="text" 1975 data-toggle="tooltip" 1976 title="Phone Number" 1977 class="form-control" 1978 > 1979 <label ng-if="FormFieldError('contactForm', 'phone', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-phone-error"> 1980 Please enter a valid phone number 1981 </label> 1982 <label style="margin-top: -10px; display: block;" id="text-msg-notifications" ng-if="isTextMessagingSupported()"> 1983 <input type="checkbox" ng-model="CheckoutInfo.sendTextNotifications" class="ng-pristine ng-untouched ng-valid"> 1984 <small>Get order update texts</small> 1985 <i class="fa fa-mobile" aria-hidden="true"></i> 1986 </label> 1987 </div> 1988 </div> 1989 </div> 1990 </div> 1991 1992 <!-- Shipping Information --> 1993 <div ng-form="shippingForm" ng-show="showShippingForm() && isShippingRequired()" class="panel panel-default ng-hide"> 1994 <div class="panel-body"> 1995 1996 <div ng-if="InitInfo.wholesale.checkout_enabled"> 1997 <div class="row"> 1998 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6"> 1999 <input ng-required="!isPickup()" 2000 capitalize-first 2001 id="shipping_first_name" data-cy="web-checkout-shipping-first-name" 2002 name="shipping_first_name" 2003 type="text" 2004 ng-model="ShippingInfo.FirstName" 2005 class="form-control" 2006 placeholder="First Name" 2007 ng-focus="InitToolTip($event)" 2008 data-toggle="tooltip" 2009 title="First Name"> 2010 <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label"> 2011 Please enter a first name 2012 </label> 2013 </div> 2014 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" > 2015 <input ng-required="!isPickup()" 2016 capitalize-first 2017 id="shipping_last_name" data-cy="web-checkout-shipping-last-name" 2018 name="shipping_last_name" 2019 type="text" 2020 ng-model="ShippingInfo.LastName" 2021 class="form-control" 2022 placeholder="Last Name" 2023 ng-focus="InitToolTip($event)" 2024 data-toggle="tooltip" 2025 title="Last Name"> 2026 <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label"> 2027 Please enter a last name 2028 </label> 2029 </div> 2030 </div> 2031 2032 <div class="row"> 2033 <div class="col-sm-6"> 2034 <input capitalize-first 2035 id="company_name" data-cy="web-checkout-shipping-company" 2036 name="company_name" 2037 type="text" 2038 ng-model="ShippingInfo.company_name" 2039 class="form-control" 2040 placeholder="Company Name" 2041 ng-focus="InitToolTip($event)" 2042 data-toggle="tooltip" 2043 title="Company Name"> 2044 </div> 2045 </div> 2046 </div> 2047 2048 <div id="shippingInStorePickupOptions"> 2049 2050 <div ng-if="areShippingOptionsRequired()"> 2051 <label>Shipping and Pickup Options</label> 2052 </div> 2053 2054 <!-- Shipping Nav tabs --> 2055 <ul class="nav nav-pills nav-justified" role="tablist" id="shippingTabs"> 2056 <li role="presentation" class="active" ng-if="isShippingTabVisible()"> 2057 <a href="#shippingOptions" aria-controls="shippingOptions" role="tab" data-toggle="pill">
2058 <span class="fa fa-truck fa-fw"></span> Shipping Options 2059 </a> 2060 </li> 2061 <li role="presentation" ng-if="isLocalDeliveryEnabled() && isLocalDeliveryOptionsProvided"> 2062 <a href="#localDelivery" aria-controls="localDelivery" role="tab" data-toggle="pill" id="localDeliveryTab"> 2063 <span class="fa fa-home fa-fw"></span> Local Delivery 2064 </a> 2065 </li> 2066 <li role="presentation" ng-if="isStorePickupEnabled() && hasStorePickupOptions()"> 2067 <a href="#inStorePickup" aria-controls="inStorePickup" role="tab" data-toggle="pill" id="inStorePickupTab"> 2068 <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> In-Store Pickup 2069 </a> 2070 </li> 2071 <li role="presentation" ng-if="isCurbsidePickupEnabled() && hasCurbsidePickupOptions()"> 2072 <a href="#curbsidePickup" aria-controls="curbsidePickup" role="tab" data-toggle="pill" id="curbsidePickupTab"> 2073 <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> Curbside Pickup 2074 </a> 2075 </li> 2076 <li role="presentation" ng-if="isOsrSchoolPickupEnabled() && hasSchoolPickupOptions()"> 2077 <a href="#schoolPickup" aria-controls="schoolPickup" role="tab" data-toggle="pill" id="schoolPickupTab"> 2078 <span class="fa fa-school fa-fw"></span> <strong>FREE</strong> School Delivery 2079 </a> 2080 </li> 2081 </ul> 2082 2083 <!-- Shipping Tab panes --> 2084 <div class="tab-content" style="margin-top: 15px;"> 2085 2086 <div role="tabpanel" class="tab-pane fade in active" id="shippingOptions" ng-if="isShippingFormVisible()"> 2087 <!-- Shipping Options --> 2088 <div class="well"> 2089 <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())"> 2090 <div class="col-xs-12"> 2091 <div class="pull-left"> 2092 Please input an address to see shipping options 2093 </div> 2094 </div> 2095 </div> 2096 <!-- Shipping options --> 2097 <div ng-if="ShippingStatus.OptionsUpdating" class="row"> 2098 <div class="col-xs-12"> 2099 <i class="fa fa-spinner fa-pulse"></i> 2100 </div> 2101 </div> 2102 2103 <div ng-if="!ShippingStatus.OptionsUpdating"> 2104 <div ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()" class="row"> 2105 <div class="col-xs-12"> 2106 <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p> 2107 </div> 2108 </div> 2109 <div ng-if="showShippingStateRequired()" class="row"> 2110 <div class="col-xs-12"> 2111 <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">Please enter a valid {{ShippingInfo.ZipOrPostal}} to see shipping options</p> 2112 </div> 2113 </div> 2114 <div ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()" class="row"> 2115 <div class="col-xs-12"> 2116 Shipping options are not available for this country or region. 2117 <br> 2118 Please call {{InitInfo.Store.phone}} for shipping options. 2119 </div> 2120 </div> 2121 <div ng-if="hasShippingOptions()" class="row"> 2122 <div class="col-xs-12"> 2123 <ul class="list-unstyled"> 2124 <li ng-repeat="option in enhancedShippingInfo.shippingOptions track by option.id"> 2125 <div class="form-group"> 2126 <label> 2127 <input 2128 ng-required="!ShippingInfo.OptionId" 2129 name="shipping_option" 2130 type="radio" 2131 value="{{option.id}}" 2132 ng-change="ShippingVerify()" 2133 ng-model="ShippingInfo.OptionId" 2134 class="option_radio" 2135 >
2136 <span class="option_content" style="font-weight: normal"> 2137 <span ng-if="!isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{option.price | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span> 2138 <span ng-if="isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span> 2139 </span> 2140 </label> 2141 </div> 2142 </li> 2143 </ul> 2144 <div> 2145 <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small> 2146 </div> 2147 </div> 2148 </div> 2149 </div> 2150 </div> 2151 2152 <!-- Ship to School --> 2153 <div ng-if="canShowShipToSchool()"> 2154 <div class="form-group"> 2155 <label> 2156 <input type="checkbox" ng-model="ShippingInfo.shipToSchool"> 2157 Ship to School 2158 </label> 2159 </div> 2160 2161 <div ng-if="ShippingInfo.shipToSchool"> 2162 <div ng-if="districts && districts.length > 0" class="school-selection"> 2163 <div ng-class="FormFieldErrorClass('shippingForm', 'district_select', shippingForm)" class="form-group"> 2164 <label for="district_select">Select District</label> 2165 <select id="district_select" 2166 name="district_select" 2167 class="form-control" 2168 ng-model="ShippingInfo.selectedDistrict" 2169 ng-options="district as district.name for district in districts" 2170 ng-change="onDistrictChange()" 2171 ng-required="ShippingInfo.shipToSchool"> 2172 <option value="">-- Select District --</option> 2173 </select> 2174 <label ng-if="FormFieldError('shippingForm', 'district_select', shippingForm)" class="control-label error-label"> 2175 Please select a district 2176 </label> 2177 </div> 2178 2179 <div ng-class="FormFieldErrorClass('shippingForm', 'school_select', shippingForm)" class="form-group"> 2180 <label for="school_select">Select School</label> 2181 <select id="school_select" 2182 name="school_select" 2183 class="form-control" 2184 ng-model="ShippingInfo.selectedSchool" 2185 ng-options="school as school.name for school in schools" 2186 ng-disabled="!ShippingInfo.selectedDistrict" 2187 ng-required="ShippingInfo.shipToSchool"> 2188 <option value="">-- Select School --</option> 2189 </select> 2190 <label ng-if="FormFieldError('shippingForm', 'school_select', shippingForm)" class="control-label error-label"> 2191 Please select a school 2192 </label> 2193 </div> 2194 </div> 2195 </div> 2196 </div> 2197 2198 <!-- Shipping Address --> 2199 <div ng-if="showShippingAddressForm()"> 2200 <div class="row"> 2201 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()"> 2202 <input ng-required="!isPickup()" 2203 capitalize-first 2204 id="shipping_first_name" data-cy="web-checkout-shipping-first-name" 2205 name="shipping_first_name" 2206 type="text" 2207 ng-model="ShippingInfo.FirstName" 2208 class="form-control" 2209 placeholder="First Name" 2210 ng-focus="InitToolTip($event)" 2211 data-toggle="tooltip" 2212 title="First Name"> 2213 <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label"> 2214 Please enter a first name 2215 </label> 2216 </div> 2217 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()"> 2218 <input ng-required="!isPickup()" 2219 capitalize-first 2220 id="shipping_last_name" data-cy="web-checkout-shipping-last-name" 2221 name="shipping_last_name" 2222 type="text" 2223 ng-model="ShippingInfo.LastName" 2224 class="form-control" 2225 placeholder="Last Name" 2226 ng-focus="InitToolTip($event)" 2227 data-toggle="tooltip" 2228 title="Last Name"> 2229 <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label"> 2230 Please enter a last name 2231 </label> 2232 </div> 2233 </div> 2234 2235 <div class="row"> 2236 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_address_1', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()"> 2237 <input ng-required="!isPickup()" 2238 capitalize-first 2239 id="shipping_address_1" data-cy="web-checkout-shipping-address1" 2240 name="shipping_address_1" 2241 type="text" 2242 ng-model="ShippingInfo.Address1" 2243 street-address 2244 ng-disabled="ShippingInfoPrefilledFlags.Address1" 2245 ng-blur="AddressBlur()" 2246 class="form-control" 2247 placeholder="Street Address 1" 2248 ng-focus="InitToolTip($event)" 2249 data-toggle="tooltip" 2250 title="Street Address 1"> 2251 <label ng-if="FormFieldError('shippingForm', 'shipping_address_1', shippingForm) && shippingForm.shipping_address_1.$error.required" class="control-label error-label"> 2252 Please enter a street address 2253 </label> 2254 <label ng-if="FormFieldError('shippingForm', 'shipping_address_1', shippingForm) && !shippingForm.shipping_address_1.$error.required && shippingForm.shipping_address_1.$error.streetAddress" class="control-label error-label"> 2255 Please enter a valid street address. 2256 </label> 2257 </div> 2258 <div class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()"> 2259 <input 2260 id="shipping_address_2" data-cy="web-checkout-shipping-address2" 2261 name="shipping_address_2" 2262 type="text" 2263 ng-model="ShippingInfo.Address2" 2264 ng-disabled="ShippingInfoPrefilledFlags.Address2" 2265 ng-blur="AddressBlur()" 2266 class="form-control" 2267 placeholder="Street Address 2" 2268 ng-focus="InitToolTip($event)" 2269 data-toggle="tooltip" 2270 title="Street Address 2" 2271 > 2272 </div> 2273 </div> 2274 2275 <div class="row"> 2276 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_city', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()"> 2277 <input ng-required="!isPickup()" 2278 capitalize-first 2279 id="shipping_city" data-cy="web-checkout-shipping-city"
2280 name="shipping_city" 2281 type="text" 2282 ng-model="ShippingInfo.City" 2283 ng-disabled="ShippingInfoPrefilledFlags.City" 2284 ng-blur="AddressBlur()" 2285 class="form-control" 2286 placeholder="City" 2287 ng-focus="InitToolTip($event)" 2288 data-toggle="tooltip" 2289 title="City"> 2290 <label ng-if="FormFieldError('shippingForm', 'shipping_city', shippingForm)" class="control-label error-label"> 2291 Please enter a City 2292 </label> 2293 </div> 2294 <div ng-if="InitInfo.Regions[ShippingInfo.CountryKey] && ShippingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6"> 2295 <select ng-required="!isPickup()" 2296 id="shipping_state" data-cy="web-checkout-shipping-state" 2297 name="shipping_state" 2298 ng-change="ShippingOptionsGet()" 2299 ng-model="ShippingInfo.State" 2300 ng-disabled="ShippingInfoPrefilledFlags.State" 2301 class="form-control"> 2302 <option value="">Select {{ShippingInfo.StateOrProvince}}</option> 2303 <option ng-repeat="(key, value) in InitInfo.Regions[ShippingInfo.CountryKey]" value="{{key}}">{{value}}</option> 2304 </select> 2305 <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label"> 2306 Please select a {{ShippingInfo.StateOrProvince}} 2307 </label> 2308 </div> 2309 <div ng-if="!InitInfo.Regions[ShippingInfo.CountryKey]" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6"> 2310 <input ng-required="!isPickup()" 2311 capitalize-first 2312 id="shipping_state" data-cy="web-checkout-shipping-state" 2313 name="shipping_state" 2314 type="text" 2315 ng-model="ShippingInfo.State" 2316 ng-disabled="ShippingInfoPrefilledFlags.State" 2317 ng-change="ShippingOptionsGet()" 2318 class="form-control" 2319 placeholder="State/Province" 2320 ng-focus="InitToolTip($event)" 2321 data-toggle="tooltip" 2322 title="State/Province"> 2323 <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label"> 2324 Please enter the State/Province 2325 </label> 2326 </div> 2327 <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('shippingForm', 'shipping_country', shippingForm)" class="col-sm-6"> 2328 <select ng-required="!isPickup()" 2329 id="shipping_country" data-cy="web-checkout-shipping-country" 2330 name="shipping_country" 2331 ng-change="changeShippingCountry()" 2332 ng-model="ShippingInfo.CountryKey" 2333 ng-disabled="ShippingInfoPrefilledFlags.Country" 2334 class="form-control" 2335 ng-options="key as value for (key, value) in InitInfo.Countries"> 2336 </select> 2337 <label ng-if="FormFieldError('shippingForm', 'shipping_country', shippingForm)" class="control-label error-label"> 2338 Please select a country 2339 </label> 2340 </div> 2341 <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_zip', shippingForm)" class="col-sm-6"> 2342 <input ng-required="!isPickup()" 2343 id="shipping_zip" data-cy="web-checkout-shipping-zip" 2344 name="shipping_zip" 2345 type="text" 2346 ng-change="ShippingOptionsGet()" 2347 ng-model="ShippingInfo.Zip" 2348 ng-disabled="ShippingInfoPrefilledFlags.Zip" 2349 ng-model-options="{debounce: 750}" 2350 class="form-control" 2351 style="max-width: 125px;" 2352 placeholder="{{ShippingInfo.ZipOrPostal}}" 2353 ng-focus="InitToolTip($event)" 2354 data-toggle="tooltip" 2355 title="{{ShippingInfo.ZipOrPostal}}"> 2356 <label ng-if="FormFieldError('shippingForm', 'shipping_zip', shippingForm)" class="control-label error-label"> 2357 Please enter a {{ShippingInfo.ZipOrPostal}} 2358 </label> 2359 </div> 2360 </div> 2361 <!-- Order Notes --> 2362 <div class="row"> 2363 <div class="col-xs-12"> 2364 <label>Notes</label> 2365 </div> 2366 </div> 2367 <div class="row"> 2368 <div class="col-sm-12"> 2369 <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea> 2370 </div> 2371 </div> 2372 2373 <!-- Gift Message --> 2374 <div class="row" ng-if="shouldShowGiftCardsCoupons()"> 2375 <label class="col-xs-12"> 2376 <input type="checkbox" ng-model="GiftMessage.Checked" ng-click="GiftMessageEdit()"> 2377 <small>This is a gift</small> 2378 </label> 2379 </div> 2380 <div ng-show="GiftMessage.Checked || GiftMessage.Message" class="row"> 2381 <div class="col-xs-12"> 2382 <div class="form-group"> 2383 <p> 2384 <small>Prices will be hidden on receipt.</small> 2385 </p> 2386 <label class="">Gift Message</label> <small>(Optional)</small> 2387 <textarea ng-model="GiftMessage.Message" class="form-control" rows="4"></textarea> 2388 </div> 2389 </div> 2390 </div> 2391 </div> 2392 </div> 2393 <div role="tabpanel" class="tab-pane fade" id="inStorePickup"> 2394 <div class="well"> 2395 <!-- Shipping options --> 2396 <div ng-if="ShippingStatus.OptionsUpdating" class="row"> 2397 <div class="col-xs-12"> 2398 <i class="fa fa-spinner fa-pulse"></i> 2399 </div> 2400 </div> 2401 <div ng-if="!ShippingStatus.OptionsUpdating"> 2402 <div ng-if="!ShippingStatus.OptionsValid" class="row"> 2403 <div class="col-xs-12">
2404 <span ng-if="ShippingStatus.Message"> 2405 <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p> 2406 </span> 2407 </div> 2408 </div> 2409 <div ng-if="!hasStorePickupOptions()" class="row"> 2410 <div class="col-xs-12"> 2411 Store Pickup options are not available for this country or region. 2412 </div> 2413 </div> 2414 2415 <div ng-if="hasStorePickupOptions()" class="row"> 2416 <div class="col-xs-12"> 2417 <ul class="list-unstyled"> 2418 <li ng-repeat="option in enhancedShippingInfo.storePickupOptions track by option.id"> 2419 <div class="form-group"> 2420 <label> 2421 <input 2422 ng-required="!ShippingInfo.OptionId" 2423 name="shipping_option" 2424 type="radio" 2425 value="{{option.id}}" 2426 ng-change="ShippingVerify()" 2427 ng-model="ShippingInfo.OptionId" 2428 class="option_radio" 2429 > 2430 <span class="option_content" style="font-weight: normal"> 2431 <strong>{{option.store_location_name}}</strong> 2432 <br> 2433 <span>{{option.delivery_time}}</span> 2434 </span> 2435 </label> 2436 </div> 2437 </li> 2438 </ul> 2439 <div> 2440 <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small> 2441 </div> 2442 </div> 2443 </div> 2444 2445 <!-- Order Notes --> 2446 <div class="row"> 2447 <div class="col-xs-12"> 2448 <label>Notes</label> 2449 </div> 2450 </div> 2451 <div class="row"> 2452 <div class="col-sm-12"> 2453 <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea> 2454 </div> 2455 </div> 2456 </div> 2457 </div> 2458 </div> 2459 <div role="tabpanel" class="tab-pane fade" id="curbsidePickup"> 2460 <div class="well"> 2461 <!-- Shipping options --> 2462 <div ng-if="ShippingStatus.OptionsUpdating" class="row"> 2463 <div class="col-xs-12"> 2464 <i class="fa fa-spinner fa-pulse"></i> 2465 </div> 2466 </div> 2467 <div ng-if="!ShippingStatus.OptionsUpdating"> 2468 <div ng-if="!ShippingStatus.OptionsValid" class="row"> 2469 <div class="col-xs-12">
2470 <span ng-if="ShippingStatus.Message"> 2471 <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p> 2472 </span> 2473 </div> 2474 </div> 2475 <div ng-if="!hasCurbsidePickupOptions()" class="row"> 2476 <div class="col-xs-12"> 2477 Curbside pickup options are not available for this country or region. 2478 </div> 2479 </div> 2480 2481 <div ng-if="hasCurbsidePickupOptions()" class="row"> 2482 <div class="col-xs-12"> 2483 <ul class="list-unstyled"> 2484 <li ng-repeat="option in enhancedShippingInfo.curbsidePickupOptions track by option.id"> 2485 <div class="form-group"> 2486 <label> 2487 <input 2488 ng-required="!ShippingInfo.OptionId" 2489 name="shipping_option" 2490 type="radio" 2491 value="{{option.id}}" 2492 ng-change="ShippingVerify()" 2493 ng-model="ShippingInfo.OptionId" 2494 class="option_radio" 2495 > 2496 <span class="option_content" style="font-weight: normal"> 2497 <strong>{{option.store_location_name}}</strong> 2498 <br> 2499 <span>{{option.delivery_time}}</span> 2500 </span> 2501 </label> 2502 </div> 2503 </li> 2504 </ul> 2505 <div> 2506 <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small> 2507 </div> 2508 </div> 2509 </div> 2510 </div> 2511 </div> 2512 </div> 2513 2514 <div role="tabpanel" class="tab-pane fade" id="schoolPickup" ng-if="areShippingOptionsRequired()"> 2515 <div class="well"> 2516 <div ng-if="!ShippingStatus.OptionsUpdating"> 2517 <div ng-if="!ShippingStatus.OptionsValid" class="row"> 2518 <div class="col-xs-12"> 2519 <span ng-if="ShippingStatus.Message"> 2520 <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p> 2521 </span> 2522 </div> 2523 </div> 2524 <div ng-if="!hasSchoolPickupOptions() || !isOsrSchoolPickupAvailable()" class="row"> 2525 <div class="col-xs-12"> 2526 School Delivery is not available now. 2527 </div> 2528 </div> 2529 2530 <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()" class="row"> 2531 <div class="col-xs-12"> 2532 <ul class="list-unstyled"> 2533 <li ng-repeat="option in enhancedShippingInfo.schoolPickupOptions track by option.id"> 2534 <div class="form-group"> 2535 <label> 2536 <input 2537 ng-required="!ShippingInfo.OptionId" 2538 name="shipping_option" 2539 type="radio" 2540 value="{{option.id}}" 2541 ng-change="ShippingVerify()" 2542 ng-model="ShippingInfo.OptionId" 2543 class="option_radio" 2544 >
2545 <span class="option_content" style="font-weight: normal"> 2546 <strong> {{ option.school_name ? option.school_name : (checkFlagRestoreSchoolDeliveryShippingOption() ? 'School Delivery' : '') }}</strong> 2547 <br> 2548 <span>{{option.delivery_time}}</span> 2549 </span> 2550 </label> 2551 </div> 2552 </li> 2553 </ul> 2554 <div> 2555 <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small> 2556 </div> 2557 </div> 2558 </div> 2559 2560 <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()"> 2561 <!-- Order Notes --> 2562 <div class="row"> 2563 <div class="col-xs-12"> 2564 <label>Notes</label> 2565 </div> 2566 </div> 2567 <div class="row"> 2568 <div class="col-sm-12"> 2569 <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea> 2570 </div> 2571 </div> 2572 </div> 2573 </div> 2574 </div> 2575 </div> 2576 2577 <div ng-if="isLocalDeliveryEnabled()" role="tabpanel" class="tab-pane fade" id="localDelivery"> 2578 <div class="well"> 2579 <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())"> 2580 <div class="col-xs-12"> 2581 <div class="pull-left"> 2582 Please input an address to see shipping options 2583 </div> 2584 </div> 2585 </div> 2586 2587 <div class="row" ng-if="ShippingStatus.OptionsUpdating"> 2588 <div class="col-xs-12"><i class="fa fa-spinner fa-pulse"></i></div> 2589 </div> 2590 2591 <div ng-if="!ShippingStatus.OptionsUpdating"> 2592 <div class="row" ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()"> 2593 <div class="col-xs-12"> 2594 <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p> 2595 </div> 2596 </div> 2597 2598 <div class="row" ng-if="showShippingStateRequired()"> 2599 <div class="col-xs-12"> 2600 <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;"> 2601 Please enter a valid {{ShippingInfo.ZipOrPostal}} to see delivery options 2602 </p> 2603 </div> 2604 </div> 2605 2606 <div class="row" ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()"> 2607 <div class="col-xs-12"> 2608 Local delivery options are not available for this country or region. 2609 <br> 2610 Please call {{InitInfo.Store.phone}} for delivery options. 2611 </div> 2612 </div> 2613 2614 <div class="row" ng-if="hasLocalDeliveryOptions()"> 2615 <div class="col-xs-12"> 2616 <ul class="list-unstyled"> 2617 <li ng-repeat="option in enhancedShippingInfo.localDeliveryOptions track by option.id"> 2618 <div class="form-group"> 2619 <label style="font-weight: normal;"> 2620 <input 2621 ng-required="!ShippingInfo.OptionId" 2622 name="shipping_option" 2623 type="radio" 2624 class="option_radio" 2625 ng-model="ShippingInfo.OptionId" 2626 ng-value="option.id" 2627 ng-change="ShippingInfo.Option = option; ShippingVerify()" 2628 >
2629 <span class="option_content"> 2630 <strong>{{option.name}}</strong> 2631 <span ng-if="!isTaxInclusive()"> - {{option.price | currency:InitInfo.CurrencySymbol2}}</span> 2632 <span ng-if="isTaxInclusive()"> - {{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span> 2633 <br><span>{{option.delivery_time}}</span> 2634 </span> 2635 </label> 2636 </div> 2637 </li> 2638 </ul> 2639 <small ng-if="ShippingStatus.Submitted && !ShippingInfo.OptionId" class="text-danger control-label"> 2640 Please select a shipping option 2641 </small> 2642 </div> 2643 </div> 2644 </div> 2645 </div> 2646 </div> 2647 </div> 2648 </div> 2649 2650 <div ng-if="showNoShippingRequired()"> 2651 <div class="row"> 2652 <div class="col-xs-12"> 2653 Shipping is not required for any of the items in your cart. 2654 </div> 2655 </div> 2656 </div> 2657 2658 <!-- <div class="row">--> 2659 <!-- <label class="col-xs-12">--> 2660 <!-- <input type="checkbox" ng-model="ContactInfo.JoinEmailList" checked> --> 2661 <!-- <small>Join our email list</small> --> 2662 <!-- </label>--> 2663 <!-- </div>--> 2664 2665 </div> 2666 </div> 2667 2668 <!-- Contact Shipping Summary --> 2669 2670 <div ng-show="showSummaries()" class="ng-hide"> 2671 <div class="well"> 2672 <div class="row"> 2673 <div class="col-xs-6"> 2674 <strong>Contact Information</strong> 2675 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 2676 <br> 2677 <small> 2678 {{BillingInfo.Email}}<br> 2679 {{BillingInfo.Phone}}<br> 2680 </small> 2681 </div> 2682 <div ng-if="GiftMessage.Checked" class="col-xs-6"> 2683 <strong>Gift Message</strong> 2684 <a href="" ng-click="ShippingEdit()"><small>Change</small></a><br> 2685 <span><small><strong>This is a gift</strong></small><br></span> 2686 <span ng-if="GiftMessage.Message"><small>{{GiftMessage.Message}}</small></span> 2687 <span ng-if="!GiftMessage.Message"><small>There is no message</small></span> 2688 </div> 2689 2690 <div ng-if="!isPickup()" class="col-xs-6"> 2691 <strong >Shipping Information</strong> 2692 <span ng-if="ShippingStatus.Entered && ShippingStatus.Required"> 2693 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 2694 <br> 2695 <small style="text-transform: capitalize;"> 2696 <span ng-if="ShippingInfo.FirstName || ShippingInfo.LastName">{{ShippingInfo.FirstName}} {{ShippingInfo.LastName}}<br></span> 2697 <span ng-if="ShippingInfo.Address1">{{ShippingInfo.Address1}}<br></span>
2698 <span ng-if="ShippingInfo.Address2">{{ShippingInfo.Address2}}<br></span> 2699 <span ng-if="ShippingInfo.City">{{ShippingInfo.City}},</span> {{ShippingInfo.State}} {{ShippingInfo.Zip}} 2700 <span ng-if="ShippingInfo.Country != Region"><br>{{ShippingInfo.Country}}</span> 2701 </small> 2702 </span> 2703 <span ng-if="!ShippingStatus.Required">No shipping required</span> 2704 </div> 2705 <div ng-if="isPickup()" class="col-xs-6"> 2706 <strong ng-if="isStorePickup()">Store Pickup Information</strong> 2707 <strong ng-if="isCurbsidePickup()">Curbside Pickup Information</strong> 2708 <strong ng-if="isSchoolPickup()">School Delivery Information</strong> 2709 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 2710 <br> 2711 <small style="text-transform: capitalize;"> 2712 {{ShippingInfo.Option.delivery_time}} 2713 </small> 2714 </div> 2715 2716 <div ng-if="ShippingInfo.Comments" class="col-xs-6"> 2717 <strong>Additional Comments</strong> 2718 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 2719 </div> 2720 </div> 2721 </div> 2722 </div> 2723 2724 <!-- Mobile Summary --> 2725 2726 <div class="panel panel-default visible-xs-block"> 2727 <div ng-if="StatusInfo.Initializing" class="panel-body"> 2728 <i class="fa fa-spinner fa-pulse fa-2x"></i> 2729 </div> 2730 <table ng-if="!StatusInfo.Initializing" class="table"> 2731 <tr> 2732 <td colspan="2"> 2733 Subtotal 2734 <small><a ng-click="StatusInfo.CouponShow = !StatusInfo.CouponShow" href="">Enter Coupon</a> | <a ng-click="StatusInfo.CouponShow = !StatusInfo.CouponShow" href="">Gift Card</a></small> 2735 </td> 2736 <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></td> 2737 </tr> 2738 <tr ng-if="StatusInfo.CouponShow"> 2739 <td colspan="2"> 2740 <span id="gift-card-coupon-msgs"> 2741 <!-- Messages --> 2742 <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i> {{giftCardCouponMsg}}</span> 2743 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 2744 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> Coupon Applied</span> 2745 <!-- Loading --> 2746 <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span> 2747 </span> 2748 <input id="gift-card-coupon-code" data-cy="web-cart-coupon-input" ng-model="StatusInfo.giftCardOrCouponCode" ng-keydown="giftCardOrCouponCodeKeyDown($event)" type="text" placeholder="Enter Card Number or Coupon Code" class="form-control" style="margin-bottom: 0px !important;"> 2749 </td> 2750 <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: bottom;"> 2751 <button id="gift-card-coupon-code-apply" data-cy="web-cart-coupon-apply" ng-disabled="!shouldEnableGiftCardCouponApplyBtn()" ng-click="getGiftCardOrCoupon()" type="button" class="btn btn-default">Apply</button> 2752 </td> 2753 </tr> 2754 <tbody ng-if="CartData.Coupons.length > 0" ng-repeat="coupon in CartData.Coupons"> 2755 <tr> 2756 <td colspan="2"> 2757 Discount 2758 {{coupon.title}} 2759 <a ng-click="removeCoupon(coupon.couponId)" href="">[remove]</a> 2760 </td> 2761 <td colspan="2" align="right"> 2762 <strong>-{{coupon.discount | currency:InitInfo.CurrencySymbol2}}</strong> 2763 </td> 2764 </tr> 2765 </tbody>
2766 <tr ng-if="ShippingStatus.Valid && ShippingStatus.Required"> 2767 <td colspan="2"> 2768 Shipping {{ShippingInfo.Option.name}}<br> 2769 <small>{{ShippingInfo.Option.delivery_time}}</small> 2770 </td> 2771 <td ng-if="!isTaxInclusive()" colspan="2" align="right"> 2772 <strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong> 2773 </td> 2774 <td ng-if="isTaxInclusive()" colspan="2" align="right"> 2775 <strong>{{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}</strong> 2776 </td> 2777 </tr> 2778 <tr> 2779 <td colspan="2"> 2780 Taxes 2781 </td> 2782 <td colspan="2" align="right" data-cy="web-checkout-summary-taxes"> 2783 <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span> 2784 <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong> 2785 </td> 2786 </tr> 2787 <tr ng-if="ShippingTaxes"> 2788 <td colspan="2"> 2789 Shipping Taxes 2790 </td> 2791 <td colspan="2" align="right"> 2792 <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong> 2793 </td> 2794 </tr> 2795 <tbody ng-if="CartData.GiftCards.length > 0" ng-repeat="gc in CartData.GiftCards"> 2796 <tr> 2797 <td colspan="2"> 2798 Gift Card <a href="" ng-click="removeGiftCard(gc.id)">[remove]</a><br> 2799 <small>{{gc.number}}</small> 2800 </td> 2801 <td colspan="2" align="right"> 2802 <strong>-{{gc.Amount | currency:InitInfo.CurrencySymbol2}}</strong> 2803 </td> 2804 </tr> 2805 </tbody> 2806 <tr> 2807 <td colspan="2"> 2808 Total 2809 </td> 2810 <td ng-if="!showAsGST()" colspan="2" align="right" class="h4" data-cy="web-checkout-summary-total"> 2811 <strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong> 2812 </td> 2813 <td ng-if="showAsGST()" style="text-align: right;min-width: 95px;"> 2814 <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong> 2815 <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span> 2816 </td> 2817 </tr> 2818 </table> 2819 </div> 2820 2821 <!-- Billing Edit --> 2822 2823 <div ng-form="billingForm" ng-class="{'panel panel-default' : ((showTerms() || isShippingEntered() || digitalOrder) && !isBNPLEnabled())}" ng-show="showBillingSection()"> 2824 <div ng-if="isBNPLEnabled()"> 2825 <div ng-show="showRainProcessing()" style="margin-bottom: 20px;"> 2826 <payment-methods 2827 is-affirm-enabled="isBNPLEnabled('affirm')" 2828 is-afterpay-enabled="isBNPLEnabled('afterpay')" 2829 is-klarna-enabled="isBNPLEnabled('klarna')" 2830 is-paypal-enabled="allowPayPalCheckout() && !isCardOnFileNeeded()" 2831 is-pay-at-pick-up-enabled="showPaymentOptions()" 2832 amount="getBNPLAmount()" 2833 due="Due" 2834 currency="getBNPLCurrency()" 2835 currency-symbol="InitInfo.CurrencySymbol2" 2836 country="getBNPLCountry()" 2837 merchant-country="getBNPLMerchantCountry()" 2838 model="stripeBNPLModel" 2839 on-payment-method-changed="onPaymentMethodChanged" 2840 on-ready="initRainProcessing" 2841 ></payment-methods> 2842 </div> 2843 2844 <div ng-show="showRainProcessing() && showBillingSection() && !isPayAtPickup()" style="margin-bottom: 20px;"> 2845 <billing-address 2846 show-billing-address="showBillingAddress()" 2847 is-shipping-required="isShippingRequired()"
2848 ></billing-address> 2849 </div> 2850 2851 <div ng-if="showTerms()"> 2852 <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" style='padding-left: 15px;'> 2853 <input required id="TAndC" data-cy="web-checkout-terms-agree" name="TAndC" type="checkbox" ng-model="BillingInfo.TermsAgree"> 2854 I Agree to the Terms and Conditions (<a href="javascript:void(0);" ng-click="TermsShow()">click here to view</a>) 2855 <br> 2856 2857 <label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label"> 2858 Please accept the Terms and Conditions before continuing. 2859 </label> 2860 </div> 2861 </div> 2862 </div> 2863 2864 <div ng-if="!isBNPLEnabled()" class="panel-body tab-options"> 2865 <div ng-show="showBillingForm()" class="ng-hide"> 2866 <div ng-show="showPaymentOptions()"> 2867 <div> 2868 <label>Payment Options</label> 2869 </div> 2870 2871 <!-- Nav tabs --> 2872 <ul class="nav nav-pills nav-justified" role="tablist"> 2873 <li role="presentation" class="active"> 2874 <a href="#payNow" aria-controls="payNow" role="tab" data-toggle="pill" ng-click="payWithCardSelected()" id="payNowTab"> 2875 <span class="fa fa-credit-card fa-fw"></span> Pay Now 2876 </a> 2877 </li> 2878 <li role="presentation"> 2879 <a href="#payAtPickup" aria-controls="payAtPickup" role="tab" data-toggle="pill" ng-click="payAtPickupSelected()" id="payAtPickupTab"> 2880 <span class="fa fa-truck fa-fw"></span> Pay at Pickup 2881 </a> 2882 </li> 2883 </ul> 2884 </div> 2885 2886 <div class="tab-content" style="margin-top: 15px;" ng-show="showPaymentSection()"> 2887 <div role="tabpanel" class="tab-pane fade in active" id="payNow"> 2888 <div ng-show="!isPayPal() || digitalOrder"> 2889 <div class="row"> 2890 <div class="col-xs-12"> 2891 <label>Billing Address</label> 2892 <!-- Validation Messages --> 2893 <span ng-if="BillingStatus.MessagesShow && BillingStatus.NotValidMessages.length > 0" class="text-danger"> 2894 <span ng-repeat="bm in BillingStatus.NotValidMessages"> 2895 <br>{{bm}} 2896 </span> 2897 </span> 2898 </div> 2899 </div> 2900 2901 <div ng-if="isShippingRequired()" ng-hide="isPickup() || HideBillingSameAsShipping" class="row"> 2902 <label class="col-xs-12"> 2903 <input type="checkbox" data-cy="web-checkout-billing-same-as-shipping" ng-model="BillingInfo.AddressSameAsShipping" ng-click="BillingVerify()"> 2904 <small>My billing address is the same as my shipping address</small> 2905 </label> 2906 </div> 2907 2908 <div ng-show="showBillingAddress()"> 2909 <div class="row"> 2910 <div ng-class="FormFieldErrorClass('billingForm', 'billing_first', billingForm)" class="col-sm-6"> 2911 <input required 2912 capitalize-first 2913 id="billing_first" data-cy="web-checkout-billing-first-name" 2914 name="billing_first" 2915 type="text" 2916 ng-model="BillingInfo.FirstName" 2917 class="form-control" 2918 placeholder="First Name" 2919 ng-disabled="disableBillingFields()" 2920 ng-focus="InitToolTip($event)" 2921 data-toggle="tooltip" 2922 title="First Name"> 2923 <label ng-if="FormFieldError('billingForm', 'billing_first', billingForm)" class="control-label error-label"> 2924 Please enter a first name 2925 </label> 2926 </div> 2927 <div ng-class="FormFieldErrorClass('billingForm', 'billing_last', billingForm)" class="col-sm-6"> 2928 <input required 2929 capitalize-first 2930 id="billing_last" data-cy="web-checkout-billing-last-name" 2931 name="billing_last" 2932 type="text" 2933 ng-model="BillingInfo.LastName" 2934 class="form-control" 2935 placeholder="Last Name" 2936 ng-disabled="disableBillingFields()" 2937 ng-focus="InitToolTip($event)" 2938 data-toggle="tooltip" 2939 title="Last Name"> 2940 <label ng-if="FormFieldError('billingForm', 'billing_last', billingForm)" class="control-label error-label"> 2941 Please enter a last name 2942 </label> 2943 </div> 2944 </div> 2945 <div class="row"> 2946 <div ng-class="FormFieldErrorClass('billingForm', 'billing_address1', billingForm)" class="col-sm-6"> 2947 <input required 2948 capitalize-first 2949 id="billing_address1" data-cy="web-checkout-billing-address1" 2950 name="billing_address1" 2951 type="text" 2952 ng-model="BillingInfo.Address1" 2953 class="form-control" 2954 placeholder="Address Line 1" 2955 ng-disabled="disableBillingFields()" 2956 ng-focus="InitToolTip($event)" 2957 data-toggle="tooltip" 2958 title="Address Line 1"> 2959 <label ng-if="FormFieldError('billingForm', 'billing_address1', billingForm)" class="control-label error-label"> 2960 Please enter a street address 2961 </label> 2962 </div> 2963 <div class="col-sm-6"> 2964 <input capitalize-first 2965 id="billing_address2" data-cy="web-checkout-billing-address2" 2966 name="billing_address2" 2967 type="text" 2968 ng-model="BillingInfo.Address2" 2969 class="form-control" 2970 placeholder="Address Line 2" 2971 ng-disabled="disableBillingFields()" 2972 ng-focus="InitToolTip($event)" 2973 data-toggle="tooltip" 2974 title="Address Line 2"> 2975 </div> 2976 </div> 2977 <div class="row"> 2978 <div ng-class="FormFieldErrorClass('billingForm', 'billing_city', billingForm)" class="col-sm-6"> 2979 <input required 2980 capitalize-first 2981 id="billing_city" data-cy="web-checkout-billing-city"
2982 name="billing_city" 2983 type="text" 2984 ng-model="BillingInfo.City" 2985 class="form-control" 2986 placeholder="City" 2987 ng-disabled="disableBillingFields()" 2988 ng-focus="InitToolTip($event)" 2989 data-toggle="tooltip" 2990 title="City"> 2991 <label ng-if="FormFieldError('billingForm', 'billing_city', billingForm)" class="control-label error-label"> 2992 Please enter a city 2993 </label> 2994 </div> 2995 <div ng-if="InitInfo.Regions[BillingInfo.CountryKey] && BillingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6"> 2996 <select required 2997 id="billing_state" data-cy="web-checkout-billing-state" 2998 name="billing_state" 2999 ng-change="BillingOptionsGet()" 3000 ng-model="BillingInfo.State" 3001 ng-disabled="disableBillingFields()" 3002 class="form-control"> 3003 <option value="">Select {{BillingInfo.StateOrProvince}}</option> 3004 <option ng-repeat="(key, value) in InitInfo.Regions[BillingInfo.CountryKey]" value="{{key}}">{{value}}</option> 3005 </select> 3006 <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label"> 3007 Please select a {{BillingInfo.StateOrProvince}} 3008 </label> 3009 </div> 3010 <div ng-if="!InitInfo.Regions[BillingInfo.CountryKey]" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6"> 3011 <input required 3012 capitalize-first 3013 id="billing_state" data-cy="web-checkout-billing-state" 3014 name="billing_state" 3015 type="text" 3016 ng-change="BillingOptionsGet()" 3017 ng-model="BillingInfo.State" 3018 class="form-control" 3019 placeholder="State/Province" 3020 ng-disabled="disableBillingFields()" 3021 ng-focus="InitToolTip($event)" 3022 data-toggle="tooltip" 3023 title="State/Province"> 3024 <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label"> 3025 Please enter the State/Province 3026 </label> 3027 </div> 3028 </div> 3029 <div class="row"> 3030 <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('billingForm', 'billing_country', billingForm)" class="col-sm-6"> 3031 <select required 3032 id="billing_country" data-cy="web-checkout-billing-country" 3033 name="billing_country" 3034 ng-change="changeBilling
3034Country()" 3035 ng-model="BillingInfo.CountryKey" 3036 ng-disabled="disableBillingFields()" 3037 class="form-control" 3038 > 3039 <option value="">Select Country</option> 3040 <option ng-repeat="(key, value) in InitInfo.Countries" value="{{key}}">{{value}}</option> 3041 </select> 3042 <label ng-if="FormFieldError('billingForm', 'billing_country', billingForm)" class="control-label error-label"> 3043 Please select a country 3044 </label> 3045 </div> 3046 <div ng-class="FormFieldErrorClass('billingForm', 'billing_zip', billingForm)" class="col-sm-6"> 3047 <input required 3048 id="billing_zip" data-cy="web-checkout-billing-zip" 3049 name="billing_zip" 3050 type="text" 3051 ng-change="BillingOptionsGet()" 3052 ng-model="BillingInfo.Zip" 3053 class="form-control" 3054 style="max-width: 125px;" 3055 placeholder="{{BillingInfo.ZipOrPostal}}" 3056 ng-disabled="disableBillingFields()" 3057 ng-focus="InitToolTip($event)" 3058 data-toggle="tooltip" 3059 title="{{BillingInfo.ZipOrPostal}}"> 3060 <label ng-if="FormFieldError('billingForm', 'billing_zip', billingForm)" class="control-label error-label"> 3061 Please enter a {{BillingInfo.ZipOrPostal}} 3062 </label> 3063 </div> 3064 </div> 3065 </div> 3066 3067 <div ng-if="showEnrollAutoPay()" class="row"> 3068 <label class="col-xs-12">Enroll in autopay and never miss a payment!</label> 3069 <label class="col-xs-12"> 3070 <input type="checkbox" ng-model="BillingInfo.enrollAutoPay" ng-disabled="isSubscriptionPayment()"> 3071 <small>Add card on file and enroll in autopay</small> 3072 </label> 3073 </div> 3074 3075 <div ng-if="showCCPayment()"> 3076 <div class="row"> 3077 <div class="col-xs-12"> 3078 <label>Secure Payment</label> 3079 <!-- Validation Messages --> 3080 <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger"> 3081 <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span> 3082 </span> 3083 </div> 3084 </div> 3085 3086 <div class="row"> 3087 <div ng-class="FormFieldErrorClass('billingForm', 'cc_number', billingForm)" class="col-sm-6 col-md-7"> 3088 <input required 3089 id="cc_number" 3090 name="cc_number" 3091 type="text" 3092 ng-model="CardInfo.CC" 3093 ng-blur="CCBlur('CC')" 3094 class="form-control" 3095 placeholder="Credit Card Number" 3096 ng-focus="InitToolTip($event)" 3097 data-toggle="tooltip" 3098 title="Credit Card Number"> 3099 <label ng-if="FormFieldError('billingForm', 'cc_number', billingForm)" class="control-label error-label"> 3100 {{CardStatus.Message}} 3101 </label> 3102 </div> 3103 <div class="col-sm-6 col-md-5 hidden-xs"> 3104 <label class="control-label" style="padding-top: 0px;"> 3105 <i ng-if="InitInfo.CheckoutSettings.VisaAccepted" class="fa fa-cc-visa fa-2x" ng-class="Class.visa"></i> 3106 <i ng-if="InitInfo.CheckoutSettings.MCAccepted" class="fa fa-cc-mastercard fa-2x" ng-class="Class.mastercard"></i> 3107 <i ng-if="InitInfo.CheckoutSettings.AmexAccepted" class="fa fa-cc-amex fa-2x" ng-class="Class.amex"></i> 3108 <i ng-if="InitInfo.CheckoutSettings.DiscAccepted" class="fa fa-cc-discover fa-2x" ng-class="Class.discover"></i> 3109 </label> 3110 </div> 3111 </div> 3112 3113 <div class="row row-grid"> 3114 <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_month', billingForm)" class="col-xs-6 col-sm-4"> 3115 <select required 3116 id="cc_exp_month" 3117 name="cc_exp_month" 3118 ng-model="CardInfo.ExpMonth" 3119 ng-blur="ExpBlur('Expiration')" 3120 class="form-control"> 3121 <option value="">Exp Month</option> 3122 <option ng-repeat="month in ExpMonths" value="{{month}}">{{month}}</option> 3123 </select> 3124 <label ng-if="FormFieldError('billingForm', 'cc_exp_month', billingForm)" class="control-label error-label"> 3125 Select expiration month 3126 </label> 3127 </div> 3128 <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_year', billingForm)" class="col-xs-6 col-sm-4"> 3129 <select required 3130 id="cc_exp_year" 3131 name="cc_exp_year" 3132 ng-model="CardInfo.ExpYear" 3133 ng-blur="ExpBlur('Expiration')" 3134 class="form-control"> 3135 <option value="">Exp Year</option> 3136 <option ng-repeat="year in ExpYears" value="{{year}}">{{year}}</option> 3137 </select> 3138 <label ng-if="FormFieldError('billingForm', 'cc_exp_year', billingForm)" class="control-label error-label"> 3139 Select expiration year 3140 </label> 3141 </div> 3142 <div ng-class="FormFieldErrorClass('billingForm', 'cc_cvv', billingForm)" class="col-xs-6 col-sm-4"> 3143 <input required 3144 id="cc_cvv" 3145 name="cc_cvv" 3146 type="text" 3147 ng-model="CardInfo.CVV" 3148 class="form-control" 3149 placeholder="CVV" 3150 ng-focus="InitToolTip($event)" 3151 data-toggle="tooltip" 3152 title="CVV"> 3153 <label ng-if="FormFieldError('billingForm', 'cc_cvv', billingForm)" class="control-label error-label"> 3154 Please enter the CVV 3155 </label> 3156 </div> 3157 </div> 3158 </div> 3159 3160 <div ng-show="showRainProcessing()" style="padding-top: 15px; padding-bottom: 15px;"> 3161 <div class="row"> 3162 <div class="col-xs-12"> 3163 <label>Secure Payment</label> 3164 <!-- Validation Messages -->
3165 <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger"> 3166 <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span> 3167 </span> 3168 </div> 3169 </div> 3170 <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'"> 3171 <div class="col-xs-12"> 3172 <div class="form-group nickname-group"> 3173 <label for="cc-nickname" class="nickname-label"> 3174 <span>Card Nickname</span> 3175 <span class="nickname-optional">(Optional)</span> 3176 </label> 3177 <input 3178 ng-model="CardInfo.nickname" 3179 id="cc-nickname" 3180 type="text" 3181 class="form-control nickname-input" 3182 placeholder="Enter a card name" 3183 maxlength="60" 3184 /> 3185 </div> 3186 </div> 3187 </div> 3188 <div class="row"> 3189 <div class="col-12 col-sm-6"> 3190 <div class="form-group"> 3191 <label for="card-number">Card Number</label> 3192 <div class="payment-wrapper"> 3193 <div id="card-number" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div> 3194 <div 3195 ng-if="formData.selectedCustomerCardId" 3196 class="payment-overlay" 3197 ng-click="clearSavedCardSelection()" 3198 ></div> 3199 </div> 3200 </div> 3201 </div> 3202 <div class="col-6 col-sm-3"> 3203 <div class="form-group"> 3204 <label for="card-exp">Expires</label> 3205 <div class="payment-wrapper"> 3206 <div id="card-exp" class="form-control stripe-input" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div> 3207 <div 3208 ng-if="formData.selectedCustomerCardId" 3209 class="payment-overlay" 3210 ng-click="clearSavedCardSelection()" 3211 ></div> 3212 </div> 3213 </div> 3214 </div> 3215 <div class="col-6 col-sm-3"> 3216 <div class="form-group"> 3217 <label for="card-cvv">Security Code</label> 3218 <div class="payment-wrapper"> 3219 <div id="card-cvv" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div> 3220 <div 3221 ng-if="formData.selectedCustomerCardId" 3222 class="payment-overlay" 3223 ng-click="clearSavedCardSelection()" 3224 ></div> 3225 </div> 3226 </div> 3227 </div> 3228 </div> 3229 <div class="row" ng-if="isSavedCardsAllowed()"> 3230 <div class="col-xs-12 divider-row"> 3231 <div class="divider-line"></div>
3232 <span class="divider-text">or</span> 3233 <div class="divider-line"></div> 3234 </div> 3235 </div> 3236 <div class="row" ng-if="isSavedCardsAllowed()"> 3237 <div class="col-xs-12"> 3238 <div class="saved-cards-container"> 3239 <div class="saved-cards-header"> 3240 <div class="saved-cards-col-name">Saved Cards</div> 3241 <div class="saved-cards-col-exp">Expires On</div> 3242 </div> 3243 3244 <div ng-repeat="c in customerCards" 3245 class="saved-card-row" 3246 ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}" 3247 > 3248 <label class="saved-card-label"> 3249 <input type="radio" 3250 name="saved-card-rain" 3251 ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card" 3252 ng-value="c.pos_customer_card_id" 3253 ng-change="onSelectSavedCard(c)"> 3254 <div class="saved-card-info"> 3255 <div class="saved-card-title"> 3256 {{ c.nickname || c.card_type }} 3257 <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span> 3258 <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span> 3259 </div> 3260 </div> 3261 </label> 3262 3263 <div class="saved-card-expdate"> 3264 {{ getFormattedExpirationDate(c.expiration_mmyy) }} 3265 </div> 3266 </div> 3267 </div> 3268 </div> 3269 </div> 3270 </div> 3271 3272 <div ng-show="showQuiltProcessing()" id="adyen-container" data-cy="web-checkout-adyen-container" style="padding-top: 15px; padding-bottom: 15px;"> 3273 <div class="row"> 3274 <div class="col-xs-12"> 3275 <label>Secure Payment</label> 3276 <!-- Validation Messages --> 3277 <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger"> 3278 <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span> 3279 </span> 3280 </div> 3281 </div> 3282 <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'"> 3283 <div class="col-xs-12"> 3284 <div class="form-group nickname-group"> 3285 <label for="cc-nickname" class="nickname-label">
3286 <span>Card Nickname</span> 3287 <span class="nickname-optional">(Optional)</span> 3288 </label> 3289 <input 3290 ng-model="CardInfo.nickname" 3291 id="cc-nickname" 3292 type="text" 3293 class="form-control nickname-input" 3294 placeholder="Enter a card name" 3295 maxlength="60" 3296 /> 3297 </div> 3298 </div> 3299 </div> 3300 <div class="row"> 3301 <div class="col-12 col-sm-6"> 3302 <div class="form-group"> 3303 <label for="card-number">Card Number</label> 3304 <div class="payment-wrapper"> 3305 <div id="cc-number" data-cse="encryptedCardNumber" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div> 3306 <div 3307 ng-if="formData.selectedCustomerCardId" 3308 class="payment-overlay" 3309 ng-click="clearSavedCardSelection()" 3310 ></div> 3311 </div> 3312 </div> 3313 </div> 3314 <div class="col-6 col-sm-3"> 3315 <div class="form-group"> 3316 <label for="card-exp">Expires</label> 3317 <div class="payment-wrapper"> 3318 <div id="cc-exp" data-cse="encryptedExpiryDate" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div> 3319 <div 3320 ng-if="formData.selectedCustomerCardId" 3321 class="payment-overlay" 3322 ng-click="clearSavedCardSelection()" 3323 ></div> 3324 </div> 3325 </div> 3326 </div> 3327 <div class="col-6 col-sm-3"> 3328 <div class="form-group"> 3329 <label for="card-cvv">CVC</label> 3330 <div class="payment-wrapper"> 3331 <div id="cc-cvv" data-cse="encryptedSecurityCode" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div> 3332 <div 3333 ng-if="formData.selectedCustomerCardId" 3334 class="payment-overlay" 3335 ng-click="clearSavedCardSelection()" 3336 ></div> 3337 </div> 3338 </div> 3339 </div> 3340 </div> 3341 3342 <div class="row" ng-if="isSavedCardsAllowed()"> 3343 <div class="col-xs-12 divider-row"> 3344 <div class="divider-line"></div>
3345 <span class="divider-text">or</span> 3346 <div class="divider-line"></div> 3347 </div> 3348 </div> 3349 <div class="row" ng-if="isSavedCardsAllowed()"> 3350 <div class="col-xs-12"> 3351 <div class="saved-cards-container"> 3352 <div class="saved-cards-header"> 3353 <div class="saved-cards-col-name">Saved Cards</div> 3354 <div class="saved-cards-col-exp">Expires On</div> 3355 </div> 3356 3357 <div ng-repeat="c in customerCards" 3358 class="saved-card-row" 3359 ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}" 3360 > 3361 <label class="saved-card-label"> 3362 <input type="radio" 3363 name="saved-card-adyen" 3364 ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card" 3365 ng-value="c.pos_customer_card_id" 3366 ng-change="onSelectSavedCard(c)"> 3367 <div class="saved-card-info"> 3368 <div class="saved-card-title"> 3369 {{ c.nickname || c.card_type }} 3370 <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span> 3371 <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span> 3372 </div> 3373 </div> 3374 </label> 3375 3376 <div class="saved-card-expdate"> 3377 {{ getFormattedExpirationDate(c.expiration_mmyy) }} 3378 </div> 3379 </div> 3380 </div> 3381 </div> 3382 </div> 3383 </div> 3384 </div> 3385 3386 <div ng-if="isPayPal() && !digitalOrder" style="text-align: center; margin-top: 15px;"> 3387 <br> 3388 </div> 3389 </div> 3390 3391 <div role="tabpanel" class="tab-pane fade in active" id="payAtPickup" ng-if="isPayAtPickup()"> 3392 <div style="text-align: center; margin-top: 15px;"> 3393 <p><strong>Your balance of {{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} can be paid at the store when you pickup your item(s).</strong></p> 3394 </div> 3395 </div> 3396 </div> 3397 </div> 3398 3399 <!-- Terms and Conditions --> 3400 <div ng-if="showTerms()" class="row"> 3401 <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" class="col-xs-12"> 3402 <input required id="TAndC" data-cy="web-checkout-terms-agree" name="TAndC" type="checkbox" ng-model="BillingInfo.TermsAgree"> I Agree to the Terms and Conditions (<a href="" ng-click="TermsShow()">click here to view</a>) 3403 <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label> 3404 </div> 3405 </div> 3406 </div> 3407 </div> 3408 3409 <div ng-if="areTermsEnabled() && !showBillingSection()" class="panel-body tab-options terms-fallback-panel"> 3410 <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)"> 3411 <input required id="TAndC" data-cy="web-checkout-terms-agree" name="TAndC" type="checkbox" ng-model="BillingInfo.TermsAgree"> I Agree to the Terms and Conditions (<a href="" ng-click="TermsShow()">click here to view</a>) 3412 <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label> 3413 </div> 3414 </div> 3415 3416 <div ng-if="showTerms()" id="TermModal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true"> 3417 <div class="modal-dialog" style="width: 100%; max-width: 850px;"> 3418 <div class="modal-content"> 3419 <div class="modal-header"> 3420 <div class="close" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times"></i></div> 3421 <h4 class="modal-title">Terms and Conditions</h4> 3422 </div> 3423 <div class="modal-body">
3424 <span ng-if="StatusInfo.TermsProcessing"><i class="fa fa-spinner fa-pulse"></i></span> 3425 <div id="TermsAndC"></div> 3426 </div> 3427 </div> 3428 </div> 3429 </div> 3430 3431 <!-- Billing Summary --> 3432 3433 <div ng-show="showBillingSummary()" class="panel panel-default ng-hide"> 3434 <div class="panel-body" style="background-color: #ececed;"> 3435 <div class="row"> 3436 <div class="col-xs-6"> 3437 <div ng-if="!isPayPal()"> 3438 <strong>Billing Address</strong> 3439 <a href="" ng-click="BillingEdit()"><small>Change</small></a> 3440 <br> 3441 <span ng-if="!isPayAtPickup()"> 3442 <span ng-if="BillingInfo.FirstName || BillingInfo.LastName">{{BillingInfo.FirstName}} {{BillingInfo.LastName}}<br></span> 3443 <span ng-if="BillingInfo.Address1">{{BillingInfo.Address1}}<br></span> 3444 <span ng-if="BillingInfo.Address2">{{BillingInfo.Address2}}<br></span> 3445 <span ng-if="BillingInfo.City || BillingInfo.State || BillingInfo.Zip">{{BillingInfo.City}}, {{BillingInfo.State}} {{BillingInfo.Zip}}</span> 3446 <span ng-if="BillingInfo.Country != Region"><br>{{BillingInfo.Country}}</span> 3447 </span> 3448 </div> 3449 <span ng-if="isPayAtPickup()"> 3450 Pay at Pickup<br> 3451 Your balance of {{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} can be paid at the store when you pickup your item(s). 3452 </span> 3453 <div ng-if="isPayPal()"> 3454 <strong>Payment Information</strong> 3455 <a href="" ng-click="BillingEdit()"><small>Change</small></a> 3456 </div> 3457 </div> 3458 <div class="col-xs-6" ng-if="showPaymentSummary()"> 3459 <strong>Payment Information</strong> 3460 <a href="" ng-click="BillingEdit()"><small>Change</small></a> 3461 <br> 3462 <small> 3463 <span ng-if="CardInfo.CCMasked">{{CardInfo.CCMasked}}<br></span> 3464 <span ng-if="CardInfo.ExpMonth || CardInfo.ExpYear">{{CardInfo.ExpMonth}}/{{CardInfo.ExpYear}}<br></span> 3465 <span ng-if="CardInfo.CVV">{{CardInfo.CVV}}</span> 3466 </small> 3467 </div> 3468 </div> 3469 </div> 3470 </div> 3471 3472 <!-- Buttons --> 3473 3474 <div class="row row-grid"> 3475 <div ng-show="showCaptcha === true" class="col-xs-12 col-md-6"> 3476 <div class="g-recaptcha2" data-sitekey="6LcM-AItAAAAAKBp9tFsqjcPCF0DhG4ZlRbyay8v" data-callback="correctCaptcha"></div> 3477 </div> 3478 <div class="col-xs-12" ng-class="{'col-md-6': showCaptcha}"> 3479 <button type="button" ng-if="CartStatus.Valid && isFree()" ng-click="CheckoutProcess()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-place-order-button"> 3480 <span>Place Your Order <i class="button-icon-right fa fa-caret-right"></i></span> 3481 </button> 3482 <div ng-if="CartStatus.Valid && isPayPal() && !isFree() && !isProcessing() && !checkFlagForSubscriptionOnly()"> 3483 <img id="paypal-checkout" ng-if="skipBilling()" ng-click="checkCaptcha()" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal" style="cursor: pointer;" /> 3484 <img id="paypal-checkout" ng-if="!skipBilling() && isBillingDone() && isPickup()" ng-click="CheckoutProcess()" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal" style="cursor: pointer;" /> 3485 <button ng-if="!skipBilling() && !isBillingDone()" ng-click="checkCaptcha()" type="button" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button"> 3486 Continue 3487 </button> 3488 </div> 3489 <button type="button" ng-if="showBillingInitiallyNeededButton()" ng-click="checkCaptcha()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button"> 3490 Continue 3491 </button> 3492 <button type="button" ng-if="showCheckoutButton()" ng-click="CheckoutProcess()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-place-order-button">
3493 <span ng-if="isVantivHosted() && !isWholesaleNoCCEnabled()">Proceed to Checkout</span> 3494 <span ng-if="!isVantivHosted() && !isWholesaleNoCCEnabled()">Place Your Order</span> 3495 <span ng-if="isWholesaleNoCCEnabled()">Place Wholesale Order</span> 3496 </button> 3497 <button type="button" ng-if="showBillingStillRequiredButton()" ng-click="ShippingDone(true, 'BillingEdit')" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button"> 3498 Continue 3499 </button> 3500 <button type="button" ng-if="BillingStatus.Editing && (isShippingNeeded() || !ContactStatus.Valid) && !isProcessing()" ng-click="BillingDone('ShippingEdit')" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-enter-shipping-button"> 3501 Enter Shipping Information 3502 </button> 3503 <div ng-if="showCreditCardOption()" style="margin-top: 10px;"> 3504 <a ng-if="isCardProcessorVantiv()" ng-click="setProcessor('VantivHosted');" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a> 3505 <a ng-if="isCardProcessorNMI()" ng-click="GoToCheckoutUrl();" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a> 3506 </div> 3507 <div ng-if="showPayPalOption()" style="margin-top: 10px;"> 3508 <a ng-click="setProcessor('paypal');" class="small-link" href="" style="font-weight: normal !important;">or checkout with PayPal</a> 3509 </div> 3510 <span ng-show="isProcessing()" data-cy="web-checkout-processing"><i class="fa fa-spinner fa-pulse fa-2x"></i></span> 3511 </div> 3512 </div> 3513 3514 <div ng-if="StatusInfo.ErrorMessageBottom" class="alert alert-danger" data-cy="web-checkout-error-bottom"> 3515 <button type="button" class="close" ng-click="ErrorMessageBottomClose()" data-cy="web-checkout-error-bottom-close">×</button> 3516 {{StatusInfo.ErrorMessageBottom}} 3517 </div> 3518 3519 </div> 3520 3521 <!-- Summary area --> 3522 3523 <div class="col-sm-5 hidden-xs"> 3524 <div class="panel panel-default"> 3525 <div ng-if="StatusInfo.Initializing" class="panel-body"> 3526 <i class="fa fa-spinner fa-pulse fa-2x"></i> 3527 </div> 3528 <table ng-if="!StatusInfo.Initializing" class="table"> 3529 3530 3531<thead> 3532<tr> 3533 <td><strong>Description</strong></td> 3534 <td><strong>Quantity</strong></td> 3535 <td colspan="2"><strong>Amount</strong></td> 3536</tr> 3537</thead> 3538<tbody ng-repeat="item in CartData.Items"> 3539<tr> 3540 <td colspan="4" style="border-bottom: 0; padding-bottom: 0;"> 3541 <span ng-if="item.condition"> 3542 {{item.title}} ({{item.condition.title}}) 3543 </span> 3544 3545 <span ng-if="!item.condition"> 3546 {{item.title}} 3547 <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span> 3548 </span> 3549 3550 <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block"> 3551 This item is not eligible for discounts 3552 </span> 3553 <span ng-if="!item.quantity_updating && item.type == 'rental'"> 3554 - {{item.id}} 3555 </span> 3556 <span ng-if="item.package_items" ng-repeat="pitem in item.package_items"> 3557 <br> - {{pitem.title}} 3558 </span> 3559 <span ng-if="item.class_attendees.length"> 3560 <br> - Attendees: 3561 <span ng-repeat="name in item.class_attendees"> 3562 {{name}} 3563 </span> 3564 </span> 3565 </td> 3566</tr> 3567<tr> 3568 <td style="border-top: 0;"> 3569 <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;"> 3570 3571 </td> 3572 <td style="vertical-align: middle; border-top: 0;"> 3573 <div ng-if="showQuantityAsSelector(item)" class="form-inline"> 3574 <select ng-model="item.qty_integer" ng-options="opt.id as opt.name for opt in item.integer_options" class="form-control" style="max-width: 75px; height: 24px; padding: 0; margin-bottom: 0px !important;" ng-change="QuantityChanged(item)"> 3575 </select> 3576
3577 <span ng-if="item.qty_type == 'fraction'"> 3578 <select ng-model="item.qty_remainder" ng-options="opt.id as opt.name for opt in item.remainder_options" class="form-control" style="max-width: 85px; height: 24px; padding: 0; margin-bottom: 0px !important;" ng-change="QuantityChanged(item)"> 3579 </select> 3580 <span ng-if="item.measure_unit == 'Meter'">Metres</span> 3581 <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span> 3582 </span> 3583 </div> 3584 <div ng-if="showQuantityAsNumber(item)"> 3585 {{item.qty_integer}} 3586 </div> 3587 <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i> 3588 </td> 3589 3590 <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td> 3591 3592 <td style="vertical-align: middle; border-top: 0;"> 3593 <div class="cartCell cartDelete"> 3594 <a href="#" ng-if="!item.removing" ng-click="ItemRemove(item)" class="text-muted text-hover-red"><span class="smallHidden"><i class="fa fa-times"></i></span><span class="largeHidden">remove</span></a> 3595 <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i> 3596 </div> 3597 </td> 3598 <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td> 3599</tr> 3600<tr ng-if="item.type === 'subscription'"> 3601 <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;"> 3602 <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);"> 3603 <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i> 3604 View Subscription Details 3605 </a> 3606 <div ng-show="showSubscriptionDetails"> 3607 <table class="subscription-details"> 3608 <tr> 3609 <td>{{item.subscriptionData.labels.adverb}} Price:</td> 3610 <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td> 3611 </tr> 3612 <tr> 3613 <td>Subscription Length:</td> 3614 <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td> 3615 </tr> 3616 <tr> 3617 <td>Start/End Date:</td> 3618 <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td> 3619 </tr> 3620 <tr> 3621 <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td> 3622 <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td> 3623 </tr> 3624 <tr> 3625 <td>Previous {{item.subscriptionData.labels.plural}}:</td> 3626 <td> 3627 <span ng-if="item.subscriptionData.previous_items_cnt > 0"> 3628 {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}} 3629 </span> 3630 <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span> 3631 </td> 3632 </tr> 3633 <tr> 3634 <td>Delivery Method:</td> 3635 <td ng-switch="item.subscriptionData.delivery_type"> 3636 <span ng-switch-when="ship"> 3637 Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}} 3638 </span> 3639 <span ng-switch-default>In-Store Pickup</span> 3640 </td> 3641 </tr> 3642 <tr ng-if="item.subscriptionData.delivery_type === 'ship'"> 3643 <td>Address:</td> 3644 <td>{{item.subscriptionData.address}}</td> 3645 </tr> 3646 <tr> 3647 <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td> 3648 <td> 3649 <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong> 3650 </td> 3651 </tr> 3652 <tr> 3653 <td><strong>Due Today:</strong></td> 3654 <td> 3655 <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong> 3656 </td> 3657 </tr> 3658 </table> 3659 </div> 3660 </td> 3661</tr> 3662</tbody> 3663 <tr ng-show="isProductInCart()"> 3664 <td colspan="4" width="100%"> 3665 </td> 3666 </tr> 3667 <tr> 3668 <td colspan="2"> 3669 Subtotal 3670 <br> 3671 </td> 3672 <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>
3673 <span ng-if="!showAsGST()">{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span> 3674 <span ng-if="showAsGST()">{{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span> 3675 </td> 3676 </tr> 3677 <tr ng-if="CustomerDiscounts > 0"> 3678 <td colspan="2"> 3679 Discount 3680 <br> 3681 </td> 3682 <td colspan="2" align="right" class="h4"><strong> 3683 <span>{{CustomerDiscounts | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span> 3684 </td> 3685 </tr> 3686 <tr> 3687 <td colspan="3"> 3688 <input id="gift-card-coupon-code" data-cy="web-cart-coupon-input" ng-model="StatusInfo.giftCardOrCouponCode" ng-keydown="giftCardOrCouponCodeKeyDown($event)" type="text" placeholder="Enter Gift Card or Coupon Code" class="form-control" style="margin-bottom: 0px !important;"> 3689 <span id="gift-card-coupon-msgs" class="messages-coupon-gc"> 3690 <!-- Messages --> 3691 <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i> {{giftCardCouponMsg}}</span> 3692 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 3693 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> Coupon Added</span> 3694 <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span> 3695 </span> 3696 </td> 3697 <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: top;"> 3698 <button id="gift-card-coupon-code-apply" data-cy="web-cart-coupon-apply" ng-disabled="!shouldEnableGiftCardCouponApplyBtn()" ng-click="getGiftCardOrCoupon()" type="button" class="btn btn-default">Apply</button> 3699 </td> 3700 </tr> 3701 3702 <tbody ng-if="CartData.Coupons.length > 0"> 3703 <tr> 3704 <td colspan="4"> 3705 <div> 3706 <div ng-show="CartData.Coupons.length > 0" class="row-divider-checkout"> 3707 <div class="divider-checkout-block-title"> 3708 Coupons 3709 </div> 3710 <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert-warning warning-box"> 3711 <span ng-if="showOnlyHighestDiscountWarning()"> 3712 Only a single coupon with the highest savings will be applied. 3713 </span> 3714 <span ng-if="showDontApplyOnSaleItemsWarning()"> 3715 Coupons do not apply to On Sale Items 3716 </span> 3717 </div> 3718 <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}"> 3719 <div class="discount-item"> 3720 <div class="discount-item-title"> 3721 <a href="" ng-click="openCouponDetail
3721sModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a> 3722 </div> 3723 <div class="discount-amount"> 3724 <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} </span> 3725 <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} </span> 3726 <a href="" ng-show="!StatusInfo.CouponUpdating" ng-click="removeCoupon(c.couponId)" class="text-muted text-hover-red"><i class="fa fa-times times-close"></i></a> 3727 <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i> 3728 </div> 3729 </div> 3730 <div class="gift-card-coupon-code-span"> 3731 {{c.couponCode}} 3732 </div> 3733 <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">{{couponStatusMessage}}</div> 3734 </div> 3735 </div> 3736 </div> 3737 </td> 3738 </tr> 3739 </tbody> 3740 <tr ng-if="ShippingInfo.Option && ShippingStatus.Required"> 3741 <td colspan="2"> 3742 {{isPickup() ? '' : 'Shipping'}} {{ShippingInfo.Option.name}} 3743 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 3744 <small>{{ShippingInfo.Option.delivery_time}}</small> 3745 </td> 3746 <td colspan="2" align="right"> 3747 <span ng-if="!isTaxInclusive()"><strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong></span> 3748 <span ng-if="isTaxInclusive()" style="font-weight: bold; text-align: right;"> 3749 {{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}} 3750 </span> 3751 </td> 3752 </tr> 3753 <tr ng-if="!showAsGST()"> 3754 <td colspan="2"> 3755 Taxes 3756 </td> 3757 <td colspan="2" align="right" data-cy="web-checkout-summary-taxes"> 3758 <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span> 3759 <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong> 3760 </td> 3761 </tr> 3762 3763 <tbody ng-if="breakDownTaxes()"> 3764 <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, false)"> 3765 <td colspan="2"> 3766 {{jurisdiction}} 3767 </td> 3768 <td colspan="2" align="right"> 3769 {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}} 3770 </td> 3771 </tr> 3772 </tbody> 3773 3774 <tr ng-if="ShippingTaxes && !isTaxInclusive()"> 3775 <td colspan="2"> 3776 Shipping Taxes 3777 </td> 3778 <td colspan="2" align="right"> 3779 <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong> 3780 </td> 3781 </tr> 3782 3783 <tbody ng-if="breakDownTaxes()"> 3784 <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, true)"> 3785 <td colspan="2"> 3786 {{jurisdiction}} 3787 </td> 3788 <td colspan="2" align="right"> 3789 {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}} 3790 </td> 3791 </tr> 3792 </tbody> 3793 3794 <tbody ng-if="showGiftCardSummary()"> 3795 <tr> 3796 <td colspan="4"> 3797 <div> 3798 <div class="row-divider-checkout"> 3799 <div class="divider-checkout-block-gc-title"> 3800 Gift Cards 3801 </div> 3802 <div ng-repeat="gc in CartData.GiftCards" class="item-box"> 3803 <div class="discount-item"> 3804 <div>
3805 <span class="gift-card-coupon-identifier">{{gc.title}}</span> 3806 </div> 3807 <div class="discount-amount"> 3808 -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} 3809 <a href="" ng-show="!StatusInfo.GiftCardUpdating" ng-click="removeGiftCard(gc.id)" class="text-muted text-hover-red"><i class="fa fa-times times-close"></i></a> 3810 <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i> 3811 </div> 3812 </div> 3813 <div class="gift-card-coupon-code-span"> 3814 {{gc.number}} 3815 </div> 3816 </div> 3817 </div> 3818 </div> 3819 </td> 3820 </tr> 3821 </tbody> 3822 <tr> 3823 <td colspan="1"> 3824 Total <span ng-if="isPayAtPickup()">due at pickup</span> 3825 </td> 3826 <td colspan="3" align="right" data-cy="web-checkout-summary-total"> 3827 <span ng-if="!showAsGST()"><strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span> 3828 <span ng-if="showAsGST()"> 3829 <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong> 3830 </span> 3831 3832 <span ng-if="GST_Due > 0 && GST_Taxes > 0 && showAsGST() && isShippingCountryGST()" align="right"> 3833 <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span> 3834 </span> 3835 </td> 3836 </tr> 3837 </table> 3838 </div> 3839 </div> 3840 3841</div> 3842 </div> 3843 </div> 3844 <div id="coupon-details-modal" ></div> 3845 3846 <form id="processorform" action="{{SubmitInfo.SubmitUrl}}" method="post"><input type="hidden" name="form_version" value="2"> 3847 <input type="hidden" ng-repeat="(key, val) in SubmitFields()" name="{{key}}" value="{{val}}"> 3848 </form> 3849</div> 3850 3851 3852<!-- NOTE: Do not move to angular 1.4.x yet. There is an issue with particular cart data causing really poor performance --> 3853<!-- DO NOT CHANGE ANGULAR JS VERSION, THIS IS THE LAST VERSION THAT WORKS PROPERLY IN THE FOLLOWING BROWSERS --> 3854<!-- IE 9 AND iOS < 6 --> 3855<!-- THIS IS ONLY FOR THE CHECKOUT, OTHER PAGES CAN USE WHICH EVER VERSION THEY WANT TO --> 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 </div> 3888 </div> 3889</div> 3890 3891 <!-- footer --> 3892 <div class="bgFooter"> 3893 <div style="" class=""> 3894 <div class="container "> 3895 <div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; "> 3896 3897 3898 <div class="col-xs-12"></div> 3899 </div> 3900 </div> 3901</div><div style="" class="foot-text"> 3902 <div class="container "> 3903 <div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; "> 3904 3905 3906 <div class="col-sm-5" style="text-align: center;"><img loading="lazy" class="img-responsive" src="https://media.rainpos.com/11027/421x264_belmontsadlogo_1betterjpg.jpg" alt="" width="421" height="264" align="" /><br /> 3907<div class="social"><a href="#" target="_blank"><span class="fa fa-facebook-official"> </span></a> <a href="#" target="_blank"><span class="fa fa-twitter-square"> </span></a> <a href="#" target="_blank"><span class="fa fa-instagram"> </span></a> <a href="#" target="_blank"><span class="fa fa-pinterest-square"> </span></a></div> 3908</div> 3909<div class="col-sm-3"> 3910<h4><span class="footer-heading">CONTACT US</span></h4> 3911<ul class="list-unstyled"> 3912<li><span>(617) 484-3850</span></li> 3913<li><span>[email protected]</span></li> 3914<li>185 Belmont St.</li> 3915<li>Belmont, MA, 02478</li> 3916<li>Hours: Mon-Fri 9 am - 5 pm</li> 3917<li> <em>*Closed Saturday & Sunday</em></li> 3918</ul> 3919</div> 3920<div class="col-sm-2"> 3921<h4><span class="footer-heading">CATEGORIES</span></h4> 3922<ul class="list-unstyled foot-ul"> 3923<li><a href="/shop/Aids-to-Daily-Livin.htm"><span class="footer-link">Aids to Daily Livin</span></a>g</li> 3924<li><a href="/shop/Bath-Safety.htm"><span class="footer-link">Bath Safety</span></a></li> 3925<li><a href="/shop/Beds.htm"><span class="footer-link">Beds</span></a></li> 3926<li><a href="/shop/Braces.htm"><span class="footer-link">Braces</span></a></li> 3927<li><a href="/shop/Cushions--Pillows.htm"><span class="footer-link">Cushions & Pillows</span></a></li> 3928</ul> 3929</div> 3930<div class="col-sm-2"> 3931<h4> </h4> 3932<ul class="list-unstyled foot-ul"> 3933<li><a href="/shop/First-Aid.htm"><span class="footer-link">First Aid</span></a></li> 3934<li><a href="/shop/Mobility-Aids.htm"><span class="footer-link">Mobility Aids</span></a></li> 3935<li><a href="/shop/POVs.htm"><span class="footer-link">POVs</span></a></li> 3936<li><a href="/shop/Seat-Lift-Chairs.htm"><span class="footer-link">Seat Lift Chairs</span></a></li> 3937<li><a href="/shop/Stockings.htm"><span class="footer-link">Stockings</span></a></li> 3938</ul> 3939</div> 3940 </div> 3941 </div> 3942</div> 3943 <div class="container footer" style="height: auto; text-align:center; "> 3944 <br> 3945 <br> 3946 <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/">Home</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/product-catalog.htm">Product Catalog</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/forms.htm">Rentals</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/contact.htm">Contact</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/feedback.htm">Feedback</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/services.htm">Insurance Disclaimer</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/about.htm">About</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/site-map.htm">Site Map</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/terms-conditions.htm">Terms and Conditions</a><!-- Yup, this comment is here for a reason. --> 3947 <div style="height: 10px;"></div>
3948 Copyright © 2007-2026 - Belmont Medical Supply<br> 3949 <a class="footer" style="font-weight: normal;" href="https://www.rainpos.com">Website Design</a> by RAIN<br> 3950 3951 <br> 3952 <br> 3953 </div> 3954</div> 3955 3956 3957 3958</div> 3959 3960<!-- 43 module.tpl --> 3961 3962 3963<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css">
3964<script type="text/javascript" src="https://images.rainpos.com/jquery-migrate-1.2.1.min.js" attr="nomove"></script>
vendor: 1 bytes, line 3964
3964
3965<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js" attr="nomove"></script>
vendor: 1 bytes, line 3965
3965
3966<script type="text/javascript" src="https://images.rainpos.com/json2.js" attr="nomove"></script>
vendor: 1 bytes, line 3966
3966
3967<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" attr="nomove"></script>
3967 3968 3969 3970 3971 3972 3973 3974 3975 3976
3977<script src="https://reports.hibu.com/analytics/js/ybDynamicPhoneInsertion.js"></script>
vendor: 1 bytes, line 3977
3977
3978<script> 3979/* 3980 ybFindPhNums = ['16174843888', '16174843888', '16174843888', '16174843888']; 3981 ybReplacePhNums = ['16172143695', '16172143696', '16172143699', '16172143701']; 3982 3983 3984 ybFindPhNumsNoIndx = ['16174843888']; 3985 ybReplacePhNumsNoIndx = ['16172143694']; 3986 3987 document.addEventListener("YextPhoneChangeEvent", yextPhoneChangeEventHandler, false); 3988 3989 function yextPhoneChangeEventHandler(e) { 3990 e.preventDefault(); 3991 ybFun_ReplaceText(); 3992 } 3993 3994 if (typeof dmAPI != 'undefined') { 3995 dmAPI.runOnReady('dpni', function() { 3996 setTimeout(ybFun_ReplaceText, 500); 3997 }); 3998 window.addEventListener('DOMContentLoaded', function() { 3999 dmAPI.subscribeEvent(dmAPI.EVENTS.SHOW_POPUP, 4000 function(data) { 4001 setTimeout(ybFun_ReplaceText, 500); 4002 }); 4003 }); 4004 } else { 4005 window.onload = function() { 4006 setTimeout(ybFun_ReplaceText, 500); 4007 } 4008 } 4009*/ 4010</script>
vendor: 1 bytes, line 4010
4010
4011<script> 4012 if(!(window.console && console.log)) { 4013 console = { 4014 log: function(){}, 4015 debug: function(){}, 4016 info: function(){}, 4017 warn: function(){}, 4018 error: function(){} 4019 }; 4020 } 4021 </script>
vendor: 1 bytes, line 4021
4021
4022<script type="text/javascript" src="/1723204580/site-configuration/js/recaptchaCode.js"></script>
vendor: 116 bytes, lines 4022-4023
4022 4023<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaOnload&render=explicit" async defer></script>
4024<script type="text/javascript"> 4025 var isMobileBrowser = 0; 4026 var isResponsive = true; 4027 </script>
vendor: 1 bytes, line 4027
4027
4028<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
vendor: 1 bytes, line 4028
4028
4029<script src="/1723204579/pos-app/js/big.min.js"></script>
vendor: 1 bytes, line 4029
4029
4030<script src="/1723204579/pos-app/js/lib.js"></script>
vendor: 1 bytes, line 4030
4030
4031<script src="/1775641146/pos-app/js/utils.js"></script>
vendor: 1 bytes, line 4031
4031
4032<script src="/1760603607/js/components/stripe-payment-request/CheckoutContextWrapper.js"></script>
vendor: 1 bytes, line 4032
4032
4033<script src="/1759150467/js/components/stripe-payment-request/PaymentRequestModel.js"></script>
vendor: 1 bytes, line 4033
4033
4034<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLError.js"></script>
vendor: 1 bytes, line 4034
4034
4035<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLBaseModel.js"></script>
vendor: 1 bytes, line 4035
4035
4036<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLKlarnaModel.js"></script>
vendor: 1 bytes, line 4036
4036
4037<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAffirmModel.js"></script>
vendor: 1 bytes, line 4037
4037
4038<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAfterpayModel.js"></script>
vendor: 1 bytes, line 4038
4038
4039<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLModel.js"></script>
vendor: 1 bytes, line 4039
4039
4040<script src="/1723204579/checkout/PromiseAccumulator.js"></script>
vendor: 1 bytes, line 4040
4040
4041<script src="/1723204579/c/libs/libphonenumber-js/libphonenumber-js.min.js"></script>
vendor: 1 bytes, line 4041
4041
4042<script src="/1723204579/js/bower_components/angular-sanitize/angular-sanitize.min.js"></script>
vendor: 1 bytes, line 4042
4042
4043<script src="/1790254316/checkout/checkoutCtrl.js"></script>
vendor: 1 bytes, line 4043
4043
4044<script src="/1723204579/js/log.js"></script>
vendor: 1 bytes, line 4044
4044
4045<script>var Logger = Object.create(Logger.prototype); Logger.setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTA1ODUxNTMsImp0aSI6ImYzYThjNTViNTBmMDcxNDM3ZTFlOWRmZWFjZTY5ZmQ4ZTM0MDk4YTcxMGQxMTYzMzk5MzM5YzQ0MTdjODU4MGYiLCJuYmYiOjE3OTA1ODUxNTMsImV4cCI6MTc5MDYyODM1MywiZGF0YSI6eyJzdG9yZUlkIjoxMTAyNywic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.y4Bhcd--Zq6KpchB0NMzfiEe1D5jZW9CLGm_6QA5G_E"); </script>
vendor: 1 bytes, line 4045
4045
4046<script>window.cartJWT = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTA1ODUxNTMsImp0aSI6ImYzYThjNTViNTBmMDcxNDM3ZTFlOWRmZWFjZTY5ZmQ4ZTM0MDk4YTcxMGQxMTYzMzk5MzM5YzQ0MTdjODU4MGYiLCJuYmYiOjE3OTA1ODUxNTMsImV4cCI6MTc5MDYyODM1MywiZGF0YSI6eyJzdG9yZUlkIjoxMTAyNywic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.y4Bhcd--Zq6KpchB0NMzfiEe1D5jZW9CLGm_6QA5G_E"</script>
vendor: 1 bytes, line 4046
4046
4047<script src="/js/libs/vue/2.6.12.vue.min.js"></script>
vendor: 1 bytes, line 4047
4047
4048<script src="/js/libs/axios/0.31.1.axios.min.js"></script>
vendor: 1 bytes, line 4048
4048
4049<script type="text/javascript"> 4050 if (typeof window.vueEventHub === 'undefined') { 4051 window.vueEventHub = new Vue(); 4052 } 4053 Vue.use({install: function (Vue, params) { 4054 Vue.prototype.$eventHub = params.vueEventHub; 4055 }}, {vueEventHub: window.vueEventHub}); 4056</script>
vendor: 1 bytes, line 4056
4056
4057<script src="/1723204579/pos-app/controls/form-validate/form-validate.directive.js"></script>
vendor: 1 bytes, line 4057
4057
4058<script type='application/javascript'>var adyen_env = 1;</script>
vendor: 1 bytes, line 4058
4058
4059<script type='application/javascript'>var currency_code = 'USD';</script>
vendor: 1 bytes, line 4059
4059
4060<script src="https://payments.quiltsoftware.com/adyenRegion.js"></script>
vendor: 1 bytes, line 4060
4060
4061<script> 4062 let scriptAdyenRegion = window.adyenRegion || 'live-us'; 4063 4064 const adyenScript = document.createElement('script'); 4065 const adyenStyle = document.createElement('link'); 4066 var adyenStyleLoaded = false; //global 4067 let head = document.getElementsByTagName('head')[0]; 4068 4069 adyenScript.src = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.js'; 4070 adyenScript.type = 'text/javascript'; 4071 adyenScript.crossOrigin = 'anonymous'; 4072 adyenScript.integrity = 'sha384-V7uOD/4bQuWLJRCDSfc60tVzD6rYW5BkkY3GYnaFjgg/guMih1Kx6N5Vo9dBtN3y'; 4073 4074 adyenStyle.href = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.css' 4075 adyenStyle.rel = 'stylesheet'; 4076 adyenStyle.crossOrigin = 'anonymous'; 4077 adyenStyle.integrity = 'sha384-jAG16Mh+vYdXeyWKqPqL7chbdFT1aS5qjt/8jGJz5vBrI1RJ3m6/uFfMZt8li/rT'; 4078 4079 head.appendChild(adyenScript); 4080 head.appendChild(adyenStyle); 4081 4082 adyenStyle.onload = function() { 4083 adyenStyleLoaded = true; 4084 } 4085</script>
vendor: 1 bytes, line 4085
4085
4086<script type="text/javascript" src="/js/dist/npm.core-js.7fcae61afb054d7ba0b3.js"></script>
vendor: 1 bytes, line 4086
4086
4087<script type="text/javascript" src="/js/dist/npm.vue-loader.d0cb700bf30f64badaf5.js"></script>
vendor: 1 bytes, line 4087
4087
4088<script type="text/javascript" src="/js/dist/npm.style-loader.b1e6d4e14468065b9561.js"></script>
vendor: 1 bytes, line 4088
4088
4089<script type="text/javascript" src="/js/dist/npm.css-loader.4580a37e6cd44c5ceae8.js"></script>
vendor: 1 bytes, line 4089
4089
4090<script type="text/javascript" src="/js/dist/npm.date-fns.a04ecd7fd4860ad4dc6d.js"></script>
vendor: 1 bytes, line 4090
4090
4091<script type="text/javascript" src="/js/dist/coupon-details-modal.310e9f33ad0b13b0bc5a.js"></script>
vendor: 1 bytes, line 4091
4091
4092<script type="text/javascript"> 4093 var isMusicStore = false; 4094 var districts = []; 4095 var schools = []; 4096 var customerId = 0; 4097</script>
vendor: 1 bytes, line 4097
4097
4098<script> 4099 function innerWrapper() { 4100 const innerDivz = document.querySelectorAll(`div.inner`); 4101 if (innerDivz.length > 0) { 4102 let identifyParentEl = innerDivz[0].parentElement; 4103 const wrapperEl = document.createElement('div'); 4104 4105 wrapperEl.setAttribute('data-column-id', 'body'); 4106 if (innerDivz[0].classList.contains('inner-full-width')) { 4107 wrapperEl.className = 'new clearfix'; 4108 } else { 4109 wrapperEl.className = 'new container clearfix'; 4110 } 4111 if (identifyParentEl.classList.contains('vue-component-wrapper')) { 4112 identifyParentEl.insertAdjacentElement('beforebegin', wrapperEl); 4113 } else { 4114 innerDivz[0].insertAdjacentElement('beforebegin', wrapperEl); 4115 } 4116 innerDivz.forEach(item => wrapperEl.append(item)); 4117 } 4118 } 4119 document.addEventListener('DOMContentLoaded', innerWrapper); 4120 </script>
vendor: 1 bytes, line 4120
4120
4121<script type="text/javascript" src="/site-configuration/js/jquery.blockUI.js"></script>
4121 4122
4123<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"d60c52fc57","applicationID":"7339757","transactionName":"ZAFTMEcHDUsDB00IDl1LchFGEgxVTSdqCQ5DFFgKUiUCShY7ewASVg==","queueTime":0,"applicationTime":101,"atts":"SEZQRg8dHkU=","errorBeacon":"bam.nr-data.net","agent":""}</script>
4123</body> 4124</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.