PageSourceSearch

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

html thelittlegoldenfox.com collected 2026-10-06 12:35:05 UTC 356,621 bytes, 4,650 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    
5<link href="/1723204578/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type="text/css">
6<link href="/1723204578/bootflat/css/fontawesome-pro-6.5.2-web/css/v4-shims.min.css" rel="stylesheet" type="text/css">
7 
7<script attr="nomove" src="https://sdk.videeo.com/latest.js"></script>
7
8	<link rel="icon" type="image/x-icon" href="/favicon.ico">
9    <title></title>
10	
11    <meta name="description" content="">
12	
13	<link rel="canonical" href="https://www.thelittlegoldenfox.com/module/product.htm">
14	
15
16	<link rel="dns-prefetch" href="oss.maxcdn.com">
17	<link rel="dns-prefetch" href="ajax.googleapis.com">
18
19	<!-- BOOTSTRAP START !! -->
20    <meta charset="utf-8">
21	<meta http-equiv="X-UA-Compatible" content="IE=edge">
21<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.323.0.min.js.LICENSE.txt */
22(()=>{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.323.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||{}
22).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(()=>
22{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.323.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.323.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-zhTI1o3vPu0UcYWUELiLeb9P46+LBW0K7R4KO/PafMc68L5tJ2mSHyvZtcNeG9Cw/PTZstuo62K1wwaoAsHdXQ=="};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];
22if(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.323.0.PROD"]=self["webpackChunk:NRBA-1.323.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}
22,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);
22var 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={};
22return 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>
22
23	<meta name="viewport" content="width=device-width, initial-scale=1">
24
25	<!-- BEGIN FRONTEND TRACKJS -->
25<script attr="nomove" src="https://cdn.trackjs.com/agent/v3/latest/t.js"></script>
vendor: 1 bytes, line 25
25
26<script attr="nomove">
27  TrackJS.install({
28    token: "a7347001564f4c9cb840b3caf60af7ea",
29    application: "frontend-production"
30    // for more configuration options, see https://docs.trackjs.com
31  });
32</script>
32<!-- END FRONTEND TRACKJS -->
33
34    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
35    <!--[if lt IE 9]>
36      
36<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js" attr="nomove"></script>
36
37      
37<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js" attr="nomove"></script>
37
38    <![endif]-->
39	<!-- BOOTSTRAP END -->
40
41    
42    
42<script type="text/javascript" src="https://images.rainpos.com/jquery.tools.min.js" attr="nomove"></script>
42
43    
44	
44<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" attr="nomove"></script>
44
45
46	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
47
48	
49	
50
51	<style>
52		* {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: 30px !important;border: 1px solid #fff !important;}.menubg {min-height: px;}.mainMenuItem {padding-left: 30px !important;padding-right: 30px !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:#fff !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:#a9d9dd !important;}#mainNav .dropdown-menu > li > a{color:#fff !important;background-color:#fff !important;border:0px !important;}#mainNav .dropdown-menu > li > a:hover,#mainNav .dropdown-menu > li > a:focus{color:#a9d9dd !important;background-color:#fff !important;}.menubg{z-index:3 !important;}.menubg .navbar{min-height:30px !important;margin-bottom:0px !important;}#main-website-content .btn-add-to-cart{color:#f6f6f6 !important;padding-left:60px !important;padding-right:60px !important;transition-duration:0.2s;background:#5bc050 !important;}#main-website-content .btn-add-to-cart:hover{color:#fff !important;transition-duration:0.2s;background:#4BB340 !important;}.btn-add-to-waitlist{color:#f6f6f6 !important;padding-left:60px !important;padding-right:60px !important;transition-duration:0.2s;background:#999999 !important;}.btn-add-to-waitlist:hover{color:#fff !important;transition-duration:0.2s;background:#777 !important;}#main-website-content .btn-add-to-improved-waitlist{color:#f6f6f6 !important;padding-left:20px !important;padding-right:20px !important;transition-duration:0.2s;background:#ff8c00 !important;}.menubg .nav > li{margin-bottom:0px !important;}.menubg > .container{padding:0px !important;}.mainMenuItem{font-size:15px !important;font-family:Arial, sans-serif; text-transform: uppercase; !important;
52font-weight:normal !important;color:#fff !important;}html{font-size:0.8em !important;}body{font-family:Cutive !important;color:#6582A3 !important;font-size:inherit !important;margin:0px;padding:0px;margin-top:0px;height:100%;}.homePageBg{background:#fff ;}.secondaryPageBg{background:#fff ;}FORM{display:inline !important;}H1:not(.ignore-site-layout-styles h1), H2:not(.ignore-site-layout-styles h2), H3:not(.ignore-site-layout-styles h3), H4:not(.ignore-site-layout-styles h4), H5:not(.ignore-site-layout-styles h5){color:#65A39B !important;font-family:Amatic SC !important;font-size:3em !important;}a:not(.ignore-site-layout-styles a), a:visited:not(.ignore-site-layout-styles a){color:#D8BC66 !important;font-weight: !important;}a:hover:not(.ignore-site-layout-styles a){text-decoration:none !important;color:#fcd58a !important;}A:active{outline:none !important;}:focus{-moz-outline-style:none !important;}LI{margin-bottom:8px !important;}.pageDiv{height:auto !important; height:100%;min-height:100%;margin:0 auto;}.secondaryPageDiv{height:auto !important; height:100%;min-height:100%;margin:0 auto;}
52.footer, .footer:hover, .footer:visited{color:#777777 !important;font-size:1em !important;}.main1ColumnWidth h1, .main1ColumnWidth h2, .main1ColumnWidth h3{color:#65A39B;font-family:Amatic SC;font-size:3em;}.main1ColumnWidth a{color:#D8BC66;}.main1ColumnWidth a:hover{text-decoration:none;color:#fcd58a;}.secondaryMain1ColumnWidth h1, .secondaryMain1ColumnWidth h2, .secondaryMain1ColumnWidth h3{color:#65A39B;font-family:Amatic SC;font-size:3em;}.secondaryMain1ColumnWidth a{color:#D8BC66;}.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: #fff;}.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 {
53    border-radius: 4px!important;
54    border: 1px solid #ddd!important;
55    background: #FC971F!important;
56    display: block!important;
57    padding: 16px!important;
58    font-family: Roboto, sans-serif;
59    font-size: 14px!important;
60    font-style: normal;
61    font-weight: 400;
62    line-height: normal;
63    letter-spacing: 0.28px;
64    height: 50px!important;
65    color: #fff!important;
66}
67
68#waitlist-wrapper .product-add-waitlist:hover {
69    border-radius: 4px!important;
70    border: 1px solid #ddd!important;
71    background: #FC971F!important;
72    cursor: pointer;
73    text-decoration: underline!important;
74}
75
76
77	</style>
78	<link rel="preconnect" href="https://fonts.googleapis.com">
79<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
80<link href="https://fonts.googleapis.com/css2?family=Amatic+SC:wght@700&family=Cutive&family=Cutive+Mono&display=swap" rel="stylesheet">
vendor: 99 bytes, lines 80-87
80
81	
82
83	        
84
85	
86
87    <script attr="nomove" async src="https://www.googletagmanager.com/gtag/js?id=
87G-9PPNWY574C
vendor: 11 bytes, line 87
87"></script>
87<script attr="nomove">
88  
vendor: 133 bytes, lines 88-91
88window.dataLayer = window.dataLayer || [];
89  function gtag(){dataLayer.push(arguments);}
90  gtag('js', new Date());
91  gtag('config', '
91G-9PPNWY574C
vendor: 4 bytes, line 91
91');
92</script>
92
93    
94	
95	<style>
96		/* SLIDESHOW */
97.home-slide .carousel {
98    border: 7px solid #fff;
99    box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.55);
100    -webkit- box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.55);
101}
102
103/* MAIN BG */
104.homePageBg, .secondaryPageBg {
105background:url('https://media.rainpos.com/5074/content_bg.png') repeat-y center 0px, url('https://media.rainpos.com/11325/black_thread_light_1.png') repeat;
106 background-color:#f5efe1;
107}
108
109/* HEADER CSS */
110.top-social li {
111    color: green !important;
112    background: url('https://media.rainpos.com/4752/dashed_social.png') no-repeat center;
113    border-radius: 50%;
114    background-color: #000;
115    width: 50px;
116    height: 50px;
117    text-align: center;
118    border: 2px solid #000;
119    display: inline-block;
120    line-height: 42px;
121    margin: 5px;
122    -webkit-transition: all .2s ease-in-out;
123    -moz-transition: all .2s ease-in-out;
124    -o-transition: all .2s ease-in-out;
125    transition: all .2s ease-in-out;
126}
127
128.top-social li:hover {
129    background-color: #000;
130    border: 2px solid #000;
131}
132
133.top-social {
134    margin: 0px 0px 10px;
135}
136
137.cart-icon {
138    background: #000;
139    width: 40px;
140    height: 30px;
141    position: relative;
142    display: inline-block;
143    text-align: center;
144    padding-top: 7px;
145    z-index: 0;
146}
147
148.cart-icon:after {
149    content: '';
150    position: absolute;
151    border: 20px solid #000;
152    border-bottom-color: #fff;
153    border-bottom-width: 10px;
154    bottom: -20px;
155    z-index: -1;
156    left: 0px;
157}
158
159
160/* Buttons */
161.btn {
162    padding: 8px 30px !important;
163    border-radius: 0 !important;
164}
165
166.btn-dark {
167    background-color: #E7C9C9;
168    color: #fff !important;
169    border: 1px solid #E7C9C9 !important;
170
171.btn-dark span {
172  color: #ffffff !important;
173}
174
175}
176.btn-dark:hover {
177    background-color: #E7C9C9;
178    color: #fff !important;
179}
180
181.btn-outline {
182    background-color: #E7C9C9;
183    color: #fff !important;
184    border: 1px solid #E7C9C9 !important;
185}
186
187.btn-solid:hover {
188    background-color: #333;
189}
190
191.btn-outline:hover {
192    background-color: #E7C9C9;
193    color: #fff !important;
194}
195
196.btn-light {
197    background-color: #E7C9C9;
198    color: #fff !important;
199    border-color: #E7C9C9;
200}
201
202.btn-light span {
203  color: #ffffff !important;
204}
205
206.btn-light:hover {
207    background-color: #E7C9C9;
208    color: #fff !important;
209}
210
211/* Hero Banner */
212.hero-image {
213    height: 450px;
214    background-position: center;
215    background-repeat: no-repeat;
216    background-size: cover;
217    position: relative;
218}
219.hero-text {
220    text-align: center;
221    position: absolute;
222    transform: translateY(-50%);
223    top: 50%;
224left: 20%;
225    color: #fff;
226    z-index: 1;
227 background: rgba(255, 255, 255, 0.75);
228 padding: 0 30px 15px;
229 }
230}
231.hero-text h1 {
232    font-size: 3rem !important;
233}
234.hero-text p {
235    margin-bottom: 20px;
236    font-size: 16px;
237    font-weight: 300;
238    line-height: 1.4;
239}
240@media (min-width: 768px) {
241    .hero-text p {
242        font-size: 21px;
243    }
244}
245
246/* Widget 6 */
247.widget6 {
248    display: flex;
249    flex-flow: row wrap;
250    justify-content: space-around;
251    margin: 0;
252    list-style: none;
253}
254.widget6 .flex-item {
255    width: 50%;
256    padding: 0 30px;
257    position: relative;
258}
259.widget6 .figcaption {
260    position: relative;
261    margin: 0 auto;
262    max-width: 500px;
263    left: 0;
264    right: 0;
265    top: 50%;
266    transform: translateY(-50%);
267    text-align: center;
268}
269.widget6 .figcaption p {
270    margin-bottom: 30px;
271}
272.widget6 .fig-img {
273    position: relative;
274}
275.widget6 .fig-img:before {
276    position: absolute;
277    background-color: #777;
278    left: -12px;
279    right: 10px;
280    top: -12px;
281    bottom: 10px;
282    content: '';
283    z-index: -1;
284}
285@media (min-width: 992px) {
286    .widget6 .fig-img:before {
287        background-color: transparent;
288    }
289}
290@media (min-width: 1200px) {
291    .widget6 .fig-img:before {
292        background-color: #777;
293    }
294}
295
296.btnNewsletterSignup {
297    background: #E7C9C9;
298    border: 1px solid #E7C9C9;
299    color: #fff;
300}
301
302/* Header */
303.website-header {
304    border-bottom: 1px solid #ddd;
305}
306.website-header,
307.website-header a {
308    color: #000;
309    font-size: 14px;
310    font-weight: 300;
311}
312
313.site-search-container {
314    display: inline;
315    background: #f9f9f9;
316    position: relative;
317    padding: 7px 10px;
318    margin-right: 15px;
319}
320#search_keyword {
321    border: none;
322    border-radius: 0;
323    margin-right: 15px;
324    width: 100%;
325    background: transparent;
326    max-width: 200px;
327}
328#search_keyword:focus {
329    border: none;
330    outline: none;
331}
332.site-search-container button {
333    background-color: transparent;
334    border: none;
335    padding: 0;
336    position: absolute;
337    right: 15px;
338    top: 50%;
339    transform: translateY(-50%);
340}
341.site-search-container button:focus {
342    outline: none;
343}
344
345/* Set padding and general rules for primary nav layout */
346
347#navbar-collapse-1 > ul > li {
348  margin-left: 8px;
349  min-width: 22px;
350  z-index: 10;
351}
352
353/* Set padding and general rules for primary nav layout */
354#navbar-collapse-1 > ul > li {
355  margin-left: 8px;
356  min-width: 22px;
357  z-index: 10;
358}
359
360/*Set Primary Nav Box Colors By Manually Counting*/
361/* Blue */
362#navbar-collapse-1 > ul > li:nth-child(1),#navbar-collapse-1 > ul > li:nth-child(7) {
363    background-color: #65A39B;
364}
365/* Purple */
366#navbar-collapse-1 > ul > li:nth-child(2), #navbar-collapse-1 > ul > li:nth-child(8) {
367    background-color: #ACB4CF;
368}
369/* Pink */
370#navbar-collapse-1 > ul > li:nth-child(3), #navbar-collapse-1 > ul > li:nth-child(9) {
371    background-color: #202437;
372}
373/* Green */
374#navbar-collapse-1 > ul > li:nth-child(4), #navbar-collapse-1 > ul > li:nth-child(10) {
375    background-color: #D8BC66;
376}
377/* Orange */
378#navbar-collapse-1 > ul > li:nth-child(5) {
379    background-color: #E7C9C9;
380}
381/* Red */
382#navbar-collapse-1 > ul > li:nth-child(6) {
383    background-color: #AA9B67;
384}
385
386/*Make sure dropdowns inherit the color of their primary nav element*/
387#navbar-collapse-1 > ul > li.dropdown > ul, #navbar-collapse-1 > ul > li.dropdown > ul > li, #navbar-collapse-1 > ul > li.dropdown > ul > li > a {
388    background-color: inherit !important;
389    Z-index: 10;
390}
391
392/*Set color of dropdown hovers by manually counting*/
393/* Blue */
394#navbar-collapse-1 > ul > li.dropdown:nth-child(1) > ul > li > a:hover {
395  background-color: #b3dfce !important;
396}
397/*Purple*/
398#navbar-collapse-1 > ul > li.dropdown:nth-child(2) > ul > li > a:hover {
399  background-color: #ACB4CF !important;
400}
401/* Pink */
402#navbar-collapse-1 > ul > li.dropdown:nth-child(3) > ul > li > a:hover {
403  background-color: #202437 !important;
404}
405/* Green */
406#navbar-collapse-1 > ul > li.dropdown:nth-child(4) > ul > li > a:hover {
407  background-color: #D8BC66 !important;
408}
409/* Orange */
410#navbar-collapse-1 > ul > li.dropdown:nth-child(5) > ul > li > a:hover {
411  background-color: #E7C9C9 !important;
412}
413/* Red */
414#navbar-collapse-1 > ul > li.dropdown:nth-child(6) > ul > li > a:hover {
415  background-color: #fad571 !important;
416}
417
418/*Remove margin for desktop dropdowns so they align witht he left edge of parent*/
419@media (min-width: 768px) {
420  .menubg ul.dropdown-menu {
421  margin-left: 0px !important;
422}
423}
424
425.fa-map-marker:before {
426    content: "\f041" !important;
427}
428
429.hoverFix:hover {
430color: 875da1;
431}
432
433/* MEDIA QUERIES */
434@media (min-width: 768px) {
435
436    /* Nav */
437    nav#mainNav {
438        width: 100%;
439    }
440    .menubg .navbar-nav {
441        flex-flow: wrap;
442        justify-content: space-around;
443        margin: 0;
444        list-style: none;
445        display: flex;
446        width: 100%;
447        padding: 0;
448        text-align: center;
449        white-space: nowrap;
450    }
451}
452
453/*
454 *  Featured Categories
455 *  Style 5
456 */
457.featuredCategoryContainer {
458  border: none !important;
459  border-radius: 0 !important;
460  background: transparent !important;
461}
462.featuredCategoryTitle {
463  background: transparent !important;
464  font-size: 1.25rem;
465  font-weight: 500;
466  text-align: right !important;
467  position: absolute;
468  color: #fff;
469  bottom: 35%;
470  width: 100%;
471  z-index: 3;
472}
473.featuredCategoryContainer:hover {
474  transform: none !important;
475}
476.featuredCategoryContainer:hover img {
477  transform: none !important;
478}
479div.featuredCategoryContainer:hover .featuredCategoryTitle {
480  background-color: transparent !important;
481  color: #fff !important;
482}
483.featuredCategoryImgContainer > img {
484  object-fit: cover;
485  width: 100% !important;
486}
487.featuredCategoryImgContainer {
488  margin: 0 !important;
489}
490
491.featuredCategoryImgContainer {
492  background: #000;
493}
494.featuredCategoryImgContainer > img {
495  position: absolute;
496  top: 0;
497  bottom: 0;
498  left: 0;
499  right: 0;
500  margin: auto;
501  width: 100%;
502  min-height: 100%;
503  transform: scale(1.25) !important;
504}
505.featuredCategoryContainer:before {
506  position: absolute;
507  content: "";
508  background-image: linear-gradient(170deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
509  left: 0;
510  top: 0;
511  bottom: 0;
512  right: 0;
513  margin: 0px 0px;
514  z-index: 1;
515}
516.featuredCategoryTitle:before {
517  position: absolute;
518  content: "Shop";
519  top: -20px;
520  font-size: 0.9rem;
521  z-index: 4;
522}
523.featuredCategoryTitle:after {
524  position: absolute;
525  content: "View Products";
526  top: 65px;
527  font-size: 0.9rem;
528  background-color: #fff;
529  border: 1px solid transparent;
530  color: #000;
531  padding: 10px 20px;
532  z-index: 2;
533}
534.featuredCategoryImgContainer > img,
535.featuredCategoryTitle:after {
536  transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
537}
538.featuredCategoryImgContainer > img {
539  transition-duration: 800ms;
540}
541.featuredCategoryContainer:hover .featuredCategoryTitle:after {
542  background-color: transparent;
543  color: #fff;
544  border-color: #fff;
545}
546.featuredCategoryContainer:hover .featuredCategoryImgContainer > img {
547  transform: scale(1);
548}
549/* Change the words below from 'right' to 'left' to align it on different sides */
550.featuredCategoryTitle {
551  right: 16px;
552  text-align: right !important;
553}
554.featuredCategoryTitle:before,
555.featuredCategoryTitle:after {
556  right: 16px;
557}
558
559/* SLIDESHOW */
560.home-slide .carousel {
561    border: 7px solid #fff;
562    box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.55);
563    -webkit- box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.55);
564}
565
566 .dividerStyle8 {
567 background: url(https://media.rainpos.com/7026/paper_copy_8.png) repeat-x center top, url(https://media.rainpos.com/7026/paper_copy_8_copy.png) repeat-x center bottom;
568 background-color: #fbf9f4;
569max-width:1210px;
570margin:0 auto;
571 }
572
573 .headerLayout1 ul.socialStyle2 li {
574 padding-right: 2px;
575 padding-left: 2px;
576 }
577
578 .headerLayout1  .socialStyle2 li a {
579 background: #f7f7f7;
580 display: block;
581 padding: 6px;
582 color: #000 !important;
583 text-transform: capitalize;
584 transition: .4s ease all;
585 }
586
587 .headerLayout1  .socialStyle2 li a:hover {
588 background: #666;
589 }
590
591 .headerLayout1  .socialStyle2.spaceFix li a > span {
592 margin-left: 4px;
593 }
594
595 .footerLayout10 h5 {
596 font-size: 20px !important;
597 border-bottom: 1px dotted #ddd;
598 padding-bottom: 15px;
599 }
600
601 .footerLayout10 ul li {
602 margin-bottom: 0 !important; 
603 }
604
605 .footerLayout10  ul.socialStyle2 li {
606 padding-right: 2px;
607 padding-left: 2px;
608 }
609
610 .footerLayout10 .socialStyle2 li a {
611 border: 1px dashed #c8c8c8;
612 display: block;
613 padding: 4px 2px;
614 color: #c8c8c8 !important;
615 text-transform: capitalize;
616 transition: .4s ease all;
617 }
618
619 .footerLayout10  .socialStyle2 li a:hover {
620 background: #666;
621 }
622
623 .footerLayout10 .socialStyle2.spaceFix li a > span {
624 margin-left: 4px;
625 }
626
627.menubg > .container > nav#mainNav > .container-fluid > .collapse.navbar-collapse > ul.nav.navbar-nav > li.dropdown:hover {
628z-index: 100;
629}
630		
631	</style>
632	
632<script attr="nomove" type="text/javascript">
633        var themeClass = "theme-default";
634var knobby = {"bin_location":false,"bulk":true,"module_canonical":true,"customer_notes":false,"dumbbell_labels":true,"email_customization":true,"layaway":true,"newsletter_archive":true,"polls":true,"product_download":true,"product_form":true,"product_kit":true,"product_offline_reserve":true,"product_serialized":true,"allow_subscriptions_settings":true,"product_suggested":true,"product_transfer":true,"product_wait_list":true,"product_yards":true,"quotes":true,"repairs":true,"rto_school_info":false,"services":true,"so":true,"packages":true,"till_quick_pick":false,"taxjar":false,"shopify":false,"web_checkout":true,"website_file_upload":true,"website_forms":true,"website_customer_directory":true,"website_store_locator":true,"scuba_store":false,"module_website":true,"module_email":true,"module_products":true,"module_classes":true,"module_packages":true,"module_class_packages":false,"module_enhancedCategoryPage":true,"module_pos":true,"module_spreadsheetUpload":true,"module_wholesaleLogin":true,"module_designWall":true,"module_facebookFeatures":true,"module_gallery":true,"module_allcosts":false,"module_rental":false,"module_txtMsg":true,"module_rto":false,"module_inventory_turn":false,"module_reverb":false,"module_social":true,"module_mobile":false,"module_vantiv":false,"module_marketing":true,"module_marketingReviews":true,"module_bin_location":false,"module_ssi":false,"module_use_ssi_sandbox":false,"module_backorders":false,"module_gst":false,"module_online_canada_tax":false,"module_order_location":false,"module_locally":false,"module_loans":false,"module_catalog_options":true,"module_check_duplicate_sn_store":false,"module_subscriptions":false,"module_layaway_reserve_logic":false,"module_purchase_contracts":false,"module_comment_sold":true,"module_customer_po_pos":false,"module_search_through_packrat":true,"module_participate_in_stashify":false,"module_customer_packrat_sync":false,"module_wholesale_shipping":false,"module_sellbrite":false,"module_calendarAdmin":false,"module_stashify_reporting":false,"module_support_tax_inclusive_pricing":false,"module_rto_overdue_statements_bulk_edit":false,"module_test_tu_on_prod":false,"module_trial_purchases":false,"module_rto_required_fields_simplified_customer_modal":false,"module_crmGroupsFlag":false,"module_avalara_tax_sandbox_mode":false,"module_add_other_payment_method":false,"module_online_account_management_enhancements":true,"on_all_stores_online_account_management_enhancements":true,"module_paypal_sandbox_mode":false,"module_great_plains_exports":false,"module_till_require_pin":false,"module_view_waive_rto_late_fee":false,"module_facebook_catalog_feed":false,"module_letter_management":false,"module_bye_pendo":false,"module_show_desc_for_till_line_item":false,"module_ebay_integration_flag":false,"module_ebay_sandbox":false,"module_invalid_cart_code":false,"module_shipping_carrier":false,"module_reconciliation":false,"module_weight_cost":false,"module_break_up_ccf_upload":false,"module_autopayment_rto_eod":false,"module_freeze_rto_tax":false,"module_ebay_sandbox_mock":false,"module_facebook_social_posts":false,"module_facebook_shop_integration":false,"module_honor_purchase_of_free_products_setting":false,"module_emails_v2_using_partials":false,"module_rental_inventory_from_products":false,"module_advanced_customer_search":false,"module_return_line_item_edit_icon":false,"module_reverb_orders_sync":false,"module_taxjar":false,"module_taxjar_sandbox":false,"module_recognize_rental_revenue":false,"module_rto_settings_fees":false,"module_finish_out_discount_on_po_ro":false,"module_show_customer_group_and_custom_id_in_till":false,"module_navbar_v2":true,"on_all_stores_navbar_v2":true,"module_pointy_slack_logging":false,"module_pointy_staging":false,"module_reconciliation_memory_size_exhausted":false,"module_printouts_min_height":false,"module_sell_free_online_order":true,"on_all_stores_sell_free_online_order":true,"module_trade_in_tax_calculating":false,"module_temp_till_address":false,"module_changing_price_in_consignment_contract":false,"module_rto_payments_show_to_left_eod":true,"on_all_stores_rto_payments_show_to_left_eod":true,"module_logging_incorrect_styled_product":false,"module_pslr_weighted_cost":false,"module_tax_profiles":false,"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
634ix":false,"module_make_request_review_checkbox_on_by_default":false,"module_user-guiding":false,"module_big_company":false,"module_big_slack_logging":false,"module_nmi_emv_payments":false,"module_stone_management":false,"module_bulk_rental_billing_functions_on_rto_list":true,"module_dumbbell_1up_fix":false,"module_gift_registry_till_block":false,"module_change_barcode_type":false,"module_jewel_product_type":false,"module_appraisals_main_flag":false,"module_fix_empty_till_sales_tax_report_grouping":false,"module_spreadsheet_uploads_cant_allow_for_duplicate_sku":false,"module_omnichannel_integration":false,"module_display_single_line_item_for_identical_serialized_items_on_RO":false,"module_dont_show_completed_ro_when_ready_to_receive_filter_is_selected":false,"module_qbo_sandbox_mode":false,"module_fake_test_flag":false,"module_fake_test_flag_v2":true,"module_fix_serial_numbers_displayed_on_special_order_ticket_in_ro":false,"module_colorado_retail_delivery_fee":false,"module_remove_coupon_from_cart_if_deleted_and_throw_error":true,"on_all_stores_remove_coupon_from_cart_if_deleted_and_throw_error":true,"module_zpl_debug":false,"module_care_plans":false,"module_flag_backorders_for_rain_payments":false,"module_customer_po_adjust_wo_logic":false,"module_jm_slack_logging":false,"module_jm_sandbox":false,"module_product_page_redesign":false,"module_respect_serialized_condition_for_website_enhanced_view":false,"module_flag_craftalytics_export_item_weight":false,"module_jm_insurance":false,"module_remove_lane_info_from_non_worldpay":false,"module_flag_add_categories_automatically_in_product_upload":true,"on_all_stores_flag_add_categories_automatically_in_product_upload":true,"module_disable_db_log_usage":true,"on_all_stores_disable_db_log_usage":true,"module_flag_migration_upload_score_card":false,"module_refactor_online_rto_price_code":false,"module_fix_custom_field_date_validator":true,"on_all_stores_fix_custom_field_date_validator":true,"module_fix_merge_serial_numbers":false,"module_rto_order_line_details":false,"module_allow_fallback_to_wp_tokens":false,"module_flag_migrate_invoice_customer_by_external_id":true,"on_all_stores_flag_migrate_invoice_customer_by_external_id":true,"module_fix_items_quantity_for_so":false,"module_flag_test_subscription_email_store_logo":false,"module_fix_product_info_modal":false,"module_stripe_accounts_per_location":false,"module_vendor_integration_sandbox":false,"module_flag_google_analytics_v4":false,"module_mapping_clientbook_associates":true,"on_all_stores_mapping_clientbook_associates":true,"module_rental_auto_reminder_on":false,"module_fix_order_note_for_sub_and_rental_payments":true,"on_all_stores_fix_order_note_for_sub_and_rental_payments":true,"module_adyen_accounts_per_location":false,"module_assemble_disassemble":false,"module_system_callout_for_reports":false,"module_lock_transaction_save":true,"on_all_stores_lock_transaction_save":true,"module_custom_labels_templates_in_print_modal":true,"module_open_ai_long_description":true,"on_all_stores_open_ai_long_description":true,"module_po_export_fix_comma":false,"module_fix_signup_disappear_after_customer_added_register":false,"module_avalara_tax_code_issue":false,"module_inventory_history_fix_other_event_when_sn_removed":true,"on_all_stores_inventory_history_fix_other_event_when_sn_removed":true,"module_item_filters_dollar_off_coupons":false,"module_flag_set_date_received_from_new_product_upload":true,"on_all_stores_flag_set_date_received_from_new_product_upload":true,"module_prevent_close_on_print":false,"module_rto_autopay_improvements_issue_indicator":false,"module_handle_serialized_line_item_upload_migrated_option_id":true,"on_all_stores_handle_serialized_line_item_upload_migrated_option_id":true,"module_stripe_send_level_3_data":true,"on_all_stores_stripe_send_level_3_data":true,"module_fix_previous_payments_for_multiple_contracts":true,"on_all_stores_fix_previous_payments_for_multiple_contracts":true,"module_locations_in_scheduled_sale":false,"module_fix_send_to_list_validation_schedule_email":false,"module_toggle_product_page_version":true,"on_all_stores_toggle_product_page_version":true,"module_allow_super_admin_download_ext_customer_id":true,"on_all_stores_allow_super_admin_download_ext_customer_id":true,"module_smaller_pslr_status_updates":true,"on_all_stores_smaller_pslr_status_updates":true,"module_add_customer_id_type_transaction_upload":true,"on_all_stores_add_customer_id_type_transaction_upload":true,"module_send_mix_panel_event_on_zipcode_change_web_checkout":false,"module_locally_push2cart_integration":false,"module_beta_features_feedback":true,"on_all_stores_beta_features_feedback":true,"module_quick_assemble":false,"module_verify_payment_id":true,"on_all_stores_verify_payment_id":true,"module_layaway_migration":false,"module_send_mixpanel_event_on_mms_customer_disconnect":false,"module_improved_waitlist":true,"on_all_stores_improved_waitlist":true,"module_use_amex_pricing":true,"on_all_stores_use_amex_pricing":true,"module_additional_settings_custom_tenders":true,"on_all_stores_additional_settings_custom_tenders":true,"module_nps_page_v2":true,"on_all_stores_nps_page_v2":true,"module_set_store_id_for_transaction_if_has_value":false,"module_deprecate_on_account":true,"on_all_stores_deprecate_on_account":true,"module_restricted_login":false,"module_eod_summary_v2":true,"on_all_stores_eod_summary_v2":true,"module_enhanced_interrogation_techniques":false,"module_work_orders_current_store_location_id":true,"on_all_stores_work_orders_current_store_location_id":true,"module_prevent_utf8_in_header_columns":true,"on_all_stores_prevent_utf8_in_header_columns":true,"module_gia_sandbox":false,"module_edit_appraisals":true,"on_all_stores_edit_appraisals":true,"module_fix_edit_appraisal_template":true,"on_all_stores_fix_edit_appraisal_template":true,"module_slack_notification_when_store_connects_clientbook":true,"on_all_stores_slack_notification_when_store_connects_clientbook":true,"module_fix_image_upload_invalid_extension":false,"module_show_warning_if_no_price_for_new_consignment_items":false,"module_fix_sorting_by_technician_in_wo":true,"on_all_stores_fix_sorting_by_technician_in_wo":true,"module_fix_deleting_main_image_from_all_products":true,"on_all_stores_fix_deleting_main_image_from_all_products":true,"module_respect_classes_setting_in_all_places":true,"on_all_stores_respect_classes_setting_in_all_places":true,"module_markup_pricing_flag":true,"on_all_stores_markup_pricing_flag":true,"module_image_inventory_velocity_report":true,"on_all_stores_image_inventory_velocity_report":true,"module_gia_slack_logging":false,"module_category_issue_new_pp":true,"on_all_stores_category_issue_new_pp":true,"module_fix_wo_tags":true,"on_all_stores_fix_wo_tags":true,"module_beta_product_feedback_report":true,"on_all_stores_beta_product_feedback_report":true,"module_check_duplication_upc_mfr_id":true,"on_all_stores_check_duplication_upc_mfr_id":true,"module_product_page_fix_tax_clearing":true,"on_all_stores_product_page_fix_tax_clearing":true,"module_nps_report_list_update":true,"on_all_stores_nps_report_list_update":true,"module_custom_zpl_tools":false,"module_print_note_wo_items":true,"on_all_stores_print_note_wo_items":true,"module_facet_fields_order_web_fix":true,"on_all_stores_facet_fields_order_web_fix":true,"module_po_clear_date_issue":true,"on_all_stores_po_clear_date_issue":true,"module_email_cleanup_script_banner":false,"module_unsaved_inventory_warnings":true,"on_all_stores_unsaved_inventory_warnings":true,"module_fix_appraisal_item_on_close"
634: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
634o_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
634or":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_comparison_report":true,"on_all_stores_comparison_report":true,"module_allow_users_to_edit_product_in_till":false,"module_inventory_report_refactoring":false,"module_fix_utf_response_issue":false,"module_product_metal_info":false,"module_social_media_manager":false,"module_job_condition_field_for_work_order":false,"module_in_classes_not_able_to_add_required_material":false,"module_new_pii_for_kit_assembly":true,"on_all_stores_new_pii_for_kit_assembly":true,"module_display_sn_for_trade_in":false,"module_fix_locally_payment_nonce_reset":false,"module_fix_sold_column_in_product_inventory_page":true,"on_all_stores_fix_sold_column_in_product_inventory_page":true,"module_disable_vue_parsing_for_description":false,"module_so_print_ticket_receipt":true,"on_all_stores_so_print_ticket_receipt":true,"module_mixpanel_active_no_demo_store":false,"module_rental_enable_auto_pay_on_card":true,"on_all_stores_rental_enable_auto_pay_on_card":true,"module_merge_product_information_with_discount_to_pop_up":false,"module_marketing_email_not_sending_to_all_recipients":false,"module_allow_batch_actions_for_line_discounts":true,"on_all_stores_allow_batch_actions_for_line_discounts":true,"module_rental_double_charge_log":false,"module_fix_incorrect_next_payment_amount_for_rental":true,"on_all_stores_fix_incorrect_next_payment_amount_for_rental":true,"module_add_local_delivery_tab":false,"module_fix_ipad_print_second_page":true,"on_all_stores_fix_ipad_print_second_page":true,"module_fix_modules_duplication":false,"module_domain_management_tool":false,"module_rto_custom_views_button":true,"on_all_stores_rto_custom_views_button":true,"module_fix_remaining_balances_incorrect_total":false,"module_custom_printer_margins":false,"module_bug_classes_cant_check_out_ecommerce":true,"on_all_stores_bug_classes_cant_check_out_ecommerce":true,"module_duplicate_rental_product":true,"on_all_stores_duplicate_rental_product":true,"module_new_kb_site_flag":true,"on_all_stores_new_kb_site_flag":true,"module_notes_template_option":true,"on_all_stores_notes_template_option":true,"module_add_tracking_number_to_purchase_order":true,"on_all_stores_add_tracking_number_to_purchase_order":true,"module_customer_wo_tab":true,"on_all_stores_customer_wo_tab":true,"module_osr_product_description_editor":true,"on_all_stores_osr_product_description_editor":true,"module_submit_special_order_from_wo_modal":false,"module_so_negative_deposits_till_fix":true,"on_all_stores_s
634o_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":false,"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":true,"on_all_stores_customer_specific_payment_not_removing_from_register":true,"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
634al_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":true,"on_all_stores_fix_the_inventory_history_event_to_show_the_correct_area_and_event":true,"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
634d_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_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_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_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_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_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_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
634y_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_
634number_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
634ort_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_
634split_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,"on_all_stores_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_
634suggested_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":false,"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,"on_all_stores_inventory_facade_serialized_update":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_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_fix_duplicate_invoice_payments":true,"on_all_stores_fix_duplicate_invoice_payments":true,"module_stripe_to_quilt_payfac":true,"on_all_stores_stripe_to_quilt_payfac":true,"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_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
634alized_inventory":true,"on_all_stores_vue3_coexistence_serialized_inventory":true,"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_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_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_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":true,"on_all_stores_fix_rto_return_after_complete":true,"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":true,"on_all_stores_bug_manually_setting_wo_status_completed":true,"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":true,"on_all_stores_metal_buy_void_transaction":true,"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":true,"on_all_stores_ai_sales_assistant":true,"module_vue3_coexistence_rto_commissions":true,"on_all_stores_vue3_coexistence_rto_commissions":true,"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":true,"on_all_stores_vue3_coexistence_gc_outstanding":true,"module_marketing_email_recency_filter":false,"module_wo_deposit_default_remaining_balance":true,"on_all_stores_wo_deposit_default_remaining_balance":true,"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":true,"on_all_stores_website_sales_set_to_authorization_capturing_anyway":true,"module_allow_rto_import_interval_price_not_less_than_financed":true,"on_all_stores_allow_rto_import_interval_price_not_less_than_financed":true,"module_vue3_coexistence_transactions_needing_payment":true,"on_all_stores_vue3_coexistence_transactions_needing_payment":true,"module_product_image_content_type_fix":true,"on_all_stores_product_image_content_type_fix":true,"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":true,"on_all_stores_vue3_coexistence_wishlist_list":true,"module_admin_tools_create_store_rework":true,"on_all_stores_admin_tools_create_store_rework":true,"module_department_custom_ordering":true,"on_all_stores_department_custom_ordering":true,"module_void_surcharge_auth_on_price_change":true,"on_all_stores_void_surcharge_auth_on_price_change":true,"module_fix_osr_rtr_zero_financed_checkout":false,"module_apply_template_global_holder_page":true,"on_all_stores_apply_template_global_holder_page":true,"module_vue3_coexistence_bestsellers":true,"on_all_stores_vue3_coexistence_bestsellers":true,"module_fix_rto_purchase_security_deposit":true,"on_all_stores_fix_rto_purchase_security_deposit":true,"module_bug_product_not_appearing_on_website":false,"module_aim_cards_on_file":false,"module_fix_aikido_story_524592":true,"on_all_stores_fix_aikido_story_524592":true,"module_qbo_prepaid_zero_sales_receipt":true,"on_all_stores_qbo_prepaid_zero_sales_receipt":true,"module_vue3_coexistence_customer_balances":false,"module_till_accept_capture_requested":false,"module_vue3_coexistence_sales_by_state":true,"on_all_stores_vue3_coexistence_sales_by_state":true,"module_fix_po_retail_price_condition_pricing":false,"module_fix_special_order_pickup_on_pause":false,"module_fix_shopify_product_set_files":true,"on_all_stores_fix_shopify_product_set_files":true,"module_vue3_coexistence_packages_admin":true,"on_all_stores_vue3_coexistence_packages_admin":true,"module_customers_list_column_widths":true,"on_all_stores_customers_list_column_widths":true,"module_top_customers_column_widths":true,"on_all_stores_top_customers_column_widths":true,"module_wo_return_to_work_order_after_transaction":true,"on_all_stores_wo_return_to_work_order_after_transaction":true,"module_block_web_location_tills":false,"module_vue3_coexistence_backorder_report":false,"module_fix_velocity_report_days_in_stock_sold_out":true,"on_all_stores_fix_velocity_report_days_in_stock_sold_out":true,"module_bug_eod_transaction_view_incorrect_qty_wo_materials":true,"on_all_stores_bug_eod_transaction_view_incorrect_qty_wo_materials":true,"module_fix_loose_stone_consume_serialized_pii":true,"on_all_stores_fix_loose_stone_consume_serialized_pii":true,"module_fix_till_edit_tax_profile_fallback":true,"on_all_stores_fix_till_edit_tax_profile_fallback":true,"module_vue3_migrated_pages_improvements":true,"on_all_stores_vue3_migrated_pages_improvements":true,"module_bug_reverb_new_product_view_wrong_pslr":false,"module_email_marketing_and_communications_fix":true,"on_all_stores_email_marketing_and_communications_fix":true,"module_debit_auto_capture_handling":false,"module_till_autocomplete_default_on":false,"module_fix_till_restored_card_payment_amount":false,"module_subscribe_duplicate_marketing_defaults_fix":false,"module_fix_aikido_story_523476":false,"module_weighted_cost_with_minimum_price":false,"module_use_stripe_autopay_tokens_after_processor_switch":false,"module_retries_exceeded_on_email_retry_attempts":false,"module_website_cart_widget_hide_when_empty":false,"module_fix_aikido_story_526616":false,"module_fix_till_restored_interac_payment":false,"module_invoice":true,"module_completed_status_for_orders":true,"module_shopify":false,"module_mms":false,"module_ebay":false,"use_receptive":true,"locally":false,"website_customer_login":false,"captcha_at_checkout":false,"web_allow_discount_stacking":true,"website_pricing":false,"module_out_of_stock_product_card":true,"three_decimal_pricing":false,"displayReportsImagesByDefault":false,"pos_customer_rewards":false,"pos_shift_management":true,"pos_enable_tax_inclusive_pricing":false,"pos_show_tax_breakdown_on_receipt":false,"product_module_item_conditions":false,"product_module_dont_use_item_conditions_online":false,"pos_allow_discount_stacking":true,"printDescriptionOnReceipt":false,"WishlistEnabled":false,"is_responsive":true,"module_show_sku_till_product_search":true,"module_docraptor_test_mode":false,"module_rental_location_tax_integration":false,"admin_domain":false,"checkout_enabled":true};
635var COLORADO_RETAIL_DELIVERY_FEE = 0.31;
636    </script>
636
637</head>
638<body class="secondaryPageBg">
639<!-- 43-module.tpl -->
640
641<script type="text/javascript" src="/js/libs/vue/2.6.12.vue.min.js" attr="nomove"></script>
vendor: 1 bytes, line 641
641
642<script type="text/javascript" src="/js/libs/axios/0.31.1.axios.min.js" attr="nomove"></script>
642
643
644
645
646<div id="main-website-content" class="secondaryPageDiv">
647	<!-- Accessibility stuff -->
648	<a href="#skip-navigation" class="sr-only visible-focused">Skip Navigation</a>
649	<a href="/website-accessibility.htm" class="sr-only visible-focused">Website Accessibility</a>
650
651    <!-- column0_components -->
652	<div  style="" class="">
653	<div class="container ">
654		<div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 10px; padding-bottom: 20px; ">
655			
656			
657			<div class="headerLayout1">
658<div class="col-sm-5"><a href="/"><img class="img-responsive" src="https://media.rainpos.com/13137/6867f0_af0828f264f241868459576cf6cabd37_mv2.png" alt="" width="600" style="display: block; margin-left: auto; margin-right: auto;" /></a></div>
659<div class="col-sm-4 text-center"><span><strong>&nbsp;<br /></strong></span>
660<div><form  action="/module/search_content.htm" method="get" name="frmSearch"><input type="hidden" name="form_version" value="2"><input name="showSearchResults" type="hidden" value="1" />Let's Create Together!
661<table style="width: 100%; border: 1px solid #ddd; background: #fff;" border="0" cellspacing="0" cellpadding="0">
662<tbody>
663<tr>
664<td width="100%"><input id="search_keyword" style="width: 100%; background-color: transparent; border: none; padding-left: 10px;" name="search_keyword" size="12px" type="text" value="" placeholder="Search For |" /></td>
665<td style="padding: 7px;" align="right"><button class="glyphicon glyphicon-search" style="background: none; border: none; color: #e7c9c9; font-size: 18px;" name="image" type="image" value="Search"></button></td>
666</tr>
667</tbody>
668</table>
669</form></div>
670</div>
671<div class="col-sm-3">
672<div class="text-center"><span>&nbsp;<br />[email protected]</span><hr />
673<ul class="list-inline text-center list-unstyled socialStyle2 spaceFix">
674<li><a href="https://www.facebook.com/littlegoldenfox" target="blank"><span class="fa fa-fw fa-facebook"></span>&nbsp;</a></li>
675<li><a href="https://www.instagram.com/littlegoldenfox/" target="blank"><span class="fa fa-fw fa-instagram"></span>&nbsp;</a></li>
676<li><a href="#" target="blank"><span class="fa fa-fw fa-shopping-cart"></span>&nbsp;View Cart</a></li>
677</ul>
678</div>
679</div>
680</div>
681
682		</div>
683	</div>
684</div>
685
686    <!-- navigation -->
687	
688<div class="menubg">
689	<div class="container">
690
691		<nav id="mainNav" class="navbar navbar-default">
692			<div class="container-fluid">
693
694				<!-- Brand and toggle get grouped for better mobile display -->
695				<div class="navbar-header" style="padding-left:15px; padding-right:15px;">
696					<button type="button" class="navbar-toggle collapsed" style="width: 100%; float: left;" data-toggle="collapse" data-target="#navbar-collapse-1">
697						<span class="sr-only">Toggle navigation</span>
698						&#9776; Menu
699					</button>
700					<!--span class="navbar-brand visible-xs-block" data-toggle="collapse" href="#">Menu</span-->
701				</div>
702
703				<!-- Collect the nav links, forms, and other content for toggling -->
704				<div class="collapse navbar-collapse" id="navbar-collapse-1">
705					<ul class="nav navbar-nav">
706						<li><a href="https://www.thelittlegoldenfox.com/" class="mainMenuItem">Home</a></li><li><a href="https://www.thelittlegoldenfox.com/shop/Fabric.htm" class="mainMenuItem">Fabric</a></li><li><a href="https://www.thelittlegoldenfox.com/shop/Pottery.htm" class="mainMenuItem">Pottery</a></li><li><a href="https://www.thelittlegoldenfox.com/classes.htm" class="mainMenuItem">Workshops</a></li><li><a href="https://www.thelittlegoldenfox.com/retreats.htm" class="mainMenuItem">Retreats</a></li><li><a href="https://www.thelittlegoldenfox.com/airbnb.htm" class="mainMenuItem">The Crafty Fox Den</a></li><li><a href="https://www.thelittlegoldenfox.com/about-us.htm" class="mainMenuItem">About Us</a></li>
707					</ul>
708				</div>
709
710			</div>
711		</nav>
712	</div>
713</div>
714
715
716	<!-- Accessibility stuff -->
717	<span id="skip-navigation"></span>
718
719    <!-- column2_components -->
720	<div  style="" class="">
721	<div class="container ">
722		<div class="row paddingXLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; ">
723			
724			
725					<div align=center style="text-align:center;">
726						
727					</div>
728				
729			
730<link href="/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type='text/css'>
731
732
733<style>
734    .cart-base {
735        color: #333 !important;
736    }
737
738    .text-danger, .has-error {
739        border-color: #a94442;
740    }
741
742    .error-label {
743        color: #a94442;
744    }
745    .text-hover-red:hover {
746        color: red !important;
747    }
748
749    .text-muted {
750        color: #bbb !important;
751    }
752
753    .display-block {
754        display: block;
755    }
756
757    .cartContainer {
758        background: #FFF;
759    }
760
761    .cartTable {
762        width:100%;
763        display: table;
764    }
765
766    .cartRow {
767        display: table-row;
768    }
769
770    .cartCell {
771        display: table-cell;
772        padding-left: 0;
773        padding-right: 10px;
774        vertical-align: middle;
775        border-top: 1px solid #eee;
776        padding-top: 5px;
777        padding-bottom: 5px;
778    }
779
780    .cp-title {
781        height: 30px;
782        font-weight: 600;
783        font-size: 14px;
784        line-height: 14px
785    }
786
787    .cp-title, .cp-footer {
788        border-top: 0 !important;
789    }
790
791    .cp-footer {
792        padding-top: 0;
793        height: 20px;
794        padding-bottom: 16px;
795    }
796
797    .border-top-white  {
798        border-top: 1px solid white !important;
799    }
800
801    .cp-row {
802        height: 50px;
803    }
804
805    .selling-points-group {
806        box-sizing: content-box;
807        border: 1px solid #ddd;
808        border-radius: 5px;
809        padding: 16px;
810        width: 65%;
811        font-size: 12px;
812        line-height: 14px;
813        margin-top: 8px;
814    }
815    .cartTableHeader {
816        border-top: 2px solid #ddd;
817        border-bottom: 1px solid #ddd;
818        font-weight: bold;
819        font-size: larger;
820        padding-top: 5px;
821        padding-bottom: 5px;
822        background: #eee;
823        padding-right: 10px;
824    }
825
826    .cartTableHeader .cartTableSubHeader {
827        font-weight: normal;
828        font-size: small;
829    }
830
831    .cartImage, .cartDelete {
832            text-align: center;
833    }
834
835    .cartItems {
836            text-align: left;
837    }
838
839    .cartPrice, .cartQuantity, .cartAmount {
840            text-align: right;
841    }
842
843    .qtySelectCell {
844        width: 100px;
845        height: 24px;
846        padding: 0;
847    }
848
849    .cp-info-group {
850        margin: 0;
851    }
852
853    .cp-info-item {
854        border: none;
855        padding: 0;
856        height: 14px;
857    }
858
859    .cp-info-item:last-child {
860        margin-bottom: 0 !important;
861    }
862
863    .cp-info-btn {
864        cursor:pointer;
865    }
866
867    .cp-terms-conditions {
868        list-style-type: none;
869    }
870
871    .mobileDivider {
872        display: none;
873    }
874
875    .contactInfo > tbody > tr > td {
876        padding: 5px;
877    }
878
879    .leftAlignDark {
880        background: #f6f6f6;
881        padding: 20px 10px 5px 20px;
882        text-align: left;
883    }
884
885    .leftAlignLight {
886        padding: 20px 10px 5px 20px;
887        text-align: left;
888    }
889
890    .infoHeader {
891        padding: 20px 10px 5px 0 !important;
892    }
893
894
895    #gift-cards-coupons .row-divider {
896        margin-top: 10px;
897        margin-bottom: 10px;
898    }
899    #gift-cards-coupons #gift-card-coupon-label-cell {
900        padding: 10px 8px 4px 8px;
901    }
902    #gift-cards-coupons #gift-card-coupon-label {
903        /*padding: 10px;*/
904        font-size: 13px;
905        color: #7f7f7f;
906    }
907    #gift-cards-coupons #gift-card-coupon-msgs {
908        text-align: right;
909    }
910    #gift-cards-coupons #gift-card-applied-msg {
911        font-size: 12px;
912        vertical-align: middle;
913        color: #64b92a;
914    }
915    #gift-card-coupon-error-msg, #coupon-applied-msg {
916        padding-left: 5px;
917    }
918    #gift-cards-coupons #coupon-applied-msg {
919        font-size: 12px;
920        vertical-align: middle;
921        color: #64b92a;
922    }
923    #gift-cards-coupons #gift-card-coupon-error-msg {
924        font-size: 12px;
925        vertical-align: middle;
926        color: #c0392b;
927    }
928    #gift-cards-coupons #gift-card-coupon-code {
929        width: 270px;
930        margin-left: 5px;
931        margin-right: 5px;
932        border: 1px solid #dfdfdf;
933        border-radius: 5px;
934        padding: 6px 0px 6px 12px;
935        font-size: 14px;
936        vertical-align: middle;
937    }
938    #gift-cards-coupons #gift-card-coupon-code-apply-cell {
939        padding-right: 8px;
940        vertical-align: top;
941    }
942    #gift-cards-coupons #gift-card-coupon-code-apply {
943        font-size: 14px;
944        vertical-align: middle;
945        border-radius: 4px;
946        padding: 6px 12px 6px 12px;
947        color: #333 !important;
948        background-color: #fff !important;
949        border: 1px solid !important;
950    }
951    #gift-cards-coupons #gift-card-coupon-code-apply:disabled {
952        opacity: .65;
953    }
954    #gift-cards-coupons #gift-card-coupon-code-apply:hover:enabled {
955        background-color: #e6e6e6 !important;
956        border: 1px solid #bfbfbf !important;
957    }
958    #gift-cards-coupons ::placeholder {
959        color: #bfbfbf;
960        opacity: 1;
961    }
962    #gift-cards-coupons .gc-coupon-data-loading {
963        color: #7f7f7f;
964    }
965    #gift-cards-coupons .gc-coupon-data-loading .fa-spinner {
966        font-size: 18px;
967    }
968
969    .gift-card-coupon-identifier {
970        font-weight: bold;
971    }
972
973    .jm {
974        width: 98%;
975        padding: 10px 8px 4px 8px;
976    }
977
978    .quote-contact-wrapper {
979        display: grid;
980        align-items: center;
981        padding: 0;
982        margin: 0 0 8px 0;
983    }
984
985    .quote-contact-div {
986        display: flex;
987        align-items: center;
988        justify-content: end;
989    }
990
991    .quote-contact-button {
992        border: none;
993        background-color: white;
994    }
995
996    .quote-contact-button-wrapper {
997        display: flex;
998        align-items: center;
999        justify-content: space-between;
1000        gap: 4px;
1001    }
1002
1003    #isInsuranceSwitchedOn, #isLuxsuranceSwitchedOn {
1004        margin: 0;
1005    }
1006
1007    #insuranceContactInformation {
1008        margin: 0;
1009    }
1010
1011    .review-contact-information {
1012        text-align: right;
1013    }
1014
1015    .review-contact-information-span {
1016        cursor: pointer;
1017    }
1018
1019    #text-msg-notifications {
1020        font-weight: normal;
1021    }
1022    #text-msg-notifications i {
1023        font-size: 16px;
1024    }
1025
1026    
1027    @media (min-width: 768px) {
1028        .contactInfo {
1029            width: 80%;
1030        }
1031    }
1032
1033    @media (min-width: 768px) {
1034        .contactInfo {
1035            width: 90%;
1036        }
1037        .largeHidden {
1038            display: none !important;
1039        }
1040        .shippingOption {
1041            display: inline-block !important;
1042            width: inherit !important;
1043        }
1044    }
1045
1046    @media (max-width: 767px) {
1047        .contactInfo {
1048            width: 100%;
1049        }
1050        .mobileDivider {
1051            display: block !important;
1052            border-top: 1px solid #ccc;
1053        }
1054        .mobileClear {
1055            clear: both;
1056        }
1057        .smallHidden {
1058            display: none !important;
1059        }
1060        .cartRow, .cartCell {
1061            display: block;
1062        }
1063        .cartCell {
1064            height:inherit;
1065            border: 0px;
1066            padding-top:10px;
1067            padding-bottom:10px;
1068        }
1069        .cartAmount {
1070            display: none !important;
1071        }
1072        .cartImage {
1073            width: 50px;
1074            float: right;
1075            text-align: left;
1076        }
1077        .cartItems, .cartPrice {
1078            width: 235px;
1079            float: left;
1080            text-align: left;
1081        }
1082        .cartPrice {
1083            font-weight: bold;
1084        }
1085        .cartQuantity {
1086            width: 200px;
1087            float: left;
1088            text-align: left;
1089        }
1090        .qtySelect {
1091            width: 45px;
1092            text-align: center;
1093        }
1094        .cartDelete {
1095            width: 70px;
1096            float: right;
1097            text-align: right;
1098        }
1099        .shippingOption {
1100            width: 100%;
1101        }
1102
1103        /*New bootstrap styles for mobile*/
1104        .checkout-card .form-group {
1105            margin-bottom: 0px;
1106        }
1107
1108        .checkout-card input {
1109            margin-bottom: 10px;
1110        }
1111
1112        .checkout-card select {
1113            margin-bottom: 10px;
1114        }
1115    }
1116
1117    .row-divider {
1118        padding-top: 5px;
1119        padding-bottom: 5px;
1120        padding-right: 10px;
1121        text-align: right;
1122    }
1123
1124    .small-link {
1125        text-decoration: none;
1126        font-size: 90%;
1127    }
1128
1129    .checkout-btn {
1130        font-size: 18px;
1131        line-height: 1.33;
1132        border-radius: 6px;
1133        text-decoration: none;
1134        color: #fff !important;
1135
1136        display: inline-block;
1137        text-align: center;
1138        white-space: nowrap;
1139        vertical-align: middle;
1140        touch-action: manipulation;
1141        cursor: pointer;
1142        -moz-user-select: none;
1143        -webkit-user-select: none;
1144        border: 1px solid transparent;
1145
1146        padding-top: 10px;
1147        padding-bottom: 10px;
1148        padding-left: 40px !important;
1149        padding-right: 40px !important;
1150        margin-bottom: 0;
1151        transition-duration: 0.2s;
1152        background: #5bc050 !important;
1153    }
1154
1155    .checkout-btn[disabled] {
1156        opacity: 0.75 !important;
1157    }
1158
1159    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
1160        display: none !important;
1161    }
1162
1163    .mt-10 {
1164        margin-top: 5px;
1165    }
1166
1167    .card {
1168        background-color: #f6f6f6;
1169        padding: 20px;
1170        border-radius: 5px;
1171    }
1172
1173    .new-header {
1174        margin-bottom: 20px;
1175    }
1176
1177    .express-checkout .express-checkout-title {
1178        margin-top: 10px;
1179    }
1180
1181    .express-checkout .express-checkout-panel {
1182        margin-top: 10px;
1183        margin-bottom: 20px;
1184        border: 1px solid #ddd;
1185        box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
1186        padding: 15px;
1187        border-radius: 4px;
1188    }
1189
1190    .express-checkout .express-checkout-panel .express-checkout-info {
1191        margin-top: 10px;
1192    }
1193
1194    .express-checkout .express-checkout-buttons {
1195        display: flex;
1196        flex-direction: column;
1197        align-items: center;
1198        overflow: hidden;
1199    }
1200
1201    .express-checkout .express-checkout-buttons .express-checkout-button {
1202        overflow: hidden;
1203        max-width: 300px;
1204        width: 100%;
1205    }
1206
1207    .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) {
1208        margin: 0 0 20px 0;
1209    }
1210
1211    @media screen and (min-width: 576px) {
1212        .express-checkout .express-checkout-buttons {
1213            flex-direction: row;
1214            justify-content: flex-start;
1215        }
1216
1217        .express-checkout .express-checkout-buttons .express-checkout-button {
1218            width: 33%;
1219        }
1220
1221        .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) {
1222            margin: 0 20px 0 0;
1223        }
1224    }
1225
1226        .discounts-block {
1227            display: flex;
1228            flex-direction: row-reverse;
1229        }
1230
1231        .discount-divider {
1232            width: 30%;
1233        }
1234
1235        .divider-block-title {
1236            text-align: left;
1237            border-top: 1px solid lightgrey;
1238            padding: 5px 0 3px 0;
1239        }
1240
1241        .warning-box {
1242            background-color: #fcf8e3;
1243            color: #8a6d3b;
1244            font-family: Roboto, sans-serif;
1245            font-size: 12px;
1246            line-height: 1.17;
1247            border: 0.5px solid #8a6d3b;
1248            border-radius: 4px;
1249            padding: 7px;
1250            text-align: left;
1251            margin-bottom: 8px;
1252        }
1253
1254        .item-box {
1255            border: 1px solid #dfdfdf;
1256            border-radius: 4px;
1257            padding: 8px;
1258            margin-bottom: 8px;
1259        }
1260
1261        .discount-item {
1262            display: flex;
1263            justify-content: space-between;
1264        }
1265
1266        .gift-card-coupon-code-span {
1267            color: grey;
1268            text-align: left;
1269        }
1270
1271        .not-applied-coupon > .gift-card-coupon-code-span,
1272        .not-applied-coupon > .discount-item > .discount-item-title {
1273            opacity: 0.6;
1274            text-align: left;
1275            width: 60%;
1276        }
1277
1278        .discount-item-title {
1279            text-align: left;
1280            width: 65%;
1281        }
1282
1283        .not-applied-amount-label {
1284            color: dark
1284grey;
1285            font-weight: normal;
1286        }
1287
1288        .times-close {
1289            color: black;
1290        }
1291
1292        .times-close:hover {
1293            color: red;
1294        }
1295
1296        .discount-amount {
1297            font-weight: bold;
1298            color: red;
1299        }
1300
1301        .coupon-error-msg {
1302            text-align: left;
1303        }
1304</style>
1305
1306<style>
1307    .inner-label {
1308        padding-right: 15px;
1309        padding-left: 30px;
1310    }
1311    .row-grid {
1312        margin-bottom: 10px;
1313        text-align: right;;
1314    }
1315
1316    .text-danger {
1317        border-color: #a94442;
1318    }
1319
1320    .text-hover-red:hover {
1321        color: red;
1322    }
1323    .text-hover-blue:hover {
1324        color: blue;
1325    }
1326
1327    .display-block {
1328        display: block;
1329    }
1330
1331    .cartTableSubHeader {
1332        font-weight: normal;
1333        font-size: small;
1334    }
1335
1336    .panel-default {
1337        background: #f6f6f6 !important;
1338    }
1339
1340    .btn-sm {
1341        background: #ccc !important;
1342    }
1343
1344    .btn-lg {
1345        padding-left: 40px;
1346        padding-right: 40px;
1347    }
1348
1349    .card-default{
1350        color: #bbb;
1351    }
1352    .card-visa{
1353        color: #037AFC;
1354    }
1355    .card-mastercard{
1356        color: #FFA600;
1357    }
1358    .card-amex{
1359        color: #1696D3;
1360    }
1361    .card-discover{
1362        color: #FF680F;
1363    }
1364    .form-control{
1365        margin-bottom: 15px;
1366    }
1367    .error-label{
1368        position: relative;
1369        top: -12px;
1370    }
1371
1372    .option_radio {
1373        display: inline-block;
1374        vertical-align: top;
1375    }
1376
1377    .option_content {
1378        display: inline-block;
1379        margin-left: 5px;
1380        margin-top: 1px;
1381        margin-bottom: 5px;
1382    }
1383
1384    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
1385        display: none !important;
1386    }
1387</style>
1388
1389<div class="container cartContainer cart-base" ng-app="checkoutApp" ng-controller="checkoutCtrl" ng-init="Init('https://www.thelittlegoldenfox.com', '88A2D2A2-C71E-434D-BBC0-7ABBCE696170', 'AM', 'ER', '', true, [])" ng-cloak >
1390    <div>
1391        <!-- Header -->
1392        <div class="row">
1393            <div ng-show="InitInfo.CheckoutSettings.HeaderType == 'Custom'" class="col-sm-12">
1394                <div id="customheader"></div>
1395            </div>
1396        </div>
1397
1398
1399        <div ng-if="CartData.message" class="alert alert-warning">
1400            <button type="button" class="close" ng-click="ErrorMessageClose()">&times;</button>
1401            {{CartData.message}}
1402        </div>
1403
1404        <div ng-if="!requireAddressInfo() && !requireContactInfo()">
1405            <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning">
1406                <button type="button" class="close" ng-click="InventoryMessagesClose()">&times;</button>
1407                <div ng-if="InventoryMessages.RemovedItems">
1408                    We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed
1409                    <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul>
1410                </div>
1411                <div ng-if="InventoryMessages.InventoryChanges">
1412                    <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div>
1413                </div>
1414            </div>
1415
1416            <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning">
1417                <button type="button" class="close" ng-click="AvailabilityMessagesClose()">&times;</button>
1418                <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
1419                    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:
1420                    <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul>
1421                </div>
1422            </div>
1423        </div>
1424
1425        <!-- Initial Cart Contents -->
1426        <div ng-if="!isWebPayment()">
1427            <div class="h1">Shopping Cart</div>
1428        </div>
1429        <br>
1430        <div ng-if="StatusInfo.Initializing">
1431            <i class="fa fa-spinner fa-pulse fa-2x"></i>
1432        </div>
1433        <div ng-if="showContinueShopping()">
1434            <span ng-show="!CartStatus.Valid" >
1435                Your cart is empty.
1436            </span>
1437            <a href="{{InitInfo.ShopUrl}}/checkout/sync.php?redirect=" style="btn">Click Here</a> to continue shopping.</h4>
1438        </div>
1439        <div ng-if="isCardProcessorRain()" ng-show="showExpressCheckout()" class="row">
1440            <div class="col-sm-7">
1441                <div class="express-checkout">
1442                    <div class="express-checkout-title">
1443                        <strong>Express Checkout</strong>
1444                    </div>
1445
1446                    <div class="express-checkout-panel">
1447                        <div class="express-checkout-buttons">
1448                            <div class="express-checkout-button" id="payment-request-button-wrapper" style="display: none;">
1449                                <div id="payment-request-button">
1450                                    <!-- A Stripe Element will be inserted here. -->
1451                                </div>
1452                            </div>
1453                        </div>
1454
1455                        <div class="express-checkout-info">
1456                            If you choose Apple Pay or Google Pay,
1457                            you will need to set your shipping preferences in the window
1458                            that opens after you click the button.
1459                            Settings below will not display there.
1460                        </div>
1461                    </div>
1462                </div>
1463            </div>
1464        </div>
1465
1466                    <!-- Initial Items List -->
1467                            <div ng-if="!showHostedCheckout()">
1468                <br>
1469            <!-- Item Summary -->
1470<div class="cartTable" ng-if="showItemSummary()">
1471    <div class="cartRow smallHidden">
1472        <div class="cartCell cartTableHeader cartImage"></div>
1473        <div class="cartCell cartTableHeader cartItems">Items</div>
1474        <div class="cartCell cartTableHeader cartPrice">Price</div>
1475        <div class="cartCell cartTableHeader cartQuantity">Quantity</div>
1476        <div class="cartCell cartTableHeader cartAmount">Amount</div>
1477        <div class="cartCell cartTableHeader cartDelete"></div>
1478    </div>
1479            <div class="cartRow" data-cy="web-cart-item-row" ng-cloak ng-repeat="item in CartData.Items">
1480            <div class="mobileDivider largeHidden"></div>
1481            <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>
1482            <div class="cartCell cartItems" data-cy="web-cart-item-title">
1483            <span ng-if="item.condition">
1484                {{item.title}} {{item.condition.title}}
1485            </span>
1486            <span ng-if="!item.condition">
1487                                    {{item.title}}
1488                                <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
1489            </span>
1490            <span ng-if="!item.quantity_updating && item.type == 'rental'">
1491                - {{item.id}}
1492<!--                Below doesn't work-->
1493<!--                <a ng-click="editRental(item)" class="btn-default" style="cursor: pointer;" title="Edit Rental">-->
1494<!--                    <i class="fa fa-edit fa-lg"></i>-->
1495<!--                </a>-->
1496            </span>
1497            <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
1498                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
1499            </span>
1500            <span ng-if="item.class_attendees.length">
1501                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
1502                <span ng-repeat="name in item.class_attendees">
1503                    &nbsp;{{name}}
1504                </span>
1505            </span>
1506<style>
1507    a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited {
1508        font-size: 13px;
1509        text-decoration: none;
1510    }
1511    table.subscription-details {
1512        font-size: 13px;
1513        margin: 5px 0;
1514    }
1515    .details-hidden {
1516        visibility: hidden;
1517        height: 0;
1518    }
1519</style>
1520
1521<div ng-if="item.type === 'subscription'">
1522    <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
1523        <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
1524        View Subscription Details
1525    </a>
1526    <div ng-class="{'details-hidden': !showSubscriptionDetails}">
1527        <style>
1528    table.subscription-details span.small-subtitle {
1529        font-size: 10px;
1530    }
1531    table.subscription-details tr td:first-child {
1532        padding: 0 15px 0 0;
1533    }
1534</style>
1535
1536<table class="subscription-details">
1537    <tr>
1538        <td>{{item.subscriptionData.labels.adverb}} Price:</td>
1539        <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
1540    </tr>
1541    <tr>
1542        <td>Subscription Length:</td>
1543        <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
1544    </tr>
1545    <tr>
1546        <td>Start/End Date:</td>
1547        <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
1548    </tr>
1549    <tr>
1550        <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
1551        <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
1552    </tr>
1553    <tr>
1554        <td>Previous {{item.subscriptionData.labels.plural}}:</td>
1555        <td>
1556            <span ng-if="item.subscriptionData.previous_items_cnt > 0">
1557                {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
1558            </span>
1559            <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
1560        </td>
1561    </tr>
1562    <tr>
1563        <td>Delivery Method:</td>
1564        <td ng-switch="item.subscriptionData.delivery_type">
1565            <span ng-switch-when="ship">
1566                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
1567            </span>
1568            <span ng-switch-default>In-Store Pickup</span>
1569        </td>
1570    </tr>
1571    <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
1572        <td>Address:</td>
1573        <td>{{item.subscriptionData.address}}</td>
1574    </tr>
1575    <tr>
1576        <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
1577        <td>
1578            <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
1579        </td>
1580    </tr>
1581    <tr>
1582        <td><strong>Due Today:</strong></td>
1583        <td>
1584            <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
1585        </td>
1586    </tr>
1587</table>
1588    </div>
1589</div>
1590            <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
1591                This item is not eligible for discounts
1592            </span>
1593        </div>
1594                    <div ng-if="!showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemPriceForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div>
1595                <div ng-if="showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemGstPrice(item) | currency:InitInfo.CurrencySymbol2}}</div>
1596        <div class="mobileClear largeHidden"></div>
1597        <div class="cartCell cartQuantity" data-cy="web-cart-item-quantity">
1598            <div ng-if="showQuantityAsSelector(item)" style="white-space: nowrap;">
1599                                    <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)">
1600                    </select>
1601                                <span>
1602                    <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)">
1603                    </select>
1604                    <span>{{ getItemUnitType(item); }}</span>
1605                </span>
1606            </div>
1607            <div ng-if="showQuantityAsNumber(item)">
1608                {{item.qty_integer}}
1609            </div>
1610            <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
1611        </div>
1612                    <div ng-if="!showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemTotalForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div>
1613                <div ng-if="showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</div>
1614                            <div class="cartCell cartDelete">
1615                    <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>
1616                    <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
1617                </div>
1618                    <div class="mobileClear largeHidden"></div>
1619    </div>
1620        </div>
1621
1622
1623
1624
1625<!-- Items Subtotal -->
1626
1627<div  ng-if="!showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal">
1628    Subtotal: {{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}
1629</div>
1630<div ng-if="showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal">
1631    Subtotal: {{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}
1632</div>
1633
1634        <!-- Gift Cards and Coupons -->
1635        <div ng-show="isProcessingEnabled()">
1636            <div ng-if="shouldShowGiftCardsCoupons()" id="gift-cards-coupons">
1637
1638                <!-- Gift Card or Coupon Code Lookup -->
1639                <table>
1640                    <tr>
1641                        <td colspan="3">
1642                            <div ng-show="isProductInCart()" class="quote-contact-wrapper">
1643                                                                                                                            </div>
1644                        </td>
1645                    </tr>
1646                    <tr>
1647                        <td style="width: 98%;">
1648                        </td>
1649                        <td id="gift-card-coupon-label-cell" style="width: 1%;">
1650                        </td>
1651                        <td style="width: 1%;">
1652                        </td>
1653                    </tr>
1654                    <tr>
1655                        <td id="gift-card-coupon-msgs">
1656                            <span>
1657                                <!-- Loading -->
1658                                <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
1659                            </span>
1660                        </td>
1661                        <td>
1662                            <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">
1663                            <span>
1664                                <!-- Messages -->
1665                                <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
1666                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
1667                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Added</span>
1668                            </span>
1669                        </td>
1670                        <td id="gift-card-coupon-code-apply-cell">
1671                            <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>
1672                        </td>
1673                    </tr>
1674                </table>
1675
1676                <!-- Coupons -->
1677                    <div class="discounts-block">
1678                        <div ng-show="CartData.Coupons.length > 0" class="row-divider discount-divider">
1679                            <div class="divider-block-title">
1680                                Coupons
1681                            </div>
1682                            <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert alert-warning warning-box">
1683                                <span ng-if="showOnlyHighestDiscountWarning()">
1684                                    Only a single coupon with the highest savings will be applied.
1685                                </span>
1686                                <span ng-if="showDontApplyOnSaleItemsWarning()">
1687                                    Coupons do not apply to On Sale Items
1688                                </span>
1689                            </div>
1690                            <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}">
1691                                <div class="discount-item">
1692                                    <div class="discount-item-title">
1693                                        <a href="" ng-click="openCouponDetailsModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a>
1694                                    </div>
1695                                    <div class="discount-amount">
1696                                        <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} &nbsp;</span>
1697                                        <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</span>
1698                                        <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>
1699                                        <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i>
1700                                    </div>
1701                                </div>
1702                                <div class="gift-card-coupon-code-span">
1703                                    {{c.couponCode}}
1704                                </div>
1705                                <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">
1705{{couponStatusMessage}}</div>
1706                            </div>
1707                        </div>
1708                    </div>
1709                    <div class="discounts-block">
1710                        <!-- Gift Cards -->
1711
1712                        <div ng-if="CartData.GiftCards.length > 0" class="row-divider discount-divider">
1713                            <div class="divider-block-title">
1714                                Gift Cards
1715                            </div>
1716                            <div ng-repeat="gc in CartData.GiftCards" class="item-box">
1717                                <div class="discount-item">
1718                                    <div>
1719                                        <span class="gift-card-coupon-identifier">{{gc.title}}</span>&nbsp;&nbsp;&nbsp;&nbsp;
1720                                    </div>
1721                                    <div class="discount-amount">
1722                                        -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
1723                                        <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>
1724                                        <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i>
1725                                    </div>
1726                                </div>
1727                                <div class="gift-card-coupon-code-span">
1728                                    {{gc.number}}
1729                                </div>
1730                            </div>
1731                        </div>
1732                    </div>
1733            </div>
1734
1735            <!-- Checkout Options -->
1736            <div align="right">
1737                <div ng-show="showSecureOrPaypal()" class="row-divider" style="display: inline-block; text-align:center;">
1738                    <br>
1739
1740                    <span ng-if="allowCreditCardCheckout() && isCardProcessorNMI()">
1741                        <button ng-click="GoToCheckoutUrl()" class="checkout-btn" data-cy="web-cart-checkout-button">
1742                            Secure Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1743                        </button>
1744                    </span>
1745
1746                    <span ng-if="isCardProcessorVantiv()">
1747                        <button id="checkout-vantiv" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_VANTIV)" class="checkout-btn">
1748                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1749                        </button>
1750                    </span>
1751
1752                    <span ng-if="isCardProcessorRain()">
1753                        <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_RAIN)" class="checkout-btn">
1754                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1755                        </button>
1756                    </span>
1757
1758                    <span ng-if="isCardProcessorQuiltAdyen()">
1759                        <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_QUILT_ADYEN)" class="checkout-btn">
1760                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1761                        </button>
1762                    </span>
1763
1764                    <div ng-if="showPaypalButtonOnCart()" style="padding:10px;">
1765                        <p><strong>- OR -</strong></p>
1766                        <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;">
1767                    </div>
1768
1769                    <br>
1770                </div>
1771
1772                <div ng-show="isCartTotalExceeded()" class="mt-10">Please contact our store for payment options on your purchase.</div>
1773            </div>
1774        </div>
1775        <div ng-if="!isProcessingEnabled()">
1776            <p>&nbsp;</p>
1777            <p>Online checkout is currently disabled. Please call {{InitInfo.Store.phone}} to place an order.</p>
1778        </div>
1779                    </div>
1780        <div ng-show="showHostedCheckout()">
1781    <style>
1782
1783    #shippingInStorePickupOptions .nav-pills>li>a {
1784        border: solid #ddd 1px;
1785        color: #337ab7 !important;
1786    }
1787
1788    #shippingInStorePickupOptions .nav-justified>li {
1789        padding: 0 10px;
1790    }
1791
1792
1793    #shippingInStorePickupOptions .nav-pills>li.active>a {
1794        position: relative;
1795        color: #fff !important;
1796        background: #337ab7;
1797        border-color: #337ab7;
1798    }
1799
1800    #shippingInStorePickupOptions .nav-pills>li.active>a:hover {
1801        color: #fff !important;
1802    }
1803
1804    @media (min-width: 768px) {
1805        #shippingInStorePickupOptions .nav-pills>li.active>a:before {
1806            position: absolute;
1807            content: '';
1808            bottom: -10px;
1809            left: 0;
1810            right: 0;
1811            margin: 0 auto;
1812            width: 0;
1813            height: 0;
1814            border-style: solid;
1815            border-width: 10px 10px 0 10px;
1816            border-color: #337ab7 transparent transparent transparent;
1817        }
1818    }
1819
1820    #shippingInStorePickupOptions .well {
1821        background-color: #fff;
1822    }
1823
1824    #shippingInStorePickupOptions .form-group {
1825        margin-bottom: 5px;
1826    }
1827
1828    .tab-options .nav-pills>li>a {
1829        border: solid #ddd 1px;
1830        color: #337ab7 !important;
1831    }
1832
1833    .tab-options .nav-justified>li {
1834        padding: 0 10px;
1835    }
1836
1837    .tab-options .nav-pills>li.active>a {
1838        position: relative;
1839        color: #fff !important;
1840        background: #337ab7;
1841        border-color: #337ab7;
1842    }
1843
1844    .tab-options .nav-pills>li.active>a:hover {
1845        color: #fff !important;
1846    }
1847
1848    @media (min-width: 768px) {
1849        .tab-options .nav-pills>li.active>a:before {
1850            position: absolute;
1851            content: '';
1852            bottom: -10px;
1853            left: 0;
1854            right: 0;
1855            margin: 0 auto;
1856            width: 0;
1857            height: 0;
1858            border-style: solid;
1859            border-width: 10px 10px 0 10px;
1860            border-color: #337ab7 transparent transparent transparent;
1861        }
1862    }
1863
1864    .tab-options .well {
1865        background-color: #fff;
1866    }
1867
1868    .tab-options .form-group {
1869        margin-bottom: 5px;
1870    }
1871
1872    a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited {
1873        font-size: 13px;
1874        text-decoration: none;
1875    }
1876    table.subscription-details {
1877        font-size: 13px;
1878        margin: 5px 0;
1879    }
1880    table.subscription-details tr td:first-child {
1881        padding: 0 15px 0 0;
1882    }
1883    table.subscription-details span.small-subtitle {
1884        font-size: 10px;
1885    }
1886    .dynamic_tax_error {
1887        color: #939ca6;
1888    }
1889
1890    #gift-card-coupon-code-apply {
1891        color: #333 !important;
1892        background-color: #fff !important;
1893        border: 1px solid !important;
1894    }
1895
1896    .divider-checkout-block-title {
1897        text-align: left;
1898        margin-bottom: 10px;
1899    }
1900
1901    .divider-checkout-block-gc-title {
1902        text-align: left;
1903    }
1904
1905    .messages-coupon-gc {
1906        font-size: 12px;
1907    }
1908
1909    #gift-card-coupon-msgs > #coupon-applied-msg, #gift-card-applied-msg {
1910        font-size: 12px;
1911        vertical-align: middle;
1912        color: #64b92a;
1913    }
1914
1915    #gift-card-coupon-msgs > #gift-card-coupon-error-msg {
1916        font-size: 12px;
1917        vertical-align: middle;
1918        color: #c0392b;
1919    }
1920
1921    .row-divider-checkout {
1922        padding-bottom: 5px;
1923        text-align: right;
1924    }
1925
1926    .quote-contact-checkout-button {
1927        border: none;
1928        background-color: #f6f6f6;
1929    }
1930
1931    .review-contact-information-checkout {
1932        text-align: left;
1933        padding-left: 23px;
1934    }
1935
1936    .checkout-marketing-emails-checkbox {
1937        margin-top: -10px;
1938        display: block;
1939    }
1940
1941    .terms-fallback-panel {
1942        background: #f5f5f5;
1943        border: 1px solid #e3e3e3;
1944        border-radius: 4px;
1945        margin-bottom: 20px;
1946        vertical-align: text-top;
1947    }
1948
1949    .divider-row {
1950        display: flex;
1951        align-items: center;
1952        gap: 8px;
1953        margin: 12px 0;
1954    }
1955
1956    .divider-line {
1957        flex: 1;
1958        height: 1px;
1959        background: #e5e7eb;
1960    }
1961
1962    .divider-text {
1963        color: #6b7280;
1964    }
1965
1966    .saved-cards-container {
1967        border: 1px solid #e5e7eb;
1968        border-radius: 6px;
1969        padding: 12px;
1970        background-color: #fff;
1971        max-height: 200px;
1972        overflow-y: auto;
1973    }
1974
1975    .saved-cards-header {
1976        display: flex;
1977        padding: 0 8px 8px;
1978        font-weight: 600;
1979    }
1980
1981    .saved-cards-col-name {
1982        flex: 1;
1983    }
1984
1985    .saved-cards-col-exp {
1986        width: 20%;
1987        text-align: left;
1988    }
1989
1990    .saved-card-row {
1991        display: flex;
1992        align-items: center;
1993        padding: 8px;
1994        border-top: 1px solid #f3f4f6;
1995        box-sizing: border-box;
1996        transition: background 0.2s, border 0.2s;
1997    }
1998
1999    .saved-card-row.saved-card-selected {
2000        background: #e8f3ff;
2001        border: 1px solid #9ac7ff;
2002        border-radius: 6px;
2003    }
2004
2005    .saved-card-label {
2006        display: flex;
2007        align-items: center;
2008        gap: 8px;
2009        flex: 1;
2010        min-width: 0;
2011        margin: 0;
2012        cursor: pointer;
2013    }
2014
2015    .saved-card-label input[type="radio"] {
2016        margin-top: 0;
2017        position: relative;
2018        top: 0;
2019    }
2020
2021    .saved-card-info {
2022        min-width: 0;
2023    }
2024
2025    .saved-card-title {
2026        font-weight: bold;
2027        overflow: hidden;
2028        text-overflow: ellipsis;
2029        white-space: nowrap;
2030    }
2031
2032    .saved-card-last4,
2033    .saved-card-exp {
2034        font-weight: normal;
2035        color: #6b7280;
2036    }
2037
2038    .saved-card-expdate {
2039        flex: 0 0 20%;
2040        font-weight: bold;
2041    }
2042
2043    .nickname-group {
2044        margin-bottom: 16px;
2045    }
2046
2047    .nickname-label {
2048        display: flex;
2049        gap: 6px;
2050        align-items: baseline;
2051        font-weight: bold;
2052        margin-bottom: 6px;
2053    }
2054
2055    .nickname-optional {
2056        font-size: 12px;
2057        font-weight: normal;
2058        color: #6b7280;
2059    }
2060
2061    .nickname-input {
2062        border: 1px solid #d1d5db;
2063        border-radius: 6px;
2064        padding: 8px 10px;
2065        font-size: 14px;
2066        transition: border-color 0.2s ease;
2067    }
2068
2069    .nickname-input:focus {
2070        outline: none;
2071        border-color: #3b82f6;
2072        box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
2073    }
2074
2075    .payment-wrapper {
2076        position: relative;
2077    }
2078
2079    .payment-overlay {
2080        position: absolute;
2081        inset: 0;
2082        background: rgba(255, 255, 255, 0.3);
2083        cursor: pointer;
2084        z-index: 10;
2085        border-radius: 4px;
2086        transition: background 0.2s ease;
2087    }
2088
2089    .payment-overlay:hover {
2090        background: rgba(255, 255, 255, 0.3);
2091    }
2092</style>
2093
2094<!-- Main Checkout -->
2095<div class="row" ng-show="showMainCheckout()">
2096    <div class="col-sm-7">
2097
2098        <!-- Error messages -->
2099
2100        <div ng-if="StatusInfo.ErrorMessage" class="alert alert-danger" data-cy="web-checkout-error-top">
2101            <button type="button" class="close" ng-click="ErrorMessageClose()" data-cy="web-checkout-error-top-close">&times;</button>
2102            {{StatusInfo.ErrorMessage}}
2103        </div>
2104
2105        <div ng-if="CartData.Message" class="alert alert-warning" data-cy="web-checkout-cart-message">
2106            <button type="button" class="close" ng-click="ErrorMessageClose()">&times;</button>
2107            {{CartData.Message}}
2108        </div>
2109
2110        <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning" data-cy="web-checkout-inventory-message">
2111            <button type="button" class="close" ng-click="InventoryMessagesClose()">&times;</button>
2112            <div ng-if="InventoryMessages.RemovedItems.length > 0">
2113            We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed
2114                <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul>
2115            </div>
2116            <div ng-if="InventoryMessages.InventoryChanges.length > 0">
2117                <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div>
2118            </div>
2119        </div>
2120
2121        <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning" data-cy="web-checkout-availability-message">
2122            <button type="button" class="close" ng-click="AvailabilityMessagesClose()">&times;</button>
2123            <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
2124                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:
2125                <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul>
2126            </div>
2127        </div>
2128
2129        <div ng-if="StatusInfo.DynamicTaxError" class="alert alert-danger" data-cy="web-checkout-error-tax">
2130            {{StatusInfo.DynamicTaxError}}
2131        </div>
2132        <!-- Initial Cart Contents -->
2133
2134        <div ng-show="!isCartValid()" class="panel panel-default ng-hide">
2135            <div class="panel-body">
2136                <h4>Your cart is empty. <a href="{{InitInfo.ShopUrl}}/checkout/sync.php" style="btn">Click Here</a> to continue shopping.</h4>
2137            </div>
2138        </div>
2139
2140        <!-- Mobile Items -->
2141
2142        <div class="panel panel-default visible-xs">
2143            <div ng-if="StatusInfo.Initializing" class="panel-body">
2144                <i class="fa fa-spinner fa-pulse fa-2x"></i>
2145            </div>
2146            <table ng-if="!StatusInfo.Initializing" class="table">
2147
2148
2149<thead>
2150<tr>
2151    <td><strong>Description</strong></td>
2152    <td><strong>Quantity</strong></td>
2153    <td colspan="2"><strong>Amount</strong></td>
2154</tr>
2155</thead>
2156<tbody ng-repeat="item in CartData.Items">
2157<tr>
2158    <td colspan="4" style="border-bottom: 0; padding-bottom: 0;">
2159        <span ng-if="item.condition">
2160                {{item.title}} ({{item.condition.title}})
2161        </span>
2162
2163        <span ng-if="!item.condition">
2164                            {{item.title}}
2165                        <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
2166        </span>
2167
2168        <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
2169            This item is not eligible for discounts
2170        </span>
2171        <span ng-if="!item.quantity_updating && item.type == 'rental'">
2172            - {{item.id}}
2173        </span>
2174        <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
2175            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
2176        </span>
2177        <span ng-if="item.class_attendees.length">
2178            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
2179            <span ng-repeat="name in item.class_attendees">
2180                &nbsp;{{name}}
2181            </span>
2182        </span>
2183    </td>
2184</tr>
2185<tr>
2186    <td style="border-top: 0;">
2187        <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;">
2188
2189            </td>
2190    <td style="vertical-align: middle; border-top: 0;">
2191        <div ng-if="showQuantityAsSelector(item)" class="form-inline">
2192                            <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)">
2193                </select>
2194            
2195            <span ng-if="item.qty_type == 'fraction'">
2196                <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)">
2197                </select>
2198                <span ng-if="item.measure_unit == 'Meter'">Metres</span>
2199                <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span>
2200            </span>
2201        </div>
2202        <div ng-if="showQuantityAsNumber(item)">
2203            {{item.qty_integer}}
2204        </div>
2205        <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
2206    </td>
2207
2208            <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td>
2209    
2210    <td style="vertical-align: middle; border-top: 0;">
2211        <div class="cartCell cartDelete">
2212                            <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>
2213                        <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
2214        </div>
2215    </td>
2216    <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td>
2217</tr>
2218<tr ng-if="item.type === 'subscription'">
2219    <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
2220        <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
2221            <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
2222            View Subscription Details
2223        </a>
2224        <div ng-show="showSubscriptionDetails">
2225            <table class="subscription-details">
2226                <tr>
2227                    <td>{{item.subscriptionData.labels.adverb}} Price:</td>
2228                    <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
2229                </tr>
2230                <tr>
2231                    <td>Subscription Length:</td>
2232                    <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
2233                </tr>
2234                <tr>
2235                    <td>Start/End Date:</td>
2236                    <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
2237                </tr>
2238                <tr>
2239                    <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
2240                    <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
2241                </tr>
2242                <tr>
2243                    <td>Previous {{item.subscriptionData.labels.plural}}:</td>
2244                    <td>
2245                                                 <span ng-if="item.subscriptionData.previous_items_cnt > 0">
2246                                                    {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
2247                                                </span>
2248                        <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
2249                    </td>
2250                </tr>
2251                <tr>
2252                    <td>Delivery Method:</td>
2253                    <td ng-switch="item.subscriptionData.delivery_type">
2254                                            <span ng-switch-when="ship">
2255                                                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
2256                                            </span>
2257                        <span ng-switch-default>In-Store Pickup</span>
2258                    </td>
2259                </tr>
2260                <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
2261                    <td>Address:</td>
2262                    <td>{{item.subscriptionData.address}}</td>
2263                </tr>
2264                <tr>
2265                    <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
2266                    <td>
2267                        <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
2268                    </td>
2269                </tr>
2270                <tr>
2271                    <td><strong>Due Today:</strong></td>
2272                    <td>
2273                        <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
2274                    </td>
2275                </tr>
2276            </table>
2277        </div>
2278    </td>
2279</tr>
2280</tbody>
2281            </table>
2282        </div>
2283
2284        <!-- Show Contact Info -->
2285        <div ng-form="contactForm" ng-show="showContactInfo()" class="panel panel-default ng-hide">
2286            <div class="panel-body">
2287
2288                <!-- Validation Messages -->
2289                <div ng-show="!inStorePickup() && (ShippingStatus.MessagesShow && ShippingStatus.NotValidMessages.length > 0 || ContactStatus.MessagesShow && ContactStatus.NotValidMessages.length > 0)" class="row">
2290                    <div class="col-xs-12 text-danger">
2291                        <span ng-repeat="message in ContactStatus.NotValidMessages"><label>{{message}}</label><br></span>
2292                    </div>
2293                    <div class="col-xs-12 text-danger">
2294                        <span ng-repeat="message in ShippingStatus.NotValidMessages"><label>{{message}}</label><br></span>
2295                    </div>
2296                </div>
2297
2298                <div class="row">
2299                    <div class="col-xs-12">
2300                        <label>Contact Information</label>
2301                    </div>
2302                </div>
2303
2304                <div class="row">
2305                    <div ng-class="FormFieldErrorClass('contactForm', 'email', contactForm)" class="col-sm-6">
2306                        <input required
2307                               id="billing_email"
2308                               data-cy="web-checkout-contact-email"
2309                               name="email"
2310                               type="email"
2311                               ng-model="BillingInfo.Email"
2312                               class="form-control"
2313                               placeholder="Email"
2314                               ng-focus="InitToolTip($event)"
2315                               data-toggle="tooltip"
2316                               ng-blur="updateCouponsByCustomerGroups()"
2317                               title="Email Address">
2318                        <label ng-if="FormFieldError('contactForm', 'email', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-email-error">
2319                            Please enter a valid email
2320                        </label>
2321                        <label ng-if="isSubscribeToMarketingEmailsEnabled()" class="checkout-marketing-emails-checkbox" id="text-msg-notifications">
2322                            <input class="ng-pristine ng-untouched ng-valid" id="subscribeToMarketingEmails" data-cy="web-checkout-subscribe-marketing" type="checkbox" ng-click="toggleSubscribeToMarketingEmails()">
2323                            <small for="subscribeToMarketingEmails">
2324                                Sign me up for News and Offers
2325                            </small>
2326                        </label>
2327                    </div>
2328                    <div ng-class="FormFieldErrorClass('contactForm', 'phone', contactForm)" class="col-sm-6">
2329                        <input
2330                            id="billing_phone"
2331                            data-cy="web-checkout-contact-phone"
2332                            required
2333                            phone-number
2334                            ng-model="BillingInfo.Phone"
2335                            ng-focus="InitToolTip($event)"
2336                            name="phone"
2337                            type="text"
2338                            data-toggle="tooltip"
2339                            title="Phone Number"
2340                            class="form-control"
2341                        >
2342                        <label ng-if="FormFieldError('contactForm', 'phone', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-phone-error">
2343                            Please enter a valid phone number
2344                        </label>
2345                        <label style="margin-top: -10px; display: block;" id="text-msg-notifications" ng-if="isTextMessagingSupported()">
2346                            <input type="checkbox" ng-model="CheckoutInfo.sendTextNotifications" class="ng-pristine ng-untouched ng-valid">
2347                            <small>Get order update texts</small>
2348                            <i class="fa fa-mobile" aria-hidden="true"></i>
2349                        </label>
2350                    </div>
2351                </div>
2352            </div>
2353        </div>
2354
2355        <!-- Shipping Information -->
2356        <div ng-form="shippingForm" ng-show="showShippingForm() && isShippingRequired()" class="panel panel-default ng-hide">
2357            <div class="panel-body">
2358
2359                <div ng-if="InitInfo.wholesale.checkout_enabled">
2360                    <div class="row">
2361                            <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6">
2362                            <input ng-required="!isPickup()"
2363                                   capitalize-first
2364                                   id="shipping_first_name" data-cy="web-checkout-shipping-first-name"
2365                                   name="shipping_first_name"
2366                                   type="text"
2367                                   ng-model="ShippingInfo.FirstName"
2368                                   class="form-control"
2369                                   placeholder="First Name"
2370                                   ng-focus="InitToolTip($event)"
2371                                   data-toggle="tooltip"
2372                                   title="First Name">
2373                            <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label">
2374                                Please enter a first name
2375                            </label>
2376                        </div>
2377                            <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" >
2378                            <input ng-required="!isPickup()"
2379                                   capitalize-first
2380                                   id="shipping_last_name" data-cy="web-checkout-shipping-last-name"
2381                                   name="shipping_last_name"
2382                                   type="text"
2383                                   ng-model="ShippingInfo.LastName"
2384                                   class="form-control"
2385                                   placeholder="Last Name"
2386                                   ng-focus="InitToolTip($event)"
2387                                   data-toggle="tooltip"
2388                                   title="Last Name">
2389                            <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label">
2390                                Please enter a last name
2391                            </label>
2392                        </div>
2393                    </div>
2394
2395                    <div class="row">
2396                        <div class="col-sm-6">
2397                            <input capitalize-first
2398                                   id="company_name" data-cy="web-checkout-shipping-company"
2399                                   name="company_name"
2400                                   type="text"
2401                                   ng-model="ShippingInfo.company_name"
2402                                   class="form-control"
2403                                   placeholder="Company Name"
2404                                   ng-focus="InitToolTip($event)"
2405                                   data-toggle="tooltip"
2406                                   title="Company Name">
2407                        </div>
2408                    </div>
2409                </div>
2410
2411                <div id="shippingInStorePickupOptions">
2412
2413                    <div ng-if="areShippingOptionsRequired()">
2414                        <label>Shipping and Pickup Options</label>
2415                    </div>
2416
2417                    <!-- Shipping Nav tabs -->
2418                    <ul class="nav nav-pills nav-justified" role="tablist" id="shippingTabs">
2419                        <li role="presentation" class="active" ng-if="isShippingTabVisible()">
2420                            <a href="#shippingOptions" aria-controls="shippingOptions" role="tab" data-toggle="pill">
2421                                <span class="fa fa-truck fa-fw"></span> Shipping Options
2422                            </a>
2423                        </li>
2424                        <li role="presentation" ng-if="isLocalDeliveryEnabled() && isLocalDeliveryOptionsProvided">
2425                            <a href="#localDelivery" aria-controls="localDelivery" role="tab" data-toggle="pill" id="localDeliveryTab">
2426                                <span class="fa fa-home fa-fw"></span> Local Delivery
2427                            </a>
2428                        </li>
2429                        <li role="presentation" ng-if="isStorePickupEnabled() && hasStorePickupOptions()">
2430                            <a href="#inStorePickup" aria-controls="inStorePickup" role="tab" data-toggle="pill" id="inStorePickupTab">
2431                                <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> In-Store Pickup
2432                            </a>
2433                        </li>
2434                        <li role="presentation" ng-if="isCurbsidePickupEnabled() && hasCurbsidePickupOptions()">
2435                            <a href="#curbsidePickup" aria-controls="curbsidePickup" role="tab" data-toggle="pill" id="curbsidePickupTab">
2436                                <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> Curbside Pickup
2437                            </a>
2438                        </li>
2439                        <li role="presentation" ng-if="isOsrSchoolPickupEnabled() && hasSchoolPickupOptions()">
2440                            <a href="#schoolPickup" aria-controls="schoolPickup" role="tab" data-toggle="pill" id="schoolPickupTab">
2441                                <span class="fa fa-school fa-fw"></span> <strong>FREE</strong> School Delivery
2442                            </a>
2443                        </li>
2444                    </ul>
2445
2446                    <!-- Shipping Tab panes -->
2447                    <div class="tab-content" style="margin-top: 15px;">
2448
2449                        <div role="tabpanel" class="tab-pane fade in active" id="shippingOptions" ng-if="isShippingFormVisible()">
2450                            <!-- Shipping Options -->
2451                            <div class="well">
2452                                <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())">
2453                                    <div class="col-xs-12">
2454                                        <div class="pull-left">
2455                                            Please input an address to see shipping options
2456                                        </div>
2457                                    </div>
2458                                </div>
2459                                <!-- Shipping options -->
2460                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2461                                    <div class="col-xs-12">
2462                                        <i class="fa fa-spinner fa-pulse"></i>
2463                                    </div>
2464                                </div>
2465
2466                                <div ng-if="!ShippingStatus.OptionsUpdating">
2467                                    <div ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()" class="row">
2468                                        <div class="col-xs-12">
2469                                            <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2470                                        </div>
2471                                    </div>
2472                                    <div ng-if="showShippingStateRequired()" class="row">
2473                                        <div class="col-xs-12">
2474                                            <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">Please enter a valid {{ShippingInfo.ZipOrPostal}} to see shipping options</p>
2475                                        </div>
2476                                    </div>
2477                                    <div ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()" class="row">
2478                                        <div class="col-xs-12">
2479                                            Shipping options are not available for this country or region.
2480                                            <br>
2481                                            Please call {{InitInfo.Store.phone}} for shipping options.
2482                                        </div>
2483                                    </div>
2484                                    <div ng-if="hasShippingOptions()" class="row">
2485                                        <div class="col-xs-12">
2486                                            <ul class="list-unstyled">
2487                                                <li ng-repeat="option in enhancedShippingInfo.shippingOptions track by option.id">
2488                                                    <div class="form-group">
2489                                                        <label>
2490                                                            <input
2491                                                                    ng-required="!ShippingInfo.OptionId"
2492                                                                    name="shipping_option"
2493                                                                    type="radio"
2494                                                                    value="{{option.id}}"
2495                                                                    ng-change="ShippingVerify()"
2496                                                                    ng-model="ShippingInfo.OptionId"
2497                                                                    class="option_radio"
2498                                                            >
2499                                                            <span class="option_content" style="font-weight: normal">
2500                                                                    <span ng-if="!isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{option.price | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span>
2501                                                                    <span ng-if="isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span>
2502                                                                </span>
2503                                                        </label>
2504                                                    </div>
2505                                                </li>
2506                                            </ul>
2507                                            <div>
2508                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2509                                            </div>
2510                                        </div>
2511                                    </div>
2512                                </div>
2513                            </div>
2514
2515                            <!-- Ship to School -->
2516                            <div ng-if="canShowShipToSchool()">
2517                                <div class="form-group">
2518                                    <label>
2519                                        <input type="checkbox" ng-model="ShippingInfo.shipToSchool">
2520                                        Ship to School
2521                                    </label>
2522                                </div>
2523
2524                                <div ng-if="ShippingInfo.shipToSchool">
2525                                    <div ng-if="districts && districts.length > 0" class="school-selection">
2526                                        <div ng-class="FormFieldErrorClass('shippingForm', 'district_select', shippingForm)" class="form-group">
2527                                            <label for="district_select">Select District</label>
2528                                            <select id="district_select"
2529                                                    name="district_select"
2530                                                    class="form-control"
2531                                                    ng-model="ShippingInfo.selectedDistrict"
2532                                                    ng-options="district as district.name for district in districts"
2533                                                    ng-change="onDistrictChange()"
2534                                                    ng-required="ShippingInfo.shipToSchool">
2535                                                <option value="">-- Select District --</option>
2536                                            </select>
2537                                            <label ng-if="FormFieldError('shippingForm', 'district_select', shippingForm)" class="control-label error-label">
2538                                                Please select a district
2539                                            </label>
2540                                        </div>
2541
2542                                        <div ng-class="FormFieldErrorClass('shippingForm', 'school_select', shippingForm)" class="form-group">
2543                                            <label for="school_select">Select School</label>
2544                                            <select id="school_select"
2545                                                    name="school_select"
2546                                                    class="form-control"
2547                                                    ng-model="ShippingInfo.selectedSchool"
2548                                                    ng-options="school as school.name for school in schools"
2549                                                    ng-disabled="!ShippingInfo.selectedDistrict"
2550                                                    ng-required="ShippingInfo.shipToSchool">
2551                                                <option value="">-- Select School --</option>
2552                                            </select>
2553                                            <label ng-if="FormFieldError('shippingForm', 'school_select', shippingForm)" class="control-label error-label">
2554                                                Please select a school
2555                                            </label>
2556                                        </div>
2557                                    </div>
2558                                </div>
2559                            </div>
2560
2561                            <!-- Shipping Address -->
2562                            <div ng-if="showShippingAddressForm()">
2563                                                                <div class="row">
2564                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()">
2565                                        <input ng-required="!isPickup()"
2566                                               capitalize-first
2567                                               id="shipping_first_name" data-cy="web-checkout-shipping-first-name"
2568                                               name="shipping_first_name"
2569                                               type="text"
2570                                               ng-model="ShippingInfo.FirstName"
2571                                               class="form-control"
2572                                               placeholder="First Name"
2573                                               ng-focus="InitToolTip($event)"
2574                                               data-toggle="tooltip"
2575                                               title="First Name">
2576                                        <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label">
2577                                            Please enter a first name
2578                                        </label>
2579                                    </div>
2580                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()">
2581                                        <input ng-required="!isPickup()"
2582                                               capitalize-first
2583                                               id="shipping_last_name" data-cy="web-checkout-shipping-last-name"
2584                                               name="shipping_last_name"
2585                                               type="text"
2586                                               ng-model="ShippingInfo.LastName"
2587                                               class="form-control"
2588                                               placeholder="Last Name"
2589                                               ng-focus="InitToolTip($event)"
2590                                               data-toggle="tooltip"
2591                                               title="Last Name">
2592                                        <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label">
2593                                            Please enter a last name
2594                                        </label>
2595                                    </div>
2596                                </div>
2597
2598                                <div class="row">
2599                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_address_1', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2600                                        <input ng-required="!isPickup()"
2601                                               capitalize-first
2602                                               id="shipping_address_1" data-cy="web-checkout-shipping-address1"
2603                                               name="shipping_address_1"
2604                                               type="text"
2605                                               ng-model="ShippingInfo.Address1"
2606                                               street-address
2607                                               ng-disabled="ShippingInfoPrefilledFlags.Address1"
2608                                               ng-blur="AddressBlur()"
2609                                               class="form-control"
2610                                               placeholder="Street Address 1"
2611                                               ng-focus="InitToolTip($event)"
2612                                               data-toggle="tooltip"
2613                                               title="Street Address 1">
2614                                        <label ng-if="FormFieldError('shippingForm', 'shipping_address_1', shippingForm) && shippingForm.shipping_address_1.$error.required" class="control-label error-label">
2615                                            Please enter a street address
2616                                        </label>
2617                                        <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">
2618                                            Please enter a valid street address.
2619                                        </label>
2620                                    </div>
2621                                    <div class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2622                                        <input
2623                                            id="shipping_address_2" data-cy="web-checkout-shipping-address2"
2624                                            name="shipping_address_2"
2625                                            type="text"
2626                                            ng-model="ShippingInfo.Address2"
2627                                            ng-disabled="ShippingInfoPrefilledFlags.Address2"
2628                                            ng-blur="AddressBlur()"
2629                                            class="form-control"
2630                                            placeholder="Street Address 2"
2631                                            ng-focus="InitToolTip($event)"
2632                                            data-toggle="tooltip"
2633                                            title="Street Address 2"
2634                                        >
2635                                    </div>
2636                                </div>
2637
2638                                <div class="row">
2639                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_city', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2640                                        <input ng-required="!isPickup()"
2641                                               capitalize-first
2642                                               id="shipping_city" data-cy="web-checkout-shipping-city"
2643                                               name="shipping_city"
2644                                               type="text"
2645                                               ng-model="ShippingInfo.City"
2646                                               ng-disabled="ShippingInfoPrefilledFlags.City"
2647                                               ng-blur="AddressBlur()"
2648                                               class="form-control"
2649                                               placeholder="City"
2650                                               ng-focus="InitToolTip($event)"
2651                                               data-toggle="tooltip"
2652                                               title="City">
2653                                        <label ng-if="FormFieldError('shippingForm', 'shipping_city', shippingForm)" class="control-label error-label">
2654                                            Please enter a City
2655                                        </label>
2656                                    </div>
2657                                    <div ng-if="InitInfo.Regions[ShippingInfo.CountryKey] && ShippingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6">
2658                                        <select ng-required="!isPickup()"
2659                                                id="shipping_state" data-cy="web-checkout-shipping-state"
2660                                                name="shipping_state"
2661                                                ng-change="ShippingOptionsGet()"
2662                                                ng-model="ShippingInfo.State"
2663                                                ng-disabled="ShippingInfoPrefilledFlags.State"
2664                                                class="form-control">
2665                                            <option value="">Select {{ShippingInfo.StateOrProvince}}</option>
2666                                            <option ng-repeat="(key, value) in InitInfo.Regions[ShippingInfo.CountryKey]" value="{{key}}">{{value}}</option>
2667                                        </select>
2668                                        <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label">
2669                                            Please select a {{ShippingInfo.StateOrProvince}}
2670                                        </label>
2671                                    </div>
2672                                    <div ng-if="!InitInfo.Regions[ShippingInfo.CountryKey]" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6">
2673                                        <input ng-required="!isPickup()"
2674                                               capitalize-first
2675                                               id="shipping_state" data-cy="web-checkout-shipping-state"
2676                                               name="shipping_state"
2677                                               type="text"
2678                                               ng-model="ShippingInfo.State"
2679                                               ng-disabled="ShippingInfoPrefilledFlags.State"
2680                                               ng-change="ShippingOptionsGet()"
2681                                               class="form-control"
2682                                               placeholder="State/Province"
2683                                               ng-focus="InitToolTip($event)"
2684                                               data-toggle="tooltip"
2685                                               title="State/Province">
2686                                        <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label">
2687                                            Please enter the State/Province
2688                                        </label>
2689                                    </div>
2690                                    <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('shippingForm', 'shipping_country', shippingForm)" class="col-sm-6">
2691                                        <select ng-required="!isPickup()"
2692                                                id="shipping_country" data-cy="web-checkout-shipping-country"
2693                                                name="shipping_country"
2694                                                ng-change="changeShippingCountry()"
2695                                                ng-model="ShippingInfo.CountryKey"
2696                                                ng-disabled="ShippingInfoPrefilledFlags.Country"
2697                                                class="form-control"
2698                                                ng-options="key as value for (key, value) in InitInfo.Countries">
2699                                        </select>
2700                                        <label ng-if="FormFieldError('shippingForm', 'shipping_country', shippingForm)" class="control-label error-label">
2701                                            Please select a country
2702                                        </label>
2703                                    </div>
2704                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_zip', shippingForm)" class="col-sm-6">
2705                                        <input ng-required="!isPickup()"
2706                                               id="shipping_zip" data-cy="web-checkout-shipping-zip"
2707                                               name="shipping_zip"
2708                                               type="text"
2709                                               ng-change="ShippingOptionsGet()"
2710                                               ng-model="ShippingInfo.Zip"
2711                                               ng-disabled="ShippingInfoPrefilledFlags.Zip"
2712                                               ng-model-options="{debounce: 750}"
2713                                               class="form-control"
2714                                               style="max-width: 125px;"
2715                                               placeholder="{{ShippingInfo.ZipOrPostal}}"
2716                                               ng-focus="InitToolTip($event)"
2717                                               data-toggle="tooltip"
2718                                               title="{{ShippingInfo.ZipOrPostal}}">
2719                                        <label ng-if="FormFieldError('shippingForm', 'shipping_zip', shippingForm)" class="control-label error-label">
2720                                            Please enter a {{ShippingInfo.ZipOrPostal}}
2721                                        </label>
2722                                    </div>
2723                                </div>
2724                                                                <!-- Order Notes -->
2725                                <div class="row">
2726                                    <div class="col-xs-12">
2727                                        <label>Notes</label>
2728                                    </div>
2729                                </div>
2730                                <div class="row">
2731                                    <div class="col-sm-12">
2732                                        <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2733                                    </div>
2734                                </div>
2735
2736                                <!-- Gift Message -->
2737                                <div class="row" ng-if="shouldShowGiftCardsCoupons()">
2738                                    <label class="col-xs-12">
2739                                        <input type="checkbox" ng-model="GiftMessage.Checked" ng-click="GiftMessageEdit()">
2740                                        <small>This is a gift</small>
2741                                    </label>
2742                                </div>
2743                                <div ng-show="GiftMessage.Checked || GiftMessage.Message" class="row">
2744                                    <div class="col-xs-12">
2745                                        <div class="form-group">
2746                                            <p>
2747                                                <small>Prices will be hidden on receipt.</small>
2748                                            </p>
2749                                            <label class="">Gift Message</label> <small>(Optional)</small>
2750                                            <textarea ng-model="GiftMessage.Message" class="form-control" rows="4"></textarea>
2751                                        </div>
2752                                    </div>
2753                                </div>
2754                            </div>
2755                        </div>
2756                        <div role="tabpanel" class="tab-pane fade" id="inStorePickup">
2757                            <div class="well">
2758                                <!-- Shipping options -->
2759                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2760                                    <div class="col-xs-12">
2761                                        <i class="fa fa-spinner fa-pulse"></i>
2762                                    </div>
2763                                </div>
2764                                <div ng-if="!ShippingStatus.OptionsUpdating">
2765                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2766                                        <div class="col-xs-12">
2767                                                <span ng-if="ShippingStatus.Message">
2768                                                    <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2769                                                </span>
2770                                        </div>
2771                                    </div>
2772                                    <div ng-if="!hasStorePickupOptions()" class="row">
2773                                        <div class="col-xs-12">
2774                                            Store Pickup options are not available for this country or region.
2775                                        </div>
2776                                    </div>
2777
2778                                    <div ng-if="hasStorePickupOptions()" class="row">
2779                                        <div class="col-xs-12">
2780                                            <ul class="list-unstyled">
2781                                                <li ng-repeat="option in enhancedShippingInfo.storePickupOptions track by option.id">
2782                                                    <div class="form-group">
2783                                                        <label>
2784                                                            <input
2785                                                                    ng-required="!ShippingInfo.OptionId"
2786                                                                    name="shipping_option"
2787                                                                    type="radio"
2788                                                                    value="{{option.id}}"
2789                                                                    ng-change="ShippingVerify()"
2790                                                                    ng-model="ShippingInfo.OptionId"
2791                                                                    class="option_radio"
2792                                                            >
2793                                                            <span class="option_content" style="font-weight: normal">
2794                                                                    <strong>{{option.store_location_name}}</strong>
2795                                                                    <br>
2796                                                                    <span>{{option.delivery_time}}</span>
2797                                                                </span>
2798                                                        </label>
2799                                                    </div>
2800                                                </li>
2801                                            </ul>
2802                                            <div>
2803                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2804                                            </div>
2805                                        </div>
2806                                    </div>
2807
2808                                    <!-- Order Notes -->
2809                                    <div class="row">
2810                                        <div class="col-xs-12">
2811                                            <label>Notes</label>
2812                                        </div>
2813                                    </div>
2814                                    <div class="row">
2815                                        <div class="col-sm-12">
2816                                            <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2817                                        </div>
2818                                    </div>
2819                                </div>
2820                            </div>
2821                        </div>
2822                        <div role="tabpanel" class="tab-pane fade" id="curbsidePickup">
2823                            <div class="well">
2824                                <!-- Shipping options -->
2825                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2826                                    <div class="col-xs-12">
2827                                        <i class="fa fa-spinner fa-pulse"></i>
2828                                    </div>
2829                                </div>
2830                                <div ng-if="!ShippingStatus.OptionsUpdating">
2831                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2832                                        <div class="col-xs-12">
2833                                                <span ng-if="ShippingStatus.Message">
2834                                                    <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2835                                                </span>
2836                                        </div>
2837                                    </div>
2838                                    <div ng-if="!hasCurbsidePickupOptions()" class="row">
2839                                        <div class="col-xs-12">
2840                                            Curbside pickup options are not available for this country or region.
2841                                        </div>
2842                                    </div>
2843
2844                                    <div ng-if="hasCurbsidePickupOptions()" class="row">
2845                                        <div class="col-xs-12">
2846                                            <ul class="list-unstyled">
2847                                                <li ng-repeat="option in enhancedShippingInfo.curbsidePickupOptions track by option.id">
2848                                                    <div class="form-group">
2849                                                        <label>
2850                                                            <input
2851                                                                    ng-required="!ShippingInfo.OptionId"
2852                                                                    name="shipping_option"
2853                                                                    type="radio"
2854                                                                    value="{{option.id}}"
2855                                                                    ng-change="ShippingVerify()"
2856                                                                    ng-model="ShippingInfo.OptionId"
2857                                                                    class="option_radio"
2858                                                            >
2859                                                            <span class="option_content" style="font-weight: normal">
2860                                                                    <strong>{{option.store_location_name}}</strong>
2861                                                                    <br>
2862                                                                    <span>{{option.delivery_time}}</span>
2863                                                                </span>
2864                                                        </label>
2865                                                    </div>
2866                                                </li>
2867                                            </ul>
2868                                            <div>
2869                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2870                                            </div>
2871                                        </div>
2872                                    </div>
2873                                </div>
2874                            </div>
2875                        </div>
2876
2877                        <div role="tabpanel" class="tab-pane fade" id="schoolPickup" ng-if="areShippingOptionsRequired()">
2878                            <div class="well">
2879                                <div ng-if="!ShippingStatus.OptionsUpdating">
2880                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2881                                        <div class="col-xs-12">
2882                                            <span ng-if="ShippingStatus.Message">
2883                                                <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2884                                            </span>
2885                                        </div>
2886                                    </div>
2887                                    <div ng-if="!hasSchoolPickupOptions() || !isOsrSchoolPickupAvailable()" class="row">
2888                                        <div class="col-xs-12">
2889                                            School Delivery is not available now.
2890                                        </div>
2891                                    </div>
2892
2893                                    <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()" class="row">
2894                                        <div class="col-xs-12">
2895                                            <ul class="list-unstyled">
2896                                                <li ng-repeat="option in enhancedShippingInfo.schoolPickupOptions track by option.id">
2897                                                    <div class="form-group">
2898                                                        <label>
2899                                                            <input
2900                                                                ng-required="!ShippingInfo.OptionId"
2901                                                                name="shipping_option"
2902                                                                type="radio"
2903                                                                value="{{option.id}}"
2904                                                                ng-change="ShippingVerify()"
2905                                                                ng-model="ShippingInfo.OptionId"
2906                                                                class="option_radio"
2907                                                            >
2908                                                            <span class="option_content" style="font-weight: normal">
2909                                                                <strong> {{ option.school_name ? option.school_name : (checkFlagRestoreSchoolDeliveryShippingOption() ? 'School Delivery' : '') }}</strong>
2910                                                                <br>
2911                                                                <span>{{option.delivery_time}}</span>
2912                                                            </span>
2913                                                        </label>
2914                                                    </div>
2915                                                </li>
2916                                            </ul>
2917                                            <div>
2918                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2919                                            </div>
2920                                        </div>
2921                                    </div>
2922
2923                                    <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()">
2924                                        <!-- Order Notes -->
2925                                        <div class="row">
2926                                            <div class="col-xs-12">
2927                                                <label>Notes</label>
2928                                            </div>
2929                                        </div>
2930                                        <div class="row">
2931                                            <div class="col-sm-12">
2932                                                <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2933                                            </div>
2934                                        </div>
2935                                    </div>
2936                                </div>
2937                            </div>
2938                        </div>
2939
2940                        <div ng-if="isLocalDeliveryEnabled()" role="tabpanel" class="tab-pane fade" id="localDelivery">
2941                            <div class="well">
2942                                <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())">
2943                                    <div class="col-xs-12">
2944                                        <div class="pull-left">
2945                                            Please input an address to see shipping options
2946                                        </div>
2947                                    </div>
2948                                </div>
2949
2950                                <div class="row" ng-if="ShippingStatus.OptionsUpdating">
2951                                    <div class="col-xs-12"><i class="fa fa-spinner fa-pulse"></i></div>
2952                                </div>
2953
2954                                <div ng-if="!ShippingStatus.OptionsUpdating">
2955                                    <div class="row" ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()">
2956                                        <div class="col-xs-12">
2957                                            <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2958                                        </div>
2959                                    </div>
2960
2961                                    <div class="row" ng-if="showShippingStateRequired()">
2962                                        <div class="col-xs-12">
2963                                            <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">
2964                                                Please enter a valid {{ShippingInfo.ZipOrPostal}} to see delivery options
2965                                            </p>
2966                                        </div>
2967                                    </div>
2968
2969                                    <div class="row" ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()">
2970                                        <div class="col-xs-12">
2971                                            Local delivery options are not available for this country or region.
2972                                            <br>
2973                                            Please call {{InitInfo.Store.phone}} for delivery options.
2974                                        </div>
2975                                    </div>
2976
2977                                    <div class="row" ng-if="hasLocalDeliveryOptions()">
2978                                        <div class="col-xs-12">
2979                                            <ul class="list-unstyled">
2980                                                <li ng-repeat="option in enhancedShippingInfo.localDeliveryOptions track by option.id">
2981                                                    <div class="form-group">
2982                                                        <label style="font-weight: normal;">
2983                                                            <input
2984                                                                ng-required="!ShippingInfo.OptionId"
2985                                                                name="shipping_option"
2986                                                                type="radio"
2987                                                                class="option_radio"
2988                                                                ng-model="ShippingInfo.OptionId"
2989                                                                ng-value="option.id"
2990                                                                ng-change="ShippingInfo.Option = option; ShippingVerify()"
2991                                                            >
2992                                                            <span class="option_content">
2993                                                                <strong>{{option.name}}</strong>
2994                                                                <span ng-if="!isTaxInclusive()"> - {{option.price | currency:InitInfo.CurrencySymbol2}}</span>
2995                                                                <span ng-if="isTaxInclusive()"> - {{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span>
2996                                                                <br><span>{{option.delivery_time}}</span>
2997                                                            </span>
2998                                                        </label>
2999                                                    </div>
3000                                                </li>
3001                                            </ul>
3002                                            <small ng-if="ShippingStatus.Submitted && !ShippingInfo.OptionId" class="text-danger control-label">
3003                                                Please select a shipping option
3004                                            </small>
3005                                        </div>
3006                                    </div>
3007                                </div>
3008                            </div>
3009                                                    </div>
3010                    </div>
3011                </div>
3012
3013                <div ng-if="showNoShippingRequired()">
3014                    <div class="row">
3015                        <div class="col-xs-12">
3016                            Shipping is not required for any of the items in your cart.
3017                        </div>
3018                    </div>
3019                </div>
3020
3021                <!--                    <div class="row">-->
3022                <!--                        <label class="col-xs-12">-->
3023                <!--                             <input type="checkbox" ng-model="ContactInfo.JoinEmailList" checked> -->
3024                <!--                             <small>Join our email list</small> -->
3025                <!--                        </label>-->
3026                <!--                    </div>-->
3027
3028            </div>
3029        </div>
3030
3031        <!-- Contact Shipping Summary -->
3032
3033        <div ng-show="showSummaries()" class="ng-hide">
3034            <div class="well">
3035                <div class="row">
3036                    <div class="col-xs-6">
3037                        <strong>Contact Information</strong>&nbsp;&nbsp;
3038                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3039                        <br>
3040                        <small>
3041                            {{BillingInfo.Email}}<br>
3042                            {{BillingInfo.Phone}}<br>
3043                        </small>
3044                    </div>
3045                    <div ng-if="GiftMessage.Checked" class="col-xs-6">
3046                        <strong>Gift Message</strong>&nbsp;&nbsp;
3047                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a><br>
3048                        <span><small><strong>This is a gift</strong></small><br></span>
3049                        <span ng-if="GiftMessage.Message"><small>{{GiftMessage.Message}}</small></span>
3050                        <span ng-if="!GiftMessage.Message"><small>There is no message</small></span>
3051                    </div>
3052
3053                    <div ng-if="!isPickup()" class="col-xs-6">
3054                        <strong >Shipping Information</strong>
3055                        <span ng-if="ShippingStatus.Entered && ShippingStatus.Required">
3056                                &nbsp;&nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3057                                <br>
3058                                <small style="text-transform: capitalize;">
3059                                    <span ng-if="ShippingInfo.FirstName || ShippingInfo.LastName">{{ShippingInfo.FirstName}} {{ShippingInfo.LastName}}<br></span>
3060                                    <span ng-if="ShippingInfo.Address1">{{ShippingInfo.Address1}}<br></span>
3061                                    <span ng-if="ShippingInfo.Address2">{{ShippingInfo.Address2}}<br></span>
3062                                    <span ng-if="ShippingInfo.City">{{ShippingInfo.City}},</span> {{ShippingInfo.State}} {{ShippingInfo.Zip}}
3063                                    <span ng-if="ShippingInfo.Country != Region"><br>{{ShippingInfo.Country}}</span>
3064                                </small>
3065                            </span>
3066                        <span ng-if="!ShippingStatus.Required">No shipping required</span>
3067                    </div>
3068                    <div ng-if="isPickup()" class="col-xs-6">
3069                        <strong ng-if="isStorePickup()">Store Pickup Information</strong>
3070                        <strong ng-if="isCurbsidePickup()">Curbside Pickup Information</strong>
3071                        <strong ng-if="isSchoolPickup()">School Delivery Information</strong>
3072                        &nbsp;&nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3073                        <br>
3074                        <small style="text-transform: capitalize;">
3075                            {{ShippingInfo.Option.delivery_time}}
3076                        </small>
3077                    </div>
3078
3079                    <div ng-if="ShippingInfo.Comments" class="col-xs-6">
3080                        <strong>Additional Comments</strong>&nbsp;&nbsp;
3081                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3082                    </div>
3083                </div>
3084            </div>
3085        </div>
3086
3087        <!-- Mobile Summary -->
3088
3089        <div class="panel panel-default visible-xs-block">
3090            <div ng-if="StatusInfo.Initializing" class="panel-body">
3091                <i class="fa fa-spinner fa-pulse fa-2x"></i>
3092            </div>
3093            <table ng-if="!StatusInfo.Initializing" class="table">
3094                <tr>
3095                    <td colspan="2">
3096                        Subtotal
3097                        &nbsp;&nbsp;<small><a ng-click="StatusInfo.CouponShow = !StatusInfo.CouponShow" href="">Enter Coupon</a> | <a ng-click="StatusInfo.CouponShow = !StatusInfo.CouponShow" href="">Gift Card</a></small>
3098                    </td>
3099                    <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></td>
3100                </tr>
3101                <tr ng-if="StatusInfo.CouponShow">
3102                    <td colspan="2">
3103                            <span id="gift-card-coupon-msgs">
3104                                <!-- Messages -->
3105                                <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
3106                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
3107                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Applied</span>
3108                                <!-- Loading -->
3109                                <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
3110                            </span>
3111                        <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;">
3112                    </td>
3113                    <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: bottom;">
3114                        <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>
3115                    </td>
3116                </tr>
3117                <tbody ng-if="CartData.Coupons.length > 0" ng-repeat="coupon in CartData.Coupons">
3118                <tr>
3119                    <td colspan="2">
3120                        Discount
3121                        {{coupon.title}}
3122                        &nbsp;&nbsp;<a ng-click="removeCoupon(coupon.couponId)" href="">[remove]</a>
3123                    </td>
3124                    <td colspan="2" align="right">
3125                        <strong>-{{coupon.discount | currency:InitInfo.CurrencySymbol2}}</strong>
3126                    </td>
3127                </tr>
3128                </tbody>
3129                <tr ng-if="ShippingStatus.Valid && ShippingStatus.Required">
3130                    <td colspan="2">
3131                        Shipping {{ShippingInfo.Option.name}}<br>
3132                        <small>{{ShippingInfo.Option.delivery_time}}</small>
3133                    </td>
3134                    <td ng-if="!isTaxInclusive()" colspan="2" align="right">
3135                        <strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong>
3136                    </td>
3137                    <td ng-if="isTaxInclusive()" colspan="2" align="right">
3138                        <strong>{{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}</strong>
3139                    </td>
3140                </tr>
3141                <tr>
3142                    <td colspan="2">
3143                        Taxes
3144                    </td>
3145                    <td colspan="2" align="right" data-cy="web-checkout-summary-taxes">
3146                        <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span>
3147                        <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong>
3148                    </td>
3149                </tr>
3150                <tr ng-if="ShippingTaxes">
3151                    <td colspan="2">
3152                        Shipping Taxes
3153                    </td>
3154                    <td colspan="2" align="right">
3155                        <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong>
3156                    </td>
3157                </tr>
3158                <tbody ng-if="CartData.GiftCards.length > 0" ng-repeat="gc in CartData.GiftCards">
3159                <tr>
3160                    <td colspan="2">
3161                        Gift Card <a href="" ng-click="removeGiftCard(gc.id)">[remove]</a><br>
3162                        <small>{{gc.number}}</small>
3163                    </td>
3164                    <td colspan="2" align="right">
3165                        <strong>-{{gc.Amount | currency:InitInfo.CurrencySymbol2}}</strong>
3166                    </td>
3167                </tr>
3168                </tbody>
3169                <tr>
3170                    <td colspan="2">
3171                        Total
3172                    </td>
3173                    <td ng-if="!showAsGST()" colspan="2" align="right" class="h4" data-cy="web-checkout-summary-total">
3174                        <strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
3175                    </td>
3176                    <td ng-if="showAsGST()" style="text-align: right;min-width: 95px;">
3177                        <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
3178                        <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span>
3179                    </td>
3180                </tr>
3181            </table>
3182        </div>
3183
3184        <!-- Billing Edit -->
3185
3186        <div ng-form="billingForm" ng-class="{'panel panel-default' : ((showTerms() || isShippingEntered() || digitalOrder) && !isBNPLEnabled())}" ng-show="showBillingSection()">
3187            <div ng-if="isBNPLEnabled()">
3188                <div ng-show="showRainProcessing()" style="margin-bottom: 20px;">
3189                    <payment-methods
3190                        is-affirm-enabled="isBNPLEnabled('affirm')"
3191                        is-afterpay-enabled="isBNPLEnabled('afterpay')"
3192                        is-klarna-enabled="isBNPLEnabled('klarna')"
3193                        is-paypal-enabled="allowPayPalCheckout() && !isCardOnFileNeeded()"
3194                        is-pay-at-pick-up-enabled="showPaymentOptions()"
3195                        amount="getBNPLAmount()"
3196                        due="Due"
3197                        currency="getBNPLCurrency()"
3198                        currency-symbol="InitInfo.CurrencySymbol2"
3199                        country="getBNPLCountry()"
3200                        merchant-country="getBNPLMerchantCountry()"
3201                        model="stripeBNPLModel"
3202                        on-payment-method-changed="onPaymentMethodChanged"
3203                        on-ready="initRainProcessing"
3204                    ></payment-methods>
3205                </div>
3206
3207                <div ng-show="showRainProcessing() && showBillingSection() && !isPayAtPickup()" style="margin-bottom: 20px;">
3208                    <billing-address
3209                        show-billing-address="showBillingAddress()"
3210                        is-shipping-required="isShippingRequired()"
3211                    ></billing-address>
3212                </div>
3213
3214                <div ng-if="showTerms()">
3215                    <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" style='padding-left: 15px;'>
3216                        <input required id="TAndC" data-cy="web-checkout-terms-agree" name="TAndC" type="checkbox" ng-model="BillingInfo.TermsAgree">
3217                        I Agree to the Terms and Conditions (<a href="javascript:void(0);" ng-click="TermsShow()">click here to view</a>)
3218                        <br>
3219
3220                        <label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">
3221                            Please accept the Terms and Conditions before continuing.
3222                        </label>
3223                    </div>
3224                </div>
3225            </div>
3226
3227            <div ng-if="!isBNPLEnabled()" class="panel-body tab-options">
3228                <div ng-show="showBillingForm()" class="ng-hide">
3229                    <div ng-show="showPaymentOptions()">
3230                        <div>
3231                            <label>Payment Options</label>
3232                        </div>
3233
3234                        <!-- Nav tabs -->
3235                        <ul class="nav nav-pills nav-justified" role="tablist">
3236                            <li role="presentation" class="active">
3237                                <a href="#payNow" aria-controls="payNow" role="tab" data-toggle="pill" ng-click="payWithCardSelected()" id="payNowTab">
3238                                    <span class="fa fa-credit-card fa-fw"></span> Pay Now
3239                                </a>
3240                            </li>
3241                            <li role="presentation">
3242                                <a href="#payAtPickup" aria-controls="payAtPickup" role="tab" data-toggle="pill" ng-click="payAtPickupSelected()" id="payAtPickupTab">
3243                                    <span class="fa fa-truck fa-fw"></span> Pay at Pickup
3244                                </a>
3245                            </li>
3246                        </ul>
3247                    </div>
3248
3249                    <div class="tab-content" style="margin-top: 15px;" ng-show="showPaymentSection()">
3250                        <div role="tabpanel" class="tab-pane fade in active" id="payNow">
3251                            <div ng-show="!isPayPal() || digitalOrder">
3252                                <div class="row">
3253                                    <div class="col-xs-12">
3254                                        <label>Billing Address</label>
3255                                        <!-- Validation Messages -->
3256                                        <span ng-if="BillingStatus.MessagesShow && BillingStatus.NotValidMessages.length > 0" class="text-danger">
3257                                            <span ng-repeat="bm in BillingStatus.NotValidMessages">
3258                                                <br>{{bm}}
3259                                            </span>
3260                                        </span>
3261                                    </div>
3262                                </div>
3263
3264                                <div ng-if="isShippingRequired()" ng-hide="isPickup() || HideBillingSameAsShipping" class="row">
3265                                    <label class="col-xs-12">
3266                                        <input type="checkbox" data-cy="web-checkout-billing-same-as-shipping" ng-model="BillingInfo.AddressSameAsShipping" ng-click="BillingVerify()">
3267                                        <small>My billing address is the same as my shipping address</small>
3268                                    </label>
3269                                </div>
3270
3271                                <div ng-show="showBillingAddress()">
3272                                    <div class="row">
3273                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_first', billingForm)" class="col-sm-6">
3274                                            <input required
3275                                                   capitalize-first
3276                                                   id="billing_first" data-cy="web-checkout-billing-first-name"
3277                                                   name="billing_first"
3278                                                   type="text"
3279                                                   ng-model="BillingInfo.FirstName"
3280                                                   class="form-control"
3281                                                   placeholder="First Name"
3282                                                   ng-disabled="disableBillingFields()"
3283                                                   ng-focus="InitToolTip($event)"
3284                                                   data-toggle="tooltip"
3285                                                   title="First Name">
3286                                            <label ng-if="FormFieldError('billingForm', 'billing_first', billingForm)" class="control-label error-label">
3287                                                Please enter a first name
3288                                            </label>
3289                                        </div>
3290                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_last', billingForm)" class="col-sm-6">
3291                                            <input required
3292                                                   capitalize-first
3293                                                   id="billing_last" data-cy="web-checkout-billing-last-name"
3294                                                   name="billing_last"
3295                                                   type="text"
3296                                                   ng-model="BillingInfo.LastName"
3297                                                   class="form-control"
3298                                                   placeholder="Last Name"
3299                                                   ng-disabled="disableBillingFields()"
3300                                                   ng-focus="InitToolTip($event)"
3301                                                   data-toggle="tooltip"
3302                                                   title="Last Name">
3303                                            <label ng-if="FormFieldError('billingForm', 'billing_last', billingForm)" class="control-label error-label">
3304                                                Please enter a last name
3305                                            </label>
3306                                        </div>
3307                                    </div>
3308                                    <div class="row">
3309                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_address1', billingForm)" class="col-sm-6">
3310                                            <input required
3311                                                   capitalize-first
3312                                                   id="billing_address1" data-cy="web-checkout-billing-address1"
3313                                                   name="billing_address1"
3314                                                   type="text"
3315                                                   ng-model="BillingInfo.Address1"
3316                                                   class="form-control"
3317                                                   placeholder="Address Line 1"
3318                                                   ng-disabled="disableBillingFields()"
3319                                                   ng-focus="InitToolTip($event)"
3320                                                   data-toggle="tooltip"
3321                                                   title="Address Line 1">
3322                                            <label ng-if="FormFieldError('billingForm', 'billing_address1', billingForm)" class="control-label error-label">
3323                                                Please enter a street address
3324                                            </label>
3325                                        </div>
3326                                        <div class="col-sm-6">
3327                                            <input capitalize-first
3328                                                   id="billing_address2" data-cy="web-checkout-billing-address2"
3329                                                   name="billing_address2"
3330                                                   type="text"
3331                                                   ng-model="BillingInfo.Address2"
3332                                                   class="form-control"
3333                                                   placeholder="Address Line 2"
3334                                                   ng-disabled="disableBillingFields()"
3335                                                   ng-focus="InitToolTip($event)"
3336                                                   data-toggle="tooltip"
3337                                                   title="Address Line 2">
3338                                        </div>
3339                                    </div>
3340                                    <div class="row">
3341                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_city', billingForm)" class="col-sm-6">
3342                                            <input required
3343                                                   capitalize-first
3344                                                   id="billing_city" data-cy="web-checkout-billing-city"
3345                                                   name="billing_city"
3346                                                   type="text"
3347                                                   ng-model="BillingInfo.City"
3348                                                   class="form-control"
3349                                                   placeholder="City"
3350                                                   ng-disabled="disableBillingFields()"
3351                                                   ng-focus="InitToolTip($event)"
3352                                                   data-toggle="tooltip"
3353                                                   title="City">
3354                                            <label ng-if="FormFieldError('billingForm', 'billing_city', billingForm)" class="control-label error-label">
3355                                                Please enter a city
3356                                            </label>
3357                                        </div>
3358                                        <div ng-if="InitInfo.Regions[BillingInfo.CountryKey] && BillingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6">
3359                                            <select required
3360                                                    id="billing_state" data-cy="web-checkout-billing-state"
3361                                                    name="billing_state"
3362                                                    ng-change="BillingOptionsGet()"
3363                                                    ng-model="BillingInfo.State"
3364                                                    ng-disabled="disableBillingFields()"
3365                                                    class="form-control">
3366                                                <option value="">Select {{BillingInfo.StateOrProvince}}</option>
3367                                                <option ng-repeat="(key, value) in InitInfo.Regions[BillingInfo.CountryKey]" value="{{key}}">{{value}}</option>
3368                                            </select>
3369                                            <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label">
3370                                                Please select a {{BillingInfo.StateOrProvince}}
3371                                            </label>
3372                                        </div>
3373                                        <div ng-if="!InitInfo.Regions[BillingInfo.CountryKey]" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6">
3374                                            <input required
3375                                                   capitalize-first
3376                                                   id="billing_state" data-cy="web-checkout-billing-state"
3377                                                   name="billing_state"
3378                                                   type="text"
3379                                                   ng-change="BillingOptionsGet()"
3380                                                   ng-model="BillingInfo.State"
3381                                                   class="form-control"
3382                                                   placeholder="State/Province"
3383                                                   ng-disabled="disableBillingFields()"
3384                                                   ng-focus="InitToolTip($event)"
3385                                                   data-toggle="tooltip"
3386                                                   title="State/Province">
3387                                            <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label">
3388                                                Please enter the State/Province
3389                                            </label>
3390                                        </div>
3391                                    </div>
3392                                    <div class="row">
3393                                        <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('billingForm', 'billing_country', billingForm)" class="col-sm-6">
3394                                            <select required
3395                                                    id="billing_country" data-cy="web-checkout-billing-country"
3396                                                    name="billing_country"
3397                                                    ng-change="changeBilling
3397Country()"
3398                                                    ng-model="BillingInfo.CountryKey"
3399                                                    ng-disabled="disableBillingFields()"
3400                                                    class="form-control"
3401                                            >
3402                                                <option value="">Select Country</option>
3403                                                <option ng-repeat="(key, value) in InitInfo.Countries" value="{{key}}">{{value}}</option>
3404                                            </select>
3405                                            <label ng-if="FormFieldError('billingForm', 'billing_country', billingForm)" class="control-label error-label">
3406                                                Please select a country
3407                                            </label>
3408                                        </div>
3409                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_zip', billingForm)" class="col-sm-6">
3410                                            <input required
3411                                                   id="billing_zip" data-cy="web-checkout-billing-zip"
3412                                                   name="billing_zip"
3413                                                   type="text"
3414                                                   ng-change="BillingOptionsGet()"
3415                                                   ng-model="BillingInfo.Zip"
3416                                                   class="form-control"
3417                                                   style="max-width: 125px;"
3418                                                   placeholder="{{BillingInfo.ZipOrPostal}}"
3419                                                   ng-disabled="disableBillingFields()"
3420                                                   ng-focus="InitToolTip($event)"
3421                                                   data-toggle="tooltip"
3422                                                   title="{{BillingInfo.ZipOrPostal}}">
3423                                            <label ng-if="FormFieldError('billingForm', 'billing_zip', billingForm)" class="control-label error-label">
3424                                                Please enter a {{BillingInfo.ZipOrPostal}}
3425                                            </label>
3426                                        </div>
3427                                    </div>
3428                                </div>
3429
3430                                <div ng-if="showEnrollAutoPay()" class="row">
3431                                    <label class="col-xs-12">Enroll in autopay and never miss a payment!</label>
3432                                    <label class="col-xs-12">
3433                                        <input type="checkbox" ng-model="BillingInfo.enrollAutoPay" ng-disabled="isSubscriptionPayment()">
3434                                        <small>Add card on file and enroll in autopay</small>
3435                                    </label>
3436                                </div>
3437
3438                                <div ng-if="showCCPayment()">
3439                                    <div class="row">
3440                                        <div class="col-xs-12">
3441                                            <label>Secure Payment</label>
3442                                            <!-- Validation Messages -->
3443                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3444                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3445                                            </span>
3446                                        </div>
3447                                    </div>
3448
3449                                    <div class="row">
3450                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_number', billingForm)" class="col-sm-6 col-md-7">
3451                                            <input required
3452                                                   id="cc_number"
3453                                                   name="cc_number"
3454                                                   type="text"
3455                                                   ng-model="CardInfo.CC"
3456                                                   ng-blur="CCBlur('CC')"
3457                                                   class="form-control"
3458                                                   placeholder="Credit Card Number"
3459                                                   ng-focus="InitToolTip($event)"
3460                                                   data-toggle="tooltip"
3461                                                   title="Credit Card Number">
3462                                            <label ng-if="FormFieldError('billingForm', 'cc_number', billingForm)" class="control-label error-label">
3463                                                {{CardStatus.Message}}
3464                                            </label>
3465                                        </div>
3466                                        <div class="col-sm-6 col-md-5 hidden-xs">
3467                                            <label class="control-label" style="padding-top: 0px;">
3468                                                <i ng-if="InitInfo.CheckoutSettings.VisaAccepted" class="fa fa-cc-visa fa-2x" ng-class="Class.visa"></i>
3469                                                <i ng-if="InitInfo.CheckoutSettings.MCAccepted" class="fa fa-cc-mastercard fa-2x" ng-class="Class.mastercard"></i>
3470                                                <i ng-if="InitInfo.CheckoutSettings.AmexAccepted" class="fa fa-cc-amex fa-2x" ng-class="Class.amex"></i>
3471                                                <i ng-if="InitInfo.CheckoutSettings.DiscAccepted" class="fa fa-cc-discover fa-2x" ng-class="Class.discover"></i>
3472                                            </label>
3473                                        </div>
3474                                    </div>
3475
3476                                    <div class="row row-grid">
3477                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_month', billingForm)" class="col-xs-6 col-sm-4">
3478                                            <select required
3479                                                    id="cc_exp_month"
3480                                                    name="cc_exp_month"
3481                                                    ng-model="CardInfo.ExpMonth"
3482                                                    ng-blur="ExpBlur('Expiration')"
3483                                                    class="form-control">
3484                                                <option value="">Exp Month</option>
3485                                                <option ng-repeat="month in ExpMonths" value="{{month}}">{{month}}</option>
3486                                            </select>
3487                                            <label ng-if="FormFieldError('billingForm', 'cc_exp_month', billingForm)" class="control-label error-label">
3488                                                Select expiration month
3489                                            </label>
3490                                        </div>
3491                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_year', billingForm)" class="col-xs-6 col-sm-4">
3492                                            <select required
3493                                                    id="cc_exp_year"
3494                                                    name="cc_exp_year"
3495                                                    ng-model="CardInfo.ExpYear"
3496                                                    ng-blur="ExpBlur('Expiration')"
3497                                                    class="form-control">
3498                                                <option value="">Exp Year</option>
3499                                                <option ng-repeat="year in ExpYears" value="{{year}}">{{year}}</option>
3500                                            </select>
3501                                            <label ng-if="FormFieldError('billingForm', 'cc_exp_year', billingForm)" class="control-label error-label">
3502                                                Select expiration year
3503                                            </label>
3504                                        </div>
3505                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_cvv', billingForm)" class="col-xs-6 col-sm-4">
3506                                            <input required
3507                                                   id="cc_cvv"
3508                                                   name="cc_cvv"
3509                                                   type="text"
3510                                                   ng-model="CardInfo.CVV"
3511                                                   class="form-control"
3512                                                   placeholder="CVV"
3513                                                   ng-focus="InitToolTip($event)"
3514                                                   data-toggle="tooltip"
3515                                                   title="CVV">
3516                                            <label ng-if="FormFieldError('billingForm', 'cc_cvv', billingForm)" class="control-label error-label">
3517                                                Please enter the CVV
3518                                            </label>
3519                                        </div>
3520                                    </div>
3521                                </div>
3522
3523                                <div ng-show="showRainProcessing()" style="padding-top: 15px; padding-bottom: 15px;">
3524                                    <div class="row">
3525                                        <div class="col-xs-12">
3526                                            <label>Secure Payment</label>
3527                                            <!-- Validation Messages -->
3528                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3529                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3530                                            </span>
3531                                        </div>
3532                                    </div>
3533                                    <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'">
3534                                        <div class="col-xs-12">
3535                                            <div class="form-group nickname-group">
3536                                                <label for="cc-nickname" class="nickname-label">
3537                                                    <span>Card Nickname</span>
3538                                                    <span class="nickname-optional">(Optional)</span>
3539                                                </label>
3540                                                <input
3541                                                    ng-model="CardInfo.nickname"
3542                                                    id="cc-nickname"
3543                                                    type="text"
3544                                                    class="form-control nickname-input"
3545                                                    placeholder="Enter a card name"
3546                                                    maxlength="60"
3547                                                />
3548                                            </div>
3549                                        </div>
3550                                    </div>
3551                                    <div class="row">
3552                                        <div class="col-12 col-sm-6">
3553                                            <div class="form-group">
3554                                                <label for="card-number">Card Number</label>
3555                                                <div class="payment-wrapper">
3556                                                    <div id="card-number" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3557                                                    <div
3558                                                        ng-if="formData.selectedCustomerCardId"
3559                                                        class="payment-overlay"
3560                                                        ng-click="clearSavedCardSelection()"
3561                                                    ></div>
3562                                                </div>
3563                                            </div>
3564                                        </div>
3565                                        <div class="col-6 col-sm-3">
3566                                            <div class="form-group">
3567                                                <label for="card-exp">Expires</label>
3568                                                <div class="payment-wrapper">
3569                                                    <div id="card-exp" class="form-control  stripe-input" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3570                                                    <div
3571                                                        ng-if="formData.selectedCustomerCardId"
3572                                                        class="payment-overlay"
3573                                                        ng-click="clearSavedCardSelection()"
3574                                                    ></div>
3575                                                </div>
3576                                            </div>
3577                                        </div>
3578                                        <div class="col-6 col-sm-3">
3579                                            <div class="form-group">
3580                                                <label for="card-cvv">Security Code</label>
3581                                                <div class="payment-wrapper">
3582                                                    <div id="card-cvv" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3583                                                    <div
3584                                                        ng-if="formData.selectedCustomerCardId"
3585                                                        class="payment-overlay"
3586                                                        ng-click="clearSavedCardSelection()"
3587                                                    ></div>
3588                                                </div>
3589                                            </div>
3590                                        </div>
3591                                    </div>
3592                                    <div class="row" ng-if="isSavedCardsAllowed()">
3593                                        <div class="col-xs-12 divider-row">
3594                                            <div class="divider-line"></div>
3595                                            <span class="divider-text">or</span>
3596                                            <div class="divider-line"></div>
3597                                        </div>
3598                                    </div>
3599                                    <div class="row" ng-if="isSavedCardsAllowed()">
3600                                        <div class="col-xs-12">
3601                                            <div class="saved-cards-container">
3602                                                <div class="saved-cards-header">
3603                                                    <div class="saved-cards-col-name">Saved Cards</div>
3604                                                    <div class="saved-cards-col-exp">Expires On</div>
3605                                                </div>
3606
3607                                                <div ng-repeat="c in customerCards"
3608                                                     class="saved-card-row"
3609                                                     ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}"
3610                                                >
3611                                                    <label class="saved-card-label">
3612                                                        <input type="radio"
3613                                                               name="saved-card-rain"
3614                                                               ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card"
3615                                                               ng-value="c.pos_customer_card_id"
3616                                                               ng-change="onSelectSavedCard(c)">
3617                                                        <div class="saved-card-info">
3618                                                            <div class="saved-card-title">
3619                                                                {{ c.nickname || c.card_type }}
3620                                                                <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span>
3621                                                                <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span>
3622                                                            </div>
3623                                                        </div>
3624                                                    </label>
3625
3626                                                    <div class="saved-card-expdate">
3627                                                        {{ getFormattedExpirationDate(c.expiration_mmyy) }}
3628                                                    </div>
3629                                                </div>
3630                                            </div>
3631                                        </div>
3632                                    </div>
3633                                </div>
3634
3635                                <div ng-show="showQuiltProcessing()" id="adyen-container" data-cy="web-checkout-adyen-container" style="padding-top: 15px; padding-bottom: 15px;">
3636                                    <div class="row">
3637                                        <div class="col-xs-12">
3638                                            <label>Secure Payment</label>
3639                                            <!-- Validation Messages -->
3640                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3641                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3642                                            </span>
3643                                        </div>
3644                                    </div>
3645                                    <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'">
3646                                        <div class="col-xs-12">
3647                                            <div class="form-group nickname-group">
3648                                                <label for="cc-nickname" class="nickname-label">
3649                                                    <span>Card Nickname</span>
3650                                                    <span class="nickname-optional">(Optional)</span>
3651                                                </label>
3652                                                <input
3653                                                    ng-model="CardInfo.nickname"
3654                                                    id="cc-nickname"
3655                                                    type="text"
3656                                                    class="form-control nickname-input"
3657                                                    placeholder="Enter a card name"
3658                                                    maxlength="60"
3659                                                />
3660                                            </div>
3661                                        </div>
3662                                    </div>
3663                                    <div class="row">
3664                                        <div class="col-12 col-sm-6">
3665                                            <div class="form-group">
3666                                                <label for="card-number">Card Number</label>
3667                                                <div class="payment-wrapper">
3668                                                    <div id="cc-number" data-cse="encryptedCardNumber" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3669                                                    <div
3670                                                        ng-if="formData.selectedCustomerCardId"
3671                                                        class="payment-overlay"
3672                                                        ng-click="clearSavedCardSelection()"
3673                                                    ></div>
3674                                                </div>
3675                                            </div>
3676                                        </div>
3677                                        <div class="col-6 col-sm-3">
3678                                            <div class="form-group">
3679                                                <label for="card-exp">Expires</label>
3680                                                <div class="payment-wrapper">
3681                                                    <div id="cc-exp" data-cse="encryptedExpiryDate" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3682                                                    <div
3683                                                        ng-if="formData.selectedCustomerCardId"
3684                                                        class="payment-overlay"
3685                                                        ng-click="clearSavedCardSelection()"
3686                                                    ></div>
3687                                                </div>
3688                                            </div>
3689                                        </div>
3690                                        <div class="col-6 col-sm-3">
3691                                            <div class="form-group">
3692                                                <label for="card-cvv">CVC</label>
3693                                                <div class="payment-wrapper">
3694                                                    <div id="cc-cvv" data-cse="encryptedSecurityCode" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3695                                                    <div
3696                                                        ng-if="formData.selectedCustomerCardId"
3697                                                        class="payment-overlay"
3698                                                        ng-click="clearSavedCardSelection()"
3699                                                    ></div>
3700                                                </div>
3701                                            </div>
3702                                        </div>
3703                                    </div>
3704
3705                                    <div class="row" ng-if="isSavedCardsAllowed()">
3706                                        <div class="col-xs-12 divider-row">
3707                                            <div class="divider-line"></div>
3708                                            <span class="divider-text">or</span>
3709                                            <div class="divider-line"></div>
3710                                        </div>
3711                                    </div>
3712                                    <div class="row" ng-if="isSavedCardsAllowed()">
3713                                        <div class="col-xs-12">
3714                                            <div class="saved-cards-container">
3715                                                <div class="saved-cards-header">
3716                                                    <div class="saved-cards-col-name">Saved Cards</div>
3717                                                    <div class="saved-cards-col-exp">Expires On</div>
3718                                                </div>
3719
3720                                                <div ng-repeat="c in customerCards"
3721                                                     class="saved-card-row"
3722                                                     ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}"
3723                                                >
3724                                                    <label class="saved-card-label">
3725                                                        <input type="radio"
3726                                                               name="saved-card-adyen"
3727                                                               ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card"
3728                                                               ng-value="c.pos_customer_card_id"
3729                                                               ng-change="onSelectSavedCard(c)">
3730                                                        <div class="saved-card-info">
3731                                                            <div class="saved-card-title">
3732                                                                {{ c.nickname || c.card_type }}
3733                                                                <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span>
3734                                                                <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span>
3735                                                            </div>
3736                                                        </div>
3737                                                    </label>
3738
3739                                                    <div class="saved-card-expdate">
3740                                                        {{ getFormattedExpirationDate(c.expiration_mmyy) }}
3741                                                    </div>
3742                                                </div>
3743                                            </div>
3744                                        </div>
3745                                    </div>
3746                                                                    </div>
3747                            </div>
3748
3749                            <div ng-if="isPayPal() && !digitalOrder" style="text-align: center; margin-top: 15px;">
3750                                <br>
3751                            </div>
3752                        </div>
3753
3754                        <div role="tabpanel" class="tab-pane fade in active" id="payAtPickup" ng-if="isPayAtPickup()">
3755                            <div style="text-align: center; margin-top: 15px;">
3756                                <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>
3757                            </div>
3758                        </div>
3759                    </div>
3760                </div>
3761
3762                <!-- Terms and Conditions -->
3763                <div ng-if="showTerms()" class="row">
3764                    <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" class="col-xs-12">
3765                        <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>)
3766                        <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label>
3767                    </div>
3768                </div>
3769            </div>
3770        </div>
3771
3772        <div ng-if="areTermsEnabled() && !showBillingSection()" class="panel-body tab-options terms-fallback-panel">
3773            <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)">
3774                <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>)
3775                <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label>
3776            </div>
3777        </div>
3778
3779        <div ng-if="showTerms()" id="TermModal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
3780            <div class="modal-dialog" style="width: 100%; max-width: 850px;">
3781                <div class="modal-content">
3782                    <div class="modal-header">
3783                        <div class="close" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times"></i></div>
3784                        <h4 class="modal-title">Terms and Conditions</h4>
3785                    </div>
3786                    <div class="modal-body">
3787                        <span ng-if="StatusInfo.TermsProcessing"><i class="fa fa-spinner fa-pulse"></i></span>
3788                        <div id="TermsAndC"></div>
3789                    </div>
3790                </div>
3791            </div>
3792        </div>
3793
3794        <!-- Billing Summary -->
3795
3796        <div ng-show="showBillingSummary()" class="panel panel-default ng-hide">
3797            <div class="panel-body" style="background-color: #ececed;">
3798                <div class="row">
3799                    <div class="col-xs-6">
3800                        <div ng-if="!isPayPal()">
3801                            <strong>Billing Address</strong>&nbsp;&nbsp;
3802                            <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3803                            <br>
3804                            <span ng-if="!isPayAtPickup()">
3805                                <span ng-if="BillingInfo.FirstName || BillingInfo.LastName">{{BillingInfo.FirstName}} {{BillingInfo.LastName}}<br></span>
3806                                <span ng-if="BillingInfo.Address1">{{BillingInfo.Address1}}<br></span>
3807                                <span ng-if="BillingInfo.Address2">{{BillingInfo.Address2}}<br></span>
3808                                <span ng-if="BillingInfo.City || BillingInfo.State || BillingInfo.Zip">{{BillingInfo.City}}, {{BillingInfo.State}} {{BillingInfo.Zip}}</span>
3809                                <span ng-if="BillingInfo.Country != Region"><br>{{BillingInfo.Country}}</span>
3810                            </span>
3811                        </div>
3812                        <span ng-if="isPayAtPickup()">
3813                            Pay at Pickup<br>
3814                            Your balance of {{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} can be paid at the store when you pickup your item(s).
3815                        </span>
3816                        <div ng-if="isPayPal()">
3817                            <strong>Payment Information</strong>&nbsp;&nbsp;
3818                            <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3819                        </div>
3820                    </div>
3821                    <div class="col-xs-6" ng-if="showPaymentSummary()">
3822                        <strong>Payment Information</strong>&nbsp;&nbsp;
3823                        <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3824                        <br>
3825                        <small>
3826                            <span ng-if="CardInfo.CCMasked">{{CardInfo.CCMasked}}<br></span>
3827                            <span ng-if="CardInfo.ExpMonth || CardInfo.ExpYear">{{CardInfo.ExpMonth}}/{{CardInfo.ExpYear}}<br></span>
3828                            <span ng-if="CardInfo.CVV">{{CardInfo.CVV}}</span>
3829                        </small>
3830                    </div>
3831                </div>
3832            </div>
3833        </div>
3834
3835        <!-- Buttons -->
3836
3837        <div class="row row-grid">
3838                <div ng-show="showCaptcha === true" class="col-xs-12 col-md-6">
3839                    <div class="g-recaptcha2" data-sitekey="6LcM-AItAAAAAKBp9tFsqjcPCF0DhG4ZlRbyay8v" data-callback="correctCaptcha"></div>
3840                </div>
3841            <div class="col-xs-12" ng-class="{'col-md-6': showCaptcha}">
3842                <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">
3843                    <span>Place Your Order &nbsp; <i class="button-icon-right fa fa-caret-right"></i></span>
3844                </button>
3845                <div ng-if="CartStatus.Valid && isPayPal() && !isFree() && !isProcessing() && !checkFlagForSubscriptionOnly()">
3846                    <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;" />
3847                    <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;" />
3848                    <button ng-if="!skipBilling() && !isBillingDone()" ng-click="checkCaptcha()" type="button" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button">
3849                        Continue
3850                    </button>
3851                </div>
3852                <button type="button" ng-if="showBillingInitiallyNeededButton()" ng-click="checkCaptcha()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button">
3853                    Continue
3854                </button>
3855                <button type="button" ng-if="showCheckoutButton()" ng-click="CheckoutProcess()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-place-order-button">
3856                    <span ng-if="isVantivHosted() && !isWholesaleNoCCEnabled()">Proceed to Checkout</span>
3857                    <span ng-if="!isVantivHosted() && !isWholesaleNoCCEnabled()">Place Your Order</span>
3858                    <span ng-if="isWholesaleNoCCEnabled()">Place Wholesale Order</span>
3859                </button>
3860                <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">
3861                    Continue
3862                </button>
3863                <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">
3864                    Enter Shipping Information
3865                </button>
3866                <div ng-if="showCreditCardOption()" style="margin-top: 10px;">
3867                    <a ng-if="isCardProcessorVantiv()" ng-click="setProcessor('VantivHosted');" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a>
3868                    <a ng-if="isCardProcessorNMI()" ng-click="GoToCheckoutUrl();" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a>
3869                </div>
3870                <div ng-if="showPayPalOption()" style="margin-top: 10px;">
3871                    <a ng-click="setProcessor('paypal');" class="small-link" href="" style="font-weight: normal !important;">or checkout with PayPal</a>
3872                </div>
3873                <span ng-show="isProcessing()" data-cy="web-checkout-processing"><i class="fa fa-spinner fa-pulse fa-2x"></i></span>
3874            </div>
3875        </div>
3876
3877        <div ng-if="StatusInfo.ErrorMessageBottom" class="alert alert-danger" data-cy="web-checkout-error-bottom">
3878            <button type="button" class="close" ng-click="ErrorMessageBottomClose()" data-cy="web-checkout-error-bottom-close">&times;</button>
3879            {{StatusInfo.ErrorMessageBottom}}
3880        </div>
3881
3882    </div>
3883
3884    <!-- Summary area -->
3885
3886    <div class="col-sm-5 hidden-xs">
3887        <div class="panel panel-default">
3888            <div ng-if="StatusInfo.Initializing" class="panel-body">
3889                <i class="fa fa-spinner fa-pulse fa-2x"></i>
3890            </div>
3891            <table ng-if="!StatusInfo.Initializing" class="table">
3892    
3893
3894<thead>
3895<tr>
3896    <td><strong>Description</strong></td>
3897    <td><strong>Quantity</strong></td>
3898    <td colspan="2"><strong>Amount</strong></td>
3899</tr>
3900</thead>
3901<tbody ng-repeat="item in CartData.Items">
3902<tr>
3903    <td colspan="4" style="border-bottom: 0; padding-bottom: 0;">
3904        <span ng-if="item.condition">
3905                {{item.title}} ({{item.condition.title}})
3906        </span>
3907
3908        <span ng-if="!item.condition">
3909                            {{item.title}}
3910                        <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
3911        </span>
3912
3913        <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
3914            This item is not eligible for discounts
3915        </span>
3916        <span ng-if="!item.quantity_updating && item.type == 'rental'">
3917            - {{item.id}}
3918        </span>
3919        <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
3920            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
3921        </span>
3922        <span ng-if="item.class_attendees.length">
3923            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
3924            <span ng-repeat="name in item.class_attendees">
3925                &nbsp;{{name}}
3926            </span>
3927        </span>
3928    </td>
3929</tr>
3930<tr>
3931    <td style="border-top: 0;">
3932        <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;">
3933
3934            </td>
3935    <td style="vertical-align: middle; border-top: 0;">
3936        <div ng-if="showQuantityAsSelector(item)" class="form-inline">
3937                            <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)">
3938                </select>
3939            
3940            <span ng-if="item.qty_type == 'fraction'">
3941                <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)">
3942                </select>
3943                <span ng-if="item.measure_unit == 'Meter'">Metres</span>
3944                <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span>
3945            </span>
3946        </div>
3947        <div ng-if="showQuantityAsNumber(item)">
3948            {{item.qty_integer}}
3949        </div>
3950        <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
3951    </td>
3952
3953            <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td>
3954    
3955    <td style="vertical-align: middle; border-top: 0;">
3956        <div class="cartCell cartDelete">
3957                            <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>
3958                        <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
3959        </div>
3960    </td>
3961    <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td>
3962</tr>
3963<tr ng-if="item.type === 'subscription'">
3964    <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
3965        <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
3966            <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
3967            View Subscription Details
3968        </a>
3969        <div ng-show="showSubscriptionDetails">
3970            <table class="subscription-details">
3971                <tr>
3972                    <td>{{item.subscriptionData.labels.adverb}} Price:</td>
3973                    <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
3974                </tr>
3975                <tr>
3976                    <td>Subscription Length:</td>
3977                    <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
3978                </tr>
3979                <tr>
3980                    <td>Start/End Date:</td>
3981                    <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
3982                </tr>
3983                <tr>
3984                    <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
3985                    <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
3986                </tr>
3987                <tr>
3988                    <td>Previous {{item.subscriptionData.labels.plural}}:</td>
3989                    <td>
3990                                                 <span ng-if="item.subscriptionData.previous_items_cnt > 0">
3991                                                    {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
3992                                                </span>
3993                        <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
3994                    </td>
3995                </tr>
3996                <tr>
3997                    <td>Delivery Method:</td>
3998                    <td ng-switch="item.subscriptionData.delivery_type">
3999                                            <span ng-switch-when="ship">
4000                                                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
4001                                            </span>
4002                        <span ng-switch-default>In-Store Pickup</span>
4003                    </td>
4004                </tr>
4005                <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
4006                    <td>Address:</td>
4007                    <td>{{item.subscriptionData.address}}</td>
4008                </tr>
4009                <tr>
4010                    <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
4011                    <td>
4012                        <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
4013                    </td>
4014                </tr>
4015                <tr>
4016                    <td><strong>Due Today:</strong></td>
4017                    <td>
4018                        <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
4019                    </td>
4020                </tr>
4021            </table>
4022        </div>
4023    </td>
4024</tr>
4025</tbody>
4026                <tr ng-show="isProductInCart()">
4027                    <td colspan="4" width="100%">
4028                                                                                            </td>
4029                </tr>
4030                <tr>
4031                    <td colspan="2">
4032                        Subtotal
4033                        <br>
4034                    </td>
4035                    <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>
4036                            <span ng-if="!showAsGST()">{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
4037                        <span ng-if="showAsGST()">{{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
4038                    </td>
4039                </tr>
4040                <tr ng-if="CustomerDiscounts > 0">
4041                    <td colspan="2">
4042                        Discount
4043                        <br>
4044                    </td>
4045                    <td colspan="2" align="right" class="h4"><strong>
4046                        <span>{{CustomerDiscounts | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
4047                    </td>
4048                </tr>
4049                    <tr>
4050                        <td colspan="3">
4051                            <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;">
4052                            <span id="gift-card-coupon-msgs" class="messages-coupon-gc">
4053                                            <!-- Messages -->
4054                                            <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
4055                                            <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
4056                                            <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Added</span>
4057                                            <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
4058                                        </span>
4059                        </td>
4060                        <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: top;">
4061                            <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>
4062                        </td>
4063                    </tr>
4064
4065                    <tbody ng-if="CartData.Coupons.length > 0">
4066                        <tr>
4067                            <td colspan="4">
4068                                <div>
4069                                    <div ng-show="CartData.Coupons.length > 0" class="row-divider-checkout">
4070                                        <div class="divider-checkout-block-title">
4071                                            Coupons
4072                                        </div>
4073                                        <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert-warning warning-box">
4074                                        <span ng-if="showOnlyHighestDiscountWarning()">
4075                                            Only a single coupon with the highest savings will be applied.
4076                                        </span>
4077                                            <span ng-if="showDontApplyOnSaleItemsWarning()">
4078                                            Coupons do not apply to On Sale Items
4079                                        </span>
4080                                        </div>
4081                                        <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}">
4082                                            <div class="discount-item">
4083                                                <div class="discount-item-title">
4084                                                    <a href="" ng-click="openCouponDetail
4084sModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a>
4085                                                </div>
4086                                                <div class="discount-amount">
4087                                                    <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} &nbsp;</span>
4088                                                    <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</span>
4089                                                    <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>
4090                                                    <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i>
4091                                                </div>
4092                                            </div>
4093                                            <div class="gift-card-coupon-code-span">
4094                                                {{c.couponCode}}
4095                                            </div>
4096                                            <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">{{couponStatusMessage}}</div>
4097                                        </div>
4098                                    </div>
4099                                </div>
4100                            </td>
4101                        </tr>
4102                    </tbody>
4103                <tr ng-if="ShippingInfo.Option && ShippingStatus.Required">
4104                    <td colspan="2">
4105                        {{isPickup() ? '' : 'Shipping'}} {{ShippingInfo.Option.name}}
4106                        &nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
4107                        &nbsp;&nbsp;<small>{{ShippingInfo.Option.delivery_time}}</small>
4108                    </td>
4109                    <td colspan="2" align="right">
4110                        <span ng-if="!isTaxInclusive()"><strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong></span>
4111                        <span ng-if="isTaxInclusive()" style="font-weight: bold; text-align: right;">
4112                                {{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}
4113                            </span>
4114                    </td>
4115                </tr>
4116                                <tr ng-if="!showAsGST()">
4117                    <td colspan="2">
4118                        Taxes
4119                    </td>
4120                    <td colspan="2" align="right" data-cy="web-checkout-summary-taxes">
4121                        <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span>
4122                        <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong>
4123                    </td>
4124                </tr>
4125
4126                <tbody ng-if="breakDownTaxes()">
4127                    <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, false)">
4128                        <td colspan="2">
4129                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
4130                        </td>
4131                        <td colspan="2" align="right">
4132                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
4133                        </td>
4134                    </tr>
4135                </tbody>
4136
4137                <tr ng-if="ShippingTaxes && !isTaxInclusive()">
4138                    <td colspan="2">
4139                        Shipping Taxes
4140                    </td>
4141                    <td colspan="2" align="right">
4142                        <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong>
4143                    </td>
4144                </tr>
4145
4146                <tbody ng-if="breakDownTaxes()">
4147                    <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, true)">
4148                        <td colspan="2">
4149                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
4150                        </td>
4151                        <td colspan="2" align="right">
4152                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
4153                        </td>
4154                    </tr>
4155                </tbody>
4156
4157                    <tbody ng-if="showGiftCardSummary()">
4158                        <tr>
4159                            <td colspan="4">
4160                                <div>
4161                                    <div class="row-divider-checkout">
4162                                        <div class="divider-checkout-block-gc-title">
4163                                            Gift Cards
4164                                        </div>
4165                                        <div ng-repeat="gc in CartData.GiftCards" class="item-box">
4166                                            <div class="discount-item">
4167                                                <div>
4168                                                    <span class="gift-card-coupon-identifier">{{gc.title}}</span>&nbsp;&nbsp;&nbsp;&nbsp;
4169                                                </div>
4170                                                <div class="discount-amount">
4171                                                    -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
4172                                                    <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>
4173                                                    <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i>
4174                                                </div>
4175                                            </div>
4176                                            <div class="gift-card-coupon-code-span">
4177                                                {{gc.number}}
4178                                            </div>
4179                                        </div>
4180                                    </div>
4181                                </div>
4182                            </td>
4183                        </tr>
4184                    </tbody>
4185                <tr>
4186                    <td colspan="1">
4187                        Total <span ng-if="isPayAtPickup()">due at pickup</span>
4188                    </td>
4189                    <td colspan="3" align="right" data-cy="web-checkout-summary-total">
4190                        <span ng-if="!showAsGST()"><strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
4191                        <span ng-if="showAsGST()">
4192                                <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
4193                            </span>
4194
4195                        <span ng-if="GST_Due > 0 && GST_Taxes > 0 && showAsGST() && isShippingCountryGST()" align="right">
4196                                <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span>
4197                            </span>
4198                    </td>
4199                </tr>
4200                </table>
4201        </div>
4202    </div>
4203
4204</div>
4205        </div>
4206    </div>
4207    <div id="coupon-details-modal" ></div>
4208
4209    <form id="processorform" action="{{SubmitInfo.SubmitUrl}}" method="post"><input type="hidden" name="form_version" value="2">
4210        <input type="hidden" ng-repeat="(key, val) in SubmitFields()" name="{{key}}" value="{{val}}">
4211    </form>
4212</div>
4213
4214
4215<!-- NOTE: Do not move to angular 1.4.x yet. There is an issue with particular cart data causing really poor performance -->
4216<!-- DO NOT CHANGE ANGULAR JS VERSION, THIS IS THE LAST VERSION THAT WORKS PROPERLY IN THE FOLLOWING BROWSERS -->
4217<!-- IE 9 AND iOS < 6 -->
4218<!-- THIS IS ONLY FOR THE CHECKOUT, OTHER PAGES CAN USE WHICH EVER VERSION THEY WANT TO -->
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240        
4241
4242        
4243            
4244            
4245            
4246            
4247            
4248    
4249
4250		</div>
4251	</div>
4252</div>
4253
4254    <!-- footer -->
4255	<div class="bgFooter">
4256	<div  style="" class="">
4257	<div class="container ">
4258		<div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 0px; ">
4259			
4260			
4261			<div class="footerLayout10">
4262<div class="col-sm-7">
4263<div class="row">
4264<div class="col-sm-6">
4265<h5>Quick Links</h5>
4266<ul class="list-unstyled">
4267<li><a href="/shop.htm">Shop</a></li>
4268<li><a href="/about-us.htm">About</a></li>
4269<li><a href="/classes.htm">Classes</a></li>
4270<li><a href="/faq.htm">FAQ</a></li>
4271<li><a href="/store-policies.htm">Store Policies</a></li>
4272</ul>
4273</div>
4274<div class="col-sm-6">
4275<h5>Contact Info</h5>
4276<ul class="list-unstyled">
4277<li><strong>The Little Golden Fox</strong></li>
4278<li><a href="mailto:[email protected]" target="_blank">[email protected]</a></li>
4279<li><a href="tel:+18125990356" target="_blank">(812) 599-0356</a></li>
4280<li>602 W Main St<br />Madison, IN 47250</li>
4281<li>
4282<ul class="list-inline list-unstyled socialStyle2 spaceFix" style="margin-top: 10px;">
4283<li><a href="https://www.facebook.com/littlegoldenfox" ratget="blank" target="_blank"><span class="fa fa-fw fa-facebook"></span>&nbsp;</a></li>
4284<li><a href="https://www.pinterest.com/littlegoldenfox/" ratget="blank" target="_blank"><span class="fa fa-fw fa-pinterest-p"></span>&nbsp;</a></li>
4285<li><a href="https://www.instagram.com/littlegoldenfox/" ratget="blank" target="_blank"><span class="fa fa-fw fa-instagram"></span>&nbsp;</a></li>
4286</ul>
4287</li>
4288</ul>
4289</div>
4290</div>
4291</div>
4292<div class="col-sm-5">
4293<h5>Find Us!</h5>
4294<iframe width="100%" height="150px" style="border: 0;" src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3112.137024065739!2d-85.38856882359666!3d38.73761775611537!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x886a3b31050109d1%3A0xade6feddbb47afc5!2sLittle%20Golden%20Fox!5e0!3m2!1sen!2sus!4v1692811544666!5m2!1sen!2sus" allowfullscreen="allowfullscreen" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe></div>
4295</div>
4296		</div>
4297	</div>
4298</div><div  style="background-color: #F7F7F7;" class="">
4299	<div class="container ">
4300		<div class="row paddingXLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 60px; padding-bottom: 60px; ">
4301			
4302			
4303					<div align=center style="text-align:center;">
4304						
4305					</div>
4306				
4307			<style>.email_address_check {display:none;}</style>
4308				
4309            
4310            
4311            <div id="subscribe-to-marketing-emails-info-modal"></div>
4312				<style>
4313					.lblNewsletterSignup h1 {
4314						padding-top: 6px;
4315						font-size: 1.2em !important;
4316						text-align: right;
4317						margin: 0px;
4318					}
4319					.txtNewsletterSignup {
4320						font-size: 16px;
4321						padding: 10px 0px 10px 15px;
4322						width: 100%;
4323					}
4324					.btnNewsletterSignup {
4325						font-size: 14px;
4326						padding: 10px 15px 10px 15px !important;
4327					}
4328
4329					@media (min-width: 992px) {
4330						.divNewsletterSignupLastName {
4331							padding-left:0px !important;
4332						}
4333						.txtName {
4334							margin-bottom:10px;
4335						}
4336					}
4337
4338					@media (max-width: 991px) {
4339						.lblNewsletterSignup h1 {
4340							font-size: 1em !important;
4341							text-align: left;
4342							margin-bottom:10px;
4343						}
4344						.txtNewsletterSignup {
4345							margin-bottom:10px;
4346						}
4347					}
4348					 .recaptcha-error > div {
4349                        border: 1px solid red;
4350                    }
4351                    .g-recaptcha {
4352                        margin-top: 10px;
4353                    }
4354
4355                    .validation-error {
4356                        border: 1px solid red;
4357                    }
4358
4359				</style>
4360				<div>
4361					<form id="formNewsLetternewsLetterForm1" method=post action="/subscribe.php"><input type="hidden" name="form_version" value="2">
4362						<input type="hidden" name="h_p__nuid" id="h_p__nuid" value=""/>
4363						<input type=hidden name=storeId id=storeId value="13137">
4364
4365						<div class="col-md-5 lblNewsletterSignup">
4366							<h3>Newsletter Signup</h3>
4367						</div>
4368
4369						<div class="col-md-7">
4370							
4371							<div class="row">
4372								<div class="col-md-8">
4373									<input class="txtNewsletterSignup" type=text name=email id="newsletter-signup-email" data-id="emailnewsLetterForm1" value="" placeholder="Email Address" aria-label="Email Address">
4374									<span class="email_address_check"><b>Repeat Email Address:</b><br> <input type="text" class=" inputText" name="email_address_check_2" maxlength="100" value=""/></span>
4375								</div>
4376								<div class="col-md-4">
4377									<input id="newsLetterSubmitButton" class="btnNewsletterSignup" type="submit" value="SUBSCRIBE"><div id="subscribe-to-marketing-emails-info-modal"></div>
4378								</div>
4379								<div id="newsLetterForm1" class="g-recaptcha col-md-6" data-sitekey="6LcM-AItAAAAAKBp9tFsqjcPCF0DhG4ZlRbyay8v" data-callback="correctNWCaptcha"></div>
4380							</div>
4381						</div>
4382
4383					</form>
4384				</div>
4385			
4386		</div>
4387	</div>
4388</div>
4389	<div class="container footer" style="height: auto; text-align:center; ">
4390		<br>
4391		<br>
4392		<a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/">Home</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/shop/Fabric.htm">Fabric</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/shop/Pottery.htm">Pottery</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/classes.htm">Workshops</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/retreats.htm">Retreats</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/airbnb.htm">The Crafty Fox Den</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/about-us.htm">About Us</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/site-map.htm">Site Map</a><!-- Yup, this comment is here for a reason. -->
4393		<div style="height: 10px;"></div>
4394		Copyright &copy; 2007-2026 - Little Golden Fox<br>
4395		<a class="footer" style="font-weight: normal;" href="https://www.likesew.com">Website Design</a> by Like Sew<br>
4396		
4397		<br>
4398		<br>
4399	</div>
4400</div>
4401
4402
4403
4404</div>
4405
4406<!-- 43 module.tpl -->
4407
4408
4409<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css">
4410<script type="text/javascript" src="https://images.rainpos.com/jquery-migrate-1.2.1.min.js" attr="nomove"></script>
vendor: 1 bytes, line 4410
4410
4411<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 4411
4411
4412<script type="text/javascript" src="https://images.rainpos.com/json2.js" attr="nomove"></script>
vendor: 1 bytes, line 4412
4412
4413<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" attr="nomove"></script>
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428<script>
4429            if(!(window.console && console.log)) {
4430                console = {
4431                    log: function(){},
4432                    debug: function(){},
4433                    info: function(){},
4434                    warn: function(){},
4435                    error: function(){}
4436                };
4437            }
4438	    </script>
vendor: 1 bytes, line 4438
4438
4439<script type="text/javascript" src="/1723204580/site-configuration/js/recaptchaCode.js"></script>
vendor: 116 bytes, lines 4439-4440
4439
4440<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaOnload&render=explicit" async defer></script>
4441<script src="https://tickets.madtixevents.com/js/events/widget.js"></script>
vendor: 1 bytes, line 4441
4441
4442<script type="text/javascript">
4443    var isMobileBrowser = 0;
4444            var isResponsive = true;
4445    </script>
vendor: 1 bytes, line 4445
4445
4446<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
vendor: 1 bytes, line 4446
4446
4447<script src="/1723204579/pos-app/js/big.min.js"></script>
vendor: 1 bytes, line 4447
4447
4448<script src="/1723204579/pos-app/js/lib.js"></script>
vendor: 1 bytes, line 4448
4448
4449<script src="/1775641146/pos-app/js/utils.js"></script>
vendor: 1 bytes, line 4449
4449
4450<script src="/1760603607/js/components/stripe-payment-request/CheckoutContextWrapper.js"></script>
vendor: 1 bytes, line 4450
4450
4451<script src="/1759150467/js/components/stripe-payment-request/PaymentRequestModel.js"></script>
vendor: 1 bytes, line 4451
4451
4452<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLError.js"></script>
vendor: 1 bytes, line 4452
4452
4453<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLBaseModel.js"></script>
vendor: 1 bytes, line 4453
4453
4454<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLKlarnaModel.js"></script>
vendor: 1 bytes, line 4454
4454
4455<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAffirmModel.js"></script>
vendor: 1 bytes, line 4455
4455
4456<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAfterpayModel.js"></script>
vendor: 1 bytes, line 4456
4456
4457<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLModel.js"></script>
vendor: 1 bytes, line 4457
4457
4458<script src="/1723204579/checkout/PromiseAccumulator.js"></script>
vendor: 1 bytes, line 4458
4458
4459<script src="/1723204579/c/libs/libphonenumber-js/libphonenumber-js.min.js"></script>
vendor: 1 bytes, line 4459
4459
4460<script src="/1723204579/js/bower_components/angular-sanitize/angular-sanitize.min.js"></script>
vendor: 1 bytes, line 4460
4460
4461<script src="/1790677711/checkout/checkoutCtrl.js"></script>
vendor: 1 bytes, line 4461
4461
4462<script src="/1723204579/js/log.js"></script>
vendor: 1 bytes, line 4462
4462
4463<script>var Logger = Object.create(Logger.prototype); Logger.setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTEyOTAxMDUsImp0aSI6ImYzMWJjMTYxMTg1ZjZhMThjZDgxMTY0ZTc2ZjA5ZDgzNzkwMTMwZDY0M2E2MTI5MTI0MjhiNWUzMjYzMjJjYmMiLCJuYmYiOjE3OTEyOTAxMDUsImV4cCI6MTc5MTMzMzMwNSwiZGF0YSI6eyJzdG9yZUlkIjoxMzEzNywic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.lDqm_-q6s6g56LnnXynpoc-EPmsUpifVhRP_9ZYVmCU"); </script>
vendor: 1 bytes, line 4463
4463
4464<script>window.cartJWT = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTEyOTAxMDUsImp0aSI6ImYzMWJjMTYxMTg1ZjZhMThjZDgxMTY0ZTc2ZjA5ZDgzNzkwMTMwZDY0M2E2MTI5MTI0MjhiNWUzMjYzMjJjYmMiLCJuYmYiOjE3OTEyOTAxMDUsImV4cCI6MTc5MTMzMzMwNSwiZGF0YSI6eyJzdG9yZUlkIjoxMzEzNywic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.lDqm_-q6s6g56LnnXynpoc-EPmsUpifVhRP_9ZYVmCU"</script>
vendor: 1 bytes, line 4464
4464
4465<script src="/js/libs/vue/2.6.12.vue.min.js"></script>
vendor: 1 bytes, line 4465
4465
4466<script src="/js/libs/axios/0.31.1.axios.min.js"></script>
vendor: 1 bytes, line 4466
4466
4467<script type="text/javascript">
4468    if (typeof window.vueEventHub === 'undefined') {
4469        window.vueEventHub = new Vue();
4470    }
4471    Vue.use({install: function (Vue, params) {
4472            Vue.prototype.$eventHub = params.vueEventHub;
4473        }}, {vueEventHub: window.vueEventHub});
4474</script>
vendor: 1 bytes, line 4474
4474
4475<script src="/1723204579/pos-app/controls/form-validate/form-validate.directive.js"></script>
vendor: 1 bytes, line 4475
4475
4476<script type='application/javascript'>var adyen_env = 1;</script>
vendor: 1 bytes, line 4476
4476
4477<script type='application/javascript'>var currency_code = 'USD';</script>
vendor: 1 bytes, line 4477
4477
4478<script src="https://payments.quiltsoftware.com/adyenRegion.js"></script>
vendor: 1 bytes, line 4478
4478
4479<script>
4480    let scriptAdyenRegion = window.adyenRegion || 'live-us';
4481
4482    const adyenScript = document.createElement('script');
4483    const adyenStyle = document.createElement('link');
4484    var adyenStyleLoaded = false; //global
4485    let head = document.getElementsByTagName('head')[0];
4486
4487    adyenScript.src = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.js';
4488    adyenScript.type = 'text/javascript';
4489    adyenScript.crossOrigin = 'anonymous';
4490    adyenScript.integrity = 'sha384-V7uOD/4bQuWLJRCDSfc60tVzD6rYW5BkkY3GYnaFjgg/guMih1Kx6N5Vo9dBtN3y';
4491
4492    adyenStyle.href = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.css'
4493    adyenStyle.rel = 'stylesheet';
4494    adyenStyle.crossOrigin = 'anonymous';
4495    adyenStyle.integrity = 'sha384-jAG16Mh+vYdXeyWKqPqL7chbdFT1aS5qjt/8jGJz5vBrI1RJ3m6/uFfMZt8li/rT';
4496
4497    head.appendChild(adyenScript);
4498    head.appendChild(adyenStyle);
4499
4500    adyenStyle.onload = function() {
4501        adyenStyleLoaded = true;
4502    }
4503</script>
4503
4504
4505
4506
4507
4508<script type="text/javascript" src="/js/dist/npm.date-fns.a04ecd7fd4860ad4dc6d.js"></script>
vendor: 1 bytes, line 4508
4508
4509<script type="text/javascript" src="/js/dist/coupon-details-modal.17b2b1a6ca5b19faa162.js"></script>
vendor: 1 bytes, line 4509
4509
4510<script type="text/javascript">
4511    var isMusicStore = false;
4512    var districts = [];
4513    var schools = [];
4514    var customerId = 0;
4515</script>
vendor: 1 bytes, line 4515
4515
4516<script>
4517					function populateNContent() {
4518						var dt = new Date();
4519						$("input[name=h_p__nuid]:hidden").each(function (index, element) {
4520							$(element).val(dt.getTime());
4521						});
4522					}
4523					setTimeout("populateNContent()", 2000);
4524				</script>
vendor: 113 bytes, lines 4524-4525
4524
4525<script src='https://www.google.com/recaptcha/api.js?onload=recaptchaNewsletterBlock&render=explicit'></script>
4526<script>
4527                var collectNamesfalse = false;
4528                var newsLetterForm1 = 'newsLetterForm1';
4529                var captchaResponse = null;
4530                function correctNWCaptcha(response) {
4531                    captchaResponse = response;
4532                    $('#' + newsLetterForm1).removeClass('recaptcha-error');
4533                }
4534                var _captchaTries = 0;
4535                function recaptchaNewsletterBlock() {
4536                    _captchaTries++;
4537                    if (_captchaTries > 9)
4538                        return;
4539                    if ($('.g-recaptcha').length > 0) {
4540                        grecaptcha.render(newsLetterForm1, {
4541                            sitekey: '6LcM-AItAAAAAKBp9tFsqjcPCF0DhG4ZlRbyay8v',
4542                            callback: function(response) {
4543                            correctNWCaptcha(response)
4544                            }
4545                        });
4546                    }
4547                }
4548
4549                function validateFieldsnewsLetterForm1() {
4550                    var errors = [];
4551                    var emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
4552                    var email = $('[data-id="emailnewsLetterForm1"]').val();
4553                    if (!email || !emailPattern.test(email)) {
4554                        errors.push({id: 'emailnewsLetterForm1'});
4555                    }
4556
4557                    if (collectNamesfalse) {
4558                        var firstName = $('[data-id="firstNamenewsLetterForm1"]').val();
4559                        if (!firstName) {
4560                            errors.push({id: 'firstNamenewsLetterForm1'});
4561                        }
4562
4563                        var lastName = $('[data-id="lastNamenewsLetterForm1"]').val();
4564                        if (!lastName) {
4565                            errors.push({id: 'lastNamenewsLetterForm1'});
4566                        }
4567                    }
4568
4569                    return errors;
4570                }
4571
4572                $('#formNewsLetternewsLetterForm1').submit(function(e) {
4573                    e.preventDefault();
4574
4575                    var elements = {
4576                        email: $('[data-id="emailnewsLetterForm1"]'),
4577                    };
4578
4579                    if (collectNamesfalse) {
4580                        elements.firstName = $('[data-id="firstNamenewsLetterForm1"]');
4581                        elements.lastName = $('[data-id="lastNamenewsLetterForm1"]');
4582                    }
4583
4584                    if (captchaResponse == null) {
4585                        var activeCaptchaEl = $('[title="reCAPTCHA"]').closest('.g-recaptcha');
4586                        activeCaptchaEl.addClass('recaptcha-error');
4587                    }
4588
4589                    Object.values(elements).forEach(function(el) {
4590                        el.removeClass('validation-error');
4591                    });
4592
4593                    var errors = validateFieldsnewsLetterForm1();
4594                    if (errors.length > 0) {
4595                        errors.forEach(function(error) {
4596                            $('[data-id="' + error.id + '"]').addClass('validation-error');
4597                        });
4598                    }
4599
4600                    if (errors.length === 0 && captchaResponse != null) {
4601                        var data = {
4602                            storeId: 13137,
4603                            isAjax: true,
4604                            collectNames: collectNamesfalse,
4605                            h_p__nuid: $('[name="h_p__nuid"]').val(),
4606                            email_address_check_2: $('[name="email_address_check_2"]').val(),
4607                        };
4608                        Object.keys(elements).forEach(function(key) {
4609                            data[key] = elements[key].val();
4610                        });
4611                        window.vueEventHub.$emit('open-subscribe-to-marketing-emails-info-modal', data);
4612                        Object.values(elements).forEach(function(el) {
4613                            el.val('');
4614                        });
4615                    }
4616                });
4617            </script>
vendor: 1 bytes, line 4617
4617
4618<script>
4619                function innerWrapper() {
4620                    const innerDivz = document.querySelectorAll(`div.inner`);
4621                    if (innerDivz.length > 0) {
4622                        let identifyParentEl = innerDivz[0].parentElement;
4623                        const wrapperEl = document.createElement('div');
4624
4625                        wrapperEl.setAttribute('data-column-id', 'body');
4626                        if (innerDivz[0].classList.contains('inner-full-width')) {
4627                            wrapperEl.className = 'new clearfix';
4628                        } else {
4629                            wrapperEl.className = 'new container clearfix';
4630                        }
4631                        if (identifyParentEl.classList.contains('vue-component-wrapper')) {
4632                            identifyParentEl.insertAdjacentElement('beforebegin', wrapperEl);
4633                        } else {
4634                            innerDivz[0].insertAdjacentElement('beforebegin', wrapperEl);
4635                        }
4636                        innerDivz.forEach(item => wrapperEl.append(item));
4637                    }
4638                }
4639                document.addEventListener('DOMContentLoaded', innerWrapper);
4640            </script>
vendor: 1 bytes, line 4640
4640
4641<script type="text/javascript" src="/site-configuration/js/jquery.blockUI.js"></script>
vendor: 1 bytes, line 4641
4641
4642<script type="text/javascript" src="/js/dist/npm.core-js.7fcae61afb054d7ba0b3.js"></script>
vendor: 1 bytes, line 4642
4642
4643<script type="text/javascript" src="/js/dist/npm.vue-loader.d0cb700bf30f64badaf5.js"></script>
vendor: 1 bytes, line 4643
4643
4644<script type="text/javascript" src="/js/dist/npm.style-loader.b1e6d4e14468065b9561.js"></script>
vendor: 1 bytes, line 4644
4644
4645<script type="text/javascript" src="/js/dist/npm.css-loader.4580a37e6cd44c5ceae8.js"></script>
vendor: 1 bytes, line 4645
4645
4646<script type="text/javascript" src="/js/dist/npm.regenerator-runtime.a03f2acd63fa66d89cee.js"></script>
vendor: 1 bytes, line 4646
4646
4647<script type="text/javascript" src="/js/dist/subscribe-to-marketing-emails-info-modal.2fc757afec72b79bbcdd.js"></script>
4647
4648
4649<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"d60c52fc57","applicationID":"7339757","transactionName":"ZAFTMEcHDUsDB00IDl1LchFGEgxVTSdqCQ5DFFgKUiUCShY7ewASVg==","queueTime":0,"applicationTime":107,"atts":"SEZQRg8dHkU=","errorBeacon":"bam.nr-data.net","agent":""}</script>
4649</body>
4650</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.