PageSourceSearch

https://www.belmontmedical.com/module/product.htm?checkout=3

html belmontmedical.com collected 2026-09-28 08:45:53 UTC 340,074 bytes, 4,124 lines download raw bytes

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">&nbsp;</span> Ph:&nbsp;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>&nbsp; |&nbsp; <a href="#"><span class="top-link">Contact</span></a>&nbsp; |&nbsp; <a href="/checkout/cart.php"><span class="top-link">View Cart</span>&nbsp; </a></span><a href="/checkout/cart.php"> <span class="fa fa-shopping-cart">&nbsp;</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">&nbsp;</span></a> &nbsp;<a href="#" target="_blank"><span class="fa fa-twitter-square">&nbsp;</span></a> &nbsp;<a href="#" target="_blank"><span class="fa fa-instagram">&nbsp;</span></a> &nbsp;<a href="#" target="_blank"><span class="fa fa-pinterest-square">&nbsp;</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						&#9776; 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()">&times;</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()">&times;</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()">&times;</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
1136            </span>
1137            <span ng-if="item.class_attendees.length">
1138                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
1139                <span ng-repeat="name in item.class_attendees">
1140                    &nbsp;{{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>&nbsp;{{giftCardCouponMsg}}</span>
1303                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
1304                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;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}} &nbsp;</span>
1334                                        <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;
1357                                    </div>
1358                                    <div class="discount-amount">
1359                                        -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
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 &nbsp; <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 &nbsp; <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 &nbsp; <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 &nbsp; <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>&nbsp;</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">&times;</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()">&times;</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()">&times;</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()">&times;</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
1813        </span>
1814        <span ng-if="item.class_attendees.length">
1815            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
1816            <span ng-repeat="name in item.class_attendees">
1817                &nbsp;{{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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
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                                &nbsp;&nbsp;<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                        &nbsp;&nbsp;<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>&nbsp;&nbsp;
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                        &nbsp;&nbsp;<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>&nbsp;{{giftCardCouponMsg}}</span>
2743                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
2744                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;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                        &nbsp;&nbsp;<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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
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>&nbsp;&nbsp;
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 &nbsp; <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">&times;</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
3558        </span>
3559        <span ng-if="item.class_attendees.length">
3560            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
3561            <span ng-repeat="name in item.class_attendees">
3562                &nbsp;{{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>&nbsp;{{giftCardCouponMsg}}</span>
3692                                            <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
3693                                            <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;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}} &nbsp;</span>
3725                                                    <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</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                        &nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3744                        &nbsp;&nbsp;<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                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
3767                        </td>
3768                        <td colspan="2" align="right">
3769                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
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                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
3787                        </td>
3788                        <td colspan="2" align="right">
3789                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
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>&nbsp;&nbsp;&nbsp;&nbsp;
3806                                                </div>
3807                                                <div class="discount-amount">
3808                                                    -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
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">&nbsp;</span></a> &nbsp;<a href="#" target="_blank"><span class="fa fa-twitter-square">&nbsp;</span></a> &nbsp;<a href="#" target="_blank"><span class="fa fa-instagram">&nbsp;</span></a> &nbsp;<a href="#" target="_blank"><span class="fa fa-pinterest-square">&nbsp;</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>&nbsp;<em>*Closed Saturday &amp; 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 &amp; Pillows</span></a></li>
3928</ul>
3929</div>
3930<div class="col-sm-2">
3931<h4>&nbsp;</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> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/product-catalog.htm">Product Catalog</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/forms.htm">Rentals</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/contact.htm">Contact</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/feedback.htm">Feedback</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/services.htm">Insurance Disclaimer</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/about.htm">About</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.belmontmedical.com/site-map.htm">Site Map</a> &nbsp; | &nbsp; <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 &copy; 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.