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> <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> <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> </a></li> 675<li><a href="https://www.instagram.com/littlegoldenfox/" target="blank"><span class="fa fa-fw fa-instagram"></span> </a></li> 676<li><a href="#" target="blank"><span class="fa fa-fw fa-shopping-cart"></span> 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 ☰ 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()">×</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()">×</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()">×</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> - {{pitem.title}} 1499 </span> 1500 <span ng-if="item.class_attendees.length"> 1501 <br> - Attendees: 1502 <span ng-repeat="name in item.class_attendees"> 1503 {{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> {{giftCardCouponMsg}}</span> 1666 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 1667 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> 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}} </span> 1697 <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} </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> 1720 </div> 1721 <div class="discount-amount"> 1722 -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} 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 <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 <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 <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 <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> </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">×</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()">×</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()">×</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()">×</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> - {{pitem.title}} 2176 </span> 2177 <span ng-if="item.class_attendees.length"> 2178 <br> - Attendees: 2179 <span ng-repeat="name in item.class_attendees"> 2180 {{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> 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> 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 <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 <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> 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 <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> {{giftCardCouponMsg}}</span> 3106 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 3107 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> 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 <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> 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> 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> 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 <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">×</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> - {{pitem.title}} 3921 </span> 3922 <span ng-if="item.class_attendees.length"> 3923 <br> - Attendees: 3924 <span ng-repeat="name in item.class_attendees"> 3925 {{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> {{giftCardCouponMsg}}</span> 4055 <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i> Gift Card Applied</span> 4056 <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i> 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}} </span> 4088 <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} </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 <a href="" ng-click="ShippingEdit()"><small>Change</small></a> 4107 <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 {{jurisdiction}} 4130 </td> 4131 <td colspan="2" align="right"> 4132 {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}} 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 {{jurisdiction}} 4150 </td> 4151 <td colspan="2" align="right"> 4152 {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}} 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> 4169 </div> 4170 <div class="discount-amount"> 4171 -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} 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> </a></li> 4284<li><a href="https://www.pinterest.com/littlegoldenfox/" ratget="blank" target="_blank"><span class="fa fa-fw fa-pinterest-p"></span> </a></li> 4285<li><a href="https://www.instagram.com/littlegoldenfox/" ratget="blank" target="_blank"><span class="fa fa-fw fa-instagram"></span> </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> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/shop/Fabric.htm">Fabric</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/shop/Pottery.htm">Pottery</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/classes.htm">Workshops</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/retreats.htm">Retreats</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/airbnb.htm">The Crafty Fox Den</a> | <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.thelittlegoldenfox.com/about-us.htm">About Us</a> | <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 © 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.