PageSourceSearch

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

html ajscrapbookessentials.com collected 2026-09-27 11:09:46 UTC 340,335 bytes, 4,260 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    
5<link href="/1723204578/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type="text/css">
6<link href="/1723204578/bootflat/css/fontawesome-pro-6.5.2-web/css/v4-shims.min.css" rel="stylesheet" type="text/css">
7	<link rel="icon" type="image/x-icon" href="/favicon.ico">
8    <title></title>
9	
10    <meta name="description" content="">
11	
12	<link rel="canonical" href="https://www.ajscrapbookessentials.com/module/product.htm">
13	
14
15	<link rel="dns-prefetch" href="oss.maxcdn.com">
16	<link rel="dns-prefetch" href="ajax.googleapis.com">
17
18	<!-- BOOTSTRAP START !! -->
19    <meta charset="utf-8">
20	<meta http-equiv="X-UA-Compatible" content="IE=edge">
20<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"7339834",accountID:"732355",trustKey:"732355",licenseKey:"d60c52fc57",applicationID:"7339757",browserID:"7339834"};;/*! For license information please see nr-loader-rum-1.322.0.min.js.LICENSE.txt */
21(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),a=0===Object.keys(r).length?e:r;for(let s in a)if(void 0!==e[s])try{if(null===e[s]){r[s]=null;continue}Array.isArray(e[s])&&Array.isArray(t[s])?r[s]=Array.from(new Set([...e[s],...t[s]])):e[s]instanceof Map||e[s]instanceof Set||e[s]instanceof Date||e[s]instanceof RegExp?r[s]=e[s]:"object"==typeof e[s]&&null!==t[s]&&"object"==typeof t[s]?r[s]=i(e[s],t[s]):r[s]=e[s]}catch(e){r[s]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>s});var n=r(384),i=r(8122);const a={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function s(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,a)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["xv",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),s=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===s?.document?.visibilityState),c=""+s?.location,u=/iPad|iPhone|iPod/.test(s.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=((()=>{const e=s.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)());r.d(t,["OF",0,u,"RI",0,i,"WN",0,l,"bv",0,a,"gm",0,s,"m",0,c,"mw",0,o,"sb",0,d,"zk",0,()=>{const e=s?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<s.performance.now())return e}])},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>u,x3:()=>c});var n=r(3241),i=r(3606),a=r(860),s=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:a.P3[t]||0};e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&d(e))}function u(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,d(e)}}function d(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const a=e.ee,o=i.i.handlers;if(a&&!a.aborted&&a.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=a.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}
21).forEach(t=>{t[0]?.on&&t[0].context()instanceof s.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}a.isolatedBacklog||delete o[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],a=e[2];n.apply(i,a)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),a=r(2646),s=r(5607);const o="nr@context:".concat(s.W),c=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);var o=g(n);m(e).forEach(e=>{e.apply(o,r)});var u=v()[s[e]];u&&u.push([f,e,r,o]);return o},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{s[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,o,()=>new a.y(o)):new a.y(o)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(9908);a.on=s;var i=a.handlers={};function a(e,t,r,a){s(a||n.d,i,e,t,r)}function s(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var s=t[a]=t[a]||{};(s[r]=s[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,a=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const s=[];for(var o=0;o<e;o++)s.push(i(r,a++).toString(16));return s.join("")}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>a});var n=r(944);const i=new Map;function a(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),a=t.includes("nrWrapper");return r||a||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},5289(e,t,r){"use strict";r.d(t,{GG:()=>s,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function a(){return"undefined"==typeof document||"complete"===document.readyState}function s(e,t){if(a())return e();const r=(0,i.J)(e),s=setInterval(()=>
21{a()&&(clearInterval(s),r())},500);(0,n.sp)("load",r,t)}function o(e){if(a())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(a())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>d,dV:()=>u,pV:()=>l});var n=r(6154),i=r(1863),a=r(944),s=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function u(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,s.i)(...Object.values(e.o))),e}function d(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,a.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),u(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>a,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function a(e,t,r){(0,n.sp)("pagehide",e,t,r)}},9300(e,t,r){"use strict";r(860).K7.ajax;r.d(t,["mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>a});var n=r(9566),i=r(1741);class a extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(4261);class a{#e(e,...t){if(this[e]!==a.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>d});var n=r(3241),i=r(9908),a=r(1863),s=r(944),o=r(3969),c=r(8362),u=r(860);function d(e,t,r,a){const d=a||r;!d||d[e]&&d[e]!==c.d.prototype[e]||(d[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,u.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,s.R)(23,e)}})}function l(e,t,r,n,s){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(s||null===r)&&(0,i.p)("api-"+n,[(0,a.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",a="browser/blobs",s="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},u={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:a,[o.sessionReplay]:a,[o.logging]:s,[o.genericEvents]:"ins"};r.d(t,["$J",0,u,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,s,"df",0,a,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],a=t[n++];r.o(e,i)?0===a&&n++:0===a?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:a})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>"nr-rum-1.322.0.min.js",r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,a,s)=>{if(e[n])return void e[n].push(i);let o,c;if(void 0!==a){const e=document.getElementsByTagName("script");for(var u=0;u<e.length;u++){const r=e[u];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+a){o=r;break}}}if(!o){c=!0;var d={296:"sha512-/59P7qAoMYQDJAZerTRPChdYcdrlcoEAw2TwA1wz6Y0/XLmt3sblL
21I5JCXAuxG0YxsW7iqJzgrcO7NJWO58EfQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+a),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),d[s]&&(o.integrity=d[s])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={374:0,840:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const a=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=a);const s=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(s,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,a,s]=n;var o,c,u=0;if(i.some(t=>0!==e[t])){for(o in a)r.o(a,o)&&(r.m[o]=a[o]);if(s)s(r)}for(t&&t(n);u<i.length;u++)c=i[u],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),a=r(1741);var s=r(2555),o=r(981);t.K7.genericEvents,o.R.PA,o.R.UA,o.R.BP;const c={RESOURCES:"experimental.resources",REGISTER:"register"};var u=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var l=r(2614),f=r(944),g=r(8122);const p="[data-nr-mask]",m=e=>(0,g.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:u.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(c.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(c.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,f.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:l.wk,inactiveMs:l.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(p):""===t||null===t?e.mask_selector=p:(0,f.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,f.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,f.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var h=r(6154),v=r(9324);let b=0;const y={buildEnv:"PROD",distMethod:"CDN",version:v.xv,originTime:h.WN},_={consented:!1},w={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||_.consented},set consented(e){_.consented=e}
21,customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++b},listeningForIframeMessages:!1},R="BA";var A=r(7836),x=r(3241);const E={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908);const k="newrelic-iframe-";function T(e,t={},n,o){let{init:c,info:u,loader_config:d,runtime:l={},exposed:f=!0}=t;if(!u){const e=(0,i.pV)();c=e.init,u=e.info,d=e.loader_config}var p;e.init=m(c||{}),e.loader_config=(p=d||{},(0,g.a)(p,E)),u.jsAttributes??={},h.bv&&(u.jsAttributes.isWorker=!0),e.info=(0,s.D)(u);const v=e.init;e.runtime??=(e=>{const t=(0,g.a)(e,w),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:R,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(a.W.prototype).forEach(r=>{const n=a.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=A.ee.get(e.agentIdentifier),e.exposed=f,(0,x.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&h.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(k)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var j=r(1863),P=r(4261),N=r(1738);
21var O=r(1687),M=r(4234),I=r(5289),D=r(7767);function V(e){return!!(0,i.dV)().o.MO&&(0,D.V)(e)&&!0===e?.session_trace.enabled}var W=r(6389),B=r(7699);const C=new WeakSet,K=new WeakMap;class U extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,W.J)(()=>{(0,O.Ak)(e,this.featureName),t()}))}):(0,O.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,s.f)(e.info))return(0,f.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(K.has(e))return K.get(e);const i=(async()=>{if((0,D.V)(e.init))try{const{setupAgentSession:t}=await r.e(296).then(r.bind(r,1768));t(e)}catch(e){(0,f.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(B.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await Promise.resolve().then(function(){const e=new Error("Cannot find module '../../loaders/configure/iframe-message-handler'");throw e.code="MODULE_NOT_FOUND",e});t(e)}catch(e){(0,f.R)(23,e)}const[{Connector:i},{Harvester:a}]=await Promise.all([r.e(296).then(r.bind(r,6589)),r.e(296).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new a(e);const s=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(s.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();K.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,f.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,f.R)(34,e),this.abortHandler?.(),(0,O.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};h.RI?(0,I.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return V(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!C.has(e)&&(C.add(e),!(0,s.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}T(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var L=r(6630);class F extends U{static featureName=L.T;constructor(e){var t;super(e,L.T),this.setupInspectionEvents(),t=e,(0,N.Y)(P.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+P.Fw,[(0,j.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(296).then(r.bind(r,908)):r.e(296).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,x.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,I.sB)(t=>{e(t,"DOMContentLoaded")}),(0,I.GG)(t=>{e(t,"load")}),(0,I.Qr)(t=>{e(t,"navigate")}),this.ee.on(l.tS.UPDATE,(e,t)=>{(0,x.W)({type:"lifecycle",name:"session",data:t})})}}class G extends e.d{constructor(e){var t;(super(),h.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(F),T(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(P.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,P.cD,n);(0,f.R)(40,typeof r)}else(0,f.R)(39,typeof e)},t),function(e){(0,N.Y)(P.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,f.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,P.Dl,!0)},e)}(this),function(e){(0,N.Y)(P.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,P.nb,!1);(0,f.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(P.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+P.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,f.R)(65,typeof t)},e)}(this),this.run()):(0,f.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};
21return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,f.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,f.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var H=r(2843),z=r(782);class Y extends U{static featureName=z.T;constructor(e){super(e,z.T),h.RI&&((0,H.u)(()=>(0,S.p)("docHidden",[(0,j.t)()],void 0,z.T,this.ee),!0),(0,H.G)(()=>(0,S.p)("winPagehide",[(0,j.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9981))))}}var Z=r(3969);class q extends U{static featureName=Z.TZ;constructor(e){super(e,Z.TZ),this.importAggregator(e,()=>r.e(296).then(r.bind(r,9623)))}}new G({features:[F,Y,q],loaderType:"lite"})})()})();</script>
21
22	<meta name="viewport" content="width=device-width, initial-scale=1">
23
24	<!-- BEGIN FRONTEND TRACKJS -->
24<script attr="nomove" src="https://cdn.trackjs.com/agent/v3/latest/t.js"></script>
vendor: 1 bytes, line 24
24
25<script attr="nomove">
26  TrackJS.install({
27    token: "a7347001564f4c9cb840b3caf60af7ea",
28    application: "frontend-production"
29    // for more configuration options, see https://docs.trackjs.com
30  });
31</script>
31<!-- END FRONTEND TRACKJS -->
32
33    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
34    <!--[if lt IE 9]>
35      
35<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js" attr="nomove"></script>
35
36      
36<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js" attr="nomove"></script>
36
37    <![endif]-->
38	<!-- BOOTSTRAP END -->
39
40    
41    
41<script type="text/javascript" src="https://images.rainpos.com/jquery.tools.min.js" attr="nomove"></script>
41
42    
43	
43<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" attr="nomove"></script>
43
44
45	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
46
47	
48	
49
50	<style>
51		* {box-sizing: border-box;}*:before, *:after {box-sizing: border-box;}a {text-decoration: none;}body {margin: 0;margin-top: 0px;line-height: 1.42857;}h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {font-weight: 500;line-height: 1.1;margin-top: 20px;margin-bottom: 10px;}input, textarea {line-height: inherit;}td, th {padding: 0;}.collapse {display: none;visibility: hidden;}.container {padding-right: 15px;padding-left: 15px;margin-right: auto;margin-left: auto;}@media (min-width: 768px) {.container {width: 750px;}}@media (min-width: 992px) {.container {width: 970px;}}@media (min-width: 1200px) {.container {width: 1170px;}}.container-fluid {padding-left: 15px;padding-right: 15px;}img.img-responsive {        max-width: 100%;        height: auto;    }.dropdown {}.dropdown-menu {display:none;}.dropdown-toggle {}.nav {padding-left: 0;margin-bottom: 0;list-style: none;}.nav > li > a {position: relative;display: block;padding: 10px 15px;}.navbar {position: relative;min-height: 50px;margin-bottom: 20px;}.navbar-collapse {padding-right: 15px;padding-left: 15px;overflow-x: visible;-webkit-overflow-scrolling: touch;border-top: 1px solid transparent;-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);}.navbar-collapse.in {overflow-y: auto;}.navbar-default {}.navbar-header {}.navbar-nav {margin: 7.5px -15px;}@media (min-width: 768px) {.navbar-nav > li {float: left;}.navbar-nav > li > a {padding-top: 10px;padding-bottom: 10px;line-height: 20px;}.navbar-toggle {display: none;}.navbar-collapse {width: auto;border-top: 0;-webkit-box-shadow: none;box-shadow: none;}.navbar-collapse.collapse {display: block !important;height: auto !important;padding-bottom: 0;overflow: visible !important;visibility: visible !important;}.navbar-collapse.in {overflow-y: visible;}.navbar-nav {float: left;margin: 0;}.navbar-nav > li > a {padding-top: 15px;padding-bottom: 15px;}.navbar-header {float: left;}#mainNav ul.nav li.dropdown:hover > ul.dropdown-menu {display: block;}.navbar-collapse, nav > .container-fluid {padding-left:0px !important;padding-right:0px !important;}}@media (max-width: 767px) {.navbar-nav .open .dropdown-menu {position: static;float: none;width: auto;margin-top: 0;background-color: transparent;border: 0;-webkit-box-shadow: none;box-shadow: none;}}.row {margin-left: -15px;margin-right: -15px;}#adminNav nav {margin-left: -15px;}.carousel.fade {opacity: 1;}.carousel.fade .item {-moz-transition: opacity ease-in-out .7s;-o-transition: opacity ease-in-out .7s;-webkit-transition: opacity ease-in-out .7s;transition: opacity ease-in-out .7s;left: 0 !important;opacity: 0;top:0;position:absolute;width: 100%;display:block !important;z-index:1;}.carousel.fade .item:first-child {top:auto;position:relative;}.carousel.fade .item.active {opacity: 1;-moz-transition: opacity ease-in-out .7s;-o-transition: opacity ease-in-out .7s;-webkit-transition: opacity ease-in-out .7s;transition: opacity ease-in-out .7s;z-index:2;}@media (min-width: 768px) {.menubg nav {float: left !important;}.menubg .dropdown-menu {margin-left: 18px !important;border: 1px solid # !important;}.menubg {min-height: 75px;}.mainMenuItem {padding-left: 18px !important;padding-right: 18px !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:# !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:#0a4d70 !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:#red !important;}#mainNav .dropdown-menu > li > a{color:#0a4d70 !important;background-color:# !important;border:0px !important;}#mainNav .dropdown-menu > li > a:hover,#mainNav .dropdown-menu > li > a:focus{color:#red !important;background-color:# !important;}.menubg{background-color:#ddedf0;z-index:3 !important;}.menubg .navbar-nav{padding-top:50;}.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:19px !important;font-family:Noto Serif JP !important;font-weight:bold !important;color:#0a4d70 !important;}html{font-size:1.2em !important;}body{font-family:Oswald, sans-serif !important;font-size:inherit !important;margin:0px;padding:0px;margin-top:0px;height:100%;}FORM{display:inline !important;}H1:not(.ignore-site-layout-styles h1), H2:not(.ignore-site-layout-styles h2), H3:not(.ignore-site-layout-styles h3), H4:not(.ignore-site-layout-styles h4), H5:not(.ignore-site-layout-styles h5){color:#0a4d70 !important;font-family:Noto Serif JP, sans-serif !important;font-size:2.027em !important;}a:not(.ignore-site-layout-styles a), a:visited:not(.ignore-site-layout-styles a){color:#000 !important;font-weight:300 !important;}a:hover:not(.ignore-site-layout-styles a){text-decoration:none !important;color:#ddedf0 !important;}
51A:active{outline:none !important;}:focus{-moz-outline-style:none !important;}LI{margin-bottom:8px !important;}.pageDiv{height:auto !important; height:100%;min-height:100%;margin:0 auto;}.secondaryPageDiv{height:auto !important; height:100%;min-height:100%;margin:0 auto;}.footer, .footer:hover, .footer:visited{color:#000 !important;font-size:.75em !important;}.main1ColumnWidth h1, .main1ColumnWidth h2, .main1ColumnWidth h3{color:#0a4d70;font-family:Noto Serif JP, sans-serif;font-size:2.027em;}.main1ColumnWidth a{color:#000;font-weight:300;}.main1ColumnWidth a:hover{text-decoration:none;color:#ddedf0;}.secondaryMain1ColumnWidth h1, .secondaryMain1ColumnWidth h2, .secondaryMain1ColumnWidth h3{color:#0a4d70;font-family:Noto Serif JP, sans-serif;font-size:2.027em;}.secondaryMain1ColumnWidth a{color:#000;font-weight:300;}.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: #;}.navbar-default .navbar-collapse, .navbar-default .navbar-form {border: 0px;}}.dlgWaitList > .ui-dialog-titlebar {background: #f2f2f2 !important;font-size: 16px;font-family: "Arial";color: #515151;text-transform: uppercase;font-weight: 700;border: 0px;}.dlgWaitList > .ui-dialog-titlebar > .ui-dialog-titlebar-close {background: #f2f2f2 !important;border: 0px;}.dlgWaitList #overlayWaitListForm {padding: 0px;}.dlgWaitList .form-container {margin: 25px;}.dlgWaitList .form-input {-webkit-border-radius: 3px;border-radius: 3px;width: 100%;font-size: 14px;font-family: "Arial";border: 1px solid #d7d8dd;padding: 10px;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}.dlgWaitList .form-title {font-size: 14px;font-family: "Arial";color: #9c9c9c;margin-bottom: 5px;}.dlgWaitList .product-name {font-size: 14px;font-family: "Arial";color: #515151;font-weight: 700;}.dlgWaitList .glyphicon .glyphicon-remove {font-size: 16px;}.dlgWaitList .form-row {margin-bottom: 25px;}.dlgWaitList .wait-list-btn {color: #fff;padding: 10px;font-family: "Arial";text-align: center;display: block;width: 100%;background-color: #5bc050;border: none;-webkit-border-radius: 3px;border-radius: 3px;}.dlgWaitList .wait-list-btn:hover {background-color: #4BB340;}.dlgWaitList input:focus {color:#515151;}.component-header {    position: relative;}.editor-controls-new {    z-index: 1000;    position: absolute;}.body-content, .header-content {    display: grid;    grid-template-columns: repeat(12, 1fr);    width: 100%;}[data-column-id="body"], [data-column-id="header"], [data-column-id="footer"], .header-content >div, .body-content >div, .bgFooter > div {    grid-column: span 12;    min-width: 0;    width: 100%;}/* Mobile Grid Breakpoints */@media (max-width: 767px) {    div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-half,    div.span-7, div.span-8, div.span-three-fourths, div.span-10, div.span-11 {        grid-column: span 12;    }    div.span-full {        grid-column: span 12;    }}@media (min-width: 768px) and (max-width: 991px) {    div.span-1 { grid-column: span 3; }    div.span-2 { grid-column: span 4; }    div.span-3 { grid-column: span 6; }    div.span-4 { grid-column: span 6; }    div.span-5 { grid-column: span 8; }    div.span-half, div.span-6 { grid-column: span 12; }    div.span-7, div.span-8, div.span-three-fourths, div.span-10, div.span-11, div.span-full {        grid-column: span 12;    }}@media (min-width: 992px) {    div.span-1 { grid-column: span 1; }    div.span-2 { grid-column: span 2; }    div.span-fourth { grid-column: span 3; }    div.span-third { grid-column: span 4; }    div.span-5 { grid-column: span 5; }    div.span-half { grid-column: span 6; }    div.span-7 { grid-column: span 7; }    div.span-two-thirds { grid-column: span 8; }    div.span-three-fourths { grid-column: span 9; }    div.span-10 { grid-column: span 10; }    div.span-11 { grid-column: span 11; }    div.span-full { grid-column: span 12; }}.vue-component-row.container-fluid {    width: 100%;}.grid-item.span-1 .container,.grid-item.span-2 .container,.grid-item.span-fourth .container,.grid-item.span-third .container,.grid-item.span-5 .container,.grid-item.span-half .container,.grid-item.span-7 .container,.grid-item.span-two-thirds .container,.grid-item.span-three-fourths .container,.grid-item.span-10 .container,.grid-item.span-11 .container,.grid-item.span-full .container {    width: 100%;}@media (min-width: 768px) {   div[data-column-id].new.container {       width: 750px;       padding-right: 0;       padding-left: 0;   }}@media (min-width: 992px) {   div[data-column-id].new.container {       width: 970px;       padding-right: 0;       padding-left: 0;   }}@media (min-width: 1200px) {   div[data-column-id].new.container {       width: 1170px;       padding-right: 0;       padding-left: 0;   }}#waitlist-wrapper .product-add-waitlist {
52    border-radius: 4px!important;
53    border: 1px solid #ddd!important;
54    background: #FC971F!important;
55    display: block!important;
56    padding: 16px!important;
57    font-family: Roboto, sans-serif;
58    font-size: 14px!important;
59    font-style: normal;
60    font-weight: 400;
61    line-height: normal;
62    letter-spacing: 0.28px;
63    height: 50px!important;
64    color: #fff!important;
65}
66
67#waitlist-wrapper .product-add-waitlist:hover {
68    border-radius: 4px!important;
69    border: 1px solid #ddd!important;
70    background: #FC971F!important;
71    cursor: pointer;
72    text-decoration: underline!important;
73}
74
75
76	</style>
77	<link rel="preconnect" href="https://fonts.gstatic.com">
78<link href="https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap" rel="stylesheet">
vendor: 99 bytes, lines 78-85
78
79	
80
81	        
82
83	
84
85    <script attr="nomove" async src="https://www.googletagmanager.com/gtag/js?id=
85G-D6TKL0B91G
vendor: 11 bytes, line 85
85"></script>
85<script attr="nomove">
86  
vendor: 133 bytes, lines 86-89
86window.dataLayer = window.dataLayer || [];
87  function gtag(){dataLayer.push(arguments);}
88  gtag('js', new Date());
89  gtag('config', '
89G-D6TKL0B91G
vendor: 4 bytes, line 89
89');
90</script>
90
91    
92	
93	<style>
94		/* NAV */
95.menubg {
96 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;
97 background-color: #edf9fc;
98}
99
100ul.nav.navbar-nav {
101    padding-top: 10px;
102}
103
104
105/* Buttons */
106.wb {
107  padding: 8px 30px;
108  font-size: 14px;
109  font-weight: 400;
110  text-align: center;
111  border-radius: 0;
112  transition: 0.35s ease all;
113  display: inline-block;
114  margin-bottom: 0;
115  white-space: nowrap;
116  border: 1px solid transparent;
117  vertical-align: middle;
118  -ms-touch-action: manipulation;
119  touch-action: manipulation;
120  cursor: pointer;
121  -webkit-user-select: none;
122  -moz-user-select: none;
123  -ms-user-select: none;
124  user-select: none;
125  background-image: none;
126}
127.wb-primary {
128  background-color: #0a4d70;
129  color: #fff;
130  border: 1px solid #0a4d70;
131}
132.wb-secondary {
133  background-color: #fff;
134  color: #0a4d70;
135  border: 1px solid #0a4d70;
136}
137.wb-link {
138}
139.wb-primary:hover {
140  background-color: #333;
141}
142.wb-secondary:hover {
143  background-color: #0a4d70;
144  color: #fff;
145}
146.wb-link:hover {
147  text-decoration: underline;
148  background-color: whitesmoke;
149}
150
151/* Hero Banner */
152.hero-image {
153    background-position: center;
154    background-repeat: no-repeat;
155    background-size: cover;
156    position: relative;
157border-radius: 15px;
158}
159.hero-image.large-image {
160    height: 530px;
161}
162.hero-image.small-image {
163    height: 250px;
164    margin-bottom: 10px;
165}
166.hero-text {
167    text-align: left;
168    position: absolute;
169    padding: 5px 40px 40px;
170    left: 0;
171    right: 0;
172    bottom: 0;
173    z-index: 1;
174}
175.hero-text h1,
176.hero-text h3,
177.hero-text p,
178.hero-text {
179  color: #fff !important;
180}
181.hero-text h1 {
182  margin-bottom: 15px;
183  font-size: 60px !important;
184}
185.hero-image:after {
186    position: absolute;
187    content: '';
188    left: 0;
189    right: 0;
190    bottom: 0;
191    top: 0;
192    background-color: rgba(0, 0, 0, 0.20);
193border-radius: 15px;
194
195}
196.hero-image .wb {
197    margin-bottom: 5px;
198}
199.hero-image .wb-primary {
200    background-color: #fff;
201    color: #000;
202    border-color: #fff;
203}
204.hero-image .wb-primary:hover {
205    background-color: #000;
206    color: #fff;
207    border-color: #000;
208}
209.hero-image .wb-secondary {
210    background-color: rgba(0, 0, 0, 0.45);
211    color: #fff;
212    border-color: #fff;
213}
214.hero-image .wb-secondary:hover {
215    background-color: #fff;
216    color: #000;
217    border-color: #fff;
218}
219
220/* Search Bar */
221.site-search-container {
222  background: #ffff;
223  position: relative;
224  padding: 13px;
225  font-size: 16px;
226  border: 1px solid #ddd;
227}
228.site-search-container .fa-search {
229  position: absolute;
230  right: 15px;
231  top: 50%;
232  transform: translateY(-50%);
233}
234.site-search {
235  border: none;
236  border-radius: 0;
237  margin-right: 15px;
238  width: 100%;
239  background: #fff;
240}
241.site-search:focus {
242  border: none;
243  outline: none;
244}
245
246/* Widgete 8 */
247.widget8 {
248 display: flex;
249 flex-flow: row wrap-reverse;
250 justify-content: space-around;
251 margin: 0;
252 list-style: none;
253 }
254 .widget8 .flex-item {
255 width: 50%;
256 text-align: center;
257 position: relative;
258 }
259 .widget8 .figcaption {
260 position: absolute;
261 margin: 0 auto;
262 max-width: 500px;
263 min-width: 320px;
264 left: 0;
265 right: 0;
266 top: 50%;
267 transform: translateY(-50%);
268 }
269 .widget8 .figcaption p {
270 margin-bottom: 20px;
271 font-weight: 300;
272 }
273 .widget8 .figcaption h3 {
274 font-size: 36px;
275 font-weight: 700;
276 }
277
278/* Featured Products */
279.featuredProductContainer {
280    margin-bottom: 30px;
281    transition: .25s ease all;
282}
283.featuredProductTitle {
284    margin-top: 10px;
285    color: #333;
286}
287.featuredProductContainer:hover .featuredProductTitle {
288    text-decoration: underline;
289}
290.featuredProductImgContainer {
291    border: 1px solid #ddd;
292}
293.featuredProductImgContainer>div {
294    background-size: contain !important;
295}
296
297/* Newsletter */
298.lblNewsletterSignup {
299    text-align: right;
300    margin-bottom: 5px;
301}
302.lblNewsletterSignup  h3 {
303    margin: 0 0 5px;
304}
305.btnNewsletterSignup {
306    background: #0a4d70;
307    border: 1px solid #0a4d70;
308    color: #fff;
309}
310
311
312/* MEDIA QUERIES */
313@media (min-width: 768px) {
314/* Nav */
315nav#mainNav {
316    width: 100%;
317}
318.menubg .navbar-nav {
319    flex-flow: wrap;
320    justify-content: space-around;
321    margin: 0;
322    list-style: none;
323    display: flex;
324    width: 100%;
325    padding: 0;
326    text-align: center;
327    white-space: nowrap;
328}
329}
330
331@media (max-width: 768px) {
332 /* Hero Banner */
333  .hero-text {
334  }
335  .hero-text {
336    text-align: center;
337  }
338  .hero-text h1 {
339  font-size: 32px !important;
340  }
341  .hero-image.large-image {
342    height: 400px;
343  }
344  .hero-image.small-image {
345    height: 225px;
346  }
347  /* Newsletter */
348  .lblNewsletterSignup {
349    text-align: center;
350  }
351}
352
353@media (max-width: 1200px) {
354/* Widget 8 */
355 .widget8 .figcaption {
356   position: unset;
357   margin: 30px auto 50px;
358   padding: 0 30px;
359   left: unset;
360   right: unset;
361   top: unset;
362   transform: unset;
363 }
364 .widget8 .flex-item {
365 width: 100%;
366 }
367 }
368
369.search-wrapper {
370    background: #ffff;
371    position: relative;
372    padding: 11px;
373    font-size: 16px;
374    border: 1px solid #ddd;
375}
376
377/* FEATURED CATEGORY */
378.featured-category .featured-container {
379    position: relative;
380    text-align: center;
381    -webkit-transition: all .4s ease;
382    -moz-transition: all .4s ease;
383    -ms-transition: all .4s ease;
384    -o-transition: all .4s ease;
385    transition: all .4s ease;
386    margin-bottom: 15px;
387}
388
389.featured-category .featured-container img {
390    -webkit-filter: brightness(.9);
391    filter: brightness(.9);
392border-radius: 15px;
393height: 398px;
394
395}
396
397.featured-category .featured-container div {
398    border: 1px solid #fff;
399border-radius: 15px;
400
401    margin: 10px;
402    display: block;
403    position: absolute;
404    left: 0;
405    top: 0;
406    bottom: 0;
407    right: 0;
408    -webkit-transition: all .4s ease;
409    -moz-transition: all .4s ease;
410    -ms-transition: all .4s ease;
411    -o-transition: all .4s ease;
412    transition: all .4s ease;
413}
414
415.featured-category .featured-container h2 {
416    color: #fff !important;
417    font-size: 42px !important;
418    position: absolute;
419    top: 50%;
420    transform: translateY(-50%);
421    left: 0;
422    right: 0;
423}
424
425.featured-category .featured-container:hover div {
426    border: 10px solid #fff;
427}
428
429.dividerStyle8 {
430 background: url(https://media.rainpos.com/7026/paper_copy_8.png) repeat-x center top;
431 background-color: #f7f7f7;
432 }
433
434.dividerStyle81 {
435 background: url(https://media.rainpos.com/7026/paper_copy_8_copy.png) repeat-x center bottom;
436 background-color: #f7f7f7;
437 }
438
439 ul.socialStyle5 li {
440 padding: 2px;
441 }
442
443 .socialStyle5 li a {
444 position: relative;
445 background: #edf9fc;
446 display: block;
447 padding: 7px 21px 7px 7px;
448 color: #0a4d70 !important;
449 text-transform: capitalize;
450 transition: .4s ease all;
451 }
452
453 .socialStyle5 li a:before,
454 .socialStyle5 li a:after {
455 position: absolute;
456 content: '';
457 top: 0;
458 }
459
460
461 .socialStyle5 li a:before {
462 right: 0;
463 height: 0;
464 width: 0;
465 border-bottom: 20px solid transparent;
466 border-top: 20px solid transparent;
467 border-right: 10px solid #fff;
468 }
469
470 .socialStyle5 li a:after {
471 height: 100%;
472 width: 0;
473 bottom: 0;
474 left: 3px;
475 border-left: 1px dashed #fff;
476 }
477
478 ul.socialStyle5 li a:hover {
479 background: #666;
480 }
481
482 .socialStyle5.spaceFix li a > span {
483 margin-left: 4px;
484 }
485
486.textured-bg {
487background: url(https://media.rainpos.com/11005/green_gobbler_1.png
488) repeat; 
489 background-color: #f7f7f7
490};
491		
492	</style>
493	
493<script attr="nomove" type="text/javascript">
494        var themeClass = "theme-default";
495var knobby = {"bin_location":false,"bulk":true,"module_canonical":true,"customer_notes":false,"dumbbell_labels":true,"email_customization":true,"layaway":true,"newsletter_archive":true,"polls":false,"product_download":true,"product_form":true,"product_kit":true,"product_offline_reserve":true,"product_serialized":true,"allow_subscriptions_settings":true,"product_suggested":true,"product_transfer":true,"product_wait_list":true,"product_yards":true,"quotes":true,"repairs":true,"rto_school_info":false,"services":true,"so":true,"packages":true,"till_quick_pick":false,"taxjar":false,"shopify":false,"web_checkout":true,"website_file_upload":true,"website_forms":true,"website_customer_directory":false,"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":true,"module_enhancedCategoryPage":true,"module_pos":true,"module_spreadsheetUpload":true,"module_wholesaleLogin":false,"module_designWall":false,"module_facebookFeatures":true,"module_gallery":true,"module_allcosts":false,"module_rental":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":true,"module_ssi":false,"module_use_ssi_sandbox":false,"module_backorders":false,"module_gst":false,"module_online_canada_tax":false,"module_order_location":false,"module_locally":false,"module_loans":false,"module_catalog_options":false,"module_check_duplicate_sn_store":true,"module_subscriptions":false,"module_layaway_reserve_logic":false,"module_purchase_contracts":false,"module_comment_sold":false,"module_customer_po_pos":false,"module_search_through_packrat":true,"module_participate_in_stashify":false,"module_customer_packrat_sync":false,"module_wholesale_shipping":false,"module_sellbrite":false,"module_calendarAdmin":false,"module_stashify_reporting":false,"module_support_tax_inclusive_pricing":false,"module_rto_overdue_statements_bulk_edit":false,"module_test_tu_on_prod":false,"module_trial_purchases":false,"module_rto_required_fields_simplified_customer_modal":false,"module_crmGroupsFlag":false,"module_avalara_tax_sandbox_mode":false,"module_add_other_payment_method":false,"module_online_account_management_enhancements":true,"on_all_stores_online_account_management_enhancements":true,"module_paypal_sandbox_mode":false,"module_great_plains_exports":false,"module_till_require_pin":false,"module_view_waive_rto_late_fee":false,"module_facebook_catalog_feed":false,"module_letter_management":false,"module_bye_pendo":false,"module_show_desc_for_till_line_item":false,"module_ebay_integration_flag":false,"module_ebay_sandbox":false,"module_invalid_cart_code":false,"module_shipping_carrier":false,"module_reconciliation":false,"module_weight_cost":false,"module_break_up_ccf_upload":false,"module_autopayment_rto_eod":false,"module_freeze_rto_tax":false,"module_ebay_sandbox_mock":false,"module_facebook_social_posts":false,"module_facebook_shop_integration":false,"module_honor_purchase_of_free_products_setting":false,"module_emails_v2_using_partials":false,"module_rental_inventory_from_products":false,"module_advanced_customer_search":false,"module_return_line_item_edit_icon":false,"module_reverb_orders_sync":false,"module_taxjar":false,"module_taxjar_sandbox":false,"module_recognize_rental_revenue":false,"module_rto_settings_fees":false,"module_finish_out_discount_on_po_ro":false,"module_show_customer_group_and_custom_id_in_till":false,"module_navbar_v2":true,"on_all_stores_navbar_v2":true,"module_pointy_slack_logging":false,"module_pointy_staging":false,"module_reconciliation_memory_size_exhausted":false,"module_printouts_min_height":false,"module_sell_free_online_order":true,"on_all_stores_sell_free_online_order":true,"module_trade_in_tax_calculating":false,"module_temp_till_address":false,"module_changing_price_in_consignment_contract":false,"module_rto_payments_show_to_left_eod":true,"on_all_stores_rto_payments_show_to_left_eod":true,"module_logging_incorrect_styled_product":false,"module_pslr_weighted_cost":false,"module_tax_profiles":true,"module_ignore_international_setting_for_non_shipping_items":false,"module_virtual_terminal_sync":true,"on_all_stores_virtual_terminal_sync":true,"module_fix_item_shows_as_available_on_web":false,"module_change-select-to-input-in-disassemble":false,"module_auth_capture_report_service_error":false,"module_paypal_subscription_only":false,"module_clientbook_sandbox_mode":false,"module_online_rto_zero":false,"module_ignore_empty_tax_rates":false,"module_craftalytics_feed":false,"module_fix_customer_overwriting":false,"module_log_interac_refund_attempts":false,"module_dumbbell_margin_between_f
495ix":false,"module_make_request_review_checkbox_on_by_default":false,"module_user-guiding":false,"module_big_company":false,"module_big_slack_logging":false,"module_nmi_emv_payments":false,"module_stone_management":false,"module_bulk_rental_billing_functions_on_rto_list":true,"module_dumbbell_1up_fix":false,"module_gift_registry_till_block":false,"module_change_barcode_type":false,"module_jewel_product_type":false,"module_appraisals_main_flag":false,"module_fix_empty_till_sales_tax_report_grouping":false,"module_spreadsheet_uploads_cant_allow_for_duplicate_sku":false,"module_omnichannel_integration":false,"module_display_single_line_item_for_identical_serialized_items_on_RO":false,"module_dont_show_completed_ro_when_ready_to_receive_filter_is_selected":false,"module_qbo_sandbox_mode":false,"module_fake_test_flag":false,"module_fake_test_flag_v2":true,"module_fix_serial_numbers_displayed_on_special_order_ticket_in_ro":false,"module_colorado_retail_delivery_fee":false,"module_remove_coupon_from_cart_if_deleted_and_throw_error":true,"on_all_stores_remove_coupon_from_cart_if_deleted_and_throw_error":true,"module_zpl_debug":false,"module_care_plans":false,"module_flag_backorders_for_rain_payments":false,"module_customer_po_adjust_wo_logic":false,"module_jm_slack_logging":false,"module_jm_sandbox":false,"module_product_page_redesign":false,"module_respect_serialized_condition_for_website_enhanced_view":false,"module_flag_craftalytics_export_item_weight":false,"module_jm_insurance":false,"module_remove_lane_info_from_non_worldpay":false,"module_flag_add_categories_automatically_in_product_upload":true,"on_all_stores_flag_add_categories_automatically_in_product_upload":true,"module_disable_db_log_usage":true,"on_all_stores_disable_db_log_usage":true,"module_flag_migration_upload_score_card":false,"module_refactor_online_rto_price_code":false,"module_fix_custom_field_date_validator":true,"on_all_stores_fix_custom_field_date_validator":true,"module_fix_merge_serial_numbers":false,"module_rto_order_line_details":false,"module_allow_fallback_to_wp_tokens":false,"module_flag_migrate_invoice_customer_by_external_id":true,"on_all_stores_flag_migrate_invoice_customer_by_external_id":true,"module_fix_items_quantity_for_so":false,"module_flag_test_subscription_email_store_logo":false,"module_fix_product_info_modal":false,"module_stripe_accounts_per_location":false,"module_vendor_integration_sandbox":false,"module_flag_google_analytics_v4":false,"module_mapping_clientbook_associates":true,"on_all_stores_mapping_clientbook_associates":true,"module_rental_auto_reminder_on":false,"module_fix_order_note_for_sub_and_rental_payments":true,"on_all_stores_fix_order_note_for_sub_and_rental_payments":true,"module_adyen_accounts_per_location":false,"module_assemble_disassemble":false,"module_system_callout_for_reports":false,"module_lock_transaction_save":true,"on_all_stores_lock_transaction_save":true,"module_custom_labels_templates_in_print_modal":true,"module_open_ai_long_description":true,"on_all_stores_open_ai_long_description":true,"module_po_export_fix_comma":false,"module_fix_signup_disappear_after_customer_added_register":false,"module_avalara_tax_code_issue":false,"module_inventory_history_fix_other_event_when_sn_removed":true,"on_all_stores_inventory_history_fix_other_event_when_sn_removed":true,"module_item_filters_dollar_off_coupons":false,"module_flag_set_date_received_from_new_product_upload":true,"on_all_stores_flag_set_date_received_from_new_product_upload":true,"module_prevent_close_on_print":false,"module_rto_autopay_improvements_issue_indicator":false,"module_handle_serialized_line_item_upload_migrated_option_id":true,"on_all_stores_handle_serialized_line_item_upload_migrated_option_id":true,"module_stripe_send_level_3_data":true,"on_all_stores_stripe_send_level_3_data":true,"module_fix_previous_payments_for_multiple_contracts":true,"on_all_stores_fix_previous_payments_for_multiple_contracts":true,"module_locations_in_scheduled_sale":false,"module_fix_send_to_list_validation_schedule_email":false,"module_toggle_product_page_version":true,"on_all_stores_toggle_product_page_version":true,"module_allow_super_admin_download_ext_customer_id":true,"on_all_stores_allow_super_admin_download_ext_customer_id":true,"module_smaller_pslr_status_updates":true,"on_all_stores_smaller_pslr_status_updates":true,"module_add_customer_id_type_transaction_upload":true,"on_all_stores_add_customer_id_type_transaction_upload":true,"module_send_mix_panel_event_on_zipcode_change_web_checkout":false,"module_locally_push2cart_integration":false,"module_beta_features_feedback":true,"on_all_stores_beta_features_feedback":true,"module_quick_assemble":false,"module_verify_payment_id":true,"on_all_stores_verify_payment_id":true,"module_layaway_migration":false,"module_send_mixpanel_event_on_mms_customer_disconnect":false,"module_improved_waitlist":true,"on_all_stores_improved_waitlist":true,"module_use_amex_pricing":true,"on_all_stores_use_amex_pricing":true,"module_additional_settings_custom_tenders":true,"on_all_stores_additional_settings_custom_tenders":true,"module_nps_page_v2":true,"on_all_stores_nps_page_v2":true,"module_set_store_id_for_transaction_if_has_value":false,"module_deprecate_on_account":true,"on_all_stores_deprecate_on_account":true,"module_restricted_login":false,"module_eod_summary_v2":true,"on_all_stores_eod_summary_v2":true,"module_enhanced_interrogation_techniques":false,"module_work_orders_current_store_location_id":true,"on_all_stores_work_orders_current_store_location_id":true,"module_prevent_utf8_in_header_columns":true,"on_all_stores_prevent_utf8_in_header_columns":true,"module_gia_sandbox":false,"module_edit_appraisals":true,"on_all_stores_edit_appraisals":true,"module_fix_edit_appraisal_template":true,"on_all_stores_fix_edit_appraisal_template":true,"module_slack_notification_when_store_connects_clientbook":true,"on_all_stores_slack_notification_when_store_connects_clientbook":true,"module_fix_image_upload_invalid_extension":false,"module_show_warning_if_no_price_for_new_consignment_items":false,"module_fix_sorting_by_technician_in_wo":true,"on_all_stores_fix_sorting_by_technician_in_wo":true,"module_fix_deleting_main_image_from_all_products":true,"on_all_stores_fix_deleting_main_image_from_all_products":true,"module_respect_classes_setting_in_all_places":true,"on_all_stores_respect_classes_setting_in_all_places":true,"module_markup_pricing_flag":true,"on_all_stores_markup_pricing_flag":true,"module_image_inventory_velocity_report":true,"on_all_stores_image_inventory_velocity_report":true,"module_gia_slack_logging":false,"module_category_issue_new_pp":true,"on_all_stores_category_issue_new_pp":true,"module_fix_wo_tags":true,"on_all_stores_fix_wo_tags":true,"module_beta_product_feedback_report":true,"on_all_stores_beta_product_feedback_report":true,"module_check_duplication_upc_mfr_id":true,"on_all_stores_check_duplication_upc_mfr_id":true,"module_product_page_fix_tax_clearing":true,"on_all_stores_product_page_fix_tax_clearing":true,"module_nps_report_list_update":true,"on_all_stores_nps_report_list_update":true,"module_custom_zpl_tools":false,"module_print_note_wo_items":true,"on_all_stores_print_note_wo_items":true,"module_facet_fields_order_web_fix":true,"on_all_stores_facet_fields_order_web_fix":true,"module_po_clear_date_issue":true,"on_all_stores_po_clear_date_issue":true,"module_email_cleanup_script_banner":false,"module_unsaved_inventory_warnings":false,"module_fix_appraisal_item_on_close"
495: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
495o_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
495or":true,"on_all_stores_alert_print_ro_custom_template_no_vendor":true,"module_fix_gtag_purchase_event_vars":true,"on_all_stores_fix_gtag_purchase_event_vars":true,"module_allow_no_sn_in_loose_stone":true,"on_all_stores_allow_no_sn_in_loose_stone":true,"module_fix_saving_loose_stone_inventory":true,"on_all_stores_fix_saving_loose_stone_inventory":true,"module_po_upload_files_ai":false,"module_delayed_mixpanel_event":true,"on_all_stores_delayed_mixpanel_event":true,"module_website_page_code":true,"on_all_stores_website_page_code":true,"module_stop_serialized_switching_old_pp":true,"on_all_stores_stop_serialized_switching_old_pp":true,"module_material_fix_class_v2":true,"on_all_stores_material_fix_class_v2":true,"module_parafin_ad":false,"module_respect_custom_tenders_order_in_tenders_by_till":true,"on_all_stores_respect_custom_tenders_order_in_tenders_by_till":true,"module_date_range_filter_for_aging_report":true,"on_all_stores_date_range_filter_for_aging_report":true,"module_default_sales_representative":true,"on_all_stores_default_sales_representative":true,"module_add_flat_rate_to_consignor":true,"on_all_stores_add_flat_rate_to_consignor":true,"module_parafin_sandbox":false,"module_rental_contracts_paypal_method":false,"module_rto_ecom_tab_rrr":false,"module_independent_scrolling_on_web":false,"module_geller_blue_book_work_order":false,"module_fix_wo_take_deposit_redirect":true,"on_all_stores_fix_wo_take_deposit_redirect":true,"module_stop_deleting_resumed_transactions":true,"on_all_stores_stop_deleting_resumed_transactions":true,"module_tag_in_work_order_list":true,"on_all_stores_tag_in_work_order_list":true,"module_package_coupons":false,"module_scrap_metal_flag":false,"module_product_list_v2":false,"module_stone_mixpanel":false,"module_ship_to_school_for_non_rto_or_osr":true,"on_all_stores_ship_to_school_for_non_rto_or_osr":true,"module_fix_geller_prices":true,"on_all_stores_fix_geller_prices":true,"module_add_submit_workorder_online_feature":false,"module_show_aim_data_in_customer_account":false,"module_blog_module":true,"on_all_stores_blog_module":true,"module_comparison_report":true,"on_all_stores_comparison_report":true,"module_allow_users_to_edit_product_in_till":false,"module_inventory_report_refactoring":false,"module_fix_utf_response_issue":false,"module_product_metal_info":false,"module_social_media_manager":false,"module_job_condition_field_for_work_order":false,"module_in_classes_not_able_to_add_required_material":false,"module_new_pii_for_kit_assembly":true,"on_all_stores_new_pii_for_kit_assembly":true,"module_display_sn_for_trade_in":false,"module_fix_locally_payment_nonce_reset":false,"module_fix_sold_column_in_product_inventory_page":true,"on_all_stores_fix_sold_column_in_product_inventory_page":true,"module_disable_vue_parsing_for_description":false,"module_so_print_ticket_receipt":true,"on_all_stores_so_print_ticket_receipt":true,"module_mixpanel_active_no_demo_store":false,"module_rental_enable_auto_pay_on_card":true,"on_all_stores_rental_enable_auto_pay_on_card":true,"module_merge_product_information_with_discount_to_pop_up":false,"module_marketing_email_not_sending_to_all_recipients":false,"module_allow_batch_actions_for_line_discounts":true,"on_all_stores_allow_batch_actions_for_line_discounts":true,"module_rental_double_charge_log":false,"module_fix_incorrect_next_payment_amount_for_rental":true,"on_all_stores_fix_incorrect_next_payment_amount_for_rental":true,"module_add_local_delivery_tab":false,"module_fix_ipad_print_second_page":true,"on_all_stores_fix_ipad_print_second_page":true,"module_fix_modules_duplication":false,"module_domain_management_tool":false,"module_rto_custom_views_button":true,"on_all_stores_rto_custom_views_button":true,"module_fix_remaining_balances_incorrect_total":false,"module_custom_printer_margins":false,"module_bug_classes_cant_check_out_ecommerce":true,"on_all_stores_bug_classes_cant_check_out_ecommerce":true,"module_duplicate_rental_product":true,"on_all_stores_duplicate_rental_product":true,"module_new_kb_site_flag":true,"on_all_stores_new_kb_site_flag":true,"module_notes_template_option":true,"on_all_stores_notes_template_option":true,"module_add_tracking_number_to_purchase_order":true,"on_all_stores_add_tracking_number_to_purchase_order":true,"module_customer_wo_tab":true,"on_all_stores_customer_wo_tab":true,"module_osr_product_description_editor":true,"on_all_stores_osr_product_description_editor":true,"module_submit_special_order_from_wo_modal":false,"module_so_negative_deposits_till_fix":true,"on_all_stores_s
495o_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":false,"module_po_ro_form_style_not_responding":true,"on_all_stores_po_ro_form_style_not_responding":true,"module_print_ipad_fix":true,"on_all_stores_print_ipad_fix":true,"module_bug_jewelers_mutual_purchase_not_migrating_care_plan":false,"module_fix_calculation_store_credit_and_account_balances_with_invoicing_enabled":true,"on_all_stores_fix_calculation_store_credit_and_account_balances_with_invoicing_enabled":true,"module_cannot_view_terms_conditions_checkout_screen_address_info":true,"on_all_stores_cannot_view_terms_conditions_checkout_screen_address_info":true,"module_fix_transfer_items_search_order":true,"on_all_stores_fix_transfer_items_search_order":true,"module_metal_buy_unavailable_message":true,"on_all_stores_metal_buy_unavailable_message":true,"module_elastic_tracking_ssl_notice":true,"on_all_stores_elastic_tracking_ssl_notice":true,"module_qbo_retail_delivery_fee":true,"on_all_stores_qbo_retail_delivery_fee":true,"module_printing_multiple_serial_numbers_at_one_time_prints_the_oldest":true,"on_all_stores_printing_multiple_serial_numbers_at_one_time_prints_the_oldest":true,"module_fix_po_styles_for_product_with_existing_styles":true,"on_all_stores_fix_po_styles_for_product_with_existing_styles":true,"module_do_not_send_unnecessary_data_with_po":true,"on_all_stores_do_not_send_unnecessary_data_with_po":true,"module_fix_serialized_unlimited_inventory_concurrent":true,"on_all_stores_fix_serialized_unlimited_inventory_concurrent":true,"module_fix_bug_add_serialized_product_to_till_without_seri
495al_number":false,"module_fix_auto_increase_duplicate_product_quantity":true,"on_all_stores_fix_auto_increase_duplicate_product_quantity":true,"module_bug_cannot_add_alternate_lookup_on_product":true,"on_all_stores_bug_cannot_add_alternate_lookup_on_product":true,"module_comparison_report_scrolling":true,"on_all_stores_comparison_report_scrolling":true,"module_fix_label_price_zero_condition":true,"on_all_stores_fix_label_price_zero_condition":true,"module_fix_customer_modal_respects_wo_enabled_settings":false,"module_fix_serialized_inventory_batch_caching":true,"on_all_stores_fix_serialized_inventory_batch_caching":true,"module_add_delete_confirmation_popup_for_manage_serialized_inventory":true,"on_all_stores_add_delete_confirmation_popup_for_manage_serialized_inventory":true,"module_bug_product_page_filter_not_filtering_properly":true,"on_all_stores_bug_product_page_filter_not_filtering_properly":true,"module_disable_editing_if_paypal_is_used":false,"module_fix_nr_error_in_wishlist":true,"on_all_stores_fix_nr_error_in_wishlist":true,"module_fix_elastic_email_set_default_sender":true,"on_all_stores_fix_elastic_email_set_default_sender":true,"module_bug_reward_eligibility_defaults_to_on":true,"on_all_stores_bug_reward_eligibility_defaults_to_on":true,"module_validate_store_location_while_saving_wo":true,"on_all_stores_validate_store_location_while_saving_wo":true,"module_fix_price_manage_serialized_inventory":true,"on_all_stores_fix_price_manage_serialized_inventory":true,"module_fix_previous_payments_non_discountable_lines":true,"on_all_stores_fix_previous_payments_non_discountable_lines":true,"module_reverb_is_not_displaying_correct_inventory_accounts_ms360_integrated_products":true,"on_all_stores_reverb_is_not_displaying_correct_inventory_accounts_ms360_integrated_products":true,"module_shopify_refund_fallback":true,"on_all_stores_shopify_refund_fallback":true,"module_avg_margin_col_sales_details_report":true,"on_all_stores_avg_margin_col_sales_details_report":true,"module_pointy_status_request":true,"on_all_stores_pointy_status_request":true,"module_bug_payout_shift_report_duplicating_entries":true,"on_all_stores_bug_payout_shift_report_duplicating_entries":true,"module_fix_rounding_sales_tax_report":true,"on_all_stores_fix_rounding_sales_tax_report":true,"module_optimize_barcode_loading":true,"on_all_stores_optimize_barcode_loading":true,"module_fix_custom_tenders_shift_summary":true,"on_all_stores_fix_custom_tenders_shift_summary":true,"module_add_customer_search_to_work_order_bulk_edit":true,"on_all_stores_add_customer_search_to_work_order_bulk_edit":true,"module_wo_remaining_balance_quote":true,"on_all_stores_wo_remaining_balance_quote":true,"module_shopify_variant_level_refund_matching":true,"on_all_stores_shopify_variant_level_refund_matching":true,"module_sales_tax_report_add_shipping_sales_to_summary":false,"module_fix_update_transaction_timestamp_timezone":true,"on_all_stores_fix_update_transaction_timestamp_timezone":true,"module_fix_uuid_not_cleared_on_transaction_complete":true,"on_all_stores_fix_uuid_not_cleared_on_transaction_complete":true,"module_prohibit_digital_products_with_options":false,"module_fix_the_inventory_history_event_to_show_the_correct_area_and_event":false,"module_bug_serial_number_duplicating_on_product_page":true,"on_all_stores_bug_serial_number_duplicating_on_product_page":true,"module_fix_tailored_lists_not_saving_added_products":true,"on_all_stores_fix_tailored_lists_not_saving_added_products":true,"module_fix_same_payment_for_different_transactions":true,"on_all_stores_fix_same_payment_for_different_transactions":true,"module_export_to_qbo_vendor_consignment":true,"on_all_stores_export_to_qbo_vendor_consignment":true,"module_reverb_extend_marketplace_provider_get_orders":true,"on_all_stores_reverb_extend_marketplace_provider_get_orders":true,"module_fix_403_error_on_image_upload":true,"on_all_stores_fix_403_error_on_image_upload":true,"module_fix_rto_future_payments_proportion":true,"on_all_stores_fix_rto_future_payments_proportion":true,"module_communications_module_not_showing_emails":false,"module_disable_best_seller_report":false,"module_signature_only_on_store_copy_on_auto_print":true,"on_all_stores_signature_only_on_store_copy_on_auto_print":true,"module_bug_loose_stone_behavior_in_special_order":true,"on_all_stores_bug_loose_stone_behavior_in_special_order":true,"module_fix_subscription_invali
495d_card_marking":true,"on_all_stores_fix_subscription_invalid_card_marking":true,"module_fix_saving_product_modal_reorder_pslrs":true,"on_all_stores_fix_saving_product_modal_reorder_pslrs":true,"module_bug_service_add_to_group_button_is_missing":true,"on_all_stores_bug_service_add_to_group_button_is_missing":true,"module_skip_sold_sn_check_on_transaction_update":true,"on_all_stores_skip_sold_sn_check_on_transaction_update":true,"module_add_worker_options_to_transaction_alert_message":true,"on_all_stores_add_worker_options_to_transaction_alert_message":true,"module_bug_print_preview_missing_price_field_on_custom_label":true,"on_all_stores_bug_print_preview_missing_price_field_on_custom_label":true,"module_fix_eod_net_sales_previous_payments":false,"module_new_sl_transaction":true,"on_all_stores_new_sl_transaction":true,"module_blog_parse_fix":false,"module_shopify_respect_reserve_inventory_flag":true,"on_all_stores_shopify_respect_reserve_inventory_flag":true,"module_fix_work_order_markup":true,"on_all_stores_fix_work_order_markup":true,"module_comparison_report_search_functionality":true,"on_all_stores_comparison_report_search_functionality":true,"module_glitch_image_is_stuck_on_page":true,"on_all_stores_glitch_image_is_stuck_on_page":true,"module_show_print_proxy_help_message":true,"on_all_stores_show_print_proxy_help_message":true,"module_bug_sales_by_item_report_filtering":true,"on_all_stores_bug_sales_by_item_report_filtering":true,"module_clear_max_debit_value_from_previous_transaction":true,"on_all_stores_clear_max_debit_value_from_previous_transaction":true,"module_digital_download_save_in_original_product_view":false,"module_fix_rounding_adjustment_return":true,"on_all_stores_fix_rounding_adjustment_return":true,"module_bug_thermal_receipt_prints_tbd_sn":true,"on_all_stores_bug_thermal_receipt_prints_tbd_sn":true,"module_fix_short_term_rental_barcode_printing":true,"on_all_stores_fix_short_term_rental_barcode_printing":true,"module_fix_online_order_module_shipstation_shipping_method":false,"module_taxes_incorrect_after_credit_payment_but_correct_in_till":true,"on_all_stores_taxes_incorrect_after_credit_payment_but_correct_in_till":true,"module_bug_deposits_not_showing_during_osr_checkout":true,"on_all_stores_bug_deposits_not_showing_during_osr_checkout":true,"module_bug_transactions_selling_consignment_inventory_still_requiring_customer":true,"on_all_stores_bug_transactions_selling_consignment_inventory_still_requiring_customer":true,"module_rezo_integration":false,"module_fix_pay_at_pickup_giftcard_activation":true,"on_all_stores_fix_pay_at_pickup_giftcard_activation":true,"module_fix_rto_exchange_security_deposit":true,"on_all_stores_fix_rto_exchange_security_deposit":true,"module_fix_jurisdiction_tax_precision":true,"on_all_stores_fix_jurisdiction_tax_precision":true,"module_products_with_variants_cant_be_listed_on_reverb_if_one_variant_has_zero_inventory":true,"on_all_stores_products_with_variants_cant_be_listed_on_reverb_if_one_variant_has_zero_inventory":true,"module_fix_layaway_unpaid_balance":true,"on_all_stores_fix_layaway_unpaid_balance":true,"module_bug_end_of_day_report_view_all_tenders":true,"on_all_stores_bug_end_of_day_report_view_all_tenders":true,"module_sms_trial_for_non_marketing":true,"on_all_stores_sms_trial_for_non_marketing":true,"module_slack_logging_for_customer_catalog_syncs":true,"on_all_stores_slack_logging_for_customer_catalog_syncs":true,"module_fix_barcode_print_1x1":true,"on_all_stores_fix_barcode_print_1x1":true,"module_simplify_migrated_work_order_images":false,"module_migration_cleanup_migrated_repairs":true,"on_all_stores_migration_cleanup_migrated_repairs":true,"module_remove_receptive":true,"on_all_stores_remove_receptive":true,"module_bug_tenders_are_not_being_recorded_correctly_in_eod_report":false,"module_fix_rounding_adjustment_on_delete_payment":true,"on_all_stores_fix_rounding_adjustment_on_delete_payment":true,"module_better_handling_product_records_syncs_to_reverb_after_returning":true,"on_all_stores_better_handling_product_records_syncs_to_reverb_after_returning":true,"module_rto_scheduled_payment_handle_adyen_bad_card_response":false,"module_metals_dev_currencies":true,"on_all_stores_metals_dev_currencies":true,"module_comparison_report_extended_date_range":true,"on_all_stores_comparison_report_extended_date_range":true,"module_fix_waitlist_user_permission":true,"on_all_stores_fix_waitlist_user_permission":true,"module_hide_email_optional_label_when_save_card":true,"on_all_stores_hide_email_optional_label_when_save_card":true,"module_fix_save_operation_exceptions":true,"on_all_stores_fix_save_operation_exceptions":true,"module_bug_customer_percentage_discount_applying_to_already_discounted_so":true,"on_all_stores_bug_customer_percentage_discount_applying_to_already_discounted_so":true,"module_cannot_merge_product_with_reverb_shipping_rate":true,"on_all_stores_cannot_merge_product_with_reverb_shipping_rate":true,"module_bugfix_store_can_open_rto_it_doesnt_own":true,"on_all_stores_bugfix_store_can_open_rto_it_doesnt_own":true,"module_glitch_deleted_customer_profile_still_in_previous_subscription":true,"on_all_stores_glitch_deleted_customer_profile_still_in_previous_subscription":true,"module_handle_refund_callback":true,"on_all_stores_handle_refund_callback":true,"module_posthog_modal_pageview_tracking":true,"on_all_stores_posthog_modal_pageview_tracking":true,"module_trade_in_and_misc_product_tax_fix":true,"on_all_stores_trade_in_and_misc_product_tax_fix":true,"module_fix_bin_locations_display":true,"on_all_stores_fix_bin_locations_display":true,"module_fix_external_customer_id_for_migrated_adyen_cards":true,"on_all_stores_fix_external_customer_id_for_migrated_adyen_cards":true,"module_fix_nr_error_bad_email":true,"on_all_stores_fix_nr_error_bad_email":true,"module_cash_rounding_always_down":true,"on_all_stores_cash_rounding_always_down":true,"module_add_card_on_file_column_to_rto_upload":true,"on_all_stores_add_card_on_file_column_to_rto_upload":true,"module_fix_clerk_change_by_pin_in_till":true,"on_all_stores_fix_clerk_change_by_pin_in_till":true,"module_rto_report_email_export":true,"on_all_stores_rto_report_email_export":true,"module_metal_spot_rate_ticker_section":false,"module_fix_so_delete_item":true,"on_all_stores_fix_so_delete_item":true,"module_aim_api_product_custom_field":true,"on_all_stores_aim_api_product_custom_field":true,"module_bug_reverb_integration_not_showing_variant_information":true,"on_all_stores_bug_reverb_integration_not_showing_variant_information":true,"module_popup_signup":true,"on_all_stores_popup_signup":true,"module_lazy_loading_images":true,"on_all_stores_lazy_loading_images":true,"module_fix_wo_commissions":true,"on_all_stores_fix_wo_commissions":true,"module_log_marking_card_bad":true,"on_all_stores_log_marking_card_bad":true,"module_reverb_integration_showing_out_of_stock_items_as_on_sale":true,"on_all_stores_reverb_integration_showing_out_of_stock_items_as_on_sale":true,"module_posthog_pageleave_auto_capture_event_removal":true,"on_all_stores_posthog_pageleave_auto_capture_event_removal":true,"module_fix_retail_delivery_fee_shipping_update":true,"on_all_stores_fix_retail_delivery_fee_shipping_update":true,"module_bug_cash_rounding_beta_not_applying_in_register":true,"on_all_stores_bug_cash_rounding_beta_not_applying_in_register":true,"module_bug_tax_rounding_inconsistently_between_wo_and_register":true,"on_all_stores_bug_tax_rounding_inconsistently_between_wo_and_register":true,"module_aim_customer_cards_webhook_sync":true,"on_all_stores_aim_customer_cards_webhook_sync":true,"module_bug_cannot_sell_serialized_item_in_the_register":true,"on_all_stores_bug_cannot_sell_serialized_item_in_the_register":true,"module_fix_care_plan_pitrs":true,"on_all_stores_fix_care_plan_pitrs":true,"module_misc_item_qt
495y_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_
495number_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
495ort_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_
495split_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":false,"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_
495suggested_products":false,"module_multi_store_product_upload_adjustment":true,"on_all_stores_multi_store_product_upload_adjustment":true,"module_rto_select_all_contracts":true,"on_all_stores_rto_select_all_contracts":true,"module_log_invalid_origin_error":true,"on_all_stores_log_invalid_origin_error":true,"module_fix_so_full_deposit_ignores_line_discount":true,"on_all_stores_fix_so_full_deposit_ignores_line_discount":true,"module_fix_so_pickup_payment_plan_deposit":true,"on_all_stores_fix_so_pickup_payment_plan_deposit":true,"module_unable_to_pick_up_layaway":true,"on_all_stores_unable_to_pick_up_layaway":true,"module_add_notes_field_to_import_on_migration_tools_page":true,"on_all_stores_add_notes_field_to_import_on_migration_tools_page":true,"module_work_order_form_style_declared_value":true,"on_all_stores_work_order_form_style_declared_value":true,"module_vendor_api_store_sales_inventory":false,"module_fix_po_ro_qty_on_hand_reserved_count":true,"on_all_stores_fix_po_ro_qty_on_hand_reserved_count":true,"module_fix_transfers_loading_speed":true,"on_all_stores_fix_transfers_loading_speed":true,"module_bug_gia_does_not_update_loose_stone_details":true,"on_all_stores_bug_gia_does_not_update_loose_stone_details":true,"module_fix_ro_received_qty_so_duplication":true,"on_all_stores_fix_ro_received_qty_so_duplication":true,"module_api_webhook_retry_and_logging":true,"on_all_stores_api_webhook_retry_and_logging":true,"module_enforce_server_tax_on_checkout":true,"on_all_stores_enforce_server_tax_on_checkout":true,"module_fix_trade_in_product_label_price":true,"on_all_stores_fix_trade_in_product_label_price":true,"module_add_notes_field_to_import_on_customer_extid_update":true,"on_all_stores_add_notes_field_to_import_on_customer_extid_update":true,"module_add_jmd_currency":true,"on_all_stores_add_jmd_currency":true,"module_fix_rto_customer_edit_missing_groups":true,"on_all_stores_fix_rto_customer_edit_missing_groups":true,"module_block_checkout_button_while_processing":true,"on_all_stores_block_checkout_button_while_processing":true,"module_form_style_receipt_wo_sales_reps":true,"on_all_stores_form_style_receipt_wo_sales_reps":true,"module_inventory_facade_serialized_update":false,"module_fix_wo_serialized_material_serial":true,"on_all_stores_fix_wo_serialized_material_serial":true,"module_marketing_email_unsubscribeIs_ignored_at_send_time":true,"on_all_stores_marketing_email_unsubscribeIs_ignored_at_send_time":true,"module_vue3_coexistence_playground":true,"on_all_stores_vue3_coexistence_playground":true,"module_locally_sync_exclude_reserved":true,"on_all_stores_locally_sync_exclude_reserved":true,"module_fix_low_inventory_warning_respect_toggle":true,"on_all_stores_fix_low_inventory_warning_respect_toggle":true,"module_shopify_full_refund_via_partial_logic":true,"on_all_stores_shopify_full_refund_via_partial_logic":true,"module_fix_customer_custom_field_store_location_type":true,"on_all_stores_fix_customer_custom_field_store_location_type":true,"module_design_consistency_consignment_modal":false,"module_vue3_coexistence_rto":true,"on_all_stores_vue3_coexistence_rto":true,"module_fix_split_line_jurisdiction_tax_rounding":true,"on_all_stores_fix_split_line_jurisdiction_tax_rounding":true,"module_wo_department_export":true,"on_all_stores_wo_department_export":true,"module_bug_cancelled_web_order_transaction_still_on_eod_report":true,"on_all_stores_bug_cancelled_web_order_transaction_still_on_eod_report":true,"module_void_invoice_transaction_improvements":true,"on_all_stores_void_invoice_transaction_improvements":true,"module_fix_time_clock_report_week_start":true,"on_all_stores_fix_time_clock_report_week_start":true,"module_fix_rto_collections_status_after_close":true,"on_all_stores_fix_rto_collections_status_after_close":true,"module_fix_tiered_coupon_on_website":true,"on_all_stores_fix_tiered_coupon_on_website":true,"module_user_flow_staging_key_in_production":false,"module_storm_widget_customer_context":false,"module_design_consistency_table_performance":true,"on_all_stores_design_consistency_table_performance":true,"module_lapsed_customers_customers_list":true,"on_all_stores_lapsed_customers_customers_list":true,"module_metal_buy_spot_rate_ticker_backend":false,"module_reverb_transliterate_customer_names":true,"on_all_stores_reverb_transliterate_customer_names":true,"module_fix_duplicate_invoice_payments":true,"on_all_stores_fix_duplicate_invoice_payments":true,"module_stripe_to_quilt_payfac":false,"module_surcharging":false,"module_qbo_metal_buy_payout_account":false,"module_fix_coupon_end_date_timezone_offset":true,"on_all_stores_fix_coupon_end_date_timezone_offset":true,"module_product_reserved_count_incorrect":true,"on_all_stores_product_reserved_count_incorrect":true,"module_textarea_template_button_slot":true,"on_all_stores_textarea_template_button_slot":true,"module_vgt_fixed_table_data_cy":true,"on_all_stores_vgt_fixed_table_data_cy":true,"module_nav_dynamic_data_cy":true,"on_all_stores_nav_dynamic_data_cy":true,"module_vue3_coexistence_work_orders":true,"on_all_stores_vue3_coexistence_work_orders":true,"module_fix_coupon_min_purchase_class_addon":true,"on_all_stores_fix_coupon_min_purchase_class_addon":true,"module_fix_coupon_items_not_saving":true,"on_all_stores_fix_coupon_items_not_saving":true,"module_fix_work_order_barcode_url":true,"on_all_stores_fix_work_order_barcode_url":true,"module_shopify_match_import_before_push":true,"on_all_stores_shopify_match_import_before_push":true,"module_vendor_api_store_location_codes":false,"module_add_pennyweight_to_dropdown_metal_info":true,"on_all_stores_add_pennyweight_to_dropdown_metal_info":true,"module_add_hide_empty_wishlist_filter":true,"on_all_stores_add_hide_empty_wishlist_filter":true,"module_fix_aikido_story_517214":true,"on_all_stores_fix_aikido_story_517214":true,"module_adyen_patch_external_payment_id":true,"on_all_stores_adyen_patch_external_payment_id":true,"module_web_ordering_quantity_total":false,"module_weight_uom_for_labels":false,"module_use_openai_responses_api":true,"on_all_stores_use_openai_responses_api":true,"module_vue3_coexistence_seri
495alized_inventory":false,"module_fix_click_outside_detached_target":true,"on_all_stores_fix_click_outside_detached_target":true,"module_fix_customer_coupon_redeemed_display":true,"on_all_stores_fix_customer_coupon_redeemed_display":true,"module_fix_empty_store_s3_bucket":true,"on_all_stores_fix_empty_store_s3_bucket":true,"module_clientbook_sync_self_healing":true,"on_all_stores_clientbook_sync_self_healing":true,"module_aim_order_payment_status_sync":true,"on_all_stores_aim_order_payment_status_sync":true,"module_fix_osr_contract_tax_profile":true,"on_all_stores_fix_osr_contract_tax_profile":true,"module_vue3_coexistence_customers":true,"on_all_stores_vue3_coexistence_customers":true,"module_fix_aikido_518998":true,"on_all_stores_fix_aikido_518998":true,"module_fix_aikido_xss_invoice_pdf":true,"on_all_stores_fix_aikido_xss_invoice_pdf":true,"module_void_uncaptured_by_capture_state":true,"on_all_stores_void_uncaptured_by_capture_state":true,"module_rto_cleanup_schedule_on_contract_close":true,"on_all_stores_rto_cleanup_schedule_on_contract_close":true,"module_deleting_images_product_do_not_remove_them_in_reverb_listing":true,"on_all_stores_deleting_images_product_do_not_remove_them_in_reverb_listing":true,"module_rapid_deposit_fee_payout_report":true,"on_all_stores_rapid_deposit_fee_payout_report":true,"module_add_stash_it_shipping_name":true,"on_all_stores_add_stash_it_shipping_name":true,"module_inventory_facade_transfer":false,"module_preserve_embed_iframe_attributes":true,"on_all_stores_preserve_embed_iframe_attributes":true,"module_mms_rate_limit_handling":true,"on_all_stores_mms_rate_limit_handling":true,"module_validate_rto_cart_on_checkout":true,"on_all_stores_validate_rto_cart_on_checkout":true,"module_ xss_transaction_line_item_mustache_view_model":true,"on_all_stores_ xss_transaction_line_item_mustache_view_model":true,"module_waitlist_report_not_updating_when_customer_is_removed":true,"on_all_stores_waitlist_report_not_updating_when_customer_is_removed":true,"module_fix_rto_exchange_transfer_issues":true,"on_all_stores_fix_rto_exchange_transfer_issues":true,"module_fix_rental_multiple_tax_jurisdictions":true,"on_all_stores_fix_rental_multiple_tax_jurisdictions":true,"module_vue3_coexistence_transfers":true,"on_all_stores_vue3_coexistence_transfers":true,"module_fix_aikido_story_518997":true,"on_all_stores_fix_aikido_story_518997":true,"module_specific_item_types_surcharge":true,"on_all_stores_specific_item_types_surcharge":true,"module_fix_web_coupon_customer_group_restriction":true,"on_all_stores_fix_web_coupon_customer_group_restriction":true,"module_show_card_on_file_decline_reason":true,"on_all_stores_show_card_on_file_decline_reason":true,"module_vue3_coexistence_subscriptions":true,"on_all_stores_vue3_coexistence_subscriptions":true,"module_aikido_story_519003":true,"on_all_stores_aikido_story_519003":true,"module_aikido_story_519002":true,"on_all_stores_aikido_story_519002":true,"module_add_address_to_order_export":true,"on_all_stores_add_address_to_order_export":true,"module_surcharging_transaction_edit_button_adjustment":true,"on_all_stores_surcharging_transaction_edit_button_adjustment":true,"module_fix_manual_payment_due_date_revert":true,"on_all_stores_fix_manual_payment_due_date_revert":true,"module_use_card_token_payment_method_type":true,"on_all_stores_use_card_token_payment_method_type":true,"module_fix_scheduled_sale_round_value_validation":true,"on_all_stores_fix_scheduled_sale_round_value_validation":true,"module_customer_po_delete_unassign_items":true,"on_all_stores_customer_po_delete_unassign_items":true,"module_shipstation_package_id_rates":true,"on_all_stores_shipstation_package_id_rates":true,"module_important_dates_customers_list":true,"on_all_stores_important_dates_customers_list":true,"module_fix_partial_refund_surcharge_amount":true,"on_all_stores_fix_partial_refund_surcharge_amount":true,"module_assemble_modal_to_work_order_module":false,"module_vue3_coexistence_orders":true,"on_all_stores_vue3_coexistence_orders":true,"module_surcharging_reports":true,"on_all_stores_surcharging_reports":true,"module_vue3_coexistence_receiving_orders":true,"on_all_stores_vue3_coexistence_receiving_orders":true,"module_fix_new_product_modal_availability_value":true,"on_all_stores_fix_new_product_modal_availability_value":true,"module_fix_rto_return_after_complete":false,"module_user_login_report_locations":false,"module_aikido_story_517220":true,"on_all_stores_aikido_story_517220":true,"module_add_new_card_reader_name_for_stripe_setup":true,"on_all_stores_add_new_card_reader_name_for_stripe_setup":true,"module_fix_dual_pricing_discount_with_cash_rounding":true,"on_all_stores_fix_dual_pricing_discount_with_cash_rounding":true,"module_rto_import_initial_payments_and_interest":true,"on_all_stores_rto_import_initial_payments_and_interest":true,"module_fix_aikido_sql_quilt_class":true,"on_all_stores_fix_aikido_sql_quilt_class":true,"module_vue3_coexistence_rental_list":true,"on_all_stores_vue3_coexistence_rental_list":true,"module_inventory_history_report_applies_its_date_filter_in_utc":true,"on_all_stores_inventory_history_report_applies_its_date_filter_in_utc":true,"module_capture_after_commit_adyen":false,"module_product_minimum_price":false,"module_handle_cof_blocked_card":true,"on_all_stores_handle_cof_blocked_card":true,"module_fix_aikido_story_520310":true,"on_all_stores_fix_aikido_story_520310":true,"module_fix_aikido_story_520947":true,"on_all_stores_fix_aikido_story_520947":true,"module_vue3_coexistence_inventory_batches":true,"on_all_stores_vue3_coexistence_inventory_batches":true,"module_fix_aikido_story_520309":true,"on_all_stores_fix_aikido_story_520309":true,"module_mixpanel_surcharge":true,"on_all_stores_mixpanel_surcharge":true,"module_bad_emails_bounce_classification":false,"module_care_plans_in_work_order":false,"module_crm_new_client_rework":true,"on_all_stores_crm_new_client_rework":true,"module_quote_data_cy":true,"on_all_stores_quote_data_cy":true,"module_bulk_edit_unit_of_measure":true,"on_all_stores_bulk_edit_unit_of_measure":true,"module_fix_spreadsheet_header_case_sensitivity":true,"on_all_stores_fix_spreadsheet_header_case_sensitivity":true,"module_transfer_received_date_event_time":true,"on_all_stores_transfer_received_date_event_time":true,"module_fix_customer_modal_till_prompt_on_wo_tab":true,"on_all_stores_fix_customer_modal_till_prompt_on_wo_tab":true,"module_prevent_duplicate_consignment_serial_inventory":true,"on_all_stores_prevent_duplicate_consignment_serial_inventory":true,"module_aikido_security_issues_520311":true,"on_all_stores_aikido_security_issues_520311":true,"module_qbo_surcharging":true,"on_all_stores_qbo_surcharging":true,"module_vue3_coexistence_giftcard_list":true,"on_all_stores_vue3_coexistence_giftcard_list":true,"module_default_customer_address_state":true,"on_all_stores_default_customer_address_state":true,"module_po_discount_being_removed_after_going_to_ro":true,"on_all_stores_po_discount_being_removed_after_going_to_ro":true,"module_aim_add_card_on_file_for_invoice_payments":false,"module_fix_quick_assemble_serial_number_field_name":false,"module_marketing_email_require_explicit_opt_in":true,"on_all_stores_marketing_email_require_explicit_opt_in":true,"module_wo_customer_actions_buttons":true,"on_all_stores_wo_customer_actions_buttons":true,"module_handle_adyen_intent_error_status":true,"on_all_stores_handle_adyen_intent_error_status":true,"module_product_page_prev_next_nav":true,"on_all_stores_product_page_prev_next_nav":true,"module_inventory_value_bin_filter_improvements":false,"module_fix_duplicate_loaner_on_wo_save":true,"on_all_stores_fix_duplicate_loaner_on_wo_save":true,"module_surcharging_payout_report":true,"on_all_stores_surcharging_payout_report":true,"module_use_payfac_refund_surcharge_amount":true,"on_all_stores_use_payfac_refund_surcharge_amount":true,"module_clear_till_search_cache_after_transaction":true,"on_all_stores_clear_till_search_cache_after_transaction":true,"module_fix_customer_shipping_address_billing_default_sync":true,"on_all_stores_fix_customer_shipping_address_billing_default_sync":true,"module_form_style_receipt_data_cy":true,"on_all_stores_form_style_receipt_data_cy":true,"module_fix_aikido_sql_migration_cleanup":true,"on_all_stores_fix_aikido_sql_migration_cleanup":true,"module_fix_online_rental_status_active_by_transaction":true,"on_all_stores_fix_online_rental_status_active_by_transaction":true,"module_fix_ro_complete_already_fulfilled_special_order":true,"on_all_stores_fix_ro_complete_already_fulfilled_special_order":true,"module_fix_aikido_story_522749":true,"on_all_stores_fix_aikido_story_522749":true,"module_vue3_coexistence_coupon_usage":true,"on_all_stores_vue3_coexistence_coupon_usage":true,"module_fix_email_dns_records":true,"on_all_stores_fix_email_dns_records":true,"module_fix_aikido_story_523478":true,"on_all_stores_fix_aikido_story_523478":true,"module_vue3_coexistence_top_customers":true,"on_all_stores_vue3_coexistence_top_customers":true,"module_surcharging_adjustment_2":true,"on_all_stores_surcharging_adjustment_2":true,"module_fix_aikido_story_522751":true,"on_all_stores_fix_aikido_story_522751":true,"module_fix_aikido_520308":true,"on_all_stores_fix_aikido_520308":true,"module_fix_aikido_522752":true,"on_all_stores_fix_aikido_522752":true,"module_vendor_api_hide_disabled_stores":true,"on_all_stores_vendor_api_hide_disabled_stores":true,"module_bug_manually_setting_wo_status_completed":false,"module_qbo_deposit_on_account":true,"on_all_stores_qbo_deposit_on_account":true,"module_fix_new_location_resets_store_defaults":true,"on_all_stores_fix_new_location_resets_store_defaults":true,"module_wo_text_ticket_claim_check":true,"on_all_stores_wo_text_ticket_claim_check":true,"module_marketing_blast_honors_list_unsubscribe":false,"module_add_make_model_columns_spreadsheet":false,"module_metal_buy_void_transaction":false,"module_surcharging_adjustment_refund_receipt":true,"on_all_stores_surcharging_adjustment_refund_receipt":true,"module_signature_line_on_receipt_store_copy_is_misaligned":true,"on_all_stores_signature_line_on_receipt_store_copy_is_misaligned":true,"module_aikido_524591":true,"on_all_stores_aikido_524591":true,"module_fix_interac_captured_amount":false,"module_ai_sales_assistant":false,"module_vue3_coexistence_rto_commissions":false,"module_product_list_page_add_hover_to_images":true,"on_all_stores_product_list_page_add_hover_to_images":true,"module_vue3_coexistence_gc_outstanding":false,"module_marketing_email_recency_filter":false,"module_wo_deposit_default_remaining_balance":false,"module_fix_aikido_story_524589":true,"on_all_stores_fix_aikido_story_524589":true,"module_aikido_523480":true,"on_all_stores_aikido_523480":true,"module_website_sales_set_to_authorization_capturing_anyway":false,"module_allow_rto_import_interval_price_not_less_than_financed":false,"module_vue3_coexistence_transactions_needing_payment":false,"module_product_image_content_type_fix":false,"module_top_bar_current_location":false,"module_fix_aikido_story_522750":true,"on_all_stores_fix_aikido_story_522750":true,"module_aikido_523477":true,"on_all_stores_aikido_523477":true,"module_vue3_coexistence_wishlist_list":false,"module_admin_tools_create_store_rework":false,"module_department_custom_ordering":false,"module_void_surcharge_auth_on_price_change":false,"module_fix_osr_rtr_zero_financed_checkout":false,"module_apply_template_global_holder_page":false,"module_vue3_coexistence_bestsellers":false,"module_fix_rto_purchase_security_deposit":false,"module_invoice":true,"module_completed_status_for_orders":true,"module_shopify":false,"module_mms":false,"module_ebay":false,"use_receptive":true,"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":false,"pos_enable_tax_inclusive_pricing":false,"pos_show_tax_breakdown_on_receipt":false,"product_module_item_conditions":true,"product_module_dont_use_item_conditions_online":false,"pos_allow_discount_stacking":true,"printDescriptionOnReceipt":false,"WishlistEnabled":false,"is_responsive":true,"module_show_sku_till_product_search":true,"module_docraptor_test_mode":false,"module_rental_location_tax_integration":false,"admin_domain":false,"checkout_enabled":true};
496var COLORADO_RETAIL_DELIVERY_FEE = 0.31;
497    </script>
497
498</head>
499<body class="secondaryPageBg">
500<!-- 43-module.tpl -->
501
502
503
504
505
506<div id="main-website-content" class="secondaryPageDiv">
507	<!-- Accessibility stuff -->
508	<a href="#skip-navigation" class="sr-only visible-focused">Skip Navigation</a>
509	<a href="/website-accessibility.htm" class="sr-only visible-focused">Website Accessibility</a>
510
511    <!-- column0_components -->
512	<div  style="" class="">
513	<div class="container ">
514		<div class="row paddingLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; ">
515			
516			
517			<div class="col-sm-3">&nbsp;
518<div style="background: #f5f5f5;"><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" />
519<table style="width: 100%;" border="0" cellspacing="0" cellpadding="0">
520<tbody>
521<tr>
522<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>
523<td style="padding: 7px 8px; background: none;" align="right"><button class="glyphicon glyphicon-search" style="background: none; border: none; color: #bedee5; font-size: 18px;" name="image" type="image" value="Search"></button></td>
524</tr>
525</tbody>
526</table>
527</form></div>
528</div>
529<div class="col-sm-4 col-sm-offset-1"><a href="/"><img class="img-responsive" src="https://media.rainpos.com/11119/aj_mockup.png" alt="" width="914" height="342" /></a></div>
530<div class="col-sm-3 col-sm-offset-1 text-center" style="padding: 0; padding-top: 15px;">
531<ul class="list-inline list-unstyled socialStyle5 spaceFix">
532<li><a href="tel:2394890008" target="blank"><span class="fa fa-fw fa-phone"></span>&nbsp;</a></li>
533<li><a href="/module/product.htm?checkout=3" target="blank"><span class="fa fa-fw fa-shopping-cart"></span> View Cart</a></li>
534</ul>
535</div>
536<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" crossorigin="anonymous" />
537		</div>
538	</div>
539</div>
540
541    <!-- navigation -->
542	
543<div class="menubg">
544	<div class="container">
545
546		<nav id="mainNav" class="navbar navbar-default">
547			<div class="container-fluid">
548
549				<!-- Brand and toggle get grouped for better mobile display -->
550				<div class="navbar-header" style="padding-left:15px; padding-right:15px;">
551					<button type="button" class="navbar-toggle collapsed" style="width: 100%; float: left;" data-toggle="collapse" data-target="#navbar-collapse-1">
552						<span class="sr-only">Toggle navigation</span>
553						&#9776; Menu
554					</button>
555					<!--span class="navbar-brand visible-xs-block" data-toggle="collapse" href="#">Menu</span-->
556				</div>
557
558				<!-- Collect the nav links, forms, and other content for toggling -->
559				<div class="collapse navbar-collapse" id="navbar-collapse-1">
560					<ul class="nav navbar-nav">
561						<li><a href="https://www.ajscrapbookessentials.com/" class="mainMenuItem">Home</a></li><li><a href="https://www.ajscrapbookessentials.com/on-sale.htm" class="mainMenuItem">On Sale</a></li><li><a href="https://www.ajscrapbookessentials.com/shop.htm" class="mainMenuItem">Shop</a></li><li><a href="https://www.ajscrapbookessentials.com/new-products.htm" class="mainMenuItem">New Products</a></li><li><a href="https://www.ajscrapbookessentials.com/bestsellers.htm" class="mainMenuItem">Bestsellers</a></li><li><a href="https://www.ajscrapbookessentials.com/classes.htm" class="mainMenuItem">Classes</a></li><li><a href="https://www.ajscrapbookessentials.com/module/events.htm?pageComponentId=4852830&amp;month=current" class="mainMenuItem">Calendar</a></li><li><a href="https://www.ajscrapbookessentials.com/shop/Clearance.htm" class="mainMenuItem">Clearance</a></li><li><a href="https://www.ajscrapbookessentials.com/contact.htm" class="mainMenuItem">Contact</a></li>
562					</ul>
563				</div>
564
565			</div>
566		</nav>
567	</div>
568</div>
569
570
571	<!-- Accessibility stuff -->
572	<span id="skip-navigation"></span>
573
574    <!-- column2_components -->
575	<div  style="" class="">
576	<div class="container ">
577		<div class="row paddingXLarge" style="position: relative; padding-left: 0px; padding-right: 0px; padding-top: 20px; padding-bottom: 20px; ">
578			
579			
580					<div align=center style="text-align:center;">
581						
582					</div>
583				
584			
585<link href="/bootflat/css/fontawesome-pro-6.5.2-web/css/all.min.css" rel="stylesheet" type='text/css'>
586
587
588<style>
589    .cart-base {
590        color: #333 !important;
591    }
592
593    .text-danger, .has-error {
594        border-color: #a94442;
595    }
596
597    .error-label {
598        color: #a94442;
599    }
600    .text-hover-red:hover {
601        color: red !important;
602    }
603
604    .text-muted {
605        color: #bbb !important;
606    }
607
608    .display-block {
609        display: block;
610    }
611
612    .cartContainer {
613        background: #FFF;
614    }
615
616    .cartTable {
617        width:100%;
618        display: table;
619    }
620
621    .cartRow {
622        display: table-row;
623    }
624
625    .cartCell {
626        display: table-cell;
627        padding-left: 0;
628        padding-right: 10px;
629        vertical-align: middle;
630        border-top: 1px solid #eee;
631        padding-top: 5px;
632        padding-bottom: 5px;
633    }
634
635    .cp-title {
636        height: 30px;
637        font-weight: 600;
638        font-size: 14px;
639        line-height: 14px
640    }
641
642    .cp-title, .cp-footer {
643        border-top: 0 !important;
644    }
645
646    .cp-footer {
647        padding-top: 0;
648        height: 20px;
649        padding-bottom: 16px;
650    }
651
652    .border-top-white  {
653        border-top: 1px solid white !important;
654    }
655
656    .cp-row {
657        height: 50px;
658    }
659
660    .selling-points-group {
661        box-sizing: content-box;
662        border: 1px solid #ddd;
663        border-radius: 5px;
664        padding: 16px;
665        width: 65%;
666        font-size: 12px;
667        line-height: 14px;
668        margin-top: 8px;
669    }
670    .cartTableHeader {
671        border-top: 2px solid #ddd;
672        border-bottom: 1px solid #ddd;
673        font-weight: bold;
674        font-size: larger;
675        padding-top: 5px;
676        padding-bottom: 5px;
677        background: #eee;
678        padding-right: 10px;
679    }
680
681    .cartTableHeader .cartTableSubHeader {
682        font-weight: normal;
683        font-size: small;
684    }
685
686    .cartImage, .cartDelete {
687            text-align: center;
688    }
689
690    .cartItems {
691            text-align: left;
692    }
693
694    .cartPrice, .cartQuantity, .cartAmount {
695            text-align: right;
696    }
697
698    .qtySelectCell {
699        width: 100px;
700        height: 24px;
701        padding: 0;
702    }
703
704    .cp-info-group {
705        margin: 0;
706    }
707
708    .cp-info-item {
709        border: none;
710        padding: 0;
711        height: 14px;
712    }
713
714    .cp-info-item:last-child {
715        margin-bottom: 0 !important;
716    }
717
718    .cp-info-btn {
719        cursor:pointer;
720    }
721
722    .cp-terms-conditions {
723        list-style-type: none;
724    }
725
726    .mobileDivider {
727        display: none;
728    }
729
730    .contactInfo > tbody > tr > td {
731        padding: 5px;
732    }
733
734    .leftAlignDark {
735        background: #f6f6f6;
736        padding: 20px 10px 5px 20px;
737        text-align: left;
738    }
739
740    .leftAlignLight {
741        padding: 20px 10px 5px 20px;
742        text-align: left;
743    }
744
745    .infoHeader {
746        padding: 20px 10px 5px 0 !important;
747    }
748
749
750    #gift-cards-coupons .row-divider {
751        margin-top: 10px;
752        margin-bottom: 10px;
753    }
754    #gift-cards-coupons #gift-card-coupon-label-cell {
755        padding: 10px 8px 4px 8px;
756    }
757    #gift-cards-coupons #gift-card-coupon-label {
758        /*padding: 10px;*/
759        font-size: 13px;
760        color: #7f7f7f;
761    }
762    #gift-cards-coupons #gift-card-coupon-msgs {
763        text-align: right;
764    }
765    #gift-cards-coupons #gift-card-applied-msg {
766        font-size: 12px;
767        vertical-align: middle;
768        color: #64b92a;
769    }
770    #gift-card-coupon-error-msg, #coupon-applied-msg {
771        padding-left: 5px;
772    }
773    #gift-cards-coupons #coupon-applied-msg {
774        font-size: 12px;
775        vertical-align: middle;
776        color: #64b92a;
777    }
778    #gift-cards-coupons #gift-card-coupon-error-msg {
779        font-size: 12px;
780        vertical-align: middle;
781        color: #c0392b;
782    }
783    #gift-cards-coupons #gift-card-coupon-code {
784        width: 270px;
785        margin-left: 5px;
786        margin-right: 5px;
787        border: 1px solid #dfdfdf;
788        border-radius: 5px;
789        padding: 6px 0px 6px 12px;
790        font-size: 14px;
791        vertical-align: middle;
792    }
793    #gift-cards-coupons #gift-card-coupon-code-apply-cell {
794        padding-right: 8px;
795        vertical-align: top;
796    }
797    #gift-cards-coupons #gift-card-coupon-code-apply {
798        font-size: 14px;
799        vertical-align: middle;
800        border-radius: 4px;
801        padding: 6px 12px 6px 12px;
802        color: #333 !important;
803        background-color: #fff !important;
804        border: 1px solid !important;
805    }
806    #gift-cards-coupons #gift-card-coupon-code-apply:disabled {
807        opacity: .65;
808    }
809    #gift-cards-coupons #gift-card-coupon-code-apply:hover:enabled {
810        background-color: #e6e6e6 !important;
811        border: 1px solid #bfbfbf !important;
812    }
813    #gift-cards-coupons ::placeholder {
814        color: #bfbfbf;
815        opacity: 1;
816    }
817    #gift-cards-coupons .gc-coupon-data-loading {
818        color: #7f7f7f;
819    }
820    #gift-cards-coupons .gc-coupon-data-loading .fa-spinner {
821        font-size: 18px;
822    }
823
824    .gift-card-coupon-identifier {
825        font-weight: bold;
826    }
827
828    .jm {
829        width: 98%;
830        padding: 10px 8px 4px 8px;
831    }
832
833    .quote-contact-wrapper {
834        display: grid;
835        align-items: center;
836        padding: 0;
837        margin: 0 0 8px 0;
838    }
839
840    .quote-contact-div {
841        display: flex;
842        align-items: center;
843        justify-content: end;
844    }
845
846    .quote-contact-button {
847        border: none;
848        background-color: white;
849    }
850
851    .quote-contact-button-wrapper {
852        display: flex;
853        align-items: center;
854        justify-content: space-between;
855        gap: 4px;
856    }
857
858    #isInsuranceSwitchedOn, #isLuxsuranceSwitchedOn {
859        margin: 0;
860    }
861
862    #insuranceContactInformation {
863        margin: 0;
864    }
865
866    .review-contact-information {
867        text-align: right;
868    }
869
870    .review-contact-information-span {
871        cursor: pointer;
872    }
873
874    #text-msg-notifications {
875        font-weight: normal;
876    }
877    #text-msg-notifications i {
878        font-size: 16px;
879    }
880
881    
882    @media (min-width: 768px) {
883        .contactInfo {
884            width: 80%;
885        }
886    }
887
888    @media (min-width: 768px) {
889        .contactInfo {
890            width: 90%;
891        }
892        .largeHidden {
893            display: none !important;
894        }
895        .shippingOption {
896            display: inline-block !important;
897            width: inherit !important;
898        }
899    }
900
901    @media (max-width: 767px) {
902        .contactInfo {
903            width: 100%;
904        }
905        .mobileDivider {
906            display: block !important;
907            border-top: 1px solid #ccc;
908        }
909        .mobileClear {
910            clear: both;
911        }
912        .smallHidden {
913            display: none !important;
914        }
915        .cartRow, .cartCell {
916            display: block;
917        }
918        .cartCell {
919            height:inherit;
920            border: 0px;
921            padding-top:10px;
922            padding-bottom:10px;
923        }
924        .cartAmount {
925            display: none !important;
926        }
927        .cartImage {
928            width: 50px;
929            float: right;
930            text-align: left;
931        }
932        .cartItems, .cartPrice {
933            width: 235px;
934            float: left;
935            text-align: left;
936        }
937        .cartPrice {
938            font-weight: bold;
939        }
940        .cartQuantity {
941            width: 200px;
942            float: left;
943            text-align: left;
944        }
945        .qtySelect {
946            width: 45px;
947            text-align: center;
948        }
949        .cartDelete {
950            width: 70px;
951            float: right;
952            text-align: right;
953        }
954        .shippingOption {
955            width: 100%;
956        }
957
958        /*New bootstrap styles for mobile*/
959        .checkout-card .form-group {
960            margin-bottom: 0px;
961        }
962
963        .checkout-card input {
964            margin-bottom: 10px;
965        }
966
967        .checkout-card select {
968            margin-bottom: 10px;
969        }
970    }
971
972    .row-divider {
973        padding-top: 5px;
974        padding-bottom: 5px;
975        padding-right: 10px;
976        text-align: right;
977    }
978
979    .small-link {
980        text-decoration: none;
981        font-size: 90%;
982    }
983
984    .checkout-btn {
985        font-size: 18px;
986        line-height: 1.33;
987        border-radius: 6px;
988        text-decoration: none;
989        color: #fff !important;
990
991        display: inline-block;
992        text-align: center;
993        white-space: nowrap;
994        vertical-align: middle;
995        touch-action: manipulation;
996        cursor: pointer;
997        -moz-user-select: none;
998        -webkit-user-select: none;
999        border: 1px solid transparent;
1000
1001        padding-top: 10px;
1002        padding-bottom: 10px;
1003        padding-left: 40px !important;
1004        padding-right: 40px !important;
1005        margin-bottom: 0;
1006        transition-duration: 0.2s;
1007        background: #5bc050 !important;
1008    }
1009
1010    .checkout-btn[disabled] {
1011        opacity: 0.75 !important;
1012    }
1013
1014    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
1015        display: none !important;
1016    }
1017
1018    .mt-10 {
1019        margin-top: 5px;
1020    }
1021
1022    .card {
1023        background-color: #f6f6f6;
1024        padding: 20px;
1025        border-radius: 5px;
1026    }
1027
1028    .new-header {
1029        margin-bottom: 20px;
1030    }
1031
1032    .express-checkout .express-checkout-title {
1033        margin-top: 10px;
1034    }
1035
1036    .express-checkout .express-checkout-panel {
1037        margin-top: 10px;
1038        margin-bottom: 20px;
1039        border: 1px solid #ddd;
1040        box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
1041        padding: 15px;
1042        border-radius: 4px;
1043    }
1044
1045    .express-checkout .express-checkout-panel .express-checkout-info {
1046        margin-top: 10px;
1047    }
1048
1049    .express-checkout .express-checkout-buttons {
1050        display: flex;
1051        flex-direction: column;
1052        align-items: center;
1053        overflow: hidden;
1054    }
1055
1056    .express-checkout .express-checkout-buttons .express-checkout-button {
1057        overflow: hidden;
1058        max-width: 300px;
1059        width: 100%;
1060    }
1061
1062    .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) {
1063        margin: 0 0 20px 0;
1064    }
1065
1066    @media screen and (min-width: 576px) {
1067        .express-checkout .express-checkout-buttons {
1068            flex-direction: row;
1069            justify-content: flex-start;
1070        }
1071
1072        .express-checkout .express-checkout-buttons .express-checkout-button {
1073            width: 33%;
1074        }
1075
1076        .express-checkout .express-checkout-buttons .express-checkout-button:not(:last-child) {
1077            margin: 0 20px 0 0;
1078        }
1079    }
1080
1081        .discounts-block {
1082            display: flex;
1083            flex-direction: row-reverse;
1084        }
1085
1086        .discount-divider {
1087            width: 30%;
1088        }
1089
1090        .divider-block-title {
1091            text-align: left;
1092            border-top: 1px solid lightgrey;
1093            padding: 5px 0 3px 0;
1094        }
1095
1096        .warning-box {
1097            background-color: #fcf8e3;
1098            color: #8a6d3b;
1099            font-family: Roboto, sans-serif;
1100            font-size: 12px;
1101            line-height: 1.17;
1102            border: 0.5px solid #8a6d3b;
1103            border-radius: 4px;
1104            padding: 7px;
1105            text-align: left;
1106            margin-bottom: 8px;
1107        }
1108
1109        .item-box {
1110            border: 1px solid #dfdfdf;
1111            border-radius: 4px;
1112            padding: 8px;
1113            margin-bottom: 8px;
1114        }
1115
1116        .discount-item {
1117            display: flex;
1118            justify-content: space-between;
1119        }
1120
1121        .gift-card-coupon-code-span {
1122            color: grey;
1123            text-align: left;
1124        }
1125
1126        .not-applied-coupon > .gift-card-coupon-code-span,
1127        .not-applied-coupon > .discount-item > .discount-item-title {
1128            opacity: 0.6;
1129            text-align: left;
1130            width: 60%;
1131        }
1132
1133        .discount-item-title {
1134 
1134           text-align: left;
1135            width: 65%;
1136        }
1137
1138        .not-applied-amount-label {
1139            color: darkgrey;
1140            font-weight: normal;
1141        }
1142
1143        .times-close {
1144            color: black;
1145        }
1146
1147        .times-close:hover {
1148            color: red;
1149        }
1150
1151        .discount-amount {
1152            font-weight: bold;
1153            color: red;
1154        }
1155
1156        .coupon-error-msg {
1157            text-align: left;
1158        }
1159</style>
1160
1161<style>
1162    .inner-label {
1163        padding-right: 15px;
1164        padding-left: 30px;
1165    }
1166    .row-grid {
1167        margin-bottom: 10px;
1168        text-align: right;;
1169    }
1170
1171    .text-danger {
1172        border-color: #a94442;
1173    }
1174
1175    .text-hover-red:hover {
1176        color: red;
1177    }
1178    .text-hover-blue:hover {
1179        color: blue;
1180    }
1181
1182    .display-block {
1183        display: block;
1184    }
1185
1186    .cartTableSubHeader {
1187        font-weight: normal;
1188        font-size: small;
1189    }
1190
1191    .panel-default {
1192        background: #f6f6f6 !important;
1193    }
1194
1195    .btn-sm {
1196        background: #ccc !important;
1197    }
1198
1199    .btn-lg {
1200        padding-left: 40px;
1201        padding-right: 40px;
1202    }
1203
1204    .card-default{
1205        color: #bbb;
1206    }
1207    .card-visa{
1208        color: #037AFC;
1209    }
1210    .card-mastercard{
1211        color: #FFA600;
1212    }
1213    .card-amex{
1214        color: #1696D3;
1215    }
1216    .card-discover{
1217        color: #FF680F;
1218    }
1219    .form-control{
1220        margin-bottom: 15px;
1221    }
1222    .error-label{
1223        position: relative;
1224        top: -12px;
1225    }
1226
1227    .option_radio {
1228        display: inline-block;
1229        vertical-align: top;
1230    }
1231
1232    .option_content {
1233        display: inline-block;
1234        margin-left: 5px;
1235        margin-top: 1px;
1236        margin-bottom: 5px;
1237    }
1238
1239    [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
1240        display: none !important;
1241    }
1242</style>
1243
1244<div class="container cartContainer cart-base" ng-app="checkoutApp" ng-controller="checkoutCtrl" ng-init="Init('https://www.ajscrapbookessentials.com', 'D40F0EF8-6FA6-45D0-92A7-79653A52AA6C', 'US', 'IL', '', true, [])" ng-cloak >
1245    <div>
1246        <!-- Header -->
1247        <div class="row">
1248            <div ng-show="InitInfo.CheckoutSettings.HeaderType == 'Custom'" class="col-sm-12">
1249                <div id="customheader"></div>
1250            </div>
1251        </div>
1252
1253
1254        <div ng-if="CartData.message" class="alert alert-warning">
1255            <button type="button" class="close" ng-click="ErrorMessageClose()">&times;</button>
1256            {{CartData.message}}
1257        </div>
1258
1259        <div ng-if="!requireAddressInfo() && !requireContactInfo()">
1260            <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning">
1261                <button type="button" class="close" ng-click="InventoryMessagesClose()">&times;</button>
1262                <div ng-if="InventoryMessages.RemovedItems">
1263                    We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed
1264                    <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul>
1265                </div>
1266                <div ng-if="InventoryMessages.InventoryChanges">
1267                    <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div>
1268                </div>
1269            </div>
1270
1271            <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning">
1272                <button type="button" class="close" ng-click="AvailabilityMessagesClose()">&times;</button>
1273                <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
1274                    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:
1275                    <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul>
1276                </div>
1277            </div>
1278        </div>
1279
1280        <!-- Initial Cart Contents -->
1281        <div ng-if="!isWebPayment()">
1282            <div class="h1">Shopping Cart</div>
1283        </div>
1284        <br>
1285        <div ng-if="StatusInfo.Initializing">
1286            <i class="fa fa-spinner fa-pulse fa-2x"></i>
1287        </div>
1288        <div ng-if="showContinueShopping()">
1289            <span ng-show="!CartStatus.Valid" >
1290                Your cart is empty.
1291            </span>
1292            <a href="{{InitInfo.ShopUrl}}/checkout/sync.php?redirect=" style="btn">Click Here</a> to continue shopping.</h4>
1293        </div>
1294        <div ng-if="isCardProcessorRain()" ng-show="showExpressCheckout()" class="row">
1295            <div class="col-sm-7">
1296                <div class="express-checkout">
1297                    <div class="express-checkout-title">
1298                        <strong>Express Checkout</strong>
1299                    </div>
1300
1301                    <div class="express-checkout-panel">
1302                        <div class="express-checkout-buttons">
1303                            <div class="express-checkout-button" id="payment-request-button-wrapper" style="display: none;">
1304                                <div id="payment-request-button">
1305                                    <!-- A Stripe Element will be inserted here. -->
1306                                </div>
1307                            </div>
1308                        </div>
1309
1310                        <div class="express-checkout-info">
1311                            If you choose Apple Pay or Google Pay,
1312                            you will need to set your shipping preferences in the window
1313                            that opens after you click the button.
1314                            Settings below will not display there.
1315                        </div>
1316                    </div>
1317                </div>
1318            </div>
1319        </div>
1320
1321                    <!-- Initial Items List -->
1322                            <div ng-if="!showHostedCheckout()">
1323                <br>
1324            <!-- Item Summary -->
1325<div class="cartTable" ng-if="showItemSummary()">
1326    <div class="cartRow smallHidden">
1327        <div class="cartCell cartTableHeader cartImage"></div>
1328        <div class="cartCell cartTableHeader cartItems">Items</div>
1329        <div class="cartCell cartTableHeader cartPrice">Price</div>
1330        <div class="cartCell cartTableHeader cartQuantity">Quantity</div>
1331        <div class="cartCell cartTableHeader cartAmount">Amount</div>
1332        <div class="cartCell cartTableHeader cartDelete"></div>
1333    </div>
1334            <div class="cartRow" data-cy="web-cart-item-row" ng-cloak ng-repeat="item in CartData.Items">
1335            <div class="mobileDivider largeHidden"></div>
1336            <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>
1337            <div class="cartCell cartItems" data-cy="web-cart-item-title">
1338            <span ng-if="item.condition">
1339                {{item.title}} {{item.condition.title}}
1340            </span>
1341            <span ng-if="!item.condition">
1342                                    {{item.title}}
1343                                <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
1344            </span>
1345            <span ng-if="!item.quantity_updating && item.type == 'rental'">
1346                - {{item.id}}
1347<!--                Below doesn't work-->
1348<!--                <a ng-click="editRental(item)" class="btn-default" style="cursor: pointer;" title="Edit Rental">-->
1349<!--                    <i class="fa fa-edit fa-lg"></i>-->
1350<!--                </a>-->
1351            </span>
1352            <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
1353                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
1354            </span>
1355            <span ng-if="item.class_attendees.length">
1356                <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
1357                <span ng-repeat="name in item.class_attendees">
1358                    &nbsp;{{name}}
1359                </span>
1360            </span>
1361<style>
1362    a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited {
1363        font-size: 13px;
1364        text-decoration: none;
1365    }
1366    table.subscription-details {
1367        font-size: 13px;
1368        margin: 5px 0;
1369    }
1370    .details-hidden {
1371        visibility: hidden;
1372        height: 0;
1373    }
1374</style>
1375
1376<div ng-if="item.type === 'subscription'">
1377    <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
1378        <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
1379        View Subscription Details
1380    </a>
1381    <div ng-class="{'details-hidden': !showSubscriptionDetails}">
1382        <style>
1383    table.subscription-details span.small-subtitle {
1384        font-size: 10px;
1385    }
1386    table.subscription-details tr td:first-child {
1387        padding: 0 15px 0 0;
1388    }
1389</style>
1390
1391<table class="subscription-details">
1392    <tr>
1393        <td>{{item.subscriptionData.labels.adverb}} Price:</td>
1394        <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
1395    </tr>
1396    <tr>
1397        <td>Subscription Length:</td>
1398        <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
1399    </tr>
1400    <tr>
1401        <td>Start/End Date:</td>
1402        <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
1403    </tr>
1404    <tr>
1405        <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
1406        <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
1407    </tr>
1408    <tr>
1409        <td>Previous {{item.subscriptionData.labels.plural}}:</td>
1410        <td>
1411            <span ng-if="item.subscriptionData.previous_items_cnt > 0">
1412                {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
1413            </span>
1414            <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
1415        </td>
1416    </tr>
1417    <tr>
1418        <td>Delivery Method:</td>
1419        <td ng-switch="item.subscriptionData.delivery_type">
1420            <span ng-switch-when="ship">
1421                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
1422            </span>
1423            <span ng-switch-default>In-Store Pickup</span>
1424        </td>
1425    </tr>
1426    <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
1427        <td>Address:</td>
1428        <td>{{item.subscriptionData.address}}</td>
1429    </tr>
1430    <tr>
1431        <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
1432        <td>
1433            <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
1434        </td>
1435    </tr>
1436    <tr>
1437        <td><strong>Due Today:</strong></td>
1438        <td>
1439            <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
1440        </td>
1441    </tr>
1442</table>
1443    </div>
1444</div>
1445            <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
1446                This item is not eligible for discounts
1447            </span>
1448        </div>
1449                    <div ng-if="!showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemPriceForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div>
1450                <div ng-if="showAsGST()" class="cartCell cartPrice" data-cy="web-cart-item-price">{{getItemGstPrice(item) | currency:InitInfo.CurrencySymbol2}}</div>
1451        <div class="mobileClear largeHidden"></div>
1452        <div class="cartCell cartQuantity" data-cy="web-cart-item-quantity">
1453            <div ng-if="showQuantityAsSelector(item)" style="white-space: nowrap;">
1454                                    <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)">
1455                    </select>
1456                                <span>
1457                    <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)">
1458                    </select>
1459                    <span>{{ getItemUnitType(item); }}</span>
1460                </span>
1461            </div>
1462            <div ng-if="showQuantityAsNumber(item)">
1463                {{item.qty_integer}}
1464            </div>
1465            <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
1466        </div>
1467                    <div ng-if="!showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemTotalForWeb(item) | currency:InitInfo.CurrencySymbol2}}</div>
1468                <div ng-if="showAsGST()" class="cartCell cartAmount" data-cy="web-cart-item-amount">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</div>
1469                            <div class="cartCell cartDelete">
1470                    <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>
1471                    <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
1472                </div>
1473                    <div class="mobileClear largeHidden"></div>
1474    </div>
1475        </div>
1476
1477
1478
1479
1480<!-- Items Subtotal -->
1481
1482<div  ng-if="!showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal">
1483    Subtotal: {{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}
1484</div>
1485<div ng-if="showAsGST()" class="cartTableHeader ng-cloak" style="text-align: right;" data-cy="web-cart-subtotal">
1486    Subtotal: {{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}
1487</div>
1488
1489        <!-- Gift Cards and Coupons -->
1490        <div ng-show="isProcessingEnabled()">
1491            <div ng-if="shouldShowGiftCardsCoupons()" id="gift-cards-coupons">
1492
1493                <!-- Gift Card or Coupon Code Lookup -->
1494                <table>
1495                    <tr>
1496                        <td colspan="3">
1497                            <div ng-show="isProductInCart()" class="quote-contact-wrapper">
1498                                                                                                                            </div>
1499                        </td>
1500                    </tr>
1501                    <tr>
1502                        <td style="width: 98%;">
1503                        </td>
1504                        <td id="gift-card-coupon-label-cell" style="width: 1%;">
1505                        </td>
1506                        <td style="width: 1%;">
1507                        </td>
1508                    </tr>
1509                    <tr>
1510                        <td id="gift-card-coupon-msgs">
1511                            <span>
1512                                <!-- Loading -->
1513                                <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
1514                            </span>
1515                        </td>
1516                        <td>
1517                            <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">
1518                            <span>
1519                                <!-- Messages -->
1520                                <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
1521                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
1522                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Added</span>
1523                            </span>
1524                        </td>
1525                        <td id="gift-card-coupon-code-apply-cell">
1526                            <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>
1527                        </td>
1528                    </tr>
1529                </table>
1530
1531                <!-- Coupons -->
1532                    <div class="discounts-block">
1533                        <div ng-show="CartData.Coupons.length > 0" class="row-divider discount-divider">
1534                            <div class="divider-block-title">
1535                                Coupons
1536                            </div>
1537                            <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert alert-warning warning-box">
1538                                <span ng-if="showOnlyHighestDiscountWarning()">
1539                                    Only a single coupon with the highest savings will be applied.
1540                                </span>
1541                                <span ng-if="showDontApplyOnSaleItemsWarning()">
1542                                    Coupons do not apply to On Sale Items
1543                                </span>
1544                            </div>
1545                            <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}">
1546                                <div class="discount-item">
1547                                    <div class="discount-item-title">
1548                                        <a href="" ng-click="openCouponDetailsModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a>
1549                                    </div>
1550                                    <div class="discount-amount">
1551                                        <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} &nbsp;</span>
1552                                        <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</span>
1553                                        <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>
1554                                        <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i>
1555                                    </div>
1556                                </div>
1557                                <div class="gift-card-coupon-code-span">
1558                                    {{c.couponCode}}
1559                                </div>
1560                                <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">
1560{{couponStatusMessage}}</div>
1561                            </div>
1562                        </div>
1563                    </div>
1564                    <div class="discounts-block">
1565                        <!-- Gift Cards -->
1566
1567                        <div ng-if="CartData.GiftCards.length > 0" class="row-divider discount-divider">
1568                            <div class="divider-block-title">
1569                                Gift Cards
1570                            </div>
1571                            <div ng-repeat="gc in CartData.GiftCards" class="item-box">
1572                                <div class="discount-item">
1573                                    <div>
1574                                        <span class="gift-card-coupon-identifier">{{gc.title}}</span>&nbsp;&nbsp;&nbsp;&nbsp;
1575                                    </div>
1576                                    <div class="discount-amount">
1577                                        -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
1578                                        <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>
1579                                        <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i>
1580                                    </div>
1581                                </div>
1582                                <div class="gift-card-coupon-code-span">
1583                                    {{gc.number}}
1584                                </div>
1585                            </div>
1586                        </div>
1587                    </div>
1588            </div>
1589
1590            <!-- Checkout Options -->
1591            <div align="right">
1592                <div ng-show="showSecureOrPaypal()" class="row-divider" style="display: inline-block; text-align:center;">
1593                    <br>
1594
1595                    <span ng-if="allowCreditCardCheckout() && isCardProcessorNMI()">
1596                        <button ng-click="GoToCheckoutUrl()" class="checkout-btn" data-cy="web-cart-checkout-button">
1597                            Secure Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1598                        </button>
1599                    </span>
1600
1601                    <span ng-if="isCardProcessorVantiv()">
1602                        <button id="checkout-vantiv" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_VANTIV)" class="checkout-btn">
1603                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1604                        </button>
1605                    </span>
1606
1607                    <span ng-if="isCardProcessorRain()">
1608                        <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_RAIN)" class="checkout-btn">
1609                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1610                        </button>
1611                    </span>
1612
1613                    <span ng-if="isCardProcessorQuiltAdyen()">
1614                        <button id="checkout-rain" data-cy="web-cart-checkout-button" ng-click="CartDone(PROCESSOR_QUILT_ADYEN)" class="checkout-btn">
1615                            Checkout &nbsp; <i class="button-icon-right fa fa-caret-right"></i>
1616                        </button>
1617                    </span>
1618
1619                    <div ng-if="showPaypalButtonOnCart()" style="padding:10px;">
1620                        <p><strong>- OR -</strong></p>
1621                        <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;">
1622                    </div>
1623
1624                    <br>
1625                </div>
1626
1627                <div ng-show="isCartTotalExceeded()" class="mt-10">Please contact our store for payment options on your purchase.</div>
1628            </div>
1629        </div>
1630        <div ng-if="!isProcessingEnabled()">
1631            <p>&nbsp;</p>
1632            <p>Online checkout is currently disabled. Please call {{InitInfo.Store.phone}} to place an order.</p>
1633        </div>
1634                    </div>
1635        <div ng-show="showHostedCheckout()">
1636    <style>
1637
1638    #shippingInStorePickupOptions .nav-pills>li>a {
1639        border: solid #ddd 1px;
1640        color: #337ab7 !important;
1641    }
1642
1643    #shippingInStorePickupOptions .nav-justified>li {
1644        padding: 0 10px;
1645    }
1646
1647
1648    #shippingInStorePickupOptions .nav-pills>li.active>a {
1649        position: relative;
1650        color: #fff !important;
1651        background: #337ab7;
1652        border-color: #337ab7;
1653    }
1654
1655    #shippingInStorePickupOptions .nav-pills>li.active>a:hover {
1656        color: #fff !important;
1657    }
1658
1659    @media (min-width: 768px) {
1660        #shippingInStorePickupOptions .nav-pills>li.active>a:before {
1661            position: absolute;
1662            content: '';
1663            bottom: -10px;
1664            left: 0;
1665            right: 0;
1666            margin: 0 auto;
1667            width: 0;
1668            height: 0;
1669            border-style: solid;
1670            border-width: 10px 10px 0 10px;
1671            border-color: #337ab7 transparent transparent transparent;
1672        }
1673    }
1674
1675    #shippingInStorePickupOptions .well {
1676        background-color: #fff;
1677    }
1678
1679    #shippingInStorePickupOptions .form-group {
1680        margin-bottom: 5px;
1681    }
1682
1683    .tab-options .nav-pills>li>a {
1684        border: solid #ddd 1px;
1685        color: #337ab7 !important;
1686    }
1687
1688    .tab-options .nav-justified>li {
1689        padding: 0 10px;
1690    }
1691
1692    .tab-options .nav-pills>li.active>a {
1693        position: relative;
1694        color: #fff !important;
1695        background: #337ab7;
1696        border-color: #337ab7;
1697    }
1698
1699    .tab-options .nav-pills>li.active>a:hover {
1700        color: #fff !important;
1701    }
1702
1703    @media (min-width: 768px) {
1704        .tab-options .nav-pills>li.active>a:before {
1705            position: absolute;
1706            content: '';
1707            bottom: -10px;
1708            left: 0;
1709            right: 0;
1710            margin: 0 auto;
1711            width: 0;
1712            height: 0;
1713            border-style: solid;
1714            border-width: 10px 10px 0 10px;
1715            border-color: #337ab7 transparent transparent transparent;
1716        }
1717    }
1718
1719    .tab-options .well {
1720        background-color: #fff;
1721    }
1722
1723    .tab-options .form-group {
1724        margin-bottom: 5px;
1725    }
1726
1727    a.subscription-details-btn, a.subscription-details-btn:active, a.subscription-details-btn:visited {
1728        font-size: 13px;
1729        text-decoration: none;
1730    }
1731    table.subscription-details {
1732        font-size: 13px;
1733        margin: 5px 0;
1734    }
1735    table.subscription-details tr td:first-child {
1736        padding: 0 15px 0 0;
1737    }
1738    table.subscription-details span.small-subtitle {
1739        font-size: 10px;
1740    }
1741    .dynamic_tax_error {
1742        color: #939ca6;
1743    }
1744
1745    #gift-card-coupon-code-apply {
1746        color: #333 !important;
1747        background-color: #fff !important;
1748        border: 1px solid !important;
1749    }
1750
1751    .divider-checkout-block-title {
1752        text-align: left;
1753        margin-bottom: 10px;
1754    }
1755
1756    .divider-checkout-block-gc-title {
1757        text-align: left;
1758    }
1759
1760    .messages-coupon-gc {
1761        font-size: 12px;
1762    }
1763
1764    #gift-card-coupon-msgs > #coupon-applied-msg, #gift-card-applied-msg {
1765        font-size: 12px;
1766        vertical-align: middle;
1767        color: #64b92a;
1768    }
1769
1770    #gift-card-coupon-msgs > #gift-card-coupon-error-msg {
1771        font-size: 12px;
1772        vertical-align: middle;
1773        color: #c0392b;
1774    }
1775
1776    .row-divider-checkout {
1777        padding-bottom: 5px;
1778        text-align: right;
1779    }
1780
1781    .quote-contact-checkout-button {
1782        border: none;
1783        background-color: #f6f6f6;
1784    }
1785
1786    .review-contact-information-checkout {
1787        text-align: left;
1788        padding-left: 23px;
1789    }
1790
1791    .checkout-marketing-emails-checkbox {
1792        margin-top: -10px;
1793        display: block;
1794    }
1795
1796    .terms-fallback-panel {
1797        background: #f5f5f5;
1798        border: 1px solid #e3e3e3;
1799        border-radius: 4px;
1800        margin-bottom: 20px;
1801        vertical-align: text-top;
1802    }
1803
1804    .divider-row {
1805        display: flex;
1806        align-items: center;
1807        gap: 8px;
1808        margin: 12px 0;
1809    }
1810
1811    .divider-line {
1812        flex: 1;
1813        height: 1px;
1814        background: #e5e7eb;
1815    }
1816
1817    .divider-text {
1818        color: #6b7280;
1819    }
1820
1821    .saved-cards-container {
1822        border: 1px solid #e5e7eb;
1823        border-radius: 6px;
1824        padding: 12px;
1825        background-color: #fff;
1826        max-height: 200px;
1827        overflow-y: auto;
1828    }
1829
1830    .saved-cards-header {
1831        display: flex;
1832        padding: 0 8px 8px;
1833        font-weight: 600;
1834    }
1835
1836    .saved-cards-col-name {
1837        flex: 1;
1838    }
1839
1840    .saved-cards-col-exp {
1841        width: 20%;
1842        text-align: left;
1843    }
1844
1845    .saved-card-row {
1846        display: flex;
1847        align-items: center;
1848        padding: 8px;
1849        border-top: 1px solid #f3f4f6;
1850        box-sizing: border-box;
1851        transition: background 0.2s, border 0.2s;
1852    }
1853
1854    .saved-card-row.saved-card-selected {
1855        background: #e8f3ff;
1856        border: 1px solid #9ac7ff;
1857        border-radius: 6px;
1858    }
1859
1860    .saved-card-label {
1861        display: flex;
1862        align-items: center;
1863        gap: 8px;
1864        flex: 1;
1865        min-width: 0;
1866        margin: 0;
1867        cursor: pointer;
1868    }
1869
1870    .saved-card-label input[type="radio"] {
1871        margin-top: 0;
1872        position: relative;
1873        top: 0;
1874    }
1875
1876    .saved-card-info {
1877        min-width: 0;
1878    }
1879
1880    .saved-card-title {
1881        font-weight: bold;
1882        overflow: hidden;
1883        text-overflow: ellipsis;
1884        white-space: nowrap;
1885    }
1886
1887    .saved-card-last4,
1888    .saved-card-exp {
1889        font-weight: normal;
1890        color: #6b7280;
1891    }
1892
1893    .saved-card-expdate {
1894        flex: 0 0 20%;
1895        font-weight: bold;
1896    }
1897
1898    .nickname-group {
1899        margin-bottom: 16px;
1900    }
1901
1902    .nickname-label {
1903        display: flex;
1904        gap: 6px;
1905        align-items: baseline;
1906        font-weight: bold;
1907        margin-bottom: 6px;
1908    }
1909
1910    .nickname-optional {
1911        font-size: 12px;
1912        font-weight: normal;
1913        color: #6b7280;
1914    }
1915
1916    .nickname-input {
1917        border: 1px solid #d1d5db;
1918        border-radius: 6px;
1919        padding: 8px 10px;
1920        font-size: 14px;
1921        transition: border-color 0.2s ease;
1922    }
1923
1924    .nickname-input:focus {
1925        outline: none;
1926        border-color: #3b82f6;
1927        box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
1928    }
1929
1930    .payment-wrapper {
1931        position: relative;
1932    }
1933
1934    .payment-overlay {
1935        position: absolute;
1936        inset: 0;
1937        background: rgba(255, 255, 255, 0.3);
1938        cursor: pointer;
1939        z-index: 10;
1940        border-radius: 4px;
1941        transition: background 0.2s ease;
1942    }
1943
1944    .payment-overlay:hover {
1945        background: rgba(255, 255, 255, 0.3);
1946    }
1947</style>
1948
1949<!-- Main Checkout -->
1950<div class="row" ng-show="showMainCheckout()">
1951    <div class="col-sm-7">
1952
1953        <!-- Error messages -->
1954
1955        <div ng-if="StatusInfo.ErrorMessage" class="alert alert-danger" data-cy="web-checkout-error-top">
1956            <button type="button" class="close" ng-click="ErrorMessageClose()" data-cy="web-checkout-error-top-close">&times;</button>
1957            {{StatusInfo.ErrorMessage}}
1958        </div>
1959
1960        <div ng-if="CartData.Message" class="alert alert-warning" data-cy="web-checkout-cart-message">
1961            <button type="button" class="close" ng-click="ErrorMessageClose()">&times;</button>
1962            {{CartData.Message}}
1963        </div>
1964
1965        <div ng-if="InventoryMessages.RemovedItems || InventoryMessages.InventoryChanges" class="alert alert-warning" data-cy="web-checkout-inventory-message">
1966            <button type="button" class="close" ng-click="InventoryMessagesClose()">&times;</button>
1967            <div ng-if="InventoryMessages.RemovedItems.length > 0">
1968            We're sorry, but inventory is no longer available for the following items. Your cart has been adjusted and the product(s) removed
1969                <ul><li ng-repeat="msg in InventoryMessages.RemovedItems">{{msg}}</li></ul>
1970            </div>
1971            <div ng-if="InventoryMessages.InventoryChanges.length > 0">
1972                <div ng-repeat="msg in InventoryMessages.InventoryChanges">{{msg}}</div>
1973            </div>
1974        </div>
1975
1976        <div ng-if="AvailabilityMessages.StoreAvailableItems" class="alert alert-warning" data-cy="web-checkout-availability-message">
1977            <button type="button" class="close" ng-click="AvailabilityMessagesClose()">&times;</button>
1978            <div ng-if="AvailabilityMessages.StoreAvailableItems.length > 0">
1979                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:
1980                <ul><li ng-repeat="msg in AvailabilityMessages.StoreAvailableItems track by $index">{{msg}}</li></ul>
1981            </div>
1982        </div>
1983
1984        <div ng-if="StatusInfo.DynamicTaxError" class="alert alert-danger" data-cy="web-checkout-error-tax">
1985            {{StatusInfo.DynamicTaxError}}
1986        </div>
1987        <!-- Initial Cart Contents -->
1988
1989        <div ng-show="!isCartValid()" class="panel panel-default ng-hide">
1990            <div class="panel-body">
1991                <h4>Your cart is empty. <a href="{{InitInfo.ShopUrl}}/checkout/sync.php" style="btn">Click Here</a> to continue shopping.</h4>
1992            </div>
1993        </div>
1994
1995        <!-- Mobile Items -->
1996
1997        <div class="panel panel-default visible-xs">
1998            <div ng-if="StatusInfo.Initializing" class="panel-body">
1999                <i class="fa fa-spinner fa-pulse fa-2x"></i>
2000            </div>
2001            <table ng-if="!StatusInfo.Initializing" class="table">
2002
2003
2004<thead>
2005<tr>
2006    <td><strong>Description</strong></td>
2007    <td><strong>Quantity</strong></td>
2008    <td colspan="2"><strong>Amount</strong></td>
2009</tr>
2010</thead>
2011<tbody ng-repeat="item in CartData.Items">
2012<tr>
2013    <td colspan="4" style="border-bottom: 0; padding-bottom: 0;">
2014        <span ng-if="item.condition">
2015                {{item.title}} ({{item.condition.title}})
2016        </span>
2017
2018        <span ng-if="!item.condition">
2019                            {{item.title}}
2020                        <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
2021        </span>
2022
2023        <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
2024            This item is not eligible for discounts
2025        </span>
2026        <span ng-if="!item.quantity_updating && item.type == 'rental'">
2027            - {{item.id}}
2028        </span>
2029        <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
2030            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
2031        </span>
2032        <span ng-if="item.class_attendees.length">
2033            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
2034            <span ng-repeat="name in item.class_attendees">
2035                &nbsp;{{name}}
2036            </span>
2037        </span>
2038    </td>
2039</tr>
2040<tr>
2041    <td style="border-top: 0;">
2042        <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;">
2043
2044            </td>
2045    <td style="vertical-align: middle; border-top: 0;">
2046        <div ng-if="showQuantityAsSelector(item)" class="form-inline">
2047                            <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)">
2048                </select>
2049            
2050            <span ng-if="item.qty_type == 'fraction'">
2051                <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)">
2052                </select>
2053                <span ng-if="item.measure_unit == 'Meter'">Metres</span>
2054                <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span>
2055            </span>
2056        </div>
2057        <div ng-if="showQuantityAsNumber(item)">
2058            {{item.qty_integer}}
2059        </div>
2060        <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
2061    </td>
2062
2063            <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td>
2064    
2065    <td style="vertical-align: middle; border-top: 0;">
2066        <div class="cartCell cartDelete">
2067                            <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>
2068                        <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
2069        </div>
2070    </td>
2071    <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td>
2072</tr>
2073<tr ng-if="item.type === 'subscription'">
2074    <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
2075        <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
2076            <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
2077            View Subscription Details
2078        </a>
2079        <div ng-show="showSubscriptionDetails">
2080            <table class="subscription-details">
2081                <tr>
2082                    <td>{{item.subscriptionData.labels.adverb}} Price:</td>
2083                    <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
2084                </tr>
2085                <tr>
2086                    <td>Subscription Length:</td>
2087                    <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
2088                </tr>
2089                <tr>
2090                    <td>Start/End Date:</td>
2091                    <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
2092                </tr>
2093                <tr>
2094                    <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
2095                    <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
2096                </tr>
2097                <tr>
2098                    <td>Previous {{item.subscriptionData.labels.plural}}:</td>
2099                    <td>
2100                                                 <span ng-if="item.subscriptionData.previous_items_cnt > 0">
2101                                                    {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
2102                                                </span>
2103                        <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
2104                    </td>
2105                </tr>
2106                <tr>
2107                    <td>Delivery Method:</td>
2108                    <td ng-switch="item.subscriptionData.delivery_type">
2109                                            <span ng-switch-when="ship">
2110                                                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
2111                                            </span>
2112                        <span ng-switch-default>In-Store Pickup</span>
2113                    </td>
2114                </tr>
2115                <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
2116                    <td>Address:</td>
2117                    <td>{{item.subscriptionData.address}}</td>
2118                </tr>
2119                <tr>
2120                    <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
2121                    <td>
2122                        <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
2123                    </td>
2124                </tr>
2125                <tr>
2126                    <td><strong>Due Today:</strong></td>
2127                    <td>
2128                        <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
2129                    </td>
2130                </tr>
2131            </table>
2132        </div>
2133    </td>
2134</tr>
2135</tbody>
2136            </table>
2137        </div>
2138
2139        <!-- Show Contact Info -->
2140        <div ng-form="contactForm" ng-show="showContactInfo()" class="panel panel-default ng-hide">
2141            <div class="panel-body">
2142
2143                <!-- Validation Messages -->
2144                <div ng-show="!inStorePickup() && (ShippingStatus.MessagesShow && ShippingStatus.NotValidMessages.length > 0 || ContactStatus.MessagesShow && ContactStatus.NotValidMessages.length > 0)" class="row">
2145                    <div class="col-xs-12 text-danger">
2146                        <span ng-repeat="message in ContactStatus.NotValidMessages"><label>{{message}}</label><br></span>
2147                    </div>
2148                    <div class="col-xs-12 text-danger">
2149                        <span ng-repeat="message in ShippingStatus.NotValidMessages"><label>{{message}}</label><br></span>
2150                    </div>
2151                </div>
2152
2153                <div class="row">
2154                    <div class="col-xs-12">
2155                        <label>Contact Information</label>
2156                    </div>
2157                </div>
2158
2159                <div class="row">
2160                    <div ng-class="FormFieldErrorClass('contactForm', 'email', contactForm)" class="col-sm-6">
2161                        <input required
2162                               id="billing_email"
2163                               data-cy="web-checkout-contact-email"
2164                               name="email"
2165                               type="email"
2166                               ng-model="BillingInfo.Email"
2167                               class="form-control"
2168                               placeholder="Email"
2169                               ng-focus="InitToolTip($event)"
2170                               data-toggle="tooltip"
2171                               ng-blur="updateCouponsByCustomerGroups()"
2172                               title="Email Address">
2173                        <label ng-if="FormFieldError('contactForm', 'email', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-email-error">
2174                            Please enter a valid email
2175                        </label>
2176                        <label ng-if="isSubscribeToMarketingEmailsEnabled()" class="checkout-marketing-emails-checkbox" id="text-msg-notifications">
2177                            <input class="ng-pristine ng-untouched ng-valid" id="subscribeToMarketingEmails" data-cy="web-checkout-subscribe-marketing" type="checkbox" ng-click="toggleSubscribeToMarketingEmails()">
2178                            <small for="subscribeToMarketingEmails">
2179                                Sign me up for News and Offers
2180                            </small>
2181                        </label>
2182                    </div>
2183                    <div ng-class="FormFieldErrorClass('contactForm', 'phone', contactForm)" class="col-sm-6">
2184                        <input
2185                            id="billing_phone"
2186                            data-cy="web-checkout-contact-phone"
2187                            required
2188                            phone-number
2189                            ng-model="BillingInfo.Phone"
2190                            ng-focus="InitToolTip($event)"
2191                            name="phone"
2192                            type="text"
2193                            data-toggle="tooltip"
2194                            title="Phone Number"
2195                            class="form-control"
2196                        >
2197                        <label ng-if="FormFieldError('contactForm', 'phone', contactForm)" class="control-label error-label" data-cy="web-checkout-contact-phone-error">
2198                            Please enter a valid phone number
2199                        </label>
2200                        <label style="margin-top: -10px; display: block;" id="text-msg-notifications" ng-if="isTextMessagingSupported()">
2201                            <input type="checkbox" ng-model="CheckoutInfo.sendTextNotifications" class="ng-pristine ng-untouched ng-valid">
2202                            <small>Get order update texts</small>
2203                            <i class="fa fa-mobile" aria-hidden="true"></i>
2204                        </label>
2205                    </div>
2206                </div>
2207            </div>
2208        </div>
2209
2210        <!-- Shipping Information -->
2211        <div ng-form="shippingForm" ng-show="showShippingForm() && isShippingRequired()" class="panel panel-default ng-hide">
2212            <div class="panel-body">
2213
2214                <div ng-if="InitInfo.wholesale.checkout_enabled">
2215                    <div class="row">
2216                            <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6">
2217                            <input ng-required="!isPickup()"
2218                                   capitalize-first
2219                                   id="shipping_first_name" data-cy="web-checkout-shipping-first-name"
2220                                   name="shipping_first_name"
2221                                   type="text"
2222                                   ng-model="ShippingInfo.FirstName"
2223                                   class="form-control"
2224                                   placeholder="First Name"
2225                                   ng-focus="InitToolTip($event)"
2226                                   data-toggle="tooltip"
2227                                   title="First Name">
2228                            <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label">
2229                                Please enter a first name
2230                            </label>
2231                        </div>
2232                            <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" >
2233                            <input ng-required="!isPickup()"
2234                                   capitalize-first
2235                                   id="shipping_last_name" data-cy="web-checkout-shipping-last-name"
2236                                   name="shipping_last_name"
2237                                   type="text"
2238                                   ng-model="ShippingInfo.LastName"
2239                                   class="form-control"
2240                                   placeholder="Last Name"
2241                                   ng-focus="InitToolTip($event)"
2242                                   data-toggle="tooltip"
2243                                   title="Last Name">
2244                            <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label">
2245                                Please enter a last name
2246                            </label>
2247                        </div>
2248                    </div>
2249
2250                    <div class="row">
2251                        <div class="col-sm-6">
2252                            <input capitalize-first
2253                                   id="company_name" data-cy="web-checkout-shipping-company"
2254                                   name="company_name"
2255                                   type="text"
2256                                   ng-model="ShippingInfo.company_name"
2257                                   class="form-control"
2258                                   placeholder="Company Name"
2259                                   ng-focus="InitToolTip($event)"
2260                                   data-toggle="tooltip"
2261                                   title="Company Name">
2262                        </div>
2263                    </div>
2264                </div>
2265
2266                <div id="shippingInStorePickupOptions">
2267
2268                    <div ng-if="areShippingOptionsRequired()">
2269                        <label>Shipping and Pickup Options</label>
2270                    </div>
2271
2272                    <!-- Shipping Nav tabs -->
2273                    <ul class="nav nav-pills nav-justified" role="tablist" id="shippingTabs">
2274                        <li role="presentation" class="active" ng-if="isShippingTabVisible()">
2275                            <a href="#shippingOptions" aria-controls="shippingOptions" role="tab" data-toggle="pill">
2276                                <span class="fa fa-truck fa-fw"></span> Shipping Options
2277                            </a>
2278                        </li>
2279                        <li role="presentation" ng-if="isLocalDeliveryEnabled() && isLocalDeliveryOptionsProvided">
2280                            <a href="#localDelivery" aria-controls="localDelivery" role="tab" data-toggle="pill" id="localDeliveryTab">
2281                                <span class="fa fa-home fa-fw"></span> Local Delivery
2282                            </a>
2283                        </li>
2284                        <li role="presentation" ng-if="isStorePickupEnabled() && hasStorePickupOptions()">
2285                            <a href="#inStorePickup" aria-controls="inStorePickup" role="tab" data-toggle="pill" id="inStorePickupTab">
2286                                <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> In-Store Pickup
2287                            </a>
2288                        </li>
2289                        <li role="presentation" ng-if="isCurbsidePickupEnabled() && hasCurbsidePickupOptions()">
2290                            <a href="#curbsidePickup" aria-controls="curbsidePickup" role="tab" data-toggle="pill" id="curbsidePickupTab">
2291                                <span class="fa fa-home fa-fw"></span> <strong>FREE</strong> Curbside Pickup
2292                            </a>
2293                        </li>
2294                        <li role="presentation" ng-if="isOsrSchoolPickupEnabled() && hasSchoolPickupOptions()">
2295                            <a href="#schoolPickup" aria-controls="schoolPickup" role="tab" data-toggle="pill" id="schoolPickupTab">
2296                                <span class="fa fa-school fa-fw"></span> <strong>FREE</strong> School Delivery
2297                            </a>
2298                        </li>
2299                    </ul>
2300
2301                    <!-- Shipping Tab panes -->
2302                    <div class="tab-content" style="margin-top: 15px;">
2303
2304                        <div role="tabpanel" class="tab-pane fade in active" id="shippingOptions" ng-if="isShippingFormVisible()">
2305                            <!-- Shipping Options -->
2306                            <div class="well">
2307                                <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())">
2308                                    <div class="col-xs-12">
2309                                        <div class="pull-left">
2310                                            Please input an address to see shipping options
2311                                        </div>
2312                                    </div>
2313                                </div>
2314                                <!-- Shipping options -->
2315                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2316                                    <div class="col-xs-12">
2317                                        <i class="fa fa-spinner fa-pulse"></i>
2318                                    </div>
2319                                </div>
2320
2321                                <div ng-if="!ShippingStatus.OptionsUpdating">
2322                                    <div ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()" class="row">
2323                                        <div class="col-xs-12">
2324                                            <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2325                                        </div>
2326                                    </div>
2327                                    <div ng-if="showShippingStateRequired()" class="row">
2328                                        <div class="col-xs-12">
2329                                            <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">Please enter a valid {{ShippingInfo.ZipOrPostal}} to see shipping options</p>
2330                                        </div>
2331                                    </div>
2332                                    <div ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()" class="row">
2333                                        <div class="col-xs-12">
2334                                            Shipping options are not available for this country or region.
2335                                            <br>
2336                                            Please call {{InitInfo.Store.phone}} for shipping options.
2337                                        </div>
2338                                    </div>
2339                                    <div ng-if="hasShippingOptions()" class="row">
2340                                        <div class="col-xs-12">
2341                                            <ul class="list-unstyled">
2342                                                <li ng-repeat="option in enhancedShippingInfo.shippingOptions track by option.id">
2343                                                    <div class="form-group">
2344                                                        <label>
2345                                                            <input
2346                                                                    ng-required="!ShippingInfo.OptionId"
2347                                                                    name="shipping_option"
2348                                                                    type="radio"
2349                                                                    value="{{option.id}}"
2350                                                                    ng-change="ShippingVerify()"
2351                                                                    ng-model="ShippingInfo.OptionId"
2352                                                                    class="option_radio"
2353                                                            >
2354                                                            <span class="option_content" style="font-weight: normal">
2355                                                                    <span ng-if="!isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{option.price | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span>
2356                                                                    <span ng-if="isTaxInclusive()"><strong>{{option.name}}</strong> - <span>{{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span> <br> <span>{{option.delivery_time}}</span></span>
2357                                                                </span>
2358                                                        </label>
2359                                                    </div>
2360                                                </li>
2361                                            </ul>
2362                                            <div>
2363                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2364                                            </div>
2365                                        </div>
2366                                    </div>
2367                                </div>
2368                            </div>
2369
2370                            <!-- Ship to School -->
2371                            <div ng-if="canShowShipToSchool()">
2372                                <div class="form-group">
2373                                    <label>
2374                                        <input type="checkbox" ng-model="ShippingInfo.shipToSchool">
2375                                        Ship to School
2376                                    </label>
2377                                </div>
2378
2379                                <div ng-if="ShippingInfo.shipToSchool">
2380                                    <div ng-if="districts && districts.length > 0" class="school-selection">
2381                                        <div ng-class="FormFieldErrorClass('shippingForm', 'district_select', shippingForm)" class="form-group">
2382                                            <label for="district_select">Select District</label>
2383                                            <select id="district_select"
2384                                                    name="district_select"
2385                                                    class="form-control"
2386                                                    ng-model="ShippingInfo.selectedDistrict"
2387                                                    ng-options="district as district.name for district in districts"
2388                                                    ng-change="onDistrictChange()"
2389                                                    ng-required="ShippingInfo.shipToSchool">
2390                                                <option value="">-- Select District --</option>
2391                                            </select>
2392                                            <label ng-if="FormFieldError('shippingForm', 'district_select', shippingForm)" class="control-label error-label">
2393                                                Please select a district
2394                                            </label>
2395                                        </div>
2396
2397                                        <div ng-class="FormFieldErrorClass('shippingForm', 'school_select', shippingForm)" class="form-group">
2398                                            <label for="school_select">Select School</label>
2399                                            <select id="school_select"
2400                                                    name="school_select"
2401                                                    class="form-control"
2402                                                    ng-model="ShippingInfo.selectedSchool"
2403                                                    ng-options="school as school.name for school in schools"
2404                                                    ng-disabled="!ShippingInfo.selectedDistrict"
2405                                                    ng-required="ShippingInfo.shipToSchool">
2406                                                <option value="">-- Select School --</option>
2407                                            </select>
2408                                            <label ng-if="FormFieldError('shippingForm', 'school_select', shippingForm)" class="control-label error-label">
2409                                                Please select a school
2410                                            </label>
2411                                        </div>
2412                                    </div>
2413                                </div>
2414                            </div>
2415
2416                            <!-- Shipping Address -->
2417                            <div ng-if="showShippingAddressForm()">
2418                                                                <div class="row">
2419                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_first_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()">
2420                                        <input ng-required="!isPickup()"
2421                                               capitalize-first
2422                                               id="shipping_first_name" data-cy="web-checkout-shipping-first-name"
2423                                               name="shipping_first_name"
2424                                               type="text"
2425                                               ng-model="ShippingInfo.FirstName"
2426                                               class="form-control"
2427                                               placeholder="First Name"
2428                                               ng-focus="InitToolTip($event)"
2429                                               data-toggle="tooltip"
2430                                               title="First Name">
2431                                        <label ng-if="FormFieldError('shippingForm', 'shipping_first_name', shippingForm)" class="control-label error-label">
2432                                            Please enter a first name
2433                                        </label>
2434                                    </div>
2435                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_last_name', shippingForm)" class="col-sm-6" ng-if="!isPayPal()">
2436                                        <input ng-required="!isPickup()"
2437                                               capitalize-first
2438                                               id="shipping_last_name" data-cy="web-checkout-shipping-last-name"
2439                                               name="shipping_last_name"
2440                                               type="text"
2441                                               ng-model="ShippingInfo.LastName"
2442                                               class="form-control"
2443                                               placeholder="Last Name"
2444                                               ng-focus="InitToolTip($event)"
2445                                               data-toggle="tooltip"
2446                                               title="Last Name">
2447                                        <label ng-if="FormFieldError('shippingForm', 'shipping_last_name', shippingForm)" class="control-label error-label">
2448                                            Please enter a last name
2449                                        </label>
2450                                    </div>
2451                                </div>
2452
2453                                <div class="row">
2454                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_address_1', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2455                                        <input ng-required="!isPickup()"
2456                                               capitalize-first
2457                                               id="shipping_address_1" data-cy="web-checkout-shipping-address1"
2458                                               name="shipping_address_1"
2459                                               type="text"
2460                                               ng-model="ShippingInfo.Address1"
2461                                               street-address
2462                                               ng-disabled="ShippingInfoPrefilledFlags.Address1"
2463                                               ng-blur="AddressBlur()"
2464                                               class="form-control"
2465                                               placeholder="Street Address 1"
2466                                               ng-focus="InitToolTip($event)"
2467                                               data-toggle="tooltip"
2468                                               title="Street Address 1">
2469                                        <label ng-if="FormFieldError('shippingForm', 'shipping_address_1', shippingForm) && shippingForm.shipping_address_1.$error.required" class="control-label error-label">
2470                                            Please enter a street address
2471                                        </label>
2472                                        <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">
2473                                            Please enter a valid street address.
2474                                        </label>
2475                                    </div>
2476                                    <div class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2477                                        <input
2478                                            id="shipping_address_2" data-cy="web-checkout-shipping-address2"
2479                                            name="shipping_address_2"
2480                                            type="text"
2481                                            ng-model="ShippingInfo.Address2"
2482                                            ng-disabled="ShippingInfoPrefilledFlags.Address2"
2483                                            ng-blur="AddressBlur()"
2484                                            class="form-control"
2485                                            placeholder="Street Address 2"
2486                                            ng-focus="InitToolTip($event)"
2487                                            data-toggle="tooltip"
2488                                            title="Street Address 2"
2489                                        >
2490                                    </div>
2491                                </div>
2492
2493                                <div class="row">
2494                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_city', shippingForm)" class="col-sm-6" ng-if="!isPayPal() || isExtendPayPalShippingInfo()">
2495                                        <input ng-required="!isPickup()"
2496                                               capitalize-first
2497                                               id="shipping_city" data-cy="web-checkout-shipping-city"
2498                                               name="shipping_city"
2499                                               type="text"
2500                                               ng-model="ShippingInfo.City"
2501                                               ng-disabled="ShippingInfoPrefilledFlags.City"
2502                                               ng-blur="AddressBlur()"
2503                                               class="form-control"
2504                                               placeholder="City"
2505                                               ng-focus="InitToolTip($event)"
2506                                               data-toggle="tooltip"
2507                                               title="City">
2508                                        <label ng-if="FormFieldError('shippingForm', 'shipping_city', shippingForm)" class="control-label error-label">
2509                                            Please enter a City
2510                                        </label>
2511                                    </div>
2512                                    <div ng-if="InitInfo.Regions[ShippingInfo.CountryKey] && ShippingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6">
2513                                        <select ng-required="!isPickup()"
2514                                                id="shipping_state" data-cy="web-checkout-shipping-state"
2515                                                name="shipping_state"
2516                                                ng-change="ShippingOptionsGet()"
2517                                                ng-model="ShippingInfo.State"
2518                                                ng-disabled="ShippingInfoPrefilledFlags.State"
2519                                                class="form-control">
2520                                            <option value="">Select {{ShippingInfo.StateOrProvince}}</option>
2521                                            <option ng-repeat="(key, value) in InitInfo.Regions[ShippingInfo.CountryKey]" value="{{key}}">{{value}}</option>
2522                                        </select>
2523                                        <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label">
2524                                            Please select a {{ShippingInfo.StateOrProvince}}
2525                                        </label>
2526                                    </div>
2527                                    <div ng-if="!InitInfo.Regions[ShippingInfo.CountryKey]" ng-class="FormFieldErrorClass('shippingForm', 'shipping_state', shippingForm)" class="col-sm-6">
2528                                        <input ng-required="!isPickup()"
2529                                               capitalize-first
2530                                               id="shipping_state" data-cy="web-checkout-shipping-state"
2531                                               name="shipping_state"
2532                                               type="text"
2533                                               ng-model="ShippingInfo.State"
2534                                               ng-disabled="ShippingInfoPrefilledFlags.State"
2535                                               ng-change="ShippingOptionsGet()"
2536                                               class="form-control"
2537                                               placeholder="State/Province"
2538                                               ng-focus="InitToolTip($event)"
2539                                               data-toggle="tooltip"
2540                                               title="State/Province">
2541                                        <label ng-if="FormFieldError('shippingForm', 'shipping_state', shippingForm)" class="control-label error-label">
2542                                            Please enter the State/Province
2543                                        </label>
2544                                    </div>
2545                                    <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('shippingForm', 'shipping_country', shippingForm)" class="col-sm-6">
2546                                        <select ng-required="!isPickup()"
2547                                                id="shipping_country" data-cy="web-checkout-shipping-country"
2548                                                name="shipping_country"
2549                                                ng-change="changeShippingCountry()"
2550                                                ng-model="ShippingInfo.CountryKey"
2551                                                ng-disabled="ShippingInfoPrefilledFlags.Country"
2552                                                class="form-control"
2553                                                ng-options="key as value for (key, value) in InitInfo.Countries">
2554                                        </select>
2555                                        <label ng-if="FormFieldError('shippingForm', 'shipping_country', shippingForm)" class="control-label error-label">
2556                                            Please select a country
2557                                        </label>
2558                                    </div>
2559                                    <div ng-class="FormFieldErrorClass('shippingForm', 'shipping_zip', shippingForm)" class="col-sm-6">
2560                                        <input ng-required="!isPickup()"
2561                                               id="shipping_zip" data-cy="web-checkout-shipping-zip"
2562                                               name="shipping_zip"
2563                                               type="text"
2564                                               ng-change="ShippingOptionsGet()"
2565                                               ng-model="ShippingInfo.Zip"
2566                                               ng-disabled="ShippingInfoPrefilledFlags.Zip"
2567                                               ng-model-options="{debounce: 750}"
2568                                               class="form-control"
2569                                               style="max-width: 125px;"
2570                                               placeholder="{{ShippingInfo.ZipOrPostal}}"
2571                                               ng-focus="InitToolTip($event)"
2572                                               data-toggle="tooltip"
2573                                               title="{{ShippingInfo.ZipOrPostal}}">
2574                                        <label ng-if="FormFieldError('shippingForm', 'shipping_zip', shippingForm)" class="control-label error-label">
2575                                            Please enter a {{ShippingInfo.ZipOrPostal}}
2576                                        </label>
2577                                    </div>
2578                                </div>
2579                                                                <!-- Order Notes -->
2580                                <div class="row">
2581                                    <div class="col-xs-12">
2582                                        <label>Notes</label>
2583                                    </div>
2584                                </div>
2585                                <div class="row">
2586                                    <div class="col-sm-12">
2587                                        <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2588                                    </div>
2589                                </div>
2590
2591                                <!-- Gift Message -->
2592                                <div class="row" ng-if="shouldShowGiftCardsCoupons()">
2593                                    <label class="col-xs-12">
2594                                        <input type="checkbox" ng-model="GiftMessage.Checked" ng-click="GiftMessageEdit()">
2595                                        <small>This is a gift</small>
2596                                    </label>
2597                                </div>
2598                                <div ng-show="GiftMessage.Checked || GiftMessage.Message" class="row">
2599                                    <div class="col-xs-12">
2600                                        <div class="form-group">
2601                                            <p>
2602                                                <small>Prices will be hidden on receipt.</small>
2603                                            </p>
2604                                            <label class="">Gift Message</label> <small>(Optional)</small>
2605                                            <textarea ng-model="GiftMessage.Message" class="form-control" rows="4"></textarea>
2606                                        </div>
2607                                    </div>
2608                                </div>
2609                            </div>
2610                        </div>
2611                        <div role="tabpanel" class="tab-pane fade" id="inStorePickup">
2612                            <div class="well">
2613                                <!-- Shipping options -->
2614                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2615                                    <div class="col-xs-12">
2616                                        <i class="fa fa-spinner fa-pulse"></i>
2617                                    </div>
2618                                </div>
2619                                <div ng-if="!ShippingStatus.OptionsUpdating">
2620                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2621                                        <div class="col-xs-12">
2622                                                <span ng-if="ShippingStatus.Message">
2623                                                    <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2624                                                </span>
2625                                        </div>
2626                                    </div>
2627                                    <div ng-if="!hasStorePickupOptions()" class="row">
2628                                        <div class="col-xs-12">
2629                                            Store Pickup options are not available for this country or region.
2630                                        </div>
2631                                    </div>
2632
2633                                    <div ng-if="hasStorePickupOptions()" class="row">
2634                                        <div class="col-xs-12">
2635                                            <ul class="list-unstyled">
2636                                                <li ng-repeat="option in enhancedShippingInfo.storePickupOptions track by option.id">
2637                                                    <div class="form-group">
2638                                                        <label>
2639                                                            <input
2640                                                                    ng-required="!ShippingInfo.OptionId"
2641                                                                    name="shipping_option"
2642                                                                    type="radio"
2643                                                                    value="{{option.id}}"
2644                                                                    ng-change="ShippingVerify()"
2645                                                                    ng-model="ShippingInfo.OptionId"
2646                                                                    class="option_radio"
2647                                                            >
2648                                                            <span class="option_content" style="font-weight: normal">
2649                                                                    <strong>{{option.store_location_name}}</strong>
2650                                                                    <br>
2651                                                                    <span>{{option.delivery_time}}</span>
2652                                                                </span>
2653                                                        </label>
2654                                                    </div>
2655                                                </li>
2656                                            </ul>
2657                                            <div>
2658                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2659                                            </div>
2660                                        </div>
2661                                    </div>
2662
2663                                    <!-- Order Notes -->
2664                                    <div class="row">
2665                                        <div class="col-xs-12">
2666                                            <label>Notes</label>
2667                                        </div>
2668                                    </div>
2669                                    <div class="row">
2670                                        <div class="col-sm-12">
2671                                            <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2672                                        </div>
2673                                    </div>
2674                                </div>
2675                            </div>
2676                        </div>
2677                        <div role="tabpanel" class="tab-pane fade" id="curbsidePickup">
2678                            <div class="well">
2679                                <!-- Shipping options -->
2680                                <div ng-if="ShippingStatus.OptionsUpdating" class="row">
2681                                    <div class="col-xs-12">
2682                                        <i class="fa fa-spinner fa-pulse"></i>
2683                                    </div>
2684                                </div>
2685                                <div ng-if="!ShippingStatus.OptionsUpdating">
2686                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2687                                        <div class="col-xs-12">
2688                                                <span ng-if="ShippingStatus.Message">
2689                                                    <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2690                                                </span>
2691                                        </div>
2692                                    </div>
2693                                    <div ng-if="!hasCurbsidePickupOptions()" class="row">
2694                                        <div class="col-xs-12">
2695                                            Curbside pickup options are not available for this country or region.
2696                                        </div>
2697                                    </div>
2698
2699                                    <div ng-if="hasCurbsidePickupOptions()" class="row">
2700                                        <div class="col-xs-12">
2701                                            <ul class="list-unstyled">
2702                                                <li ng-repeat="option in enhancedShippingInfo.curbsidePickupOptions track by option.id">
2703                                                    <div class="form-group">
2704                                                        <label>
2705                                                            <input
2706                                                                    ng-required="!ShippingInfo.OptionId"
2707                                                                    name="shipping_option"
2708                                                                    type="radio"
2709                                                                    value="{{option.id}}"
2710                                                                    ng-change="ShippingVerify()"
2711                                                                    ng-model="ShippingInfo.OptionId"
2712                                                                    class="option_radio"
2713                                                            >
2714                                                            <span class="option_content" style="font-weight: normal">
2715                                                                    <strong>{{option.store_location_name}}</strong>
2716                                                                    <br>
2717                                                                    <span>{{option.delivery_time}}</span>
2718                                                                </span>
2719                                                        </label>
2720                                                    </div>
2721                                                </li>
2722                                            </ul>
2723                                            <div>
2724                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2725                                            </div>
2726                                        </div>
2727                                    </div>
2728                                </div>
2729                            </div>
2730                        </div>
2731
2732                        <div role="tabpanel" class="tab-pane fade" id="schoolPickup" ng-if="areShippingOptionsRequired()">
2733                            <div class="well">
2734                                <div ng-if="!ShippingStatus.OptionsUpdating">
2735                                    <div ng-if="!ShippingStatus.OptionsValid" class="row">
2736                                        <div class="col-xs-12">
2737                                            <span ng-if="ShippingStatus.Message">
2738                                                <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2739                                            </span>
2740                                        </div>
2741                                    </div>
2742                                    <div ng-if="!hasSchoolPickupOptions() || !isOsrSchoolPickupAvailable()" class="row">
2743                                        <div class="col-xs-12">
2744                                            School Delivery is not available now.
2745                                        </div>
2746                                    </div>
2747
2748                                    <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()" class="row">
2749                                        <div class="col-xs-12">
2750                                            <ul class="list-unstyled">
2751                                                <li ng-repeat="option in enhancedShippingInfo.schoolPickupOptions track by option.id">
2752                                                    <div class="form-group">
2753                                                        <label>
2754                                                            <input
2755                                                                ng-required="!ShippingInfo.OptionId"
2756                                                                name="shipping_option"
2757                                                                type="radio"
2758                                                                value="{{option.id}}"
2759                                                                ng-change="ShippingVerify()"
2760                                                                ng-model="ShippingInfo.OptionId"
2761                                                                class="option_radio"
2762                                                            >
2763                                                            <span class="option_content" style="font-weight: normal">
2764                                                                <strong> {{ option.school_name ? option.school_name : (checkFlagRestoreSchoolDeliveryShippingOption() ? 'School Delivery' : '') }}</strong>
2765                                                                <br>
2766                                                                <span>{{option.delivery_time}}</span>
2767                                                            </span>
2768                                                        </label>
2769                                                    </div>
2770                                                </li>
2771                                            </ul>
2772                                            <div>
2773                                                <small ng-if="ShippingStatus.Submitted && !ShippingInfo.Option" class="text-danger control-label">Please select a shipping option</small>
2774                                            </div>
2775                                        </div>
2776                                    </div>
2777
2778                                    <div ng-if="hasSchoolPickupOptions() && isOsrSchoolPickupAvailable()">
2779                                        <!-- Order Notes -->
2780                                        <div class="row">
2781                                            <div class="col-xs-12">
2782                                                <label>Notes</label>
2783                                            </div>
2784                                        </div>
2785                                        <div class="row">
2786                                            <div class="col-sm-12">
2787                                                <textarea ng-model="orderNotes.note" data-cy="web-checkout-order-notes" rows="5" class="form-control" placeholder="Leave a note for the store"></textarea>
2788                                            </div>
2789                                        </div>
2790                                    </div>
2791                                </div>
2792                            </div>
2793                        </div>
2794
2795                        <div ng-if="isLocalDeliveryEnabled()" role="tabpanel" class="tab-pane fade" id="localDelivery">
2796                            <div class="well">
2797                                <div class="row" ng-if="areShippingOptionsRequired() && (!hasShippingState() || !hasShippingZip())">
2798                                    <div class="col-xs-12">
2799                                        <div class="pull-left">
2800                                            Please input an address to see shipping options
2801                                        </div>
2802                                    </div>
2803                                </div>
2804
2805                                <div class="row" ng-if="ShippingStatus.OptionsUpdating">
2806                                    <div class="col-xs-12"><i class="fa fa-spinner fa-pulse"></i></div>
2807                                </div>
2808
2809                                <div ng-if="!ShippingStatus.OptionsUpdating">
2810                                    <div class="row" ng-if="showShippingErrorMessage() && hasShippingZip() && hasShippingState()">
2811                                        <div class="col-xs-12">
2812                                            <p class="text-primary" style="padding-top: 7px;">{{ShippingStatus.Message}}</p>
2813                                        </div>
2814                                    </div>
2815
2816                                    <div class="row" ng-if="showShippingStateRequired()">
2817                                        <div class="col-xs-12">
2818                                            <p ng-if="!hasShippingZip()" class="text-primary" style="padding-top: 7px;">
2819                                                Please enter a valid {{ShippingInfo.ZipOrPostal}} to see delivery options
2820                                            </p>
2821                                        </div>
2822                                    </div>
2823
2824                                    <div class="row" ng-if="showNoShippingOptions() && hasShippingState() && hasShippingZip()">
2825                                        <div class="col-xs-12">
2826                                            Local delivery options are not available for this country or region.
2827                                            <br>
2828                                            Please call {{InitInfo.Store.phone}} for delivery options.
2829                                        </div>
2830                                    </div>
2831
2832                                    <div class="row" ng-if="hasLocalDeliveryOptions()">
2833                                        <div class="col-xs-12">
2834                                            <ul class="list-unstyled">
2835                                                <li ng-repeat="option in enhancedShippingInfo.localDeliveryOptions track by option.id">
2836                                                    <div class="form-group">
2837                                                        <label style="font-weight: normal;">
2838                                                            <input
2839                                                                ng-required="!ShippingInfo.OptionId"
2840                                                                name="shipping_option"
2841                                                                type="radio"
2842                                                                class="option_radio"
2843                                                                ng-model="ShippingInfo.OptionId"
2844                                                                ng-value="option.id"
2845                                                                ng-change="ShippingInfo.Option = option; ShippingVerify()"
2846                                                            >
2847                                                            <span class="option_content">
2848                                                                <strong>{{option.name}}</strong>
2849                                                                <span ng-if="!isTaxInclusive()"> - {{option.price | currency:InitInfo.CurrencySymbol2}}</span>
2850                                                                <span ng-if="isTaxInclusive()"> - {{addShippingTaxes(option.price) | currency:InitInfo.CurrencySymbol2}}</span>
2851                                                                <br><span>{{option.delivery_time}}</span>
2852                                                            </span>
2853                                                        </label>
2854                                                    </div>
2855                                                </li>
2856                                            </ul>
2857                                            <small ng-if="ShippingStatus.Submitted && !ShippingInfo.OptionId" class="text-danger control-label">
2858                                                Please select a shipping option
2859                                            </small>
2860                                        </div>
2861                                    </div>
2862                                </div>
2863                            </div>
2864                                                    </div>
2865                    </div>
2866                </div>
2867
2868                <div ng-if="showNoShippingRequired()">
2869                    <div class="row">
2870                        <div class="col-xs-12">
2871                            Shipping is not required for any of the items in your cart.
2872                        </div>
2873                    </div>
2874                </div>
2875
2876                <!--                    <div class="row">-->
2877                <!--                        <label class="col-xs-12">-->
2878                <!--                             <input type="checkbox" ng-model="ContactInfo.JoinEmailList" checked> -->
2879                <!--                             <small>Join our email list</small> -->
2880                <!--                        </label>-->
2881                <!--                    </div>-->
2882
2883            </div>
2884        </div>
2885
2886        <!-- Contact Shipping Summary -->
2887
2888        <div ng-show="showSummaries()" class="ng-hide">
2889            <div class="well">
2890                <div class="row">
2891                    <div class="col-xs-6">
2892                        <strong>Contact Information</strong>&nbsp;&nbsp;
2893                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a>
2894                        <br>
2895                        <small>
2896                            {{BillingInfo.Email}}<br>
2897                            {{BillingInfo.Phone}}<br>
2898                        </small>
2899                    </div>
2900                    <div ng-if="GiftMessage.Checked" class="col-xs-6">
2901                        <strong>Gift Message</strong>&nbsp;&nbsp;
2902                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a><br>
2903                        <span><small><strong>This is a gift</strong></small><br></span>
2904                        <span ng-if="GiftMessage.Message"><small>{{GiftMessage.Message}}</small></span>
2905                        <span ng-if="!GiftMessage.Message"><small>There is no message</small></span>
2906                    </div>
2907
2908                    <div ng-if="!isPickup()" class="col-xs-6">
2909                        <strong >Shipping Information</strong>
2910                        <span ng-if="ShippingStatus.Entered && ShippingStatus.Required">
2911                                &nbsp;&nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
2912                                <br>
2913                                <small style="text-transform: capitalize;">
2914                                    <span ng-if="ShippingInfo.FirstName || ShippingInfo.LastName">{{ShippingInfo.FirstName}} {{ShippingInfo.LastName}}<br></span>
2915                                    <span ng-if="ShippingInfo.Address1">{{ShippingInfo.Address1}}<br></span>
2916                                    <span ng-if="ShippingInfo.Address2">{{ShippingInfo.Address2}}<br></span>
2917                                    <span ng-if="ShippingInfo.City">{{ShippingInfo.City}},</span> {{ShippingInfo.State}} {{ShippingInfo.Zip}}
2918                                    <span ng-if="ShippingInfo.Country != Region"><br>{{ShippingInfo.Country}}</span>
2919                                </small>
2920                            </span>
2921                        <span ng-if="!ShippingStatus.Required">No shipping required</span>
2922                    </div>
2923                    <div ng-if="isPickup()" class="col-xs-6">
2924                        <strong ng-if="isStorePickup()">Store Pickup Information</strong>
2925                        <strong ng-if="isCurbsidePickup()">Curbside Pickup Information</strong>
2926                        <strong ng-if="isSchoolPickup()">School Delivery Information</strong>
2927                        &nbsp;&nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
2928                        <br>
2929                        <small style="text-transform: capitalize;">
2930                            {{ShippingInfo.Option.delivery_time}}
2931                        </small>
2932                    </div>
2933
2934                    <div ng-if="ShippingInfo.Comments" class="col-xs-6">
2935                        <strong>Additional Comments</strong>&nbsp;&nbsp;
2936                        <a href="" ng-click="ShippingEdit()"><small>Change</small></a>
2937                    </div>
2938                </div>
2939            </div>
2940        </div>
2941
2942        <!-- Mobile Summary -->
2943
2944        <div class="panel panel-default visible-xs-block">
2945            <div ng-if="StatusInfo.Initializing" class="panel-body">
2946                <i class="fa fa-spinner fa-pulse fa-2x"></i>
2947            </div>
2948            <table ng-if="!StatusInfo.Initializing" class="table">
2949                <tr>
2950                    <td colspan="2">
2951                        Subtotal
2952                        &nbsp;&nbsp;<small><a ng-click="StatusInfo.CouponShow = !StatusInfo.CouponShow" href="">Enter Coupon</a> | <a ng-click="StatusInfo.CouponShow = !StatusInfo.CouponShow" href="">Gift Card</a></small>
2953                    </td>
2954                    <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></td>
2955                </tr>
2956                <tr ng-if="StatusInfo.CouponShow">
2957                    <td colspan="2">
2958                            <span id="gift-card-coupon-msgs">
2959                                <!-- Messages -->
2960                                <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
2961                                <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
2962                                <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Applied</span>
2963                                <!-- Loading -->
2964                                <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
2965                            </span>
2966                        <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;">
2967                    </td>
2968                    <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: bottom;">
2969                        <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>
2970                    </td>
2971                </tr>
2972                <tbody ng-if="CartData.Coupons.length > 0" ng-repeat="coupon in CartData.Coupons">
2973                <tr>
2974                    <td colspan="2">
2975                        Discount
2976                        {{coupon.title}}
2977                        &nbsp;&nbsp;<a ng-click="removeCoupon(coupon.couponId)" href="">[remove]</a>
2978                    </td>
2979                    <td colspan="2" align="right">
2980                        <strong>-{{coupon.discount | currency:InitInfo.CurrencySymbol2}}</strong>
2981                    </td>
2982                </tr>
2983                </tbody>
2984                <tr ng-if="ShippingStatus.Valid && ShippingStatus.Required">
2985                    <td colspan="2">
2986                        Shipping {{ShippingInfo.Option.name}}<br>
2987                        <small>{{ShippingInfo.Option.delivery_time}}</small>
2988                    </td>
2989                    <td ng-if="!isTaxInclusive()" colspan="2" align="right">
2990                        <strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong>
2991                    </td>
2992                    <td ng-if="isTaxInclusive()" colspan="2" align="right">
2993                        <strong>{{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}</strong>
2994                    </td>
2995                </tr>
2996                <tr>
2997                    <td colspan="2">
2998                        Taxes
2999                    </td>
3000                    <td colspan="2" align="right" data-cy="web-checkout-summary-taxes">
3001                        <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span>
3002                        <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong>
3003                    </td>
3004                </tr>
3005                <tr ng-if="ShippingTaxes">
3006                    <td colspan="2">
3007                        Shipping Taxes
3008                    </td>
3009                    <td colspan="2" align="right">
3010                        <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong>
3011                    </td>
3012                </tr>
3013                <tbody ng-if="CartData.GiftCards.length > 0" ng-repeat="gc in CartData.GiftCards">
3014                <tr>
3015                    <td colspan="2">
3016                        Gift Card <a href="" ng-click="removeGiftCard(gc.id)">[remove]</a><br>
3017                        <small>{{gc.number}}</small>
3018                    </td>
3019                    <td colspan="2" align="right">
3020                        <strong>-{{gc.Amount | currency:InitInfo.CurrencySymbol2}}</strong>
3021                    </td>
3022                </tr>
3023                </tbody>
3024                <tr>
3025                    <td colspan="2">
3026                        Total
3027                    </td>
3028                    <td ng-if="!showAsGST()" colspan="2" align="right" class="h4" data-cy="web-checkout-summary-total">
3029                        <strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
3030                    </td>
3031                    <td ng-if="showAsGST()" style="text-align: right;min-width: 95px;">
3032                        <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
3033                        <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span>
3034                    </td>
3035                </tr>
3036            </table>
3037        </div>
3038
3039        <!-- Billing Edit -->
3040
3041        <div ng-form="billingForm" ng-class="{'panel panel-default' : ((showTerms() || isShippingEntered() || digitalOrder) && !isBNPLEnabled())}" ng-show="showBillingSection()">
3042            <div ng-if="isBNPLEnabled()">
3043                <div ng-show="showRainProcessing()" style="margin-bottom: 20px;">
3044                    <payment-methods
3045                        is-affirm-enabled="isBNPLEnabled('affirm')"
3046                        is-afterpay-enabled="isBNPLEnabled('afterpay')"
3047                        is-klarna-enabled="isBNPLEnabled('klarna')"
3048                        is-paypal-enabled="allowPayPalCheckout() && !isCardOnFileNeeded()"
3049                        is-pay-at-pick-up-enabled="showPaymentOptions()"
3050                        amount="getBNPLAmount()"
3051                        due="Due"
3052                        currency="getBNPLCurrency()"
3053                        currency-symbol="InitInfo.CurrencySymbol2"
3054                        country="getBNPLCountry()"
3055                        merchant-country="getBNPLMerchantCountry()"
3056                        model="stripeBNPLModel"
3057                        on-payment-method-changed="onPaymentMethodChanged"
3058                        on-ready="initRainProcessing"
3059                    ></payment-methods>
3060                </div>
3061
3062                <div ng-show="showRainProcessing() && showBillingSection() && !isPayAtPickup()" style="margin-bottom: 20px;">
3063                    <billing-address
3064                        show-billing-address="showBillingAddress()"
3065                        is-shipping-required="isShippingRequired()"
3066                    ></billing-address>
3067                </div>
3068
3069                <div ng-if="showTerms()">
3070                    <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" style='padding-left: 15px;'>
3071                        <input required id="TAndC" data-cy="web-checkout-terms-agree" name="TAndC" type="checkbox" ng-model="BillingInfo.TermsAgree">
3072                        I Agree to the Terms and Conditions (<a href="javascript:void(0);" ng-click="TermsShow()">click here to view</a>)
3073                        <br>
3074
3075                        <label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">
3076                            Please accept the Terms and Conditions before continuing.
3077                        </label>
3078                    </div>
3079                </div>
3080            </div>
3081
3082            <div ng-if="!isBNPLEnabled()" class="panel-body tab-options">
3083                <div ng-show="showBillingForm()" class="ng-hide">
3084                    <div ng-show="showPaymentOptions()">
3085                        <div>
3086                            <label>Payment Options</label>
3087                        </div>
3088
3089                        <!-- Nav tabs -->
3090                        <ul class="nav nav-pills nav-justified" role="tablist">
3091                            <li role="presentation" class="active">
3092                                <a href="#payNow" aria-controls="payNow" role="tab" data-toggle="pill" ng-click="payWithCardSelected()" id="payNowTab">
3093                                    <span class="fa fa-credit-card fa-fw"></span> Pay Now
3094                                </a>
3095                            </li>
3096                            <li role="presentation">
3097                                <a href="#payAtPickup" aria-controls="payAtPickup" role="tab" data-toggle="pill" ng-click="payAtPickupSelected()" id="payAtPickupTab">
3098                                    <span class="fa fa-truck fa-fw"></span> Pay at Pickup
3099                                </a>
3100                            </li>
3101                        </ul>
3102                    </div>
3103
3104                    <div class="tab-content" style="margin-top: 15px;" ng-show="showPaymentSection()">
3105                        <div role="tabpanel" class="tab-pane fade in active" id="payNow">
3106                            <div ng-show="!isPayPal() || digitalOrder">
3107                                <div class="row">
3108                                    <div class="col-xs-12">
3109                                        <label>Billing Address</label>
3110                                        <!-- Validation Messages -->
3111                                        <span ng-if="BillingStatus.MessagesShow && BillingStatus.NotValidMessages.length > 0" class="text-danger">
3112                                            <span ng-repeat="bm in BillingStatus.NotValidMessages">
3113                                                <br>{{bm}}
3114                                            </span>
3115                                        </span>
3116                                    </div>
3117                                </div>
3118
3119                                <div ng-if="isShippingRequired()" ng-hide="isPickup() || HideBillingSameAsShipping" class="row">
3120                                    <label class="col-xs-12">
3121                                        <input type="checkbox" data-cy="web-checkout-billing-same-as-shipping" ng-model="BillingInfo.AddressSameAsShipping" ng-click="BillingVerify()">
3122                                        <small>My billing address is the same as my shipping address</small>
3123                                    </label>
3124                                </div>
3125
3126                                <div ng-show="showBillingAddress()">
3127                                    <div class="row">
3128                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_first', billingForm)" class="col-sm-6">
3129                                            <input required
3130                                                   capitalize-first
3131                                                   id="billing_first" data-cy="web-checkout-billing-first-name"
3132                                                   name="billing_first"
3133                                                   type="text"
3134                                                   ng-model="BillingInfo.FirstName"
3135                                                   class="form-control"
3136                                                   placeholder="First Name"
3137                                                   ng-disabled="disableBillingFields()"
3138                                                   ng-focus="InitToolTip($event)"
3139                                                   data-toggle="tooltip"
3140                                                   title="First Name">
3141                                            <label ng-if="FormFieldError('billingForm', 'billing_first', billingForm)" class="control-label error-label">
3142                                                Please enter a first name
3143                                            </label>
3144                                        </div>
3145                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_last', billingForm)" class="col-sm-6">
3146                                            <input required
3147                                                   capitalize-first
3148                                                   id="billing_last" data-cy="web-checkout-billing-last-name"
3149                                                   name="billing_last"
3150                                                   type="text"
3151                                                   ng-model="BillingInfo.LastName"
3152                                                   class="form-control"
3153                                                   placeholder="Last Name"
3154                                                   ng-disabled="disableBillingFields()"
3155                                                   ng-focus="InitToolTip($event)"
3156                                                   data-toggle="tooltip"
3157                                                   title="Last Name">
3158                                            <label ng-if="FormFieldError('billingForm', 'billing_last', billingForm)" class="control-label error-label">
3159                                                Please enter a last name
3160                                            </label>
3161                                        </div>
3162                                    </div>
3163                                    <div class="row">
3164                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_address1', billingForm)" class="col-sm-6">
3165                                            <input required
3166                                                   capitalize-first
3167                                                   id="billing_address1" data-cy="web-checkout-billing-address1"
3168                                                   name="billing_address1"
3169                                                   type="text"
3170                                                   ng-model="BillingInfo.Address1"
3171                                                   class="form-control"
3172                                                   placeholder="Address Line 1"
3173                                                   ng-disabled="disableBillingFields()"
3174                                                   ng-focus="InitToolTip($event)"
3175                                                   data-toggle="tooltip"
3176                                                   title="Address Line 1">
3177                                            <label ng-if="FormFieldError('billingForm', 'billing_address1', billingForm)" class="control-label error-label">
3178                                                Please enter a street address
3179                                            </label>
3180                                        </div>
3181                                        <div class="col-sm-6">
3182                                            <input capitalize-first
3183                                                   id="billing_address2" data-cy="web-checkout-billing-address2"
3184                                                   name="billing_address2"
3185                                                   type="text"
3186                                                   ng-model="BillingInfo.Address2"
3187                                                   class="form-control"
3188                                                   placeholder="Address Line 2"
3189                                                   ng-disabled="disableBillingFields()"
3190                                                   ng-focus="InitToolTip($event)"
3191                                                   data-toggle="tooltip"
3192                                                   title="Address Line 2">
3193                                        </div>
3194                                    </div>
3195                                    <div class="row">
3196                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_city', billingForm)" class="col-sm-6">
3197                                            <input required
3198                                                   capitalize-first
3199                                                   id="billing_city" data-cy="web-checkout-billing-city"
3200                                                   name="billing_city"
3201                                                   type="text"
3202                                                   ng-model="BillingInfo.City"
3203                                                   class="form-control"
3204                                                   placeholder="City"
3205                                                   ng-disabled="disableBillingFields()"
3206                                                   ng-focus="InitToolTip($event)"
3207                                                   data-toggle="tooltip"
3208                                                   title="City">
3209                                            <label ng-if="FormFieldError('billingForm', 'billing_city', billingForm)" class="control-label error-label">
3210                                                Please enter a city
3211                                            </label>
3212                                        </div>
3213                                        <div ng-if="InitInfo.Regions[BillingInfo.CountryKey] && BillingInfo.RegionsCount > 0" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6">
3214                                            <select required
3215                                                    id="billing_state" data-cy="web-checkout-billing-state"
3216                                                    name="billing_state"
3217                                                    ng-change="BillingOptionsGet()"
3218                                                    ng-model="BillingInfo.State"
3219                                                    ng-disabled="disableBillingFields()"
3220                                                    class="form-control">
3221                                                <option value="">Select {{BillingInfo.StateOrProvince}}</option>
3222                                                <option ng-repeat="(key, value) in InitInfo.Regions[BillingInfo.CountryKey]" value="{{key}}">{{value}}</option>
3223                                            </select>
3224                                            <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label">
3225                                                Please select a {{BillingInfo.StateOrProvince}}
3226                                            </label>
3227                                        </div>
3228                                        <div ng-if="!InitInfo.Regions[BillingInfo.CountryKey]" ng-class="FormFieldErrorClass('billingForm', 'billing_state', billingForm)" class="col-sm-6">
3229                                            <input required
3230                                                   capitalize-first
3231                                                   id="billing_state" data-cy="web-checkout-billing-state"
3232                                                   name="billing_state"
3233                                                   type="text"
3234                                                   ng-change="BillingOptionsGet()"
3235                                                   ng-model="BillingInfo.State"
3236                                                   class="form-control"
3237                                                   placeholder="State/Province"
3238                                                   ng-disabled="disableBillingFields()"
3239                                                   ng-focus="InitToolTip($event)"
3240                                                   data-toggle="tooltip"
3241                                                   title="State/Province">
3242                                            <label ng-if="FormFieldError('billingForm', 'billing_state', billingForm)" class="control-label error-label">
3243                                                Please enter the State/Province
3244                                            </label>
3245                                        </div>
3246                                    </div>
3247                                    <div class="row">
3248                                        <div ng-if="InitInfo.InternationalEnabled" ng-class="FormFieldErrorClass('billingForm', 'billing_country', billingForm)" class="col-sm-6">
3249                                            <select required
3250                                                    id="billing_country" data-cy="web-checkout-billing-country"
3251                                                    name="billing_country"
3252                                                    ng-change="changeBilling
3252Country()"
3253                                                    ng-model="BillingInfo.CountryKey"
3254                                                    ng-disabled="disableBillingFields()"
3255                                                    class="form-control"
3256                                            >
3257                                                <option value="">Select Country</option>
3258                                                <option ng-repeat="(key, value) in InitInfo.Countries" value="{{key}}">{{value}}</option>
3259                                            </select>
3260                                            <label ng-if="FormFieldError('billingForm', 'billing_country', billingForm)" class="control-label error-label">
3261                                                Please select a country
3262                                            </label>
3263                                        </div>
3264                                        <div ng-class="FormFieldErrorClass('billingForm', 'billing_zip', billingForm)" class="col-sm-6">
3265                                            <input required
3266                                                   id="billing_zip" data-cy="web-checkout-billing-zip"
3267                                                   name="billing_zip"
3268                                                   type="text"
3269                                                   ng-change="BillingOptionsGet()"
3270                                                   ng-model="BillingInfo.Zip"
3271                                                   class="form-control"
3272                                                   style="max-width: 125px;"
3273                                                   placeholder="{{BillingInfo.ZipOrPostal}}"
3274                                                   ng-disabled="disableBillingFields()"
3275                                                   ng-focus="InitToolTip($event)"
3276                                                   data-toggle="tooltip"
3277                                                   title="{{BillingInfo.ZipOrPostal}}">
3278                                            <label ng-if="FormFieldError('billingForm', 'billing_zip', billingForm)" class="control-label error-label">
3279                                                Please enter a {{BillingInfo.ZipOrPostal}}
3280                                            </label>
3281                                        </div>
3282                                    </div>
3283                                </div>
3284
3285                                <div ng-if="showEnrollAutoPay()" class="row">
3286                                    <label class="col-xs-12">Enroll in autopay and never miss a payment!</label>
3287                                    <label class="col-xs-12">
3288                                        <input type="checkbox" ng-model="BillingInfo.enrollAutoPay" ng-disabled="isSubscriptionPayment()">
3289                                        <small>Add card on file and enroll in autopay</small>
3290                                    </label>
3291                                </div>
3292
3293                                <div ng-if="showCCPayment()">
3294                                    <div class="row">
3295                                        <div class="col-xs-12">
3296                                            <label>Secure Payment</label>
3297                                            <!-- Validation Messages -->
3298                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3299                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3300                                            </span>
3301                                        </div>
3302                                    </div>
3303
3304                                    <div class="row">
3305                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_number', billingForm)" class="col-sm-6 col-md-7">
3306                                            <input required
3307                                                   id="cc_number"
3308                                                   name="cc_number"
3309                                                   type="text"
3310                                                   ng-model="CardInfo.CC"
3311                                                   ng-blur="CCBlur('CC')"
3312                                                   class="form-control"
3313                                                   placeholder="Credit Card Number"
3314                                                   ng-focus="InitToolTip($event)"
3315                                                   data-toggle="tooltip"
3316                                                   title="Credit Card Number">
3317                                            <label ng-if="FormFieldError('billingForm', 'cc_number', billingForm)" class="control-label error-label">
3318                                                {{CardStatus.Message}}
3319                                            </label>
3320                                        </div>
3321                                        <div class="col-sm-6 col-md-5 hidden-xs">
3322                                            <label class="control-label" style="padding-top: 0px;">
3323                                                <i ng-if="InitInfo.CheckoutSettings.VisaAccepted" class="fa fa-cc-visa fa-2x" ng-class="Class.visa"></i>
3324                                                <i ng-if="InitInfo.CheckoutSettings.MCAccepted" class="fa fa-cc-mastercard fa-2x" ng-class="Class.mastercard"></i>
3325                                                <i ng-if="InitInfo.CheckoutSettings.AmexAccepted" class="fa fa-cc-amex fa-2x" ng-class="Class.amex"></i>
3326                                                <i ng-if="InitInfo.CheckoutSettings.DiscAccepted" class="fa fa-cc-discover fa-2x" ng-class="Class.discover"></i>
3327                                            </label>
3328                                        </div>
3329                                    </div>
3330
3331                                    <div class="row row-grid">
3332                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_month', billingForm)" class="col-xs-6 col-sm-4">
3333                                            <select required
3334                                                    id="cc_exp_month"
3335                                                    name="cc_exp_month"
3336                                                    ng-model="CardInfo.ExpMonth"
3337                                                    ng-blur="ExpBlur('Expiration')"
3338                                                    class="form-control">
3339                                                <option value="">Exp Month</option>
3340                                                <option ng-repeat="month in ExpMonths" value="{{month}}">{{month}}</option>
3341                                            </select>
3342                                            <label ng-if="FormFieldError('billingForm', 'cc_exp_month', billingForm)" class="control-label error-label">
3343                                                Select expiration month
3344                                            </label>
3345                                        </div>
3346                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_exp_year', billingForm)" class="col-xs-6 col-sm-4">
3347                                            <select required
3348                                                    id="cc_exp_year"
3349                                                    name="cc_exp_year"
3350                                                    ng-model="CardInfo.ExpYear"
3351                                                    ng-blur="ExpBlur('Expiration')"
3352                                                    class="form-control">
3353                                                <option value="">Exp Year</option>
3354                                                <option ng-repeat="year in ExpYears" value="{{year}}">{{year}}</option>
3355                                            </select>
3356                                            <label ng-if="FormFieldError('billingForm', 'cc_exp_year', billingForm)" class="control-label error-label">
3357                                                Select expiration year
3358                                            </label>
3359                                        </div>
3360                                        <div ng-class="FormFieldErrorClass('billingForm', 'cc_cvv', billingForm)" class="col-xs-6 col-sm-4">
3361                                            <input required
3362                                                   id="cc_cvv"
3363                                                   name="cc_cvv"
3364                                                   type="text"
3365                                                   ng-model="CardInfo.CVV"
3366                                                   class="form-control"
3367                                                   placeholder="CVV"
3368                                                   ng-focus="InitToolTip($event)"
3369                                                   data-toggle="tooltip"
3370                                                   title="CVV">
3371                                            <label ng-if="FormFieldError('billingForm', 'cc_cvv', billingForm)" class="control-label error-label">
3372                                                Please enter the CVV
3373                                            </label>
3374                                        </div>
3375                                    </div>
3376                                </div>
3377
3378                                <div ng-show="showRainProcessing()" style="padding-top: 15px; padding-bottom: 15px;">
3379                                    <div class="row">
3380                                        <div class="col-xs-12">
3381                                            <label>Secure Payment</label>
3382                                            <!-- Validation Messages -->
3383                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3384                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3385                                            </span>
3386                                        </div>
3387                                    </div>
3388                                    <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'">
3389                                        <div class="col-xs-12">
3390                                            <div class="form-group nickname-group">
3391                                                <label for="cc-nickname" class="nickname-label">
3392                                                    <span>Card Nickname</span>
3393                                                    <span class="nickname-optional">(Optional)</span>
3394                                                </label>
3395                                                <input
3396                                                    ng-model="CardInfo.nickname"
3397                                                    id="cc-nickname"
3398                                                    type="text"
3399                                                    class="form-control nickname-input"
3400                                                    placeholder="Enter a card name"
3401                                                    maxlength="60"
3402                                                />
3403                                            </div>
3404                                        </div>
3405                                    </div>
3406                                    <div class="row">
3407                                        <div class="col-12 col-sm-6">
3408                                            <div class="form-group">
3409                                                <label for="card-number">Card Number</label>
3410                                                <div class="payment-wrapper">
3411                                                    <div id="card-number" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3412                                                    <div
3413                                                        ng-if="formData.selectedCustomerCardId"
3414                                                        class="payment-overlay"
3415                                                        ng-click="clearSavedCardSelection()"
3416                                                    ></div>
3417                                                </div>
3418                                            </div>
3419                                        </div>
3420                                        <div class="col-6 col-sm-3">
3421                                            <div class="form-group">
3422                                                <label for="card-exp">Expires</label>
3423                                                <div class="payment-wrapper">
3424                                                    <div id="card-exp" class="form-control  stripe-input" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3425                                                    <div
3426                                                        ng-if="formData.selectedCustomerCardId"
3427                                                        class="payment-overlay"
3428                                                        ng-click="clearSavedCardSelection()"
3429                                                    ></div>
3430                                                </div>
3431                                            </div>
3432                                        </div>
3433                                        <div class="col-6 col-sm-3">
3434                                            <div class="form-group">
3435                                                <label for="card-cvv">Security Code</label>
3436                                                <div class="payment-wrapper">
3437                                                    <div id="card-cvv" class="form-control" style="padding-top: 7px;"><!-- A Stripe Element will be inserted here. --></div>
3438                                                    <div
3439                                                        ng-if="formData.selectedCustomerCardId"
3440                                                        class="payment-overlay"
3441                                                        ng-click="clearSavedCardSelection()"
3442                                                    ></div>
3443                                                </div>
3444                                            </div>
3445                                        </div>
3446                                    </div>
3447                                    <div class="row" ng-if="isSavedCardsAllowed()">
3448                                        <div class="col-xs-12 divider-row">
3449                                            <div class="divider-line"></div>
3450                                            <span class="divider-text">or</span>
3451                                            <div class="divider-line"></div>
3452                                        </div>
3453                                    </div>
3454                                    <div class="row" ng-if="isSavedCardsAllowed()">
3455                                        <div class="col-xs-12">
3456                                            <div class="saved-cards-container">
3457                                                <div class="saved-cards-header">
3458                                                    <div class="saved-cards-col-name">Saved Cards</div>
3459                                                    <div class="saved-cards-col-exp">Expires On</div>
3460                                                </div>
3461
3462                                                <div ng-repeat="c in customerCards"
3463                                                     class="saved-card-row"
3464                                                     ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}"
3465                                                >
3466                                                    <label class="saved-card-label">
3467                                                        <input type="radio"
3468                                                               name="saved-card-rain"
3469                                                               ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card"
3470                                                               ng-value="c.pos_customer_card_id"
3471                                                               ng-change="onSelectSavedCard(c)">
3472                                                        <div class="saved-card-info">
3473                                                            <div class="saved-card-title">
3474                                                                {{ c.nickname || c.card_type }}
3475                                                                <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span>
3476                                                                <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span>
3477                                                            </div>
3478                                                        </div>
3479                                                    </label>
3480
3481                                                    <div class="saved-card-expdate">
3482                                                        {{ getFormattedExpirationDate(c.expiration_mmyy) }}
3483                                                    </div>
3484                                                </div>
3485                                            </div>
3486                                        </div>
3487                                    </div>
3488                                </div>
3489
3490                                <div ng-show="showQuiltProcessing()" id="adyen-container" data-cy="web-checkout-adyen-container" style="padding-top: 15px; padding-bottom: 15px;">
3491                                    <div class="row">
3492                                        <div class="col-xs-12">
3493                                            <label>Secure Payment</label>
3494                                            <!-- Validation Messages -->
3495                                            <span ng-if="CardStatus.MessagesShow && CardStatus.NotValidMessages.length > 0" class="text-danger">
3496                                                <span ng-repeat="cm in CardStatus.NotValidMessages"><br>{{cm}}</span>
3497                                            </span>
3498                                        </div>
3499                                    </div>
3500                                    <div class="row" ng-if="isSavedCardsFlagEnabled() && paymentType === 'AddCard'">
3501                                        <div class="col-xs-12">
3502                                            <div class="form-group nickname-group">
3503                                                <label for="cc-nickname" class="nickname-label">
3504                                                    <span>Card Nickname</span>
3505                                                    <span class="nickname-optional">(Optional)</span>
3506                                                </label>
3507                                                <input
3508                                                    ng-model="CardInfo.nickname"
3509                                                    id="cc-nickname"
3510                                                    type="text"
3511                                                    class="form-control nickname-input"
3512                                                    placeholder="Enter a card name"
3513                                                    maxlength="60"
3514                                                />
3515                                            </div>
3516                                        </div>
3517                                    </div>
3518                                    <div class="row">
3519                                        <div class="col-12 col-sm-6">
3520                                            <div class="form-group">
3521                                                <label for="card-number">Card Number</label>
3522                                                <div class="payment-wrapper">
3523                                                    <div id="cc-number" data-cse="encryptedCardNumber" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3524                                                    <div
3525                                                        ng-if="formData.selectedCustomerCardId"
3526                                                        class="payment-overlay"
3527                                                        ng-click="clearSavedCardSelection()"
3528                                                    ></div>
3529                                                </div>
3530                                            </div>
3531                                        </div>
3532                                        <div class="col-6 col-sm-3">
3533                                            <div class="form-group">
3534                                                <label for="card-exp">Expires</label>
3535                                                <div class="payment-wrapper">
3536                                                    <div id="cc-exp" data-cse="encryptedExpiryDate" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3537                                                    <div
3538                                                        ng-if="formData.selectedCustomerCardId"
3539                                                        class="payment-overlay"
3540                                                        ng-click="clearSavedCardSelection()"
3541                                                    ></div>
3542                                                </div>
3543                                            </div>
3544                                        </div>
3545                                        <div class="col-6 col-sm-3">
3546                                            <div class="form-group">
3547                                                <label for="card-cvv">CVC</label>
3548                                                <div class="payment-wrapper">
3549                                                    <div id="cc-cvv" data-cse="encryptedSecurityCode" class="form-control" style="padding-top: 7px;"><!-- A Adyen Element will be inserted here. --></div>
3550                                                    <div
3551                                                        ng-if="formData.selectedCustomerCardId"
3552                                                        class="payment-overlay"
3553                                                        ng-click="clearSavedCardSelection()"
3554                                                    ></div>
3555                                                </div>
3556                                            </div>
3557                                        </div>
3558                                    </div>
3559
3560                                    <div class="row" ng-if="isSavedCardsAllowed()">
3561                                        <div class="col-xs-12 divider-row">
3562                                            <div class="divider-line"></div>
3563                                            <span class="divider-text">or</span>
3564                                            <div class="divider-line"></div>
3565                                        </div>
3566                                    </div>
3567                                    <div class="row" ng-if="isSavedCardsAllowed()">
3568                                        <div class="col-xs-12">
3569                                            <div class="saved-cards-container">
3570                                                <div class="saved-cards-header">
3571                                                    <div class="saved-cards-col-name">Saved Cards</div>
3572                                                    <div class="saved-cards-col-exp">Expires On</div>
3573                                                </div>
3574
3575                                                <div ng-repeat="c in customerCards"
3576                                                     class="saved-card-row"
3577                                                     ng-class="{'saved-card-selected': formData.selectedCustomerCardId === c.pos_customer_card_id}"
3578                                                >
3579                                                    <label class="saved-card-label">
3580                                                        <input type="radio"
3581                                                               name="saved-card-adyen"
3582                                                               ng-model="formData.selectedCustomerCardId" data-cy="web-checkout-saved-card"
3583                                                               ng-value="c.pos_customer_card_id"
3584                                                               ng-change="onSelectSavedCard(c)">
3585                                                        <div class="saved-card-info">
3586                                                            <div class="saved-card-title">
3587                                                                {{ c.nickname || c.card_type }}
3588                                                                <span class="saved-card-last4"> - (…{{c.last_4_digits}})</span>
3589                                                                <span class="saved-card-exp" ng-if="c.exp_month">{{getFormattedExp(c)}}</span>
3590                                                            </div>
3591                                                        </div>
3592                                                    </label>
3593
3594                                                    <div class="saved-card-expdate">
3595                                                        {{ getFormattedExpirationDate(c.expiration_mmyy) }}
3596                                                    </div>
3597                                                </div>
3598                                            </div>
3599                                        </div>
3600                                    </div>
3601                                                                    </div>
3602                            </div>
3603
3604                            <div ng-if="isPayPal() && !digitalOrder" style="text-align: center; margin-top: 15px;">
3605                                <br>
3606                            </div>
3607                        </div>
3608
3609                        <div role="tabpanel" class="tab-pane fade in active" id="payAtPickup" ng-if="isPayAtPickup()">
3610                            <div style="text-align: center; margin-top: 15px;">
3611                                <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>
3612                            </div>
3613                        </div>
3614                    </div>
3615                </div>
3616
3617                <!-- Terms and Conditions -->
3618                <div ng-if="showTerms()" class="row">
3619                    <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)" class="col-xs-12">
3620                        <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>)
3621                        <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label>
3622                    </div>
3623                </div>
3624            </div>
3625        </div>
3626
3627        <div ng-if="areTermsEnabled() && !showBillingSection()" class="panel-body tab-options terms-fallback-panel">
3628            <div ng-class="FormFieldErrorClass('billingForm', 'TAndC', billingForm)">
3629                <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>)
3630                <br><label ng-if="FormFieldError('billingForm', 'TAndC', billingForm)" class="control-label">Please accept the Terms and Conditions before continuing.</label>
3631            </div>
3632        </div>
3633
3634        <div ng-if="showTerms()" id="TermModal" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
3635            <div class="modal-dialog" style="width: 100%; max-width: 850px;">
3636                <div class="modal-content">
3637                    <div class="modal-header">
3638                        <div class="close" data-dismiss="modal" aria-hidden="true"><i class="fa fa-times"></i></div>
3639                        <h4 class="modal-title">Terms and Conditions</h4>
3640                    </div>
3641                    <div class="modal-body">
3642                        <span ng-if="StatusInfo.TermsProcessing"><i class="fa fa-spinner fa-pulse"></i></span>
3643                        <div id="TermsAndC"></div>
3644                    </div>
3645                </div>
3646            </div>
3647        </div>
3648
3649        <!-- Billing Summary -->
3650
3651        <div ng-show="showBillingSummary()" class="panel panel-default ng-hide">
3652            <div class="panel-body" style="background-color: #ececed;">
3653                <div class="row">
3654                    <div class="col-xs-6">
3655                        <div ng-if="!isPayPal()">
3656                            <strong>Billing Address</strong>&nbsp;&nbsp;
3657                            <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3658                            <br>
3659                            <span ng-if="!isPayAtPickup()">
3660                                <span ng-if="BillingInfo.FirstName || BillingInfo.LastName">{{BillingInfo.FirstName}} {{BillingInfo.LastName}}<br></span>
3661                                <span ng-if="BillingInfo.Address1">{{BillingInfo.Address1}}<br></span>
3662                                <span ng-if="BillingInfo.Address2">{{BillingInfo.Address2}}<br></span>
3663                                <span ng-if="BillingInfo.City || BillingInfo.State || BillingInfo.Zip">{{BillingInfo.City}}, {{BillingInfo.State}} {{BillingInfo.Zip}}</span>
3664                                <span ng-if="BillingInfo.Country != Region"><br>{{BillingInfo.Country}}</span>
3665                            </span>
3666                        </div>
3667                        <span ng-if="isPayAtPickup()">
3668                            Pay at Pickup<br>
3669                            Your balance of {{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}} can be paid at the store when you pickup your item(s).
3670                        </span>
3671                        <div ng-if="isPayPal()">
3672                            <strong>Payment Information</strong>&nbsp;&nbsp;
3673                            <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3674                        </div>
3675                    </div>
3676                    <div class="col-xs-6" ng-if="showPaymentSummary()">
3677                        <strong>Payment Information</strong>&nbsp;&nbsp;
3678                        <a href="" ng-click="BillingEdit()"><small>Change</small></a>
3679                        <br>
3680                        <small>
3681                            <span ng-if="CardInfo.CCMasked">{{CardInfo.CCMasked}}<br></span>
3682                            <span ng-if="CardInfo.ExpMonth || CardInfo.ExpYear">{{CardInfo.ExpMonth}}/{{CardInfo.ExpYear}}<br></span>
3683                            <span ng-if="CardInfo.CVV">{{CardInfo.CVV}}</span>
3684                        </small>
3685                    </div>
3686                </div>
3687            </div>
3688        </div>
3689
3690        <!-- Buttons -->
3691
3692        <div class="row row-grid">
3693                <div ng-show="showCaptcha === true" class="col-xs-12 col-md-6">
3694                    <div class="g-recaptcha2" data-sitekey="6LcM-AItAAAAAKBp9tFsqjcPCF0DhG4ZlRbyay8v" data-callback="correctCaptcha"></div>
3695                </div>
3696            <div class="col-xs-12" ng-class="{'col-md-6': showCaptcha}">
3697                <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">
3698                    <span>Place Your Order &nbsp; <i class="button-icon-right fa fa-caret-right"></i></span>
3699                </button>
3700                <div ng-if="CartStatus.Valid && isPayPal() && !isFree() && !isProcessing() && !checkFlagForSubscriptionOnly()">
3701                    <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;" />
3702                    <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;" />
3703                    <button ng-if="!skipBilling() && !isBillingDone()" ng-click="checkCaptcha()" type="button" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button">
3704                        Continue
3705                    </button>
3706                </div>
3707                <button type="button" ng-if="showBillingInitiallyNeededButton()" ng-click="checkCaptcha()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-continue-button">
3708                    Continue
3709                </button>
3710                <button type="button" ng-if="showCheckoutButton()" ng-click="CheckoutProcess()" class="btn btn-lg btn-success checkout-btn" data-cy="web-checkout-place-order-button">
3711                    <span ng-if="isVantivHosted() && !isWholesaleNoCCEnabled()">Proceed to Checkout</span>
3712                    <span ng-if="!isVantivHosted() && !isWholesaleNoCCEnabled()">Place Your Order</span>
3713                    <span ng-if="isWholesaleNoCCEnabled()">Place Wholesale Order</span>
3714                </button>
3715                <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">
3716                    Continue
3717                </button>
3718                <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">
3719                    Enter Shipping Information
3720                </button>
3721                <div ng-if="showCreditCardOption()" style="margin-top: 10px;">
3722                    <a ng-if="isCardProcessorVantiv()" ng-click="setProcessor('VantivHosted');" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a>
3723                    <a ng-if="isCardProcessorNMI()" ng-click="GoToCheckoutUrl();" class="small-link" href="" style="font-weight: normal !important;">or checkout with credit card</a>
3724                </div>
3725                <div ng-if="showPayPalOption()" style="margin-top: 10px;">
3726                    <a ng-click="setProcessor('paypal');" class="small-link" href="" style="font-weight: normal !important;">or checkout with PayPal</a>
3727                </div>
3728                <span ng-show="isProcessing()" data-cy="web-checkout-processing"><i class="fa fa-spinner fa-pulse fa-2x"></i></span>
3729            </div>
3730        </div>
3731
3732        <div ng-if="StatusInfo.ErrorMessageBottom" class="alert alert-danger" data-cy="web-checkout-error-bottom">
3733            <button type="button" class="close" ng-click="ErrorMessageBottomClose()" data-cy="web-checkout-error-bottom-close">&times;</button>
3734            {{StatusInfo.ErrorMessageBottom}}
3735        </div>
3736
3737    </div>
3738
3739    <!-- Summary area -->
3740
3741    <div class="col-sm-5 hidden-xs">
3742        <div class="panel panel-default">
3743            <div ng-if="StatusInfo.Initializing" class="panel-body">
3744                <i class="fa fa-spinner fa-pulse fa-2x"></i>
3745            </div>
3746            <table ng-if="!StatusInfo.Initializing" class="table">
3747    
3748
3749<thead>
3750<tr>
3751    <td><strong>Description</strong></td>
3752    <td><strong>Quantity</strong></td>
3753    <td colspan="2"><strong>Amount</strong></td>
3754</tr>
3755</thead>
3756<tbody ng-repeat="item in CartData.Items">
3757<tr>
3758    <td colspan="4" style="border-bottom: 0; padding-bottom: 0;">
3759        <span ng-if="item.condition">
3760                {{item.title}} ({{item.condition.title}})
3761        </span>
3762
3763        <span ng-if="!item.condition">
3764                            {{item.title}}
3765                        <span ng-if="item.type === 'class' && item.class_date"> - {{item.class_date}}</span>
3766        </span>
3767
3768        <span ng-if="item.discount_eligible === 'false' && item.is_consignment && StatusInfo.IsCouponEntered" class="text-danger display-block">
3769            This item is not eligible for discounts
3770        </span>
3771        <span ng-if="!item.quantity_updating && item.type == 'rental'">
3772            - {{item.id}}
3773        </span>
3774        <span ng-if="item.package_items" ng-repeat="pitem in item.package_items">
3775            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - {{pitem.title}}
3776        </span>
3777        <span ng-if="item.class_attendees.length">
3778            <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Attendees:
3779            <span ng-repeat="name in item.class_attendees">
3780                &nbsp;{{name}}
3781            </span>
3782        </span>
3783    </td>
3784</tr>
3785<tr>
3786    <td style="border-top: 0;">
3787        <img ng-if="item.image" ng-src="{{item.image}}" style="height: 50px; padding-right: 8px;">
3788
3789            </td>
3790    <td style="vertical-align: middle; border-top: 0;">
3791        <div ng-if="showQuantityAsSelector(item)" class="form-inline">
3792                            <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)">
3793                </select>
3794            
3795            <span ng-if="item.qty_type == 'fraction'">
3796                <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)">
3797                </select>
3798                <span ng-if="item.measure_unit == 'Meter'">Metres</span>
3799                <span ng-if="item.measure_unit != 'Meter'">{{item.measure_unit}}s</span>
3800            </span>
3801        </div>
3802        <div ng-if="showQuantityAsNumber(item)">
3803            {{item.qty_integer}}
3804        </div>
3805        <i ng-if="item.quantity_updating" class="fa fa-spinner fa-pulse"></i>
3806    </td>
3807
3808            <td ng-if="!showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemPrice(item) | currency:InitInfo.CurrencySymbol2}}</td>
3809    
3810    <td style="vertical-align: middle; border-top: 0;">
3811        <div class="cartCell cartDelete">
3812                            <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>
3813                        <i ng-if="item.removing" class="fa fa-spinner fa-pulse"></i>
3814        </div>
3815    </td>
3816    <td ng-if="showAsGST()" style="vertical-align: middle; border-top: 0;">{{getItemGstTotal(item) | currency:InitInfo.CurrencySymbol2}}</td>
3817</tr>
3818<tr ng-if="item.type === 'subscription'">
3819    <td colspan="4" style="border-bottom: 0;padding: 8px;border-top: 0;">
3820        <a ng-click="showSubscriptionDetails = !showSubscriptionDetails" class="subscription-details-btn" href="javascript:void(0);">
3821            <i class="fa" ng-class="{'fa-caret-down': showSubscriptionDetails, 'fa-caret-right': !showSubscriptionDetails}"></i>
3822            View Subscription Details
3823        </a>
3824        <div ng-show="showSubscriptionDetails">
3825            <table class="subscription-details">
3826                <tr>
3827                    <td>{{item.subscriptionData.labels.adverb}} Price:</td>
3828                    <td>{{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}</td>
3829                </tr>
3830                <tr>
3831                    <td>Subscription Length:</td>
3832                    <td>{{item.subscriptionData.subscription_length}} {{item.subscriptionData.labels.plural}}</td>
3833                </tr>
3834                <tr>
3835                    <td>Start/End Date:</td>
3836                    <td>{{item.subscriptionData.start_date}} - {{item.subscriptionData.end_date}}</td>
3837                </tr>
3838                <tr>
3839                    <td>Registration Fee <span class="small-subtitle">(One Time)</span>:</td>
3840                    <td>{{item.subscriptionData.registration_fee | currency:InitInfo.CurrencySymbol2}}</td>
3841                </tr>
3842                <tr>
3843                    <td>Previous {{item.subscriptionData.labels.plural}}:</td>
3844                    <td>
3845                                                 <span ng-if="item.subscriptionData.previous_items_cnt > 0">
3846                                                    {{item.subscriptionData.previous_items_cnt}} x {{item.subscriptionData.price_per_kit | currency:InitInfo.CurrencySymbol2}}
3847                                                </span>
3848                        <span ng-if="item.subscriptionData.previous_items_cnt == 0">Not Included</span>
3849                    </td>
3850                </tr>
3851                <tr>
3852                    <td>Delivery Method:</td>
3853                    <td ng-switch="item.subscriptionData.delivery_type">
3854                                            <span ng-switch-when="ship">
3855                                                Shipped - {{item.subscriptionData.shipping_fee | currency:InitInfo.CurrencySymbol2}}
3856                                            </span>
3857                        <span ng-switch-default>In-Store Pickup</span>
3858                    </td>
3859                </tr>
3860                <tr ng-if="item.subscriptionData.delivery_type === 'ship'">
3861                    <td>Address:</td>
3862                    <td>{{item.subscriptionData.address}}</td>
3863                </tr>
3864                <tr>
3865                    <td><strong>Total {{item.subscriptionData.labels.adverb}}:</strong></td>
3866                    <td>
3867                        <strong>{{item.subscriptionData.total_per_kit | currency:InitInfo.CurrencySymbol2}}</strong>
3868                    </td>
3869                </tr>
3870                <tr>
3871                    <td><strong>Due Today:</strong></td>
3872                    <td>
3873                        <strong>{{item.subscriptionData.due_today | currency:InitInfo.CurrencySymbol2}}</strong>
3874                    </td>
3875                </tr>
3876            </table>
3877        </div>
3878    </td>
3879</tr>
3880</tbody>
3881                <tr ng-show="isProductInCart()">
3882                    <td colspan="4" width="100%">
3883                                                                                            </td>
3884                </tr>
3885                <tr>
3886                    <td colspan="2">
3887                        Subtotal
3888                        <br>
3889                    </td>
3890                    <td colspan="2" align="right" class="h4" data-cy="web-checkout-summary-subtotal"><strong>
3891                            <span ng-if="!showAsGST()">{{SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
3892                        <span ng-if="showAsGST()">{{GST_SubTotal | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
3893                    </td>
3894                </tr>
3895                <tr ng-if="CustomerDiscounts > 0">
3896                    <td colspan="2">
3897                        Discount
3898                        <br>
3899                    </td>
3900                    <td colspan="2" align="right" class="h4"><strong>
3901                        <span>{{CustomerDiscounts | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
3902                    </td>
3903                </tr>
3904                    <tr>
3905                        <td colspan="3">
3906                            <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;">
3907                            <span id="gift-card-coupon-msgs" class="messages-coupon-gc">
3908                                            <!-- Messages -->
3909                                            <span id="gift-card-coupon-error-msg" ng-cloak ng-show="shouldShowGiftCardCouponErrorMsg()"><i class="fa fa-ban"></i>&nbsp;{{giftCardCouponMsg}}</span>
3910                                            <span id="gift-card-applied-msg" ng-cloak ng-show="shouldShowGiftCardAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Gift Card Applied</span>
3911                                            <span id="coupon-applied-msg" ng-cloak ng-show="shouldShowCouponAppliedMsg()" ><i class="fa fa-check"></i>&nbsp;Coupon Added</span>
3912                                            <span ng-cloak ng-show="giftCardOrCouponDataState == DATA_STATE_LOADING" class="gc-coupon-data-loading"><i class="fa fa-spinner fa-spin"></i></span>
3913                                        </span>
3914                        </td>
3915                        <td id="gift-card-coupon-code-apply-cell" colspan="2" style="vertical-align: top;">
3916                            <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>
3917                        </td>
3918                    </tr>
3919
3920                    <tbody ng-if="CartData.Coupons.length > 0">
3921                        <tr>
3922                            <td colspan="4">
3923                                <div>
3924                                    <div ng-show="CartData.Coupons.length > 0" class="row-divider-checkout">
3925                                        <div class="divider-checkout-block-title">
3926                                            Coupons
3927                                        </div>
3928                                        <div ng-if="showOnlyHighestDiscountWarning() || showDontApplyOnSaleItemsWarning()" class="alert-warning warning-box">
3929                                        <span ng-if="showOnlyHighestDiscountWarning()">
3930                                            Only a single coupon with the highest savings will be applied.
3931                                        </span>
3932                                            <span ng-if="showDontApplyOnSaleItemsWarning()">
3933                                            Coupons do not apply to On Sale Items
3934                                        </span>
3935                                        </div>
3936                                        <div ng-repeat="c in CartData.Coupons | orderBy: (isApplyHighestSavingCouponsMode() ? ['notApplied', 'notEligible'] : [])" class="item-box" ng-class="{'not-applied-coupon' : !isCouponAvailable(c)}">
3937                                            <div class="discount-item">
3938                                                <div class="discount-item-title">
3939                                                    <a href="" ng-click="openCouponDetail
3939sModal(c)"><span class="gift-card-coupon-identifier">{{c.title}}</span></a>
3940                                                </div>
3941                                                <div class="discount-amount">
3942                                                    <span ng-if="isCouponAvailable(c)">-{{c.discount | currency:InitInfo.CurrencySymbol2}} &nbsp;</span>
3943                                                    <span ng-if="!isCouponAvailable(c)" class="not-applied-amount-label">{{ couponUnavailabilityMessage(c) }} &nbsp;</span>
3944                                                    <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>
3945                                                    <i ng-show="StatusInfo.CouponUpdating" class="fa fa-spinner fa-pulse"></i>
3946                                                </div>
3947                                            </div>
3948                                            <div class="gift-card-coupon-code-span">
3949                                                {{c.couponCode}}
3950                                            </div>
3951                                            <div ng-if="isShippingCoupon(c)" class="discount-amount coupon-error-msg">{{couponStatusMessage}}</div>
3952                                        </div>
3953                                    </div>
3954                                </div>
3955                            </td>
3956                        </tr>
3957                    </tbody>
3958                <tr ng-if="ShippingInfo.Option && ShippingStatus.Required">
3959                    <td colspan="2">
3960                        {{isPickup() ? '' : 'Shipping'}} {{ShippingInfo.Option.name}}
3961                        &nbsp;<a href="" ng-click="ShippingEdit()"><small>Change</small></a>
3962                        &nbsp;&nbsp;<small>{{ShippingInfo.Option.delivery_time}}</small>
3963                    </td>
3964                    <td colspan="2" align="right">
3965                        <span ng-if="!isTaxInclusive()"><strong>{{ShippingInfo.Option.price | currency:InitInfo.CurrencySymbol2}}</strong></span>
3966                        <span ng-if="isTaxInclusive()" style="font-weight: bold; text-align: right;">
3967                                {{getGstShippingTotal() | currency:InitInfo.CurrencySymbol2}}
3968                            </span>
3969                    </td>
3970                </tr>
3971                                <tr ng-if="!showAsGST()">
3972                    <td colspan="2">
3973                        Taxes
3974                    </td>
3975                    <td colspan="2" align="right" data-cy="web-checkout-summary-taxes">
3976                        <span ng-if="StatusInfo.DynamicTaxAddressError" class="dynamic_tax_error">{{StatusInfo.DynamicTaxAddressError}}</span>
3977                        <strong ng-if="!StatusInfo.DynamicTaxAddressError">{{Taxes | currency:InitInfo.CurrencySymbol2}}</strong>
3978                    </td>
3979                </tr>
3980
3981                <tbody ng-if="breakDownTaxes()">
3982                    <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, false)">
3983                        <td colspan="2">
3984                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
3985                        </td>
3986                        <td colspan="2" align="right">
3987                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
3988                        </td>
3989                    </tr>
3990                </tbody>
3991
3992                <tr ng-if="ShippingTaxes && !isTaxInclusive()">
3993                    <td colspan="2">
3994                        Shipping Taxes
3995                    </td>
3996                    <td colspan="2" align="right">
3997                        <strong>{{ShippingTaxes | currency:InitInfo.CurrencySymbol2}}</strong>
3998                    </td>
3999                </tr>
4000
4001                <tbody ng-if="breakDownTaxes()">
4002                    <tr ng-repeat="(jurisdiction, taxes) in JurisdictionalTaxes" ng-if="showTaxJurisdiction(jurisdiction, taxes, true)">
4003                        <td colspan="2">
4004                        &nbsp;&nbsp;&nbsp;&nbsp;{{jurisdiction}}
4005                        </td>
4006                        <td colspan="2" align="right">
4007                            {{taxes.tax_paid | currency:InitInfo.CurrencySymbol2}}&nbsp;&nbsp;&nbsp;&nbsp;
4008                        </td>
4009                    </tr>
4010                </tbody>
4011
4012                    <tbody ng-if="showGiftCardSummary()">
4013                        <tr>
4014                            <td colspan="4">
4015                                <div>
4016                                    <div class="row-divider-checkout">
4017                                        <div class="divider-checkout-block-gc-title">
4018                                            Gift Cards
4019                                        </div>
4020                                        <div ng-repeat="gc in CartData.GiftCards" class="item-box">
4021                                            <div class="discount-item">
4022                                                <div>
4023                                                    <span class="gift-card-coupon-identifier">{{gc.title}}</span>&nbsp;&nbsp;&nbsp;&nbsp;
4024                                                </div>
4025                                                <div class="discount-amount">
4026                                                    -{{gc.Amount | currency:InitInfo.CurrencySymbol2}} &nbsp;
4027                                                    <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>
4028                                                    <i ng-show="StatusInfo.GiftCardUpdating" class="fa fa-spinner fa-pulse"></i>
4029                                                </div>
4030                                            </div>
4031                                            <div class="gift-card-coupon-code-span">
4032                                                {{gc.number}}
4033                                            </div>
4034                                        </div>
4035                                    </div>
4036                                </div>
4037                            </td>
4038                        </tr>
4039                    </tbody>
4040                <tr>
4041                    <td colspan="1">
4042                        Total <span ng-if="isPayAtPickup()">due at pickup</span>
4043                    </td>
4044                    <td colspan="3" align="right" data-cy="web-checkout-summary-total">
4045                        <span ng-if="!showAsGST()"><strong>{{Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong></span>
4046                        <span ng-if="showAsGST()">
4047                                <strong>{{GST_Due | currency:InitInfo.CurrencySymbol2}} {{InitInfo.CurrencyCode}}</strong>
4048                            </span>
4049
4050                        <span ng-if="GST_Due > 0 && GST_Taxes > 0 && showAsGST() && isShippingCountryGST()" align="right">
4051                                <span ng-if="GST_Due > 0 && GST_Taxes > 0 && isShippingCountryGST()" class="cartTableSubHeader"><br/>{{getGstTaxes() | currency:InitInfo.CurrencySymbol2}} GST included in total</span>
4052                            </span>
4053                    </td>
4054                </tr>
4055                </table>
4056        </div>
4057    </div>
4058
4059</div>
4060        </div>
4061    </div>
4062    <div id="coupon-details-modal" ></div>
4063
4064    <form id="processorform" action="{{SubmitInfo.SubmitUrl}}" method="post"><input type="hidden" name="form_version" value="2">
4065        <input type="hidden" ng-repeat="(key, val) in SubmitFields()" name="{{key}}" value="{{val}}">
4066    </form>
4067</div>
4068
4069
4070<!-- NOTE: Do not move to angular 1.4.x yet. There is an issue with particular cart data causing really poor performance -->
4071<!-- DO NOT CHANGE ANGULAR JS VERSION, THIS IS THE LAST VERSION THAT WORKS PROPERLY IN THE FOLLOWING BROWSERS -->
4072<!-- IE 9 AND iOS < 6 -->
4073<!-- THIS IS ONLY FOR THE CHECKOUT, OTHER PAGES CAN USE WHICH EVER VERSION THEY WANT TO -->
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098        
4099            
4100            
4101            
4102            
4103            
4104    
4105
4106		</div>
4107	</div>
4108</div>
4109
4110    <!-- footer -->
4111	<div class="bgFooter">
4112	
4113	<div class="container footer" style="height: auto; text-align:center; ">
4114		<br>
4115		<br>
4116		<a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/">Home</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/on-sale.htm">On Sale</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/shop.htm">Shop</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/new-products.htm">New Products</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/bestsellers.htm">Bestsellers</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/classes.htm">Classes</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/module/events.htm?pageComponentId=4852830&amp;month=current">Calendar</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/shop/Clearance.htm">Clearance</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/contact.htm">Contact</a> &nbsp; | &nbsp; <a style="font-weight: normal; font-size: 12px;" class="footer" href="https://www.ajscrapbookessentials.com/site-map.htm">Site Map</a><!-- Yup, this comment is here for a reason. -->
4117		<div style="height: 10px;"></div>
4118		Copyright &copy; 2007-2026 - AJ Scrapbook Essentials<br>
4119		<a class="footer" style="font-weight: normal;" href="https://www.rainpos.com">Website Design</a> by RAIN<br>
4120		
4121		<br>
4122		<br>
4123	</div>
4124</div>
4125
4126
4127
4128</div>
4129
4130<!-- 43 module.tpl -->
4131
4132
4133<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/smoothness/jquery-ui.css">
4134<script type="text/javascript" src="https://images.rainpos.com/jquery-migrate-1.2.1.min.js" attr="nomove"></script>
vendor: 1 bytes, line 4134
4134
4135<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 4135
4135
4136<script type="text/javascript" src="https://images.rainpos.com/json2.js" attr="nomove"></script>
vendor: 1 bytes, line 4136
4136
4137<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js" attr="nomove"></script>
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147<script>
4148            if(!(window.console && console.log)) {
4149                console = {
4150                    log: function(){},
4151                    debug: function(){},
4152                    info: function(){},
4153                    warn: function(){},
4154                    error: function(){}
4155                };
4156            }
4157	    </script>
vendor: 1 bytes, line 4157
4157
4158<script type="text/javascript" src="/1723204580/site-configuration/js/recaptchaCode.js"></script>
vendor: 116 bytes, lines 4158-4159
4158
4159<script src="https://www.google.com/recaptcha/api.js?onload=recaptchaOnload&render=explicit" async defer></script>
4160<script type="text/javascript">
4161    var isMobileBrowser = 0;
4162            var isResponsive = true;
4163    </script>
vendor: 1 bytes, line 4163
4163
4164<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>
vendor: 1 bytes, line 4164
4164
4165<script src="/1723204579/pos-app/js/big.min.js"></script>
vendor: 1 bytes, line 4165
4165
4166<script src="/1723204579/pos-app/js/lib.js"></script>
vendor: 1 bytes, line 4166
4166
4167<script src="/1775641146/pos-app/js/utils.js"></script>
vendor: 1 bytes, line 4167
4167
4168<script src="/1760603607/js/components/stripe-payment-request/CheckoutContextWrapper.js"></script>
vendor: 1 bytes, line 4168
4168
4169<script src="/1759150467/js/components/stripe-payment-request/PaymentRequestModel.js"></script>
vendor: 1 bytes, line 4169
4169
4170<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLError.js"></script>
vendor: 1 bytes, line 4170
4170
4171<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLBaseModel.js"></script>
vendor: 1 bytes, line 4171
4171
4172<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLKlarnaModel.js"></script>
vendor: 1 bytes, line 4172
4172
4173<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAffirmModel.js"></script>
vendor: 1 bytes, line 4173
4173
4174<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLAfterpayModel.js"></script>
vendor: 1 bytes, line 4174
4174
4175<script src="/1723204579/js/components/stripe-bnpl/StripeBNPLModel.js"></script>
vendor: 1 bytes, line 4175
4175
4176<script src="/1723204579/checkout/PromiseAccumulator.js"></script>
vendor: 1 bytes, line 4176
4176
4177<script src="/1723204579/c/libs/libphonenumber-js/libphonenumber-js.min.js"></script>
vendor: 1 bytes, line 4177
4177
4178<script src="/1723204579/js/bower_components/angular-sanitize/angular-sanitize.min.js"></script>
vendor: 1 bytes, line 4178
4178
4179<script src="/1790254316/checkout/checkoutCtrl.js"></script>
vendor: 1 bytes, line 4179
4179
4180<script src="/1723204579/js/log.js"></script>
vendor: 1 bytes, line 4180
4180
4181<script>var Logger = Object.create(Logger.prototype); Logger.setToken("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTA1MDczODYsImp0aSI6ImVlYjI5Yjc3ZmVhZDQ2ODE2YzQ2NjZhMjQyNGE4NTg2MTliNWVmMjAwZjRmMTA2MGFiOWI3MjRkMDc5ODVkZmYiLCJuYmYiOjE3OTA1MDczODYsImV4cCI6MTc5MDU1MDU4NiwiZGF0YSI6eyJzdG9yZUlkIjoxMTExOSwic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.896aajli_e7Y4vt1dgWPWZQnRp7zNyMn4z8NyX8b4y8"); </script>
vendor: 1 bytes, line 4181
4181
4182<script>window.cartJWT = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3OTA1MDczODYsImp0aSI6ImVlYjI5Yjc3ZmVhZDQ2ODE2YzQ2NjZhMjQyNGE4NTg2MTliNWVmMjAwZjRmMTA2MGFiOWI3MjRkMDc5ODVkZmYiLCJuYmYiOjE3OTA1MDczODYsImV4cCI6MTc5MDU1MDU4NiwiZGF0YSI6eyJzdG9yZUlkIjoxMTExOSwic2l0ZVVzZXJJZCI6bnVsbCwiY3VzdG9tZXJMb2dpbklkIjpudWxsfX0.896aajli_e7Y4vt1dgWPWZQnRp7zNyMn4z8NyX8b4y8"</script>
vendor: 1 bytes, line 4182
4182
4183<script src="/js/libs/vue/2.6.12.vue.min.js"></script>
vendor: 1 bytes, line 4183
4183
4184<script src="/js/libs/axios/0.31.1.axios.min.js"></script>
vendor: 1 bytes, line 4184
4184
4185<script type="text/javascript">
4186    if (typeof window.vueEventHub === 'undefined') {
4187        window.vueEventHub = new Vue();
4188    }
4189    Vue.use({install: function (Vue, params) {
4190            Vue.prototype.$eventHub = params.vueEventHub;
4191        }}, {vueEventHub: window.vueEventHub});
4192</script>
vendor: 1 bytes, line 4192
4192
4193<script src="/1723204579/pos-app/controls/form-validate/form-validate.directive.js"></script>
4193
4194
4195<script src="https://payments.quiltsoftware.com/adyenRegion.js"></script>
vendor: 1 bytes, line 4195
4195
4196<script>
4197    let scriptAdyenRegion = window.adyenRegion || 'live-us';
4198
4199    const adyenScript = document.createElement('script');
4200    const adyenStyle = document.createElement('link');
4201    var adyenStyleLoaded = false; //global
4202    let head = document.getElementsByTagName('head')[0];
4203
4204    adyenScript.src = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.js';
4205    adyenScript.type = 'text/javascript';
4206    adyenScript.crossOrigin = 'anonymous';
4207    adyenScript.integrity = 'sha384-V7uOD/4bQuWLJRCDSfc60tVzD6rYW5BkkY3GYnaFjgg/guMih1Kx6N5Vo9dBtN3y';
4208
4209    adyenStyle.href = 'https://checkoutshopper-' + scriptAdyenRegion + '.adyen.com/checkoutshopper/sdk/5.29.0/adyen.css'
4210    adyenStyle.rel = 'stylesheet';
4211    adyenStyle.crossOrigin = 'anonymous';
4212    adyenStyle.integrity = 'sha384-jAG16Mh+vYdXeyWKqPqL7chbdFT1aS5qjt/8jGJz5vBrI1RJ3m6/uFfMZt8li/rT';
4213
4214    head.appendChild(adyenScript);
4215    head.appendChild(adyenStyle);
4216
4217    adyenStyle.onload = function() {
4218        adyenStyleLoaded = true;
4219    }
4220</script>
vendor: 1 bytes, line 4220
4220
4221<script type="text/javascript" src="/js/dist/npm.core-js.7fcae61afb054d7ba0b3.js"></script>
vendor: 1 bytes, line 4221
4221
4222<script type="text/javascript" src="/js/dist/npm.vue-loader.d0cb700bf30f64badaf5.js"></script>
vendor: 1 bytes, line 4222
4222
4223<script type="text/javascript" src="/js/dist/npm.style-loader.b1e6d4e14468065b9561.js"></script>
vendor: 1 bytes, line 4223
4223
4224<script type="text/javascript" src="/js/dist/npm.css-loader.4580a37e6cd44c5ceae8.js"></script>
vendor: 1 bytes, line 4224
4224
4225<script type="text/javascript" src="/js/dist/npm.date-fns.a04ecd7fd4860ad4dc6d.js"></script>
vendor: 1 bytes, line 4225
4225
4226<script type="text/javascript" src="/js/dist/coupon-details-modal.310e9f33ad0b13b0bc5a.js"></script>
vendor: 1 bytes, line 4226
4226
4227<script type="text/javascript">
4228    var isMusicStore = false;
4229    var districts = [];
4230    var schools = [];
4231    var customerId = 0;
4232</script>
vendor: 1 bytes, line 4232
4232
4233<script src="https://js.stripe.com/v3/"></script>
vendor: 1 bytes, line 4233
4233
4234<script>
4235                function innerWrapper() {
4236                    const innerDivz = document.querySelectorAll(`div.inner`);
4237                    if (innerDivz.length > 0) {
4238                        let identifyParentEl = innerDivz[0].parentElement;
4239                        const wrapperEl = document.createElement('div');
4240
4241                        wrapperEl.setAttribute('data-column-id', 'body');
4242                        if (innerDivz[0].classList.contains('inner-full-width')) {
4243                            wrapperEl.className = 'new clearfix';
4244                        } else {
4245                            wrapperEl.className = 'new container clearfix';
4246                        }
4247                        if (identifyParentEl.classList.contains('vue-component-wrapper')) {
4248                            identifyParentEl.insertAdjacentElement('beforebegin', wrapperEl);
4249                        } else {
4250                            innerDivz[0].insertAdjacentElement('beforebegin', wrapperEl);
4251                        }
4252                        innerDivz.forEach(item => wrapperEl.append(item));
4253                    }
4254                }
4255                document.addEventListener('DOMContentLoaded', innerWrapper);
4256            </script>
vendor: 1 bytes, line 4256
4256
4257<script type="text/javascript" src="/site-configuration/js/jquery.blockUI.js"></script>
4257
4258
4259<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"d60c52fc57","applicationID":"7339757","transactionName":"ZAFTMEcHDUsDB00IDl1LchFGEgxVTSdqCQ5DFFgKUiUCShY7ewASVg==","queueTime":0,"applicationTime":154,"atts":"SEZQRg8dHkU=","errorBeacon":"bam.nr-data.net","agent":""}</script>
4259</body>
4260</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.