PageSourceSearch

https://www.jukeboxprint.com/dist/1546.8668d83a.js

js jukeboxprint.com collected 2026-09-24 17:23:13 UTC 237,848 bytes, 1 lines download raw bytes

1(self.webpackChunkjukebox_website=self.webpackChunkjukebox_website||[]).push([[1546],{34492(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(427),i(69575),i(95243),i(81750),i(47259),i(49083)],void 0===(n=function(e,t,i,s){return AdditionalPayment={initialize:function(){e((function(){var t=new i.Model(window.paymentJson),n=new s.Models.Currency(window.currencyJson);new s.Views.CardMonthYear({el:e("#ccard_form")}),e(".card-wrapper").length>0&&new s.Views.CardWrapper({el:e("#ccard_form")}),new s.Views.PaymentButtons({el:e("div.checkout-wrapper"),model:t}),new s.Views.AdditionalPaymentSummary({el:e(".summary"),model:t,currency:n}).render(),new s.Views.SummaryContainer({el:e(".checkout-wrapper")}),e(".payment-declined-error").length>0&&(e(".payment-declined-error-wrapper .message").text(e(e(".payment-declined-error")[0]).find("span").text()),e(".payment-declined-error-wrapper").removeClass("hide"),setTimeout((function(){e(".payment-declined-error-wrapper").slideUp()}),5e3))}))}},AdditionalPayment}.apply(t,s))||(e.exports=n)},60011(e,t,i){var s,n;s=[i(19636),i(2543),i(65222)],void 0===(n=function(e,t,i){return i.Mixins=i.Mixins||{},i.Mixins.UberEligibility={updateBorderStyles:function(){var e=this.$('.shipping-method-input[name="delivery-method"]:checked').val(),t=!this.$(".shipping-method.ship-uber").hasClass("hide"),i=this.$(".shipping-method.ship .shipping-method-label"),s=this.$(".shipping-method.ship-uber .shipping-method-label"),n=this.$(".shipping-method.pick-up .shipping-method-label");i.css("border-bottom",""),s.css({"border-top":"","border-bottom":""}),n.css("border-top",""),t?"ship"===e||"pick-up"===e?s.css({"border-top":"none","border-bottom":"none"}):"ship-uber"===e&&(i.css("border-bottom","none"),n.css("border-top","none")):"ship"===e?n.css("border-top","none"):"pick-up"===e&&i.css("border-bottom","none")},checkUberEligibility:function(e,t){if("CA"!==e)return this.hideUberOption(),!1;if(!(t=(t||"").toString().replace(/\s+/g,""))||t.length<6){if(!window.geoPostalCode)return this.hideUberOption(),!1;t=window.geoPostalCode}var s=this;i.Functions.memoizedAjax({url:"/api/checkout/uber-eligibility",type:"POST",data:{country:e,postalCode:t}}).done((function(e){var t=!0===e.eligible;return s.viewState.set("uberEligible",t,{silent:!0}),t?s.showUberOption():s.hideUberOption(),t})).fail((function(){return s.hideUberOption(),!1}))},showUberOption:function(){var e=this.$(".shipping-method.ship-uber");if(0!==e.length){if(e.removeClass("hide"),!0===this.viewState.get("useUberDelivery")){var t=this.$("#delivery-method-ship-uber");t.length>0&&!t.closest(".shipping-method").hasClass("hide")&&t.prop("checked",!0)}this.updateBorderStyles()}},hideUberOption:function(){this.$(".shipping-method.ship-uber").addClass("hide"),this.$("#delivery-method-ship-uber").is(":checked")&&this.$("#delivery-method-ship").prop("checked",!0).trigger("change"),this.updateBorderStyles()}},i}.apply(t,s))||(e.exports=n)},3539(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(65222)],void 0===(n=function(e,t,i,s){return s.Models.PromoCode=i.Model.extend({METHOD_SUBTRACT_PERCENT:"subpercent",METHOD_SUBTRACT_FIXED:"sub",METHOD_FINAL_FIXED:"fixed",defaults:{code:"",validPromoCode:"",amount:0,method:this.METHOD_SUBTRACT_FIXED,type:""},url:function(){var e=this.get("code");return e?"/admin/promo-codes/"+e:"/admin/promo-codes"},getPromo:function(t){if(t){var i=this;e.get("/api/promocode/"+t).done((function(e){"invalid"!==e.status&&(i.set({code:t,validPromoCode:e.promoCode.code,amount:e.promoCode.amount,freeShipping:e.promoCode.freeShipping,reference:e.promoCode.reference,type:e.promoCode.type,method:e.promoCode.method,status:e.status,reason:e.reason},{silent:!0}),i.trigger("promo:fetch"))}))}},initialize:function(){var e;this.get("code")&&this.get("code").length>0?e=this.get("code"):this.get("reference")&&(e=this.get("reference"),this.set({code:e}),this.unset("reference")),e&&this.set({validPromoCode:e})},parse:function(e){return e.hasOwnProperty("status")&&"error"!==e.status&&(e=e.promo),e},toJSON:function(e){var t=i.Model.prototype.toJSON.apply(this);return!1===e||(t.method===this.METHOD_SUBTRACT_PERCENT?t.amount=t.amount+"%":t.amount="$"+t.amount),t},toString:function(){var e=this.toJSON(!0),t=e.validPromoCode+" -";return"FREESTICKER"===e.code?t+" free stickers":"BIKESTICKER"===e.code?t+" free bike stickers":"promo_shipping"===e.type?t+" free shipping":(this.get("amount")>0&&(t+=e.amount,"promo_global"===e.type?t+=" order":"promo_product"===e.type&&(t+=" one item")),e.freeShipping&&(this.get("amount")>0&&(t+=","),t+=" Free Shipping!"),t)},isApplicable:function(t,i,s){return this.get("id")&&""!=this.get("id")?e.ajax({method:"POST",url:"/admin/promo-codes/"+this.get("id")+"/apply/"+t,data:this.toJSON(),context:this}).done((function(e){"ok"===e.status?(this.set("checks",e.checks),i&&i()):s&&s()})):(s&&s(),!1)},isValid:function(){return(this.get("amount")>0||this.get("freeShipping"))&&this.get("validPromoCode").length>0},validate:function(e){if(!e.reference)return"Promo code not checked";if("invalid"===e.status||"inapplicable"===e.status){var t="Promo code not accepted: <br>";return null!==e.reason&&(t+=e.reason),t}},check:function(){return e.ajax({method:"POST",url:"/api/promocode/check",data:this.toJSON(),dataType:"json",context:this}).done((function(e){"valid"===e.status?(this.set({validPromoCode:e.promoCode.code,amount:e.promoCode.amount,freeShipping:e.promoCode.freeShipping,reference:e.promoCode.reference,type:e.promoCode.type,method:e.promoCode.method,status:e.status,reason:e.reason}),e.validConversion&&(window.conversionData&&(window.conversionData.coupon=e.promoCode.code),window.dataLayer.push({event:"select_promotion",ecommerce:{promotion_id:e.promoCode.code,promotion_name:e.promoCode.code}}))):this.set({status:e.status,reason:e.reason}),this.trigger("promo:checked",self)}
1))},remove:function(){e.ajax({url:"/api/promocode/remove",method:"DELETE",context:this}).done((function(e){"success"===e.status&&(this.clear(),this.trigger("promo:removed",self))}))}}),s}.apply(t,s))||(e.exports=n)},69575(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(36264)],void 0===(n=function(e,t,i,s,n,r){return s.extendFilter("money",n.Functions.moneyFilter),n.Views.AdditionalPaymentSummary=i.View.extend({template:s.twig({data:r}),initialize:function(e){this.currency=e.currency,this.listenTo(this.model,"change",this.render),this.$el.removeClass()},render:function(){var e=this.model.toJSON();e.additionalPayment=!0,e.currencySymbol=this.currency.get("sign"),e.moneyParams={sign:"",code:this.currency.get("code"),withCode:!1},e.totalMoneyParams={sign:"",code:this.currency.get("code"),withCode:!1},e.currencyCode=this.currency.get("code"),e.subtotal=e.netPrice;var i=0;return t.each(e.taxes,(function(e){i+=parseFloat(e.amount)})),e.taxTotal={amount:i},e.grossPrice=e.beforeTaxPrice+e.taxAmount-e.inStoreCredit,e.discount=0,this.$el.html(this.template.render(e)),this.$(".actions").empty(),this}}),n}.apply(t,s))||(e.exports=n)},38725(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(44786)],void 0===(n=function(e,t,i,s,n,r){return n.Views.AddressButtons=i.View.extend({el:".address-link",template:s.twig({data:r}),initialize:function(e){this.viewState=e.viewState,this.listenTo(this.viewState,"change",this.render)},events:{"click span.address-link":"fireEvent"},render:function(){return this.$el.html(this.template.render()),this.toggleDeleteButton(),this.viewState.get("address")?(this.$(".delete-address").removeClass("hide"),this.$(".edit-address").removeClass("hide")):(this.$(".delete-address").addClass("hide"),this.$(".edit-address").addClass("hide"),e(".address-buttons, .address-select-container, .update-address").hide(),e(".address-form").show(),e("#address-header").text("Add Shipping Address"),e(".update-address #address-form-save").length>0&&e(".update-address #address-form-save").removeClass("hide")),this},toggleCancel:function(){var e=!!this.$(".change-address").length,t=e?"change-address":"cancel-address",i=e?"cancel-address":"change-address",s=e?"Cancel":"Change Shipping Destination";this.$("."+t).text(s).addClass(i).removeClass(t)},toggleDeleteButton:function(){if(this.viewState.get("address")){var e=this.viewState.get("address").get("billing"),t=e?"Cannot Delete Billing":"Delete",i=e;this.$(".delete-address").text(t).prop("disabled",i)}},fireEvent:function(t){var i=e(t.currentTarget).attr("class");i=(i=i.match(/[a-z]+-address/)[0].trim()).slice(0,i.indexOf("-")),this.trigger("button:"+i),e(".update-address #address-form-save").length>0&&e(".update-address #address-form-save").removeClass("hide")}}),n}.apply(t,s))||(e.exports=n)},19234(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(85458)],void 0===(n=function(e,t,i,s,n){return n.Views.AddressSelect=i.View.extend({el:".address-select",events:{change:"selectOption"},initialize:function(i){var s=this;t.bindAll(this,"render","addOptionToSelect"),this.viewState=i.viewState,this.order=i.order,this.addresses=this.collection,this.listenTo(this.addresses,"add",this.addOptionToSelect),this.listenTo(this.addresses,"change",this.updateOption),this.listenTo(this.addresses,"remove",this.removeOption),this.listenTo(this.viewState,"change:address",this.setSelected),e(window).resize((function(){s.render()}))},render:function(){var t=this.viewState.get("address");return t&&(this.$el.empty(),this.addresses.each(this.addOptionToSelect),this.$el.val(t.get("id")),e(window).width()<600?null!=this.$el.data("select2")&&this.$el.select2("destroy"):this.$el.select2({templateSelection:this.boldAddressName,templateResult:this.boldAddressName})),-1==this.order.get("deliveryAddress")&&t&&this.viewState.get("useShipping")&&this.$el.val(t.get("id")).trigger("change"),this},boldAddressName:function(t){var i=t.text.split(", "),s=i[0];i.shift();var n=i.join(", ");return e("<span><strong>"+s+"</strong> "+n+"</span>")},selectOption:function(e){if(!this._programmaticChange){var t=e.target.value,i=this.addresses.get(t);if(i)this.order.get("deliveryAddress")!=t&&(this.viewState.set("addressChanged",!0,{silent:!0}),this.viewState.set("address",i),this.order.set("deliveryAddress",t),this.order.trigger("save:order"))}},addOptionToSelect:function(e){e.get("active")&&this.$el.append(this.renderOption(e))}
1,renderOption:function(t){var i=t.get("company")?t.get("company"):t.get("name");return e("<option>",{value:t.id,text:i+", "+t.toString()})},updateOption:function(e){this.$("option[value="+e.id+"]").replaceWith(this.renderOption(e))},removeOption:function(e){this.$("option[value="+e.id+"]").remove()},setSelected:function(){var e=this.viewState.get("address");if(e){var t=e.id;if(this.$el.val()!=t){this._programmaticChange=!0;try{this.$el.val(t).trigger("change")}finally{this._programmaticChange=!1}}}}}),n}.apply(t,s))||(e.exports=n)},49083(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(65222),i(60960),i(85458)],void 0===(n=function(e,t,i,s){return s.Views.CardMonthYear=i.View.extend({initialize:function(e){e.prefix&&e.postfix?(this.prefix=e.prefix,this.postfix=e.postfix):(this.prefix="ccard_",this.postfix="")},events:{keydown:"checkKeydown",input:"updateExpiryDate"},checkKeydown:function(e){if("37"==e.keyCode||"38"==e.keyCode||"39"==e.keyCode||"40"==e.keyCode)return!1},updateExpiryDate:function(t){if(e(t.target).attr("id")!=this.prefix+"expiry_date"+this.postfix)return!1;this.clearError();var i=e(t.target).val(),s="",n="",r="";if((i=i.replace(/[^0-9]/g,"")).length<=2)"00"===i?i="01":""!==i&&(n=Number(i))>12&&(i="12"),n=i,s=i;else{if(n=i.slice(0,2),2===(r=i.slice(2,4)).length){var o=(new Date).getFullYear(),a=o+9,d=Number(o.toString().slice(0,2)+r);d>a?(r=a.toString().slice(-2),this.applyError("Maximum expiry year should be in 10 years")):d<o?r=o.toString().slice(-2):(r=d.toString().slice(-2),this.clearError())}else this.clearError();s="".concat(n,"/").concat(r)}this.$("#"+this.prefix+"expiryMonth"+this.postfix).val(n).trigger("change"),this.$("#"+this.prefix+"expiryYear"+this.postfix).val(r).trigger("change"),e(t.target).val(s)},applyError:function(e){this.$(".error").length&&this.$(".error").text(""),this.$(".date-error").text(e).show()},clearError:function(e){this.$(".date-error").text("").hide()}}),s}.apply(t,s))||(e.exports=n)},47259(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(65222),i(60960)],void 0===(n=function(e,t,i,s){return s.Views.CardWrapper=i.View.extend({initialize:function(e){e.prefix&&e.postfix?(this.prefix=e.prefix,this.postfix=e.postfix):(this.prefix="ccard_",this.postfix=""),e.wrapperSelector&&(this.wrapperSelector=e.wrapperSelector),this.initStyledValidation()},initStyledValidation:function(){this.$el.validate({rules:{name:{required:!0}},messages:{name:"Cardholder name is required."},errorElement:"div",onkeyup:function(t){e(t).valid()},errorPlacement:function(e,t){e.insertBefore(t.prev()),t.addClass("payment-error")}})}}),s}.apply(t,s))||(e.exports=n)},430(e,t,i){var s,n;function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}s=[i(19636),i(2543),i(21391),i(16477),i(31732),i(38753),i(5837),i(11434),i(26990),i(30653),i(34124),i(53462),i(6206),i(85448),i(59389),i(85458)],void 0===(n=function(e,t,i,s,n,o,a){return s.extendFilter("money",n.Functions.moneyFilter),n.Views.CheckoutAddress=i.View.extend({initialize:function(t){this.$(".shipping-container").removeClass("hide");this.order=t.order,this.itemViews=[],this.loader=new n.Views.Loader({el:this.$el,skeleton:!0}),this.$(".checkout-shipping-wrapper").fadeIn(300),this.isGuest=this.order.get("isGuest"),this.confirmView=new n.Views.Confirm,this.addressCollection=new n.Collections.Addresses(n.Functions.getDomJson(e("#addresses-json"),!0));var s=this;this.processAddressDuplicates(),this.listenTo(i,"address:collectionChanged",this.processAddressDuplicates);var r=null,o=!1,a=this.addressCollection.get(this.order.get("deliveryAddress"));if(void 0===a)if(this.isGuest&&0===this.addressCollection.length)r=null;else if(this.addressCollection.get(window.defaultDeliveryAddress)&&this.addressCollection.get(window.defaultDeliveryAddress).get("active"))r=this.addressCollection.get(window.defaultDeliveryAddress),o=!0;else{r=this.addressCollection.find((function(e){return e.get("active")&&!e.get("billing")}))||this.addressCollection.at(0),o=!0}else if(a.get("active"))r=a;else{r=this.addressCollection.find((function(e){return e.get("active")&&e.get("name")===a.get("name")&&e.get("address")===a.get("address")&&e.get("city")===a.get("city")&&e.get("province")===a.get("province")&&e.get("country")===a.get("country")&&e.get("postalCode")===a.get("postalCode")}))||this.addressCollection.at(0)}this.viewState=new i.Model({address:r}),this.enableShipping(),null!==this.order.get("useShipping")?this.viewState.set("useShipping",this.order.get("useShipping")):(this.viewState.set("useShipping",!0),this.order.set("useShipping",!0),this.saveOrder());var d="";window.disable_van_pickup&&window.disable_tor_pickup?(this.viewState.set("useShipping",!0),this.viewState.set("disableLocation","both"),this.$el.addClass("hide-pickup-option")):window.disable_van_pickup||window.disable_tor_pickup?window.disable_van_pickup?(d="toronto",this.viewState.set("disableLocation","vancouver")):(d="vancouver",this.viewState.set("disableLocation","toronto")):d=""!==this.order.get("pickupLocation")?this.order.get("pickupLocation"):"vancouver",this.viewState.set("pickupLocation",d);this.viewState.set("pickupDistances",{distanceToVan:!1,distanceToTor:!1});this.viewState.set("earliestReceiving",{shipString:"",uberString:"",pickupString:""}),this.viewState.set("uberEligible",!!window.uberEligible&&window.uberEligible),this.listenTo(this.viewState,"change:useShipping",this.toggleUseShipping),this.toggleUseShipping(),this.isGuest?(this.guestInfoView=new n.Views.GuestInfo({el:this.$(".delivery-address"),order:this.order,collection:this.addressCollection,viewState:this.viewState}),this.listenTo(this.guestInfoView,"enable-button",this.loadingStop)):(this.deliveryAddressView=new n.Views.DeliveryAddress({el:this.$(".delivery-address"),order:this.order,collection:this.addressCollection,viewState:this.viewState}),this.$(".shipping-methods-wrapper").show()),new n.Views.PhoneHandler({el:this.$(".delivery-address")}),this.setEarliestReceiving(),this.addressVerification=new n.Views.AddressVerification({el:this.$("#address-ver
1ification-modal"),order:this.order,collection:this.addressCollection,viewState:this.viewState,verified:function(e){e&&s.proceedToPayment()}}),this.listenTo(this.order,"change:deliveryAddress",this.changeDeliveryAddress,this),this.isGuest?(this.listenTo(this.guestInfoView,"select:deliveryAddress",this.setDeliveryAddress),this.listenTo(this.guestInfoView,"allSaved:continueToPayment",this.continueToPayment),e(document).on("keyup",this.pressEnter.bind(this))):(this.listenTo(this.deliveryAddressView,"select:deliveryAddress",this.setDeliveryAddress),this.listenTo(this.deliveryAddressView,"error:deliveryAddress",this.loadingStop),this.listenTo(this.deliveryAddressView,"reviewLock:change",this.setReviewLocked)),this.listenTo(this.addressVerification,"select:deliveryAddress",this.setDeliveryAddress),this.listenTo(this.addressVerification,"verification-finished",this.loadingStop),this.listenTo(this.addressVerification,"modalClose",this.resumeDeferredPayment),this.listenTo(this.addressVerification,"provinceCorrection:cancelled",this.cancelDeferredPayment),this.listenTo(i,"shipping:required",this.enableShipping),this.listenTo(i,"shipping:disabled",this.disableShipping),this.listenTo(this.order,"syncStart",this.loadingStart,this),this.listenTo(this.order,"loadingStop",this.loadingStop,this),this.listenTo(this.order,"sync",this.handleSuccessSaved,this),this.listenTo(this.order,"error",this.handleFailSaved,this),this.listenTo(this.order,"shipping-method:not-all-methods",this.showMethodsWarning),this.listenTo(this.order,"shipping-method:all-methods",this.removeMethodsWarning),this.listenTo(i,"currency:change",this.saveOrder),e(window).on("pageshow",(function(e){e.originalEvent&&e.originalEvent.persisted&&(s.viewState.set("continueToPayment",!1,{silent:!0}),s.loader.trigger("hide"),s.loadingStop())})),o&&(this.viewState.set("addressChanged",!0,{silent:!0}),r&&(this.order.set("deliveryAddress",r.get("id")),this.order.trigger("save:order")))},events:{"click #btn-empty-cart":"emptyCart","click .save-address-form":"triggerSaveAddressForm","select2:open":"setOpen","select2:close":"setClose"},isShippingDomestic:function(){var e=this.viewState.get("address").get("country");return"CA"===e||"US"===e},changeDeliveryAddress:function(){this.needToVerifyAddress=!0},currentAddressUnverified:function(){var e,t=this.order.get("deliveryAddress");return!!(e=t&&"object"===r(t)?t:this.viewState.get("address")||(t?this.addressCollection.get(t):null))&&!("function"==typeof e.get?e.get("verified"):e.verified)},setDeliveryAddress:function(e,t,i){this.viewState.set("addressChanged",!0,{silent:!0}),this.order.set("deliveryAddress",e),i&&(this.needToVerifyAddress=!1),t||this.order.trigger("save:order"),this.continueToPaymentTriggered&&(this.continueToPaymentTriggered=!1,this.continueToPayment())},continueToPayment:function(){if(e("body.internal-customer").length)this.proceedToPayment();else{if(!this.isGuest&&this.viewState.get("useShipping")&&-1==this.order.get("deliveryAddress"))return this.continueToPaymentTriggered=!0,void this.deliveryAddressView.triggerSaveAddress();this.order.set({useShipping:this.viewState.get("useShipping"),useUberDelivery:this.viewState.get("useUberDelivery"),pickupLocation:this.viewState.get("pickupLocation")}),this.order.trigger("save:order"),this.viewState.set("continueToPayment",!0)}},loadingStart:function(){this.$el.css("pointer-events","none"),this.$(".save-address-form").prop("disabled",!0)},loadingStop:function(){this.$el.css("pointer-events","auto"),this.$(".save-address-form").prop("disabled",!1)},handleSuccessSaved:function(){this.hideSaveError(),this.viewState.get("continueToPayment")?this.viewState.get("useShipping")&&(this.needToVerifyAddress||this.currentAddressUnverified())?this.addressVerification.verify(null,!0):this.proceedToPayment():(this.needToVerifyAddress&&this.viewState.get("useShipping")&&(this.needToVerifyAddress=!1,this.addressVerification.verify()),this.setEarliestReceiving(),this.loadingStop())},handleFailSaved:function(e,t){if(this.loadingStop(),this.viewState.get("continueToPayment")&&this.viewState.set("continueToPayment",!1,{silent:!0}),t){var i=t.responseJSON&&"string"==typeof t.responseJSON.message?t.responseJSON.message:"";this.showSaveError(400===t.status&&i?i:"We could not save your shipping details. Please refresh the page and try again.")}},showSaveError:function(e){var t=this.$(".checkout-shipping-error-wrapper");t.find(".message").text(e),t.removeClass("hide").stop(!0,!0).slideDown(),t[0]&&t[0].scrollIntoView({behavior:"smooth",block:"center"})},hideSaveError:function(){var e=this.$(".checkout-shipping-error-wrapper");e.is(":visible")&&e.stop(!0,!0).slideUp()},enableShipping:function(){this.viewState.set("shippingRequired",!0)},disableShipping:function(){this.viewState.set("shippingRequired",!1)},setOpen:function(){this.$(".address-form").data("open",!0)},setClose:function(){var e=this;setTimeout((function(){e.$(".address-form").data("open",!1)}),1e3)},pressEnter:function(e){e.preventDefault(),13==e.keyCode&&(this.$(".address-street
1-wrapper input").is(":focus")?this.$(".address-street-wrapper input").blur():this.triggerSaveAddressForm())},showMethodsWarning:function(){this.addressError=!0,e(".address-declined-wrapper").removeClass("hide"),e(".address-declined-wrapper").slideDown(),setTimeout((function(){e(".address-declined-wrapper").slideUp()}),5e3)},removeMethodsWarning:function(){this.addressError=!1},proceedToPayment:function(){return this.addressError?(this.viewState.set("continueToPayment",!1,{silent:!0}),void this.loadingStop()):this.addressVerification&&this.addressVerification.provinceCorrection?(this.paymentDeferredByCorrection=!0,void this.loadingStop()):void(window.location="/checkout-payment")},resumeDeferredPayment:function(){if(this.paymentDeferredByCorrection)return this.paymentDeferredByCorrection=!1,this.loadingStart(),void this.proceedToPayment();this.viewState.set("continueToPayment",!1,{silent:!0})},cancelDeferredPayment:function(){this.paymentDeferredByCorrection=!1,this.viewState.set("continueToPayment",!1,{silent:!0})},emptyCart:function(){this.confirmView.trigger("set:body","Are you sure you wish to empty your cart?"),this.confirmView.showFooter(),this.confirmView.trigger("show"),this.confirmView.trigger("add-click",(function(e){e.preventDefault(),window.location="/checkout/empty"}))},fetchOrder:function(){this.order.fetch()},saveOrder:function(){this.order.trigger("save:order")},setReviewLocked:function(e){this.reviewLocked=e,this.$(".save-address-form").toggleClass("disabled",e)},triggerSaveAddressForm:function(){this.reviewLocked||(this.loadingStart(),this.isGuest?""!=this.viewState.get("email")&&this.viewState.get("address")&&this.viewState.get("address").get("address")?this.guestInfoView.trigger("save:ContactFirst"):(this.$(".email-field .error, .phone-field .error").text(""),this.$(".guest-contact-form")[0].checkValidity()?this.viewState.get("useShipping")&&!this.$(".checkout-delivery-address-form form")[0].checkValidity()?(this.$(".checkout-delivery-address-form form")[0].reportValidity(),this.loadingStop()):this.guestInfoView.trigger("save:ContactFirst"):(this.$(".guest-contact-form")[0].reportValidity(),this.loadingStop())):this.continueToPayment())},toggleUseShipping:function(){this.viewState.get("useShipping")?e("body").removeClass("is-pickup"):e("body").addClass("is-pickup"),this.$(".save-address-form").length&&this.$(".save-address-form").text("Review & Confirm ".concat(this.viewState.get("useShipping")?"Shipping":"Pickup"," Options"))},calculatePickUpDistance:function(){var e=this;function t(e,t){var s={x:0,y:0,z:0};s.y=Math.sin(i(e.latitude))*t;var n=Math.cos(i(e.latitude))*t;return s.x=Math.sin(i(e.longitude))*n,s.z=Math.cos(i(e.longitude))*n,s}function i(e){return e*Math.PI/180}function s(e,i){var s,n,r=6371e3,o=t(e,r),a=t(i,r),d=(s=o,n=a,Math.sqrt((s.x-n.x)*(s.x-n.x)+(s.y-n.y)*(s.y-n.y)+(s.z-n.z)*(s.z-n.z)));return parseFloat(d/1e3).toFixed(2)}navigator.geolocation.getCurrentPosition((function(t){var i={distanceToVan:s(t.coords,{latitude:49.26760450342905,longitude:-123.10926623667802}),distanceToTor:s(t.coords,{latitude:43.63686998538786,longitude:-79.42623800484134})};e.viewState.set("pickupDistances",i)}),(function(e){}))},processAddressDuplicates:function(){var e=this,i=[];if(this.addressCollection.each((function(e){e.set("active",!0,{silent:!0}),e.set("showExtras",!1,{silent:!0})})),this.addressCollection.each((function(s){if(s.get("billing")&&s.get("id")!=window.defaultBillingAddress)s.set("active",!1,{silent:!0});else{var n=parseInt(s.get("id"),10);if(!window.billingOnlyAddressIds||-1===window.billingOnlyAddressIds.indexOf(n)||s.get("billing")||s.get("id")==window.defaultBillingAddress||s.get("id")==e.order.get("deliveryAddress")){var r=s.toJSON(),o=r.id;delete r.id,delete r.hide,delete r.verified,delete r.poBox,delete r.billing,delete r.flagged,delete r.verificationStatus,delete r.verificationStatusAt,delete r.upsAddressOne,delete r.upsAddressTwo,delete r.upsAddressThree,delete r.active,delete r.htmlOptionText,delete r.hidden,delete r.showExtras,delete r.isCheckout;var d=function(e){return{name:e.name,company:e.company,address:e.address,city:e.city,province:e.province,country:e.country,postalCode:e.postalCode}}(r=a.blankNulls(r)),l=o===window.defaultBillingAddress,c=t.omit(r,"phone"),h=(r.phone||"").trim(),p=""!==h,u=t.find(i,(function(e){return t.isEqual(c,t.omit(e.data,"phone"))}));if(u){var m=(u.data.phone||"").trim(),f=""!==m,g=u.address.get("id")===window.defaultBillingAddress,v=e.order.get("deliveryAddress")==u.address.get("id"),y=e.order.get("deliveryAddress")==o;if(h===m){var w=!!s.get("billing");(w!==!!u.address.get("billing")?!w:y||l)?(u.address.set("active",!1,{silent:!0}),u.address=s,u.data=r,u.coreData=d):s.set("active",!1,{silent:!0})}else p&&!f?g||v?(u.address.set("showExtras",!0,{silent:!0}),s.set("showExtras",!0,{silent:!0}),i.push({data:r,coreData:d,address:s})):(u.address.set("active",!1,{silent:!0}),u.address=s,u.data=r,u.coreData=d):!p&&f?l||y?(u.address.set("showExtras",!0,{silent:!0}),s.set("showExtras",!0,{silent:!0}),i.push({data:r,coreData:d,address:s})):s.set("active",!1,{silent:!0}):(u.address.set("showExtras",!0,{silent:!0}),s.set("showExtras",!0,{silent:!0}),i.push({data:r,coreData:d,address:s}));t.each(i,(function(e){t.isEqual(d,e.coreData)&&!1!==e.address.get("active")&&(e.address.set("showExtras",!0,{silent:!0}),s.set("showExtras",!0,{silent:!0}))}))}else{var b=t.find(i,(function(e){return t.isEqual(d,e.coreData)}));b&&(b.address.set("showExtras",!0,{silent:!0}),s.set("showExtras",!0,{silent:!0})),i.push({data:r,coreData:d,address:s})}}else s.set("active",!1,{silent:!0})}})),!this.addressCollection.some((function(e){return e.get("active")}))){var s=this.order.get("deliveryAddress"),n=this.order.get("billingAddress"),r=this.addressCollection.get(s)||this.addressCollection.get(n)||this.addressCollection.get(window.defaultBillingAddress)||this.addressCollection.max((function(e){return parseInt(e.get("id"),10)||0}));r&&r.set("active",!0,{silent:!0})}},setEarliestReceiving:function(){var e=null,i=null;t.each(this.order.get("items").models,(function(s){t.each(s.get("shippingRates"),(function(t){t.method.includes("Pickup")?(!e||new Date(e)>new Date(t.edd))&&(e=t.edd):t.method.includes("Uber")||(!i||new Date(i)>new Date(t.edd))&&(i=t.edd)}))}));var s="",n="",r="",a=this.viewState.get("useShipping")&&-1!=this.order.get("deliveryAddress");i&&a&&(s="(Arrives ".concat(o.getRelativeDateString(i),")")),e&&(n="(Ready ".concat(o.getRelativeDateString(e),")"),r="(Arrives ".concat(o.getRelativeDateString(e),")")),this.viewState.set("earliestReceiving",{shipString:s,pickupString:n,uberString:r})}}),n}.apply(t,s))||(e.exports=n)},41098(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(51697),i(94826),i(65222)],void 0===(n=function(e,t,i,s,n,r,o){return o.Views.CheckoutTurnaroundEdit=i.View.extend({template:s.twig({data:n}),optionTemplate:s.twig({data:r}),SAMEDAY:1,FAST:2,SLIGHT:3,initialize:function(i){this.order=i.order,this.listenTo(this.order,"sync",this.updateViewContent),this.render(),e(window).on("resize",t.bind(this.updatePlaceholderWidth,this));var s=this;e(window).on("scroll",t.bind(this.closeHelp,this)),e(document).mouseup((function(e){s.closeHelp()}))},events:{"click .select-option":"onSelectOption","click .title-container":"toggleWidget","click .info-text":"toggleHelp"},render:function(){this.$el.html(this.template.render());var e=!1;2===this.model.get("itemShipFromLocation")&&(e=!0);
1var i=this.model.get("proof")?this.model.get("proof").id:null,s=this;t.each(this.model.get("rushData").options.rush_option,(function(t){var n={title:"".concat(t.name.replace("Service","Printing")),id:t.id,price:"+".concat(o.Functions.moneyFilter(t.price,{withCode:!1})),isTorontoTime:e,proofType:i};return n.rushDescription=s.getRushDescription(t.turnaround),s.$(".rush-option-wrapper").append(s.optionTemplate.render(n)),!1})),this.updateViewContent(),this.toggleWidget()},updateViewContent:function(){this.$(".rush-option .select-option").removeClass("selected"),this.$(".rush-option .select-option").text("Select");var e=null,i=null,s=this;if(this.model.get("rushData").selected){var n=this.model.get("rushData").systemName,r=this.model.get("extras").findBySystemName(n);if(r){e=r.get("options").rush_option.value;t.each(this.model.get("rushData").options.rush_option,(function(t){if(t.price==s.model.get("rushData").price&&e==t.id)return e=t,!1;t.price==s.model.get("rushData").price&&(i=t)}))}}e&&this.$('.rush-option .select-option[data-id="'.concat(e.id,'"]')).length?(this.$el.addClass("selected"),this.$('.rush-option .select-option[data-id="'.concat(e.id,'"]')).addClass("selected"),this.$('.rush-option .select-option[data-id="'.concat(e.id,'"]')).text("Remove"),this.rushSelected=!0):i&&this.$('.rush-option .select-option[data-id="'.concat(i.id,'"]')).length?(this.$el.addClass("selected"),this.$('.rush-option .select-option[data-id="'.concat(i.id,'"]')).addClass("selected"),this.$('.rush-option .select-option[data-id="'.concat(i.id,'"]')).text("Remove"),this.rushSelected=!0):(this.$el.removeClass("selected"),this.rushSelected=!1);var a=this.model.get("rushData").offsetPriceDifference||0;t.each(this.model.get("rushData").options.rush_option,(function(e){s.$('.rush-option[data-id="'.concat(e.id,'"]')).length&&s.$('.rush-option[data-id="'.concat(e.id,'"]')).find(".price").text("+".concat(o.Functions.moneyFilter(e.price+a,{withCode:!1})))})),this.updatePlaceholderWidth()},toggleWidget:function(e){var t=this;e?this.$el.hasClass("opened")?this.close():this.open():setTimeout((function(){t.rushSelected&&!t.$el.hasClass("opened")?t.open():t.close()}),0)},open:function(){var e=this;this.$el.addClass("opened"),setTimeout((function(){e.$(".inner-container").css("overflow","visible")}),300)},close:function(){this.$(".inner-container").css("overflow","hidden"),this.$el.removeClass("opened")},toggleHelp:function(t){var i=e(t.currentTarget).closest(".help-container");i.hasClass("open-help")?i.removeClass("open-help"):(i.addClass("open-help"),this.$(".collapse-control").css("overflow","visible"))},closeHelp:function(){this.$(".open-help").removeClass("open-help"),this.$(".collapse-control").css("overflow","hidden")},updatePlaceholderWidth:function(){if(this.$el.hasClass("opened")){var e=this.$(".inner-container").width()-(this.$(".icon:visible").outerWidth(!0)+this.$("h5:visible").outerWidth(!0)+this.$(".arrow-icon-wrapper").outerWidth(!0));this.$(".toggle-open-placeholder").css("width",e-2)}},onSelectOption:function(i){if(e(i.currentTarget).hasClass("selected"))return this.removeRush(),!1;var s=e(i.currentTarget).attr("data-id"),n=t.extend({},this.model.get("rushData")),r=t.find(this.model.get("rushData").options.rush_option,(function(e){return e.id==s})),o=this.model.get("rushData").systemName;this.model.get("extras").findBySystemName(o)&&this.model.get("extras").remove(n),n.isSelected=!0,n.isShown=!0,n.selection={rush_option:r},this.model.get("extras").add(n);var a=this;this.model.trigger("syncStart"),this.model.save(null,{silent:!0}).done((function(){a.model.trigger("refresh")}))},removeRush:function(){var e=this.model.get("rushData").systemName,t=this.model.get("extras").find((function(t){return t.get("systemName")===e}));if(t){this.model.get("extras").remove(t);var i=this;this.model.trigger("syncStart"),this.model.save(null,{silent:!0}).done((function(){i.model.trigger("refresh")}))}},getRushDescription:function(e){if(e<=1)return"Same-Day Printing gets your order printed and ready for shipment on the same day, as long as it's placed before the cut-off time. Perfect for last-minute projects! Final shipping costs will be calculated at checkout.";var t=e-1;return"".concat(t,"-Day Printing gets your order printed and ready for shipment within ").concat(t," business day").concat(t>1?"s":"",", as long as it's placed before the cut-off time. Final shipping costs will be calculated at checkout.")}}),o}.apply(t,s))||(e.exports=n)},11434(e,t,i){var s,n;
1s=[i(19636),i(2543),i(21391),i(16477),i(29661),i(61256),i(19234),i(38725),i(60011)],void 0===(n=function(e,t,i,s,n,r){return r.Views.DeliveryAddress=i.View.extend(t.extend({},r.Mixins.UberEligibility,{tpl:s.twig({data:n}),initialize:function(e){this.order=e.order,this.viewState=e.viewState,this.selectView=new r.Views.AddressSelect({order:this.order,collection:this.collection,viewState:this.viewState}),this.formView=new r.Views.AddressEdit({order:this.order,collection:this.collection,viewState:this.viewState}),this.buttonsView=new r.Views.AddressButtons({viewState:this.viewState}),this.debouncedCheckUberEligibility=t.debounce(this.checkUberEligibility.bind(this),300),this.render(),this.listenTo(this.viewState,"change:pickupDistances",this.updatePickupDistance),this.listenTo(this.viewState,"change:earliestReceiving",this.updateEarliestReceiving),this.listenTo(this.viewState,"change:address",this.onAddressChange),this.listenTo(this.formView,"save:address",this.addressSaved),this.listenTo(this.formView,"cancel:address",this.cancelEdit),this.listenTo(this.formView,"error:address",this.showAddressError),this.listenTo(this.collection,"add change remove",this.subRender),this.listenTo(this.buttonsView,"button:add",this.showNewForm),this.listenTo(this.buttonsView,"button:edit",this.showEditForm),this.listenTo(this.buttonsView,"button:cancel",this.showSelect),this.listenTo(this.buttonsView,"button:delete",this.deleteAddress),this.listenTo(this.buttonsView,"button:change",this.showSelect),this.listenTo(i,"shipping:required",this.showPanel),this.listenTo(i,"shipping:disabled",this.hidePanel)},events:{"change form input":"formEdited","keyup form input":"formEdited",'change input[type=radio][name="delivery-method"]':"selectShippingMethod",'change input[type=radio][name="pick-up-location"]':"selectPickupLocation","change #address_postalCode":"onPostalCodeChange","change #address_country":"onCountryChange"},triggerSaveAddress:function(){this.formView&&this.formView.saveAddressWhenFormIsComplete()},selectShippingMethod:function(e){var t=this.$('.shipping-method-input[name="delivery-method"]:checked').val(),i=!0,s=!1;"ship-uber"===t?(i=!0,s=!0,this.$(".customer-shipping-address").removeClass("hide"),this.$(".pickup-locations-wrapper").addClass("hide")):"ship"!==t?(i=!1,s=!1,this.$(".customer-shipping-address").addClass("hide"),this.$(".pickup-locations-wrapper").removeClass("hide")):(i=!0,s=!1,this.$(".customer-shipping-address").removeClass("hide"),this.$(".pickup-locations-wrapper").addClass("hide")),this.viewState.set({useShipping:i,useUberDelivery:s},{silent:!0}),this.viewState.trigger("change:useShipping"),this.order.set("useShipping",i,{silent:!0}),this.order.set("useUberDelivery",s,{silent:!0}),this.order.set("useShippingChange",!0,{silent:!0}),this.order.trigger("save:order"),this.syncReviewLock();var n=window.conversionData;n&&(n.event="add_shipping_info",n.ecommerce.shipping_tier=i?"Shipping":"Pickup",window.dataLayer.push(n)),!this.viewState.get("uberEligible")||"ship"!==t&&"ship-uber"!==t||this.$(".shipping-method.ship-uber").removeClass("hide"),this.updateBorderStyles()},selectPickupLocation:function(e){var t=this.$('.location-input[name="pick-up-location"]:checked').val();this.viewState.set("pickupLocation",t)},showPanel:function(){this.$(".delivery-methods").show(),this.$(".customer-shipping-address").show()},hidePanel:function(){this.$(".delivery-methods").hide(),this.$(".customer-shipping-address").hide()},render:function(){var e={useShipping:this.viewState.get("useShipping"),useUberDelivery:!!this.viewState.get("useUberDelivery")&&this.viewState.get("useUberDelivery"),uberEligible:!!this.viewState.get("uberEligible")&&this.viewState.get("uberEligible"),pickupLocation:this.viewState.get("pickupLocation")?this.viewState.get("pickupLocation"):"vancouver",disableLocation:!!this.viewState.get("disableLocation")&&this.viewState.get("disableLocation"),officeAddresses:window.officeAddresses};if(e.only_pickup=window.only_pickup,e.canadaStickerPromo=this.order.get("canadaStickerPromo"),this.$el.html(this.tpl.render(e)),this.viewState.get("useUberDelivery")){var t=this.$('.shipping-method-input[name="delivery-method"][value="ship-uber"]');t.length>0&&!t.closest(".shipping-method").hasClass("hide")&&(t.prop("checked",!0),this.selectShippingMethod())}return this.formView.setElement(this.$(".address-form")).render(),this.buttonsView.setElement(this.$(".address-buttons")).render(),this.subRe
1nder(),new r.Views.AddressForm({el:this.$("form.address-form")}),this.onAddressChange(),this.updateBorderStyles(),this},subRender:function(){i.trigger("address:collectionChanged"),this.selectView.setElement(this.$(".address-select")).render()},changeHeader:function(e){this.$("#address-header").text(void 0===e?"Shipping Address":e)},showSelect:function(){this.$(".address-select-container").show(),this.$("form").hide(),this.buttonsView.toggleCancel(),this.selectView.setSelected(),this.addressFormOpen=!1,this.syncReviewLock()},showEditForm:function(){var e=this.viewState.get("address");this.formView.setAddress(e),this._showForm("Edit Shipping Address"),this.$("form .green-button").hide()},cancelEdit:function(){this.$(".address-buttons, .address-select-container").show(),this.$("form").hide(),this.changeHeader(),this.addressFormOpen=!1,this.syncReviewLock()},showAddressError:function(){this.trigger("error:deliveryAddress")},showNewForm:function(){this.formView.resetForm(),this._showForm("New Shipping Address")},addressSaved:function(e){this.viewState.set("address",e),this.trigger("select:deliveryAddress",e.id),this.showSelect(),this.$(".address-buttons").show(),this.buttonsView.toggleCancel()},deleteAddress:function(){if(!this._isDeleting){var e=this.viewState.get("address");if(e){var i=e.id,s=this.collection.get(i);if(s&&confirm('This will permanently delete "'+s.attributes.name+'." Continue?')){this._isDeleting=!0;var n=this;this.viewState.set("addressChanged",!0,{silent:!0});var r=function(e){e&&e.deactivatedIds&&t.each(e.deactivatedIds,(function(e){var t=n.collection.get(e);t&&n.collection.remove(t)}));for(var i=n.collection.filter((function(e){return e.get("active")})),s=null,r=null,o=0;o<i.length;o++){var a=i[o];if(null===r&&(r=a),a.get("phone")){s=a;break}}null===s&&(s=r),n.viewState.set("address",s),n.order.set("deliveryAddress",s?s.id:-1),n._isDeleting=!1};this.order.save().done((function(){s.destroy({success:function(e,t){r(t)},error:function(e,t){n.collection.remove(s),r(null)}})})).fail((function(){n._isDeleting=!1}))}}}},_showForm:function(e){this.$(".address-buttons, .address-select-container").hide(),this.$("form").show(),this.changeHeader(e),this.addressFormOpen=!0,this.syncReviewLock()},syncReviewLock:function(){this.trigger("reviewLock:change",!!this.addressFormOpen&&!!this.viewState.get("useShipping"))},formEdited:function(){this.$("form .green-button").show()},updatePickupDistance:function(){this.viewState.get("pickupDistances").distanceToVan&&this.$('.pickup-location[data-location="vancouver"] .location-label .top .distance').text(window.officeAddresses.vancouver+" (".concat(this.viewState.get("pickupDistances").distanceToVan,"KM Away)")),this.viewState.get("pickupDistances").distanceToTor&&this.$('.pickup-location[data-location="toronto"] .location-label .top .distance').text(window.officeAddresses.toronto+" (".concat(this.viewState.get("pickupDistances").distanceToTor,"KM Away)"))},updateEarliestReceiving:function(){this.$(".shipping-method.ship .shipping-method-label .fastest-liner").text(this.viewState.get("earliestReceiving").shipString),this.$(".shipping-method.pick-up .shipping-method-label .fastest-liner").text(this.viewState.get("earliestReceiving").pickupString),this.$(".shipping-method.ship-uber .shipping-method-label .fastest-liner").text(this.viewState.get("earliestReceiving").uberString)},onAddressChange:function(){var e=this.viewState.get("address");if(e&&e instanceof r.Models.Address){var t=e.get("country"),i=e.get("postalCode");t&&i?this.debouncedCheckUberEligibility(t,i):this.hideUberOption()}else this.viewState.get("uberEligible")||this.hideUberOption()},onPostalCodeChange:function(t){if(this.$(".update-address").is(":hidden")){var i=this.$("#address_country").val(),s=e(t.currentTarget).val();this.debouncedCheckUberEligibility(i,s)}},onCountryChange:function(t){if(this.$(".update-address").is(":hidden")){var i=e(t.currentTarget).val(),s=this.$("#address_postalCode").val();i?this.debouncedCheckUberEligibility(i,s):this.hideUberOption()}}})),r}.apply(t,s))||(e.exports=n)},64205(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(90259),i(64560),i(38753)],void 0===(n=function(e,t,i,s,n,r,o,a){return s.extendFilter("money",n.Functions.moneyFilter),n.Views.DeliveryMethod=i.View.extend({template:s.twig({data:o}),FAST_RUSH:1,ALSO_FAST_RUSH:2,MID_RUSH:3,NO_RUSH:0,initialize:function(e){this.method=e.method,this.international=e.international,this.order=e.order,this.init=!!e.init&&e.init,this.data=e.data.sort((function(e,t){return new Date(e.edd)-new Date(t.edd)})),this.pickup=e.pickup,this.uberDeliveryModel=new i.Model({deliveryInstruction:this.order.get("uberDeliveryInstruction")||"",deliveryAction:this.order.get("uberDeliveryAction")||"meet_at_door"});var s=this;this.debouncedSaveUber=t.debounce((function(){s.order&&s.order.trigger("save:uber")}),500),this.listenTo(this.uberDeliveryModel,"change:deliveryInstruction",(function(e,t){s.order&&(s.order.set("uberDeliveryInstruction",t,{silent:!0}),s.debouncedSaveUber())})),this.listenTo(this.uberDeliveryModel,"change:deliveryAction",(function(e,t){s.order&&(s.order.set("uberDeliveryAction",t,{silent:!0}),s.debouncedSaveUber())})),this.listenTo(this.order,"syncStart",this.disableUberInput),this.listenTo(this.order,"sync",this.enableUberInput),this.listenTo(this.order,"error",this.enableUberInput)}
1,disableUberInput:function(){this.$(".uber-delivery-instruction-input, .uber-delivery-action-radio-input").prop("disabled",!0)},enableUberInput:function(){this.$(".uber-delivery-instruction-input, .uber-delivery-action-radio-input").prop("disabled",!1)},render:function(){return this.pickup?this.renderPickupOptions():this.renderShipping(),this},renderPickupOptions:function(){var i=this,s=this,n={},r={},o={},a={};t.each(this.data,(function(e,i){var d=e.rushOption,l=e.itemId,c=[],h=!1,p=String(l);p.includes(",")?(h=!0,c=p.split(",")):c=[p],t.each(c,(function(e){n[e]=!0;var t=h?d[e]||0:d;Number(t)===s.FAST_RUSH||Number(t)===s.ALSO_FAST_RUSH?r[e]={itemId:e,dataIdx:i,isGroup:h}:Number(t)===s.MID_RUSH?o[e]={itemId:e,dataIdx:i,isGroup:h}:a[e]={itemId:e,dataIdx:i,isGroup:h}}))}));var d={},l={},c={};Object.keys(r).length&&t.each(n,(function(e,t){var i=null,n=null;r[t]?(n=r[t].dataIdx,i=Number(s.data[n].rushOption)):o[t]?(n=o[t].dataIdx,i=s.MID_RUSH):a[t]&&(n=a[t].dataIdx,i=s.NO_RUSH),d[t]={itemId:t,dataIdx:n,rushId:i}})),Object.keys(o).length&&t.each(n,(function(e,t){var i=null,n=null;o[t]?(n=o[t].dataIdx,i=s.MID_RUSH):r[t]?(n=r[t].dataIdx,i=Number(s.data[n].rushOption)):a[t]&&(i=s.NO_RUSH,n=a[t].dataIdx),l[t]={itemId:t,dataIdx:n,rushId:i}})),Object.keys(a).length&&t.each(n,(function(e,t){var i=null,n=null;a[t]?(n=a[t].dataIdx,i=s.NO_RUSH):r[t]?(n=r[t].dataIdx,i=Number(s.data[n].rushOption)):o[t]&&(i=s.MID_RUSH,n=o[t].dataIdx),c[t]={itemId:t,dataIdx:n,rushId:i}})),t.each(a,(function(e){c[e.itemId]&&c[e.itemId].rushId||(c[e.itemId]={itemId:e.itemId,dataIdx:e.dataIdx,rushId:s.NO_RUSH})})),this.order.get("items").each((function(e){n[e.get("id")]&&(n[e.get("id")]=e.toJSON())})),this.itemIdName=n;var h=this.getRushGroupFinalData(d,"fastRushOptionMap",2),p=this.getRushGroupFinalData(l,"slowRushOptionMap",1),u=this.getRushGroupFinalData(c,"noRushOptionMap",0),m=new Map([[JSON.stringify(d),this.FAST_RUSH],[JSON.stringify(l),this.MID_RUSH],[JSON.stringify(c),this.NO_RUSH]]),f=[];m.forEach((function(t,i){var s=JSON.parse(i);e.isEmptyObject(s)||f.push(t)})),this.pickupOptionsMap={};var g=[];t.each(f,(function(e){switch(e){case i.FAST_RUSH:i.pickupOptionsMap.fastRushOptionMap=d,g.push(h);break;case i.MID_RUSH:i.pickupOptionsMap.slowRushOptionMap=l,g.push(p);break;case i.NO_RUSH:i.pickupOptionsMap.noRushOptionMap=c,g.push(u)}})),g=g.sort((function(e,t){return e.ordering-t.ordering})),this.setElement(this.template.render({method:this.method,pickup:this.pickup,pickupRushOptions:g,isStaff:window.isStaff}),!0),this.updateAttributeView()},getRushData:function(e){var i=this,s={},n={};return t.each(e,(function(e){var t,r=i.itemIdName[e.itemId],o=i.data[e.dataIdx],d=o.edd,l=e.isGroup,c=l?(null===(t=o.turnaroundMin)||void 0===t?void 0:t[e.itemId])||0:o.turnaroundMin||0,h=l?o.itemRushPrice?o.itemRushPrice[e.itemId]:0:o.totalPrice;if(d in s)s[d].items.push(r),n[e.dataIdx]||(s[d].price+=o.totalPrice,n[e.dataIdx]=!0),s[d].rushOptions.push(e.rushId),s[d].turnaroundMins.push(c),s[d].itemRushPrice.push(h);else{var p=a.getDateStringWeekdayShortMonthDate(d),u=[],m=[e.rushId],f=[c],g=[h];u.push(r),s[d]={price:o.totalPrice,date:p,items:u,rushOptions:m,turnaroundMins:f,itemRushPrice:g},n[e.dataIdx]=!0}})),s},getRushGroupFinalData:function(e,i,s){var n=this.getRushData(e),r=0,o=[],a=[];t.each(n,(function(e){o.push(e),a.push(e.date),r+=e.price})),o=o.sort((function(e,t){return new Date(e.date)-new Date(t.date)})),a=a.sort((function(e,t){return new Date(e)-new Date(t)}));var d=this.getTitleDeliveryDateData(a);return{optionName:i,titleDeliveryDateStr:d.dateStr,onlyOneDate:d.onlyOneDate,groups:o,price:r,ordering:s}},renderShipping:function(){var i=this,s=0,n=!1,r=!1,o=[],d=[];t.each(this.data,(function(e){var l={date:null,items:[],shippingMethod:e.method,shippingPrice:e.freeship&&null!=e.freeshipPrice?e.freeshipPrice:e.price,rushPrice:e.rushPrice,rushOptions:[],turnaroundMins:[],itemRushPrice:[]};n||"UPS"!==e.provider||(n=!0),r||"Uber"!==e.provider||(r=!0),s+=e.totalPrice;var c=[],h=!1;e.itemId.includes(",")?(h=!0,c=e.itemId.split(",")):c=[e.itemId];var p=a.getDateStringWeekdayShortMonthDate(e.edd);d.push(p),l.date=a.getDateStringWeekdayShortMonthDate(e.edd,"long"),t.each(c,(function(s){i.order.get("items").each((function(i){i.get("id")===s&&(l.items.push(i.toJSON()),l.rushOptions.push(t.isObject(e.rushOption)?e.rushOption[s]:e.rushOption),h?(l.turnaroundMins.push(e.turnaroundMin[s]),l.itemRushPrice.push(e.itemRu
1shPrice[s])):(l.turnaroundMins.push(e.turnaroundMin),l.itemRushPrice.push(e.itemRushPrice)))}))})),o.push(l)}));var l=this.getTitleDeliveryDateData(d);this.setElement(this.template.render({method:this.method,importFees:n&&this.international,titleDeliveryDateStr:l.dateStr,onlyOneDate:l.onlyOneDate,price:s,estDeliveryDates:o,isUber:r,isStaff:window.isStaff}),!0),this.updateAttributeView(),this.updateUberInstructionsVisibility(),this.$(".uber-delivery-action-radio-input:checked").each((function(){e(this).closest(".uber-delivery-action-radio").addClass("uber-radio-selected")}))},getTitleDeliveryDateData:function(e){if(!e.length)return"";var i="",s="";t.each(e,(function(t,n){0===n&&(i=t),n===e.length-1&&(s=t)}));var n=!1,r="";if(i===s)n=!0,r=s;else{var o=i.split(" "),a=s.split(" ");r=o[1]===a[1]?"".concat(o[1]," ").concat(o[2]," - ").concat(a[2]):"".concat(o[1]," ").concat(o[2]," - ").concat(a[1]," ").concat(a[2])}return{onlyOneDate:n,dateStr:r}},updateAttributeView:function(){var e=this;this.order.get("items").each((function(i){var s=i.get("product");if(null!=s){var n=s.get("type").id;if(t.each(s.basicAttributes,(function(o){if("printTypes"!==o&&(65!==n||!["size","size1","size2","stock","stock1","stock2","frontCoating","backCoating","output","sheet"].includes(o))){var a=s.get(o)||s.get("spec")&&s.get("spec")[o];if(("output"===o||"sheet"===o)&&s.get("spec")&&s.get("spec").stickerOutput&&(a=s.get("spec").stickerOutput[o]&&s.get("spec").stickerOutput[o].label),"coilColor"==o){var d=s.get("spec")?s.get("spec").binding:null;if(d&&3!=d.id)return void e.$(".".concat(i.get("id")," .").concat(o)).css("display","none")}if("coating"==o&&[17,49,59].includes(n)&&[1,3].includes(a.id))e.$(".".concat(i.get("id")," .").concat(o)).css("display","none");else{var l=65===n&&"stickerCount"===o?"sticker-count-display":o;if(a){var c=r.getAttributeCaption(o,n);if(-1!==c.indexOf("Select ")&&(c=c.substr(7)),e.$(".".concat(i.get("id")," .").concat(l)).css("display","block"),e.$(".".concat(i.get("id")," .").concat(l," .attr-title")).text("".concat(c,": ")),t.isObject(a)&&a.marketingLabel&&(a.label=a.marketingLabel),"size"==o&&[23,37].includes(n)&&s.get("spec")&&s.get("spec").shape){var h=s.get("spec").shape,p=37===n&&h.marketingLabel?h.marketingLabel:h.label;if(a.label.includes("Custom Size -")){var u=a.label.replace("Custom Size - ","")+" - ".concat(p);a.label=u}}if("size"==o&&[2,15,45].includes(n)&&i.get("orientation")){var m=i.get("orientation");m=m.charAt(0).toUpperCase()+m.slice(1),a.label=a.label+" ("+m+")"}e.$(".".concat(i.get("id")," .").concat(l," .label")).text(t.isObject(a)?a.label:a)}}}})),65===n){var o=s.get("spec");o&&o.size1&&(e.$(".".concat(i.get("id")," .sticker-size-display")).css("display","block"),e.$(".".concat(i.get("id")," .sticker-size-display .label")).text(o.size1.printWidth+'" x '+o.size1.printHeight+'"'))}var a=i.toJSON();t.each(a.extras,(function(s,n){if(null!=s.options&&Object.keys(s.options).length>0)if("envelope"==s.systemName)e.$(".".concat(i.get("id")," .envelope .attr-title")).text("Envelopes:"),t.each(s.options,(function(t,s){"envelope"===s&&t.object&&t.object.name&&e.$(".".concat(i.get("id")," .envelope .label")).text(t.object.name)})),e.$(".".concat(i.get("id")," .envelope")).show();else if("edge_finishing"==s.systemName){e.$(".".concat(i.get("id")," .edge-finishing .attr-title")).text("Edge Painting:");var r="";t.each(s.options,(function(e){"string"===e.type&&isNaN(e.value)?r=e.value:e.object&&e.object.name&&(r=e.object.name)})),e.$(".".concat(i.get("id")," .edge-finishing .label")).html(r),e.$(".edge-finishing").show()}}))}}))},events:{click:"select","change .uber-delivery-instruction-input":"onInstructionsChange","change .uber-delivery-action-radio-input":"onDeliveryActionChange"},select:function(t){if(!(t&&t.originalEvent&&0===t.originalEvent.detail||t&&(e(t.target).hasClass("uber-delivery-instruction-input")||e(t.target).hasClass("uber-delivery-action-radio-input")||e(t.target).closest(".uber-delivery-action-radio").length>0)))if(this.pickup)this.pickupSelect(t);else{if(t&&e(t.currentTarget).hasClass("selected"))return void(e(t.currentTarget).hasClass("collapse-content")?e(t.currentTarget).removeClass("collapse-content"):e(t.currentTarget).addClass("collapse-content"));if(!t)return void((this.order&&this.order.get("selectedShipping"))!==this.method?(this.order&&this.order.set("selectedShipping",this.method,{silent:!0}),this.$el.addClass("selected").siblings(".delivery-method").removeClass("selected"),this.updateUberInstru
1ctionsVisibility&&this.updateUberInstructionsVisibility(),this.trigger("select:method",this.method,this,this.item)):(this.$el.addClass("selected").siblings(".delivery-method").removeClass("selected"),this.updateUberInstructionsVisibility&&this.updateUberInstructionsVisibility()));this.trigger("select:method",this.method,this,this.item)}},pickupInitSelect:function(){var i=[],s={};this.order.get("items").each((function(e){var t=e.get("extras").findBySystemName("sameday");if(t){var n=t.get("options")&&t.get("options").rush_option&&t.get("options").rush_option.value?t.get("options").rush_option.value:null;!n||null!=e.get("selectedRushOption")&&0!=e.get("selectedRushOption")||e.set("selectedRushOption",n)}if(void 0===e.get("selectedRushOption")||null===e.get("selectedRushOption"))i.push(e.get("id"));else{var r=e.get("selectedRushOption");s[e.get("id")]=Number(r)}}));var n=null;e.isEmptyObject(s)||t.each(this.pickupOptionsMap,(function(e,i){var r=!0;if(t.each(s,(function(t,i){return e[i]?e[i].rushId!==t?(r=!1,!1):void 0:(r=!1,!1)})),r)return n=i,!1}));var r=!1;if(n||(n="noRushOptionMap",r=!0),i.length&&(r=!0),r)this.setItemOptions(n);else{var o=this.$('.delivery-method[data-optionname="'.concat(n,'"]'));this.$(".delivery-method").removeClass("selected"),o.addClass("selected"),this.$(".delivery-method").removeClass("disabled"),this.init||e("html, body").animate({scrollTop:o.offset().top-50},500)}},easyPickupInitSelect:function(){this.$(".delivery-method").first().addClass("selected"),this.$(".delivery-method").removeClass("disabled")},setItemOptions:function(e){var t=this;this.order.get("items").each((function(i){var s=i.get("id"),n=t.pickupOptionsMap[e][s].rushId;i.set("selectedRushOption",n)})),this.order.trigger("select:deliveryMethod")},pickupSelect:function(t){if(t&&e(t.target).hasClass("selected"))e(t.target).hasClass("collapse-content")?e(t.target).removeClass("collapse-content"):e(t.target).addClass("collapse-content");else{this.$(".delivery-method").addClass("disabled");var i=e(t.target).data("optionname");this.setItemOptions(i)}},onInstructionsChange:function(t){t.stopPropagation();var i=e(t.target).val();this.uberDeliveryModel.set("deliveryInstruction",i)},onDeliveryActionChange:function(t){t.stopPropagation();var i=e(t.target).val();this.$(".uber-delivery-action-radio").removeClass("uber-radio-selected"),e(t.target).closest(".uber-delivery-action-radio").addClass("uber-radio-selected"),this.uberDeliveryModel.set("deliveryAction",i)},updateUberInstructionsVisibility:function(){var e=this.$(".uber-delivery-instruction-input"),t=this.$(".uber-delivery-options");if(0!==e.length||0!==t.length){var i=this.$el.hasClass("selected"),s=this.data&&this.data.some((function(e){return"Uber"===e.provider}));if(i&&s){if(t.addClass("show"),e.addClass("show"),e.length>0){var n=e.is(":focus"),r=this.uberDeliveryModel.get("deliveryInstruction")||"",o=e.val()||"";n?o!==r&&this.uberDeliveryModel.set("deliveryInstruction",o,{silent:!0}):o!==r&&e.val(r)}var a=this.$(".uber-delivery-action-radio-input:checked");if(!(a.length>0?a.val():null)){var d=this.uberDeliveryModel.get("deliveryAction")||"meet_at_door",l=this.$('.uber-delivery-action-radio-input[value="'+d+'"]');l.length>0&&(l.prop("checked",!0),l.closest(".uber-delivery-action-radio").addClass("uber-radio-selected"))}}else t.length>0&&t.removeClass("show"),e.length>0&&e.removeClass("show")}}}),n}.apply(t,s))||(e.exports=n)},3560(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(38753),i(64205),i(14396)],void 0===(n=function(e,t,i,s,n,r){return n.Views.DeliveryMethods=i.View.extend({PICKUP:"Pickup",STANDARD:"Standard",PRIORITY:"Priority",EXPRESS:"Express",UBER:"Uber",initialize:function(e){t.bindAll(this,"render"),this.order=e.order,this.viewState=e.viewState,this.isGuest=e.isGuest,this.programSelectCount=0,this.listenTo(this.order,"change:appliedPromo",this.saveOrder),this.listenTo(this.order.get("items"),"add remove change:shippingRates",this.render),this.listenTo(this.viewState,"change",this.render),this.listenTo(this.order,"shipping-method:not-all-methods",this.showMethodsWarning),this.listenTo(this.order,"shipping-method:all-methods",this.removeMethodsWarning),this.$(".shipping-methods-loader").fadeOut(),this.$el.removeClass("min-height"),this.render(e.init)},getShippable:function(e){return this.order.get("items").filter((function(t){return t.get("shippable")&&(null==e||e.includes(t.get("id")))}))},render:function(e){var i=this,s=(this.getShippable(),this.viewState.get("useShipping")),r=this.viewState.get("pickupLocation"),o=!s&&r,a=this.order.get("selectedShipping");this.methodViews={};var d="CA";s&&this.viewState.get("address")&&(d=this.viewState.get("address").get("country"));var l="CA"!=d&&"US"!=d,c=null,h=null,p=null;t.each(this.methodViews,(function(e,t){if(e){var i=e.$(".uber-delivery-instru
1ction-input"),s=e.$(".uber-delivery-action-radio-input");(i.length>0||s.length>0)&&(c=e,h=t,p=e.$el.detach(),{instruction:i.length>0?i.val():null,action:s.filter(":checked").val()||null,isInputFocused:i.is(":focus"),cursorPosition:i.is(":focus")&&i[0]?i[0].selectionStart:null})}})),t.each(this.methodViews,(function(e,t){e!==c&&e.remove()})),this.$(".item-heading, .selected-delivery-method, .shipping-methods-input, .shipping-methods-label, .delivery-buttons-wrapper, .pickup-buttons-wrapper").remove();var u="";this.order.get("items").each((function(e){var t=e.getJobName();u+="<div>".concat(t,"</div>")})),this.$(".pobox-shipment-tip").before('\n            <h5 class="item-heading hide">'.concat(u,'</h5>\n            <div class="delivery-buttons-wrapper"></div>'));var m=this.order.get("shippingRates");o?(m=t.pickBy(m,(function(e,t){return"Pickup"===t})),this.$(".rural-area-message").addClass("hide"),this.$(".delivery-methods").hide(),this.$(".pickup-methods").show()):(this.$(".delivery-methods-label").text("Shipping Method"),m=t.pickBy(m,(function(e,t){return"Pickup"!==t})),this.$(".delivery-methods").show(),this.$(".pickup-methods").hide());var f=!1,g=null,v=!0;t.each(m,(function(s,r){if(s.length>0){var d=r===i.PICKUP,u=s.some((function(e){return"Uber"===e.provider})),m={method:r,data:s,international:l,pickup:d,order:i.order,init:e},y=null;c&&r===h&&u?((y=c).data=m.data.sort((function(e,t){return new Date(e.edd)-new Date(t.edd)})),o?(i.$(".pickup-methods").append(p),y.easyPickupInitSelect()):(i.$(".item-heading ~ .delivery-buttons-wrapper").append(p),i.listenTo(y,"select:method",i.selectMethod)),c=null,p=null,!0):(y=new n.Views.DeliveryMethod(m),o?(t.each(s,(function(e){if(g){if(e.edd!==g)return v=!1,!1}else g=e.edd})),i.$(".pickup-methods").append(y.render().$el),y.easyPickupInitSelect()):(i.$(".item-heading ~ .delivery-buttons-wrapper").append(y.render().$el),i.listenTo(y,"select:method",i.selectMethod))),r===i.STANDARD&&t.each(s,(function(e){if(1==e.freeship&&0!==e.freeshipPrice)return f=!0,!1})),i.methodViews[r]=y,o||r!=a||(i.highlightSelected(y),y.updateUberInstructionsVisibility&&y.updateUberInstructionsVisibility())}}));var y=this.viewState.get("useUberDelivery");if(!o&&y&&t.each(i.methodViews,(function(e,t){if(t===i.UBER)return e.select(),!1})),!o&&0===i.$(".delivery-method.selected").length){var w=!1;t.each(i.methodViews,(function(e,t){if(t===i.STANDARD)return w=!0,e.select(),!1})),w||t.each(i.methodViews,(function(e,t){if(t===i.UBER)return e.select(),!1}))}if(!o&&f?this.$(".rural-area-message").removeClass("hide"):this.$(".rural-area-message").addClass("hide"),o){v?this.$(".delivery-methods-label").text("Your Pickup Date"):(this.$(".delivery-methods-label").text("Your Pickup Dates"),this.$(".multiple-date-message").removeClass("hide"));var b=window.officeAddresses[r],S=window.officeMaps[r];b&&S&&this.$(".delivery-methods-label").append('<span>Pickup Address: <a target="_blank" href="'.concat(S,'">').concat(b,"</a></span>"))}return e||this.checkForShippingMethods(Object.keys(this.methodViews).length),this.viewState.get("address")&&this.viewState.get("address").get("poBox")?this.$(".pobox-shipment-tip").removeClass("hide"):this.$(".pobox-shipment-tip").addClass("hide"),this},selectMethod:function(i,s){e(".delivery-method").addClass("disabled"),this.order.set("selectedShipping",i,{silent:!0});var n=i===this.UBER;this.viewState.set("useUberDelivery",n,{silent:!0}),this.order.set("useUberDelivery",n,{silent:!0}),this.highlightSelected(s),this.order.trigger("select:deliveryMethod");t.each(this.methodViews,(function(e,t){e&&e.updateUberInstructionsVisibility&&e.updateUberInstructionsVisibility()})),e("html, body").animate({scrollTop:s.$el.offset().top-50},500)},highlightSelected:function(e){this.$(".delivery-method").removeClass("selected"),e.$el.addClass("selected")},checkForShippingMethods:function(e){0===e?this.showMethodsWarning(!0):this.removeMethodsWarning()},showMethodsWarning:function(e){this.removeMethodsWarning();var t=this.isGuest&&this.viewState.get("email")&&!this.viewState.get("editContact")&&this.viewState.get("address")&&!this.viewState.get("editDelivery");this.isGuest&&!t||(e||this.trigger("shipping:no-methods"),this.$(".checkout-section.delivery-methods").append('<h5 class="warning-message">
1We did not receive a response from all of our shipping providers.</h5><h5 class="warning-message">Not all options are available at the moment.</h5><h5 class="warning-message">This may also be caused by an invalid address, please click "Edit" and confirm the shipment details are correct.</h5>'))},removeMethodsWarning:function(){this.$(".checkout-section.delivery-methods .warning-message").remove()},saveOrder:function(){this.order.trigger("save:order")}}),n}.apply(t,s))||(e.exports=n)},29044(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(90890),i(26990)],void 0===(n=function(e,t,i,s,n,r){return n.Views.GiveAwayItem=i.View.extend({template:s.twig({data:r}),initialize:function(e){this.order=e.order;var t=!1;this.order.get("includeGiveAway")&&this.order.get("includeGiveAway").length&&(t=!0),this.model=new n.Models.ViewState({title:"Free Pride Sticker Pack!",description:"To celebrate Pride Month, we're including a Free Sticker Pride Pack with every order! Show your support and enjoy these vibrant stickers with your purchase.",imgUrl:"https://res.cloudinary.com/dbtcocjdk/image/fetch/f_auto,dpr_auto,w_250/https://storage.jukeboxprint.com/s/images/pride-sticker-promo-June24.png",giveAwayData:"Pride Sticker",includeGiveAway:t}),this.listenTo(this.order,"sync",this.reValidateItems)},events:{'change input[type=radio][name="give_away_item"]':"selectGiveAway"},render:function(){return this.$el.html(this.template.render(this.model.toJSON())),this.reValidateItems(),this},selectGiveAway:function(){"yes"===this.$('input[name="give_away_item"]:checked').val()?this.order.set("includeGiveAway",this.model.get("giveAwayData")):this.order.set("includeGiveAway",!1),this.order.trigger("save:order")},reValidateItems:function(e){var t=0;(this.order.get("items").each((function(e,i){classification=e.get("classification"),"sample_pack"===classification||e.get("product")&&e.get("product").get("type")&&50==e.get("product").get("type").id||t++})),0==this.order.get("subtotal")||0==t)?("yes"===this.$('input[name="give_away_item"]:checked').val()&&(this.$("#free-item-no").attr("checked",!0).trigger("change"),this.selectGiveAway()),this.$el.hide()):this.$el.show()}}),n}.apply(t,s))||(e.exports=n)},6206(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(43531),i(7519),i(65222),i(5871),i(5837),i(46289),i(31732),i(61256),i(34124),i(60011),i(85458)],n=function(e,t,i,s,n,r,o,a,d){return o.Views.GuestInfo=i.View.extend(t.extend({},o.Mixins.UberEligibility,{tpl:s.twig({data:n}),initialize:function(e){var i;this.order=e.order,this.collection=e.collection,this.viewState=e.viewState,this.guestPhoneHandler=null,this.selectedCountryCode="",this.previousCountry=window.geoCode?window.geoCode:"CA";var s=this.order.get("customerData"),n=null===(i=this.viewState.get("address"))||void 0===i?void 0:i.get("country");n?this.selectedCountryCode=n:window.geoCode&&(this.selectedCountryCode=window.geoCode),this.initContactForm={email:s&&s.email?s.email:"",phone:s&&s.phone?s.phone:"+".concat(r.getCountryCallingCode(this.selectedCountryCode)," ")},this.initContactForm.phone.length&&(this.initContactForm.phone=a.formatPhoneNumber(this.initContactForm.phone,this.selectedCountryCode)),this.viewState.set({email:this.initContactForm.email,phone:this.initContactForm.phone,tempAddress:new o.Models.Address,needToSaveDelivery:!0,useShipping:this.order.get("useShipping"),useUberDelivery:this.order.get("useUberDelivery")}),this.debouncedCheckUberEligibility=t.debounce(this.checkUberEligibility.bind(this),300),this.render("init"),this.on("save:ContactFirst",this.updateContact),this.listenTo(this.viewState,"change",this.render)},events:{"click .edit-contact":"editContact","change form.guest-contact-form input":"allowEdit",'change input[type=radio][name="delivery-method"]':"selectShippingMethod",'change input[type=radio][name="pick-up-location"]':"selectPickupLocation","change #address_country":"onCountryChange",'input form.guest-contact-form input[name="phone"]':"updateShippingPhone","change #address_postalCode":"onPostalCodeChange"},selectShippingMethod:function(e){var t=this.formView.getFormValuesAsObject();this.viewState.get("tempAddress").set(t);var i=this.$('.shipping-method-input[name="delivery-method"]:checked').val(),s=!0,n=!1,r=this.$(".guest-contact-form"),o=r.find('[name="email"]').val(),a=r.find('[name="phone"]').val();"ship-uber"===i?(s=!0,n=!0,this.selectedCountryCode=this.previousCountry):"ship"!==i?(s=!1,n=!1,this.previousCountry=this.selectedCountryCode,this.selectedCountryCode=window.geoCode,this.guestPhoneHandler&&this.guestPhoneHandler.trigger("change:country",this.selectedCountryCode)):(s=!0,n=!1,this.selectedCountryCode=this.previousCountry);var d={email:o,phone:a,useShipping:s,useUberDelivery:n};this.order.set("useShipping",s,{silent:!0}),this.order.set("useUberDelivery",n,{silent:!0}),this.order.set("useShippingChange",!0,{silent:!0}),this.order.trigger("save:order",{silent:!0}),this.viewState.set(d);var l=window.conversionData;l&&(l.event="add_shipping_info",l.ecommerce.shipping_tier=s?"Shipping":"Pickup",window.dataLayer.push(l)),!this.viewState.get("uberEligible")||"ship"!==i&&"ship-uber"!==i||this.$(".shipping-method.ship-uber").removeClass("hide"),this.updateBorderStyles()},selectPickupLocation:function(e){var t=this.$('.location-input[name="pick-up-location"]:checked').val();this.viewState.set("pickupLocation",t)},render:function(e){var i={},s=!1;if(t.each(this.viewState.toJSON(),(function(e,t){e&&e.attributes&&"CA"==e.attributes.country&&(s=!0),e&&e instanceof o.Models.Address&&-1==e.get("id")?i[t]=!1:i[t]=e&&e instanceof o.Models.Address?e.formatAddress(s):e})),i.only_pickup=window.only_pickup,i.officeAddresses=window.officeAddresses,i.canadaStickerPromo=this.order.get("canadaStickerPromo"),this.$el.html(this.tpl.render(i)),this.updateEarliestReceiving(),this.order.get("useUberDelivery")&&(this.viewState.set("useUberDelivery",!0,{silent:!0}),this.$(".shipping-method.ship-uber").removeClass("hide"),this.$("#delivery-method-ship-uber").prop("checked",!0)),this.$(".address-form").length>0){this.formView=new o.Views.AddressEdit({order:this.order,collection:this.collection,disableSubmit:!0}),this.formView.setElement(this.$(".address-form")).render(),this.addressForm=new o.Views.AddressForm({el:this.$("form.address-form")}),this.$("#address-form-save").hide(),this.$("#address-form-cancel").hide();var n=!0;if(this.viewState.get("address")&&"init"===e)if(-1!=this.order.get("deliveryAddress")){this.formView.setAddress(this.viewState.get("address"),!0),this.viewState.set("needToSaveDelivery",!1,{silent:!0});var r=this.formView.getFormValuesAsObject();this.viewState.get("tempAddress").set(r),n=!1}else this.viewState.get("tempAddress").set("country",this.selectedCountryCode);else this.viewState.get("tempAddress").set("country",this.selectedCountryCode);n&&this.formView.setAddress(this.viewState.get("tempAddress"),!0),this.guestPhoneHandler=new o.Views.PhoneHandler({el:this.$(".guest-contact-form"),isGuest:!0,country:this.selectedCountryCode});var a=this;this.$("input").on("keyup",(function(){a.checkFormValueChange()})),this.$("input").on("focus",(function(){a.checkFormValueChange()})),this.$(".select2").on("click",(function(){a.checkFormValueChange()})),this.$("form :input").change((function(){a.checkFormValueChange()})),this.listenTo(this.formView,"save:address",this.addressSaved),this.listenTo(this.formView,"error:ad
1dress",this.addressError)}this.updateBorderStyles()},checkFormValueChange:function(){var e=this,t=null;(this.viewState.get("address")&&(t=this.viewState.get("address").attributes),t)&&(d.addressFormChanged(t,["name","company","address","addressExtra","buzzer","city","country","postalCode","province","phone"],(function(t){return e.$("#address_"+t).val()}))?this.viewState.set("needToSaveDelivery",!0,{silent:!0}):this.viewState.set("needToSaveDelivery",!1,{silent:!0}))},updateDeliveryPlaceholder:function(){this.$(".display-delivery-address").html(this.$(".guest-delivery-address .address-form #address_company").val()+"<br>"+this.$(".guest-delivery-address .address-form #address_address").val()+"<br>"+this.$(".guest-delivery-address .address-form #address_city").val()+", "+this.$(".guest-delivery-address .address-form #address_province").val()+", "+this.$(".guest-delivery-address .address-form #address_country").val()+"\n"+this.$(".guest-delivery-address .address-form #address_postalCode").val())},updateContact:function(){var t,i=this.$(".guest-contact-form");this.$(".email-field .error, .phone-field .error").text("");var s=i.find('[name="phone"]'),n=null==s||null===(t=s.val())||void 0===t?void 0:t.trim(),r=this.$("#address_country").val()||window.geoCode;this.guestPhoneHandler&&s.length&&this.guestPhoneHandler.validatePhoneOnBlur({target:s[0]});var o={email:i.find('[name="email"]').val(),phone:a.formatPhoneNumberOrSetEmpty(n,r)};if(0==o.email.trim().length)return this.$(".email-field .error").text("Email is a required field."),e("html, body").animate({scrollTop:this.$(".email-field").offset().top},500),void this.order.trigger("loadingStop");if(i.find(".phone-field").hasClass("fail"))return e("html, body").animate({scrollTop:this.$(".phone-field").offset().top},500),void this.order.trigger("loadingStop");var d=!1;return e.each(this.initContactForm,(function(e,t){o[e]!=t&&(d=!0)})),d||this.viewState.get("needToSaveDelivery")?d?e.ajax({url:"/guest/contact",type:"POST",data:o,context:this}).done((function(e){e.errors&&e.errors.email?(this.$(".email-field .error").text("Email is a required field."),this.order.trigger("loadingStop")):e.errors&&e.errors.phone?(this.$(".phone-field .error").text(e.errors.phone),this.order.trigger("loadingStop")):(this.viewState.set({email:e.email,phone:e.phone},{silent:!0}),window.phone=e.phone.length>0,this.updateDelivery())})).fail((function(e,t,i){var s=e.responseText;s=JSON.parse(s),this.$(".email-field .error").text(s.message),this.$(".guest-contact")[0].scrollIntoView(),this.order.trigger("loadingStop")})):this.updateDelivery():this.trigger("allSaved:continueToPayment"),!1},updateDelivery:function(){this.viewState.get("useShipping")&&this.viewState.get("needToSaveDelivery")?this.formView.saveAddressWhenFormIsComplete():this.trigger("allSaved:continueToPayment")},addressSaved:function(e){this.viewState.set({address:e}),this.trigger("select:deliveryAddress",e.id);var t=e.clone();t.unset("id",{silent:!0}),this.viewState.set("tempAddress",t),this.trigger("allSaved:continueToPayment")},addressError:function(){this.trigger("enable-button")},allowEdit:function(){this.$(".green-button").show()},updateInternationalPhoneRequirement:function(t){var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=e(t.currentTarget).val();this.guestPhoneHandler&&s&&!i&&(this.guestPhoneHandler.trigger("change:country",s),this.selectedCountryCode=s)},updateEarliestReceiving:function(){this.$(".shipping-method.ship .shipping-method-label .fastest-liner").text(this.viewState.get("earliestReceiving").shipString),this.$(".shipping-method.pick-up .shipping-method-label .fastest-liner").text(this.viewState.get("earliestReceiving").pickupString),this.$(".shipping-method.ship-uber .shipping-method-label .fastest-liner").text(this.viewState.get("earliestReceiving").uberString)},updateShippingPhone:function(t){var i=e(t.target),s=this.$("form.address-form [id=address_phone]");s.length&&this.viewState.get("useShipping")&&(s.val(i.val()),s.trigger("input"),this.checkFormValueChange())},onPostalCodeChange:function(t){var i=this.$("#address_country").val(),s=e(t.currentTarget).val();this.debouncedCheckUberEligibility(i,s)},onCountryChange:function(t){this.updateInternationalPhoneRequirement
1(t,!1);var i=e(t.currentTarget).val(),s=this.$("#address_postalCode").val();i?this.debouncedCheckUberEligibility(i,s):this.hideUberOption()}})),o}.apply(t,s),void 0===n||(e.exports=n)},18386(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(65222)],void 0===(n=function(e,t,i,s){return s.Views.JobName=i.View.extend({MAX_JOB_NAME_LENGTH:50,events:{"mouseenter .name-display":"onNameEnter","mouseleave .name-display":"onNameLeave","focus .name-display":"onNameFocus","input .name-display":"input","blur .name-display":"updateJobName"},initialize:function(e){this.productName=e.productName,this.product=e.product,this.wrapper=this.$(".job-name-wrapper"),this.displayJobNameField=this.$(".name-display")},render:function(){var e="";return"Job"==this.model.get("jobName")?this.productName?e=this.productName:(e=this.product.get("type").label,"Business Cards (Single Ply)"===this.product.get("type").label&&(e="Business Cards")):e=this.model.get("jobName"),this.displayJobNameField.text(e),this},onNameEnter:function(e){this.wrapper.addClass("hovered")},onNameLeave:function(e){this.wrapper.removeClass("hovered")},onNameFocus:function(e){this.wrapper.addClass("focused")},input:function(e){var t=this.displayJobNameField.text();if(t.length>this.MAX_JOB_NAME_LENGTH){t=t.substr(0,this.MAX_JOB_NAME_LENGTH),this.displayJobNameField.text(t);var i=e.target,s=document.createRange();s.selectNodeContents(i),s.collapse(!1);var n=window.getSelection();n.removeAllRanges(),n.addRange(s)}},updateJobName:function(e){this.wrapper.removeClass("focused");var t=this.displayJobNameField.text();t.trim().length||(this.productName?t=this.productName:(t=this.product.get("type").label,"Business Cards (Single Ply)"===this.product.get("type").label&&(t="Business Cards")),this.displayJobNameField.text(t)),this.model.set("input",t)}}),s}.apply(t,s))||(e.exports=n)},22865(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(5837),i(46289),i(31732),i(61256),i(34124),i(53462)],void 0===(n=function(e,t,i,s,n,r){return n.Views.PaymentBillingAddress=i.View.extend({initialize:function(e){this.order=e.order,this.collection=new n.Collections.Addresses,this.addressesViewState=e.addressesViewState,this.formView=new n.Views.AddressEdit({order:this.order,collection:this.collection}),this.formView.setElement(this.$(".address-form")).render(),new n.Views.AddressForm({el:this.$("form.address-form")}),this.listenTo(this.formView,"save:address",this.addressSaved),this.listenTo(this.formView,"cancel:address",this.addressCanceled);var t=this.addressesViewState.get("orderBillingAddress");if(t.get("id")&&-1!=t.get("id")){this.addressesViewState.set("needToSaveBilling",!1,{silent:!0});var i=t.clone();i.unset("id",{silent:!0}),this.formView.setAddress(i);var s=this;this.$("input").on("keyup",(function(){s.checkFormValueChange()})),this.$("input").on("focus",(function(){s.checkFormValueChange()})),this.$(".select2").on("click",(function(){s.checkFormValueChange()})),this.$("form :input").change((function(){s.checkFormValueChange()}))}this.order.get("useShipping")?(this.$(".billing-option.same-as-shipping input").prop("checked",!0),this.selectBillingOption()):(this.$el.addClass("only-address-form"),this.addressesViewState.set("needToSaveBilling",!0,{silent:!0})),this.listenTo(this.order,"syncStart",this.loadingStart,this),this.listenTo(this.order,"error",this.loadingStop,this),this.listenTo(this.order,"sync",this.loadingStop,this),this.$(".form-row.clearfix.phone-wrapper").hide(),this.loadingStop()},events:{'change input[type=radio][name="billing-option"]':"selectBillingOption"},selectBillingOption:function(){if("same-as-shipping"===this.$('.billing-option-input[name="billing-option"]:checked').val()){var e=this.addressesViewState.get("orderDeliveryAddress");if(e.get("id")&&-1!=e.get("id")){this.$(".new-billing-address-form").slideUp();var t=this.addressesViewState.get("orderBillingAddress");if(this.areAddressesDifferent(e,t)||!t.get("id")||-1==t.get("id")){this.addressesViewState.set("orderBillingAddress",e),this.order.set("billingAddress",e.get("id")),this.order.trigger("save:order");var i=e.clone();i.unset("id",{silent:!0}),this.formView.setAddress(i),this.addressesViewState.set("needToSaveBilling",!1,{silent:!0})}}else this.$(".billing-option.new-address label").click(),this.addressesViewState.set("needToSaveBilling",!0,{silent:!0})}else this.$(".new-billing-address-form").slideDown(),this.addressesViewState.set("needToSaveBilling",!0,{silent:!0})},addressSaved:function(e){this.addressesViewState.set("orderBillingAddress",e);var t=e.clone();t.unset("id",{silent:!0}),this.formView.setAddress(t),this.order.set("billingAddress",e.i
1d),this.order.trigger("save:order")},checkFormValueChange:function(){var e=this,t=this.addressesViewState.get("orderBillingAddress").attributes;t&&(r.addressFormChanged(t,["name","company","address","addressExtra","buzzer","city","country","postalCode","province"],(function(t){return e.$("#address_"+t).val()}))?this.addressesViewState.set("needToSaveBilling",!0,{silent:!0}):this.addressesViewState.set("needToSaveBilling",!1,{silent:!0}))},addressCanceled:function(){this.$(".new-billing-address-form").slideUp()},loadingStart:function(){this.$el.css("pointer-events","none"),e(".complete-order-button").addClass("disabled")},loadingStop:function(){this.$el.css("pointer-events","auto"),e(".complete-order-button").removeClass("disabled")},areAddressesDifferent:function(e,t){if(!e||!t)return!0;return["name","company","address","addressExtra","buzzer","city","country","postalCode","province","phone"].some((function(i){return e.get(i)!=t.get(i)}))}}),n}.apply(t,s))||(e.exports=n)},95243(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(673),i(91679)],void 0===(n=function(e,t,i,s,n){return n.Views.PaymentButtons=i.View.extend({initialize:function(t){var s=this;this.waive=!1,this.model=t.model,this.addressesViewState=!!t.addressesViewState&&t.addressesViewState;var r=!1;try{window.ApplePaySession&&ApplePaySession.canMakePayments()&&(r=!0)}catch(e){r=!1}r?window.appleTicket&&window.applePayData&&(this.$(".payment-method-wrapper.paypal").removeClass("last-method"),this.$(".payment-method-wrapper.apple-pay").removeClass("hidden")):(this.$(".payment-method-wrapper.apple-pay, .apple-pay-button-container").remove(),this.$(".payment-method-wrapper.paypal").addClass("last-method")),this.showInitialForm(),this.listenTo(this.model,"change",this.toggleFinishButton),this.listenTo(this.model,"change:promoRequest",this.clickFinish),this.listenTo(this.model,"applePayData:updated",this.handleApplePayDataUpdated),this.viewState=new i.Model({isOrderFree:!1,buttonPending:!1,recaptcha:this.$(".g-recaptcha").length}),this.initRecaptcha(),this.addressesViewState&&(this.loader=new n.Views.Loader({el:this.$el,skeleton:!0}),this.listenTo(this.model,"sync",this.handleSuccessSaved,this),this.listenTo(this.model,"error",this.handleFailSaved,this)),window.onPaymentSubmit=function(e){var t=s.getSubmitButton();t&&("pay-ccard"===t.attr("id")?s._submitWithHppTokenization(!0):"submit"===t.attr("type")?s.onSubmitPreComplete(t):t.trigger("click",[!0,e]))},window.onPaymentCaptchaFailure=function(){s._payCaptchaFailed()},window.startApplePay=function(){s.preComplete()},window.clickApplePayOption=function(){s.selectApplePayOption()},this.toggleFinishButton(),this.changeVaultOption(),n.MonerisHostedTokenization&&document.getElementById("monerisFrame")&&n.MonerisHostedTokenization.init(),this.$("#ccard_name").on("input",(function(){e.trim(e(this).val())&&(e(this).removeClass("error"),e(this).closest(".form-row").find(".checkout-error").hide().text(""))}))},showInitialForm:function(){"payable"===this.$('input[name="payment-method"]:checked').val()?(this.$(".payable-content").slideDown(300),this.$(".ccard-content").slideUp(300),this.$(".vault-info").slideUp(300),this.$(".vault-content").slideUp(300)):"vault"===this.$('input[name="payment-method"]:checked').val()||this.$(".wrong-currency").length?(this.$(".vault-info").slideDown(300),this.$(".vault-content").slideDown(300),this.$(".ccard-content").slideUp(300)):(this.$(".ccard-content").slideDown(300),this.$(".vault-info").slideUp(300),this.$(".vault-content").slideUp(300))},initRecaptcha:function(){if(0!==this.$(".g-recaptcha").length&&!(window.grecaptcha&&window.grecaptcha.enterprise||document.querySelector('script[src*="recaptcha/enterprise.js"]'))){var e=document.createElement("script");e.src="https://www.google.com/recaptcha/enterprise.js",e.async=!0,document.head.appendChild(e)}},events:{"change input.method-select":"toggleButtons","click #pay-free":"triggerFreeForm","click #pay-vault":"triggerVaultForm",'change input[type="radio"][name="vault_id"]':"changeVaultOption","click .complete-order-button":"preComplete","click .bypass-button":"waiveOrder"},onSubmitPreComplete:function(e){if(this.addressesViewState){var t=this.model.get("billingAddress");if(this.addressesViewState.get("needToSaveBilling")||!t||-1==t)return void this.preComplete()}e.closest("form").trigger("submit",[!0])},preComplete:function(){if(!this._paySubmitted)if(!this.viewState.get("isOrderFree")&&this._isCcardMethod()){if(!this._val
1idateCardholderName())return;this._submitWithHppTokenization(!1)}else this._proceedWithAddressSaveOrSubmit()},_proceedWithAddressSaveOrSubmit:function(){if(this.addressesViewState){var e=this.model.get("billingAddress");this.addressesViewState.get("needToSaveBilling")||!e||-1==e?(this.viewState.set("saveBillingAndPay",!0,{silent:!0}),this.$(".new-billing-address-form #address-form-save").click()):this.completeOrder()}else this.completeOrder()},_payCaptchaFailed:function(){this._resetPayButton(),this._showPayError("Verification failed. Please try again.")},_showPayError:function(t){var i=e("#moneris-iframe-container");e(".tokenize-error").remove(),i.after('<div class="tokenize-error" style="color:#DD1D1D;font-size:12px;margin-top:8px;margin-bottom:8px;">'+e("<div>").text(t).html()+"</div>"),i[0]&&i[0].scrollIntoView({behavior:"smooth",block:"center"})},_resetPayButton:function(){if(!this._payFormSubmitted){this._paySubmitted=!1;var e=this.$("#pay-ccard").removeClass("disabled").prop("disabled",!1),t=this.$(".complete-order-button").removeClass("disabled");null!=this._payBtnOriginalLabel&&(e.val(this._payBtnOriginalLabel),t.find(".regular").text(this._payBtnOriginalDivLabel))}},_isCcardMethod:function(){return this.$("#payment-method-ccard").is(":checked")&&!!document.getElementById("monerisFrame")},_validateCardholderName:function(){var t=this.$("#ccard_name");if(!t.length)return!0;var i=t.closest(".form-row").find(".checkout-error");return e.trim(t.val())?(i.hide().text(""),t.removeClass("error"),!0):(i.text("Cardholder name is required.").show(),t.addClass("error"),t[0].scrollIntoView({behavior:"smooth",block:"center"}),!1)},completeOrder:function(){this.viewState.set("saveBillingAndPay",!1,{silent:!0}),!0===this.viewState.get("isOrderFree")?this.$("#pay-free").click():this.$('input[name="payment-method"][value="payable"]').is(":checked")?this.$("#pay-payable").click():this.$('input[name="payment-method"][value="vault"]').is(":checked")?this.$("#pay-vault").click():this.$('input[name="payment-method"][value="paypal"]').is(":checked")?this.clickPayPalLink():this.$('input[name="payment-method"][value="apple-pay"]').is(":checked")?this.payWithApplePay():(this._payFormSubmitted=!0,e("#ccard_form").off("submit").submit())},_submitWithHppTokenization:function(t){var i=this;i._paySubmitted=!0;var s=i.$("#pay-ccard"),r=i.$(".complete-order-button");if(null==i._payBtnOriginalLabel&&(i._payBtnOriginalLabel=s.val(),i._payBtnOriginalDivLabel=r.find(".regular").text()),s.add(r).addClass("disabled"),s.prop("disabled",!0),s.val("Processing..."),r.find(".regular").text("Processing..."),!this.viewState.get("recaptcha")||t)n.MonerisHostedTokenization.tokenize().then((function(t){e("#moneris-data-key").val(t),i._proceedWithAddressSaveOrSubmit()})).catch((function(e){i._resetPayButton(),i._showPayError(e)}));else try{grecaptcha.enterprise.reset(),grecaptcha.enterprise.execute()}catch(e){i._payCaptchaFailed()}},clickPayPalLink:function(){var e=this.$("#pay-paypal").attr("href");e&&(window.location.href=e)},selectApplePayOption:function(){this.$("#payment-method-apple-pay").click()},payWithApplePay:function(){var e=this,t=window.appleTicket,i=window.applePayData;if(!t||!i)return console.error("Apple Pay data not found"),void e.handleApplePayDataUpdated();session=new ApplePaySession(3,i),window.MonerisApplePay.setTicket(t),session.onvalidatemerchant=function(t){var i=t.validationURL;window.MonerisApplePay.validateSession(i,e.apSessionValidationSuccess,e.apSessionValidationError)},session.onpaymentauthorized=function(t){e.$(".apple-pay-button-container").hide();var s={payment:t.payment,applePayRequest:i},n="preauth";"function"==typeof window.MonerisApplePay[n]&&window.MonerisApplePay[n](s,(function(t){t.receipt.ResponseCode&&!isNaN(t.receipt.ResponseCode)&&parseInt(t.receipt.ResponseCode)<50?(session.completePayment(ApplePaySession.STATUS_SUCCESS),e.$('#apple-pay-form [name="payment"]').val(JSON.stringify(t)),e.$("#apple-pay-form").submit()):(e.$(".apple-pay-button-container").show(),session.completePayment(ApplePaySession.STATUS_FAILURE),window.appleTicket=null,window.applePayData=null,e.handleApplePayDataUpdated())}))},session.begin()},apSessionValidationSuccess:function(e){console.log("Apple Pay session validation successful"),console.log(e),session.completeMerchantValidation(e)},apSessionValidationError:function(e){console.log("Failed to validate merchant session"),console.log(e)},handleApplePayDataUpdated:function(){this.$(".payment-method-wrapper.apple-pay").length&&(window.appleTicket&&window.applePayData?(this.$(".payment-method-wrapper.last-method").removeClass("last-method"),this.$(".payment-method-wrapper.apple-pay").removeClass("hidden").addClass("last-method")):(this.$(".payment-method-wrapper.last-method").removeClass("last-method"),this.$(".payment-method-wrapper.apple-pay").addClass("hidden"),this.$(".payment-method-wrapper.paypal").addClass("last-method"),this.$('input[name="payment-method"][value="apple-pay"]').is(":checked")&&this.$('input[name="payment-method"]').eq(0).click()))},handleSuccessSaved:function(){if(this.viewState.get("saveBillingAndPay")){var e=this.model.get("billingAddress");e&&-1!=e?(this.addressesViewState.set("needToSaveBilling",!1,{silent:!0}),this.loader.trigger("show"),this.completeOrder()):this.handleFailSaved()}},handleFailSaved:function(){this.viewState.get("saveBillingAndPay")&&(this.loader.trigger("hide"),this.viewState.set("saveBillingAndPay",!1,{silent:!0}),this._resetPayButton(),this._payBtnOriginalLabel=null,this._payBtnOriginalDiv
1Label=null)},waiveOrder:function(){this.waive=!0,this.$("#pay-bypass").click()},clickFinish:function(){!this.model.get("promoRequest")&&this.viewState.get("buttonPending")&&this.$("#"+this.viewState.get("buttonPending"))[0].click(),this.viewState.set("buttonPending",!1)},triggerFreeForm:function(t,i,s){if(this.viewState.get("recaptcha")&&!i)return t.preventDefault(),grecaptcha.enterprise.reset(),void grecaptcha.enterprise.execute();var n=this.$("#free-form").attr("action");n||(n=this.$("#pay-free").attr("href"),this.$("#free-form").attr("action",n)),this.$("#free-form .g-recaptcha-response").remove(),e("#g-recaptcha-response").clone().removeAttr("id").appendTo("#free-form"),this.$("#free-form").submit(),this.disablePayButton(t,i)},triggerVaultForm:function(t,i,s){return 0===this.$('[name="vault_id"]').length?(this.$("#payment-method-ccard").click(),void this.$("#payment-method-ccard").scrollIntoView({behavior:"smooth",block:"center"})):this.viewState.get("recaptcha")&&!i?(t.preventDefault(),grecaptcha.enterprise.reset(),void grecaptcha.enterprise.execute()):(this.$("#vault-info .g-recaptcha-response").remove(),e("#g-recaptcha-response").clone().removeAttr("id").appendTo("#vault-info"),this.$("#vault-info").submit(),void this.disablePayButton(t,i))},disablePayButton:function(t,i){if(!this.waive&&this.viewState.get("recaptcha")&&!i)return t.preventDefault(),grecaptcha.enterprise.reset(),void grecaptcha.enterprise.execute();var s=this.$("#pay-ccard, #pay-vault, #pay-payable, #pay-bypass, .complete-order-button, .bypass-button");if(s.hasClass("disabled"))return!1;s.addClass("disabled"),this.$("#pay-ccard, #pay-vault, #pay-payable, #pay-bypass, .bypass-button").val("Processing.."),this.$(".complete-order-button").find(".regular").text("Processing.."),e("#promo-code-check").prop("disabled",!0)},getSubmitButton:function(){if(!0===this.viewState.get("isOrderFree"))return this.$("#pay-free");if(this.$('input[name="payment-method"]').is(":checked")){var e=this.$('input[name="payment-method"]:checked').val();if("ccard"===e)return this.$("#pay-ccard");if("paypal"===e)return this.$(".paypal-checkout");if("vault"===e)return this.$("#pay-vault");if("apple-pay"===e)return this.$(".apple-pay-button-container");if("payable"===e)return this.$("#pay-payable")}return null},toggleButtons:function(e){var t;!0!==this.viewState.get("isOrderFree")&&(this.$('input[name="payment-method"]').is(":checked")&&(t=this.$('input[name="payment-method"]:checked').val(),e&&window.conversionData&&(window.conversionData.payment_type=t,window.dataLayer.push(window.conversionData)),"ccard"===t?(this.updatePayButton(),this.$(".ccard-content").slideDown(),this.$(".vault-content").slideUp(),this.$("#pay-ccard").show(),this.$("#pay-vault").hide(),this.$(".paypal-content").slideUp(),this.$(".payable-content").slideUp(),this.$(".card-information-section").removeClass("paypal")):"paypal"===t?(this.updatePayButton(),this.$(".ccard-content").slideUp(),this.$(".vault-content").slideUp(),this.$("#pay-ccard").hide(),this.$("#pay-vault").hide(),this.$(".paypal-content").slideDown(),this.$(".payable-content").slideUp(),this.$(".card-information-section").addClass("paypal")):"vault"===t?(this.updatePayButton(),this.$(".ccard-content").slideUp(),this.$(".vault-content").slideDown(),this.$("#pay-ccard").hide(),this.$("#pay-vault").show(),this.$(".paypal-content").slideUp(),this.$(".payable-content").slideUp(),this.$(".card-information-section").removeClass("paypal")):"apple-pay"===t?(this.updatePayButton(),this.$(".ccard-content").slideUp(),this.$(".vault-content").slideUp(),this.$("#pay-ccard").hide(),this.$("#pay-vault").hide(),this.$(".paypal-content").slideUp(),this.$(".payable-content").slideUp(),this.$(".card-information-section").removeClass("paypal")):"payable"===t&&(this.updatePayButton(),this.$(".ccard-content").slideUp(),this.$(".vault-content").slideUp(),this.$("#pay-ccard").hide(),this.$("#pay-vault").hide(),this.$(".paypal-content").slideUp(),this.$(".payable-content").slideDown(),this.$(".card-information-section").removeClass("paypal"))))},updatePayButton:function(){value=this.$('input[name="payment-method"]:checked').val(),"paypal"===value?this.$(".complete-order-button").removeClass("apple-pay").addClass("paypal"):"apple-pay"===value?this.$(".complete-order-button").removeClass("paypal").addClass("apple-pay"):(this.$(".complete-order-button").removeClass("paypal apple-pay"),this.viewState.get("isOrderFree")?this.$(".complete-order-button .regular").text("Pay With Store Credit"):"payable"===value?this.$(".complete-order-button .regular").text("Complete Order"):this.$(".complete-order-button .regular").text("Pay Now"))},changeVaultOption:function(t){e("body").data("valid-conversion")&&t&&t.currentTarget;var i=this.$('.vault-info input[name="vault_id"]:checked');if(i.length){var s=i.data("type");this.$(".vault-content").siblings(".label-wrapper").find("#card-types").removeClass(),this.$(".vault-content").siblings(".label-wrapper").find("#card-types").addClass(s.toLowerCase())}},toggleFinishButton:function(){var e=this.model.get("order")||this.model,t=(e.has("grossPrice")?parseFloat(e.get("grossPrice")):this.sumTotalForAdditionalPayment())<.001;this.viewState.set({isOrderFree:t}),t?(this.$(".payment-methods-label").hide(),this.$(".methods").addClass("free"),this.$(".select-payment-method-section").addClass("hide-border"),this.$("#pay-free").show(),this.$(".ccard-content").slideUp(),this.$(".vault-content").slideUp(),this.$(".paypal-content").slideUp(),this.$("#pay-ccard, #pay-vault, .paypal-checkout, #pay-payable, #pay-bypass").hide(),this.updatePayButton(),this.addressesViewState?this.$("#scroll-payment-methods").hide():this.$(".card-information-section").hide()):(this.$(".payment-methods-label").show(),this.$(".methods").removeClass("free"),this.$(".select-payment-method-section").removeClass("hide-border"),this.$("#pay-free").hide(),this.$("#pay-bypass").show(),this.toggleButtons(!1),this.addressesViewState?(this.$("#scroll-payment-methods").show(),this.updatePayButton()):this.$(".card-information-section").show())},sumTotalForAdditionalPayment:function(){var e=this.model;return parseFloat(e.get("netPrice"))+parseFloat(e.get("discount"))+parseFloat(e.get("shippingPrice"))+parseFloat(e.get("taxAmount"))-parseFloat(e.get("inStoreCredit"))}}),n}.apply(t,s))||(e.exports=n)},1210(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(70321),i(51789),i(90259),i(95735),i(18386),i(41098),i(26990),i(12163),i(50900),i(53462)],void 0===(n=function(e,t,i,s,n,r,o,a){return n.Views.ProductItem=i.View.extend({template:s.twig({data:r}),productTemplate:s.twig({data:o}),events:{"click .btn-edit-product":"showLoader","click .creator-upload-button":"showLoader","click .btn-remove":"removeItem","change .order-special-instruction":"saveSpecialInstruction","keyup .order-special-instruction":"saveSpecialInstruction","click .enter-comment-for-order":"showSpecialInstructionBox","click .remove-design":"removeDesign","click .proof-select-question-mark":"expandProofSelectMessage","click .more-details-label":"toggleMoreDetails","click .view-rush-options":"toggleRushOptions","click .show-instruction-box":"showInstructionBox"},initialize:function(t){this.confirmView=new n.Views.Confirm;var i=this.model.toJSON();i.customerId=window.customer,this.$el.html(this.template.render({orderItem:i,orderItemNumber:t.orderItemNumber})),this.order=t.order,this.orderId=t.order.get("id"),i.dateEstimatedComplete=n.Functions.createDate(i.dateEstimatedComplete),this.$(".product-details").prepend(this.productTemplate.render({orderItem:i,isGuest:t.order.get("isGuest")})),this.currentProofId=i.proof.id;var s=t.order.get("proofingMethods");
1s&&(-1!==this.model.get("id").toString().indexOf("item_reorder")&&-1===this.model.get("id").toString().indexOf("item_reorder_new")&&(s=s.filter((function(e){return 1!==e.id})),this.$(".enter-comment-for-run-as-is").remove()),new n.Views.ProofMethods({model:this.model,proofingMethods:s,el:this.$(".proof-table"),items:t.order.get("items")}).render()),this.listenTo(this.model,"change",this.render),this.listenTo(this.model,"poof-method:changed",this.showInstructionForRunAsIs),this.loader=new n.Views.Loader({el:this.$el,injected:!1,skeleton:!0});var r=i.fromMaker?null:i.product.type.id;if(new n.Views.OrderThumbEnlarge({el:this.$el,isCheckoutPage:!0,type:r}),new n.Views.JobName({model:this.model.get("jobName"),el:this.$(".edit-job-name-wrapper"),productName:this.model.get("productName"),product:this.model.get("product")}).render(),"custom_product"!==this.model.get("classification")&&this.model.get("rushData")&&!(this.model.get("rushData")instanceof Array)){var o=!0===this.model.get("mandatorySameday");!(this.model.get("rushData").options.rush_option.length>0)||1===this.model.get("rushData").options.rush_option.length&&2===this.model.get("rushData").options.rush_option[0].id||this.model.get("isPromo")||o||(this.rushOptionWidget=new n.Views.CheckoutTurnaroundEdit({model:this.model,order:this.order,el:this.$(".item-turnaround-wrapper")}),this.$(".production-time").append('<div class="view-rush-options"> (<span>View Rush Options</span>)</div>'))}var a=this;window.setTimeout((function(){a.$(".file-tiles").children().length&&a.$el.find(".checkout-file-container").slideDown()}),1e3),e(window).width()<=600&&this.$(".checkout-file-container").insertBefore(this.$(".price-and-upload-files")),e(window).resize((function(){e(window).width()<=600?(a.$(".checkout-file-container").insertBefore(a.$(".price-and-upload-files")),a.$(".online-pdf-message, .run-as-is-message").hide()):(a.$(".checkout-file-container").insertAfter(a.$(".price-and-upload-files")),a.$(".online-pdf-message, .run-as-is-message").show())}))},updateQuantity:function(e){this.model.set("quantity",e,{silent:!0}),this.order.trigger("save:order")},render:function(){var i=this,s=this.model.get("product");if(null!=s){t.each(s.basicAttributes,(function(e){if("printTypes"!==e){var r=s.get(e)||s.get("spec")&&s.get("spec")[e];if(("output"===e||"sheet"===e)&&s.get("spec")&&s.get("spec").stickerOutput&&(r=s.get("spec").stickerOutput[e]&&s.get("spec").stickerOutput[e].label),"coilColor"==e){var o=s.get("spec")?s.get("spec").binding:null;if(o&&3!=o.id)return void i.$("."+e).css("display","none")}if("coating"==e&&[17,49,59].includes(s.get("type").id)&&[1,3].includes(r.id))i.$("."+e).css("display","none");else if(r){var d=a.getAttributeCaption(e,s.get("type").id);if(-1!==d.indexOf("Select ")&&(d=d.substr(7)),i.$("."+e).css("display","block"),i.$("."+e+" .attr-title").text("".concat(d,": ")),t.isObject(r)&&r.marketingLabel&&(r.label=r.marketingLabel),"size"==e&&[23,37].includes(s.get("type").id)&&s.get("spec")&&s.get("spec").shape){var l=s.get("spec").shape,c=37===s.get("type").id&&l.marketingLabel?l.marketingLabel:l.label;if(r.label.includes("Custom Size -")){var h=r.label.replace("Custom Size - ","")+" - ".concat(c);r.label=h}}if("size"==e&&[2,15,45].includes(s.get("type").id)&&i.model.get("orientation")){var p=i.model.get("orientation");p=n.Functions.capitalize(p),r.label.includes(p)||(r.label=r.label+" ("+p+")")}i.$("."+e+" .label").text(t.isObject(r)?r.label:r)}}}));var r=this.model.toJSON();t.each(r.extras,(function(e,s){if(null!=e.options&&Object.keys(e.options).length>0)if("envelope"==e.systemName)i.$(".envelope .attr-title").text("Envelopes:"),t.each(e.options,(function(e,t){"envelope"===t&&e.object&&e.object.name&&i.$(".envelope .label").text(e.object.name)})),i.$(".envelope").show();else if("edge_finishing"==e.systemName){i.$(".edge-finishing .attr-title").text("Edge Painting:");var n="";t.each(e.options,(function(e){"string"===e.type&&isNaN(e.value)?n=e.value:e.object&&e.object.name&&(n=e.object.name)})),i.$(".edge-finishing .label").html(n),i.$(".edge-finishing").show()}else"coil_booklet_hole"==e.systemName&&(i.$(".coilShape .attr-title").text("Wire-O Shape:"),i.$(".coilShape .label").text(e.options&&e.options.hole&&e.options.hole.object&&e.options.hole.object.name?e.options.hole.object.name:"Square"),i.$(".coilShape").show())}))}var o=n.Functions.createDate(this.model.get("dateEstimatedComplete"));if(this.$(".complete .estimated-date .week-day").text(n.Constants.WEEKDAYS[o.getDay()]),this.$(".complete .estimated-date .month").text(n.Constants.MONTHS[o.getMonth()]),this.$(".complete .estimated-date .date-number").text(o.getDate()<10?"0"+o.getDate():o.getDate()),this.model.get("shippingMethod")&&this.model.get("shipping")){var d=n.Functions.createDate(this.model.get("dateEstimatedDelivery"));this.$(".delivery .estimated-date .week-day").text(n.Constants.WEEKDAYS[d.getDay()]),this.$(".delivery .estimated-date .month").text(n.Constants.MONTHS[d.getMonth()]),this.$(".delivery .estimated-date .date-number").text(d.getDate()<10?"0"+d.getDate():d.getDate()),this.$(".delivery .estimated-date").show(),this.$(".delivery .shipping-method").text(this.model.get("shippingMethod"))}else this.$(".delivery").hide();var l=this.model.get("shippingDiscount")?parseFloat(this.model.get("shippingDiscount")):0,c=this.model.get("multiCartDiscount")?parseFloat(this.model.get("multiCartDiscount")):0,h=this.model.get("promoStoreCreditAmount")?parseFloat(this.model.get("promoStoreCreditAmount")):0,p=this.model.get("rewardDiscount")?parseFloat(this.model.get("rewardDiscount")):0,u=parseFloat(this.model.get("discount"))-l-c-h-p,m=parseFloat(this.model.get("netPrice"))+parseFloat(this.model.get("extraPrice"))+u;if(m<0&&(m=0),(this.model.get("freeStickerPromo75")||this.model.get("isSunrunGiveaway"))&&0===m?this.$(".net-price").html('<span class="free-gift-price text-[#00C393] text-xl font-semibold jxs:text-lg">Free!</span>'):this.$(".net-price").html(n.Functions.moneyFilter(m,{withCode:!1})),this.model.get("saleDetail")){var f=this.model.get("saleDetail").amount,g=new Date(this.model.get("saleDetail").note);this.$(".price-amount").html(n.Functions.moneyFilter(m,{withCode:!1})+"<span class='item-saving-amount'>Save "+n.Functions.moneyFilter(f,{withCode:!1})+"</span>"),0==this.$(".sale-end-date").length&&"custom_product"!==this.model.get("classification")&&e("<div class='sale-end-date'>
1Sale ends: "+n.Constants.MONTHS[g.getMonth()]+" "+g.getDate()+", "+g.getFullYear()+"</div>").insertAfter(this.$(".item-price-wrapper"))}u<0?(this.$(".discount .discount-amount").text(this.model.get("discountLabel")+" ("+n.Functions.moneyFilter(u,{withCode:!1})+")"),this.$(".discount").show()):this.$(".discount").hide();var v="";if(1==this.model.get("turnaroundMin"))v="Same Day Service";else{var y=this.model.get("turnaroundMin")-1;v="".concat(y," Business Day"),y>1&&(v+="s")}if(this.$(".timeframe-wrapper .production-time .turnaround").text(v),this.model.get("suggestedProductProof")){var w=this.model.get("proof");w&&2==w.id?(this.$(".delete-file").click(),this.$(".checkout-file-container").hide()):this.$(".checkout-file-container").show()}return t.each(this.model.get("history"),(function(e){"special_instruction"==e.type&&e.body!==n.Constants.EMPTY_STRING&&(i.$(".edit-item-wrapper").css("margin-bottom","10px"),i.$(".order-special-instruction-wrapper").css("display","block"),i.$(".show-instruction-box").css("display","none"),2===i.model.get("proof").id&&i.$(".enter-comment-for-run-as-is").css("display","block"))})),this},removeItem:function(e){e.preventDefault(),this.confirmView.trigger("set:body","Are you sure you wish to remove this item from your cart?"),this.confirmView.trigger("show");var t=this;this.confirmView.trigger("add-click",(function(e){e.preventDefault(),t.loader.trigger("show"),t.$el.fadeOut("fast"),t.remove(),t.model.trigger("user:remove",t.model)}))},showLoader:function(){this.loader.trigger("show")},showInstructionForRunAsIs:function(e){this.currentProofId=e.id,1===this.currentProofId?this.$(".enter-comment-for-run-as-is").fadeOut(500):2===this.currentProofId&&"block"==this.$(".order-special-instruction-wrapper").css("display")&&this.$(".enter-comment-for-run-as-is").fadeIn(500)},showSpecialInstructionBox:function(){"block"==this.$(".order-special-instruction-wrapper").css("display")?(this.$(".order-special-instruction-wrapper").fadeOut(500),this.$(".enter-comment-for-run-as-is").fadeOut(500)):(this.$(".order-special-instruction-wrapper").fadeIn(500),2===this.currentProofId&&this.$(".enter-comment-for-run-as-is").fadeIn(500))},expandProofSelectMessage:function(t){var i=e(t.target);i.attr("class").includes("proof-select-run-as-is")?this.$(".run-as-is-message").hasClass("show-message")?this.$(".run-as-is-message").removeClass("show-message").fadeOut(500):this.$(".run-as-is-message").addClass("show-message").hide().fadeIn(500):i.attr("class").includes("proof-select-online-pdf")&&(this.$(".online-pdf-message").hasClass("show-message")?this.$(".online-pdf-message").removeClass("show-message").fadeOut(500):this.$(".online-pdf-message").addClass("show-message").hide().fadeIn(500))},toggleMoreDetails:function(e){this.$(".more-details-input").is(":checked")?(this.$(".more-details-label").text("Hide Details"),this.$(".more-detail-content").slideDown(250)):(this.$(".more-details-label").text("More Details"),this.$(".more-detail-content").slideUp(250))},toggleRushOptions:function(e){this.rushOptionWidget.toggleWidget(e)},showInstructionBox:function(e){var t=this;this.$(".show-instruction-box").slideUp(200,(function(){t.$(".order-special-instruction-wrapper").slideDown(150)}))},saveSpecialInstruction:t.debounce((function(){var t=this.model.toJSON();e(".special-instruction-error-"+t.id).addClass("hide");var i=this.$("#order-special-instruction-"+t.id).val();i&&i.trim()||(i=n.Constants.EMPTY_STRING);var s={specialInstruction:i,itemId:t.id};e.ajax({method:"PUT",url:"api/order/"+this.orderId+"/instruction",data:s,context:this}).done((function(e){this.$(".order-special-instruction-auto-saved-message").fadeIn();var t=this;window.setTimeout((function(){t.$(".order-special-instruction-auto-saved-message").fadeOut()}),4e3)}))}),n.Constants.DEBOUNCE),removeDesign:function(t){t.preventDefault(),e.ajax({method:"POST",url:"api/order/"+this.orderId+"/remove-design",data:{itemId:this.model.get("id")},context:this}).done((function(e){this.$(".checkout-preview-image-section").remove(),this.$(".proof-table").removeClass("hide"),e&&this.model.set("proof",e)}
1))}}),n}.apply(t,s))||(e.exports=n)},58800(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(18803),i(65222),i(3539)],void 0===(n=function(e,t,i,s,n,r){return r.Views.PromoCode=i.View.extend({tpl:s.twig({data:n}),initialize:function(t){this.model||(this.model=new r.Models.PromoCode(r.Functions.getDomJson(this.$("div.json"),!0))),this.order=t.order,this.$el.html(this.tpl.render()),this.render(),this.listenTo(this.model,"change",this.fetchOrderPrice),this.listenTo(this.order,"change:appliedPromo",this.showPromo),this.listenTo(this.model,"promo:fetch",this.render),this.listenTo(this.model,"promo:checked",this.maybeShowErrorMessage),this.listenTo(this.model,"promo:checked",this.toggleButton),this.listenTo(this.model,"promo:checked",this.render),this.listenTo(this.model,"promo:checked",this.loadingStop),this.listenTo(this.model,"promo:removed",this.render);var i=this;this.$("#promo-code-input").on("input",(function(t){""!=e(t.target).val()?i.$("#promo-code-check").addClass("active"):i.$("#promo-code-check").removeClass("active")}))},render:function(){return this.$("#promo-code-input").val(this.model.get("code")),this.model.isValid()?(this.$(".promo-code-header").addClass("open"),this.$(".promo-code-body").show(),this.$(".promo-code-body").addClass("valid"),this.$("#active-promo-code").text(this.model.get("code")),this.$("#active-promo-div").show(),this.$("#promo-code-input, #promo-code-check").hide()):(this.$(".promo-code-body").removeClass("valid"),this.$("#active-promo-div").hide(),this.$("#promo-code-input, #promo-code-check").show()),this},showPromo:function(){var e=this.order.get("appliedPromo");e&&e!==this.model.get("code")?this.model.getPromo(e):e||e===this.model.get("code")||this.model.remove()},events:{"click .promo-code-header":"togglePromoForm","change #promo-code-input":"setCode","keyup #promo-code-input":"applyCodeOnEnter","click #promo-code-check":"checkCode","click #promo-code-remove":"remove"},togglePromoForm:function(t){var i=e(t.currentTarget);i.hasClass("open")?(i.removeClass("open"),this.$(".promo-code-body").slideUp(300)):(i.addClass("open"),this.$(".promo-code-body").slideDown(300))},setCode:function(e){this.model.set({code:e.currentTarget.value.trim()},{silent:!0})},applyCodeOnEnter:function(e){var t=e.keyCode?e.keyCode:e.which;"10"!=t&&"13"!=t||this.checkCode(e)},checkCode:function(e){e.preventDefault(),""!==this.model.get("code")&&(this.loadingStart(),this.clearErrorMessage(),this.toggleButton(),this.model.check())},clearErrorMessage:function(){this.$("div.promo-code-errors").hide().text("")},toggleButton:function(){this.order.set("promoRequest",!this.order.get("promoRequest")),r.Functions.toggleWorkingState(this.$("#promo-code-check"))},remove:function(e){e.preventDefault(),this.loadingStart(),this.$("#promo-code-check").removeClass("active"),this.model.remove()},maybeShowErrorMessage:function(){"invalid"!==this.model.get("status")&&"inapplicable"!==this.model.get("status")||this.$("div.promo-code-errors").hide().html(this.model.get("reason")).fadeIn(750).delay(2e3).fadeOut(750)},fetchOrderPrice:function(){this.order.fetchPrice()},loadingStart:function(){e(".complete-order-button").addClass("disabled")},loadingStop:function(){e(".complete-order-button").removeClass("disabled")}}),r}.apply(t,s))||(e.exports=n)},12163(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(57861),i(85458)],void 0===(n=function(e,t,i,s,n,r){return n.Views.ProofMethods=i.View.extend({template:s.twig({data:r}),initialize:function(t){this.proofingMethods=new i.Collection(t.proofingMethods),this.listenTo(this.model,"change:proof",this.render),this.items=t.items;var s=this;e(document).ready((function(){s.initProofingMethod()}))},events:{"change .proof-select":"changeProofingMethod"},render:function(){var e=this.$(".proof-field"),t=this.model.get("proof");-1===this.model.get("discountLabel").indexOf("FREESTICKER")&&(0===this.$(".proof-select").length?e.html(this.template.render({proofingMethods:this.proofingMethods.toJSON(),selection:t?t.id:null,itemId:this.model.get("id")})):t&&t.id&&(this.$(".selected-proofing-method").removeClass("selected-proofing-method"),this.$('.proof-select input[value="'+t.i
1d+'"]').prop("checked",!0).parent().addClass("selected-proofing-method")));var i=t&&2===t.id,s="string"==typeof this.model.get("id")&&0===this.model.get("id").indexOf("item_reorder_");i?s?(this.$(".proof-disclaimer").removeClass("show-disclaimer"),this.$(".reorder-disclaimer").addClass("show-disclaimer")):this.$(".proof-disclaimer").removeClass("show-disclaimer"):(this.$(".proof-disclaimer").removeClass("show-disclaimer"),s&&this.$(".pdf-proof-disclaimer").addClass("show-disclaimer"))},initProofingMethod:function(){var i=this.model.get("id");t.each(this.items.models,(function(t){if(t.get("id")!=i);else{var s=t.get("history");if(s.length>0){var r=s[s.length-1].body;r!==n.Constants.EMPTY_STRING&&e("#order-special-instruction-"+i).text(r)}}}));this.$('input[name="proof-method-'+i+'"]:checked').val();this.$('input[name="proof-method-'+i+'"]:checked').parent().addClass("selected-proofing-method")},changeProofingMethod:function(){var e=this.model.get("id");this.$('input[name="proof-method-'+e+'"]').parent().removeClass("selected-proofing-method");var t=this.$('input[name="proof-method-'+e+'"]:checked').val();this.$('input[name="proof-method-'+e+'"]:checked').parent().addClass("selected-proofing-method"),(t=this.proofingMethods.find((function(e){return e.get("id")==t})))&&(this.model.set("proof",t.toJSON()),this.model.save(null,{silent:!0})),this.model.trigger("poof-method:changed",t.toJSON())}}),n}.apply(t,s))||(e.exports=n)},63280(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(15371),i(87200),i(1210),i(77936),i(29044),i(90260),i(26990),i(14001),i(53462),i(92743)],void 0===(n=function(e,t,i,s,n,r,o){return s.extendFilter("money",o.Functions.moneyFilter),o.Views.CheckoutReview=i.View.extend({initialize:function(e){this.order=e.order,this.itemViews=[],this.summaryView=new o.Views.Summary({model:this.order,mode:"review"}),this.loader=new o.Views.Loader({el:this.$el,skeleton:!0}),this.alertView=new o.Views.Alert,this.confirmView=new o.Views.Confirm,this.countdownTimer=new o.Views.CountdownTimer,this.order.get("items").length>0?(this.$(".summary").append(this.summaryView.render().$el),this.$(".checkout-continue-button").show()):this.$("#promo-code-section").hide(),this.renderItems(),this.listenTo(this.order,"sync",this.renderItems,this),this.listenTo(this.order,"syncStart",this.loadingStart,this),this.listenTo(this.order,"loadingStop",this.loadingStop,this),this.listenTo(this.order,"error",this.loadingStop,this),this.listenTo(this.order,"sync",this.loadingStop,this),this.listenTo(i,"currency:change",this.saveOrder),this.$("img.svg").length>0&&i.trigger("inlineSVG:load"),this.initSuggestedProductTemplate()},events:{"click #btn-empty-cart":"emptyCart"},renderItems:function(){var t,s,n=this,r=this.order.get("items").pluck("id");if(Object.keys(this.itemViews).forEach((function(e){-1===r.indexOf(e)&&(n.itemViews[e].remove(),delete n.itemViews[e])})),this.order.get("items").length>0){if(this.order.get("items").length>1?this.$("#orderItems-section").addClass("multiple-items"):this.$("#orderItems-section").removeClass("multiple-items"),this.order.get("items").chain().filter((function(e,t){return n.$("#"+e.id+" .item-number-and-type .checkout-item-number").text(t+1),!n.itemViews[e.id]})).each((function(e,r){var a=r+1;n.listenTo(e,"syncStart",n.loadingStart,n),n.listenTo(e,"refresh",n.refresh,n),t=e.get("classification"),s="sample_pack"===t||e.get("product")&&e.get("product").get("type")&&50==e.get("product").get("type").id?new o.Views.SamplePackItem({model:e,order:n.order}):new o.Views.ProductItem({model:e,order:n.order,orderItemNumber:a}),n.itemViews[e.id]=s,n.$(".checkout-items").append(s.render().$el);var d={el:n.$(".file-container-"+e.id),model:new i.Model({type:"pending",id:n.order.get("id"),itemId:e.id,showUploadWidget:!e.get("isFromOrderPrints"),showCreatorAtCheckout:e.get("showCreatorAtCheckout"),creatorURL:e.get("creatorURL"),isCheckoutPage:!0,freeStickerPromo75:e.get("freeStickerPromo75")})};e.has("filesJson")&&(d.filesJson=e.get("filesJson")),new o.Views.UserFileContainer(d)})).value(),!this.$(".give_away_item-container").length&&window.giveAway_available){var a=new o.Views.GiveAwayItem({order:this.order});this.$(".checkout-items").append(a.render().$el)}
1this.countdownTimer.update()}else e(".checkout-page").addClass("empty-cart-page"),e(".empty-cart").fadeIn(300),this.$(".summary").empty()},loadingStart:function(){this.$("#orderItems-section").css("pointer-events","none"),this.loader.trigger("show")},loadingStop:function(){this.$("#orderItems-section").css("pointer-events","auto"),this.loader.trigger("hide")},refresh:function(){this.order.fetch({mode:"initialize"})},initSuggestedProductTemplate:function(){this.order.get("items").each((function(t){if(t.get("suggestedProductTemplate")){var i=t.get("id");e(".special-instruction-template-title-"+i).removeClass("hide")}}))},hasSuggestedProductTemplate:function(){var t=!1,i=this.order.get("items"),s=this,n=null;return i.each((function(i){var r=i.get("id"),o=e(".special-instruction-error-"+r),a=e("#order-special-instruction-"+r),d=s.$(".order-special-instruction-wrapper");if(i.get("suggestedProductTemplate")&&0===a.val().trim().length)return n||(n=o),a.focus(),o.removeClass("hide"),d.css("display","block"),t=!0,!1;o.addClass("hide")})),t&&e("html, body").animate({scrollTop:n.offset().top},1e3),t},proceed:function(e){e.preventDefault(),this.hasSuggestedProductTemplate()||(0===this.order.get("items").length?(this.alertView.trigger("set:body","You can not proceed with an empty cart."),this.alertView.trigger("show")):(this.loadingStart(),window.location="/checkout/shipping"))},emptyCart:function(){this.confirmView.trigger("set:body","Are you sure you wish to empty your cart?"),this.confirmView.trigger("show");var e=this;this.confirmView.trigger("add-click",(function(t){t.preventDefault();for(var i=e.order.get("items").size()-1;i>-1;i--){var s=e.order.get("items").at(i);e.itemViews[s.get("id")].remove()}e.order.emptyItems(),e.$("#promo-code-section").hide()}))},saveOrder:function(){this.order.trigger("save:order")}}),o}.apply(t,s))||(e.exports=n)},77936(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(85528),i(26990)],void 0===(n=function(e,t,i,s,n,r){return n.Views.SamplePackItem=i.View.extend({template:s.twig({data:r}),events:{"click .btn-expand":"toggleExpand","click .btn-remove":"removeItem"},initialize:function(){this.model.set("isExpanded",!1),this.confirmView=new n.Views.Confirm,this.render(),this.listenTo(this.model,"change",this.render)},render:function(){this.$el.html(this.template.render(this.model.toJSON()));var e=n.Functions.createDate(this.model.get("dateEstimatedComplete"));if(this.$(".complete .estimated-date .week-day").text(n.Constants.WEEKDAYS[e.getDay()]),this.$(".complete .estimated-date .month").text(n.Constants.MONTHS[e.getMonth()]),this.$(".complete .estimated-date .date-number").text(e.getDate()<10?"0"+e.getDate():e.getDate()),this.model.get("shippingMethod")&&this.model.get("shipping")){var t=n.Functions.createDate(this.model.get("dateEstimatedDelivery"));this.$(".delivery .estimated-date .week-day").text(n.Constants.WEEKDAYS[t.getDay()]),this.$(".delivery .estimated-date .month").text(n.Constants.MONTHS[t.getMonth()]),this.$(".delivery .estimated-date .date-number").text(t.getDate()<10?"0"+t.getDate():t.getDate()),this.$(".delivery .estimated-date").show(),this.$(".delivery .shipping-method").text(this.model.get("shippingMethod"))}else this.$(".delivery").hide();var i=parseFloat(this.model.get("netPrice"))+parseFloat(this.model.get("discount"));return 0===this.model.get("shippingPrice")?this.$(".price-amount").text(n.Functions.moneyFilter(i,{withCode:!1})+" + taxes"):this.$(".price-amount").text(n.Functions.moneyFilter(i,{withCode:!1})+" + shipping and taxes"),this.model.get("discount")<0?this.$(".discount").show().find(".discount-amount").text(n.Functions.moneyFilter(this.model.get("discount"),{withCode:!1})):this.$(".discount").hide(),this},removeItem:function(e){e.preventDefault(),this.confirmView.trigger("set:body","Are you sure you wish to remove this item from your cart?"),this.confirmView.trigger("show");var t=this;this.confirmView.trigger("add-click",(function(e){e.preventDefault(),t.$el.fadeOut("fast"),t.remove(),t.model.trigger("user:remove",t.model)}))},toggleExpand:function(e){e.preventDefault(),this.model.set("isExpanded",!this.model.get("isExpanded"))}}),n}.apply(t,s))||(e.exports=n)},31054(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(31732),i(3560),i(90260),i(26990),i(30653),i(53462),i(6206),i(85458)],void 0===(n=function(e,t,i,s,n){return s.extendFilter("money",n.Functions.moneyFilter),n.Views.Shipping=i.View.extend({initialize:function(t){this.order=t.order,this.itemViews=[],this.loader=new n.Views.Loader({el:this.$el,skeleton:!0}),this.$(".checkout-shipping-wrapper").fadeIn(300),this.isGuest=this.order.get("isGuest"),this.alertView=new n.Views.Alert,this.confirmView=new n.Views.Confirm;var s=new n.Collections.Addresses(n.Functions.getDomJson(e("#addresses-json"),!0)),r=null;r=void 0===s.get(this.order.get("deliveryAddress"))?this.isGuest&&0===s.length?null:s.get(window.defaultDeliveryAddress)?s.get(window.defaultDeliveryAddress):s.at(0):s.get(this.order.get("deliveryAddress")),this.viewState=new i.Model({address:r}),this.enableShipping(),this.viewState.set("useShipping",this.order.get("useShipping")),this.viewState.set("pickupLocation",this.order.get("pickupLocation"));var o=this.order.get("useUberDelivery");if(null==o){var a=this.order.get("data");a&&void 0!==a.useUberDelivery?(o=a.useUberDelivery,this.order.set("useUberDelivery",o,{silent:!0})):o=!1}this.viewState.set("useUberDelivery",o),this.viewState.get("useShipping")||(e("body").addClass("is-pickup"),this.$el.addClass("is-pickup"));var d=this.order.get("customerData"),l=d&&d.email?d.email:"";this.$(".address-preview .info.email .content").text(l),this.isGuest||this.$(".address-preview .info.email a").css("display","none");var c=this.viewState.get("address");if(this.viewState.get("useShipping")&&c){var h=this.getHtmlOptionText(c);this.$(".address-preview .info.address .content").html(h)}this.$(".address-preview").removeClass("loading"),this.listenTo(this.order,"sync",this.renderDeliveryMethods,this),this.listenTo(i,"shipping:required",this.enableShipping),this.listenTo(i,"shipping:disabled",this.disableShipping),this.listenTo(this.order,"syncStart",this.loadingStart,this),this.listenTo(this.order,"loadingStop",this.loadingStop,this),this.listenTo(this.order,"error",this.loadingStop,this),this.listenTo(this.order,"sync",this.loadingStop,this),this.listenTo(this.order,"shipping-method:not-all-methods",this.handleShippingError),this.listenTo(i,"currency:change",this.saveOrder),this.initDeliveryMethods(!0)},events:{"click #btn-view-details":"scrollToDeliveryDetails","click #btn-empty-cart":"emptyCart","select2:open":"setOpen","select2:close":"setClose"},initDeliveryMethods:function(e){this.deliveryMethodsView=!0,this.deliveryMethodsView=new n.Views.DeliveryMethods({el:this.$(".shipping-methods-wrapper"),order:this.order,viewState:this.viewState,isGuest:this.isGuest,init:e}),this.listenTo(this.deliveryMethodsView,"shipping:no-methods",this.handleShippingError)},renderDeliveryMethods:function(){this.deliveryMethodsView&&this.deliveryMethodsView.render()},loadingStart:function(){this.$el.css("pointer-events","none"),e(".complete-order-button").addClass("disabled")},loadingStop:function(){this.loader.trigger("hide"),this.$el.css("pointer-events","auto"),e(".complete-order-button").removeClass("disabled")},enableShipping:function(){this.viewState.set("shippingRequired",!0)},disableShipping:function(){this.viewState.set("shippingRequired",!1)},setOpen:function(){this.$(".address-form").data("open",!0)},setClose:function(){var e=this;setTimeout((function(){e.$(".address-form").data("open",!1)}),1e3)},payment:function(e){e&&e.preventDefault();var t=!0,i=this.order.get("items"),s=this.viewState.get("shippingRequired"),n=i.filter((function(e){return e.isShippable()})),r=i.filter((function(e){return null!==e.get("shippingMethod")})),o=i.filter((function(e){return e.get("shippingMethod")&&-1!==e.get("shippingMethod").indexOf("Pickup")}));t&&0===i.size()&&(this.alertView.trigger("set:body","You can not proceed to payment with an empty cart."),t=!1),t&&!0===s&&(n.length>r.length||o.length>0&&!window.pickup_available)&&(this.alertView.trigger("set:body","You must select a delivery method to proceed"),t=!1),t||this.alertView.trigger("show");var a=0==this.$(".delivery-methods .delivery-method").length;o.length&&!a||this.loadingStart()},emptyCart:function(){this.confirmView.trigger("set:body","Are you sure you wish to empty your cart?"),this.confirmView.trigger("show"),this.confirmView.trigger("add-click",(function(e){e.preventDefault(),window.location="/checkout/empty"}))},saveOrder:function(){this.order.trigger("save:order")},getHtmlOptionText:function(e){htmlOptionText="",nameText=e.get("name"),nameText&&(htmlOptionText+="".concat(nameText,"</br>")),companyText=e.get("company"),companyText&&(htmlOptionText+="".concat(companyText,"</br>"));var i="";return t.each(["address","addressExtra","buzzer","city","province","postalCode"],(function(t,s){var n=e.get(t);n&&(i+="".concat(n,", "))})),i=i.slice(0,i.length-2),htmlOptionText+="".concat(i),htmlOptionText},handleShippingError:function(){var t=this;setTimeout((function(){e(".address-declined-wrapper").removeClass("hide"),e("#payment-section").addClass("hide"),e(".footer-wrapper").addClass("hide"),t.$(".shipping-methods-wrapper").addClass("min-height"),t.$(".shipping-methods-loader").fadeIn(),t.loader.trigger("show"),setTimeout((function(){window.location="/checkout"}),2500)}),300)}}),n}.apply(t,s))||(e.exports=n)},14001(e,t,i){var s,n;
1s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(36264)],void 0===(n=function(e,t,i,s,n,r){return s.extendFilter("money",n.Functions.moneyFilter),n.Views.Summary=i.View.extend({tpl:s.twig({data:r}),initialize:function(t){this.mode=t.mode?t.mode:"default",this.listenTo(this.model,"change",this.render),this.listenTo(this.model,"change:jobName",this.render),this.viewState=new n.Models.ViewState({opened:!1}),this.listenTo(this.viewState,"change",this.updateSummaryView),this.$(".summary-panel").show();var i=this;e(window).resize((function(){i.updateSummaryView()}))},events:{"click .summary-item-price":"scrollToItem","click .mobile-summary-toggle":"toggleSummary","click #btn-convert-cart":"convertCart"},render:function(){var i=this.model.toJSON();if(i.mode=this.mode,i.data&&i.data.instore_credit?i.inStoreCredit=i.data.instore_credit.amount:i.inStoreCredit=0,i.appliedPromoStoreCredits&&i.appliedPromoStoreCredits.length){for(var s=0,r=0;r<i.appliedPromoStoreCredits.length;r++)s+=i.appliedPromoStoreCredits[r].amount;i.discount+=s}void 0===i.multiCartDiscount&&(i.multiCartDiscount=0),i.moneyParams={withCode:!1},i.totalMoneyParams={withCode:!1},i.currencyCode=n.Functions.getCurrencyCode(),i.currencySymbol=n.Functions.getCurrencySymbol(),i.noShippingGrossPrice&&(i.beforeTaxPrice=i.noShippingBeforeTaxPrice,i.taxes=i.noShippingTaxes,i.grossPrice=i.noShippingGrossPrice);var o=0;t.each(i.taxes,(function(e){o+=e.amount})),i.taxTotal={amount:o},this.$el.html(this.tpl.render(i)),e(".digicert-logo-wrapper").removeClass("hide"),this.updateSummaryView();var a=this;return t.each(i.items,(function(e,t){"Jukeboxprint.com"===e.shippingProvider&&-1!==e.shippingMethod.indexOf("Pickup")||a.$(".shipping-total").removeClass("hide")})),"payment"===this.mode&&this.$(".actions").empty(),window.isStaff?this.$(".convert").removeClass("hide"):this.$(".convert").remove(),this},toggleSummary:function(){this.viewState.get("opened")?this.viewState.set("opened",!1):this.viewState.set("opened",!0)},updateSummaryView:function(){this.model.get("appliedPromo")&&this.$(".summary-discount:not(.multi-cart-discount) .discount-label").html('Discount <span class="promo-code">('.concat(this.model.get("appliedPromo"),")</span>"))},updateView:function(){this.updateSummaryView()},scrollToItem:function(t){t.preventDefault();var i=e(t.currentTarget),s=e(i.attr("href"));s.length&&e("html, body").animate({scrollTop:s.offset().top-102},1e3)},convertCart:function(e){if(!window.isStaff)return e.preventDefault(),!1}}),n}.apply(t,s))||(e.exports=n)},9494(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(63724),i(65222)],void 0===(n=function(e,t,i,s,n,r){return r.Views.CheckoutProgressIndicator=i.View.extend({template:s.twig({data:n}),initialize:function(t){var i={};currentStep=t.currentStep,currentStep&&("Review"==currentStep&&(i.reviewStatus="active",i.paymentStatus="completed",i.shippingStatus="completed",i.checkoutStatus="completed"),"Payment"==currentStep&&(i.reviewStatus="",i.paymentStatus="active",i.shippingStatus="completed",i.checkoutStatus="completed"),"Shipping"==currentStep&&(i.reviewStatus="",i.paymentStatus="",i.shippingStatus="active",i.checkoutStatus="completed"),"Checkout"==currentStep&&(i.reviewStatus="",i.paymentStatus="",i.shippingStatus="",i.checkoutStatus="active")),this.$el.append(e.trim(this.template.render(i)))},events:{"click .step-title":"goToStep"},goToStep:function(t){t.preventDefault();var i=e(t.target).text();currentStep!=i&&("Shipping"!=currentStep&&"Payment"!=currentStep||("Checkout"==i?window.location="/checkout":"Shipping"==i&&(window.location="/checkout/shipping")))}}),r}.apply(t,s))||(e.exports=n)},427(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(16477),i(65222),i(22558)],void 0===(n=function(e,t,i,s,n,r){return n.Views.SummaryContainer=i.View.extend({initialize:function(){var i=r({strategy:"scroll"}),s=t.bind(this.positionSummary,this);i.listenTo(this.$el,s),e(window).scroll(s)},positionSummary:function(){var t=this.$(".summary-details"),i=this.$el.hasClass("summary-track")?this.$el:this.$(".summary-track"),s=e(window).scrollTop()+100,n=this.$(".summary-wrapper").offset().top,r=i.offset().top+i.outerHeight(!0),o=t.outerHeight(!0);i.outerHeight(!0)-o<95?t.removeClass("fixed stick-bottom"):s>=n&&s<=r-o?t.removeClass("stick-bottom").addClass("fixed"):s+o>=r?t.removeClass("fixed").addClass("stick-bottom"):s<=i.offset().top+50&&t.removeClass("fixed stick-bottom")},events:{"click .view-details":"expandDetails"}
1,expandDetails:function(t){e(t.currentTarget).toggleClass("open").next().slideToggle(300)}}),n}.apply(t,s))||(e.exports=n)},57042(e,t,i){var s,n;s=[i(19636),i(2543),i(21391),i(9599),i(65222)],void 0===(n=function(e,t,i,s,n){return n.Views.MobileAutoCarousel=i.View.extend({initialize:function(){this.indicators=this.$(".indicator"),this.carousel=this.$(".page-item-wrapper"),this.checkIsMobile(),e(window).on("resize",t.bind(this.checkIsMobile,this))},events:{"click .page-item":"onSlideClicked"},checkIsMobile:function(){var t=this;e(window).width()<=600?this.interval||(this.index=0,this.interval=setInterval((function(){t.index=(t.index+1)%t.indicators.length,t.updateCarousel(t.index)}),3500)):this.interval&&(clearInterval(this.interval),this.interval=!1,this.carousel.css("transform","translateX(0)"),this.indicators.removeClass("active").first().addClass("active"))},updateCarousel:function(i){this.carousel.css("transform","translateX(-".concat(100*i,"%)")),t.each(this.indicators,(function(t,s){s===i?e(t).addClass("active"):e(t).removeClass("active")}))},onSlideClicked:function(){e(window).width()<=600&&(this.index=(this.index+1)%this.indicators.length,this.updateCarousel(this.index))}}),n}.apply(t,s))||(e.exports=n)},87200(e,t,i){var s;void 0===(s=function(e){return{DPI:300,PPI:72,PX_TO_PT:300/72,SCALE:1,bleed:.125,safety:.125,bleedExtraPX:0,setBleedExtraPX:function(e){this.bleedExtraPX=e},applyExtraBleed:function(e){var t=this;_.each(e,(function(e){e&&_.each(e.objects,(function(e){e.x1&&(e.x1+=t.bleedExtraPX),e.y1&&(e.y1+=t.bleedExtraPX),e.x2&&(e.x2+=t.bleedExtraPX),e.y2&&(e.y2+=t.bleedExtraPX),e.left+=t.bleedExtraPX,e.top+=t.bleedExtraPX}))}))},removeExtraBleed:function(e){var t=this;_.each(e,(function(e){e.x1&&(e.x1-=t.bleedExtraPX),e.y1&&(e.y1-=t.bleedExtraPX),e.x2&&(e.x2-=t.bleedExtraPX),e.y2&&(e.y2-=t.bleedExtraPX),e.left-=t.bleedExtraPX,e.top-=t.bleedExtraPX}))},defaultTemplate:{id:1,name:'3.5" x 2" Standard Business Card',category:{id:1,category:"Business Cards"},pages:[{name:"front",width:3.5,height:2},{name:"back",width:3.5,height:2}]},thumbnail:{width:210,height:210},ignoredIds:["bleed","safety","trim","fold","preview-mask","horizontal-guideline","vertical-guideline","grid","imagePlaceholder","pan-cover","canvasCentrePoint","cropObject","insertPlaceholder"],fonts:{google:{families:["Gentium+Book+Basic","Josefin+Slab","PT+Serif","Bevan","Artifika","Lato","Philosopher","Quicksand:400","Amaranth","Open+Sans+Condensed:300","Special+Elite","Meddon","Cookie:400","Ribeye+Marrow:400","Monoton","League+Script","IM+Fell+English+SC","Mate+SC","Pinyon+Script","Stardos+Stencil","Rosario","Signika","Crimson+Text","Ropa+Sans","Vollkorn","Comfortaa","Open+Sans","Stint+Ultra+Expanded","Gravitas+One","Sorts+Mill+Goudy","Lato:700","Poppins:500","Oswald:300","Oswald","Oswald:700","Great+Vibes","Kaushan+Script","Homemade+Apple","Six+Caps","Leckerli+One","Pacifico","Satisfy","Roboto","Roboto:700","Muli","Karla:400","Karla:700","Noto+Serif+Display","EB+Garamond","Berkshire+Swash","Syncopate","Passion+One","Unbounded:400","Unbounded:800","Luckiest+Guy","Bangers","Shrikhand:400","Raleway:400","Raleway:700","Playfair+Display:400","Playfair+Display:400italic","Playfair+Display:700","Playfair+Display:700italic","Comforter+Brush:400","Inter:400","DM+Sans:400","Archivo+Narrow:400","Bree+Serif:400","Fira+Sans:400","Inknut+Antiqua:400","Inter+Tight:400","Noto+Sans+Mono:400","Public+Sans:400","Special+Gothic:400","TikTok+Sans:400","Barlow+Condensed:400","BioRhyme:400","Bricolage+Grotesque:400","Cal+Sans:400","DM+Mono:400","DM+Serif+Text:400","Eczar:400","Figtree:400","Fraunces:400","Funnel+Sans:400","Geist+Mono:400","Geom:400","Google+Sans:400","IBM+Plex+Sans:400","Instrument+Sans:400","Instrument+Serif:400","Libre+Baskerville:400","Libre+Franklin:400","Manrope:400","Marcellus:400","Neuton:400","Newsreader:400","Outfit:400","Red+Hat+Display:400","Sora:400","Space+Grotesk:400","Syne:400","Urbanist:400","Work+Sans:400","Zalando+Sans:400"]},custom:{families:["Montserrat Bold:n5","Montserrat Black:n7","Montserrat Light:n3","Montserrat Regular:n4","Montserrat SemiBold:n6","IM Fell Great Primer Italic","IM Fell Great Primer Regular","Anivers-Regular","Bebas Neue Bold","CallunaSans-Regular","DIN-Medium","FertigoPro-Regular","Frutiger-Condensed","Frutiger
1LTPro-Roman","GeoticaThreeRegular","Gotham-Medium","Gotham-Light","Gotham-Bold","Gotham-Book","Gotham-BookItalic","Gotham-Black","League Gothic","Museo Sans Rounded:n5,n9","Museo Slab:n4,n9","Plau","ProximaNova-Regular","ProximaNova-Extrabld","ProximaNova-RegularIt","ProximaNovaA-SemiBold","ProximaNova-Bold","BrandonGrotesque-Regular","BrandonGrotesque-Bold","BrandonGrotesque-Black","CenturySchoolbook","CenturySchoolbook-Bold","MarkOT-Medium","MarkOT-Black","MarkOT-Heavy","Shopify Sans Regular","Shopify Sans Black","BellGothicStd-Black","NimbusSansNovusDot-Regular","NimbusSansNovusDot-Medium","NimbusSansNovusDot-Bold","EB Garamond SC"],urls:["/fonts/custom.css"]},private:["Anivers-Regular","Bebas Neue Bold","CallunaSans-Regular","DIN-Medium","FertigoPro-Regular","Frutiger-Condensed","FrutigerLTPro-Roman","GeoticaThreeRegular","Gotham-Medium","Gotham-Light","Gotham-Bold","Gotham-Book","Gotham-BookItalic","Gotham-Black","League Gothic","Museo Sans Rounded:n5,n9","Museo Slab:n4,n9","Plau","ProximaNova-Regular","ProximaNova-Extrabld","ProximaNova-RegularIt","ProximaNovaA-SemiBold","ProximaNova-Bold","BrandonGrotesque-Regular","BrandonGrotesque-Bold","BrandonGrotesque-Black","CenturySchoolbook","CenturySchoolbook-Bold","MarkOT-Medium","MarkOT-Black","MarkOT-Heavy","Shopify Sans Regular","Shopify Sans Black","BellGothicStd-Black","NimbusSansNovusDot-Regular","NimbusSansNovusDot-Medium","NimbusSansNovusDot-Bold"],fontMapping:{gentiumbookbasic:"Gentium Book Basic:400",josefinslab:"Josefin Slab:400",pt_serifweb:"PT Serif:400",bevan:"Bevan:400",artifika:"Artifika:400",lato:"Lato:400",philosopher:"Philosopher:400",quicksand:"Quicksand:400",amaranth:"Amaranth:400",opensanscondlight:"Open Sans Condensed:300",specialelite:"Special Elite:400",meddoni:"Meddon:400",cookiei:"Cookie:400",ribeyemarrow:"Ribeye Marrow:400",monoton:"Monoton:400",leaguescript:"League Script:400",imfellenglish:"IM Fell English SC:400",matesc:"Mate SC:400",pinyonscripti:"Pinyon Script:400",stardosstencil:"Stardos Stencil:400",rosario:"Rosario:400",signika:"Signika:400",crimsontextroman:"Crimson Text:400",ropasans:"Ropa Sans:400",vollkorn:"Vollkorn:400",comfortaa:"Comfortaa:400",opensans:"Open Sans:400",stintultraexpanded:"Stint Ultra Expanded:400",gravitasone:"Gravitas One:400",sortsmillgoudy:"Sorts Mill Goudy:400",latob:"Lato:700",poppinsmedium:"Poppins:500",roboto:"Roboto:400",robotob:"Roboto:700",mulii:"Muli:400",notoserifdisplay:"Noto Serif Display:400",ebgaramond:"EB Garamond:400",ebgaramondsc:"EB Garamond SC:400",berkshireswash:"Berkshire Swash:400",syncopate:"Syncopate:400",passionone:"Passion One:400",unbounded:"Unbounded:400",unboundedextrab:"Unbounded:800",luckiestguy:"Luckiest Guy:400",bangers:"Bangers:400",shrikhand:"Shrikhand:400",raleway:"Raleway:400",ralewayb:"Raleway:700",playfairdisplay:"Playfair Display:400",playfairdisplayi:"Playfair Display:400Italic",playfairdisplayb:"Playfair Display:700",playfairdisplaybi:"Playfair Display:700Italic",comforterbrush:"Comforter Brush:400",anivers:"Anivers-Regular:400",callunasans:"CallunaSans-Regular:400",fertigopro:"FertigoPro-Regular:400",geoticathree:"GeoticaThreeRegular:400",leaguegothic:"League Gothic:400",museosans500:"Museo Sans Rounded:500",museosans1000:"Museo Sans Rounded:900",museoslab:"Museo Slab:400",museoslab900:"Museo Slab:900",plau:"Plau:400",oswaldlight:"Oswald:300",oswald:"Oswald:400",oswaldb:"Oswald:700",homemadeapple:"Homemade Apple:400","gotham-light":"Gotham-Light:400","gotham-medium":"Gotham-Medium:400",gothamb:"Gotham-Bold:400",gotham:"Gotham-Book:400",gothami:"Gotham-BookItalic:400","gotham-black":"Gotham-Black:400",greatvibes:"Great Vibes:400","frutiger-57-condensed":"Frutiger-Condensed:400",frutigerltpro:"FrutigerLTPro-Roman:400","din-medium":"DIN-Medium:400",kaushanscript:"Kaushan Script:400",leckerlione:"Leckerli One:400",pacifico:"Pacifico:400",satisfy:"Satisfy:400",sixcaps:"Six Caps:400","montserrat-black":"Montserrat Black:700","montserrat-bold":"Montserrat Bold:500","montserrat-light":"Montserrat Light:300","montserrat-regular":"Montserrat Regular:400",montserratsemibold:"Montserrat SemiBold:600","im-fell-great-italic":"IM Fell Great Primer Italic:400","im-fell-great-regular":"IM Fell Great Primer Regular:400",bebasneueb:"Bebas Neue Bold:400",proximanova:"ProximaNova-Regular:400",proximanovab:"ProximaNova-Extrabld:400",proximanovai:"ProximaNova-RegularIt:400",proximanovaaltb:"ProximaNovaA-SemiBold:400",proximanovabold:"ProximaNova-Bold:400",brandongrotesque:"BrandonGrotesque-Regular:400",brandongrotesqueb:"BrandonGrotesque-Bold:400",brandongrotesquebl:"BrandonGrotesque-Black:400",centuryschoolbook:"CenturySchoolbook:400",centuryschoolbookb:"CenturySchoolbook-Bold:400",markot:"MarkOT-Medium:400",markotb:"MarkOT-Black:400",markoth:"MarkOT-Heavy:400",shopifysans:"Shopify Sans Regular:400",shopifysansblack:"Shopify Sans Black:400",bellgothicstd:"BellGothicStd-Black:400",nimbussansnovusdotreg:"NimbusSansNovusDot-Regular:400",nimbussansnovusdotmed:"NimbusSansNovusDot-Medium:400",nimbussansnovusdotb:"NimbusSansNovusDot-Bold:400",karla:"Karla:400",karlab:"Karla:700",inter:"Inter:400",dmsans:"DM Sans:400",archivonarrowvariablefont_wght:"Archivo Narrow:400",breeserif:"Bree Serif:400",firasans:"Fira Sans:400",inknutantiqua:"Inknut Antiqua:400",intertightvariablefont_wght:"Inter Tight:400",notosansmonovariablefont:"Noto Sans Mono:400",publicsansvariablefont_wght:"Public Sans:400",specialgothicvariablefont:"Special Gothic:400",tiktoksans:"TikTok Sans:400",barlowcondensed:"Barlow Condensed:400",biorhyme:"BioRhyme:400",bricolagegrotesque:"Bricolage Grotesque:400",calsans:"Cal Sans:400",dmmono:"DM Mono:400",dmseriftext:"DM Serif Text:400",eczar:"Eczar:400",figtree:"Figtree:400",fraunces:"Fraunces:400",funnelsans:"Funnel Sans:400",geistmono:"Geist Mono:400",geom:"Geom:400",googlesans:"Google Sans:400",ibmplexsans:"IBM Plex Sans:400",instrumentsans:"Instrument Sans:400",instrumentserif:"Instrument Serif:400",librebaskerville:"Libre Baskerville:400",librefranklin:"Libre Franklin:400",manrope:"Manrope:400",marcellus:"Marcellus:400",neuton:"Neuton:400",newsreader:"Newsreader:400",outfit:"Outfit:400",redhatdisplay:"Red Hat Display:400",sora:"Sora:400",spacegrotesk:"Space Grotesk:400",syne:"Syne:400",urbanist:"Urbanist:400",worksans:"Work Sans:400",zalandosans:"Zalando Sans:400"}},urls:{generatePdf:"/creator/api/pdf",generatePdfHalfFold:"/creator/api/pdf/halffold",generatePdfTriFold:"/creator/api/pdf/trifold",generatePdfStickerSheet:"/creator/api/pdf/sticker/sheet",generatePdfShapeSticker:"/creator/api/pdf/shape/sticker",generatePdfBusinessCard:"/creator/api/pdf/business-card",generateDownloadRecord:"/creator/api/file/download-record",fileUpload:"/creator/api/file/upload",fileUploadString:"/creator/api/file/upload/string",userFiles:"/creator/api/file/folder",loginFiles:"/creator/api/file/folder/login",clipart:"/creator/api/file/folder/clipart",unsplash:"/creator/api/file/folder/stock",unsplashDownload:"/creator/api/file/folder/stock/unsplash/download",saves:"/creator/api/save",autosave:"/creator/api/autosave",symbols:"/json/symbols.json",premadeTemplates:"/creator/api/premade",recommendedPremadeTemplates:"/creator/api/premade/recommended-premade-templates",sessionKeepAlive:"/creator/api/session",docTemplate:"/creator/api/template",creatorOrderPrints:"/api/product-creator-card-order-prints",creatorIndustry:"/creator/api/industry"}}}.call(t,i,t,e))||(e.exports=s)},44786(e){e.exports='{# <button type="button" class="change-address small-button blue-button">\n    Change Shipping Address\n</button> #}\n{# <button type="button" class="edit-address small-button blue-button">\n    Edit This Address\n</button>\n<button type="button" class="add-address small-button blue-button">\n    Create A New Address\n</button>\n<button type="button" class="delete-address small-button red-button">\n    Delete This Address\n</button>\n #}\n<span class="edit-address address-link inline-link">Edit</span>\n<span class="add-address address-link inline-link">Add New Address</span>\n<span class="delete-address address-link inline-link">Delete</span>'},51697(e){e.exports='<div class="inner-container">\n    <div class="collapse-section">\n        <div class="rush-option-wrapper"></div>\n    </div>\n</div>\n'},29661(e){e.exports='<div class="delivery-methods">\n    <h4>Delivery method</h4>\n    <div class="method-select-wrapper">\n        <div class="shipping-method ship {% if disableLocation == \'both\' %}only-option{% endif %} {% if only_pickup %}hide{% endif %}">\n            <input class="shipping-method-input" type="radio" name="delivery-method" id="delivery-method-ship" value="ship" {% if use
1Shipping and not useUberDelivery %}checked{% endif %}>\n            <label class="shipping-method-label" for="delivery-method-ship">\n                <div class="svg svg-free-shipping-30x30 shipping"></div>\n                <span>Ship</span>\n                {# canada post strike note #}\n                {% if canadaStickerPromo %}<span>(Canada Post*)</span>{% endif %}\n                <span class="fastest-liner"></span>\n            </label>\n        </div>\n        <div class="shipping-method ship-uber {% if only_pickup or not uberEligible %}hide{% endif %}">\n            <input class="shipping-method-input" type="radio" name="delivery-method" id="delivery-method-ship-uber" value="ship-uber" {% if useUberDelivery %}checked{% endif %}>\n            <label class="shipping-method-label" for="delivery-method-ship-uber">\n                <img src="https://storage.jukeboxprint.com/s/images/delivered-with-uber-w.svg" alt="Delivered with Uber" style="height: 10px; width: auto;">\n                <span class="fastest-liner"></span>\n            </label>\n        </div>\n        {% if disableLocation != \'both\' %}\n        <div class="shipping-method pick-up">\n            <input class="shipping-method-input" type="radio" name="delivery-method" id="delivery-method-ship-pick-up" value="pick-up" {% if not useShipping %}checked{% endif %}>\n            <label class="shipping-method-label" for="delivery-method-ship-pick-up">\n                <div class="svg svg-pickup-locker-box-icon-25x25"></div>\n                <span>Pick Up</span>\n                <span class="fastest-liner"></span>\n            </label>\n        </div>\n        {% endif %}\n    </div>\n    {# canada post strike note #}\n    {% if canadaStickerPromo %}\n        <span class="service-disruption-note">* Orders are shipped with Canada Post. If there is a postal service disruption or strike, shipping delays may occur.</span>\n    {% endif %}\n</div>\x3c!--.delivery-methods--\x3e \n\n<div class="customer-shipping-address {% if not useShipping %}hide{% endif %}">\n    <div class="shipping-address-header-wrapper">\n        <h4 id="address-header">Shipping Address</h4>\n        <div class="address-declined-wrapper hide">\n            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n                <path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="#DD1C1C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n                <path d="M12 8V12" stroke="#DD1C1C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n                <path d="M12 16H12.01" stroke="#DD1C1C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n            </svg>\n            <span class="message">The address provided is invalid. Please enter a valid address.</span>\n        </div>\n        <span class="address-select-container">\n            <select class="address-select"></select>\n        </span>\n        <div class="address-buttons">\n    </div>\n\n    </div>\n    <form class="address-form" style="display: none;">\n    </form>\n</div>\n\n{% if disableLocation != \'both\' %}\n<div class="pickup-locations-wrapper {% if useShipping %}hide{% endif %}">\n    <h4>Pickup locations</h4>\n    <div class="location-select-wrapper">\n        {% if disableLocation != \'vancouver\' %}\n        <div class="pickup-location" data-location="vancouver">\n            <input class="location-input" type="radio" name="pick-up-location" id="pick-up-location-vancouver" value="vancouver" {% if pickupLocation == \'vancouver\' or useDefault %}checked{% endif %}>\n            <label class="location-label" for="pick-up-location-vancouver">\n                <div class="top">\n                    <span class="distance">{{ officeAddresses.vancouver }} {% if pickupDistances.distanceToVan %}({{pickupDistances.distanceToVan}}KM Away){% endif %}</span>\n                    {# <span>Free</span> #}\n                </div>\n                <div class="bottom">
1\n                    <span class="note">(Most orders will be placed in our locker box for easy pickup, especially after hours. Instructions will be emailed to you when your order is ready.)</span>\n                </div>\n            </label>\n        </div>\n        {% endif %}\n        {% if disableLocation != \'toronto\' %}\n        <div class="pickup-location" data-location="toronto">\n            <input class="location-input" type="radio" name="pick-up-location" id="pick-up-location-toronto" value="toronto" {% if pickupLocation == \'toronto\' %}checked{% endif %}>\n            <label class="location-label" for="pick-up-location-toronto">\n                <div class="top">\n                    <span class="distance">{{ officeAddresses.toronto }} {% if pickupDistances.distanceToTor %}({{pickupDistances.distanceToTor}}KM Away){% endif %}</span>\n                    {# <span>Free</span> #}\n                </div>\n                <div class="bottom">\n                </div>\n            </label>\n        </div>\n        {% endif %}\n    </div>\n</div>\n{% endif %}\n\n<div class="bottom-button-wrapper">\n    <a class="button go-to-home" href="/">Continue Shopping</a>\n    <button class="button save-address-form spinner-load-button">Review & Confirm {% if useShipping %}Shipping{% else %}Pickup{% endif %} Options</button>\n</div>\n'},64560(e){e.exports='{# BACKBONE TEMPLATE — compiled client-side by twig.js 0.10.2 (assets/vendor/twig.js).\n   Use only Twig 2-compatible syntax: no |filter(), |map(), {% apply %}, or arrow functions.\n   Use {% for %}{% if %} instead of |filter(); use {% spaceless %} not {% apply spaceless %}. #}\n{% macro itemDetailsTemplate(orderItem, key, data) %}\n\x3c!--This section is also being used on checkout page. Need to update both--\x3e\n    {% set usesDefaultDie = false %}\n    {% if orderItem.product is defined and orderItem.product %}\n        {% for printType in orderItem.product.printTypes %}\n            {% if printType.print.id in [9, 11, 13, 15, 21] %}\n                {% set usesDefaultDie = true %}\n            {% endif %}\n        {% endfor %}\n    {% endif %}\n    {% if \'item_reorder_new\' not in orderItem.id %}\n        {% set design = null %}\n        {% set previewerPdf = null %}\n        {% if orderItem.thumbnail is defined and orderItem.thumbnail %}\n            {% set design = orderItem.thumbnail %}\n        {% elseif orderItem.suggestedProductThumbnailUrl is defined and orderItem.suggestedProductThumbnailUrl %}\n            {% set design = orderItem.suggestedProductThumbnailUrl %}\n        {% elseif orderItem.previewerPdf is defined and orderItem.previewerPdf %}\n            {% set previewerPdf = orderItem.previewerPdf %}\n        {% endif %}\n        \n        {% if design or previewerPdf %}\n            <div class="item-preview-section">\n                <div class="checkout-preview-image-section {{ orderItem.bikeSticker ? \'bike-sticker\' : \'\' }} can-enlarge">\n                    {% if design %}\n                        <img class="premade-thumbnail" src="https://res.cloudinary.com/dbtcocjdk/image/fetch/f_auto,dpr_auto,h_150/{{ design }}">\n                    {% elseif previewerPdf %}\n                        <iframe id="iframe-{{ previewerPdf.metaId }}" src="{{previewerPdf.url}}" width="400" height="150" frameborder="0" type="application/pdf"></iframe>\n                    {% endif %}\n                </div>\n            </div>\n        {% endif %}\n    {% endif %}\n    <div class="detail-outer-wrapper">\n        <div class="more-detail-content">\n            <h5 class="item-title">{{ orderItem.jobName }}</h4>\n            <div class="quantity-wrapper">\n                <div class="text">Quantity:</div>\n                <div class="quantity-select">{{orderItem.quantity}}</div>\n            </div>\n            {% if not (orderItem.classification == \'sample_pack\' or orderItem.product.type.id == 50) %}\n                <table>\n                    {% if orderItem.product.type.id == 65 %}\n                        <tr class="topper-size-display">\n                            <th class="attr-title">Size:</th>\n                            <td class="label">{{ orderItem.product.size.label }}</td>\n                        </tr>
1\n                        {% if orderItem.stickerSize %}\n                            <tr class="sticker-size-display">\n                                <th class="attr-title">Sticker Size:</th>\n                                <td class="label">{{ orderItem.stickerSize }}</td>\n                            </tr>\n                        {% endif %}\n                        {% if orderItem.stickerCount %}\n                            <tr class="sticker-count-display">\n                                <th class="attr-title">Number of Designs:</th>\n                                <td class="label">{{ orderItem.stickerCount }}</td>\n                            </tr>\n                        {% endif %}\n                    {% else %}\n                    <tr class="stock">\n                        <th class="attr-title">Stock:</th>\n                        <td class="label">{{ orderItem.product.stock.marketingLabel is defined and orderItem.product.stock.marketingLabel ? orderItem.product.stock.marketingLabel : orderItem.product.stock.label }}</td>\n                    </tr>\n                    {% if orderItem.product.type.id in [31, 32, 66] %}\n                    <tr class="stock1 extra-spec">\n                        <th class="attr-title"></th>\n                        <td class="label"></td>\n                    </tr>\n                    <tr class="stock2 extra-spec">\n                        <th class="attr-title"></th>\n                        <td class="label"></td>\n                    </tr>\n                    {% endif %}\n                    {% if orderItem.product.type.id in [23,33,37,39,40,43,51,55,56] %}\n                        <tr class="size">\n                            <th class="attr-title">Size:</th>\n                            <td class="label">\n                                {% if orderItem.product.type.id == 40 %}\n                                    {{ orderItem.printWidth|default(orderItem.product.size.printWidth)/12 }}\' x {{ orderItem.printHeight|default(orderItem.product.size.printHeight)/12 }}\'\n                                {% else %}\n                                    {{ orderItem.printWidth|default(orderItem.product.size.printWidth) }}" x {{ orderItem.printHeight|default(orderItem.product.size.printHeight) }}"\n                                {% endif %}\n                                {% if orderItem.bikeSticker %} Sticker Sheet {% endif %}\n                                {% if orderItem.bikeSticker and orderItem.bikeStickerSpecs is defined and orderItem.bikeStickerSpecs %}\n                                    <div class="bike-sticker-dimensions">\n                                        <span>10 Qty. </span>{{ orderItem.bikeStickerSpecs.bikeStickerHeight }}" x {{ orderItem.bikeStickerSpecs.bikeStickerWidth }}"\n                                    </div>\n                                    <div class="helmet-sticker-dimensions">\n                                        <span>6 Qty. </span>{{ orderItem.bikeStickerSpecs.helmetStickerHeight }}" x {{ orderItem.bikeStickerSpecs.helmetStickerWidth }}"\n                                    </div>\n                                {% endif %}\n                            </td>\n                        </tr>\n                    {% else %}\n                        <tr class="size">\n                            <th class="attr-title">Size:</th>\n                            <td class="label">\n                                {% if orderItem.product.size.id in [485,500,501,502,503,504,505] %}\n                                    {% set orientation = orderItem.product.size.orientation %}\n                                    {% if orientation %}\n                                        {{ orderItem.finishedWidth }}" x {{ orderItem.finishedHeight }}"{{ orientation == \'p\' ? \' Portrait\' : \' Landscape\' }}\n                                    {% else %}\n                                        {{ orderItem.printWidth }}" x {{ orderItem.printHeight }}"\n                                    {% endif %}\n                                {% else %}\n                                    {{ orderItem.product.size.label }}\n                                {% endif %}\n                            </div>\n                            </td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.product.frontCoating.id != 1 or orderItem.product.backCoating.id != 1 %}\n                        <tr class="product-details-coating">\n                            <th>Coating:</th>\n                            <td class="label">{{ orderItem.product.frontCoating.marketingLabel is defined and orderItem.product.frontCoating.marketingLabel ? orderItem.product.frontCoating.marketingLabel : orderItem.product.frontCoating.label }}\n                                {% if orderItem.product.type.id != 23 and orderItem.product.frontCoating.id != orderItem.product.backCoating.id %}\n                                / {{ orderItem.product.backCoating.marketingLabel is defined and orderItem.product.backCoating.marketingLabel ? orderItem.product.backCoating.marketingLabel : orderItem.product.backCoating.label }}\n                                {% endif %}\n                            </td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.product.type.id not in [43,55] %}\n                        <tr class="output extra-spec">\n                            <th class="attr-title"></th>\n                            <td class="label"></td>\n                        </tr>\n                    {% endif %}\n                    {% if usesDefaultDie and orderItem.partialDieTemplate is defined and orderItem.partialDieTemplate.image is defined %}\n                        <tr>\n                            <td><img width="120" class="premade-thumbnail" style="margin-top: 15px;" src="{{ orderItem.partialDieTemplate.image }}"></td><td></td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.pages is defined and orderItem.pages is not null and orderItem.pages != 0 %}\n                        <tr class="pages extra-spec">\n                            <th class="attr-title">{% if orderItem.product.type.id in [7, 64] %}Sheets:{% else %}Pages:{% endif %}</th>\n                            <td class="label">{{ orderItem.pages }}</td>\n                        </tr>\n                    {% endif %}\n                    <tr class="coilColor extra-spec" style="display:none;">\n                        <th class="attr-title"></th>\n                        <td class="label"></td>\n                    </tr>\n                    {% if orderItem.product.type.id == 15 %}\n                        <tr class="envelope extra-spec" style="display:none;">\n                            <th class="attr-title"></th>\n                            <td class="label"></td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.product.type.id == 1 %}\n                        <tr class="edge-finishing extra-spec" style="display:none;">\n                            <th class="attr-title"></th>\n                            <td class="label"></td>\n                        </tr>\n                    {% endif %}\n                    {% endif %}{# end sticker pack / other products split #}\n                </table>\n                {% if orderItem.product.type.id != 65 %}\n                <table>\n                    {% set showDigitalPrint = false %}\n                    {% for printType in orderItem.product.printTypes %}\n                    {% if printType.print.id not in [0,1,2,5,7,18,19,20] %}\n                        {% if printType.print.id in [11,13,15] %}\n                            {% set showDigitalPrint = true %}\n                        {% endif %}\n\n                        {% set printLable = printType.print.label %}\n                        {% if printType.print.id == 11 %}\n                            {% set printLable = \'Foil\' %}\n                        {% endif %}\n                        {% if printType.colorData is defined and printType.color.id not in [1,2] %}\n                            {% for side, colorData in printType.colorData %}\n                                <tr>\n                                    <th>{{ side|capitalize }} {{printLable}} Color:</th>\n                                    <td class="label">\n                                        {% for color in colorData %}\n                                            {{ color.label }}{% if not loop.last %},{% endif %}\n                                        {% endfor %}\n                                    </td>\n                                </tr>\n                            {% endfor %}\n                        {% elseif orderItem.colorData is defined and printType.print.id in orderItem.colorData|keys and printType.color.id not in [1,2] %}\n                            {% for side, colorData in orderItem.colorData[printType.print.id] %}
1\n                                {% if colorData is not empty %}\n                                <tr>\n                                    <th>{{ side|capitalize }} {{printLable}} Color:</th>\n                                    <td class="label">\n                                        {% for color in colorData %}\n                                            {{ color.label }}{% if not loop.last %},{% endif %}\n                                        {% endfor %}\n                                    </td>\n                                </tr>\n                                {% endif %}\n                            {% endfor %}\n                        {% else %}\n                            <tr class="print-type">\n                                <th>{{ printLable }}:</th>\n                                <td class="label">\n                                    <span class="print-output-print-type">{{ printType.color.label }}</span>\n                                </td>\n                            </tr>\n                        {% endif %}\n                    {% endif %}\n                    {% endfor %}\n                    {% if showDigitalPrint %}\n                        {% for printType in orderItem.product.printTypes %}\n                        {% if printType.print.id == 2 %}\n                            <tr class="print-type">\n                                <th>Printing:</th>\n                                <td class="label">\n                                    <span class="print-output-print-type">{{ printType.color.label }}</span>\n                                </td>\n                            </tr>\n                        {% endif %}\n                        {% endfor %}\n                    {% endif %}\n                    {% if usesDefaultDie and orderItem.product.size.defaultDieWidth is defined and orderItem.product.size.defaultDieWidth is not null and\n                            orderItem.product.size.defaultDieHeight is defined and orderItem.product.size.defaultDieHeight is not null and\n                            orderItem.product.size.defaultDieDescription is defined and orderItem.product.size.defaultDieDescription is not null %}\n                        <tr>\n                            <th>Default Die:</th>\n                            <td class="label">{{ orderItem.product.size.defaultDieDescription }}</td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.extras.stamp_pad is defined and orderItem.extras.stamp_pad.selection is defined %}\n                        <tr>\n                            <th>Stamp Pad:</th>\n                            <td class="label">{% set stampFirst = true %}{% for name in orderItem.extras.stamp_pad.selection|keys %}{% if name != \'quantity\' %}{% if not stampFirst %}, {% endif %}{{ name }}{% set stampFirst = false %}{% endif %}{% endfor %}</td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.sets > 1 %}\n                        <tr class="sets">\n                            <th class="attr-title">Sets:</th>\n                            <td class="label">{{ orderItem.sets }}</td>\n                        </tr>\n                    {% endif %}\n                    {% if orderItem.product.type.id not in [31, 32, 66] %}\n                    <tr class="stock1 extra-spec">\n                        <th class="attr-title"></th>\n                        <td class="label"></td>\n                    </tr>\n                    <tr class="stock2 extra-spec">\n                        <th class="attr-title"></th>\n                        <td class="label"></td>\n                    </tr>\n                    {% endif %}\n                    {% if orderItem.product.type.id != 14 %}\n                        <tr class="size1 extra-spec">\n                            <th class="attr-title"></th>\n                            <td class="label"></td>\n                        </tr>\n                        <tr class="size2 extra-spec">\n                            <th class="attr-title"></th>\n                            <td class="label"></td>\n                        </tr>\n                    {% endif %}\n                    <tr class="coating extra-spec">\n                        <th class="attr-title"></th>\n                        <td class="label"></td>\n                    </tr>\n                </table>\n                {% endif %}{# end non-sticker-pack print type table #}\n            {% endif %}\n        </div>\n        <div class="pricing-wrapper">\n            {% if data.rushOptions[key] != 0 and data.itemRushPrice[key] != 0 %}\n                <div class="turnaround-price">+{{ data.itemRushPrice[key]|money({ withCode: false }) }}</div>\n                <div class="turnaround-time">Rush {{data.turnaroundMins[key] == 1 ? \'Same\' : data.turnaroundMins[key] - 1 }}-Day Printing</div>\n            {% endif %}\n        </div>\n    </div>\n\x3c!--This section is also being used on checkout page. Need to update both--\x3e\n{% endmacro %}\n{% import _self as macros %}\n\n{% spaceless %}\n{% if pickup %}\n<div class="pickup-buttons-wrapper">\n    {% for rushOption in pickupRushOptions %}\n    {% if rushOption.groups is not empty %}\n        <button class="delivery-method disabled" data-optionname="{{rushOption.optionName}}">\n            <div class="bg-color"></div>\n            <div class="pick-up-option delivery-method-name-and-cost-wrapper">\n                <div class="delivery-method-name-wrapper">
1\n                    <span class="delivery-method-name">\n                        Pickup {{rushOption.titleDeliveryDateStr}}\n                    </span>\n                </div>\n                <span class="delivery-method-cost">\n                    {% if rushOption.price > 0 %}\n                        +{{- rushOption.price|money({ withCode: false }) -}}\n                    {% else %}\n                        Free Pickup\n                    {% endif %}\n                </span>\n                <div class="arrow-icon-wrapper"></div>\n                <span class="multiple-date-message hide">Some items in your order will be ready for pickup on different dates.</span>\n                <div class="pick-up-method-desc est-delivery-date-and-cost ship-desc {% if rushOption.price > 0 %}not-free{% endif %}">\n                    {% for data in rushOption.groups %}\n                        <div class="est-delivery-group">\n                            <span class="est-date {% if rushOption.onlyOneDate %}hide{% endif %}">\n                                Pickup Date: <span>{{ data.date }}</span>\n                            </span>\n                            <div class="items">\n                                <ul>\n                                    {% for key, item in data.items %}\n                                        <li class="{{item.id}}">\n                                            {{ macros.itemDetailsTemplate(item, key, data) }}\n                                            {% if isStaff %}\n                                                {{ data.rushOptions[key] != 0 ? \'<div class="item-rush">Rush-\' ~ data.rushOptions[key] ~ \'</div>\'|raw : \'\' }}\n                                            {% endif %}\n                                        </li>\n                                    {% endfor %}\n                                </ul>\n                            </div>\n                        </div>\n                    {% endfor %}\n                </div>\n            </div>\n        </button>\n    {% endif %}\n    {% endfor %}\n</div>\n{% else %}\n    <button class="delivery-method {% if price > 0 %}collapse-content{% endif %}">\n        <div class="bg-color"></div>\n        <div class="delivery-method-name-and-cost-wrapper">\n            <div class="delivery-method-name-wrapper">\n                <span class="delivery-method-name">\n                    Arriving {{titleDeliveryDateStr}}\n                </span>\n            </div>\n            {% if isUber %}\n                <span class="uber-delivery">\n                    <img src="https://storage.jukeboxprint.com/s/images/delivered-with-uber-w.svg" alt="Delivered with Uber">\n                </span>\n            {% endif %}\n            <span class="delivery-method-cost">\n                {% if price > 0 %}\n                    +{{- price|money({ withCode: false }) -}}\n                {% else %}\n                    Free Shipping\n                {% endif %}\n            </span>\n            <div class="arrow-icon-wrapper"></div>\n            {% if not onlyOneDate %}<span class="multiple-date-message">Your order will be delivered in multiple shipments. Some items will arrive sooner than others.</span>{% endif %}\n            <div class="est-delivery-date-and-cost ship-desc {% if price > 0 %}not-free{% endif %}">\n                {% for data in estDeliveryDates %}\n                    <div class="est-delivery-group">\n                        {% if isStaff %}\n                            <div class="shipping-method">{{ data.shippingMethod }} ({{ data.shippingPrice|money({ withCode: false }) }}{% if data.rushPrice > 0 %}, Rush {{ data.rushPrice|money({ withCode: false }) }}{% endif %})</div>\n                        {% endif %}\n                        <span class="est-date {% if onlyOneDate %}hide{% endif %}">\n                            Delivery Date: <span>{{ data.date }}</span>\n                        </span>\n                        <div class="items">\n                            <ul>\n                                {% for key, item in data.items %}\n                                    <li class="{{item.id}}">\n                                        {{ macros.itemDetailsTemplate(item, key, data) }}\n                                        {% if isStaff %}\n                                            {{ data.rushOptions[key] != 0 ? \'<div class="item-rush">Rush-\' ~ data.rushOptions[key] ~ \'</div>\'|raw : \'\' }}\n                                        {% endif %}\n                                    </li>\n                                {% endfor %}\n                            </ul>\n                        </div>\n                    </div>\n                {% endfor %}\n            </div>\n            {% if importFees %}
1\n                <span class="delivery-import">Includes import taxes &amp; fees</span>\n            {% endif %}\n            {% if isUber %}\n                <div class="uber-delivery-options">\n                    <div class="uber-delivery-action-radio-group">\n                        <label class="uber-delivery-action-radio">\n                            <input type="radio" \n                                    name="uberDeliveryAction" \n                                    value="meet_at_door" \n                                    class="uber-delivery-action-radio-input"\n                                    data-method="{{ method }}">\n                            <img src="https://storage.jukeboxprint.com/s/images/uber-hand-it-to-me.png"\n                                 alt="Meet at door"\n                                 class="uber-delivery-action-icon"\n                                 role="presentation">\n                            <span class="uber-delivery-action-label">Meet at door</span>\n                        </label>\n                        <label class="uber-delivery-action-radio">\n                            <input type="radio" \n                                    name="uberDeliveryAction" \n                                    value="leave_outside" \n                                    class="uber-delivery-action-radio-input"\n                                    data-method="{{ method }}">\n                            <img src="https://storage.jukeboxprint.com/s/images/uber-leave-at-door.png" \n                                 alt="Leave Outside" \n                                 class="uber-delivery-action-icon"\n                                 role="presentation">\n                            <span class="uber-delivery-action-label">Leave outside</span>\n                        </label>\n                    </div>\n                    <input type="text" \n                            class="uber-delivery-instruction-input" \n                            name="uberDeliveryInstruction" \n                            placeholder="Add delivery instructions (optional)" \n                            maxlength="150"\n                            data-method="{{ method }}"\n                            value="{{ uberDeliveryInstruction }}">\n                </div>\n            {% endif %}\n        </div>\n    </button>\n{% endif %}\n{% endspaceless %}\n'},90890(e){e.exports='<div class="item checkout-item give_away_item-container">\n    <div class="item-section">\n        <div class="section-info product-details">\n            <div class="item-basic clearfix">\n                <div class="item-basic-details">\n                    <div class="item-preview-section">\n                        <div class="checkout-preview-image-section">\n                            <img class="premade-thumbnail" src="{{imgUrl}}">\n                        </div>\n                    </div>\n                    <div class="item-content-section">\n                        <div class="top-table">\n                            <div class="brief-info">\n                                <div class="title">{{title}}</div>\n                                <div class="description">{{description}}</div>\n                            </div>\n                            <div class="edit-and-remove-button-wrapper">\n                                <div class="net-price">$0</div>\n                            </div>\n                        </div>\n                        <div class="detail-table">\n                            <input type="radio" name="give_away_item" id="free-item-yes" value="yes" {% if includeGiveAway %}checked{% endif %}>\n                            <label for="free-item-yes" class="radio-label">\n                                <span>Yes</span>\n                            </label>\n                            <input type="radio" name="give_away_item" id="free-item-no" value="no" {% if not includeGiveAway %}checked{% endif %}>\n                            <label for="free-item-no" class="radio-label">
1\n                                <span>No</span>\n                            </label>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\x3c!--.item-section--\x3e\n</div>\x3c!--.checkout-item--\x3e\n'},43531(e){e.exports='<div class="guest-contact">\n    <h4>Contact</h4>\n    <form class="guest-contact-form">\n        <div class="guest-contact-form-fields-wrapper">\n            <div class="input-field-wrapper">\n                <div class="form-row email-field">\n                    <label class="float-label {{ email ? \'active\' : \'\' }}">Email</label>\n                    <input type="email" name="email" value="{{ email }}" placeholder="Email Address" required>\n                    <div class="error"></div>\n                </div>\n            </div>\n            <div class="phone-field-wrapper">\n                <div class="form-row phone-field">\n                    <label class="float-label {{ phone ? \'active\' : \'\' }}">Phone - Optional</label>\n                    <input type="text" name="phone" value="{{ phone }}" placeholder="Phone Number (Optional)">\n                    <div class="error"></div>\n                </div>\n                <div class="help-circle">\n                    <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n                        viewB
1ox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">\n                        <style type="text/css">\n                            .st0{fill:none;stroke:#707070;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}\n                        </style>\n                        <path class="st0" d="M10,18.3c4.6,0,8.3-3.7,8.3-8.3c0-4.6-3.7-8.3-8.3-8.3c-4.6,0-8.3,3.7-8.3,8.3C1.7,14.6,5.4,18.3,10,18.3z"/>\n                        <path class="st0" d="M7.6,7.5c0.2-0.6,0.6-1,1.1-1.3c0.5-0.3,1.1-0.4,1.7-0.3c0.6,0.1,1.1,0.4,1.5,0.9c0.4,0.5,0.6,1,0.6,1.6\n                            c0,1.7-2.5,2.5-2.5,2.5"/>\n                        <path class="st0" d="M10,14.2L10,14.2"/>\n                    </svg>\n                </div>\n            </div>\n        </div>\n    </form>\n</div>\n\n<div class="delivery-methods">\n    <h4>Delivery method</h4>\n    <div class="method-select-wrapper">\n        <div class="shipping-method ship {% if disableLocation == \'both\' %}only-option{% endif %} {% if only_pickup %}hide{% endif %}">\n            <input class="shipping-method-input" type="radio" name="delivery-method" id="delivery-method-ship" value="ship" {% if useShipping and not useUberDelivery %}checked{% endif %}>\n            <label class="shipping-method-label" for="delivery-method-ship">\n                <div class="svg svg-free-shipping-30x30 shipping"></div>\n                <span>Ship</span>\n                {# canada post strike note #}\n                {% if canadaStickerPromo %}<span>(Canada Post*)</span>{% endif %}\n                <span class="fastest-liner"></span>\n            </label>\n        </div>\n        <div class="shipping-method ship-uber {% if only_pickup or not uberEligible %}hide{% endif %}">\n            <input class="shipping-method-input" type="radio" name="delivery-method" id="delivery-method-ship-uber" value="ship-uber" {% if useUberDelivery %}checked{% endif %}>\n            <label class="shipping-method-label" for="delivery-method-ship-uber">\n                <img src="https://storage.jukeboxprint.com/s/images/delivered-with-uber-w.svg" alt="Delivered with Uber" style="height: 10px; width: auto;">\n                <span class="fastest-liner"></span>\n            </label>\n        </div>\n        {% if disableLocation != \'both\' %}\n        <div class="shipping-method pick-up">\n            <input class="shipping-method-input" type="radio" name="delivery-method" id="delivery-method-ship-pick-up" value="pick-up" {% if not useShipping %}checked{% endif %}>\n            <label class="shipping-method-label" for="delivery-method-ship-pick-up">\n                <div class="svg svg-pickup-locker-box-icon-25x25"></div>\n                <span>Pick Up</span>\n                <span class="fastest-liner"></span>\n            </label>\n        </div>\n        {% endif %}\n    </div>\n    {# canada post strike note #}\n    {% if canadaStickerPromo %}\n        <span class="service-disruption-note">* Orders are shipped with Canada Post. If there is a postal service disruption or strike, shipping delays may occur.</span>\n    {% endif %}\n</div>\x3c!--.delivery-methods--\x3e \n\n<div class="guest-delivery-address {% if not useShipping %}hide{% endif %}">\n    <div class="checkout-delivery-address-form">\n        <h4>Shipping address</h4>\n        <div class="address-declined-wrapper hide">\n            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n                <path d="M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z" stroke="#DD1C1C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n                <path d="M12 8V12" stroke="#DD1C1C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n                <path d="M12 16H12.01" stroke="#DD1C1C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>\n            </svg>\n            <span class="message">The address provided is invalid. Please enter a valid address.</span>\n        </div>\n        <form class="address-form" onsubmit="return false;"></form>\n    </div>\n</div>\n\n{% if disableLocation != \'both\' %}
1\n<div class="pickup-locations-wrapper {% if useShipping %}hide{% endif %}">\n    <h4>Pickup locations</h4>\n    <div class="location-select-wrapper">\n        {% if disableLocation != \'vancouver\' %}\n        <div class="pickup-location">\n            <input class="location-input" type="radio" name="pick-up-location" id="pick-up-location-vancouver" value="vancouver" {% if pickupLocation == \'vancouver\' %}checked{% endif %}>\n            <label class="location-label" for="pick-up-location-vancouver">\n                <div class="top">\n                    <span class="distance">{{ officeAddresses.vancouver }} {% if pickupDistances.distanceToVan %}({{pickupDistances.distanceToVan}}KM Away){% endif %}</span>\n                    {# <span>Free</span> #}\n                </div>\n                <div class="bottom">\n                    <span class="note">(Most orders will be placed in our locker box for easy pickup, especially after hours. Instructions will be emailed to you when your order is ready.)</span>\n                </div>\n            </label>\n        </div>\n        {% endif %}\n        {% if disableLocation != \'toronto\' %}\n        <div class="pickup-location">\n            <input class="location-input" type="radio" name="pick-up-location" id="pick-up-location-toronto" value="toronto" {% if pickupLocation == \'toronto\' %}checked{% endif %}>\n            <label class="location-label" for="pick-up-location-toronto">\n                <div class="top">\n                    <span class="distance">{{ officeAddresses.toronto }} {% if pickupDistances.distanceToTor %}({{pickupDistances.distanceToTor}}KM Away){% endif %}</span>\n                    {# <span>Free</span> #}\n                </div>\n                <div class="bottom">\n                </div>\n            </label>\n        </div>\n        {% endif %}\n    </div>\n</div>\n{% endif %}\n\n<div class="bottom-button-wrapper">\n    <a class="button go-to-home" href="/">Continue Shopping</a>\n    <button class="button save-address-form spinner-load-button">Review & Confirm {% if useShipping %}Shipping{% else %}Pickup{% endif %} Options</button>\n</div>'},70321(e){e.exports='<div class="item checkout-item {{ orderItem.productName|lower|replace({\' \': \'_\'}) }}" id="{{ orderItem.id }}">\n    <div class="item-section">\n        <div class="section-info product-details">\n        </div>\x3c!--.section-info--\x3e\n    </div>\x3c!--.item-section--\x3e\n</div>\x3c!--.checkout-item--\x3e\n'},18803(e){e.exports='<h4>Gift card or discount code</h4>\n<div class="promo-code-header open">Add promo code</div>\n<div class="summary-panel-body promo-code-body">\n\t<form class="promo-code">\n\t\t<div class="promo-code-errors text-error"></div>\n\t    <input type="text" id="promo-code-input" placeholder="Enter promo code">\n\t    <button class="button button-small spinner-load-button" id="promo-code-check">Apply</button>\n\t</form>\n\t<div id="active-promo-div" hidden>\n\t    <h5>Promo Code Applied:</h5>\n\t    <span class="text-success" id="active-promo-code"></span>\n\t\t<span id="promo-code-remove" class="inline-link">Remove</span>\n\t</div>\n</div>\n'},57861(e){e.exports='<div class="proof-select">\n    {% for proof in proofingMethods %}\n        <div class="proof-select-option proof-select-{% if proof.label == "Run As Is" %}run-as-is{% else %}online-pdf{% endif %}">\n            <input type="radio" id="{{itemId}}-{{ proof.id }}" name="proof-method-{{itemId}}" value="{{ proof.id }}" {% if proof.id == selection %}checked{% endif %}>\n            <label for="{{itemId}}-{{ proof.id }}">{{ proof.label|replace({\'Proof\':\'\'}) }}</label><span class="proof-select-question-mark proof-select-{% if proof.label == "Run As Is" %}run-as-is{% else %}online-pdf{% endif %}">?</span>\n            {% if proof.label == "Run As Is" %}\n                <div class="proof-select-option-message run-as-is-message">Your order will be sent directly to production. If we encounter any issue with your files you will still be notified.</div>\n            {% else %}\n                <div class="proof-select-option-message online-pdf-message">Our production team will be reviewing your file manually. You will be receiving your online proof by email within 2-4 hours.</div>\n            {% endif %}\n        </div>\n    {% endfor %}\n</div>\n'},85528(e){e.exports='<div class="item checkout-item sample-pack-item-container" id="{{ id }}">\n    <div class="item-section">\n        {# <div class="item-preview-section">\n            <div class="checkout-preview-image-section">\n                <img class="premade-thumbnail" src="https://storage.jukeboxprint.com/s/images/Placeholder-Fallback.svg">\n            </div>\n        </div> #}\n        <div class="item-content-section">\n            <div class="top-table">\n                <div class="item-job-name">{{ samplePack.name }}</div>\n                <div class="edit-and-remove-button-wrapper">\n                    <div class="net-price">\n                        ${{netPrice}}\n                    </div>\n                    <a href="#" class="btn-remove" title="Remove {{ samplePack.name }} Sample Pack">\n                        <div class="svg-x-circle" style="width: 20p
1x; height: 20px;"></div>\n                    </a>\n                </div>\n            </div>\n        </div>\n    </div>\x3c!--.item-section--\x3e\n</div>\x3c!--.checkout-item--\x3e\n'},36264(e){e.exports='<div class="summary-desktop">\n    {% if mode == \'review\' or mode == \'payment\' %}\n        <h2>Order Summary</h2>\n    {% endif %}\n    {% set totalShippingPrice = 0 %}\n    {% for item in items %}\n        <div class="item-wrapper {% if mode == \'review\' %}hide{% endif %}">\n            {% if mode == \'payment\' and \'item_reorder_new\' not in item.id %}\n                {% set design = null %}\n                {% set previewerPdf = null %}\n                {% set noPreviewImage = false %}\n                {% if item.thumbnail is defined and item.thumbnail %}\n                    {% set design = item.thumbnail %}\n                {% elseif item.suggestedProductThumbnailUrl is defined and item.suggestedProductThumbnailUrl %}\n                    {% set design = item.suggestedProductThumbnailUrl %}\n                {% elseif item.previewerPdf is defined and item.previewerPdf %}\n                    {% set previewerPdf = item.previewerPdf %}\n                {% endif %}\n\n                {% if not design and not previewerPdf %}\n                    {% set design = \'https://storage.jukeboxprint.com/s/images/Placeholder-Fallback.svg\' %}\n                    {% set noPreviewImage = true %}\n                {% endif %}\n\n                <div class="item-preview-section {{ noPreviewImage ? \'hide\' : \'\' }}">\n                    {% if design or previewerPdf %}\n                        <div class="checkout-preview-image-section {{ item.bikeSticker ? \'bike-sticker\' : \'\' }}">\n                            {% if design %}\n                                <img class="premade-thumbnail" src="https://res.cloudinary.com/dbtcocjdk/image/fetch/f_auto,dpr_auto,h_150/{{ design }}">\n                            {% elseif previewerPdf %}\n                                <iframe id="iframe-{{ previewerPdf.metaId }}" src="{{previewerPdf.url}}" width="400" height="100" frameborder="0" type="application/pdf"></iframe>\n                            {% endif %}\n                        </div>\n                    {% endif %}\n                </div>\n            {% endif %}\n            <a href="#{{ item.id }}" class="detail-row summary-item-price clearfix">\n                <div class="item-name-and-price-wrapper">\n                    <div class="item-job-name">\n                    {% if item.jobName != \'Job\' %}\n                        {{ item.jobName }}\n                    {% else %}\n                        {% if item.productName is defined and item.productName is not empty %}\n                            {{ item.productName }}\n                        {% elseif item.classification == \'sample_pack\' %}\n                            {{ item.samplePack.type }}{% if not item.samplePack.custom %} Sample Pack{% endif %}\n                        {% else %}\n                            {{ item.product.type.label == \'Business Cards (Single Ply)\' ? \'Business Cards\' : item.product.type.label }}\n                        {% endif %}\n                    {% endif %}\n                    </div>\n                    {% set price = item.netPrice + ((item.classification == \'product\' or item.classification == \'custom_product\') ? item.extraPrice : 0) %}\n                    {% set itemDiscount = item.discount - item.shippingDiscount|default(0) %}\n                    {% if price + itemDiscount < 0 %}\n                        {% set leftoverDiscount = price + itemDiscount %}\n                    {% endif %}\n                    <div class="item-price">{{ currencySymbol }}{{ (price)|money(moneyParams)|number_format(2) }}</div>\n                </div>\n                {% if item.product.type.id == 50 %}\n                    <div class="item-quantity">{{ item.quantity }} Quantity</div>\n                {% elseif item.product.type.id == 65 %}\n                    {% set stickerSize = \'\' %}\n                    {% if item.product.spec is defined and item.product.spec and item.product.spec.size1 is defined and item.product.spec.size1 %}\n                        {% set stickerSize = item.product.spec.size1.printWidth ~ \'" x \' ~ item.product.spec.size1.printHeight ~ \'"\' %}\n                    {% endif %}\n                    <div class="item-quantity">\n                        {{ item.product.size.label }}
1\n                        {% if stickerSize %} / {{ stickerSize }} Stickers{% endif %}\n                        {% if item.stickerCount is defined and item.stickerCount %} × {{ item.stickerCount }}{% endif %}\n                        / {{ item.quantity }} Quantity\n                    </div>\n                {% else %}\n                    {% set size = \'\' %}\n                    {% if item.product.type.id in [23,33,37,39,40,43,51,55,56] %}\n                        {% if item.product.type.id == 40 %}\n                            {% set size = item.printWidth|default(item.product.size.printWidth)/12 ~ \'" x \' ~ item.printHeight|default(item.product.size.printHeight)/12 ~ \'"\' %}\n                        {% else %}\n                            {% set size = item.printWidth|default(item.product.size.printWidth) ~ \'" x \' ~ item.printHeight|default(item.product.size.printHeight) ~ \'"\' %}\n                        {% endif %}\n                    {% else %}\n                        {% if item.product.size.id in [485,500,501,502,503,504,505] %}\n                            {% set orientation = item.product.size.orientation %}\n                            {% if orientation %}\n                                {% set size = item.finishedWidth ~ \'" x \' ~ item.finishedHeight ~ \'"\' %}\n                                {% if orientation == \'p\' %}\n                                    {% set size = size ~ \' Portrait\' %}\n                                {% else %}\n                                    {% set size = size ~ \' Landscape\' %}\n                                {% endif %}\n                            {% else %}\n                                {% set size = item.printWidth ~ \'" x \' ~ item.printHeight ~ \'"\' %}\n                            {% endif %}\n                        {% else %}\n                            {% set size = item.product.size.label %}\n                        {% endif %}\n                    {% endif %}\n                    <div class="item-quantity">{{ size }} / {{ item.quantity }} Quantity{% if item.product.frontCoating is defined and item.product.frontCoating.id != 1 %} / {{item.product.frontCoating.name}}{% endif %}{% if item.product.type.id in [7,64] %} / {{item.pages}} Sheets{% elseif item.product.type.id in [17,49,59] %} / {{item.pages}} Pages{% endif %}</div>\n                {% endif %}\n                {% if noShippingGrossPrice is not defined %}\n                    {% set shippingDiscount = item.shippingDiscount|default(0) + leftoverDiscount|default(0) %}\n                    {# <div>+ {{item.shippingPrice + shippingDiscount}} -> </div> #}\n                    {% if item.shippingPrice is defined and item.shippingPrice + shippingDiscount > 0 %}\n                        {% set totalShippingPrice = totalShippingPrice + (item.shippingPrice + shippingDiscount) %}\n                    {% endif %}\n                    {# <div>totalShipping:{{totalShippingPrice}}</div> #}\n                {% endif %}\n            </a>\n        </div>\n    {% endfor %}\n    <div class="summary-total-wrapper">\n        <div class="detail-row summary-total clearfix">\n            <div>Subtotal</div>\n            <div class="subtotal-price">{{ currencySymbol }}{{ (beforeTaxPrice - totalShippingPrice > 0 ? beforeTaxPrice - totalShippingPrice : 0)|money(moneyParams)|number_format(2) }}</div>\n        </div>\n        {% if useShipping and noShippingGrossPrice is not defined and additionalPayment is not defined %}\n            <div class="detail-row shipping-total clearfix">\n                <div>Shipping</div>\n                <div class="total-shipping-price">\n                    {% if mode == \'review\' %}\n                        <span class="preview-shipping-price">(calculated at next page)</span>\n                    {% else %}\n                        {% if totalShippingPrice <= 0 %}\n                            <span class="free-ship">Free</span>\n                        {% else %}\n                            <div>{{ currencySymbol }}{{ totalShippingPrice|money(moneyParams)|number_format(2) }}</div>\n                        {% endif %}\n                    {% endif %}\n                </div>\n            </div>\n        {% endif %}\n        {# {% for taxName, tax in taxes|filter(tax => tax.amount != 0) %}\n            <div class="detail-row summary-tax {{ taxName }} clearfix">\n                <div>{{ taxName }} ({{ tax.rate }}%)</div>\n                <div class="tax-amount">{{ tax.amount|money(moneyParams) }}</div>\n            </div>\n        {% endfor %} #}\n        {% if taxTotal.amount != 0 %}\n            <div class="detail-row tax-total clearfix">\n                <div>Estimated Tax</div>\n                <div class="tax-amount">{{ currencySymbol }}{{ taxTotal.amount|money(moneyParams)|number_format(2) }}</div>\n            </div>\n        {% endif %}\n        {% if inStoreCredit is defined and inStoreCredit > 0 %}\n            <div class="detail-row summary-credits clearfix ">\n                <div>In-Store Credit</div>\n                <div class="money">-{{ currencySymbol }}{{ inStoreCredit|money(moneyParams)|number_format(2) }}</div>\n            </div>\n        {% endif %}\n        {% set traditionalDiscount = discount - multiCartDiscount|default(0) %}\n        {% if traditionalDiscount is defined and traditionalDiscount != 0 %}\n            <div class="detail-row summary-discount clearfix">\n                <div class="discount-label">Discount</div>\n                <div class="savings-value" {% if traditionalDiscount > 0 %}style="color:black;"{% endif %}>\n                    {% if traditionalDiscount < 0 %}\n                        -{{ currencySymbol }}{{ (traditionalDiscount * -1)|money(moneyParams)|number_format(2) }}\n                    {% else %}\n                        {{ currencySymbol }}{{ traditionalDiscount|money(moneyParams)|number_format(2) }}\n                    {% endif %}\n                </div>\n            </div>\n        {% endif %}\n        {% if multiCartDiscount is defined and multiCartDiscount != 0 %}\n            <div class="detail-row summary-discount multi-cart-discount clearfix">\n                <div class="discount-label flex items-center text-green-700">
1\n                    <span>Multi-Item Discount</span>\n                </div>\n                <div class="savings-value text-green-700 font-bold">\n                    -{{ currencySymbol }}{{ (multiCartDiscount * -1)|money(moneyParams)|number_format(2) }}\n                </div>\n            </div>\n        {% endif %}\n        {% if appliedPromoStoreCredits is defined and appliedPromoStoreCredits is not empty %}\n            {% for creditGroup in appliedPromoStoreCredits %}\n                {% if creditGroup.amount != 0 %}\n                    <div class="detail-row summary-discount clearfix">\n                        <div>{{ creditGroup.label }}</div>\n                        <div class="savings-value">\n                            -{{ currencySymbol }}{{ creditGroup.amount|money(moneyParams)|number_format(2) }}\n                        </div>\n                    </div>\n                {% endif %}\n            {% endfor %}\n        {% endif %}\n    </div>\n    <div class="detail-row summary-total summary-grand-total clearfix">\n        <div>Total</div>\n        <div>{{ currencySymbol }}{{ grossPrice|money(totalMoneyParams)|number_format(2) }}</div>\n    </div>\n    <div class="convert hide">\n        <form method="post" action="/order/convert-cart">\n            <label for="convert-email">Email: </label><input required="true" type="email" name="convert-email" id="convert-email" value="{{ customerData.email }}">\n            <label for="convert-name">Name: </label><input required="true" type="text" name="convert-name" id="convert-name" value="{{ customerData.name }}">\n            <button type="submit" id="btn-convert-cart" class="button button-small green-button" target="_blank">Send Cart as Quote Email</button>\n        </form>\n    </div>\x3c!--.actions--\x3e\n    <div class="actions hide">\n        <button id="btn-empty-cart" type="button" class="button button-small red-button">Empty Cart</button>\n    </div>\x3c!--.actions--\x3e\n</div>\n'},94826(e){e.exports='<div class="rush-option" data-id="{{id}}">\n    <span class="title">{{title}}</span>\n    <div class="help-container">\n        {# <div class="info-icon"></div> #}\n        <span class="info-text">What\'s this?</span>\n        <div class="info-help">\n            <div class="help-body">\n                <p>{{rushDescription}}</p>\n            </div>\n        </div>\n    </div>\n    <span class="price">{{price}}</span>\n    <button class="select-option" data-id="{{id}}"></button>\n    {% if id == 1 %}\n        <div class="sameday-countdown">\n            <span>{% if proofType == 1 %}If you approve artwork{% else %}If you order{% endif %} within <span class="countdown-timer {% if isTorontoTime %}toronto{% endif %}"></span></span>\n        </div>\n    {% endif %}\n</div>\n'},63724(e){e.exports='<div class="horizontal-progress-bar">\n    <div class="step checkout-step {{checkoutStatus}}">\n        <div class="step-name">\n            <div class="step-circle"><span>1</span></div>\n            <div class="step-title">Checkout</div>\n        </div>\n        <div class="step-bar-left"></div>\n        <div class="step-bar-right"></div>\n    </div>\n    <div class="step shipping-step {{shippingStatus}}">\n        <div class="step-name">\n          <div class="step-circle"><span>2</span></div>\n          <div class="step-title">Shipping</div>\n        </div>\n        <div class="step-bar-left"></div>\n        <div class="step-bar-right"></div>\n    </div>\n    <div class="step payment-step {{paymentStatus}}">\n        <div class="step-name">\n            <div class="step-circle"><span>3</span></div>\n            <div class="step-title">Payment</div>\n        </div>\n        <div class="step-bar-left"></div>\n        <div class="step-bar-right"></div>\n    </div>\n    <div class="step review-step {{reviewStatus}}">\n        <div class="step-name">\n            <div class="step-circle"><span>4</span></div>\n            <div class="step-title">Review</div>\n        </div>\n        <div class="step-bar-left"></div>\n        <div class="step-bar-right"></div>\n    </div>\n</div>'},51789(e){e.exports='{# BACKBONE TEMPLATE — compiled client-side by twig.js 0.10.2 (assets/vendor/twig.js).\n   Use only Twig 2-compatible syntax: no |filter(), |map(), {% apply %}, or arrow functions.\n   Use {% for %}{% if %} instead of |filter(); use {% spaceless %} not {% apply spaceless %}. #}\n{% set orderAcceptsFiles = false %}\n{% if orderItem.classification in [\'product\', \'custom_product\'] and not orderItem.instagramSticker and n
1ot orderItem.thumbnail and\n        (\'item_reorder\' not in orderItem.id or \'item_reorder_new\' in orderItem.id) and not orderItem.skipFileUpload and not orderItem.bikeSticker and orderItem.promo != \'free-die-cut-stickers\' %}\n    {% set orderAcceptsFiles = true %}\n{% endif %}\n\n{% set fromBusinessCardUploader = false %}\n{% if orderItem.previewerPdf %}\n    {% set fromBusinessCardUploader = true %}\n{% endif %}\n\n<div class="item-basic clearfix">\n    {% set usesDefaultDie = false %}\n    {% for printType in orderItem.product.printTypes %}\n        {% if printType.print.id in [9,11,13,15,21] %}\n            {% set usesDefaultDie = true %}\n        {% endif %}\n    {% endfor %}\n    <div class="item-basic-details {{ orderItem.bikeSticker ? \'bike-name-sticker\' : \'\' }}">\n        <div class="item-content-section">\n            <div class="edit-item-button-wrapper">\n                {# #30924: hide edit for quote/suggested-product-derived items that carry extras —\n                   the linked product page may not surface those extras (e.g. hole_drilling on a\n                   Duplex 2-Ply page), so editing from the cart would silently strip them. #}\n                {% set isQuoteDerivedWithExtras = (orderItem.quotePrintEmailId or orderItem.suggestedProductId) and orderItem.extras is defined and orderItem.extras|length > 0 %}\n\n                {%- if orderItem.classification != \'custom_product\' and not isQuoteDerivedWithExtras and not orderItem.previewerPdf and not orderItem.isFromOrderPrints and not orderItem.bikeSticker and not orderItem.instagramSticker and not orderItem.shapeSticker and not orderItem.stickerSheetData and not orderItem.decalSticker and \'item_reorder\' not in orderItem.id and not orderItem.isPromo and not orderItem.nameSticker and not orderItem.fromMaker -%}\n                    <a href="/productSelect/{{ orderItem.id }}" class="btn-edit-product" title="Edit {{ orderItem.jobName }}">\n                        Edit order\n                    </a>\n                {%- elseif ((orderItem.shapeSticker and orderItem.promo != \'free-die-cut-stickers\') or orderItem.decalSticker) and \'item_reorder\' not in orderItem.id and not orderItem.isPromo -%}\n                    {% set route = orderItem.shapeSticker ? \'/tools/sticker-maker\' : \'/creator/custom-sticker-sheet-maker\' %}\n                    {% set route = orderItem.product.type.id == 43 ? \'/creator/custom-coaster-maker\' : route %}\n                    {% set route = orderItem.decalSticker ? \'/creator/custom-decal-sticker-maker\' : route %}\n                    {% set route = orderItem.product.type.id == 23 ? \'/creator/custom-sticker-roll-maker\' : route %}\n                    \n                    {% if orderItem.product.type.id in [33,39,55,56,61] %}\n                        {% set route = route ~ \'?product_type=\' ~ orderItem.product.type.id %}\n                    {% endif %}\n                    <form action="{{ route }}" method="post">\n                        <input type="hidden" name="item_id" value="{{ orderItem.id }}">\n                        <input type="hidden" name="creator_opened_from_checkout" value="1">\n                        <input type="submit" class="btn-edit-product" value="Edit order">\n                        <div class="left-arrow"></div>\n                    </form>\n                {%- elseif orderItem.stickerSheetData and not orderItem.stickerSheetV2 and \'item_reorder\' not in orderItem.id -%}\n                    <form action="/creator/custom-sticker-sheet-maker" method="post">\n                        <input type="hidden" name="item_id" value="{{ orderItem.id }}">\n                        <input type="hidden" name="creator_opened_from_checkout" value="1">\n                        <input type="submit" class="btn-edit-product" value="Edit order">\n                        <div class="left-arrow"></div>\n                    </form>\n                {%- endif -%}\n            </div>\n\n            <div class="top-table">\n                <div class="brief-info">\n                    <div class="edit-job-name-wrapper">\n                        <div class="job-name-wrapper">
1\n                            <span class="name-display" role="textbox" contenteditable title="Rename"></span> \n                        </div>\n                    </div>\n                </div>\n                <div class="edit-and-remove-button-wrapper">\n                    <div class="end-wrapper">\n                        <div class="net-price">\n                            {{orderItem.netPrice|number_format(2)}}\n                        </div>\n                        <a href="#" class="btn-remove" title="Remove {{ orderItem.jobName }}">\n                            <div class="svg-x-circle" style="width: 20px; height: 20px;"></div>\n                        </a>\n                    </div>\n                </div>\n            </div>\n            <div class="detail-table">\n                \x3c!--This section is also being used on shipping page. Need to update both--\x3e\n                    {% if \'item_reorder_new\' not in orderItem.id %}\n                        {% set design = null %}\n                        {% set previewerPdf = null %}\n                        {% set noPreviewImage = false %}\n                        {% if orderItem.thumbnail is defined and orderItem.thumbnail %}\n                            {% set design = orderItem.thumbnail %}\n                        {% elseif orderItem.suggestedProductThumbnailUrl is defined and orderItem.suggestedProductThumbnailUrl %}\n                            {% set design = orderItem.suggestedProductThumbnailUrl %}\n                        {% elseif orderItem.previewerPdf is defined and orderItem.previewerPdf %}\n                            {% set previewerPdf = orderItem.previewerPdf %}\n                        {% endif %}\n\n                        {% if not design and not previewerPdf %}\n                            {% set design = \'https://storage.jukeboxprint.com/s/images/Placeholder-Fallback.svg\' %}\n                            {% set noPreviewImage = true %}\n                        {% endif %}\n\n                        <div class="item-preview-section {{ noPreviewImage ? \'hide\' : \'\' }}">\n                            {% if design or previewerPdf %}\n                                <div class="checkout-preview-image-section {{ orderItem.bikeSticker ? \'bike-sticker\' : \'\' }} can-enlarge">\n                                    {% if design %}\n                                        <img class="premade-thumbnail" src="https://res.cloudinary.com/dbtcocjdk/image/fetch/f_auto,dpr_auto,h_150/{{ design }}">\n                                    {% elseif previewerPdf %}\n                                        <iframe id="iframe-{{ previewerPdf.metaId }}" src="{{previewerPdf.url}}" width="400" height="150" frameborder="0" type="application/pdf"></iframe>\n                                    {% endif %}\n                                    {% if not noPreviewImage and not orderItem.bikeSticker and not orderItem.instagramSticker and (orderItem.promo is not defined or orderItem.promo != \'free-die-cut-stickers\')\n                                        and not orderItem.isFromOrderPrints and not orderItem.thumbnail and not previewerPdf %}\n                                        <a class="remove-design" href="#">\n                                            Delete {% if not previewerPdf %}Image{% else %}PDF{% endif %}\n                                        </a>\n                                    {% endif %}\n                                </div>\n                            {% endif %}\n                        </div>\n                    {% endif %}\n                    <div class="more-detail-content">\n                        <div class="quantity-wrapper">\n                            <div class="text">Quantity:</div>\n                            <div class="quantity-select">{{orderItem.quantity}}</div>\n                        </div>\n                        <table>\n                            {% if orderItem.product.type.id != 65 %}\n                            <tr class="stock">\n                                <th class="attr-title">Stock:</th>\n                                <td class="label">{{ orderItem.product.stock.label }}</td>\n                            </tr>\n                            {% if orderItem.product.type.id in [31, 32, 66] %}\n                            <tr class="stock1 extra-spec">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                            <tr class="stock2 extra-spec">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                            {% endif %}\n                            {% endif %}\n                            {% if orderItem.product.type.id != 65 %}\n                            {% if orderItem.product.type.id in [23,33,37,39,40,43,51,55,56] %}\n                                <tr class="size">\n                                    <th class="attr-title">Size:</th>\n                                    <td class="label">\n                                        {% if orderItem.product.type.id == 40 %}\n                                            {{ orderItem.printWidth|default(orderItem.product.size.printWidth)/12 }}\' x {{ orderItem.printHeight|default(orderItem.product.size.printHeight)/12 }}\'\n                                        {% else %}\n                                            {{ orderItem.printWidth|default(orderItem.product.size.printWidth) }}" x {{ orderItem.printHeight|default(orderItem.product.size.printHeight) }}"\n                                        {% endif %}\n                                        {% if orderItem.bikeSticker %} Sticker Sheet {% endif %}\n                                        {% if orderItem.bikeSticker and orderItem.bikeStickerSpecs 
1is defined and orderItem.bikeStickerSpecs %}\n                                            <div class="bike-sticker-dimensions">\n                                                <span>10 Qty. </span>{{ orderItem.bikeStickerSpecs.bikeStickerHeight }}" x {{ orderItem.bikeStickerSpecs.bikeStickerWidth }}"\n                                            </div>\n                                            <div class="helmet-sticker-dimensions">\n                                                <span>6 Qty. </span>{{ orderItem.bikeStickerSpecs.helmetStickerHeight }}" x {{ orderItem.bikeStickerSpecs.helmetStickerWidth }}"\n                                            </div>\n                                        {% endif %}\n                                    </td>\n                                </tr>\n                            {% else %}\n                                <tr class="size">\n                                    <th class="attr-title">Size:</th>\n                                    <td class="label">\n                                        {% if orderItem.product.size.id in [485,500,501,502,503,504,505] %}\n                                            {% set orientation = orderItem.product.size.orientation %}\n                                            {% if orientation %}\n                                                {{ orderItem.finishedWidth }}" x {{ orderItem.finishedHeight }}"{{ orientation == \'p\' ? \' Portrait\' : \' Landscape\' }}\n                                            {% else %}\n                                                {{ orderItem.printWidth }}" x {{ orderItem.printHeight }}"\n                                            {% endif %}\n                                        {% else %}\n                                            {{ orderItem.product.size.label }}\n                                        {% endif %}\n                                    </td>\n                                </tr>\n                            {% endif %}\n                            {% endif %}\n                            {% if orderItem.product.type.id == 4 and orderItem.extras.hole_drilling is defined and orderItem.extras.hole_drilling.options.hole is defined %}\n                                <tr class="hole-size">\n                                    <th class="attr-title">Hole Size:</th>\n                                    <td class="label">{{ orderItem.extras.hole_drilling.options.hole.object.label|replace({\' Hole\': \'\'}) }}</td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.product.type.id != 65 and (orderItem.product.frontCoating.id != 1 or orderItem.product.backCoating.id != 1) %}\n                                <tr class="product-details-coating">\n                                    <th>Coating:</th>\n                                    <td class="label">{{ orderItem.product.frontCoating.marketingLabel is defined and orderItem.product.frontCoating.marketingLabel ? orderItem.product.frontCoating.marketingLabel : orderItem.product.frontCoating.label }}\n                                        {% if orderItem.product.type.id != 23 and orderItem.product.frontCoating.id != orderItem.product.backCoating.id %}\n                                        / {{ orderItem.product.backCoating.marketingLabel is defined and orderItem.product.backCoating.marketingLabel ? orderItem.product.backCoating.marketingLabel : orderItem.product.backCoating.label }}\n                                        {% endif %}\n                                    </td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.product.type.id not in [43,55,65] %}\n                                <tr class="output extra-spec">\n                                    <th class="attr-title"></th>\n                                    <td class="label"></td>\n                                </tr>\n                            {% endif %}\n                            {% if usesDefaultDie and orderItem.partialDieTemplate is defined and orderItem.partialDieTemplate.image is defined %}\n                                <tr>\n                                    <td><img width="120" class="premade-thumbnail" style="margin-top: 15px;" src="{{ orderItem.partialDieTemplate.image }}"></td><td></td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.pages is defined and orderItem.pages is not null and orderItem.pages != 0 %}\n                                <tr class="pages extra-spec">\n                                    <th class="attr-title">\n                                        {% if orderItem.product.type.id in [7, 64] %}Sheets:{% else %}Pages:{% endif %}\n                                    </th>\n                                    <td class="label">{{ orderItem.pages }}</td>\n                                </tr>\n                            {% endif %}\n                            <tr class="coilColor extra-spec" style="display:none;">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                            <tr class="coilShape extra-spec" style="display:none;">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                            {% if orderItem.product.type.id == 15 %}\n                                <tr class="envelope extra-spec" style="display:none;">\n                                    <th class="attr-title"></th>\n                                    <td class="label"></td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.product.type.id == 1 %}\n                                <tr class="edge-finishing extra-spec" style="display:none;">\n                                    <th class="attr-title"></th>\n                                    <td class="label"></td>\n                                </tr>\n                            {% endif %}\n                        </table>\n                        {% if orderItem.product.type.id == 65 %}\n                        <table>\n                            <tr>\n                                <th>Size:</th>\n                                <td>{{ orderItem.product.size.label }}</td>\n                            </tr>
1\n                            {% if orderItem.stickerSize %}\n                                <tr>\n                                    <th>Sticker Size:</th>\n                                    <td>{{ orderItem.stickerSize }}</td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.stickerCount %}\n                                <tr>\n                                    <th>Number of Designs:</th>\n                                    <td>{{ orderItem.stickerCount }}</td>\n                                </tr>\n                            {% endif %}\n                        </table>\n                        {% else %}\n                        <table>\n                            {% set showDigitalPrint = false %}\n                            {% for printType in orderItem.product.printTypes %}\n                            {% if printType.print.id not in [0,1,2,5,7,18,19,20] %}\n                                {% if printType.print.id in [11,13,15] %}\n                                    {% set showDigitalPrint = true %}\n                                {% endif %}\n\n                                {% set printLable = printType.print.label %}\n                                {% if printType.print.id == 11 %}\n                                    {% set printLable = \'Foil\' %}\n                                {% endif %}\n                                {% if printType.colorData is defined and printType.color.id not in [1,2] %}\n                                    {% for side, colorData in printType.colorData %}\n                                        {% if colorData is not empty %}\n                                        <tr>\n                                            <th>{{ side|capitalize }} {{printLable}} Color:</th>\n                                            <td class="label">\n                                                {% for color in colorData %}\n                                                    {{ color.label }}{% if not loop.last %},{% endif %}\n                                                {% endfor %}\n                                            </td>\n                                        </tr>\n                                        {% endif %}\n                                    {% endfor %}\n                                {% elseif orderItem.colorData is defined and printType.print.id in orderItem.colorData|keys and printType.color.id not in [1,2] %}\n                                    {% for side, colorData in orderItem.colorData[printType.print.id] %}\n                                        {% if colorData is not empty %}\n                                        <tr>\n                                            <th>{{ side|capitalize }} {{printLable}} Color:</th>\n                                            <td class="label">\n                                                {% for color in colorData %}\n                                                    {{ color.label }}{% if not loop.last %},{% endif %}\n                                                {% endfor %}\n                                            </td>\n                                        </tr>\n                                        {% endif %}\n                                    {% endfor %}\n                                {% else %}\n                                    <tr class="print-type">\n                                        <th>{{ printLable }}:</th>\n                                        <td class="label">\n                                            <span class="print-output-print-type">{{ printType.color.label }}</span>\n                                        </td>\n                                    </tr>\n                                {% endif %}\n                            {% endif %}\n                            {% endfor %}\n                            {% if showDigitalPrint %}\n                                {% for printType in orderItem.product.printTypes %}\n                                {% if printType.print.id == 2 %}\n                                    <tr class="print-type">\n                                        <th>Printing:</th>\n                                        <td class="label">
1\n                                            <span class="print-output-print-type">{{ printType.color.label }}</span>\n                                        </td>\n                                    </tr>\n                                {% endif %}\n                                {% endfor %}\n                            {% endif %}\n                            {% if usesDefaultDie and orderItem.product.size.defaultDieWidth is defined and orderItem.product.size.defaultDieWidth is not null and\n                                    orderItem.product.size.defaultDieHeight is defined and orderItem.product.size.defaultDieHeight is not null and\n                                    orderItem.product.size.defaultDieDescription is defined and orderItem.product.size.defaultDieDescription is not null %}\n                                <tr>\n                                    <th>Default Die:</th>\n                                    <td class="label">{{ orderItem.product.size.defaultDieDescription }}</td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.extras.stamp_pad is defined and orderItem.extras.stamp_pad.selection is defined %}\n                                <tr>\n                                    <th>Stamp Pad:</th>\n                                    <td class="label">{% set stampFirst = true %}{% for name in orderItem.extras.stamp_pad.selection|keys %}{% if name != \'quantity\' %}{% if not stampFirst %}, {% endif %}{{ name }}{% set stampFirst = false %}{% endif %}{% endfor %}</td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.sets > 1 %}\n                                <tr class="sets">\n                                    <th class="attr-title">Sets:</th>\n                                    <td class="label">{{ orderItem.sets }}</td>\n                                </tr>\n                            {% endif %}\n                            {% if orderItem.product.type.id not in [31, 32, 66] %}\n                            <tr class="stock1 extra-spec">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                            <tr class="stock2 extra-spec">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                            {% endif %}\n                            {% if orderItem.product.type.id != 14 %}\n                                <tr class="size1 extra-spec">\n                                    <th class="attr-title"></th>\n                                    <td class="label"></td>\n                                </tr>\n                                <tr class="size2 extra-spec">\n                                    <th class="attr-title"></th>\n                                    <td class="label"></td>\n                                </tr>\n                            {% endif %}\n                            <tr class="coating extra-spec">\n                                <th class="attr-title"></th>\n                                <td class="label"></td>\n                            </tr>\n                        </table>\n                        {% endif %}\n                        <div class="timeframe-wrapper">\n                            <div class="text">Time Frame:</div>\n                            <div class="production-time">\n                                <span class="turnaround"></span>\n                            </div>\n                        </div>\n                        <div class="item-turnaround-wrapper"></div>\n                        \n                        {% if orderAcceptsFiles or orderItem.proof.id == 1 or fromBusinessCardUploader %}\n                            <span class="show-instruction-box">Add Special Instructions to Your Order</span>\n                        {% endif %}\n                    </div>\n                \x3c!--This section is also being used on shipping page. Need to update both--\x3e\n            </div>\x3c!--.detail-table--\x3e\n            {% if orderAcceptsFiles or orderItem.proof.id == 1 or fromBusinessCardUploader %}\n                <div class="edit-item-wrapper">\n                    <div class="order-special-instruction-wrapper">\n                        <textarea type="text" class="order-special-instruction" \n                            id="order-special-instruction-{{orderItem.id}}"\n                            placeholder="Have a comment to make? Add it here and our team will take care of it."></textarea>\n                        <div class="auto-saved-message-wrapper">\n                            <p class="order-special-instruction-auto-saved-message">Auto-saved</p>\n                        </div>\n                    </div>\n                </div>\n            {% endif %}\n            {% if orderAcceptsFiles %}\n                <div class="file-container-{{ orderItem.id }} checkout-file-container"></div>\n            {% endif %}\n\n        </div>\n    </div>\n</div>\x3c!--.item-basic--\x3e\n'},15371(e,t,i){var s;!function(){function n(e,t,i){return e.call.apply(e.bind,arguments)}function r(e,t,i){if(!e)throw Error();if(2<arguments.length){var s=Array.prototype.slice.call(arguments,2);return function(){var i=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(i,s),e.apply(t,i)}}return function(){return e.apply(t,arguments)}}function o(e,t,i){return(o=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?n:r).apply(null,arguments)}var a=Date.now||function(){return+new Date};function d(e,t){this.a=e,this.o=t||e,this.c=this.o.document}var l=!!window.FontFace;function c(e,t,i,s){if(t=e.c.createElement(t),i)for(var n in i)i.hasOwnProperty(n)&&("style"==n?t.style.cssText=i[n]:t.setAttribute(n,i[n]));return s&&t.appendChild(e.c.createTextNode(s)),t}function h(e,t,i){(e=e.c.getElementsByTagName(t)[0])||(e=document.documentElement),e.insertBefore(i,e.lastChild)}function p(e){e.parentNode&&e.parentNode.removeChild(e)}function u(e,t,i){t=t||[],i=i||[];for(var s=e.className.split(/\s+/),n=0;n<t.length;n+=1){for(var r=!1,o=0;o<s.length;o+=1)if(t[n]===s[o]){r=!0;break}r||s.push(t[n])}for(t=[],n=0;n<s.length;n+=1){for(r=!1,o=0;o<i.length;o+=1)if(s[n]===i[o]){r=!0;break}r||t.push(s[n])}e.className=t.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function m(e,t){for(var i=e.className.split(/\s+/),s=0,n=i.length;s<n;s++)if(i[s]==t)return!0;return!1}function f(e,t,i){function s(){a&&n&&r&&(a(o),a=null)}t=c(e,"link",{rel:"stylesheet",href:t,media:"all"});var n=!1,r=!0,o=null,a=i||null;l?(t.onload=function(){n=!0,s()},t.onerror=function(){n=!0,o=Error("Stylesheet failed to load"),s()}):setTimeout((function(){n=!0,s()}),0),h(e,"head",t)}function g(e,t,i,s){var n=e.c.getElementsByTagName("head")[0];if(n){var r=c(e,"script",{src:t}),o=!1;return r.onload=r.onreadystatechange=function(){o||this.readyState&&"loaded"!=this.readyState&&"complete"!=this.readyState||(o=!0,i&&i(null),r.onload=r.onreadystatechange=null,"HEAD"==r.parentNode.tagName&&n.removeChild(r))},n.appendChild(r),setTimeout((function(){o||(o=!0,i&&i(Error("Script load timeout")))}),s||5e3),r}return null}function v(){this.a=0,this.c=null}function y(e){return e.a++,function(){e.a--,b(e)}}function w(e,t){e.c=t,b(e)}function b(e){0==e.a&&e.c&&(e.c(),e.c=null)}function S(e){this.a=e||"-"}function k(e,t){this.c=e,this.f=4,this.a="n";var i=(t||"n4").match(/^([nio])([1-9])$/i);i&&(this.a=i[1],this.f=parseInt(i[2],10))}function C(e){var t=[];e=e.split(/,\s*/);for(var i=0;i<e.length;i++){var s=e[i].replace(/['"]/g,"");-1!=s.indexOf(" ")||/^\d/.test(s)?t.push("'"+s+"'"):t.push(s)}return t.join(",")}function x(e){return e.a+e.f}function $(e){var t="normal";return"o"===e.a?t="oblique":"i"===e.a&&(t="italic"),t}function P(e){var t=4,i="n",s=null;return e&&((s=e.match(/(normal|oblique|italic)/i))&&s[1]&&(i=s[1].substr(0,1).toLowerCase()),(s=e.match(/([1-9]00|normal|bold)/i))&&s[1]&&(/bold/i.test(s[1])?t=7:/[1-9]00/.test(s[1])&&(t=parseInt(s[1].substr(0,1),10)))),i+t}function I(e,t){this.c=e,this.f=e.o.document.documentElement,this.h=t,this.a=new S("-"),this.j=!1!==t.events,this.g=!1!==t.classes}function D(e){if(e.g){var t=m(e.f,e.a.c("wf","active")),i=[],s=[e.a.c("wf","loading")];t||i.push(e.a.c("wf","inactive")),u(e.f,i,s)}T(e,"inactive")}function T(e,t,i){e.j&&e.h[t]&&(i?e.h[t](i.c,x(i)):e.h[t]())}function A(){this.c={}}function O(e,t){this.c=e,this.f=t,this.a=c(this.c,"span",{"aria-hidden":"true"},this.f)}function V(e){h(e.c,"body",e.a)}function _(e){return"display:block;position:absolute;top:-9999px;left:-9999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+C(e.c)+";font-style:"+$(e)+";font-weight:"+e.f+"00;"}function M(e,t,i,s,n,r){this.g=e,this.j=t,this.a=s,this.c=i,this.f=n||3e3,this.h=r||void 0}function E(e,t,i,s,n,r,o){this.v=e,this.B=t,this.c=i,this.a=s,this.s=o||"BESbswy",this.f={},this.w=n||3e3,this.u=r||null,this.m=this.j=this.h=this.g=null,this.g=new O(this.c,this.s),this.h=new O(this.c,this.s),this.j=new O(this.c,this.s),this.m=new O(this.c,this.s),e=_(e=new k(this.a.c+",serif",x(this.a))),this.g.a.style.cssText=e,e=_(e=new k(this.a.c+",sans-serif",x(this.a))),this.h.a.style.cssText=e,e=_(e=new k("serif",x(this.a))),this.j.a.style.cssText=e,e=_(e=new k("sans-serif",x(this.a))),this.m.a.style.cssText=e,V(this.g),V(this.h),V(this.j),V(this.m)}S.prototype.c=function(e){for(var t=[],i=0;i<arguments.length;i++)t.push(arguments[i].replace(/[\W_]+/g,"").toLowerCase());return t.join(this.a)},M.prototype.start=function(){var e=this.c.o.document,t=this,i=a(),s=new Promise((function(s,n){!function r(){a()-i>=t.f?n():e.fonts.load(function(e){return $(e)+" "+e.f+"00 300px "+C(e.c)}(t.a),t.h).then((function(e){1<=e.length?s():setTimeout(r,25)}),(function(){n()}))}()})),n=null,r=new Promise((function(e,i){n=setTimeout(i,t.f)}));Promise.race([r,s]).then((function(){n&&(clearTimeout(n),n=null),t.g(t.a)}),(function(){t.j(t.a)}))};var F={D:"serif",C:"sans-serif"},B=null;
vendor: 5,126 bytes, line 1
1function N(){if(null===B){var e=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent);B=!!e&&(536>parseInt(e[1],10)||536===parseInt(e[1],10)&&11>=parseInt(e[2],10))}return B}function R(e,t,i){for(var s in F)if(F.hasOwnProperty(s)&&t===e.f[F[s]]&&i===e.f[F[s]])return!0;return!1}function U(e){var t,i=e.g.a.offsetWidth,s=e.h.a.offsetWidth;(t=i===e.f.serif&&s===e.f["sans-serif"])||(t=N()&&R(e,i,s)),t?a()-e.A>=e.w?N()&&R(e,i,s)&&(null===e.u||e.u.hasOwnProperty(e.a.c))?z(e,e.v):z(e,e.B):function(e){setTimeout(o((function(){U(this)}),e),50)}(e):z(e,e.v)}function z(e,t){setTimeout(o((function(){p(this.g.a),p(this.h.a),p(this.j.a),p(this.m.a),t(this.a)}),e),0)}function L(e,t,i){this.c=e,this.a=t,this.f=0,this.m=this.j=!1,this.s=i}E.prototype.start=function(){this.f.serif=this.j.a.offsetWidth,this.f["sans-serif"]=this.m.a.offsetWidth,this.A=a(),U(this)};var G=null;function j(e){0==--e.f&&e.j&&(e.m?((e=e.a).g&&u(e.f,[e.a.c("wf","active")],[e.a.c("wf","loading"),e.a.c("wf","inactive")]),T(e,"active")):D(e.a))}function H(e){this.j=e,this.a=new A,this.h=0,this.f=this.g=!0}function W(e,t,i,s,n){var r=0==--e.h;(e.f||e.g)&&setTimeout((function(){var e=n||null,a=s||{};if(0===i.length&&r)D(t.a);else{t.f+=i.length,r&&(t.j=r);var d,l=[];for(d=0;d<i.length;d++){var c=i[d],h=a[c.c],p=t.a,m=c;if(p.g&&u(p.f,[p.a.c("wf",m.c,x(m).toString(),"loading")]),T(p,"fontloading",m),p=null,null===G)if(window.FontFace){m=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent);var f=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);G=m?42<parseInt(m[1],10):!f}else G=!1;p=G?new M(o(t.g,t),o(t.h,t),t.c,c,t.s,h):new E(o(t.g,t),o(t.h,t),t.c,c,t.s,e,h),l.push(p)}for(d=0;d<l.length;d++)l[d].start()}}),0)}function q(e,t){this.c=e,this.a=t}function J(e,t){this.c=e,this.a=t}function K(e,t){this.c=e||X,this.a=[],this.f=[],this.g=t||""}L.prototype.g=function(e){var t=this.a;t.g&&u(t.f,[t.a.c("wf",e.c,x(e).toString(),"active")],[t.a.c("wf",e.c,x(e).toString(),"loading"),t.a.c("wf",e.c,x(e).toString(),"inactive")]),T(t,"fontactive",e),this.m=!0,j(this)},L.prototype.h=function(e){var t=this.a;if(t.g){var i=m(t.f,t.a.c("wf",e.c,x(e).toString(),"active")),s=[],n=[t.a.c("wf",e.c,x(e).toString(),"loading")];i||s.push(t.a.c("wf",e.c,x(e).toString(),"inactive")),u(t.f,s,n)}T(t,"fontinactive",e),j(this)},H.prototype.load=function(e){this.c=new d(this.j,e.context||this.j),this.g=!1!==e.events,this.f=!1!==e.classes,function(e,t,i){var s=[],n=i.timeout;!function(e){e.g&&u(e.f,[e.a.c("wf","loading")]),T(e,"loading")}(t);s=function(e,t,i){var s,n=[];for(s in t)if(t.hasOwnProperty(s)){var r=e.c[s];r&&n.push(r(t[s],i))}return n}(e.a,i,e.c);var r=new L(e.c,t,n);for(e.h=s.length,t=0,i=s.length;t<i;t++)s[t].load((function(t,i,s){W(e,r,t,i,s)}))}(this,new I(this.c,e),e)},q.prototype.load=function(e){function t(){if(r["__mti_fntLst"+s]){var i,n=r["__mti_fntLst"+s](),o=[];if(n)for(var a=0;a<n.length;a++){var d=n[a].fontfamily;null!=n[a].fontStyle&&null!=n[a].fontWeight?(i=n[a].fontStyle+n[a].fontWeight,o.push(new k(d,i))):o.push(new k(d))}e(o)}else setTimeout((function(){t()}),50)}var i=this,s=i.a.projectId,n=i.a.version;if(s){var r=i.c.o;g(this.c,(i.a.api||"https://fast.fonts.net/jsapi")+"/"+s+".js"+(n?"?v="+n:""),(function(n){n?e([]):(r["__MonotypeConfiguration__"+s]=function(){return i.a},t())})).id="__MonotypeAPIScript__"+s}else e([])},J.prototype.load=function(e){var t,i,s=this.a.urls||[],n=this.a.families||[],r=this.a.testStrings||{},o=new v;for(t=0,i=s.length;t<i;t++)f(this.c,s[t],y(o));var a=[];for(t=0,i=n.length;t<i;t++)if((s=n[t].split(":"))[1])for(var d=s[1].split(","),l=0;l<d.length;l+=1)a.push(new k(s[0],d[l]));else a.push(new k(s[0]));w(o,(function(){e(a,r)}))};var X="https://fonts.googleapis.com/css";function Y(e){this.f=e,this.a=[],this.c={}}var Q={latin:"BESbswy","latin-ext":"çöüğş",cyrillic:"йяЖ",greek:"αβΣ",khmer:"កខគ",Hanuman:"កខគ"},Z={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},ee={i:"i",italic:"i",n:"n",normal:"n"},te=/^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$/;function ie(e,t){this.c=e,this.a=t}var se={Arimo:!0,Cousine:!0,Tinos:!0};function ne(e,t){this.c=e,this.a=t}function re(e,t){this.c=e,this.f=t,this.a=[]}ie.prototype.load=function(e){var t=new v,i=this.c,s=new K(this.a.api,this.a.text),n=this.a.families;!function(e,t){for(var i=t.length,s=0;s<i;s++){var n=t[s].split(":");3==n.length&&e.f.push(n.pop());var r="";2==n.length&&""!=n[1]&&(r=":"),e.a.push(n.join(r))}}(s,n);var r=new Y(n);!function(e){for(var t=e.f.length,i=0;i<t;i++){var s=e.f[i].split(":"),n=s[0].replace(/\+/g," "),r=["n4"];if(2<=s.length){var o;if(o=[],a=s[1])for(var a,d=(a=a.split(",")).length,l=0;l<d;l++){var c;if((c=a[l]).match(/^[\w-]+$/))if(null==(h=te.exec(c.toLowerCase())))c="";
1else{if(c=null==(c=h[2])||""==c?"n":ee[c],null==(h=h[1])||""==h)h="4";else var h=Z[h]||(isNaN(h)?"4":h.substr(0,1));c=[c,h].join("")}else c="";c&&o.push(c)}0<o.length&&(r=o),3==s.length&&(o=[],0<(s=(s=s[2])?s.split(","):o).length&&(s=Q[s[0]])&&(e.c[n]=s))}for(e.c[n]||(s=Q[n])&&(e.c[n]=s),s=0;s<r.length;s+=1)e.a.push(new k(n,r[s]))}}(r),f(i,function(e){if(0==e.a.length)throw Error("No fonts to load!");if(-1!=e.c.indexOf("kit="))return e.c;for(var t=e.a.length,i=[],s=0;s<t;s++)i.push(e.a[s].replace(/ /g,"+"));return t=e.c+"?family="+i.join("%7C"),0<e.f.length&&(t+="&subset="+e.f.join(",")),0<e.g.length&&(t+="&text="+encodeURIComponent(e.g)),t}(s),y(t)),w(t,(function(){e(r.a,r.c,se)}))},ne.prototype.load=function(e){var t=this.a.id,i=this.c.o;t?g(this.c,(this.a.api||"https://use.typekit.net")+"/"+t+".js",(function(t){if(t)e([]);else if(i.Typekit&&i.Typekit.config&&i.Typekit.config.fn){t=i.Typekit.config.fn;for(var s=[],n=0;n<t.length;n+=2)for(var r=t[n],o=t[n+1],a=0;a<o.length;a++)s.push(new k(r,o[a]));try{i.Typekit.load({events:!1,classes:!1,async:!0})}catch(e){}e(s)}}),2e3):e([])},re.prototype.load=function(e){var t=this.f.id,i=this.c.o,s=this;t?(i.__webfontfontdeckmodule__||(i.__webfontfontdeckmodule__={}),i.__webfontfontdeckmodule__[t]=function(t,i){for(var n=0,r=i.fonts.length;n<r;++n){var o=i.fonts[n];s.a.push(new k(o.name,P("font-weight:"+o.weight+";font-style:"+o.style)))}e(s.a)},g(this.c,(this.f.api||"https://f.fontdeck.com/s/css/js/")+function(e){return e.o.location.hostname||e.a.location.hostname}(this.c)+"/"+t+".js",(function(t){t&&e([])}))):e([])};var oe=new H(window);oe.a.c.custom=function(e,t){return new J(t,e)},oe.a.c.fontdeck=function(e,t){return new re(t,e)},oe.a.c.monotype=function(e,t){return new q(t,e)},oe.a.c.typekit=function(e,t){return new ne(t,e)},oe.a.c.google=function(e,t){return new ie(t,e)};var ae={load:o(oe.load,oe)};void 0===(s=function(){return ae}.call(t,i,t,e))||(e.exports=s)}()}}]);

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.