PageSourceSearch

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

html leitholdmusic.com collected 2026-09-28 10:44:11 UTC 377,763 bytes, 4,389 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.leitholdmusic.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: 16px !important;border: 1px solid #000 !important;}.menubg {min-height: 50px;}.mainMenuItem {padding-left: 16px !important;padding-right: 16px !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:#000 !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:#fff !important;}#mainNav .dropdown-menu > li > a{color:#fff !important;background-color:#000 !important;border:0px !important;}#mainNav .dropdown-menu > li > a:hover,#mainNav .dropdown-menu > li > a:focus{color:#fff !important;background-color:#000 !important;}.menubg{background-color:#000;z-index:3 !important;}.menubg .navbar-nav{padding-top:5px;padding-bottom:5px;}.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:Inter, Helvetica Neue, Helvetica, Arial, sans-serif !important;font-weight:700 !important;color:#fff !important;}html{font-size:1em !important;}body{font-family:Inter, Helvetica Neue, Helvetica, Arial, sans-serif !important;color:#000 !important;font-size:inherit !important;margin:0px;padding:0px;margin-top:0px;height:100%;}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:#000 !important;font-family:Inter, Helvetica Neue, Helvetica, Arial, sans-serif !important;font-size:2.074em !important;}a:not(.ignore-site-layout-styles a), a:visited:not(.ignore-site-layout-styles a){color:#000 !important;font-weight:400 !important;}a:hover:not(.ignore-site-layout-styles a){text-decoration:none !important;color:#999 !important;}
51A: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;}.bgFooter{background:#000 ;}.footer, .footer:hover, .footer:visited{color:#fff !important;font-size:0.8em !important;}.main1ColumnWidth h1, .main1ColumnWidth h2, .main1ColumnWidth h3{color:#000;font-family:Inter, Helvetica Neue, Helvetica, Arial, sans-serif;font-size:2.074em;}.main1ColumnWidth a{color:#000;font-weight:400;}.main1ColumnWidth a:hover{text-decoration:none;color:#999;}.secondaryMain1ColumnWidth h1, .secondaryMain1ColumnWidth h2, .secondaryMain1ColumnWidth h3{color:#000;font-family:Inter, Helvetica Neue, Helvetica, Arial, sans-serif;font-size:2.074em;}.secondaryMain1ColumnWidth a{color:#000;font-weight:400;}.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: #000;}.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	
78	
79
80	        
81
82	
83
84    
84<script attr="nomove" async src="https://www.googletagmanager.com/gtag/js?id=GTM-5PRJCTTP"></script>
84<script attr="nomove">
85  window.dataLayer = window.dataLayer || [];
86  function gtag(){dataLayer.push(arguments);}
87  gtag('js', new Date());
88  gtag('config', 'GTM-5PRJCTTP');
89</script>
89
90    
91	
92	<style>
93		/* Typography */
94h1, h2, h3, h4, h5, h6 {
95    font-weight: 700 !important;
96    line-height: 1.2 !important;
97}
98h1 { font-size: 2.074rem !important; }
99h2 { font-size: 1.728rem !important; }
100h3 { font-size: 1.44rem !important; }
101h4 { font-size: 1.2rem !important; }
102h5 { font-size: 1rem !important; }
103h6 { font-size: 0.833rem !important; }
104
105.menu-bg {
106  border-bottom: 2px solid #cc0000;
107}
108
109/* Buttons */
110.btn {
111    padding: 8px 30px !important;
112    border-radius: 0 !important;
113}
114.btn-dark {
115    background-color: #000;
116    color: #fff !important;
117    border: 1px solid #000 !important;
118}
119.btn-dark:hover {
120    background-color: #fff;
121    color: #000 !important;
122}
123.btn-outline {
124    background-color: #fff;
125    color: #000 !important;
126    border: 1px solid #000 !important;
127}
128.btn-solid:hover {
129    background-color: #333;
130}
131.btn-outline:hover {
132    background-color: #000;
133    color: #fff !important;
134}
135.btn-light {
136    background-color: #fff;
137    color: #000;
138    border-color: #fff;
139}
140.btn-light:hover {
141    background-color: #000;
142    color: #fff !important;
143}
144
145/* Header */
146.header-links {
147    white-space: nowrap;
148    margin-bottom: 10px;
149}
150
151/* Search Bar */
152.site-search-container {
153    background: #ffff;
154    position: relative;
155    padding: 13px;
156    font-size: 16px;
157    border: 1px solid #ddd;
158}
159
160#search_keyword {
161    border: none;
162    border-radius: 0;
163    margin-right: 15px;
164    width: 100%;
165    background: #fff;
166}
167
168#search_keyword:focus {
169    border: none;
170    outline: none;
171}
172
173.site-search-container button {
174    background-color: transparent;
175    border: none;
176    padding: 0;
177    position: absolute;
178    right: 15px;
179    top: 50%;
180    transform: translateY(-50%);
181}
182
183.site-search-container button:focus {
184    outline: none;
185}
186
187/* Main Nav */
188.navbar-default .navbar-toggle {
189    color: #fff;
190}
191
192/* Hero Banner */
193.hero-image {
194    height: 650px;
195    background-position: center;
196    background-repeat: no-repeat;
197    background-size: cover;
198    position: relative;
199}
200
201.hero-image:after {
202    position: absolute;
203    content: '';
204    left: 0;
205    top: 0;
206    right: 0;
207    bottom: 0;
208    background: rgba(0, 0, 0, 0.15);
209}
210
211.hero-text {
212    text-align: left;
213    position: absolute;
214    top: 50%;
215    left: 20%;
216    transform: translateY(-50%);
217    color: #fff;
218    z-index: 1;
219}
220
221.hero-text {
222    text-align: center;
223    position: absolute;
224    top: 50%;
225    left: 0;
226    right: 0;
227    transform: translateY(-50%);
228    color: #fff;
229    z-index: 1;
230}
231
232.hero-text p {
233    margin-bottom: 20px;
234    font-size: 16px;
235    font-weight: 300;
236    line-height: 1.4;
237}
238
239@media (min-width: 768px) {
240    .hero-text h1 {
241        font-size: 2.488rem !important;
242    }
243
244    .hero-text p {
245        font-size: 21px;
246    }
247}
248
249.hero-text h1,
250.hero-text p {
251    color: #fff !important;
252}
253
254/* Newsletter */
255.lblNewsletterSignup {
256    text-align: right;
257    margin-bottom: 5px;
258}
259
260.lblNewsletterSignup h3 {
261    margin: 0 0 5px;
262}
263
264.btnNewsletterSignup {
265    background: #000;
266    border: 1px solid #000;
267    color: #fff;
268}
269
270.txtNewsletterSignup {
271    border: 1px solid #ddd;
272}
273
274@media (max-width: 768px) {
275    .lblNewsletterSignup {
276        text-align: center;
277    }
278}
279
280/* Featured Products */
281.featuredProductContainer {
282    border: 1px solid transparent !important;
283}
284
285.featuredProductContainer:hover {
286    transform: scale(1) !important;
287}
288
289.featuredProductImgContainer {
290    border: 1px solid #ddd !important;
291}
292
293.featuredProductTitle {
294    text-align: left !important;
295    background-color: transparent !important;
296}
297
298.pageDiv .featuredProductContainer:hover .featuredProductTitle {
299    background-color: transparent !important;
300    color: #999 !important;
301}
302
303/* Widget 3 */
304.widget3 {
305    position: relative;
306    float: left;
307    overflow: hidden;
308    width: 100%;
309    color: #fff;
310    text-align: right;
311    font-size: 16px;
312    background-color: #000;
313    text-transform: uppercase;
314    margin-bottom: 20px;
315}
316
317.widget3 img {
318    width: 100%;
319    filter: alpha(opacity=75);
320    -webkit-opacity: 0.75;
321}
322
323.widget3 figcaption {
324    position: absolute;
325    top: 0;
326    right: 0;
327    z-index: 1;
328    padding: 20px;
329}
330
331.widget3 .links {
332    width: 100%;
333    margin: 0;
334    padding: 0;
335}
336
337.widget3 h4 {
338    color: #fff !important;
339}
340
341.widget3 .links {
342    font-size: 14px;
343    font-weight: 300;
344    margin: 11px 0 0 0;
345    padding: 0;
346}
347
348.widget3 .links li {
349    list-style: none;
350    margin-bottom: 2px !important;
351}
352
353.widget3 ul li a {
354    padding: 2px 0;
355    display: block;
356    color: #fff !important;
357}
358
359/* Widget 6 */
360.widget6 {
361    display: flex;
362    flex-flow: row wrap;
363    justify-content: space-around;
364    margin: 0;
365    list-style: none;
366}
367
368.widget6 .flex-item {
369    width: 50%;
370    padding: 0 30px;
371    position: relative;
372}
373
374.widget6 .figcaption {
375    position: absolute;
376    margin: 0 auto;
377    max-width: 500px;
378    left: 0;
379    right: 0;
380    top: 50%;
381    transform: translateY(-50%);
382    text-align: center;
383}
384
385.widget6 .figcaption p {
386    margin-bottom: 30px;
387}
388
389.widget6 .fig-img,
390.widget6 .fig-img img {
391    position: relative;
392}
393
394.widget6 .fig-img:before {
395    position: absolute;
396    background: #777;
397    left: 10px;
398    right: -12px;
399    top: -12px;
400    bottom: 10px;
401    content: '';
402}
403
404@media (min-width: 992px) {
405    .widget6 .fig-img:before {
406        background-color: transparent;
407    }
408}
409
410@media (min-width: 1200px) {
411    .widget6 .fig-img:before {
412        background-color: #777;
413    }
414}
415
416/* Widget 5 */
417.widget5 {
418    color: #fff;
419    position: relative;
420    overflow: hidden;
421    width: 100%;
422    background-color: #ffffff;
423    color: #000000;
424    text-align: left;
425    font-size: 16px;
426    box-shadow: 0 0 16px #00000020;
427    margin-bottom: 30px;
428}
429
430.widget5 img {
431    max-width: 100%;
432    position: relative;
433}
434
435.widget5 figcaption {
436    padding: 25px;
437    position: relative;
438}
439
440.widget5 h3,
441.widget5 p {
442    margin: 0;
443    padding: 0;
444}
445
446.widget5 h3 {
447    margin-bottom: 10px;
448    display: inline-block;
449    font-weight: 600 !important;
450    color: #333333;
451}
452
453.widget5 p {
454    font-size: 1rem;
455}
456
457/* Footer */
458.bgFooter,
459.bgFooter p,
460.bgFooter a {
461    color: #fff !important;
462}
463span.footer-heading {
464    color: #fff;
465}
466.bgFooter h4 {
467    color: #fff !important;
468}
469
470.text-white,
471.text-white h4 {
472    color: #fff !important;
473}
474
475.bgFooter a:hover {
476    text-decoration: underline !important;
477}
478
479.bgFooter ul {
480    margin-bottom: 20px;
481}
482
483@media (min-width: 768px) {
484    .site-search-container {
485        margin-top: 20px;
486    }
487
488    .header-links {
489        margin-top: 35px;
490    }
491}
492
493@media (max-width: 1200px) {
494
495    /* Widget 6 */
496    .widget6 .figcaption {
497        position: unset;
498        margin: 30px auto 50px;
499        max-width: 500px;
500        left: unset;
501        right: unset;
502        top: unset;
503        transform: unset;
504    }
505
506    .widget6 .flex-item {
507        width: 100%;
508    }
509}
510
511/* DivTable.com */
512.divTable{
513	display: table;
514	width: 100%;
515}
516.divTableRow {
517	display: table-row;
518}
519.divTableHeading {
520	background-color: #EEE;
521	display: table-header-group;
522}
523.divTableCell, .divTableHead {
524	border: 1px solid #999999;
525	display: table-cell;
526	padding: 3px 10px;
527}
528.divTableHeading {
529	background-color: #EEE;
530	display: table-header-group;
531	font-weight: bold;
532}
533.divTableFoot {
534	background-color: #EEE;
535	display: table-footer-group;
536	font-weight: bold;
537}
538.divTableBody {
539	display: table-row-group;
540}
541div.container.footer a:not(.ignore-site-layout-styles a){
542  color: #fff !important;
543  }
544  div.container.footer a:not(.ignore-site-layout-styles a):hover{
545  color: #999999 !important;
546  }
547
548/* MEDIA QUERIES */
549@media (min-width: 768px) {
550    nav#mainNav {
551        width: 100%;
552    }
553    .menubg .navbar-nav {
554        flex-flow: wrap;
555        justify-content: space-around;
556        margin: 0;
557        list-style: none;
558        display: flex;
559        width: 100%;
560        padding: 0;
561        text-align: center;
562        white-space: nowrap;
563    }
564}
565		
566	</style>
567	
567<script attr="nomove" type="text/javascript">
568        var themeClass = "theme-default";
569var 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":false,"quotes":true,"repairs":true,"rto_school_info":true,"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":true,"module_designWall":true,"module_facebookFeatures":true,"module_gallery":true,"module_allcosts":false,"module_rental":false,"module_txtMsg":true,"module_rto":true,"module_inventory_turn":true,"module_reverb":true,"module_social":true,"module_mobile":false,"module_vantiv":false,"module_marketing":true,"module_marketingReviews":true,"module_bin_location":true,"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":false,"module_subscriptions":false,"module_layaway_reserve_logic":true,"module_purchase_contracts":false,"module_comment_sold":false,"module_customer_po_pos":true,"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":true,"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
569ix":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":true,"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"
569: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
569o_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
569or":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":true,"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
569o_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
569al_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
569d_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
569y_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_
569number_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
569ort_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_
569split_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_
569suggested_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":true,"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
569alized_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,"reverb":true,"website_customer_login":true,"captcha_at_checkout":true,"web_allow_discount_stacking":true,"website_pricing":false,"module_out_of_stock_product_card":false,"three_decimal_pricing":false,"displayReportsImagesByDefault":false,"pos_customer_rewards":false,"pos_shift_management":false,"pos_enable_tax_inclusive_pricing":false,"pos_show_tax_breakdown_on_receipt":false,"product_module_item_conditions":true,"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};
570var COLORADO_RETAIL_DELIVERY_FEE = 0.31;
571    </script>
571
572</head>
573<body class="secondaryPageBg">
574<!-- 43-module.tpl -->
575
576
577
578
579
580<div id="main-website-content" class="secondaryPageDiv">
581	<!-- Accessibility stuff -->
582	<a href="#skip-navigation" class="sr-only visible-focused">Skip Navigation</a>
583	<a href="/website-accessibility.htm" class="sr-only visible-focused">Website Accessibility</a>
584
585    <!-- column0_components -->
586	<div  style="" class="">
587	<div class="container ">
588		<div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 15px; padding-bottom: 15px; ">
589			
590			
591			<div class="col-sm-3"><img src="https://media.musicshop360.com/12934/Logo_transparent_black_1_1_20230703121410.png" alt="" align="" width="1390" height="609" class="img-responsive" /></div>
592<div class="col-sm-5">
593<div class="site-search-container"><form action="/module/search_content.htm" method="get" name="frmSearch"><input type="hidden" name="form_version" value="2"><input name="form_version" type="hidden" value="2" /><input name="form_version" type="hidden" value="2" /> <input name="showSearchResults" type="hidden" value="1" /> <input id="search_keyword" class="search-input site-search" name="search_keyword" size="" type="text" value="" placeholder="Search" /> <button name="image" type="image" value="Search"> <span class="fa fa-search" role="presentation"></span> </button></form></div>
594</div>
595<div class="col-sm-4">
596<ul class="list-unstyled list-inline header-links text-center">
597<li class="col-xs-6"><a href="#"> <span class="fa fa-phone" role="presentation"></span> 1.608.784.7555 </a></li>
598<li class="col-xs-6"><a href="/checkout/cart.php"> <span class="fa fa-opencart" role="presentation"></span> View Cart </a></li>
599</ul>
600</div>
601		</div>
602	</div>
603</div>
604
605    <!-- navigation -->
606	
607<div class="menubg">
608	<div class="container">
609
610		<nav id="mainNav" class="navbar navbar-default">
611			<div class="container-fluid">
612
613				<!-- Brand and toggle get grouped for better mobile display -->
614				<div class="navbar-header" style="padding-left:15px; padding-right:15px;">
615					<button type="button" class="navbar-toggle collapsed" style="width: 100%; float: left;" data-toggle="collapse" data-target="#navbar-collapse-1">
616						<span class="sr-only">Toggle navigation</span>
617						&#9776; Menu
618					</button>
619					<!--span class="navbar-brand visible-xs-block" data-toggle="collapse" href="#">Menu</span-->
620				</div>
621
622				<!-- Collect the nav links, forms, and other content for toggling -->
623				<div class="collapse navbar-collapse" id="navbar-collapse-1">
624					<ul class="nav navbar-nav">
625						<li><a href="https://www.leitholdmusic.com/" class="mainMenuItem">Home</a></li><li class="dropdown">
626	<a href="#" class="dropdown-toggle mainMenuItem" data-toggle="dropdown" role="button" aria-expanded="false">Instrument Rental Dept</a>
627	<ul class="dropdown-menu" role="menu">
628		<li><a href="https://www.leitholdmusic.com/rentals.htm">Rental Overview</a></li><li><a href="https://www.leitholdmusic.com/see-the-instruments.htm">See the Instruments</a></li><li><a href="https://www.leitholdmusic.com/rental-plan-pricing-and-details.htm">Rental Pricing and Details</a></li><li><a href="https://www.leitholdmusic.com/rental-instrument-categories.htm">Rental Instrument Condition Categories</a></li><li><a href="https://www.leitholdmusic.com/online-school-rentals.htm">Online Rental</a></li>
629	</ul>
630</li><li class="dropdown">
631	<a href="#" class="dropdown-toggle mainMenuItem" data-toggle="dropdown" role="button" aria-expanded="false">Service</a>
632	<ul class="dropdown-menu" role="menu">
633		<li><a href="https://www.leitholdmusic.com/repair-and-service.htm">Repair and Service</a></li>
634	</ul>
635</li><li class="dropdown">
636	<a href="#" class="dropdown-toggle mainMenuItem" data-toggle="dropdown" role="button" aria-expanded="false">Shop</a>
637	<ul class="dropdown-menu" role="menu">
638		<li><a href="https://www.leitholdmusic.com/shop.htm">Shop All</a></li><li><a href="https://www.leitholdmusic.com/shop/Pianos-and-Keyboards.htm">Pianos and Keyboards</a></li><li><a href="https://www.leitholdmusic.com/shop/Band--Orchestra-Instruments.htm">Band and Orchestra Instruments</a></li><li><a href="https://www.leitholdmusic.com/shop/Accessories.htm">Accessories </a></li><li><a href="https://www.leitholdmusic.com/shop/Print-Music.htm">Print Music</a></li><li><a href="https://www.leitholdmusic.com/shop/Guitars--Ukes--Banjos--Harmonicas.htm">Guitars - Ukes - Banjos - Harmonicas</a></li><li><a href="https://www.leitholdmusic.com/shop/Pro-Audio--Amps.htm">Pro Audio & Amps</a></li><li><a href="https://www.leitholdmusic.com/shop/Drums--Percussion.htm">Drums & Percussion</a></li><li><a href="https://www.leitholdmusic.com/shop/school-recommended.htm">School Recommended Products</a></li>
639	</ul>
640</li><li><a href="https://www.leitholdmusic.com/shop/Specials-and-Used-Instruments.htm" class="mainMenuItem">Specials and Used Instruments</a></li><li><a href="https://www.leitholdmusic.com/lessons.htm" class="mainMenuItem">Lessons</a></li><li class="dropdown">
641	<a href="#" class="dropdown-toggle mainMenuItem" data-toggle="dropdown" role="button" aria-expanded="false">About Us</a>
642	<ul class="dropdown-menu" role="menu">
643		<li><a href="https://www.leitholdmusic.com/our-history.htm">Our History</a></li><li><a href="https://www.leitholdmusic.com/lets-make-music.htm">Community Opportunities</a></li>
644	</ul>
645</li><li><a href="https://www.leitholdmusic.com/contact-us.htm" class="mainMenuItem">Contact Us</a></li><li><a href="https://www.leitholdmusic.com/c/account/login.php" class="mainMenuItem">Login</a></li>
646					</ul>
647				</div>
648
649			</div>
650		</nav>
651	</div>
652</div>
653
654
655	<!-- Accessibility stuff -->
656	<span id="skip-navigation"></span>
657
658    <!-- column2_components -->
659	<div  style="" class="">
660	<div class="container ">
661		<div class="row paddingXLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; ">
662			
663			
664					<div align=center style="text-align:center;">
665						
666					</div>
667				
668			
669<link href="/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type='text/css'>
670
671
672<style>
673    .cart-base {
674        color: #333 !important;
675    }
676
677    .text-danger, .has-error {
678        border-color: #a94442;
679    }
680
681    .error-label {
682        color: #a94442;
683    }
684    .text-hover-red:hover {
685        color: red !important;
686    }
687
688    .text-muted {
689        color: #bbb !important;
690    }
691
692    .display-block {
693        display: block;
694    }
695
696    .cartContainer {
697        background: #FFF;
698    }
699
700    .cartTable {
701        width:100%;
702        display: table;
703    }
704
705    .cartRow {
706        display: table-row;
707    }
708
709    .cartCell {
710        display: table-cell;
711        padding-left: 0;
712        padding-right: 10px;
713        vertical-align: middle;
714        border-top: 1px solid #eee;
715        padding-top: 5px;
716        padding-bottom: 5px;
717    }
718
719    .cp-title {
720        height: 30px;
721        font-weight: 600;
722        font-size: 14px;
723        line-height: 14px
724    }
725
726    .cp-title, .cp-footer {
727        border-top: 0 !important;
728    }
729
730    .cp-footer {
731        padding-top: 0;
732        height: 20px;
733        padding-bottom: 16px;
734    }
735
736    .border-top-white  {
737        border-top: 1px solid white !important;
738    }
739
740    .cp-row {
741        height: 50px;
742    }
743
744    .selling-points-group {
745        box-sizing: content-box;
746        border: 1px solid #ddd;
747        border-radius: 5px;
748        padding: 16px;
749        width: 65%;
750        font-size: 12px;
751        line-height: 14px;
752        margin-top: 8px;
753    }
754    .cartTableHeader {
755        border-top: 2px solid #ddd;
756        border-bottom: 1px solid #ddd;
757        font-weight: bold;
758        font-size: larger;
759        padding-top: 5px;
760        padding-bottom: 5px;
761        background: #eee;
762        padding-right: 10px;
763    }
764
765    .cartTableHeader .cartTableSubHeader {
766        font-weight: normal;
767        font-size: small;
768    }
769
770    .cartImage, .cartDelete {
771            text-align: center;
772    }
773
774    .cartItems {
775            text-align: left;
776    }
777
778    .cartPrice, .cartQuantity, .cartAmount {
779            text-align: right;
780    }
781
782    .qtySelectCell {
783        width: 100px;
784        height: 24px;
785        padding: 0;
786    }
787
788    .cp-info-group {
789        margin: 0;
790    }
791
792    .cp-info-item {
793        border: none;
794        padding: 0;
795        height: 14px;
796    }
797
798    .cp-info-item:last-child {
799        margin-bottom: 0 !important;
800    }
801
802    .cp-info-btn {
803        cursor:pointer;
804    }
805
806    .cp-terms-conditions {
807        list-style-type: none;
808    }
809
810    .mobileDivider {
811        display: none;
812    }
813
814    .contactInfo > tbody > tr > td {
815        padding: 5px;
816    }
817
818    .leftAlignDark {
819        background: #f6f6f6;
820        padding: 20px 10px 5px 20px;
821        text-align: left;
822    }
823
824    .leftAlignLight {
825        padding: 20px 10px 5px 20px;
826        text-align: left;
827    }
828
829    .infoHeader {
830        padding: 20px 10px 5px 0 !important;
831    }
832
833
834    #gift-cards-coupons .row-divider {
835        margin-top: 10px;
836        margin-bottom: 10px;
837    }
838    #gift-cards-coupons #gift-card-coupon-label-cell {
839        padding: 10px 8px 4px 8px;
840    }
841    #gift-cards-coupons #gift-card-coupon-label {
842        /*padding: 10px;*/
843        font-size: 13px;
844        color: #7f7f7f;
845    }
846    #gift-cards-coupons #gift-card-coupon-msgs {
847        text-align: right;
848    }
849    #gift-cards-coupons #gift-card-applied-msg {
850        font-size: 12px;
851        vertical-align: middle;
852        color: #64b92a;
853    }
854    #gift-card-coupon-error-msg, #coupon-applied-msg {
855        padding-left: 5px;
856    }
857    #gift-cards-coupons #coupon-applied-msg {
858        font-size: 12px;
859        vertical-align: middle;
860        color: #64b92a;
861    }
862    #gift-cards-coupons #gift-card-coupon-error-msg {
863        font-size: 12px;
864        vertical-align: middle;
865        color: #c0392b;
866    }
867    #gift-cards-coupons #gift-card-coupon-code {
868        width: 270px;
869        margin-left: 5px;
870        margin-right: 5px;
871        border: 1px solid #dfdfdf;
872        border-radius: 5px;
873        padding: 6px 0px 6px 12px;
874        font-size: 14px;
875        vertical-align: middle;
876    }
877    #gift-cards-coupons #gift-card-coupon-code-apply-cell {
878        padding-right: 8px;
879        vertical-align: top;
880    }
881    #gift-cards-coupons #gift-card-coupon-code-apply {
882        font-size: 14px;
883        vertical-align: middle;
884        border-radius: 4px;
885        padding: 6px 12px 6px 12px;
886        color: #333 !important;
887        background-color: #fff !important;
888        border: 1px solid !important;
889    }
890    #gift-cards-coupons #gift-card-coupon-code-apply:disabled {
891        opacity: .65;
892    }
893    #gift-cards-coupons #gift-card-coupon-code-apply:hover:enabled {
894        background-color: #e6e6e6 !important;
895        border: 1px solid #bfbfbf !important;
896    }
897    #gift-cards-coupons ::placeholder {
898        color: #bfbfbf;
899        opacity: 1;
900    }
901    #gift-cards-coupons .gc-coupon-data-loading {
902        color: #7f7f7f;
903    }
904    #gift-cards-coupons .gc-coupon-data-loading .fa-spinner {
905        font-size: 18px;
906    }
907
908    .gift-card-coupon-identifier {
909        font-weight: bold;
910    }
911
912    .jm {
913        width: 98%;
914        padding: 10px 8px 4px 8px;
915    }
916
917    .quote-contact-wrapper {
918        display: grid;
919        align-items: center;
920        padding: 0;
921        margin: 0 0 8px 0;
922    }
923
924    .quote-contact-div {
925        display: flex;
926        align-items: center;
927        justify-content: end;
928    }
929
930    .quote-contact-button {
931        border: none;
932        background-color: white;
933    }
934
935    .quote-contact-button-wrapper {
936        display: flex;
937        align-items: center;
938        justify-content: space-between;
939        gap: 4px;
940    }
941
942    #isInsuranceSwitchedOn, #isLuxsuranceSwitchedOn {
943        margin: 0;
944    }
945
946    #insuranceContactInformation {
947        margin: 0;
948    }
949
950    .review-contact-information {
951        text-align: right;
952    }
953
954    .review-contact-information-span {
955        cursor: pointer;
956    }
957
958    #text-msg-notifications {
959        font-weight: normal;
960    }
961    #text-msg-notifications i {
962        font-size: 16px;
963    }
964
965    
966    @media (min-width: 768px) {
967        .contactInfo {
968            width: 80%;
969        }
970    }
971
972    @media (min-width: 768px) {
973        .contactInfo {
974            width: 90%;
975        }
976        .largeHidden {
977            display: none !important;
978        }
979        .shippingOption {
980            display: inline-block !important;
981            width: inherit !important;
982        }
983    }
984
985    @media (max-width: 767px) {
986        .contactInfo {
987            width: 100%;
988        }
989        .mobileDivider {
990            display: block !important;
991            border-top: 1px solid #ccc;
992        }
993        .mobileClear {
994            clear: both;
995        }
996        .smallHidden {
997            display: none !important;
998        }
999        .cartRow, .cartCell {
1000            display: block;
1001        }
1002        .cartCell {
1003            height:inherit;
1004            border: 0px;
1005            padding-top:10px;
1006            padding-bottom:10px;
1007        }
1008        .cartAmount {
1009            display: none !important;
1010        }
1011        .cartImage {
1012            width: 50px;
1013            float: right;
1014            text-align: left;
1015        }
1016        .cartItems, .cartPrice {
1017            width: 235px;
1018            float: left;
1019            text-align: left;
1020        }
1021        .cartPrice {
1022            font-weight: bold;
1023        }
1024        .cartQuantity {
1025            width: 200px;
1026            float: left;
1027            text-align: left;
1028        }
1029        .qtySelect {
1030            width: 45px;
1031            text-align: center;
1032        }
1033        .cartDelete {
1034            width: 70px;
1035            float: right;
1036            text-align: right;
1037        }
1038        .shippingOption {
1039            width: 100%;
1040        }
1041
1042        /*New bootstrap styles for mobile*/
1043        .checkout-card .form-group {
1044            margin-bottom: 0px;
1045        }
1046
1047        .checkout-card input {
1048            margin-bottom: 10px;
1049        }
1050
1051        .checkout-card select {
1052            margin-bottom: 10px;
1053        }
1054    }
1055
1056    .row-divider {
1057        padding-top: 5px;
1058        padding-bottom: 5px;
1059        padding-right: 10px;
1060        text-align: right;
1061    }
1062
1063    .small-link {
1064        text-decoration: none;
1065        font-size: 90%;
1066    }
1067
1068    .checkout-btn {
1069        font-size: 18px;
1070        line-height: 1.33;
1071        border-radius: 6px;
1072        text-decoration: none;
1073        color: #fff !important;
1074
1075        display: inline-block;
1076        text-align: center;
1077        white-space: nowrap;
1078        vertical-align: middle;
1079        touch-action: manipulation;
1080        cursor: pointer;
1081        -moz-user-select: none;
1082        -webkit-user-select: none;
1083        border: 1px solid transparent;
1084
1085        padding-top: 10px;
1086        padding-bottom: 10px;
1087        padding-left: 40px !important;
1088        padding-right: 40px !important;
1089        margin-bottom: 0;
1090        transition-duration: 0.2s;
1091        background: #5bc050 !important;
1092    }
1093
1094    .checkout-btn[disabled] {
1095        opacity: 0.75 !important;
1096    }
1097
1098    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
1099        display: none !important;
1100    }
1101
1102    .mt-10 {
1103        margin-top: 5px;
1104    }
1105
1106    .card {
1107        background-color: #f6f6f6;
1108        padding: 20px;
1109        border-radius: 5px;
1110    }
1111
1112    .new-header {
1113        margin-bottom: 20px;
1114    }
1115
1116    .express-checkout .express-checkout-title {
1117        margin-top: 10px;
1118    }
1119
1120    .express-checkout .express-checkout-panel {
1121        margin-top: 10px;
1122        margin-bottom: 20px;
1123        border: 1px solid #ddd;
1124        box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
1125        padding: 15px;
1126        border-radius: 4px;
1127    }
1128
1129    .express-checkout .express-checkout-panel .express-checkout-info {
1130        margin-top: 10px;
1131    }
1132
1133    .express-checkout .express-checkout-buttons {
1134        display: flex;
1135        flex-direction: column;
1136        align-items: center;
1137        overflow: hidden;
1138    }
1139
1140    .express-checkout .express-checkout-buttons .express-checkout-button {
1141        overflow: hidden;
1142        max-width: 300px;
1143        width: 100%;
1144    }
1145
1146    .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) {
1147        margin: 0 0 20px 0;
1148    }
1149
1150    @media screen and (min-width: 576px) {
1151        .express-checkout .express-checkout-buttons {
1152            flex-direction: row;
1153            justify-content: flex-start;
1154        }
1155
1156        .express-checkout .express-checkout-buttons .express-checkout-button {
1157            width: 33%;
1158        }
1159
1160        .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) {
1161            margin: 0 20px 0 0;
1162        }
1163    }
1164
1165        .discounts-block {
1166            display: flex;
1167            flex-direction: row-reverse;
1168        }
1169
1170        .discount-divider {
1171            width: 30%;
1172        }
1173
1174        .divider-block-title {
1175            text-align: left;
1176            border-top: 1px solid lightgrey;
1177            padding: 5px 0 3px 0;
1178        }
1179
1180        .warning-box {
1181            background-color: #fcf8e3;
1182            color: #8a6d3b;
1183            font-family: Roboto, sans-serif;
1184            font-size: 12px;
1185            line-height: 1.17;
1186            border: 0.5px solid #8a6d3b;
1187            border-radius: 4px;
1188            padding: 7px;
1189            text-align: left;
1190            margin-bottom: 8px;
1191        }
1192
1193        .item-box {
1194            border: 1px solid #dfdfdf;
1195            border-radius: 4px;
1196            padding: 8px;
1197            margin-bottom: 8px;
1198        }
1199
1200        .discount-item {
1201            display: flex;
1202            justify-content: space-between;
1203        }
1204
1205        .gift-card-coupon-code-span {
1206            color: grey;
1207            text-align: left;
1208        }
1209
1210        .not-applied-coupon > .gift-card-coupon-code-span,
1211        .not-applied-coupon > .discount-item > .discount-item-title {
1212            opacity: 0.6;
1213            text-align: left;
1214            width: 60%;
1215        }
1216
1217        .discount-item-title {
1218            text-align: left;
1219            width: 65%;
1220        }
1221
1222        .not-applied-amount-label {
1223            color: darkgrey;
1224            font-weight: normal;
1225        }
1226
1227        .times-close {
1228            color: black;
1229        }
1230
1231        .times-close:hover {
1232            color: red;
1233        }
1234
1235        .discount-amount {
1236            font-weight: bold;
1237            color: red;
1238        }
1239
1240        .coupon-error-msg {
1241            text-align: left;
1242        }
1243</style>
1244
1245<style>
1246    .inner-label {
1247        padding-right: 15px;
1248        padding-left: 30px;
1249    }
1250    .row-grid {
1251        margin-bottom: 10px;
1252        text-align: right;;
1253    }
1254
1255    .text-danger {
1256        border-color: #a94442;
1257    }
1258
1259    .text-hover-red:hover {
1260        color: red;
1261    }
1262    .text-hover-blue:hover {
1263        color: blue;
1264    }
1265
1266    .display-block {
1267        display: block;
1268    }
1269
1270    .cartTableSubHeader {
1271        font-weight: normal;
1272        font-size: small;
1273    }
1274
1275    .panel-default {
1276        background: #f6f6f6 !important;
1277    }
1278
1279    .btn-sm {
1280        background: #ccc !important;
1281    }
1282
1283    .btn-lg {
1284        padding-left: 40px;
1285        padding-right: 40px;
1286    }
1287
1288    .card-default{
1289        color: #bbb;
1290    }
1291    .card-visa{
1292        color: #037AFC;
1293    }
1294    .card-mastercard{
1295        color: #FFA600;
1296    }
1297    .card-amex{
1298        color: #1696D3;
1299    }
1300    .card-discover{
1301        color: #FF680F;
1302    }
1303    .form-control{
1304        margin-bottom: 15px;
1305    }
1306    .error-label{
1307        position: relative;
1308        top: -12px;
1309    }
1310
1311    .option_radio {
1312        display: inline-block;
1313        vertical-align: top;
1314    }
1315
1316    .option_content {
1317        display: inline-block;
1318        margin-left: 5px;
1319        margin-top: 1px;
1320        margin-bottom: 5px;
1321    }
1322
1323    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
1324        display: none !important;
1325    }
1326</style>
1327
1328<div class="container cartContainer cart-base" ng-app="checkoutApp" ng-controller="checkoutCtrl" ng-init="Init('https://www.leitholdmusic.com', '41364CB2-1C3D-43B2-A715-9F14C63B24AC', 'US', 'IL', '', true, [])" ng-cloak >
1329    <div>
1330        <!-- Header -->
1331        <div class="row">
1332            <div ng-show="InitInfo.CheckoutSettings.HeaderType == 'Custom'" class="col-sm-12">
1333                <div id="customheader"></div>
1334            </div>
1335        </div>
1336
1337
1338        <div ng-if="CartData.message" class="alert alert-warning">
1339            <button type="button" class="close" ng-click="ErrorMessageClose()">&times;</button>
1340            {{CartData.message}}
1341        </div>
1342
1343        <div ng-if="!requireAddressInfo() && !requireContactInfo()">
1344            <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning">
1345                <button type="button" class="close" ng-click="InventoryMessagesClose()">&times;</button>
1346                <div ng-if="InventoryMessages.RemovedItems">
1347                    We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed
1348                    <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul>
1349                </div>
1350                <div ng-if="InventoryMessages.InventoryChanges">
1351                    <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div>
1352                </div>
1353            </div>
1354
1355            <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning">
1356                <button type="button" class="close" ng-click="AvailabilityMessagesClose()">&times;</button>
1357                <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
1358                    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:
1359                    <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul>
1360                </div>
1361            </div>
1362        </div>
1363
1364        <!-- Initial Cart Contents -->
1365        <div ng-if="!isWebPayment()">
1366            <div class="h1">Shopping Cart</div>
1367        </div>
1368        <br>
1369        <div ng-if="StatusInfo.Initializing">
1370            <i class="fa fa-spinner fa-pulse fa-2x"></i>
1371        </div>
1372        <div ng-if="showContinueShopping()">
1373            <span ng-show="!CartStatus.Valid" >
1374                Your cart is empty.
1375            </span>
1376            <a href="{{InitInfo.ShopUrl}}/checkout/sync.php?redirect=" style="btn">Click Here</a> to continue shopping.</h4>
1377        </div>
1378        <div ng-if="isCardProcessorRain()" ng-show="showExpressCheckout()" class="row">
1379            <div class="col-sm-7">
1380                <div class="express-checkout">
1381                    <div class="express-checkout-title">
1382                        <strong>Express Checkout</strong>
1383                    </div>
1384
1385                    <div class="express-checkout-panel">
1386                        <div class="express-checkout-buttons">
1387                            <div class="express-checkout-button" id="payment-request-button-wrapper" style="display: none;">
1388                                <div id="payment-request-button">
1389                                    <!-- A Stripe Element will be inserted here. -->
1390                                </div>
1391                            </div>
1392                        </div>
1393
1394                        <div class="express-checkout-info">
1395                            If you choose Apple Pay or Google Pay,
1396                            you will need to set your shipping preferences in the window
1397                            that opens after you click the button.
1398                            Settings below will not display there.
1399                        </div>
1400                    </div>
1401                </div>
1402            </div>
1403        </div>
1404
1405                    <!-- Initial Items List -->
1406                            <div ng-if="!showHostedCheckout()">
1407                <br>
1408            <!-- Item Summary -->
1409<div class="cartTable" ng-if="showItemSummary()">
1410    <div class="cartRow smallHidden">
1411        <div class="cartCell cartTableHeader cartImage"></div>
1412        <div class="cartCell cartTableHeader cartItems">Items</div>
1413        <div class="cartCell cartTableHeader cartPrice">Price</div>
1414        <div class="cartCell cartTableHeader cartQuantity">Quantity</div>
1415        <div class="cartCell cartTableHeader cartAmount">Amount</div>
1416        <div class="cartCell cartTableHeader cartDelete"></div>
1417    </div>
1418            <div class="cartRow" data-cy="web-cart-item-row" ng-cloak ng-repeat="item in CartData.Items">
1419            <div class="mobileDivider largeHidden"></div>
1420            <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>
1421            <div class="cartCell cartItems" data-cy="web-cart-item-title">
1422            <span ng-if="item.condition">
1423                {{item.title}} {{item.condition.title}}
1424            </span>
1425            <span ng-if="!item.condition">
1426                                    {{item.title}}
1427                                <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
1428            </span>
1429            <span ng-if="!item.quantity_updating && item.type == 'rental'">
1430                - {{item.id}}
1431<!--                Below doesn't work-->
1432<!--                <a ng-click="editRental(item)" class="btn-default" style="cursor: pointer;" title="Edit Rental">-->
1433<!--                    <i class="fa fa-edit fa-lg"></i>-->
1434<!--                </a>-->
1435            </span>
1436            <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
1437                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
1438            </span>
1439            <span ng-if="item.class_attendees.length">
1440                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
1441                <span ng-repeat="name in item.class_attendees">
1442                    &nbsp;{{name}}
1443                </span>
1444            </span>
1445<style>
1446    a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited {
1447        font-size: 13px;
1448        text-decoration: none;
1449    }
1450    table.subscription-details {
1451        font-size: 13px;
1452        margin: 5px 0;
1453    }
1454    .details-hidden {
1455        visibility: hidden;
1456        height: 0;
1457    }
1458</style>
1459
1460<div ng-if="item.type === 'subscription'">
1461    <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
1462        <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
1463        View Subscription Details
1464    </a>
1465    <div ng-class="{'details-hidden': !showSubscriptionDetails}">
1466        <style>
1467    table.subscription-details span.small-subtitle {
1468        font-size: 10px;
1469    }
1470    table.subscription-details tr td:first-child {
1471        padding: 0 15px 0 0;
1472    }
1473</style>
1474
1475<table class="subscription-details">
1476    <tr>
1477        <td>{{item.subscriptionData.labels.adverb}} Price:</td>
1478        <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
1479    </tr>
1480    <tr>
1481        <td>Subscription Length:</td>
1482        <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
1483    </tr>
1484    <tr>
1485        <td>Start/End Date:</td>
1486        <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
1487    </tr>
1488    <tr>
1489        <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
1490        <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
1491    </tr>
1492    <tr>
1493        <td>Previous {{item.subscriptionData.labels.plural}}:</td>
1494        <td>
1495            <span ng-if="item.subscriptionData.previous_items_cnt > 0">
1496                {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
1497            </span>
1498            <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
1499        </td>
1500    </tr>
1501    <tr>
1502        <td>Delivery Method:</td>
1503        <td ng-switch="item.subscriptionData.delivery_type">
1504            <span ng-switch-when="ship">
1505                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
1506            </span>
1507            <span ng-switch-default>In-Store Pickup</span>
1508        </td>
1509    </tr>
1510    <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
1511        <td>Address:</td>
1512        <td>{{item.subscriptionData.address}}</td>
1513    </tr>
1514    <tr>
1515        <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
1516        <td>
1517            <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
1518        </td>
1519    </tr>
1520    <tr>
1521        <td><strong>Due Today:</strong></td>
1522        <td>
1523            <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
1524        </td>
1525    </tr>
1526</table>
1527    </div>
1528</div>
1529            <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
1530                This item is not eligible for discounts
1531            </span>
1532        </div>
1533                    <div ng-if="!showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemPriceForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div>
1534                <div ng-if="showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemGstPrice(item) | currency:InitInfo.CurrencySymbol2}}</div>
1535        <div class="mobileClear largeHidden"></div>
1536        <div class="cartCell cartQuantity" data-cy="web-cart-item-quantity">
1537            <div ng-if="showQuantityAsSelector(item)" style="white-space: nowrap;">
1538                                    <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)">
1539                    </select>
1540                                <span>
1541                    <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)">
1542                    </select>
1543                    <span>{{ getItemUnitType(item); }}</span>
1544                </span>
1545            </div>
1546            <div ng-if="showQuantityAsNumber(item)">
1547                {{item.qty_integer}}
1548            </div>
1549            <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
1550        </div>
1551                    <div ng-if="!showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemTotalForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div>
1552                <div ng-if="showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</div>
1553                            <div class="cartCell cartDelete">
1554                    <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>
1555                    <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
1556                </div>
1557                    <div class="mobileClear largeHidden"></div>
1558    </div>
1559        </div>
1560
1561
1562
1563
1564<!-- Items Subtotal -->
1565
1566<div  ng-if="!showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal">
1567    Subtotal: {{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}
1568</div>
1569<div ng-if="showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal">
1570    Subtotal: {{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}
1571</div>
1572
1573        <!-- Gift Cards and Coupons -->
1574        <div ng-show="isProcessingEnabled()">
1575            <div ng-if="shouldShowGiftCardsCoupons()" id="gift-cards-coupons">
1576
1577                <!-- Gift Card or Coupon Code Lookup -->
1578                <table>
1579                    <tr>
1580                        <td colspan="3">
1581                            <div ng-show="isProductInCart()" class="quote-contact-wrapper">
1582                                                                                                                            </div>
1583                        </td>
1584                    </tr>
1585                    <tr>
1586                        <td style="width: 98%;">
1587                        </td>
1588                        <td id="gift-card-coupon-label-cell" style="width: 1%;">
1589                        </td>
1590                        <td style="width: 1%;">
1591                        </td>
1592                    </tr>
1593                    <tr>
1594                        <td id="gift-card-coupon-msgs">
1595                            <span>
1596                                <!-- Loading -->
1597                                <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
1598                            </span>
1599                        </td>
1600                        <td>
1601                            <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">
1602                            <span>
1603                                <!-- Messages -->
1604                                <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
1605                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
1606                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Added</span>
1607                            </span>
1608                        </td>
1609                        <td id="gift-card-coupon-code-apply-cell">
1610                            <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>
1611                        </td>
1612                    </tr>
1613                </table>
1614
1615                <!-- Coupons -->
1616                    <div class="discounts-block">
1617                        <div ng-show="CartData.Coupons.length > 0" class="row-divider discount-divider">
1618                            <div class="divider-block-title">
1619                                Coupons
1620                            </div>
1621                            <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert alert-warning warning-box">
1622                                <span ng-if="showOnlyHighestDiscountWarning()">
1623                                    Only a single coupon with the highest savings will be applied.
1624                                </span>
1625                                <span ng-if="showDontApplyOnSaleItemsWarning()">
1626                                    Coupons do not apply to On Sale Items
1627                                </span>
1628                            </div>
1629                            <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}">
1630                                <div class="discount-item">
1631                                    <div class="discount-item-title">
1632                                        <a href="" ng-click="openCouponDetailsModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a>
1633                                    </div>
1634                                    <div class="discount-amount">
1635                                        <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} &nbsp;</span>
1636                                        <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</span>
1637                                        <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>
1638                                        <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i>
1639                                    </div>
1640                                </div>
1641                                <div class="gift-card-coupon-code-span">
1642                                    {{c.couponCode}}
1643                                </div>
1644                                <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">
1644{{couponStatusMessage}}</div>
1645                            </div>
1646                        </div>
1647                    </div>
1648                    <div class="discounts-block">
1649                        <!-- Gift Cards -->
1650
1651                        <div ng-if="CartData.GiftCards.length > 0" class="row-divider discount-divider">
1652                            <div class="divider-block-title">
1653                                Gift Cards
1654                            </div>
1655                            <div ng-repeat="gc in CartData.GiftCards" class="item-box">
1656                                <div class="discount-item">
1657                                    <div>
1658                                        <span class="gift-card-coupon-identifier">{{gc.title}}</span>&nbsp;&nbsp;&nbsp;&nbsp;
1659                                    </div>
1660                                    <div class="discount-amount">
1661                                        -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
1662                                        <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>
1663                                        <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i>
1664                                    </div>
1665                                </div>
1666                                <div class="gift-card-coupon-code-span">
1667                                    {{gc.number}}
1668                                </div>
1669                            </div>
1670                        </div>
1671                    </div>
1672            </div>
1673
1674            <!-- Checkout Options -->
1675            <div align="right">
1676                <div ng-show="showSecureOrPaypal()" class="row-divider" style="display: inline-block; text-align:center;">
1677                    <br>
1678
1679                    <span ng-if="allowCreditCardCheckout() && isCardProcessorNMI()">
1680                        <button ng-click="GoToCheckoutUrl()" class="checkout-btn" data-cy="web-cart-checkout-button">
1681                            Secure Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1682                        </button>
1683                    </span>
1684
1685                    <span ng-if="isCardProcessorVantiv()">
1686                        <button id="checkout-vantiv" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_VANTIV)" class="checkout-btn">
1687                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1688                        </button>
1689                    </span>
1690
1691                    <span ng-if="isCardProcessorRain()">
1692                        <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_RAIN)" class="checkout-btn">
1693                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1694                        </button>
1695                    </span>
1696
1697                    <span ng-if="isCardProcessorQuiltAdyen()">
1698                        <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_QUILT_ADYEN)" class="checkout-btn">
1699                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1700                        </button>
1701                    </span>
1702
1703                    <div ng-if="showPaypalButtonOnCart()" style="padding:10px;">
1704                        <p><strong>- OR -</strong></p>
1705                        <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;">
1706                    </div>
1707
1708                    <br>
1709                </div>
1710
1711                <div ng-show="isCartTotalExceeded()" class="mt-10">Please contact our store for payment options on your purchase.</div>
1712            </div>
1713        </div>
1714        <div ng-if="!isProcessingEnabled()">
1715            <p>&nbsp;</p>
1716            <p>Online checkout is currently disabled. Please call {{InitInfo.Store.phone}} to place an order.</p>
1717        </div>
1718                    </div>
1719        <div ng-show="showHostedCheckout()">
1720    <style>
1721
1722    #shippingInStorePickupOptions .nav-pills>li>a {
1723        border: solid #ddd 1px;
1724        color: #337ab7 !important;
1725    }
1726
1727    #shippingInStorePickupOptions .nav-justified>li {
1728        padding: 0 10px;
1729    }
1730
1731
1732    #shippingInStorePickupOptions .nav-pills>li.active>a {
1733        position: relative;
1734        color: #fff !important;
1735        background: #337ab7;
1736        border-color: #337ab7;
1737    }
1738
1739    #shippingInStorePickupOptions .nav-pills>li.active>a:hover {
1740        color: #fff !important;
1741    }
1742
1743    @media (min-width: 768px) {
1744        #shippingInStorePickupOptions .nav-pills>li.active>a:before {
1745            position: absolute;
1746            content: '';
1747            bottom: -10px;
1748            left: 0;
1749            right: 0;
1750            margin: 0 auto;
1751            width: 0;
1752            height: 0;
1753            border-style: solid;
1754            border-width: 10px 10px 0 10px;
1755            border-color: #337ab7 transparent transparent transparent;
1756        }
1757    }
1758
1759    #shippingInStorePickupOptions .well {
1760        background-color: #fff;
1761    }
1762
1763    #shippingInStorePickupOptions .form-group {
1764        margin-bottom: 5px;
1765    }
1766
1767    .tab-options .nav-pills>li>a {
1768        border: solid #ddd 1px;
1769        color: #337ab7 !important;
1770    }
1771
1772    .tab-options .nav-justified>li {
1773        padding: 0 10px;
1774    }
1775
1776    .tab-options .nav-pills>li.active>a {
1777        position: relative;
1778        color: #fff !important;
1779        background: #337ab7;
1780        border-color: #337ab7;
1781    }
1782
1783    .tab-options .nav-pills>li.active>a:hover {
1784        color: #fff !important;
1785    }
1786
1787    @media (min-width: 768px) {
1788        .tab-options .nav-pills>li.active>a:before {
1789            position: absolute;
1790            content: '';
1791            bottom: -10px;
1792            left: 0;
1793            right: 0;
1794            margin: 0 auto;
1795            width: 0;
1796            height: 0;
1797            border-style: solid;
1798            border-width: 10px 10px 0 10px;
1799            border-color: #337ab7 transparent transparent transparent;
1800        }
1801    }
1802
1803    .tab-options .well {
1804        background-color: #fff;
1805    }
1806
1807    .tab-options .form-group {
1808        margin-bottom: 5px;
1809    }
1810
1811    a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited {
1812        font-size: 13px;
1813        text-decoration: none;
1814    }
1815    table.subscription-details {
1816        font-size: 13px;
1817        margin: 5px 0;
1818    }
1819    table.subscription-details tr td:first-child {
1820        padding: 0 15px 0 0;
1821    }
1822    table.subscription-details span.small-subtitle {
1823        font-size: 10px;
1824    }
1825    .dynamic_tax_error {
1826        color: #939ca6;
1827    }
1828
1829    #gift-card-coupon-code-apply {
1830        color: #333 !important;
1831        background-color: #fff !important;
1832        border: 1px solid !important;
1833    }
1834
1835    .divider-checkout-block-title {
1836        text-align: left;
1837        margin-bottom: 10px;
1838    }
1839
1840    .divider-checkout-block-gc-title {
1841        text-align: left;
1842    }
1843
1844    .messages-coupon-gc {
1845        font-size: 12px;
1846    }
1847
1848    #gift-card-coupon-msgs > #coupon-applied-msg, #gift-card-applied-msg {
1849        font-size: 12px;
1850        vertical-align: middle;
1851        color: #64b92a;
1852    }
1853
1854    #gift-card-coupon-msgs > #gift-card-coupon-error-msg {
1855        font-size: 12px;
1856        vertical-align: middle;
1857        color: #c0392b;
1858    }
1859
1860    .row-divider-checkout {
1861        padding-bottom: 5px;
1862        text-align: right;
1863    }
1864
1865    .quote-contact-checkout-button {
1866        border: none;
1867        background-color: #f6f6f6;
1868    }
1869
1870    .review-contact-information-checkout {
1871        text-align: left;
1872        padding-left: 23px;
1873    }
1874
1875    .checkout-marketing-emails-checkbox {
1876        margin-top: -10px;
1877        display: block;
1878    }
1879
1880    .terms-fallback-panel {
1881        background: #f5f5f5;
1882        border: 1px solid #e3e3e3;
1883        border-radius: 4px;
1884        margin-bottom: 20px;
1885        vertical-align: text-top;
1886    }
1887
1888    .divider-row {
1889        display: flex;
1890        align-items: center;
1891        gap: 8px;
1892        margin: 12px 0;
1893    }
1894
1895    .divider-line {
1896        flex: 1;
1897        height: 1px;
1898        background: #e5e7eb;
1899    }
1900
1901    .divider-text {
1902        color: #6b7280;
1903    }
1904
1905    .saved-cards-container {
1906        border: 1px solid #e5e7eb;
1907        border-radius: 6px;
1908        padding: 12px;
1909        background-color: #fff;
1910        max-height: 200px;
1911        overflow-y: auto;
1912    }
1913
1914    .saved-cards-header {
1915        display: flex;
1916        padding: 0 8px 8px;
1917        font-weight: 600;
1918    }
1919
1920    .saved-cards-col-name {
1921        flex: 1;
1922    }
1923
1924    .saved-cards-col-exp {
1925        width: 20%;
1926        text-align: left;
1927    }
1928
1929    .saved-card-row {
1930        display: flex;
1931        align-items: center;
1932        padding: 8px;
1933        border-top: 1px solid #f3f4f6;
1934        box-sizing: border-box;
1935        transition: background 0.2s, border 0.2s;
1936    }
1937
1938    .saved-card-row.saved-card-selected {
1939        background: #e8f3ff;
1940        border: 1px solid #9ac7ff;
1941        border-radius: 6px;
1942    }
1943
1944    .saved-card-label {
1945        display: flex;
1946        align-items: center;
1947        gap: 8px;
1948        flex: 1;
1949        min-width: 0;
1950        margin: 0;
1951        cursor: pointer;
1952    }
1953
1954    .saved-card-label input[type="radio"] {
1955        margin-top: 0;
1956        position: relative;
1957        top: 0;
1958    }
1959
1960    .saved-card-info {
1961        min-width: 0;
1962    }
1963
1964    .saved-card-title {
1965        font-weight: bold;
1966        overflow: hidden;
1967        text-overflow: ellipsis;
1968        white-space: nowrap;
1969    }
1970
1971    .saved-card-last4,
1972    .saved-card-exp {
1973        font-weight: normal;
1974        color: #6b7280;
1975    }
1976
1977    .saved-card-expdate {
1978        flex: 0 0 20%;
1979        font-weight: bold;
1980    }
1981
1982    .nickname-group {
1983        margin-bottom: 16px;
1984    }
1985
1986    .nickname-label {
1987        display: flex;
1988        gap: 6px;
1989        align-items: baseline;
1990        font-weight: bold;
1991        margin-bottom: 6px;
1992    }
1993
1994    .nickname-optional {
1995        font-size: 12px;
1996        font-weight: normal;
1997        color: #6b7280;
1998    }
1999
2000    .nickname-input {
2001        border: 1px solid #d1d5db;
2002        border-radius: 6px;
2003        padding: 8px 10px;
2004        font-size: 14px;
2005        transition: border-color 0.2s ease;
2006    }
2007
2008    .nickname-input:focus {
2009        outline: none;
2010        border-color: #3b82f6;
2011        box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
2012    }
2013
2014    .payment-wrapper {
2015        position: relative;
2016    }
2017
2018    .payment-overlay {
2019        position: absolute;
2020        inset: 0;
2021        background: rgba(255, 255, 255, 0.3);
2022        cursor: pointer;
2023        z-index: 10;
2024        border-radius: 4px;
2025        transition: background 0.2s ease;
2026    }
2027
2028    .payment-overlay:hover {
2029        background: rgba(255, 255, 255, 0.3);
2030    }
2031</style>
2032
2033<!-- Main Checkout -->
2034<div class="row" ng-show="showMainCheckout()">
2035    <div class="col-sm-7">
2036
2037        <!-- Error messages -->
2038
2039        <div ng-if="StatusInfo.ErrorMessage" class="alert alert-danger" data-cy="web-checkout-error-top">
2040            <button type="button" class="close" ng-click="ErrorMessageClose()" data-cy="web-checkout-error-top-close">&times;</button>
2041            {{StatusInfo.ErrorMessage}}
2042        </div>
2043
2044        <div ng-if="CartData.Message" class="alert alert-warning" data-cy="web-checkout-cart-message">
2045            <button type="button" class="close" ng-click="ErrorMessageClose()">&times;</button>
2046            {{CartData.Message}}
2047        </div>
2048
2049        <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning" data-cy="web-checkout-inventory-message">
2050            <button type="button" class="close" ng-click="InventoryMessagesClose()">&times;</button>
2051            <div ng-if="InventoryMessages.RemovedItems.length > 0">
2052            We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed
2053                <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul>
2054            </div>
2055            <div ng-if="InventoryMessages.InventoryChanges.length > 0">
2056                <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div>
2057            </div>
2058        </div>
2059
2060        <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning" data-cy="web-checkout-availability-message">
2061            <button type="button" class="close" ng-click="AvailabilityMessagesClose()">&times;</button>
2062            <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
2063                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:
2064                <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul>
2065            </div>
2066        </div>
2067
2068        <div ng-if="StatusInfo.DynamicTaxError" class="alert alert-danger" data-cy="web-checkout-error-tax">
2069            {{StatusInfo.DynamicTaxError}}
2070        </div>
2071        <!-- Initial Cart Contents -->
2072
2073        <div ng-show="!isCartValid()" class="panel panel-default ng-hide">
2074            <div class="panel-body">
2075                <h4>Your cart is empty. <a href="{{InitInfo.ShopUrl}}/checkout/sync.php" style="btn">Click Here</a> to continue shopping.</h4>
2076            </div>
2077        </div>
2078
2079        <!-- Mobile Items -->
2080
2081        <div class="panel panel-default visible-xs">
2082            <div ng-if="StatusInfo.Initializing" class="panel-body">
2083                <i class="fa fa-spinner fa-pulse fa-2x"></i>
2084            </div>
2085            <table ng-if="!StatusInfo.Initializing" class="table">
2086
2087
2088<thead>
2089<tr>
2090    <td><strong>Description</strong></td>
2091    <td><strong>Quantity</strong></td>
2092    <td colspan="2"><strong>Amount</strong></td>
2093</tr>
2094</thead>
2095<tbody ng-repeat="item in CartData.Items">
2096<tr>
2097    <td colspan="4" style="border-bottom: 0; padding-bottom: 0;">
2098        <span ng-if="item.condition">
2099                {{item.title}} ({{item.condition.title}})
2100        </span>
2101
2102        <span ng-if="!item.condition">
2103                            {{item.title}}
2104                        <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
2105        </span>
2106
2107        <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
2108            This item is not eligible for discounts
2109        </span>
2110        <span ng-if="!item.quantity_updating && item.type == 'rental'">
2111            - {{item.id}}
2112        </span>
2113        <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
2114            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
2115        </span>
2116        <span ng-if="item.class_attendees.length">
2117            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
2118            <span ng-repeat="name in item.class_attendees">
2119                &nbsp;{{name}}
2120            </span>
2121        </span>
2122    </td>
2123</tr>
2124<tr>
2125    <td style="border-top: 0;">
2126        <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;">
2127
2128            </td>
2129    <td style="vertical-align: middle; border-top: 0;">
2130        <div ng-if="showQuantityAsSelector(item)" class="form-inline">
2131                            <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)">
2132                </select>
2133            
2134            <span ng-if="item.qty_type == 'fraction'">
2135                <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)">
2136                </select>
2137                <span ng-if="item.measure_unit == 'Meter'">Metres</span>
2138                <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span>
2139            </span>
2140        </div>
2141        <div ng-if="showQuantityAsNumber(item)">
2142            {{item.qty_integer}}
2143        </div>
2144        <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
2145    </td>
2146
2147            <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td>
2148    
2149    <td style="vertical-align: middle; border-top: 0;">
2150        <div class="cartCell cartDelete">
2151                            <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>
2152                        <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
2153        </div>
2154    </td>
2155    <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td>
2156</tr>
2157<tr ng-if="item.type === 'subscription'">
2158    <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
2159        <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
2160            <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
2161            View Subscription Details
2162        </a>
2163        <div ng-show="showSubscriptionDetails">
2164            <table class="subscription-details">
2165                <tr>
2166                    <td>{{item.subscriptionData.labels.adverb}} Price:</td>
2167                    <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
2168                </tr>
2169                <tr>
2170                    <td>Subscription Length:</td>
2171                    <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
2172                </tr>
2173                <tr>
2174                    <td>Start/End Date:</td>
2175                    <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
2176                </tr>
2177                <tr>
2178                    <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
2179                    <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
2180                </tr>
2181                <tr>
2182                    <td>Previous {{item.subscriptionData.labels.plural}}:</td>
2183                    <td>
2184                                                 <span ng-if="item.subscriptionData.previous_items_cnt > 0">
2185                                                    {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
2186                                                </span>
2187                        <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
2188                    </td>
2189                </tr>
2190                <tr>
2191                    <td>Delivery Method:</td>
2192                    <td ng-switch="item.subscriptionData.delivery_type">
2193                                            <span ng-switch-when="ship">
2194                                                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
2195                                            </span>
2196                        <span ng-switch-default>In-Store Pickup</span>
2197                    </td>
2198                </tr>
2199                <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
2200                    <td>Address:</td>
2201                    <td>{{item.subscriptionData.address}}</td>
2202                </tr>
2203                <tr>
2204                    <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
2205                    <td>
2206                        <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
2207                    </td>
2208                </tr>
2209                <tr>
2210                    <td><strong>Due Today:</strong></td>
2211                    <td>
2212                        <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
2213                    </td>
2214                </tr>
2215            </table>
2216        </div>
2217    </td>
2218</tr>
2219</tbody>
2220            </table>
2221        </div>
2222
2223        <!-- Show Contact Info -->
2224        <div ng-form="contactForm" ng-show="showContactInfo()" class="panel panel-default ng-hide">
2225            <div class="panel-body">
2226
2227                <!-- Validation Messages -->
2228                <div ng-show="!inStorePickup() && (ShippingStatus.MessagesShow && ShippingStatus.NotValidMessages.length > 0 || ContactStatus.MessagesShow && ContactStatus.NotValidMessages.length > 0)" class="row">
2229                    <div class="col-xs-12 text-danger">
2230                        <span ng-repeat="message in ContactStatus.NotValidMessages"><label>{{message}}</label><br></span>
2231                    </div>
2232                    <div class="col-xs-12 text-danger">
2233                        <span ng-repeat="message in ShippingStatus.NotValidMessages"><label>{{message}}</label><br></span>
2234                    </div>
2235                </div>
2236
2237                <div class="row">
2238                    <div class="col-xs-12">
2239                        <label>Contact Information</label>
2240                    </div>
2241                </div>
2242
2243                <div class="row">
2244                    <div ng-class="FormFieldErrorClass('contactForm', 'email', contactForm)" class="col-sm-6">
2245                        <input required
2246                               id="billing_email"
2247                               data-cy="web-checkout-contact-email"
2248                               name="email"
2249                               type="email"
2250                               ng-model="BillingInfo.Email"
2251                               class="form-control"
2252                               placeholder="Email"
2253                               ng-focus="InitToolTip($event)"
2254                               data-toggle="tooltip"
2255                               ng-blur="updateCouponsByCustomerGroups()"
2256                               title="Email Address">
2257                        <label ng-if="FormFieldError('contactForm', 'email', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-email-error">
2258                            Please enter a valid email
2259                        </label>
2260                        <label ng-if="isSubscribeToMarketingEmailsEnabled()" class="checkout-marketing-emails-checkbox" id="text-msg-notifications">
2261                            <input class="ng-pristine ng-untouched ng-valid" id="subscribeToMarketingEmails" data-cy="web-checkout-subscribe-marketing" type="checkbox" ng-click="toggleSubscribeToMarketingEmails()">
2262                            <small for="subscribeToMarketingEmails">
2263                                Sign me up for News and Offers
2264                            </small>
2265                        </label>
2266                    </div>
2267                    <div ng-class="FormFieldErrorClass('contactForm', 'phone', contactForm)" class="col-sm-6">
2268                        <input
2269                            id="billing_phone"
2270                            data-cy="web-checkout-contact-phone"
2271                            required
2272                            phone-number
2273                            ng-model="BillingInfo.Phone"
2274                            ng-focus="InitToolTip($event)"
2275                            name="phone"
2276                            type="text"
2277                            data-toggle="tooltip"
2278                            title="Phone Number"
2279                            class="form-control"
2280                        >
2281                        <label ng-if="FormFieldError('contactForm', 'phone', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-phone-error">
2282                            Please enter a valid phone number
2283                        </label>
2284                        <label style="margin-top: -10px; display: block;" id="text-msg-notifications" ng-if="isTextMessagingSupported()">
2285                            <input type="checkbox" ng-model="CheckoutInfo.sendTextNotifications" class="ng-pristine ng-untouched ng-valid">
2286                            <small>Get order update texts</small>
2287                            <i class="fa fa-mobile" aria-hidden="true"></i>
2288                        </label>
2289                    </div>
2290                </div>
2291            </div>
2292        </div>
2293
2294        <!-- Shipping Information -->
2295        <div ng-form="shippingForm" ng-show="showShippingForm() && isShippingRequired()" class="panel panel-default ng-hide">
2296            <div class="panel-body">
2297
2298                <div ng-if="InitInfo.wholesale.checkout_enabled">
2299                    <div class="row">
2300                            <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6">
2301                            <input ng-required="!isPickup()"
2302                                   capitalize-first
2303                                   id="shipping_first_name" data-cy="web-checkout-shipping-first-name"
2304                                   name="shipping_first_name"
2305                                   type="text"
2306                                   ng-model="ShippingInfo.FirstName"
2307                                   class="form-control"
2308                                   placeholder="First Name"
2309                                   ng-focus="InitToolTip($event)"
2310                                   data-toggle="tooltip"
2311                                   title="First Name">
2312                            <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label">
2313                                Please enter a first name
2314                            </label>
2315                        </div>
2316                            <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" >
2317                            <input ng-required="!isPickup()"
2318                                   capitalize-first
2319                                   id="shipping_last_name" data-cy="web-checkout-shipping-last-name"
2320                                   name="shipping_last_name"
2321                                   type="text"
2322                                   ng-model="ShippingInfo.LastName"
2323                                   class="form-control"
2324                                   placeholder="Last Name"
2325                                   ng-focus="InitToolTip($event)"
2326                                   data-toggle="tooltip"
2327                                   title="Last Name">
2328                            <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label">
2329                                Please enter a last name
2330                            </label>
2331                        </div>
2332                    </div>
2333
2334                    <div class="row">
2335                        <div class="col-sm-6">
2336                            <input capitalize-first
2337                                   id="company_name" data-cy="web-checkout-shipping-company"
2338                                   name="company_name"
2339                                   type="text"
2340                                   ng-model="ShippingInfo.company_name"
2341                                   class="form-control"
2342                                   placeholder="Company Name"
2343                                   ng-focus="InitToolTip($event)"
2344                                   data-toggle="tooltip"
2345                                   title="Company Name">
2346                        </div>
2347                    </div>
2348                </div>
2349
2350                <div id="shippingInStorePickupOptions">
2351
2352                    <div ng-if="areShippingOptionsRequired()">
2353                        <label>Shipping and Pickup Options</label>
2354                    </div>
2355
2356                    <!-- Shipping Nav tabs -->
2357                    <ul class="nav nav-pills nav-justified" role="tablist" id="shippingTabs">
2358                        <li role="presentation" class="active" ng-if="isShippingTabVisible()">
2359                            <a href="#shippingOptions" aria-controls="shippingOptions" role="tab" data-toggle="pill">
2360                                <span class="fa fa-truck fa-fw"></span> Shipping Options
2361                            </a>
2362                        </li>
2363                        <li role="presentation" ng-if="isLocalDeliveryEnabled() && isLocalDeliveryOptionsProvided">
2364                            <a href="#localDelivery" aria-controls="localDelivery" role="tab" data-toggle="pill" id="localDeliveryTab">
2365                                <span class="fa fa-home fa-fw"></span> Local Delivery
2366                            </a>
2367                        </li>
2368                        <li role="presentation" ng-if="isStorePickupEnabled() && hasStorePickupOptions()">
2369                            <a href="#inStorePickup" aria-controls="inStorePickup" role="tab" data-toggle="pill" id="inStorePickupTab">
2370                                <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> In-Store Pickup
2371                            </a>
2372                        </li>
2373                        <li role="presentation" ng-if="isCurbsidePickupEnabled() && hasCurbsidePickupOptions()">
2374                            <a href="#curbsidePickup" aria-controls="curbsidePickup" role="tab" data-toggle="pill" id="curbsidePickupTab">
2375                                <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> Curbside Pickup
2376                            </a>
2377                        </li>
2378                        <li role="presentation" ng-if="isOsrSchoolPickupEnabled() && hasSchoolPickupOptions()">
2379                            <a href="#schoolPickup" aria-controls="schoolPickup" role="tab" data-toggle="pill" id="schoolPickupTab">
2380                                <span class="fa fa-school fa-fw"></span> <strong>FREE</strong> School Delivery
2381                            </a>
2382                        </li>
2383                    </ul>
2384
2385                    <!-- Shipping Tab panes -->
2386                    <div class="tab-content" style="margin-top: 15px;">
2387
2388                        <div role="tabpanel" class="tab-pane fade in active" id="shippingOptions" ng-if="isShippingFormVisible()">
2389                            <!-- Shipping Options -->
2390                            <div class="well">
2391                                <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())">
2392                                    <div class="col-xs-12">
2393                                        <div class="pull-left">
2394                                            Please input an address to see shipping options
2395                                        </div>
2396                                    </div>
2397                                </div>
2398                                <!-- Shipping options -->
2399                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2400                                    <div class="col-xs-12">
2401                                        <i class="fa fa-spinner fa-pulse"></i>
2402                                    </div>
2403                                </div>
2404
2405                                <div ng-if="!ShippingStatus.OptionsUpdating">
2406                                    <div ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()" class="row">
2407                                        <div class="col-xs-12">
2408                                            <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2409                                        </div>
2410                                    </div>
2411                                    <div ng-if="showShippingStateRequired()" class="row">
2412                                        <div class="col-xs-12">
2413                                            <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">Please enter a valid {{ShippingInfo.ZipOrPostal}} to see shipping options</p>
2414                                        </div>
2415                                    </div>
2416                                    <div ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()" class="row">
2417                                        <div class="col-xs-12">
2418                                            Shipping options are not available for this country or region.
2419                                            <br>
2420                                            Please call {{InitInfo.Store.phone}} for shipping options.
2421                                        </div>
2422                                    </div>
2423                                    <div ng-if="hasShippingOptions()" class="row">
2424                                        <div class="col-xs-12">
2425                                            <ul class="list-unstyled">
2426                                                <li ng-repeat="option in enhancedShippingInfo.shippingOptions track by option.id">
2427                                                    <div class="form-group">
2428                                                        <label>
2429                                                            <input
2430                                                                    ng-required="!ShippingInfo.OptionId"
2431                                                                    name="shipping_option"
2432                                                                    type="radio"
2433                                                                    value="{{option.id}}"
2434                                                                    ng-change="ShippingVerify()"
2435                                                                    ng-model="ShippingInfo.OptionId"
2436                                                                    class="option_radio"
2437                                                            >
2438                                                            <span class="option_content" style="font-weight: normal">
2439                                                                    <span ng-if="!isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{option.price | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span>
2440                                                                    <span ng-if="isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span>
2441                                                                </span>
2442                                                        </label>
2443                                                    </div>
2444                                                </li>
2445                                            </ul>
2446                                            <div>
2447                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2448                                            </div>
2449                                        </div>
2450                                    </div>
2451                                </div>
2452                            </div>
2453
2454                            <!-- Ship to School -->
2455                            <div ng-if="canShowShipToSchool()">
2456                                <div class="form-group">
2457                                    <label>
2458                                        <input type="checkbox" ng-model="ShippingInfo.shipToSchool">
2459                                        Ship to School
2460                                    </label>
2461                                </div>
2462
2463                                <div ng-if="ShippingInfo.shipToSchool">
2464                                    <div ng-if="districts && districts.length > 0" class="school-selection">
2465                                        <div ng-class="FormFieldErrorClass('shippingForm', 'district_select', shippingForm)" class="form-group">
2466                                            <label for="district_select">Select District</label>
2467                                            <select id="district_select"
2468                                                    name="district_select"
2469                                                    class="form-control"
2470                                                    ng-model="ShippingInfo.selectedDistrict"
2471                                                    ng-options="district as district.name for district in districts"
2472                                                    ng-change="onDistrictChange()"
2473                                                    ng-required="ShippingInfo.shipToSchool">
2474                                                <option value="">-- Select District --</option>
2475                                            </select>
2476                                            <label ng-if="FormFieldError('shippingForm', 'district_select', shippingForm)" class="control-label error-label">
2477                                                Please select a district
2478                                            </label>
2479                                        </div>
2480
2481                                        <div ng-class="FormFieldErrorClass('shippingForm', 'school_select', shippingForm)" class="form-group">
2482                                            <label for="school_select">Select School</label>
2483                                            <select id="school_select"
2484                                                    name="school_select"
2485                                                    class="form-control"
2486                                                    ng-model="ShippingInfo.selectedSchool"
2487                                                    ng-options="school as school.name for school in schools"
2488                                                    ng-disabled="!ShippingInfo.selectedDistrict"
2489                                                    ng-required="ShippingInfo.shipToSchool">
2490                                                <option value="">-- Select School --</option>
2491                                            </select>
2492                                            <label ng-if="FormFieldError('shippingForm', 'school_select', shippingForm)" class="control-label error-label">
2493                                                Please select a school
2494                                            </label>
2495                                        </div>
2496                                    </div>
2497                                </div>
2498                            </div>
2499
2500                            <!-- Shipping Address -->
2501                            <div ng-if="showShippingAddressForm()">
2502                                                                <div class="row">
2503                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()">
2504                                        <input ng-required="!isPickup()"
2505                                               capitalize-first
2506                                               id="shipping_first_name" data-cy="web-checkout-shipping-first-name"
2507                                               name="shipping_first_name"
2508                                               type="text"
2509                                               ng-model="ShippingInfo.FirstName"
2510                                               class="form-control"
2511                                               placeholder="First Name"
2512                                               ng-focus="InitToolTip($event)"
2513                                               data-toggle="tooltip"
2514                                               title="First Name">
2515                                        <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label">
2516                                            Please enter a first name
2517                                        </label>
2518                                    </div>
2519                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()">
2520                                        <input ng-required="!isPickup()"
2521                                               capitalize-first
2522                                               id="shipping_last_name" data-cy="web-checkout-shipping-last-name"
2523                                               name="shipping_last_name"
2524                                               type="text"
2525                                               ng-model="ShippingInfo.LastName"
2526                                               class="form-control"
2527                                               placeholder="Last Name"
2528                                               ng-focus="InitToolTip($event)"
2529                                               data-toggle="tooltip"
2530                                               title="Last Name">
2531                                        <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label">
2532                                            Please enter a last name
2533                                        </label>
2534                                    </div>
2535                                </div>
2536
2537                                <div class="row">
2538                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_address_1', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2539                                        <input ng-required="!isPickup()"
2540                                               capitalize-first
2541                                               id="shipping_address_1" data-cy="web-checkout-shipping-address1"
2542                                               name="shipping_address_1"
2543                                               type="text"
2544                                               ng-model="ShippingInfo.Address1"
2545                                               street-address
2546                                               ng-disabled="ShippingInfoPrefilledFlags.Address1"
2547                                               ng-blur="AddressBlur()"
2548                                               class="form-control"
2549                                               placeholder="Street Address 1"
2550                                               ng-focus="InitToolTip($event)"
2551                                               data-toggle="tooltip"
2552                                               title="Street Address 1">
2553                                        <label ng-if="FormFieldError('shippingForm', 'shipping_address_1', shippingForm) && shippingForm.shipping_address_1.$error.required" class="control-label error-label">
2554                                            Please enter a street address
2555                                        </label>
2556                                        <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">
2557                                            Please enter a valid street address.
2558                                        </label>
2559                                    </div>
2560                                    <div class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2561                                        <input
2562                                            id="shipping_address_2" data-cy="web-checkout-shipping-address2"
2563                                            name="shipping_address_2"
2564                                            type="text"
2565                                            ng-model="ShippingInfo.Address2"
2566                                            ng-disabled="ShippingInfoPrefilledFlags.Address2"
2567                                            ng-blur="AddressBlur()"
2568                                            class="form-control"
2569                                            placeholder="Street Address 2"
2570                                            ng-focus="InitToolTip($event)"
2571                                            data-toggle="tooltip"
2572                                            title="Street Address 2"
2573                                        >
2574                                    </div>
2575                                </div>
2576
2577                                <div class="row">
2578                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_city', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2579                                        <input ng-required="!isPickup()"
2580                                               capitalize-first
2581                                               id="shipping_city" data-cy="web-checkout-shipping-city"
2582                                               name="shipping_city"
2583                                               type="text"
2584                                               ng-model="ShippingInfo.City"
2585                                               ng-disabled="ShippingInfoPrefilledFlags.City"
2586                                               ng-blur="AddressBlur()"
2587                                               class="form-control"
2588                                               placeholder="City"
2589                                               ng-focus="InitToolTip($event)"
2590                                               data-toggle="tooltip"
2591                                               title="City">
2592                                        <label ng-if="FormFieldError('shippingForm', 'shipping_city', shippingForm)" class="control-label error-label">
2593                                            Please enter a City
2594                                        </label>
2595                                    </div>
2596                                    <div ng-if="InitInfo.Regions[ShippingInfo.CountryKey] && ShippingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6">
2597                                        <select ng-required="!isPickup()"
2598                                                id="shipping_state" data-cy="web-checkout-shipping-state"
2599                                                name="shipping_state"
2600                                                ng-change="ShippingOptionsGet()"
2601                                                ng-model="ShippingInfo.State"
2602                                                ng-disabled="ShippingInfoPrefilledFlags.State"
2603                                                class="form-control">
2604                                            <option value="">Select {{ShippingInfo.StateOrProvince}}</option>
2605                                            <option ng-repeat="(key, value) in InitInfo.Regions[ShippingInfo.CountryKey]" value="{{key}}">{{value}}</option>
2606                                        </select>
2607                                        <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label">
2608                                            Please select a {{ShippingInfo.StateOrProvince}}
2609                                        </label>
2610                                    </div>
2611                                    <div ng-if="!InitInfo.Regions[ShippingInfo.CountryKey]" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6">
2612                                        <input ng-required="!isPickup()"
2613                                               capitalize-first
2614                                               id="shipping_state" data-cy="web-checkout-shipping-state"
2615                                               name="shipping_state"
2616                                               type="text"
2617                                               ng-model="ShippingInfo.State"
2618                                               ng-disabled="ShippingInfoPrefilledFlags.State"
2619                                               ng-change="ShippingOptionsGet()"
2620                                               class="form-control"
2621                                               placeholder="State/Province"
2622                                               ng-focus="InitToolTip($event)"
2623                                               data-toggle="tooltip"
2624                                               title="State/Province">
2625                                        <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label">
2626                                            Please enter the State/Province
2627                                        </label>
2628                                    </div>
2629                                    <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('shippingForm', 'shipping_country', shippingForm)" class="col-sm-6">
2630                                        <select ng-required="!isPickup()"
2631                                                id="shipping_country" data-cy="web-checkout-shipping-country"
2632                                                name="shipping_country"
2633                                                ng-change="changeShippingCountry()"
2634                                                ng-model="ShippingInfo.CountryKey"
2635                                                ng-disabled="ShippingInfoPrefilledFlags.Country"
2636                                                class="form-control"
2637                                                ng-options="key as value for (key, value) in InitInfo.Countries">
2638                                        </select>
2639                                        <label ng-if="FormFieldError('shippingForm', 'shipping_country', shippingForm)" class="control-label error-label">
2640                                            Please select a country
2641                                        </label>
2642                                    </div>
2643                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_zip', shippingForm)" class="col-sm-6">
2644                                        <input ng-required="!isPickup()"
2645                                               id="shipping_zip" data-cy="web-checkout-shipping-zip"
2646                                               name="shipping_zip"
2647                                               type="text"
2648                                               ng-change="ShippingOptionsGet()"
2649                                               ng-model="ShippingInfo.Zip"
2650                                               ng-disabled="ShippingInfoPrefilledFlags.Zip"
2651                                               ng-model-options="{debounce: 750}"
2652                                               class="form-control"
2653                                               style="max-width: 125px;"
2654                                               placeholder="{{ShippingInfo.ZipOrPostal}}"
2655                                               ng-focus="InitToolTip($event)"
2656                                               data-toggle="tooltip"
2657                                               title="{{ShippingInfo.ZipOrPostal}}">
2658                                        <label ng-if="FormFieldError('shippingForm', 'shipping_zip', shippingForm)" class="control-label error-label">
2659                                            Please enter a {{ShippingInfo.ZipOrPostal}}
2660                                        </label>
2661                                    </div>
2662                                </div>
2663                                                                <!-- Order Notes -->
2664                                <div class="row">
2665                                    <div class="col-xs-12">
2666                                        <label>Notes</label>
2667                                    </div>
2668                                </div>
2669                                <div class="row">
2670                                    <div class="col-sm-12">
2671                                        <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2672                                    </div>
2673                                </div>
2674
2675                                <!-- Gift Message -->
2676                                <div class="row" ng-if="shouldShowGiftCardsCoupons()">
2677                                    <label class="col-xs-12">
2678                                        <input type="checkbox" ng-model="GiftMessage.Checked" ng-click="GiftMessageEdit()">
2679                                        <small>This is a gift</small>
2680                                    </label>
2681                                </div>
2682                                <div ng-show="GiftMessage.Checked || GiftMessage.Message" class="row">
2683                                    <div class="col-xs-12">
2684                                        <div class="form-group">
2685                                            <p>
2686                                                <small>Prices will be hidden on receipt.</small>
2687                                            </p>
2688                                            <label class="">Gift Message</label> <small>(Optional)</small>
2689                                            <textarea ng-model="GiftMessage.Message" class="form-control" rows="4"></textarea>
2690                                        </div>
2691                                    </div>
2692                                </div>
2693                            </div>
2694                        </div>
2695                        <div role="tabpanel" class="tab-pane fade" id="inStorePickup">
2696                            <div class="well">
2697                                <!-- Shipping options -->
2698                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2699                                    <div class="col-xs-12">
2700                                        <i class="fa fa-spinner fa-pulse"></i>
2701                                    </div>
2702                                </div>
2703                                <div ng-if="!ShippingStatus.OptionsUpdating">
2704                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2705                                        <div class="col-xs-12">
2706                                                <span ng-if="ShippingStatus.Message">
2707                                                    <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2708                                                </span>
2709                                        </div>
2710                                    </div>
2711                                    <div ng-if="!hasStorePickupOptions()" class="row">
2712                                        <div class="col-xs-12">
2713                                            Store Pickup options are not available for this country or region.
2714                                        </div>
2715                                    </div>
2716
2717                                    <div ng-if="hasStorePickupOptions()" class="row">
2718                                        <div class="col-xs-12">
2719                                            <ul class="list-unstyled">
2720                                                <li ng-repeat="option in enhancedShippingInfo.storePickupOptions track by option.id">
2721                                                    <div class="form-group">
2722                                                        <label>
2723                                                            <input
2724                                                                    ng-required="!ShippingInfo.OptionId"
2725                                                                    name="shipping_option"
2726                                                                    type="radio"
2727                                                                    value="{{option.id}}"
2728                                                                    ng-change="ShippingVerify()"
2729                                                                    ng-model="ShippingInfo.OptionId"
2730                                                                    class="option_radio"
2731                                                            >
2732                                                            <span class="option_content" style="font-weight: normal">
2733                                                                    <strong>{{option.store_location_name}}</strong>
2734                                                                    <br>
2735                                                                    <span>{{option.delivery_time}}</span>
2736                                                                </span>
2737                                                        </label>
2738                                                    </div>
2739                                                </li>
2740                                            </ul>
2741                                            <div>
2742                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2743                                            </div>
2744                                        </div>
2745                                    </div>
2746
2747                                    <!-- Order Notes -->
2748                                    <div class="row">
2749                                        <div class="col-xs-12">
2750                                            <label>Notes</label>
2751                                        </div>
2752                                    </div>
2753                                    <div class="row">
2754                                        <div class="col-sm-12">
2755                                            <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2756                                        </div>
2757                                    </div>
2758                                </div>
2759                            </div>
2760                        </div>
2761                        <div role="tabpanel" class="tab-pane fade" id="curbsidePickup">
2762                            <div class="well">
2763                                <!-- Shipping options -->
2764                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2765                                    <div class="col-xs-12">
2766                                        <i class="fa fa-spinner fa-pulse"></i>
2767                                    </div>
2768                                </div>
2769                                <div ng-if="!ShippingStatus.OptionsUpdating">
2770                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2771                                        <div class="col-xs-12">
2772                                                <span ng-if="ShippingStatus.Message">
2773                                                    <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2774                                                </span>
2775                                        </div>
2776                                    </div>
2777                                    <div ng-if="!hasCurbsidePickupOptions()" class="row">
2778                                        <div class="col-xs-12">
2779                                            Curbside pickup options are not available for this country or region.
2780                                        </div>
2781                                    </div>
2782
2783                                    <div ng-if="hasCurbsidePickupOptions()" class="row">
2784                                        <div class="col-xs-12">
2785                                            <ul class="list-unstyled">
2786                                                <li ng-repeat="option in enhancedShippingInfo.curbsidePickupOptions track by option.id">
2787                                                    <div class="form-group">
2788                                                        <label>
2789                                                            <input
2790                                                                    ng-required="!ShippingInfo.OptionId"
2791                                                                    name="shipping_option"
2792                                                                    type="radio"
2793                                                                    value="{{option.id}}"
2794                                                                    ng-change="ShippingVerify()"
2795                                                                    ng-model="ShippingInfo.OptionId"
2796                                                                    class="option_radio"
2797                                                            >
2798                                                            <span class="option_content" style="font-weight: normal">
2799                                                                    <strong>{{option.store_location_name}}</strong>
2800                                                                    <br>
2801                                                                    <span>{{option.delivery_time}}</span>
2802                                                                </span>
2803                                                        </label>
2804                                                    </div>
2805                                                </li>
2806                                            </ul>
2807                                            <div>
2808                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2809                                            </div>
2810                                        </div>
2811                                    </div>
2812                                </div>
2813                            </div>
2814                        </div>
2815
2816                        <div role="tabpanel" class="tab-pane fade" id="schoolPickup" ng-if="areShippingOptionsRequired()">
2817                            <div class="well">
2818                                <div ng-if="!ShippingStatus.OptionsUpdating">
2819                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2820                                        <div class="col-xs-12">
2821                                            <span ng-if="ShippingStatus.Message">
2822                                                <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2823                                            </span>
2824                                        </div>
2825                                    </div>
2826                                    <div ng-if="!hasSchoolPickupOptions() || !isOsrSchoolPickupAvailable()" class="row">
2827                                        <div class="col-xs-12">
2828                                            School Delivery is not available now.
2829                                        </div>
2830                                    </div>
2831
2832                                    <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()" class="row">
2833                                        <div class="col-xs-12">
2834                                            <ul class="list-unstyled">
2835                                                <li ng-repeat="option in enhancedShippingInfo.schoolPickupOptions track by option.id">
2836                                                    <div class="form-group">
2837                                                        <label>
2838                                                            <input
2839                                                                ng-required="!ShippingInfo.OptionId"
2840                                                                name="shipping_option"
2841                                                                type="radio"
2842                                                                value="{{option.id}}"
2843                                                                ng-change="ShippingVerify()"
2844                                                                ng-model="ShippingInfo.OptionId"
2845                                                                class="option_radio"
2846                                                            >
2847                                                            <span class="option_content" style="font-weight: normal">
2848                                                                <strong> {{ option.school_name ? option.school_name : (checkFlagRestoreSchoolDeliveryShippingOption() ? 'School Delivery' : '') }}</strong>
2849                                                                <br>
2850                                                                <span>{{option.delivery_time}}</span>
2851                                                            </span>
2852                                                        </label>
2853                                                    </div>
2854                                                </li>
2855                                            </ul>
2856                                            <div>
2857                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2858                                            </div>
2859                                        </div>
2860                                    </div>
2861
2862                                    <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()">
2863                                        <!-- Order Notes -->
2864                                        <div class="row">
2865                                            <div class="col-xs-12">
2866                                                <label>Notes</label>
2867                                            </div>
2868                                        </div>
2869                                        <div class="row">
2870                                            <div class="col-sm-12">
2871                                                <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2872                                            </div>
2873                                        </div>
2874                                    </div>
2875                                </div>
2876                            </div>
2877                        </div>
2878
2879                        <div ng-if="isLocalDeliveryEnabled()" role="tabpanel" class="tab-pane fade" id="localDelivery">
2880                            <div class="well">
2881                                <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())">
2882                                    <div class="col-xs-12">
2883                                        <div class="pull-left">
2884                                            Please input an address to see shipping options
2885                                        </div>
2886                                    </div>
2887                                </div>
2888
2889                                <div class="row" ng-if="ShippingStatus.OptionsUpdating">
2890                                    <div class="col-xs-12"><i class="fa fa-spinner fa-pulse"></i></div>
2891                                </div>
2892
2893                                <div ng-if="!ShippingStatus.OptionsUpdating">
2894                                    <div class="row" ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()">
2895                                        <div class="col-xs-12">
2896                                            <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2897                                        </div>
2898                                    </div>
2899
2900                                    <div class="row" ng-if="showShippingStateRequired()">
2901                                        <div class="col-xs-12">
2902                                            <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">
2903                                                Please enter a valid {{ShippingInfo.ZipOrPostal}} to see delivery options
2904                                            </p>
2905                                        </div>
2906                                    </div>
2907
2908                                    <div class="row" ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()">
2909                                        <div class="col-xs-12">
2910                                            Local delivery options are not available for this country or region.
2911                                            <br>
2912                                            Please call {{InitInfo.Store.phone}} for delivery options.
2913                                        </div>
2914                                    </div>
2915
2916                                    <div class="row" ng-if="hasLocalDeliveryOptions()">
2917                                        <div class="col-xs-12">
2918                                            <ul class="list-unstyled">
2919                                                <li ng-repeat="option in enhancedShippingInfo.localDeliveryOptions track by option.id">
2920                                                    <div class="form-group">
2921                                                        <label style="font-weight: normal;">
2922                                                            <input
2923                                                                ng-required="!ShippingInfo.OptionId"
2924                                                                name="shipping_option"
2925                                                                type="radio"
2926                                                                class="option_radio"
2927                                                                ng-model="ShippingInfo.OptionId"
2928                                                                ng-value="option.id"
2929                                                                ng-change="ShippingInfo.Option = option; ShippingVerify()"
2930                                                            >
2931                                                            <span class="option_content">
2932                                                                <strong>{{option.name}}</strong>
2933                                                                <span ng-if="!isTaxInclusive()"> - {{option.price | currency:InitInfo.CurrencySymbol2}}</span>
2934                                                                <span ng-if="isTaxInclusive()"> - {{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span>
2935                                                                <br><span>{{option.delivery_time}}</span>
2936                                                            </span>
2937                                                        </label>
2938                                                    </div>
2939                                                </li>
2940                                            </ul>
2941                                            <small ng-if="ShippingStatus.Submitted && !ShippingInfo.OptionId" class="text-danger control-label">
2942                                                Please select a shipping option
2943                                            </small>
2944                                        </div>
2945                                    </div>
2946                                </div>
2947                            </div>
2948                                                    </div>
2949                    </div>
2950                </div>
2951
2952                <div ng-if="showNoShippingRequired()">
2953                    <div class="row">
2954                        <div class="col-xs-12">
2955                            Shipping is not required for any of the items in your cart.
2956                        </div>
2957                    </div>
2958                </div>
2959
2960                <!--                    <div class="row">-->
2961                <!--                        <label class="col-xs-12">-->
2962                <!--                             <input type="checkbox" ng-model="ContactInfo.JoinEmailList" checked> -->
2963                <!--                             <small>Join our email list</small> -->
2964                <!--                        </label>-->
2965                <!--                    </div>-->
2966
2967            </div>
2968        </div>
2969
2970        <!-- Contact Shipping Summary -->
2971
2972        <div ng-show="showSummaries()" class="ng-hide">
2973            <div class="well">
2974                <div class="row">
2975                    <div class="col-xs-6">
2976                        <strong>Contact Information</strong>&nbsp;&nbsp;
2977                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a>
2978                        <br>
2979                        <small>
2980                            {{BillingInfo.Email}}<br>
2981                            {{BillingInfo.Phone}}<br>
2982                        </small>
2983                    </div>
2984                    <div ng-if="GiftMessage.Checked" class="col-xs-6">
2985                        <strong>Gift Message</strong>&nbsp;&nbsp;
2986                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a><br>
2987                        <span><small><strong>This is a gift</strong></small><br></span>
2988                        <span ng-if="GiftMessage.Message"><small>{{GiftMessage.Message}}</small></span>
2989                        <span ng-if="!GiftMessage.Message"><small>There is no message</small></span>
2990                    </div>
2991
2992                    <div ng-if="!isPickup()" class="col-xs-6">
2993                        <strong >Shipping Information</strong>
2994                        <span ng-if="ShippingStatus.Entered && ShippingStatus.Required">
2995                                &nbsp;&nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
2996                                <br>
2997                                <small style="text-transform: capitalize;">
2998                                    <span ng-if="ShippingInfo.FirstName || ShippingInfo.LastName">{{ShippingInfo.FirstName}} {{ShippingInfo.LastName}}<br></span>
2999                                    <span ng-if="ShippingInfo.Address1">{{ShippingInfo.Address1}}<br></span>
3000                                    <span ng-if="ShippingInfo.Address2">{{ShippingInfo.Address2}}<br></span>
3001                                    <span ng-if="ShippingInfo.City">{{ShippingInfo.City}},</span> {{ShippingInfo.State}} {{ShippingInfo.Zip}}
3002                                    <span ng-if="ShippingInfo.Country != Region"><br>{{ShippingInfo.Country}}</span>
3003                                </small>
3004                            </span>
3005                        <span ng-if="!ShippingStatus.Required">No shipping required</span>
3006                    </div>
3007                    <div ng-if="isPickup()" class="col-xs-6">
3008                        <strong ng-if="isStorePickup()">Store Pickup Information</strong>
3009                        <strong ng-if="isCurbsidePickup()">Curbside Pickup Information</strong>
3010                        <strong ng-if="isSchoolPickup()">School Delivery Information</strong>
3011                        &nbsp;&nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3012                        <br>
3013                        <small style="text-transform: capitalize;">
3014                            {{ShippingInfo.Option.delivery_time}}
3015                        </small>
3016                    </div>
3017
3018                    <div ng-if="ShippingInfo.Comments" class="col-xs-6">
3019                        <strong>Additional Comments</strong>&nbsp;&nbsp;
3020                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3021                    </div>
3022                </div>
3023            </div>
3024        </div>
3025
3026        <!-- Mobile Summary -->
3027
3028        <div class="panel panel-default visible-xs-block">
3029            <div ng-if="StatusInfo.Initializing" class="panel-body">
3030                <i class="fa fa-spinner fa-pulse fa-2x"></i>
3031            </div>
3032            <table ng-if="!StatusInfo.Initializing" class="table">
3033                <tr>
3034                    <td colspan="2">
3035                        Subtotal
3036                        &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>
3037                    </td>
3038                    <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></td>
3039                </tr>
3040                <tr ng-if="StatusInfo.CouponShow">
3041                    <td colspan="2">
3042                            <span id="gift-card-coupon-msgs">
3043                                <!-- Messages -->
3044                                <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
3045                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
3046                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Applied</span>
3047                                <!-- Loading -->
3048                                <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
3049                            </span>
3050                        <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;">
3051                    </td>
3052                    <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: bottom;">
3053                        <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>
3054                    </td>
3055                </tr>
3056                <tbody ng-if="CartData.Coupons.length > 0" ng-repeat="coupon in CartData.Coupons">
3057                <tr>
3058                    <td colspan="2">
3059                        Discount
3060                        {{coupon.title}}
3061                        &nbsp;&nbsp;<a ng-click="removeCoupon(coupon.couponId)" href="">[remove]</a>
3062                    </td>
3063                    <td colspan="2" align="right">
3064                        <strong>-{{coupon.discount | currency:InitInfo.CurrencySymbol2}}</strong>
3065                    </td>
3066                </tr>
3067                </tbody>
3068                <tr ng-if="ShippingStatus.Valid && ShippingStatus.Required">
3069                    <td colspan="2">
3070                        Shipping {{ShippingInfo.Option.name}}<br>
3071                        <small>{{ShippingInfo.Option.delivery_time}}</small>
3072                    </td>
3073                    <td ng-if="!isTaxInclusive()" colspan="2" align="right">
3074                        <strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong>
3075                    </td>
3076                    <td ng-if="isTaxInclusive()" colspan="2" align="right">
3077                        <strong>{{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}</strong>
3078                    </td>
3079                </tr>
3080                <tr>
3081                    <td colspan="2">
3082                        Taxes
3083                    </td>
3084                    <td colspan="2" align="right" data-cy="web-checkout-summary-taxes">
3085                        <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span>
3086                        <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong>
3087                    </td>
3088                </tr>
3089                <tr ng-if="ShippingTaxes">
3090                    <td colspan="2">
3091                        Shipping Taxes
3092                    </td>
3093                    <td colspan="2" align="right">
3094                        <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong>
3095                    </td>
3096                </tr>
3097                <tbody ng-if="CartData.GiftCards.length > 0" ng-repeat="gc in CartData.GiftCards">
3098                <tr>
3099                    <td colspan="2">
3100                        Gift Card <a href="" ng-click="removeGiftCard(gc.id)">[remove]</a><br>
3101                        <small>{{gc.number}}</small>
3102                    </td>
3103                    <td colspan="2" align="right">
3104                        <strong>-{{gc.Amount | currency:InitInfo.CurrencySymbol2}}</strong>
3105                    </td>
3106                </tr>
3107                </tbody>
3108                <tr>
3109                    <td colspan="2">
3110                        Total
3111                    </td>
3112                    <td ng-if="!showAsGST()" colspan="2" align="right" class="h4" data-cy="web-checkout-summary-total">
3113                        <strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
3114                    </td>
3115                    <td ng-if="showAsGST()" style="text-align: right;min-width: 95px;">
3116                        <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
3117                        <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span>
3118                    </td>
3119                </tr>
3120            </table>
3121        </div>
3122
3123        <!-- Billing Edit -->
3124
3125        <div ng-form="billingForm" ng-class="{'panel panel-default' : ((showTerms() || isShippingEntered() || digitalOrder) && !isBNPLEnabled())}" ng-show="showBillingSection()">
3126            <div ng-if="isBNPLEnabled()">
3127                <div ng-show="showRainProcessing()" style="margin-bottom: 20px;">
3128                    <payment-methods
3129                        is-affirm-enabled="isBNPLEnabled('affirm')"
3130                        is-afterpay-enabled="isBNPLEnabled('afterpay')"
3131                        is-klarna-enabled="isBNPLEnabled('klarna')"
3132                        is-paypal-enabled="allowPayPalCheckout() && !isCardOnFileNeeded()"
3133                        is-pay-at-pick-up-enabled="showPaymentOptions()"
3134                        amount="getBNPLAmount()"
3135                        due="Due"
3136                        currency="getBNPLCurrency()"
3137                        currency-symbol="InitInfo.CurrencySymbol2"
3138                        country="getBNPLCountry()"
3139                        merchant-country="getBNPLMerchantCountry()"
3140                        model="stripeBNPLModel"
3141                        on-payment-method-changed="onPaymentMethodChanged"
3142                        on-ready="initRainProcessing"
3143                    ></payment-methods>
3144                </div>
3145
3146                <div ng-show="showRainProcessing() && showBillingSection() && !isPayAtPickup()" style="margin-bottom: 20px;">
3147                    <billing-address
3148                        show-billing-address="showBillingAddress()"
3149                        is-shipping-required="isShippingRequired()"
3150                    ></billing-address>
3151                </div>
3152
3153                <div ng-if="showTerms()">
3154                    <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" style='padding-left: 15px;'>
3155                        <input required id="TAndC" data-cy="web-checkout-terms-agree" name="TAndC" type="checkbox" ng-model="BillingInfo.TermsAgree">
3156                        I Agree to the Terms and Conditions (<a href="javascript:void(0);" ng-click="TermsShow()">click here to view</a>)
3157                        <br>
3158
3159                        <label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">
3160                            Please accept the Terms and Conditions before continuing.
3161                        </label>
3162                    </div>
3163                </div>
3164            </div>
3165
3166            <div ng-if="!isBNPLEnabled()" class="panel-body tab-options">
3167                <div ng-show="showBillingForm()" class="ng-hide">
3168                    <div ng-show="showPaymentOptions()">
3169                        <div>
3170                            <label>Payment Options</label>
3171                        </div>
3172
3173                        <!-- Nav tabs -->
3174                        <ul class="nav nav-pills nav-justified" role="tablist">
3175                            <li role="presentation" class="active">
3176                                <a href="#payNow" aria-controls="payNow" role="tab" data-toggle="pill" ng-click="payWithCardSelected()" id="payNowTab">
3177                                    <span class="fa fa-credit-card fa-fw"></span> Pay Now
3178                                </a>
3179                            </li>
3180                            <li role="presentation">
3181                                <a href="#payAtPickup" aria-controls="payAtPickup" role="tab" data-toggle="pill" ng-click="payAtPickupSelected()" id="payAtPickupTab">
3182                                    <span class="fa fa-truck fa-fw"></span> Pay at Pickup
3183                                </a>
3184                            </li>
3185                        </ul>
3186                    </div>
3187
3188                    <div class="tab-content" style="margin-top: 15px;" ng-show="showPaymentSection()">
3189                        <div role="tabpanel" class="tab-pane fade in active" id="payNow">
3190                            <div ng-show="!isPayPal() || digitalOrder">
3191                                <div class="row">
3192                                    <div class="col-xs-12">
3193                                        <label>Billing Address</label>
3194                                        <!-- Validation Messages -->
3195                                        <span ng-if="BillingStatus.MessagesShow && BillingStatus.NotValidMessages.length > 0" class="text-danger">
3196                                            <span ng-repeat="bm in BillingStatus.NotValidMessages">
3197                                                <br>{{bm}}
3198                                            </span>
3199                                        </span>
3200                                    </div>
3201                                </div>
3202
3203                                <div ng-if="isShippingRequired()" ng-hide="isPickup() || HideBillingSameAsShipping" class="row">
3204                                    <label class="col-xs-12">
3205                                        <input type="checkbox" data-cy="web-checkout-billing-same-as-shipping" ng-model="BillingInfo.AddressSameAsShipping" ng-click="BillingVerify()">
3206                                        <small>My billing address is the same as my shipping address</small>
3207                                    </label>
3208                                </div>
3209
3210                                <div ng-show="showBillingAddress()">
3211                                    <div class="row">
3212                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_first', billingForm)" class="col-sm-6">
3213                                            <input required
3214                                                   capitalize-first
3215                                                   id="billing_first" data-cy="web-checkout-billing-first-name"
3216                                                   name="billing_first"
3217                                                   type="text"
3218                                                   ng-model="BillingInfo.FirstName"
3219                                                   class="form-control"
3220                                                   placeholder="First Name"
3221                                                   ng-disabled="disableBillingFields()"
3222                                                   ng-focus="InitToolTip($event)"
3223                                                   data-toggle="tooltip"
3224                                                   title="First Name">
3225                                            <label ng-if="FormFieldError('billingForm', 'billing_first', billingForm)" class="control-label error-label">
3226                                                Please enter a first name
3227                                            </label>
3228                                        </div>
3229                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_last', billingForm)" class="col-sm-6">
3230                                            <input required
3231                                                   capitalize-first
3232                                                   id="billing_last" data-cy="web-checkout-billing-last-name"
3233                                                   name="billing_last"
3234                                                   type="text"
3235                                                   ng-model="BillingInfo.LastName"
3236                                                   class="form-control"
3237                                                   placeholder="Last Name"
3238                                                   ng-disabled="disableBillingFields()"
3239                                                   ng-focus="InitToolTip($event)"
3240                                                   data-toggle="tooltip"
3241                                                   title="Last Name">
3242                                            <label ng-if="FormFieldError('billingForm', 'billing_last', billingForm)" class="control-label error-label">
3243                                                Please enter a last name
3244                                            </label>
3245                                        </div>
3246                                    </div>
3247                                    <div class="row">
3248                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_address1', billingForm)" class="col-sm-6">
3249                                            <input required
3250                                                   capitalize-first
3251                                                   id="billing_address1" data-cy="web-checkout-billing-address1"
3252                                                   name="billing_address1"
3253                                                   type="text"
3254                                                   ng-model="BillingInfo.Address1"
3255                                                   class="form-control"
3256                                                   placeholder="Address Line 1"
3257                                                   ng-disabled="disableBillingFields()"
3258                                                   ng-focus="InitToolTip($event)"
3259                                                   data-toggle="tooltip"
3260                                                   title="Address Line 1">
3261                                            <label ng-if="FormFieldError('billingForm', 'billing_address1', billingForm)" class="control-label error-label">
3262                                                Please enter a street address
3263                                            </label>
3264                                        </div>
3265                                        <div class="col-sm-6">
3266                                            <input capitalize-first
3267                                                   id="billing_address2" data-cy="web-checkout-billing-address2"
3268                                                   name="billing_address2"
3269                                                   type="text"
3270                                                   ng-model="BillingInfo.Address2"
3271                                                   class="form-control"
3272                                                   placeholder="Address Line 2"
3273                                                   ng-disabled="disableBillingFields()"
3274                                                   ng-focus="InitToolTip($event)"
3275                                                   data-toggle="tooltip"
3276                                                   title="Address Line 2">
3277                                        </div>
3278                                    </div>
3279                                    <div class="row">
3280                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_city', billingForm)" class="col-sm-6">
3281                                            <input required
3282                                                   capitalize-first
3283                                                   id="billing_city" data-cy="web-checkout-billing-city"
3284                                                   name="billing_city"
3285                                                   type="text"
3286                                                   ng-model="BillingInfo.City"
3287                                                   class="form-control"
3288                                                   placeholder="City"
3289                                                   ng-disabled="disableBillingFields()"
3290                                                   ng-focus="InitToolTip($event)"
3291                                                   data-toggle="tooltip"
3292                                                   title="City">
3293                                            <label ng-if="FormFieldError('billingForm', 'billing_city', billingForm)" class="control-label error-label">
3294                                                Please enter a city
3295                                            </label>
3296                                        </div>
3297                                        <div ng-if="InitInfo.Regions[BillingInfo.CountryKey] && BillingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6">
3298                                            <select required
3299                                                    id="billing_state" data-cy="web-checkout-billing-state"
3300                                                    name="billing_state"
3301                                                    ng-change="BillingOptionsGet()"
3302                                                    ng-model="BillingInfo.State"
3303                                                    ng-disabled="disableBillingFields()"
3304                                                    class="form-control">
3305                                                <option value="">Select {{BillingInfo.StateOrProvince}}</option>
3306                                                <option ng-repeat="(key, value) in InitInfo.Regions[BillingInfo.CountryKey]" value="{{key}}">{{value}}</option>
3307                                            </select>
3308                                            <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label">
3309                                                Please select a {{BillingInfo.StateOrProvince}}
3310                                            </label>
3311                                        </div>
3312                                        <div ng-if="!InitInfo.Regions[BillingInfo.CountryKey]" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6">
3313                                            <input required
3314                                                   capitalize-first
3315                                                   id="billing_state" data-cy="web-checkout-billing-state"
3316                                                   name="billing_state"
3317                                                   type="text"
3318                                                   ng-change="BillingOptionsGet()"
3319                                                   ng-model="BillingInfo.State"
3320                                                   class="form-control"
3321                                                   placeholder="State/Province"
3322                                                   ng-disabled="disableBillingFields()"
3323                                                   ng-focus="InitToolTip($event)"
3324                                                   data-toggle="tooltip"
3325                                                   title="State/Province">
3326                                            <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label">
3327                                                Please enter the State/Province
3328                                            </label>
3329                                        </div>
3330                                    </div>
3331                                    <div class="row">
3332                                        <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('billingForm', 'billing_country', billingForm)" class="col-sm-6">
3333                                            <select required
3334                                                    id="billing_country" data-cy="web-checkout-billing-country"
3335                                                    name="billing_country"
3336                                                    ng-change="changeBilling
3336Country()"
3337                                                    ng-model="BillingInfo.CountryKey"
3338                                                    ng-disabled="disableBillingFields()"
3339                                                    class="form-control"
3340                                            >
3341                                                <option value="">Select Country</option>
3342                                                <option ng-repeat="(key, value) in InitInfo.Countries" value="{{key}}">{{value}}</option>
3343                                            </select>
3344                                            <label ng-if="FormFieldError('billingForm', 'billing_country', billingForm)" class="control-label error-label">
3345                                                Please select a country
3346                                            </label>
3347                                        </div>
3348                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_zip', billingForm)" class="col-sm-6">
3349                                            <input required
3350                                                   id="billing_zip" data-cy="web-checkout-billing-zip"
3351                                                   name="billing_zip"
3352                                                   type="text"
3353                                                   ng-change="BillingOptionsGet()"
3354                                                   ng-model="BillingInfo.Zip"
3355                                                   class="form-control"
3356                                                   style="max-width: 125px;"
3357                                                   placeholder="{{BillingInfo.ZipOrPostal}}"
3358                                                   ng-disabled="disableBillingFields()"
3359                                                   ng-focus="InitToolTip($event)"
3360                                                   data-toggle="tooltip"
3361                                                   title="{{BillingInfo.ZipOrPostal}}">
3362                                            <label ng-if="FormFieldError('billingForm', 'billing_zip', billingForm)" class="control-label error-label">
3363                                                Please enter a {{BillingInfo.ZipOrPostal}}
3364                                            </label>
3365                                        </div>
3366                                    </div>
3367                                </div>
3368
3369                                <div ng-if="showEnrollAutoPay()" class="row">
3370                                    <label class="col-xs-12">Enroll in autopay and never miss a payment!</label>
3371                                    <label class="col-xs-12">
3372                                        <input type="checkbox" ng-model="BillingInfo.enrollAutoPay" ng-disabled="isSubscriptionPayment()">
3373                                        <small>Add card on file and enroll in autopay</small>
3374                                    </label>
3375                                </div>
3376
3377                                <div ng-if="showCCPayment()">
3378                                    <div class="row">
3379                                        <div class="col-xs-12">
3380                                            <label>Secure Payment</label>
3381                                            <!-- Validation Messages -->
3382                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3383                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3384                                            </span>
3385                                        </div>
3386                                    </div>
3387
3388                                    <div class="row">
3389                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_number', billingForm)" class="col-sm-6 col-md-7">
3390                                            <input required
3391                                                   id="cc_number"
3392                                                   name="cc_number"
3393                                                   type="text"
3394                                                   ng-model="CardInfo.CC"
3395                                                   ng-blur="CCBlur('CC')"
3396                                                   class="form-control"
3397                                                   placeholder="Credit Card Number"
3398                                                   ng-focus="InitToolTip($event)"
3399                                                   data-toggle="tooltip"
3400                                                   title="Credit Card Number">
3401                                            <label ng-if="FormFieldError('billingForm', 'cc_number', billingForm)" class="control-label error-label">
3402                                                {{CardStatus.Message}}
3403                                            </label>
3404                                        </div>
3405                                        <div class="col-sm-6 col-md-5 hidden-xs">
3406                                            <label class="control-label" style="padding-top: 0px;">
3407                                                <i ng-if="InitInfo.CheckoutSettings.VisaAccepted" class="fa fa-cc-visa fa-2x" ng-class="Class.visa"></i>
3408                                                <i ng-if="InitInfo.CheckoutSettings.MCAccepted" class="fa fa-cc-mastercard fa-2x" ng-class="Class.mastercard"></i>
3409                                                <i ng-if="InitInfo.CheckoutSettings.AmexAccepted" class="fa fa-cc-amex fa-2x" ng-class="Class.amex"></i>
3410                                                <i ng-if="InitInfo.CheckoutSettings.DiscAccepted" class="fa fa-cc-discover fa-2x" ng-class="Class.discover"></i>
3411                                            </label>
3412                                        </div>
3413                                    </div>
3414
3415                                    <div class="row row-grid">
3416                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_month', billingForm)" class="col-xs-6 col-sm-4">
3417                                            <select required
3418                                                    id="cc_exp_month"
3419                                                    name="cc_exp_month"
3420                                                    ng-model="CardInfo.ExpMonth"
3421                                                    ng-blur="ExpBlur('Expiration')"
3422                                                    class="form-control">
3423                                                <option value="">Exp Month</option>
3424                                                <option ng-repeat="month in ExpMonths" value="{{month}}">{{month}}</option>
3425                                            </select>
3426                                            <label ng-if="FormFieldError('billingForm', 'cc_exp_month', billingForm)" class="control-label error-label">
3427                                                Select expiration month
3428                                            </label>
3429                                        </div>
3430                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_year', billingForm)" class="col-xs-6 col-sm-4">
3431                                            <select required
3432                                                    id="cc_exp_year"
3433                                                    name="cc_exp_year"
3434                                                    ng-model="CardInfo.ExpYear"
3435                                                    ng-blur="ExpBlur('Expiration')"
3436                                                    class="form-control">
3437                                                <option value="">Exp Year</option>
3438                                                <option ng-repeat="year in ExpYears" value="{{year}}">{{year}}</option>
3439                                            </select>
3440                                            <label ng-if="FormFieldError('billingForm', 'cc_exp_year', billingForm)" class="control-label error-label">
3441                                                Select expiration year
3442                                            </label>
3443                                        </div>
3444                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_cvv', billingForm)" class="col-xs-6 col-sm-4">
3445                                            <input required
3446                                                   id="cc_cvv"
3447                                                   name="cc_cvv"
3448                                                   type="text"
3449                                                   ng-model="CardInfo.CVV"
3450                                                   class="form-control"
3451                                                   placeholder="CVV"
3452                                                   ng-focus="InitToolTip($event)"
3453                                                   data-toggle="tooltip"
3454                                                   title="CVV">
3455                                            <label ng-if="FormFieldError('billingForm', 'cc_cvv', billingForm)" class="control-label error-label">
3456                                                Please enter the CVV
3457                                            </label>
3458                                        </div>
3459                                    </div>
3460                                </div>
3461
3462                                <div ng-show="showRainProcessing()" style="padding-top: 15px; padding-bottom: 15px;">
3463                                    <div class="row">
3464                                        <div class="col-xs-12">
3465                                            <label>Secure Payment</label>
3466                                            <!-- Validation Messages -->
3467                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3468                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3469                                            </span>
3470                                        </div>
3471                                    </div>
3472                                    <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'">
3473                                        <div class="col-xs-12">
3474                                            <div class="form-group nickname-group">
3475                                                <label for="cc-nickname" class="nickname-label">
3476                                                    <span>Card Nickname</span>
3477                                                    <span class="nickname-optional">(Optional)</span>
3478                                                </label>
3479                                                <input
3480                                                    ng-model="CardInfo.nickname"
3481                                                    id="cc-nickname"
3482                                                    type="text"
3483                                                    class="form-control nickname-input"
3484                                                    placeholder="Enter a card name"
3485                                                    maxlength="60"
3486                                                />
3487                                            </div>
3488                                        </div>
3489                                    </div>
3490                                    <div class="row">
3491                                        <div class="col-12 col-sm-6">
3492                                            <div class="form-group">
3493                                                <label for="card-number">Card Number</label>
3494                                                <div class="payment-wrapper">
3495                                                    <div id="card-number" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3496                                                    <div
3497                                                        ng-if="formData.selectedCustomerCardId"
3498                                                        class="payment-overlay"
3499                                                        ng-click="clearSavedCardSelection()"
3500                                                    ></div>
3501                                                </div>
3502                                            </div>
3503                                        </div>
3504                                        <div class="col-6 col-sm-3">
3505                                            <div class="form-group">
3506                                                <label for="card-exp">Expires</label>
3507                                                <div class="payment-wrapper">
3508                                                    <div id="card-exp" class="form-control  stripe-input" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3509                                                    <div
3510                                                        ng-if="formData.selectedCustomerCardId"
3511                                                        class="payment-overlay"
3512                                                        ng-click="clearSavedCardSelection()"
3513                                                    ></div>
3514                                                </div>
3515                                            </div>
3516                                        </div>
3517                                        <div class="col-6 col-sm-3">
3518                                            <div class="form-group">
3519                                                <label for="card-cvv">Security Code</label>
3520                                                <div class="payment-wrapper">
3521                                                    <div id="card-cvv" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3522                                                    <div
3523                                                        ng-if="formData.selectedCustomerCardId"
3524                                                        class="payment-overlay"
3525                                                        ng-click="clearSavedCardSelection()"
3526                                                    ></div>
3527                                                </div>
3528                                            </div>
3529                                        </div>
3530                                    </div>
3531                                    <div class="row" ng-if="isSavedCardsAllowed()">
3532                                        <div class="col-xs-12 divider-row">
3533                                            <div class="divider-line"></div>
3534                                            <span class="divider-text">or</span>
3535                                            <div class="divider-line"></div>
3536                                        </div>
3537                                    </div>
3538                                    <div class="row" ng-if="isSavedCardsAllowed()">
3539                                        <div class="col-xs-12">
3540                                            <div class="saved-cards-container">
3541                                                <div class="saved-cards-header">
3542                                                    <div class="saved-cards-col-name">Saved Cards</div>
3543                                                    <div class="saved-cards-col-exp">Expires On</div>
3544                                                </div>
3545
3546                                                <div ng-repeat="c in customerCards"
3547                                                     class="saved-card-row"
3548                                                     ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}"
3549                                                >
3550                                                    <label class="saved-card-label">
3551                                                        <input type="radio"
3552                                                               name="saved-card-rain"
3553                                                               ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card"
3554                                                               ng-value="c.pos_customer_card_id"
3555                                                               ng-change="onSelectSavedCard(c)">
3556                                                        <div class="saved-card-info">
3557                                                            <div class="saved-card-title">
3558                                                                {{ c.nickname || c.card_type }}
3559                                                                <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span>
3560                                                                <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span>
3561                                                            </div>
3562                                                        </div>
3563                                                    </label>
3564
3565                                                    <div class="saved-card-expdate">
3566                                                        {{ getFormattedExpirationDate(c.expiration_mmyy) }}
3567                                                    </div>
3568                                                </div>
3569                                            </div>
3570                                        </div>
3571                                    </div>
3572                                </div>
3573
3574                                <div ng-show="showQuiltProcessing()" id="adyen-container" data-cy="web-checkout-adyen-container" style="padding-top: 15px; padding-bottom: 15px;">
3575                                    <div class="row">
3576                                        <div class="col-xs-12">
3577                                            <label>Secure Payment</label>
3578                                            <!-- Validation Messages -->
3579                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3580                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3581                                            </span>
3582                                        </div>
3583                                    </div>
3584                                    <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'">
3585                                        <div class="col-xs-12">
3586                                            <div class="form-group nickname-group">
3587                                                <label for="cc-nickname" class="nickname-label">
3588                                                    <span>Card Nickname</span>
3589                                                    <span class="nickname-optional">(Optional)</span>
3590                                                </label>
3591                                                <input
3592                                                    ng-model="CardInfo.nickname"
3593                                                    id="cc-nickname"
3594                                                    type="text"
3595                                                    class="form-control nickname-input"
3596                                                    placeholder="Enter a card name"
3597                                                    maxlength="60"
3598                                                />
3599                                            </div>
3600                                        </div>
3601                                    </div>
3602                                    <div class="row">
3603                                        <div class="col-12 col-sm-6">
3604                                            <div class="form-group">
3605                                                <label for="card-number">Card Number</label>
3606                                                <div class="payment-wrapper">
3607                                                    <div id="cc-number" data-cse="encryptedCardNumber" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3608                                                    <div
3609                                                        ng-if="formData.selectedCustomerCardId"
3610                                                        class="payment-overlay"
3611                                                        ng-click="clearSavedCardSelection()"
3612                                                    ></div>
3613                                                </div>
3614                                            </div>
3615                                        </div>
3616                                        <div class="col-6 col-sm-3">
3617                                            <div class="form-group">
3618                                                <label for="card-exp">Expires</label>
3619                                                <div class="payment-wrapper">
3620                                                    <div id="cc-exp" data-cse="encryptedExpiryDate" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3621                                                    <div
3622                                                        ng-if="formData.selectedCustomerCardId"
3623                                                        class="payment-overlay"
3624                                                        ng-click="clearSavedCardSelection()"
3625                                                    ></div>
3626                                                </div>
3627                                            </div>
3628                                        </div>
3629                                        <div class="col-6 col-sm-3">
3630                                            <div class="form-group">
3631                                                <label for="card-cvv">CVC</label>
3632                                                <div class="payment-wrapper">
3633                                                    <div id="cc-cvv" data-cse="encryptedSecurityCode" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3634                                                    <div
3635                                                        ng-if="formData.selectedCustomerCardId"
3636                                                        class="payment-overlay"
3637                                                        ng-click="clearSavedCardSelection()"
3638                                                    ></div>
3639                                                </div>
3640                                            </div>
3641                                        </div>
3642                                    </div>
3643
3644                                    <div class="row" ng-if="isSavedCardsAllowed()">
3645                                        <div class="col-xs-12 divider-row">
3646                                            <div class="divider-line"></div>
3647                                            <span class="divider-text">or</span>
3648                                            <div class="divider-line"></div>
3649                                        </div>
3650                                    </div>
3651                                    <div class="row" ng-if="isSavedCardsAllowed()">
3652                                        <div class="col-xs-12">
3653                                            <div class="saved-cards-container">
3654                                                <div class="saved-cards-header">
3655                                                    <div class="saved-cards-col-name">Saved Cards</div>
3656                                                    <div class="saved-cards-col-exp">Expires On</div>
3657                                                </div>
3658
3659                                                <div ng-repeat="c in customerCards"
3660                                                     class="saved-card-row"
3661                                                     ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}"
3662                                                >
3663                                                    <label class="saved-card-label">
3664                                                        <input type="radio"
3665                                                               name="saved-card-adyen"
3666                                                               ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card"
3667                                                               ng-value="c.pos_customer_card_id"
3668                                                               ng-change="onSelectSavedCard(c)">
3669                                                        <div class="saved-card-info">
3670                                                            <div class="saved-card-title">
3671                                                                {{ c.nickname || c.card_type }}
3672                                                                <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span>
3673                                                                <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span>
3674                                                            </div>
3675                                                        </div>
3676                                                    </label>
3677
3678                                                    <div class="saved-card-expdate">
3679                                                        {{ getFormattedExpirationDate(c.expiration_mmyy) }}
3680                                                    </div>
3681                                                </div>
3682                                            </div>
3683                                        </div>
3684                                    </div>
3685                                                                    </div>
3686                            </div>
3687
3688                            <div ng-if="isPayPal() && !digitalOrder" style="text-align: center; margin-top: 15px;">
3689                                <br>
3690                            </div>
3691                        </div>
3692
3693                        <div role="tabpanel" class="tab-pane fade in active" id="payAtPickup" ng-if="isPayAtPickup()">
3694                            <div style="text-align: center; margin-top: 15px;">
3695                                <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>
3696                            </div>
3697                        </div>
3698                    </div>
3699                </div>
3700
3701                <!-- Terms and Conditions -->
3702                <div ng-if="showTerms()" class="row">
3703                    <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" class="col-xs-12">
3704                        <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>)
3705                        <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label>
3706                    </div>
3707                </div>
3708            </div>
3709        </div>
3710
3711        <div ng-if="areTermsEnabled() && !showBillingSection()" class="panel-body tab-options terms-fallback-panel">
3712            <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)">
3713                <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>)
3714                <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label>
3715            </div>
3716        </div>
3717
3718        <div ng-if="showTerms()" id="TermModal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
3719            <div class="modal-dialog" style="width: 100%; max-width: 850px;">
3720                <div class="modal-content">
3721                    <div class="modal-header">
3722                        <div class="close" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times"></i></div>
3723                        <h4 class="modal-title">Terms and Conditions</h4>
3724                    </div>
3725                    <div class="modal-body">
3726                        <span ng-if="StatusInfo.TermsProcessing"><i class="fa fa-spinner fa-pulse"></i></span>
3727                        <div id="TermsAndC"></div>
3728                    </div>
3729                </div>
3730            </div>
3731        </div>
3732
3733        <!-- Billing Summary -->
3734
3735        <div ng-show="showBillingSummary()" class="panel panel-default ng-hide">
3736            <div class="panel-body" style="background-color: #ececed;">
3737                <div class="row">
3738                    <div class="col-xs-6">
3739                        <div ng-if="!isPayPal()">
3740                            <strong>Billing Address</strong>&nbsp;&nbsp;
3741                            <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3742                            <br>
3743                            <span ng-if="!isPayAtPickup()">
3744                                <span ng-if="BillingInfo.FirstName || BillingInfo.LastName">{{BillingInfo.FirstName}} {{BillingInfo.LastName}}<br></span>
3745                                <span ng-if="BillingInfo.Address1">{{BillingInfo.Address1}}<br></span>
3746                                <span ng-if="BillingInfo.Address2">{{BillingInfo.Address2}}<br></span>
3747                                <span ng-if="BillingInfo.City || BillingInfo.State || BillingInfo.Zip">{{BillingInfo.City}}, {{BillingInfo.State}} {{BillingInfo.Zip}}</span>
3748                                <span ng-if="BillingInfo.Country != Region"><br>{{BillingInfo.Country}}</span>
3749                            </span>
3750                        </div>
3751                        <span ng-if="isPayAtPickup()">
3752                            Pay at Pickup<br>
3753                            Your balance of {{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} can be paid at the store when you pickup your item(s).
3754                        </span>
3755                        <div ng-if="isPayPal()">
3756                            <strong>Payment Information</strong>&nbsp;&nbsp;
3757                            <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3758                        </div>
3759                    </div>
3760                    <div class="col-xs-6" ng-if="showPaymentSummary()">
3761                        <strong>Payment Information</strong>&nbsp;&nbsp;
3762                        <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3763                        <br>
3764                        <small>
3765                            <span ng-if="CardInfo.CCMasked">{{CardInfo.CCMasked}}<br></span>
3766                            <span ng-if="CardInfo.ExpMonth || CardInfo.ExpYear">{{CardInfo.ExpMonth}}/{{CardInfo.ExpYear}}<br></span>
3767                            <span ng-if="CardInfo.CVV">{{CardInfo.CVV}}</span>
3768                        </small>
3769                    </div>
3770                </div>
3771            </div>
3772        </div>
3773
3774        <!-- Buttons -->
3775
3776        <div class="row row-grid">
3777                <div ng-show="showCaptcha === true" class="col-xs-12 col-md-6">
3778                    <div class="g-recaptcha2" data-sitekey="6LcM-AItAAAAAKBp9tFsqjcPCF0DhG4ZlRbyay8v" data-callback="correctCaptcha"></div>
3779                </div>
3780            <div class="col-xs-12" ng-class="{'col-md-6': showCaptcha}">
3781                <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">
3782                    <span>Place Your Order &nbsp; <i class="button-icon-right fa fa-caret-right"></i></span>
3783                </button>
3784                <div ng-if="CartStatus.Valid && isPayPal() && !isFree() && !isProcessing() && !checkFlagForSubscriptionOnly()">
3785                    <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;" />
3786                    <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;" />
3787                    <button ng-if="!skipBilling() && !isBillingDone()" ng-click="checkCaptcha()" type="button" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button">
3788                        Continue
3789                    </button>
3790                </div>
3791                <button type="button" ng-if="showBillingInitiallyNeededButton()" ng-click="checkCaptcha()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button">
3792                    Continue
3793                </button>
3794                <button type="button" ng-if="showCheckoutButton()" ng-click="CheckoutProcess()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-place-order-button">
3795                    <span ng-if="isVantivHosted() && !isWholesaleNoCCEnabled()">Proceed to Checkout</span>
3796                    <span ng-if="!isVantivHosted() && !isWholesaleNoCCEnabled()">Place Your Order</span>
3797                    <span ng-if="isWholesaleNoCCEnabled()">Place Wholesale Order</span>
3798                </button>
3799                <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">
3800                    Continue
3801                </button>
3802                <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">
3803                    Enter Shipping Information
3804                </button>
3805                <div ng-if="showCreditCardOption()" style="margin-top: 10px;">
3806                    <a ng-if="isCardProcessorVantiv()" ng-click="setProcessor('VantivHosted');" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a>
3807                    <a ng-if="isCardProcessorNMI()" ng-click="GoToCheckoutUrl();" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a>
3808                </div>
3809                <div ng-if="showPayPalOption()" style="margin-top: 10px;">
3810                    <a ng-click="setProcessor('paypal');" class="small-link" href="" style="font-weight: normal !important;">or checkout with PayPal</a>
3811                </div>
3812                <span ng-show="isProcessing()" data-cy="web-checkout-processing"><i class="fa fa-spinner fa-pulse fa-2x"></i></span>
3813            </div>
3814        </div>
3815
3816        <div ng-if="StatusInfo.ErrorMessageBottom" class="alert alert-danger" data-cy="web-checkout-error-bottom">
3817            <button type="button" class="close" ng-click="ErrorMessageBottomClose()" data-cy="web-checkout-error-bottom-close">&times;</button>
3818            {{StatusInfo.ErrorMessageBottom}}
3819        </div>
3820
3821    </div>
3822
3823    <!-- Summary area -->
3824
3825    <div class="col-sm-5 hidden-xs">
3826        <div class="panel panel-default">
3827            <div ng-if="StatusInfo.Initializing" class="panel-body">
3828                <i class="fa fa-spinner fa-pulse fa-2x"></i>
3829            </div>
3830            <table ng-if="!StatusInfo.Initializing" class="table">
3831    
3832
3833<thead>
3834<tr>
3835    <td><strong>Description</strong></td>
3836    <td><strong>Quantity</strong></td>
3837    <td colspan="2"><strong>Amount</strong></td>
3838</tr>
3839</thead>
3840<tbody ng-repeat="item in CartData.Items">
3841<tr>
3842    <td colspan="4" style="border-bottom: 0; padding-bottom: 0;">
3843        <span ng-if="item.condition">
3844                {{item.title}} ({{item.condition.title}})
3845        </span>
3846
3847        <span ng-if="!item.condition">
3848                            {{item.title}}
3849                        <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
3850        </span>
3851
3852        <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
3853            This item is not eligible for discounts
3854        </span>
3855        <span ng-if="!item.quantity_updating && item.type == 'rental'">
3856            - {{item.id}}
3857        </span>
3858        <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
3859            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
3860        </span>
3861        <span ng-if="item.class_attendees.length">
3862            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
3863            <span ng-repeat="name in item.class_attendees">
3864                &nbsp;{{name}}
3865            </span>
3866        </span>
3867    </td>
3868</tr>
3869<tr>
3870    <td style="border-top: 0;">
3871        <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;">
3872
3873            </td>
3874    <td style="vertical-align: middle; border-top: 0;">
3875        <div ng-if="showQuantityAsSelector(item)" class="form-inline">
3876                            <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)">
3877                </select>
3878            
3879            <span ng-if="item.qty_type == 'fraction'">
3880                <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)">
3881                </select>
3882                <span ng-if="item.measure_unit == 'Meter'">Metres</span>
3883                <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span>
3884            </span>
3885        </div>
3886        <div ng-if="showQuantityAsNumber(item)">
3887            {{item.qty_integer}}
3888        </div>
3889        <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
3890    </td>
3891
3892            <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td>
3893    
3894    <td style="vertical-align: middle; border-top: 0;">
3895        <div class="cartCell cartDelete">
3896                            <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>
3897                        <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
3898        </div>
3899    </td>
3900    <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td>
3901</tr>
3902<tr ng-if="item.type === 'subscription'">
3903    <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
3904        <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
3905            <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
3906            View Subscription Details
3907        </a>
3908        <div ng-show="showSubscriptionDetails">
3909            <table class="subscription-details">
3910                <tr>
3911                    <td>{{item.subscriptionData.labels.adverb}} Price:</td>
3912                    <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
3913                </tr>
3914                <tr>
3915                    <td>Subscription Length:</td>
3916                    <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
3917                </tr>
3918                <tr>
3919                    <td>Start/End Date:</td>
3920                    <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
3921                </tr>
3922                <tr>
3923                    <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
3924                    <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
3925                </tr>
3926                <tr>
3927                    <td>Previous {{item.subscriptionData.labels.plural}}:</td>
3928                    <td>
3929                                                 <span ng-if="item.subscriptionData.previous_items_cnt > 0">
3930                                                    {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
3931                                                </span>
3932                        <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
3933                    </td>
3934                </tr>
3935                <tr>
3936                    <td>Delivery Method:</td>
3937                    <td ng-switch="item.subscriptionData.delivery_type">
3938                                            <span ng-switch-when="ship">
3939                                                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
3940                                            </span>
3941                        <span ng-switch-default>In-Store Pickup</span>
3942                    </td>
3943                </tr>
3944                <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
3945                    <td>Address:</td>
3946                    <td>{{item.subscriptionData.address}}</td>
3947                </tr>
3948                <tr>
3949                    <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
3950                    <td>
3951                        <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
3952                    </td>
3953                </tr>
3954                <tr>
3955                    <td><strong>Due Today:</strong></td>
3956                    <td>
3957                        <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
3958                    </td>
3959                </tr>
3960            </table>
3961        </div>
3962    </td>
3963</tr>
3964</tbody>
3965                <tr ng-show="isProductInCart()">
3966                    <td colspan="4" width="100%">
3967                                                                                            </td>
3968                </tr>
3969                <tr>
3970                    <td colspan="2">
3971                        Subtotal
3972                        <br>
3973                    </td>
3974                    <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>
3975                            <span ng-if="!showAsGST()">{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
3976                        <span ng-if="showAsGST()">{{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
3977                    </td>
3978                </tr>
3979                <tr ng-if="CustomerDiscounts > 0">
3980                    <td colspan="2">
3981                        Discount
3982                        <br>
3983                    </td>
3984                    <td colspan="2" align="right" class="h4"><strong>
3985                        <span>{{CustomerDiscounts | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
3986                    </td>
3987                </tr>
3988                    <tr>
3989                        <td colspan="3">
3990                            <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;">
3991                            <span id="gift-card-coupon-msgs" class="messages-coupon-gc">
3992                                            <!-- Messages -->
3993                                            <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
3994                                            <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
3995                                            <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Added</span>
3996                                            <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
3997                                        </span>
3998                        </td>
3999                        <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: top;">
4000                            <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>
4001                        </td>
4002                    </tr>
4003
4004                    <tbody ng-if="CartData.Coupons.length > 0">
4005                        <tr>
4006                            <td colspan="4">
4007                                <div>
4008                                    <div ng-show="CartData.Coupons.length > 0" class="row-divider-checkout">
4009                                        <div class="divider-checkout-block-title">
4010                                            Coupons
4011                                        </div>
4012                                        <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert-warning warning-box">
4013                                        <span ng-if="showOnlyHighestDiscountWarning()">
4014                                            Only a single coupon with the highest savings will be applied.
4015                                        </span>
4016                                            <span ng-if="showDontApplyOnSaleItemsWarning()">
4017                                            Coupons do not apply to On Sale Items
4018                                        </span>
4019                                        </div>
4020                                        <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}">
4021                                            <div class="discount-item">
4022                                                <div class="discount-item-title">
4023                                                    <a href="" ng-click="openCouponDetail
4023sModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a>
4024                                                </div>
4025                                                <div class="discount-amount">
4026                                                    <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} &nbsp;</span>
4027                                                    <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</span>
4028                                                    <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>
4029                                                    <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i>
4030                                                </div>
4031                                            </div>
4032                                            <div class="gift-card-coupon-code-span">
4033                                                {{c.couponCode}}
4034                                            </div>
4035                                            <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">{{couponStatusMessage}}</div>
4036                                        </div>
4037                                    </div>
4038                                </div>
4039                            </td>
4040                        </tr>
4041                    </tbody>
4042                <tr ng-if="ShippingInfo.Option && ShippingStatus.Required">
4043                    <td colspan="2">
4044                        {{isPickup() ? '' : 'Shipping'}} {{ShippingInfo.Option.name}}
4045                        &nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
4046                        &nbsp;&nbsp;<small>{{ShippingInfo.Option.delivery_time}}</small>
4047                    </td>
4048                    <td colspan="2" align="right">
4049                        <span ng-if="!isTaxInclusive()"><strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong></span>
4050                        <span ng-if="isTaxInclusive()" style="font-weight: bold; text-align: right;">
4051                                {{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}
4052                            </span>
4053                    </td>
4054                </tr>
4055                                <tr ng-if="!showAsGST()">
4056                    <td colspan="2">
4057                        Taxes
4058                    </td>
4059                    <td colspan="2" align="right" data-cy="web-checkout-summary-taxes">
4060                        <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span>
4061                        <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong>
4062                    </td>
4063                </tr>
4064
4065                <tbody ng-if="breakDownTaxes()">
4066                    <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, false)">
4067                        <td colspan="2">
4068                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
4069                        </td>
4070                        <td colspan="2" align="right">
4071                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
4072                        </td>
4073                    </tr>
4074                </tbody>
4075
4076                <tr ng-if="ShippingTaxes && !isTaxInclusive()">
4077                    <td colspan="2">
4078                        Shipping Taxes
4079                    </td>
4080                    <td colspan="2" align="right">
4081                        <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong>
4082                    </td>
4083                </tr>
4084
4085                <tbody ng-if="breakDownTaxes()">
4086                    <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, true)">
4087                        <td colspan="2">
4088                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
4089                        </td>
4090                        <td colspan="2" align="right">
4091                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
4092                        </td>
4093                    </tr>
4094                </tbody>
4095
4096                    <tbody ng-if="showGiftCardSummary()">
4097                        <tr>
4098                            <td colspan="4">
4099                                <div>
4100                                    <div class="row-divider-checkout">
4101                                        <div class="divider-checkout-block-gc-title">
4102                                            Gift Cards
4103                                        </div>
4104                                        <div ng-repeat="gc in CartData.GiftCards" class="item-box">
4105                                            <div class="discount-item">
4106                                                <div>
4107                                                    <span class="gift-card-coupon-identifier">{{gc.title}}</span>&nbsp;&nbsp;&nbsp;&nbsp;
4108                                                </div>
4109                                                <div class="discount-amount">
4110                                                    -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
4111                                                    <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>
4112                                                    <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i>
4113                                                </div>
4114                                            </div>
4115                                            <div class="gift-card-coupon-code-span">
4116                                                {{gc.number}}
4117                                            </div>
4118                                        </div>
4119                                    </div>
4120                                </div>
4121                            </td>
4122                        </tr>
4123                    </tbody>
4124                <tr>
4125                    <td colspan="1">
4126                        Total <span ng-if="isPayAtPickup()">due at pickup</span>
4127                    </td>
4128                    <td colspan="3" align="right" data-cy="web-checkout-summary-total">
4129                        <span ng-if="!showAsGST()"><strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
4130                        <span ng-if="showAsGST()">
4131                                <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
4132                            </span>
4133
4134                        <span ng-if="GST_Due > 0 && GST_Taxes > 0 && showAsGST() && isShippingCountryGST()" align="right">
4135                                <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span>
4136                            </span>
4137                    </td>
4138                </tr>
4139                </table>
4140        </div>
4141    </div>
4142
4143</div>
4144        </div>
4145    </div>
4146    <div id="coupon-details-modal" ></div>
4147
4148    <form id="processorform" action="{{SubmitInfo.SubmitUrl}}" method="post"><input type="hidden" name="form_version" value="2">
4149        <input type="hidden" ng-repeat="(key, val) in SubmitFields()" name="{{key}}" value="{{val}}">
4150    </form>
4151</div>
4152
4153
4154<!-- NOTE: Do not move to angular 1.4.x yet. There is an issue with particular cart data causing really poor performance -->
4155<!-- DO NOT CHANGE ANGULAR JS VERSION, THIS IS THE LAST VERSION THAT WORKS PROPERLY IN THE FOLLOWING BROWSERS -->
4156<!-- IE 9 AND iOS < 6 -->
4157<!-- THIS IS ONLY FOR THE CHECKOUT, OTHER PAGES CAN USE WHICH EVER VERSION THEY WANT TO -->
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179        
4180
4181        
4182            
4183            
4184            
4185            
4186            
4187    
4188
4189		</div>
4190	</div>
4191</div>
4192
4193    <!-- footer -->
4194	<div class="bgFooter">
4195	<div  style="border-bottom: 1px solid #ddd;" class="">
4196	<div class="container ">
4197		<div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 50px; padding-bottom: 40px; ">
4198			
4199			
4200			<div class="col-sm-3">
4201<h4><span class="footer-heading">Site Links</span></h4>
4202<ul class="list-unstyled">
4203<li></li>
4204<li></li>
4205<li><a href="#">Shop Online</a></li>
4206<li><a href="#">Contact</a></li>
4207<li><a href="#">Return Policy</a></li>
4208<li><a href="#">Terms &amp; Conditions</a></li>
4209</ul>
4210</div>
4211<div class="col-sm-4">
4212<h4><span class="footer-heading">Contact Us</span></h4>
4213<ul class="list-unstyled">
4214<li></li>
4215<li></li>
4216<li>Leithold Music<br />116 4th St S<br />La Crosse, WI 54601<br /> Call us now:&nbsp;608.784.7555<br /> Email:&nbsp;[email protected]</li>
4217</ul>
4218</div>
4219<div class="col-sm-5">
4220<h4><span style="color: #ffffff;"><span class="footer-heading">Leithold Music</span>'s mission:</span></h4>
4221To enthusiastically help our customers enrich their lives through experiencing the&nbsp;
4221joys and benefits of making music by supporting the arts in our community and schools by offering helpful, knowledgeable and sincere service in a casual, family-friendly atmosphere.
4222<ul class="list-unstyled list-inline">
4223<li><a href="#">Twitter</a></li>
4224<li><a href="#">Facebook</a></li>
4225</ul>
4226</div>
4227		</div>
4228	</div>
4229</div>
4230	<div class="container footer" style="height: auto; text-align:center; ">
4231		<br>
4232		<br>
4233		<a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/">Home</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/rental-dept.htm">Instrument Rental Dept</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/repair-and-service.htm">Service</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/shop.htm">Shop</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/shop/Specials-and-Used-Instruments.htm">Specials and Used Instruments</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/lessons.htm">Lessons</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="">About Us</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/contact-us.htm">Contact Us</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/site-map.htm">Site Map</a><!-- Yup, this comment is here for a reason. -->
4234		<div style="height: 10px;"></div>
4235		Copyright &copy; 2007-2026 - Leithold Music<br>
4236		<a class="footer" style="font-weight: normal;" href="http://www.musicshop360.com">Website Design</a> by MusicShop360<br>
4237		
4238		<br>
4239		<br>
4240	</div>
4241</div>
4242
4243
4244
4245</div>
4246
4247<!-- 43 module.tpl -->
4248<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
4249<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700;900&display=swap" rel="stylesheet" />
4250
4251
4252<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css">
4253<script type="text/javascript" src="https://images.rainpos.com/jquery-migrate-1.2.1.min.js" attr="nomove"></script>
vendor: 1 bytes, line 4253
4253
4254<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 4254
4254
4255<script type="text/javascript" src="https://images.rainpos.com/json2.js" attr="nomove"></script>
vendor: 1 bytes, line 4255
4255
4256<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" attr="nomove"></script>
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266<script>
4267            if(!(window.console && console.log)) {
4268                console = {
4269                    log: function(){},
4270                    debug: function(){},
4271                    info: function(){},
4272                    warn: function(){},
4273                    error: function(){}
4274                };
4275            }
4276	    </script>
vendor: 1 bytes, line 4276
4276
4277<script type="text/javascript" src="/1723204580/site-configuration/js/recaptchaCode.js"></script>
vendor: 116 bytes, lines 4277-4278
4277
4278<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaOnload&render=explicit" async defer></script>
4279<script type="text/javascript">
4280    var isMobileBrowser = 0;
4281            var isResponsive = true;
4282    </script>
vendor: 1 bytes, line 4282
4282
4283<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
vendor: 1 bytes, line 4283
4283
4284<script src="/1723204579/pos-app/js/big.min.js"></script>
vendor: 1 bytes, line 4284
4284
4285<script src="/1723204579/pos-app/js/lib.js"></script>
vendor: 1 bytes, line 4285
4285
4286<script src="/1775641146/pos-app/js/utils.js"></script>
vendor: 1 bytes, line 4286
4286
4287<script src="/1760603607/js/components/stripe-payment-request/CheckoutContextWrapper.js"></script>
vendor: 1 bytes, line 4287
4287
4288<script src="/1759150467/js/components/stripe-payment-request/PaymentRequestModel.js"></script>
vendor: 1 bytes, line 4288
4288
4289<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLError.js"></script>
vendor: 1 bytes, line 4289
4289
4290<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLBaseModel.js"></script>
vendor: 1 bytes, line 4290
4290
4291<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLKlarnaModel.js"></script>
vendor: 1 bytes, line 4291
4291
4292<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAffirmModel.js"></script>
vendor: 1 bytes, line 4292
4292
4293<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAfterpayModel.js"></script>
vendor: 1 bytes, line 4293
4293
4294<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLModel.js"></script>
vendor: 1 bytes, line 4294
4294
4295<script src="/1723204579/checkout/PromiseAccumulator.js"></script>
vendor: 1 bytes, line 4295
4295
4296<script src="/1723204579/c/libs/libphonenumber-js/libphonenumber-js.min.js"></script>
vendor: 1 bytes, line 4296
4296
4297<script src="/1723204579/js/bower_components/angular-sanitize/angular-sanitize.min.js"></script>
vendor: 1 bytes, line 4297
4297
4298<script src="/1790254316/checkout/checkoutCtrl.js"></script>
vendor: 1 bytes, line 4298
4298
4299<script src="/1723204579/js/log.js"></script>
vendor: 1 bytes, line 4299
4299
4300<script>var Logger = Object.create(Logger.prototype); Logger.setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTA1OTIyNTEsImp0aSI6Ijg3NzAxOWM4NmU0MzZjMDNlZGRkNjk0ZjQyNzJkMGVjMzlhOGVkNmFmMzI4YjY3MTZhODAyZWMyNGU0MzBjYTAiLCJuYmYiOjE3OTA1OTIyNTEsImV4cCI6MTc5MDYzNTQ1MSwiZGF0YSI6eyJzdG9yZUlkIjoxMjkzNCwic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.1CoYrXMsKOLQf_cms-H4KvgUvdR2tZabcBl4-mMTpRE"); </script>
vendor: 1 bytes, line 4300
4300
4301<script>window.cartJWT = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTA1OTIyNTEsImp0aSI6Ijg3NzAxOWM4NmU0MzZjMDNlZGRkNjk0ZjQyNzJkMGVjMzlhOGVkNmFmMzI4YjY3MTZhODAyZWMyNGU0MzBjYTAiLCJuYmYiOjE3OTA1OTIyNTEsImV4cCI6MTc5MDYzNTQ1MSwiZGF0YSI6eyJzdG9yZUlkIjoxMjkzNCwic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.1CoYrXMsKOLQf_cms-H4KvgUvdR2tZabcBl4-mMTpRE"</script>
vendor: 1 bytes, line 4301
4301
4302<script src="/js/libs/vue/2.6.12.vue.min.js"></script>
vendor: 1 bytes, line 4302
4302
4303<script src="/js/libs/axios/0.31.1.axios.min.js"></script>
vendor: 1 bytes, line 4303
4303
4304<script type="text/javascript">
4305    if (typeof window.vueEventHub === 'undefined') {
4306        window.vueEventHub = new Vue();
4307    }
4308    Vue.use({install: function (Vue, params) {
4309            Vue.prototype.$eventHub = params.vueEventHub;
4310        }}, {vueEventHub: window.vueEventHub});
4311</script>
vendor: 1 bytes, line 4311
4311
4312<script src="/1723204579/pos-app/controls/form-validate/form-validate.directive.js"></script>
vendor: 1 bytes, line 4312
4312
4313<script type='application/javascript'>var adyen_env = 1;</script>
vendor: 1 bytes, line 4313
4313
4314<script type='application/javascript'>var currency_code = 'USD';</script>
vendor: 1 bytes, line 4314
4314
4315<script src="https://payments.quiltsoftware.com/adyenRegion.js"></script>
vendor: 1 bytes, line 4315
4315
4316<script>
4317    let scriptAdyenRegion = window.adyenRegion || 'live-us';
4318
4319    const adyenScript = document.createElement('script');
4320    const adyenStyle = document.createElement('link');
4321    var adyenStyleLoaded = false; //global
4322    let head = document.getElementsByTagName('head')[0];
4323
4324    adyenScript.src = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.js';
4325    adyenScript.type = 'text/javascript';
4326    adyenScript.crossOrigin = 'anonymous';
4327    adyenScript.integrity = 'sha384-V7uOD/4bQuWLJRCDSfc60tVzD6rYW5BkkY3GYnaFjgg/guMih1Kx6N5Vo9dBtN3y';
4328
4329    adyenStyle.href = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.css'
4330    adyenStyle.rel = 'stylesheet';
4331    adyenStyle.crossOrigin = 'anonymous';
4332    adyenStyle.integrity = 'sha384-jAG16Mh+vYdXeyWKqPqL7chbdFT1aS5qjt/8jGJz5vBrI1RJ3m6/uFfMZt8li/rT';
4333
4334    head.appendChild(adyenScript);
4335    head.appendChild(adyenStyle);
4336
4337    adyenStyle.onload = function() {
4338        adyenStyleLoaded = true;
4339    }
4340</script>
vendor: 1 bytes, line 4340
4340
4341<script type="text/javascript" src="/js/dist/npm.core-js.7fcae61afb054d7ba0b3.js"></script>
vendor: 1 bytes, line 4341
4341
4342<script type="text/javascript" src="/js/dist/npm.vue-loader.d0cb700bf30f64badaf5.js"></script>
vendor: 1 bytes, line 4342
4342
4343<script type="text/javascript" src="/js/dist/npm.style-loader.b1e6d4e14468065b9561.js"></script>
vendor: 1 bytes, line 4343
4343
4344<script type="text/javascript" src="/js/dist/npm.css-loader.4580a37e6cd44c5ceae8.js"></script>
vendor: 1 bytes, line 4344
4344
4345<script type="text/javascript" src="/js/dist/npm.date-fns.a04ecd7fd4860ad4dc6d.js"></script>
vendor: 1 bytes, line 4345
4345
4346<script type="text/javascript" src="/js/dist/coupon-details-modal.310e9f33ad0b13b0bc5a.js"></script>
vendor: 1 bytes, line 4346
4346
4347<script type="text/javascript">
4348    var isMusicStore = true;
4349    var districts = [{"id":1806,"store_id":12934,"name":"--Other not listed below","external_id":null},{"id":2461,"store_id":12934,"name":"Allamakee Community School District","external_id":null},{"id":1755,"store_id":12934,"name":"Aquinas Catholic Schools","external_id":null},{"id":1758,"store_id":12934,"name":"Arcadia School District","external_id":null},{"id":1762,"store_id":12934,"name":"Bangor School District","external_id":null},{"id":1760,"store_id":12934,"name":"Black River Falls School District","external_id":null},{"id":1761,"store_id":12934,"name":"Blair-Taylor School District","external_id":null},{"id":1978,"store_id":12934,"name":"Bluffview Montessori","external_id":null},{"id":1767,"store_id":12934,"name":"Caledonia School District","external_id":null},{"id":1768,"store_id":12934,"name":"Cashton School District","external_id":null},{"id":1766,"store_id":12934,"name":"Cochrane-Fountain City School District","external_id":null},{"id":1769,"store_id":12934,"name":"De Soto Area Schools","external_id":null},{"id":2622,"store_id":12934,"name":"Decorah Community School District","external_id":null},{"id":1977,"store_id":12934,"name":"Dover-Eyota Public Schools","external_id":null},{"id":1917,"store_id":12934,"name":"Eastern Allamakee Community School District","external_id":null},{"id":1759,"store_id":12934,"name":"G-E-T School District","external_id":null},{"id":1771,"store_id":12934,"name":"Hillsboro School District","external_id":null},{"id":1754,"store_id":12934,"name":"Holmen School District","external_id":null},{"id":1772,"store_id":12934,"name":"Houston School District","external_id":null},{"id":1773,"store_id":12934,"name":"Independence School District","external_id":null},{"id":1774,"store_id":12934,"name":"Kickapoo Area Schools","external_id":null},{"id":1775,"store_id":12934,"name":"La Crescent School District","external_id":null},{"id":1752,"store_id":12934,"name":"La Crosse School District","external_id":null},{"id":1776,"store_id":12934,"name":"La Farge School District","external_id":null},{"id":1770,"store_id":12934,"name":"Luther High School Association Schools","external_id":null},{"id":1777,"store_id":12934,"name":"Mabel-Canton School District","external_id":null},{"id":1778,"store_id":12934,"name":"Melrose-Mindoro Area Schools","external_id":null},{"id":1779,"store_id":12934,"name":"North Crawford School District","external_id":null},{"id":1765,"store_id":12934,"name":"Norwalk Ontario Wilton School District","external_id":null},{"id":1753,"store_id":12934,"name":"Onalaska School District","external_id":null},{"id":1780,"store_id":12934,"name":"Richland Center School District","external_id":null},{"id":1918,"store_id":12934,"name":"Ridgeway Community School District","external_id":null},{"id":1781,"store_id":12934,"name":"Royall School District","external_id":null},{"id":1782,"store_id":12934,"name":"Rushford-Peterson School District","external_id":null},{"id":1756,"store_id":12934,"name":"Sparta School District","external_id":null},{"id":1783,"store_id":12934,"name":"Spring Grove School District","external_id":null},{"id":1757,"store_id":12934,"name":"Tomah School District","external_id":null},{"id":1784,"store_id":12934,"name":"Viroqua School District","external_id":null},{"id":1785,"store_id":12934,"name":"West Salem School District","external_id":null},{"id":1787,"store_id":12934,"name":"Westby Area Schools","external_id":null},{"id":1788,"store_id":12934,"name":"Whitehall School District","external_id":null},{"id":1764,"store_id":12934,"name":"Winona Area Catholic Schools","external_id":null},{"id":1763,"store_id":12934,"name":"Winona School District","external_id":null},{"id":1786,"store_id":12934,"name":"Wonewoc-Union Center School District","external_id":null}];
4350    var schools = [{"id":10811,"store_id":12934,"district_id":1755,"name":"Aquinas HS","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"315 S 11th St","address2":"","zip":"54601","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10812,"store_id":12934,"district_id":1755,"name":"Aquinas MS","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"315 S 11th St","address2":"","zip":"54601","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10820,"store_id":12934,"district_id":1758,"name":"Arcadia HS","external_id":null,"country":"USA","state":"WI","city":"Arcadia","address":"756 Raider Dr","address2":"","zip":"54612","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10821,"store_id":12934,"district_id":1758,"name":"Arcadia MS","external_id":null,"country":"USA","state":"WI","city":"Arcadia","address":"756 Raider Dr","address2":"","zip":"54612","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10828,"store_id":12934,"district_id":1762,"name":"Bangor HS","external_id":null,"country":"USA","state":"WI","city":"Bangor","address":"401 14th Ave S","address2":"","zip":"54614","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10827,"store_id":12934,"district_id":1762,"name":"Bangor MS","external_id":null,"country":"USA","state":"WI","city":"Bangor","address":"401 14th Ave S","address2":"","zip":"54614","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10823,"store_id":12934,"district_id":1760,"name":"Black River Falls HS","external_id":null,"country":"USA","state":"WI","city":"Black River Falls","address":"1200 Pierce Street","address2":"","zip":"54615","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10824,"store_id":12934,"district_id":1760,"name":"Black River Falls MS","external_id":null,"country":"USA","state":"WI","city":"Black River Falls","address":"1202 Pierce","address2":"","zip":"54615","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10826,"store_id":12934,"district_id":1761,"name":"Blair-Taylor HS","external_id":null,"country":"USA","state":"WI","city":"Blair","address":"N31024 Elland Road","address2":"","zip":"54616","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10825,"store_id":12934,"district_id":1761,"name":"Blair-Taylor MS","external_id":null,"country":"USA","state":"WI","city":"Blair","address":"N31024 Elland Road","address2":"","zip":"54616","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10813,"store_id":12934,"district_id":1755,"name":"Blessed Sacrament","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"2404 King St","address2":"","zip":"54601","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11957,"store_id":12934,"district_id":1978,"name":"Bluffview Montessori","external_id":null,"country":"USA","state":"MN","city":"Winona","address":"1321 Gilmore Ave","address2":"","zip":"55987","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10835,"store_id":12934,"district_id":1765,"name":"Brookwood HS","external_id":null,"country":"USA","state":"WI","city":"Ontario","address":"28861 WI-131","address2":"","zip":"54651","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10836,"store_id":12934,"district_id":1765,"name":"Brookwood JH","external_id":null,"country":"USA","state":"WI","city":"Ontario","address":"28861 WI-131","address2":"","zip":"54651","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10837,"store_id":12934,"district_id":1766,"name":"C-FC HS","external_id":null,"country":"USA","state":"WI","city":"Fountain City","address":"S2770 State Road 35","address2":"","zip":"54629","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10838,"store_id":12934,"district_id":1766,"name":"C-FC MS","external_id":null,"country":"USA","state":"WI","city":"Fountain City","address":"S2770 State Road 35","address2":"","zip":"54629","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10839,"store_id":12934,"district_id":1767,"name":"Caledonia HS","external_id":null,"country":"USA","state":"MN","city":"Caledonia","address":"825 N Warrior Ave","address2":"","zip":"55921","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10840,"store_id":12934,"district_id":1767,"name":"Caledonia MS","external_id":null,"country":"USA","state":"MN","city":"Caledonia","address":"825 N Warrior Ave","address2":"","zip":"55921","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10841,"store_id":12934,"district_id":1768,"name":"Cashton HS","external_id":null,"country":"USA","state":"WI","city":"Cashton","address":"540 Coe St","address2":"","zip":"54619","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10892,"store_id":12934,"district_id":1768,"name":"Cashton MS","external_id":null,"country":"USA","state":"WI","city":"Cashton","address":"540 Coe St","address2":"","zip":"54619","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10793,"store_id":12934,"district_id":1752,"name":"Central HS","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"1801 Losey Blvd S","address2":"","zip":"54601","mobile_phone":null,"phone":null,"phone_ext":null},{"id":12181,"store_id":12934,"district_id":1770,"name":"Christ-St. Johns","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":11958,"store_id":12934,"district_id":1806,"name":"Cornerstone Christian Academy","external_id":null,"country":"USA","state":"WI","city":"Viroqua","address":"S3655 Duncan Ln","address2":"","zip":"54665","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10834,"store_id":12934,"district_id":1764,"name":"Cotter - St. Luke\u0027s","external_id":null,"country":"USA","state":"MN","city":"Winona","address":"365 Hilbert St","address2":"","zip":"55987","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10832,"store_id":12934,"district_id":1764,"name":"Cotter HS","external_id":null,"country":"USA","state":"MN","city":"Winona","address":"1115 W Broadway St","address2":"","zip":"55987","mobile_phone":null,"phone":null,"phone_ext":null}
4350,{"id":10833,"store_id":12934,"district_id":1764,"name":"Cotter JH","external_id":null,"country":"USA","state":"MN","city":"Winona","address":"1115 W Broadway St","address2":"","zip":"55987","mobile_phone":null,"phone":null,"phone_ext":null},{"id":12178,"store_id":12934,"district_id":1806,"name":"Coulee Christian School","external_id":null,"country":"USA","state":"WI","city":"West Salem","address":"230 Garland St W","address2":"","zip":"54669","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10798,"store_id":12934,"district_id":1752,"name":"Coulee Montessori","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10799,"store_id":12934,"district_id":1752,"name":"CRVA","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":14003,"store_id":12934,"district_id":2622,"name":"Decorah Middle School","external_id":null,"country":"USA","state":"IA","city":"Decorah","address":"405 Winnebago Street","address2":"","zip":"52101","mobile_phone":"","phone":"+1(563) 382-8427","phone_ext":""},{"id":12179,"store_id":12934,"district_id":1769,"name":"DeSoto HS","external_id":null,"country":"USA","state":"WI","city":"De Soto","address":"615 Main St","address2":"","zip":"54624","mobile_phone":null,"phone":null,"phone_ext":null},{"id":12180,"store_id":12934,"district_id":1769,"name":"DeSoto MS","external_id":null,"country":"USA","state":"WI","city":"De Soto","address":"615 Main St","address2":"","zip":"54624","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11953,"store_id":12934,"district_id":1977,"name":"Dover-Eyota HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":11954,"store_id":12934,"district_id":1977,"name":"Dover-Eyota MS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10795,"store_id":12934,"district_id":1752,"name":"Emerson Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10847,"store_id":12934,"district_id":1770,"name":"First Lutheran - La Crosse","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10822,"store_id":12934,"district_id":1759,"name":"GET HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":11955,"store_id":12934,"district_id":1759,"name":"GET MS","external_id":null,"country":"USA","state":"WI","city":"Galesville","address":"19650 Prairie Ridge Ln","address2":"","zip":"54630","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10797,"store_id":12934,"district_id":1752,"name":"Hamilton Elementary\/SOTA 1","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10854,"store_id":12934,"district_id":1771,"name":"Hillsboro HS","external_id":null,"country":"USA","state":"WI","city":"Hillsboro","address":"777 School Ave","address2":"","zip":"54634","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10855,"store_id":12934,"district_id":1771,"name":"Hillsboro MS","external_id":null,"country":"USA","state":"WI","city":"Hillsboro","address":"777 School Ave","address2":"","zip":"54634","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10796,"store_id":12934,"district_id":1752,"name":"Hintgen Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10810,"store_id":12934,"district_id":1754,"name":"Holmen HS","external_id":null,"country":"USA","state":"WI","city":"Holmen","address":"1001 McHugh Rd","address2":"","zip":"54636","mobile_phone":"","phone":"","phone_ext":""},{"id":10809,"store_id":12934,"district_id":1754,"name":"Holmen MS","external_id":null,"country":"USA","state":"WI","city":"Holmen","address":"502 Main St N","address2":"","zip":"54636","mobile_phone":null,"phone":null,"phone_ext":null},{"id":12329,"store_id":12934,"district_id":1806,"name":"Holy Family Catholic School","external_id":null,"country":"USA","state":"WI","city":"Arcadia","address":"532 MC Kinley St","address2":"","zip":"54612","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11018,"store_id":12934,"district_id":1806,"name":"Homeschool","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10856,"store_id":12934,"district_id":1772,"name":"Houston Elementary","external_id":null,"country":"USA","state":"MN","city":"Houston","address":"310 S Sherman St","address2":"","zip":"55943","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10858,"store_id":12934,"district_id":1772,"name":"Houston HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10857,"store_id":12934,"district_id":1772,"name":"Houston MS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10848,"store_id":12934,"district_id":1770,"name":"Immanuel - La Crosse","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10860,"store_id":12934,"district_id":1773,"name":"Independence HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10859,"store_id":12934,"district_id":1773,"name":"Independence MS","external_id":null,"country":"USA","state":"WI","city":"Independence","address":"23786 Indee Boulevard","address2":"","zip":"54747","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11785,"store_id":12934,"district_id":1917,"name":"Kee High","external_id":null,"country":"USA","state":"IA","city":"Lansing","address":"569 Center St","address2":"","zip":"52151","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10861,"store_id":12934,"district_id":1774,"name":"Kickapoo HS","external_id":null,"country":"USA","state":"WI","city":"Viola","address":"S6520 WI-131","address2":"","zip":"54664","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10862,"store_id":12934,"district_id":1774,"name":"Kickapoo MS","external_id":null,"country":"USA","state":"WI","city":"Viola","address":"S6520 State Highway 131","address2":"","zip":"54664","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10864,"store_id":12934,"district_id":1775,"name":"La Crescent HS","external_id":null,"country":"USA","state":"MN","city":"La Crescent","address":"1301 Lancer Boulevard","address2":"","zip":"55947","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10863,"store_id":12934,"district_id":1775,"name":"La Crescent MS","external_id":null,"country":"USA","state":"MN","city":"La Crescent","address":"1301 Lancer Blvd","address2":"","zip":"55947","mobile_phone":"","phone":"+1(507) 895-4485","phone_ext":""},{"id":10800,"store_id":12934,"district_id":1752,"name":"La Crosse Polytechnic","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10865,"store_id":12934,"district_id":1776,"name":"La Farge HS","external_id":null,"country":"USA","state":"WI","city":"La Farge","address":"301 W Adams St","address2":"","zip":"54639","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10866,"store_id":12934,"district_id":1776,"name":"La Farge MS","external_id":null,"country":"USA","state":"WI","city":"La Farge","address":"301 W Adams St","address2":"","zip":"54639","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11784,"store_id":12934,"district_id":1917,"name":"Lansing Middle School","external_id":null,"country":"USA","state":"IA","city":"Lansing","address":"569 Center St","address2":"","zip":"52151","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10794,"store_id":12934,"district_id":1752,"name":"Logan HS","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"1500 Ranger Dr","address2":"","zip":"54603","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10792,"store_id":12934,"district_id":1752,"name":"Logan MS","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"1450 Avon St","address2":"","zip":"54603","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10791,"store_id":12934,"district_id":1752,"name":"Longfellow MS","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"1900 Denton St","address2":"","zip":"54601","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10844,"store_id":12934,"district_id":1770,"name":"Luther HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10867,"store_id":12934,"district_id":1777,"name":"Mabel-Canton HS","external_id":null,"country":"USA","state":"MN","city":"Mabel","address":"316 W Fillmore Ave","address2":"","zip":"55954","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10868,"store_id":12934,"district_id":1778,"name":"Melrose-Mindoro HS","external_id":null,"country":"USA","state":"WI","city":"Melrose","address":"N181 State Hwy 108","address2":"","zip":"54642","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10869,"store_id":12934,"district_id":1778,"name":"Melrose-Mindoro MS","external_id":null,"country":"USA","state":"WI","city":"Melrose","address":"N181 State Hwy 108","address2":"","zip":"54642","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11960,"store_id":12934,"district_id":1806,"name":"Minnesota Conservatory of the Arts","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10849,"store_id":12934,"district_id":1770,"name":"Mt. Calvary\/Grace - La Crosse","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10870,"store_id":12934,"district_id":1779,"name":"North Crawford HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10801,"store_id":12934,"district_id":1752,"name":"North Woods Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10802,"store_id":12934,"district_id":1752,"name":"Northside Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10807,"store_id":12934,"district_id":1753,"name":"Onalaska HS","external_id":null,"country":"USA","state":"WI","city":"Onalaska","address":"700 Hilltopper Dr","address2":"","zip":"54650","mobile_phone":"","phone":"","phone_ext":""},{"id":10808,"store_id":12934,"district_id":1753,"name":"Onalaska MS","external_id":null,"country":"USA","state":"WI","city":"Onalaska","address":"711 Quincy St","address2":"","zip":"54650","mobile_phone":null,"phone":null,"phone_ext":null},{"id":11961,"store_id":12934,"district_id":1806,"name":"Onalaska Music Academy","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10843,"store_id":12934,"district_id":1769,"name":"Prairie View Elementary","external_id":null,"country":"USA","state":"WI","city":"De Soto","address":"E3245 CTH-N","address2":"","zip":"54624","mobile_phone":"","phone":"","phone_ext":""},{"id":11019,"store_id":12934,"district_id":1806,"name":"Private Lessons","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10871,"store_id":12934,"district_id":1780,"name":"Richland Center HS","external_id":null,"country":"USA","state":"WI","city":"Richland Center","address":"1996 US-14 W","address2":"","zip":"53581","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10873,"store_id":12934,"district_id":1780,"name":"Richland Center Intermediate School","external_id":null,"country":"USA","state":"WI","city":"Richland Center","address":"1801 WI-80 S","address2":"","zip":"53581","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10872,"store_id":12934,"district_id":1780,"name":"Richland MS","external_id":null,"country":"USA","state":"WI","city":"Richland Center","address":"1996 US-14 W","address2":"","zip":"53581","mobile_phone":null,"phone":null,"phone_ext":null},{"id":12182,"store_id":12934,"district_id":1918,"name":"Ridgeway Community School","external_id":null,"country":"USA","state":"MN","city":"Houston","address":"35564 County Road 12","address2":"","zip":"55943","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10874,"store_id":12934,"district_id":1781,"name":"Royall HS","external_id":null,"country":"USA","state":"WI","city":"Elroy","address":"1501 Academy St","address2":"","zip":"53929","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10875,"store_id":12934,"district_id":1781,"name":"Royall MS","external_id":null,"country":"USA","state":"WI","city":"Elroy","address":"1501 Academy St","address2":"","zip":"53929","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10876,"store_id":12934,"district_id":1782,"name":"Rushford-Peterson HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10803,"store_id":12934,"district_id":1752,"name":"Southern Bluffs Elementary","external_id":null,"country":"USA","state":"WI","city":"La Crosse","address":"4010 Sunnyside Dr","address2":"","zip":"54601","mobile_phone":"","phone":"","phone_ext":""},{"id":10815,"store_id":12934,"district_id":1756,"name":"Sparta HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10817,"store_id":12934,"district_id":1756,"name":"Sparta Montessori","external_id":null,"country":"USA","state":"WI","city":"Sparta","address":"429 N. Black River Street","address2":"","zip":"54656","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10816,"store_id":12934,"district_id":1756,"name":"Sparta MS","external_id":null,"country":"USA","state":"WI","city":"Sparta","address":"1225 N. Water Street","address2":"","zip":"54656","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10804,"store_id":12934,"district_id":1752,"name":"Spence Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10877,"store_id":12934,"district_id":1783,"name":"Spring Grove HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10878,"store_id":12934,"district_id":1783,"name":"Spring Grove MS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":11962,"store_id":12934,"district_id":1806,"name":"St Marys Catholic School - Caledonia","external_id":null,"country":"USA","state":"MN","city":"Caledonia","address":"308 E South St","address2":"","zip":"55921","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10846,"store_id":12934,"district_id":1770,"name":"St. Johns - Caledonia","external_id":null,"country":null,"state":null,"city":null,"address":null,"add
4350ress2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10850,"store_id":12934,"district_id":1770,"name":"St. Johns - Lewiston","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10851,"store_id":12934,"district_id":1770,"name":"St. Johns - Nodine","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":12185,"store_id":12934,"district_id":1770,"name":"St. Johns - Sparta","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10853,"store_id":12934,"district_id":1770,"name":"St. Matthews - Stoddard","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":12184,"store_id":12934,"district_id":1770,"name":"St. Matthews - Winona","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10814,"store_id":12934,"district_id":1755,"name":"St. Patrick Sc
4350hool","external_id":null,"country":"USA","state":"WI","city":"Onalaska","address":"127 11th Ave N","address2":"","zip":"54650","mobile_phone":"","phone":"","phone_ext":""},{"id":10845,"store_id":12934,"district_id":1770,"name":"St. Pauls - Bangor","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10852,"store_id":12934,"district_id":1770,"name":"St. Pauls - Onalaska","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":12183,"store_id":12934,"district_id":1770,"name":"St. Pauls - Tomah","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10805,"store_id":12934,"district_id":1752,"name":"State Road Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10842,"store_id":12934,"district_id":1769,"name":"Stoddard Elementary","external_id":null,"country":"USA","state":"WI","city":"Stoddard","address":"300 N Cottage St","address2":"","zip":"54658","mobile_phone":"","phone":"","phone_ext":""},{"id":10806,"store_id":12934,"district_id":1752,"name":"Summit Elementary","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":11959,"store_id":12934,"district_id":1806,"name":"Tomah Baptist Academy","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10818,"store_id":12934,"district_id":1757,"name":"Tomah HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":11956,"store_id":12934,"district_id":1757,"name":"Tomah Montessori","external_id":null,"country":"USA","state":"WI","city":"Tomah","address":"612 Hollister Ave","address2":"","zip":"54660","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10819,"store_id":12934,"district_id":1757,"name":"Tomah MS","external_id":null,"country":"USA","state":"WI","city":"Tomah","address":"612 Hollister Ave","address2":"","zip":"54660","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10879,"store_id":12934,"district_id":1784,"name":"Viroqua HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10880,"store_id":12934,"district_id":1784,"name":"Viroqua MS","external_id":null,"country":"USA","state":"WI","city":"Viroqua","address":"100 Blackhawk Dr","address2":"","zip":"54665","mobile_phone":null,"phone":null,"phone_ext":null}
4350,{"id":13648,"store_id":12934,"district_id":2461,"name":"Waukon High School","external_id":null,"country":"USA","state":"IA","city":"Waukon","address":"1061 3rd Ave NW","address2":"","zip":"52172","mobile_phone":"","phone":"","phone_ext":""},{"id":13647,"store_id":12934,"district_id":2461,"name":"Waukon Middle School","external_id":null,"country":"USA","state":"IA","city":"Waukon","address":"1059 3rd Ave NW","address2":"","zip":"52172","mobile_phone":"","phone":"","phone_ext":""},{"id":10881,"store_id":12934,"district_id":1785,"name":"West Salem HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10882,"store_id":12934,"district_id":1785,"name":"West Salem MS","external_id":null,"country":"USA","state":"WI","city":"West Salem","address":"440 East Ave","address2":"","zip":"54669","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10885,"store_id":12934,"district_id":1787,"name":"Westby HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10886,"store_id":12934,"district_id":1787,"name":"Westby MS","external_id":null,"country":"USA","state":"WI","city":"Westby","address":"206 West Ave S","address2":"","zip":"54667","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10888,"store_id":12934,"district_id":1788,"name":"Whitehall  MS","external_id":null,"country":"USA","state":"WI","city":"Whitehall","address":"19121 Hobson St","address2":"","zip":"54773","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10887,"store_id":12934,"district_id":1788,"name":"Whitehall HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10830,"store_id":12934,"district_id":1763,"name":"Winona HS","external_id":null,"country":"USA","state":"WI","city":"Winona","address":"901 Gilmore Avenue","address2":"","zip":"55987","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10829,"store_id":12934,"district_id":1763,"name":"Winona MS","external_id":null,"country":"USA","state":"MN","city":"Winona","address":"1570 Homer Road","address2":"","zip":"55987","mobile_phone":null,"phone":null,"phone_ext":null},{"id":10883,"store_id":12934,"district_id":1786,"name":"Wonewoc Center HS","external_id":null,"country":null,"state":null,"city":null,"address":null,"address2":null,"zip":null,"mobile_phone":null,"phone":null,"phone_ext":null},{"id":10884,"store_id":12934,"district_id":1786,"name":"Wonewoc Center MS","external_id":null,"country":"USA","state":"WI","city":"Wonewoc","address":"101 School Road","address2":"","zip":"53968","mobile_phone":null,"phone":null,"phone_ext":null}];
4351    var customerId = 0;
4352</script>
vendor: 1 bytes, line 4352
4352
4353<script>
4354                function innerWrapper() {
4355                    const innerDivz = document.querySelectorAll(`div.inner`);
4356                    if (innerDivz.length > 0) {
4357                        let identifyParentEl = innerDivz[0].parentElement;
4358                        const wrapperEl = document.createElement('div');
4359
4360                        wrapperEl.setAttribute('data-column-id', 'body');
4361                        if (innerDivz[0].classList.contains('inner-full-width')) {
4362                            wrapperEl.className = 'new clearfix';
4363                        } else {
4364                            wrapperEl.className = 'new container clearfix';
4365                        }
4366                        if (identifyParentEl.classList.contains('vue-component-wrapper')) {
4367                            identifyParentEl.insertAdjacentElement('beforebegin', wrapperEl);
4368                        } else {
4369                            innerDivz[0].insertAdjacentElement('beforebegin', wrapperEl);
4370                        }
4371                        innerDivz.forEach(item => wrapperEl.append(item));
4372                    }
4373                }
4374                document.addEventListener('DOMContentLoaded', innerWrapper);
4375            </script>
vendor: 1 bytes, line 4375
4375
4376<script>
4377$(function () {
4378    $(".txtNewsletterSignup").focus(function () {
4379        $(".captchaWrapper").css({ 'display': 'block' })
4380    })
4381    .blur(function () {
4382        $(".captchaWrapper").css({ 'display': 'none' })
4383    });
4384})
4385</script>
vendor: 1 bytes, line 4385
4385
4386<script type="text/javascript" src="/site-configuration/js/jquery.blockUI.js"></script>
4386
4387
4388<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"d60c52fc57","applicationID":"7339757","transactionName":"ZAFTMEcHDUsDB00IDl1LchFGEgxVTSdqCQ5DFFgKUiUCShY7ewASVg==","queueTime":0,"applicationTime":138,"atts":"SEZQRg8dHkU=","errorBeacon":"bam.nr-data.net","agent":""}</script>
4388</body>
4389</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.