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 ☰ 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()">×</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()">×</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()">×</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> - {{pitem.title}} 1438 </span> 1439 <span ng-if="item.class_attendees.length"> 1440 <br> - Attendees: 1441 <span ng-repeat="name in item.class_attendees"> 1442 {{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> {{giftCardCouponMsg}}</span> 1605 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 1606 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> 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}} </span> 1636 <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} </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> 1659 </div> 1660 <div class="discount-amount"> 1661 -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} 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 <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 <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 <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 <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> </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">×</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()">×</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()">×</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()">×</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> - {{pitem.title}} 2115 </span> 2116 <span ng-if="item.class_attendees.length"> 2117 <br> - Attendees: 2118 <span ng-repeat="name in item.class_attendees"> 2119 {{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> 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> 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 <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 <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> 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 <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> {{giftCardCouponMsg}}</span> 3045 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 3046 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> 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 <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> 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> 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> 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 <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">×</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> - {{pitem.title}} 3860 </span> 3861 <span ng-if="item.class_attendees.length"> 3862 <br> - Attendees: 3863 <span ng-repeat="name in item.class_attendees"> 3864 {{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> {{giftCardCouponMsg}}</span> 3994 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 3995 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> 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}} </span> 4027 <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} </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 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 4046 <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 {{jurisdiction}} 4069 </td> 4070 <td colspan="2" align="right"> 4071 {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}} 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 {{jurisdiction}} 4089 </td> 4090 <td colspan="2" align="right"> 4091 {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}} 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> 4108 </div> 4109 <div class="discount-amount"> 4110 -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} 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 & 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: 608.784.7555<br /> Email: [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
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> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/rental-dept.htm">Instrument Rental Dept</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/repair-and-service.htm">Service</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/shop.htm">Shop</a> | <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> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/lessons.htm">Lessons</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="">About Us</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.leitholdmusic.com/contact-us.htm">Contact Us</a> | <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 © 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.