Help
RSS
API
Feed
Maltego
Contact
Domain > pushentertainment.onfastspring.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-12-04
52.1.233.125
(
ClassC
)
2025-08-02
34.200.131.201
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: awselb/2.0Date: Sat, 02 Aug 2025 17:52:02 GMTContent-Type: text/htmlContent-Length: 134Connection: keep-aliveLocation: https://pushentertainment.onfastspring.com:443/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>/body>/html>
Port 443
HTTP/1.1 200 Date: Sat, 02 Aug 2025 17:52:03 GMTContent-Type: text/htmlContent-Length: 277465Connection: keep-aliveServer: nginxVary: Accept-EncodingStrict-Transport-Security: max-age631138519x-fs-trace: FSBLQI4V7IP5G6ZCONC3DO6BFTNA;Root1-688e5042-44be20d547ec9fdd00961396Last-Modified: Sat, 02 Aug 2025 17:52:02 GMTCache-Control: no-transformPragma: no-cacheExpires: Thu, 01 Jan 1970 00:00:00 GMTContent-Security-Policy: default-src none; connect-src self logger.fastspring.com apis.fastspring.com https://ebanx.com https://centinelapi.cardinalcommerce.com *.pendo.io *.aptrinsic.com https://pendo-static-5711234847211520.storage.googleapis.com *.sift.com https://hexagon-analytics.com *.fastspring.com *.onfastspring.com https://x.klarnacdn.net https://applepay.cdn-apple.com https://*.ebanx.com https://js.playground.klarna.com https://songbird.cardinalcommerce.com https://o4508734376574976.ingest.us.sentry.io https://www.sandbox.paypal.com https://www.paypal.com; script-src https://ajax.googleapis.com https://cdnjs.cloudflare.com https://www.google-analytics.com https://d1f8f9xcsvx3ha.cloudfront.net *.pendo.io *.aptrinsic.com *.sift.com https://hexagon-analytics.com *.fastspring.com https://cdn.onfastspring.com https://cdn.onfastspring.com data:* https://x.klarnacdn.net https://applepay.cdn-apple.com https://*.ebanx.com https://js.playground.klarna.com https://centinelapi.cardinalcommerce.com https://songbird.cardinalcommerce.com https://browser.sentry-cdn.com https://www.paypal.com https://seal.websecurity.norton.com https://seal.digicert.com; img-src https://dcnz2rrcot657.cloudfront.net https://www.google-analytics.com https://d230f6bx2wm7w3.cloudfront.net *.pendo.io https://storage.google.com *.sift.com https://hexagon-analytics.com *.fastspring.com https://d8y8nchqlnmka.cloudfront.net https://cdn.onfastspring.com https://cdn.onfastspring.com data:* https://d37uz57cydkqly.cloudfront.net https://www.paypalobjects.com data: https://seal.websecurity.norton.com https://seal.digicert.com; font-src https://cdnjs.cloudflare.com https://d1f8f9xcsvx3ha.cloudfront.net https://cdn.onfastspring.com https://d37uz57cydkqly.cloudfront.net; style-src https://cdnjs.cloudflare.com https://d1f8f9xcsvx3ha.cloudfront.net *.pendo.io *.aptrinsic.com unsafe-inline *.sift.com https://hexagon-analytics.com *.fastspring.com https://cdn.onfastspring.com https://cdn.onfastspring.com data:* https://d37uz57cydkqly.cloudfront.net; frame-src *; sandbox allow-downloads allow-scripts allow-forms allow-same-origin allow-top-navigation allow-popups allow-popups-to-escape-sandbox; child-src *; frame-ancestors self;X-XSS-Protection: 1; modeblockX-Frame-Options: SAMEORIGINVary: Accept-EncodingX-Robots-Tag: noindex, nofollow, noarchiveX-Robots-Tag: noindex, nofollow, noarchive !DOCTYPE html>html idng-app ng-appapp ng-controllercontroller ng-initpagelist ng-csp>head> meta charsetutf-8/> meta http-equivX-UA-Compatible contentIEedge/> meta nameviewport contentwidthdevice-width, initial-scale1.0, maximum-scale1.0, minimum-scale1.0/> meta idviewBranch nameversion contentVersion-25.3.4-stable/> link relapple-touch-icon hrefhttps://d1f8f9xcsvx3ha.cloudfront.net/themes/images/fastspring-310x310.png /> link relicon hrefhttps://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/_wGtpLMZSlE/favicon.ico /> title ng-bindvariables.title>FastSpring Checkout/title> link relstylesheet hrefhttps://d1f8f9xcsvx3ha.cloudfront.net/themes/css/0/css/common.min.css/> link relstylesheet hrefhttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/ng-csp.css/> link relstylesheet hrefhttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/common.css/> link relstylesheet hrefhttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/dropdown_with_images.css/> !-- Include one of selected fonts from cdn --> link ng-ifvariables.font ! Helvetica-Neue ng-hrefhttps://d1f8f9xcsvx3ha.cloudfront.net/fonts/fonts.css relstylesheet typetext/css> !--if lte IE 9> link relstylesheet hrefhttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/common.ie.css/> !endif--> !-- Allow compiler to inject custom css outside of the variable set --> /head>!-- Body -->!-- List.html -->body idapp classupdating require-email>div classbody-footer>div idapp-content> div classnavbar navbar-default requires-load ng-class{fluid : (variables.logoHandling resizeHeader), navbar-fixed-top : ((!variables.logoHandling resizeHeader) || (variables.topbarFreezing true)) }> div ng-if!session.live classtest-label requires-load> span classlabel label-warning ns-popover ns-popover-placementbottom|center ns-popover-templatetestMode.html>Test Mode i classglyphicon glyphicon-question-sign>/i>/span> /div> div classcontainer> div classnavbar-header> div idnavbar-brand classnavbar-brand> a hrefhttps://www.push-entertainment.com/ target_blank> span ng-ifvariables.logoHandling resizeLogo classlogo ng-class{logo-resize : (variables.logoHandling resizeLogo)}>/span> img retina-image classlogo-retina alt{{logoAltText | phrase}} ng-hide(variables.logoHandling resizeLogo) || variables.logo || variables.logoRetina ng-srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/fastspring.checkout@2x.png> img classlogo alt{{logoAltText | phrase}} ng-hidevariables.logoHandling resizeLogo ng-if(variables.logo) && (!variables.logoRetina) srchttps://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/_3vnbbKkR58/logo_regular.png> img retina-image classlogo-retina alt{{logoAltText | phrase}} ng-hidevariables.logoHandling resizeLogo ng-ifvariables.logoRetina srchttps://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/ADMurf4GTnk/logo_retina.png> /a> /div> /div> div classnavbar-right> !-- Locale --> div classbtn-group navbar-btn requires-load ng-hidevariables.countrySelectorhidden stylemargin-left: 15px;> button ng-clickshowLocaleDialog() typebutton ng-class{disabled:variables.countrySelector disabled} classbtn btn-default btn-sm dropdown-toggle> div classcountry-icon> img ng-src{{ countryIcon() }} classcountry-flag/> span ng-bind-htmlcountryDisplay>/span> span ng-class{locale-lang-is-default: defaultLanguage} classlocale-lang hidden-xs ng-bind-htmllanguageDisplay>/span> span classcaret ng-hidevariables.countrySelector disabled>/span> /div> /button> /div> /div> nav idheader classfloat-inline ng-showvariables.header> div classinline-block ng-bind-htmlvariables.header >/div> /nav> /div> /div>div idcontent classcontent>div classcontainer requires-load>!-- Messages -->div ng-showmessages.length>alert ng-repeatmsg in messages type{{msg.type}} closecloseMessage($index)> div ng-bind-htmlmsg.phrase | phrase>/div>/alert>/div>div ng-showtaxExemptMessage> alert type{{taxExemptMessage.type}} closecloseTaxMessage() ng-ifshowTaxMessage> div ng-bind-htmltaxExemptMessage.messageKey | phrase>/div> /alert>/div>visually-hidden-span element-idserver-validation-msg>/visually-hidden-span>visually-hidden-span element-idgeneric-validation-msg>/visually-hidden-span>!-- Empty Cart -->div ng-hidegroups.length>!-- ToDO: List Empty -->div classwell>{{ OrderEmpty | phrase }}/div>/div>!-- Layout -->div classrow ng-showgroups.length>div ng-class{col-md-12 : !(offers.orderArray.length > 0), col-md-9: offers.orderArray.length > 0}> !-- ********************************* Order Contents Contents elements listed in settings ********************************** --> div ng-if!isProductLevel(orderGroup) ng-repeatorderGroup in groups> div classpanel-heading ng-ifvariables.enableBuyerSelfServeQuote true && offers.orderArray.length > 0 && $index 0 && showQuoteMessage> button tabindex0 ng-ifvariables.enableBuyerSelfServeQuote true && itemLevelQuotable() classgenerate-quote-link generate-quote-link-list ng-clickgenerateQuote(option) ng-showoffers.orderArray.length > 0 ng-keydownopenQuoteModalOnEnter($event, option) aria-haspopupdialog>{{GenerateQuote | phrase}} /button> /div> div classpanel panel-custom panel-default ng-includeorderPanelContent.html> /div> /div> !-- Panel-order --> !-- ********************************* --> !-- Related offers for crossSels --> !-- All except options. Options are displayed next to its product --> div ng-if!isProductLevel(offer) ng-repeatoffer in groups> div ng-repeatofferItem in offer.items ng-hideofferItem.type options> div ng-if!isProductLevel(orderGroup) ng-repeatorderGroup in offerItem.groups> div classpanel panel-custom panel-default ng-includeorderPanelContent.html> /div> /div> /div> /div> !-- flying row with coupon --> div ng-showshowFooterWithCoupon() classpanel panel-custom panel-default> div classpanel-footer> div classrow row-with-coupon> div classtext-right coupon-input > !-- Sheerid promotions --> !-- One Option --> a ng-showpromotionOptions.length 1 href ng-clickopenDiscountIframe(promotionOptions0)> {{ sheerid-student | phrase }}/a> !-- Many Options --> span classdropdown ng-showpromotionOptions.length > 1 dropdown on-toggletoggled(open)> a href iddropdownSheerId dropdown-toggle> {{ Sheerid-professional | phrase }}span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbydropdownSheerId> li ng-repeat option in promotionOptions> a href ng-clickopenDiscountIframe(option)> {{ option.type | phrase }}/a> /li> /ul> /span> !-- Separator --> span ng-showshowSeparator() classvertical-separator> | /span> !-- Coupon --> a ng-showvariables.showCouponField true && !showCouponInput href ng-clickshowCouponInput true >{{ CouponCall | phrase }}/a> label ng-showvariables.showCouponField true && showCouponInput classsr-only fororder-coupons>{{ Coupon | phrase }}/label> input ng-showvariables.showCouponField true && showCouponInput idorder-coupons typetext ng-modelcouponString classform-control input-sm placeholder{{ Coupon | phrase }}/> /div> div> button idapplyCouponBtn ng-showvariables.showCouponField true && showCouponInput ng-disabledhasCoupons() false classbtn btn-sm btn-default ng-clickapplyCoupons()>{{ApplyCoupon | phrase}} /button> div idcouponAlert rolealert aria-liveassertive classcoupon-alert> p classsr-only ng-ifcouponResponse true>{{CouponValid | phrase}}/p> p classsr-only ng-ifcouponResponse false>{{CouponInvalid | phrase}}/p> /div> /div> /div> /div> /div> !-- End Order Contents --> !-- Begin Secondary Offers TBD: this only takes into account the first top level item. --> !-- No secondary offers in list.html --> !-- End Secondary Offers -->/div> !--col-md-9-->div classcol-md-3 ng-showoffers.orderArray.length > 0> !-- Payment Options --> div idpanel-payment classpanel panel-custom panel-default requires-load> div classpanel-heading> h2 classpanel-title ng-class{text-center: variables.textAlign center, text-right: variables.textAlign right} >span classglyphicon glyphicon-credit-card>/span> span ng-bind-htmlPaymentSectionTitle | phrase>/span>/h2> /div> div classpanel-body> !-- Email field if enabled in Theme Settings --> form nameform ng-ifshowContact && variables.showEmailOnCartPage both classform-group ng-classvalidationClass(formcontact.email)> label classsr-only forcontact-email>{{ Email | phrase }}/label> span classplaceholder>{{ Email | phrase }}/span> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-envelope>/span>/span> input input-model subscribedmailingList.subscribe emailcontact.email ng-requiredoption.requireContact namecontact.email typeemail subscribedmailingList.subscribe autocompletetypeemail spellcheckoff autocorrectoff ng-changeresetRemoteValidation(formcontact.email) ng-blursendEmailGa(formcontact.email,Homepage);sendSiftEmail(formcontact.email.$viewValue) ng-modelcontact.email classform-control idcontact-email placeholder{{ Email | phrase }} ng-disabledtrialConcurrencyEmailDisabled> /div> /form> div ng-ifvariables.collectingEmailCheckbox ! hide classmailing-list-subscribe-area> label formailing-list-subscribe> input ng-modelmailingList.subscribe idmailing-list-subscribe typecheckbox ng-changesendSubscriptionStatus()/> span>{{MailingListSubscribe | phrase}}/span> /label> /div> div tabindex0 aria-label{{OrderSubtotal | phrase}}: {{ total }} classwell total-well ng-showtaxType US && paymentOptionType ! free> div classrow> div classcol-xs-12 text-right> span classtotal-label pull-left>{{ OrderSubtotal | phrase }}/span> span classtotal-price {{total | priceColor}}>{{ total }}/span> span classglyphicon glyphicon-refresh total-price-refresh>/span> div ng-show!taxExempt classtaxInfo> div ng-showtaxType US && (country US || country CA) && taxExemptionAllowed && (totalValue ! 0 || paymentOptions.length > 1)> div classsmall text-right> br classvisible-lg> span ng-showcountry US> a href# ng-showvariables.showVatLink true ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationUS | phrase }}/em>/a> /span> span ng-showcountry CA> em>{{ TaxInformationCA | phrase }} span ng-showtax>{{ tax }}/span>/em> br classvisible-lg> a href# ng-showvariables.showVatLink true && !taxExemptionIdApplied ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationGst | phrase }}/em>/a> /span> /div> /div> /div> /div> /div> /div> div tabindex0 aria-label{{ OrderTotal | phrase }}: {{ total }} classwell total-well ng-show(taxType ! US && paymentOptionType ! free) || (taxType VAT && (totalValue ! 0 || paymentOptions.length > 1))> div classrow> div classcol-xs-12 text-right> span classtotal-label pull-left>{{ OrderTotal | phrase }}/span> span classtotal-price {{total | priceColor}}>{{ total }}/span> span classglyphicon glyphicon-refresh total-price-refresh>/span> !-- If paymentOptions is greater than 1 and totalValue is 0, then that means theres a free trial --> div ng-show!taxExempt classtaxInfo> div ng-showtaxType VAT && (totalValue ! 0 || paymentOptions.length > 1)> div classsmall text-right> em>{{ TaxInformationEU | phrase }} span ng-showtax>{{ tax }}/span> (span ng-showtaxRate>{{ taxRate }}/span>)/em> br classvisible-lg> a href# ng-showvariables.showVatLink true && !taxExemptionIdApplied ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationEU | phrase }}/em>/a> /div> /div> div ng-showtaxType SST && (totalValue ! 0 || paymentOptions.length > 1)> div classsmall text-right> em>{{ TaxInformationSST | phrase }} span ng-showtax>{{ tax }}/span> (span ng-showtaxRate>{{ taxRate }}/span>)/em> br classvisible-lg> a href# ng-showvariables.showVatLink true && !taxExemptionIdApplied ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationSST | phrase }}/em>/a> /div> /div> div ng-showtaxType SERVICE && totalValue ! 0 classsmall text-right> em>{{ TaxInformationService | phrase }} span ng-showtax>{{ tax }}/span> (span ng-showtaxRate>{{ taxRate }}/span>)/em> br classvisible-lg> a href# ng-showvariables.showVatLink true && !taxExemptionIdApplied ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationService | phrase }}/em>/a> /div> div ng-showtaxType GST && (totalValue ! 0 || paymentOptions.length > 1) classsmall text-right> em>{{ TaxInformationGST | phrase }} span ng-showtax>{{ tax }}/span> (span ng-showtaxRate>{{ taxRate }}/span>)/em> br classvisible-lg> a ng-showcountry ! AU href# ng-showvariables.showVatLink true && !taxExemptionIdApplied ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationGst | phrase }}/em>/a> a ng-showcountry AU href# ng-showvariables.showVatLink true && !taxExemptionIdApplied ng-clickshowTaxExemptDialog()>em>{{ EnterTaxInformationAbn | phrase }}/em>/a> /div> div ng-showtaxType JCT && (totalValue ! 0 || paymentOptions.length > 1)> div classsmall text-right> em>{{ TaxInformationJp | phrase }} span ng-showtax>{{ tax }}/span> (span ng-showtaxRate>{{ taxRate }}/span>)/em> !-- TBD Enhancement we can limit B2B software to only B2B purchasers. --> br classvisible-lg> a classnowrap ng-clickshowTaxExemptDialog() href stylefont-size: x-small>em>{{ EnterTaxInformationJp | phrase }}/em>/a> /div> /div> /div> /div> /div> /div> div classwell well-sm ng-ifsubscriptionCheckbox.display> div classinput-checkbox checkbox> label> input typecheckbox ng-modelsubscriptionCheckbox.autoRenew ng-changesetPaymentOptions() /> span>{{SavePaymentDetailsForRebills | phrase}}/span> /label> /div> /div> div tabindex0 aria-label{{ SavingsTitle | phrase}}: {{ totalSavings }} classwell total-well ng-iftotalSavingsVal>0> div> table width100%> tr> td>span classtotal-label>{{ SavingsTitle | phrase}}/span>/td> td alignright>span classprice text-success total-price>{{ totalSavings }}/span>span classglyphicon glyphicon-refresh total-price-refresh>/span>/td> /tr> /table> /div> /div> !-- show if order is free --> div tabindex0 classwell total-well clearfix ng-showpaymentOptionType free> table width100%> tr> td classtext-center> span ng-showpriceFree(total) classtext-success total-price> {{YourOrderIs | phrase}}/span> span classtotal-price {{total |priceColor}}>{{ total |price}}/span> /td> /tr> /table> /div> !-- end show if order is free --> !-- Coupon if set to show in Payment Block --> div ng-showvariables.showCouponField paymentBlock classform-group text-center> !-- Sheerid promotions --> !-- One Option --> a ng-showpromotionOptions.length 1 href ng-clickopenDiscountIframe(promotionOptions0)> {{ sheerid-student | phrase }}/a> !-- Many Options --> span classdropdown ng-showpromotionOptions.length > 1 dropdown on-toggletoggled(open)> a href iddropdownSheerId dropdown-toggle> {{ Sheerid-professional | phrase }}span classcaret>/span>/a> ul classdropdown-menu rolemenu aria-labelledbydropdownSheerId> li ng-repeat option in promotionOptions> a href ng-clickopenDiscountIframe(option)> {{ option.type | phrase }}/a> /li> /ul> /span> !-- Separator --> span ng-show(variables.showCouponField true) && (promotionOptions.length > 0) classvertical-separator> | /span> a ng-show!showCouponInput href ng-clickshowCouponInput true >{{ CouponCall | phrase }}/a> div classinput-group> input ng-showshowCouponInput typetext ng-modelcouponString classform-control placeholder{{ Coupon | phrase }}/> span classinput-group-btn> button classbtn btn-default ng-showshowCouponInput ng-disabledhasCoupons() false ng-clickapplyCoupons()>{{ ApplyCoupon | phrase }}/button> /span> /div> /div> div classwell-sm compliance ng-ifcomplianceData.enabled ng-class{alert-danger: complianceData.paymentOptionClicked && !complianceData.checked, alert-warning: !complianceData.paymentOptionClicked && !complianceData.checked, well: complianceData.checked}> div classinput-checkbox checkbox> label> input typecheckbox ng-modelcomplianceData.checked/> span compilecomplianceData.template>/span> /label> /div> /div> div classclearfix payment-options-container ng-hidepaymentOptionType free> div ng-showapplePayAllowed && applePaySupported && isPaymentMethodEnabled(applepay) classapple-pay-payment-methods> apple-pay-button>/apple-pay-button> div ng-if!showOtherPaymentMethods classother-payments-button ng-clickshowAllPaymentMethods()> a href#>{{OtherPaymentMethods | phrase}}.../a> /div> /div> div classother-payment-methods ng-show!applePayAllowed || showOtherPaymentMethods || !isPaymentMethodEnabled(applepay)> label rolebutton ng-repeatoption in paymentOptionList classpayment-option-selectable placeOrderBtn ng-class{selected: $parent.paymentOptionType option.type && variables.shortCheckout ! true} ng-showisPaymentMethodEnabled(option.type)> input aria-hiddentrue aria-haspopupdialog ng-clickdoShortCheckout(option);$parent.paymentOptionTypeoption.type classsr-only typebutton namepayment-option-type ng-valueoption.type/> div classpayment-option-container> div classpayment-icon ng-classoption.type>/div> div classpayment-option-display> span>{{PaymentType. + option.type | phrase}}/span> /div> /div> /label> /div> /div> /div> !-- end panel-body --> div ng-hide(applePayAllowed && !showOtherPaymentMethods) || variables.shortCheckout true && (totalValue ! 0 || paymentOptionType ! free) classpanel-footer> button ng-hidestartTrialMessage typebutton ng-clickchoosePaymentOption() classbtn-block btn placeOrderBtn ng-bindplaceOrderBtnCaption(paymentOptionType) >/button> button ng-showstartTrialMessage typebutton ng-clickchoosePaymentOption() classbtn-block btn placeOrderBtn ng-bindplaceOrderBtnCaption(paymentOptionType) stylecolor:#ffffff; background-color: #008AFF; width:100%>/button> /div> /div> !-- end panel-payment --> div classfastspringTermsAndConditionsOfSale> {{Footer.SoldAndFulfilled | phrase}} a hrefhttp://www.fastspring.com/purchasing-through-fastspring.php?utm_sourceStore&utm_mediumPurchasing_Through_FastSpring&utm_contentFoundation&utm_campaignStore_Traffic target_blank>FastSpring/a>{{Footer.AuthorizedReseller | phrase}} br/>terms-of-service>/terms-of-service> /div> br> !-- Variants accepted --> div ng-showpaymentOptionType card classtext-center> label ng-repeatoption in paymentOptionList | filter:{type:card}> div roleimg aria-label{{variant.type}} icon classpayment-icon small ng-repeatvariant in option.variants ng-ifcreditCardsVariants.indexOf(variant.type) ! -1 ng-classvariant.type> span classsr-only>{{ (PaymentVariant. + variant.type) | phrase}}/span> /div> /label> /div>/div> !--col md 3-->/div>/div> !-- /.container -->/div> !-- /#content -->!-- App Mask to prevent input during updates. -->div idapp-mask> /div>/div>script typetext/ng-template iddefaultFooter.html> div classcontainer> img srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/fastspring-logo-color.png classfooter-logo alt{{logoAltText | phrase}}> div> p>{{SecureCheckout | phrase }} {{Footer.SoldAndFulfilled | phrase}}a hrefhttp://www.fastspring.com/purchasing-through-fastspring.php?utm_sourceStore&utm_mediumPurchasing_Through_FastSpring&utm_contentFoundation&utm_campaignStore_Traffic target_blank> FastSpring/a>{{Footer.AuthorizedReseller | phrase}}{{Footer.VisaCompliant | phrase}} {{FastSpringAddress | phrase}}/p> terms-of-service>/terms-of-service> /div> /div>/script>script typetext/ng-template idfooterVariantA.html> div classfooter> div classcontainer> /div> /div>/script>script typetext/ng-template idfooterVariantB.html> img srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/fastspring-logo-color.png classfooter-logo> div> p>{{SecureCheckout | phrase }} {{Footer.SoldAndFulfilled | phrase}}a hrefhttp://www.fastspring.com/purchasing-through-fastspring.php?utm_sourceStore&utm_mediumPurchasing_Through_FastSpring&utm_contentFoundation&utm_campaignStore_Traffic target_blank> FastSpring/a>{{Footer.AuthorizedReseller | phrase}}{{Footer.VisaCompliant | phrase}} {{FastSpringAddress | phrase}}/p> terms-of-service>/terms-of-service> /div>/script>div classfooter-A-list ng-class{footer-default-relative-shift: selections} ng-ifabTestVariant web_storefront_footerA || abTestVariant > div classfooter-A> div classcontainer custom-footer ng-includefooterVariantA.html> /div> /div> div classdefault-footer ng-includedefaultFooter.html ng-ifabTestVariant web_storefront_footerA || abTestVariant > /div>/div>div classfooter-B ng-class{footer-B-relative-shift: selections} ng-ifabTestVariant web_storefront_footerB > div classcontainer ng-includefooterVariantB.html> /div>/div>/div> script idviewdata typeapplication/x-view-json> {siteId:8HxJPR7fR_o,order:{currency:USD,country:US,taxExemptionAllowed:false,taxExempt:false,taxExemptionIdApplied:false,total:$0.00,totalValue:0.0,tax:$0.00,taxValue:0.0,totalWithTax:$0.00,totalWithTaxValue:0.0,discountTotal:$0.00,discountTotalValue:0.0,discountTotalPercentValue:0.0,originalTotal:$0.00,originalTotalValue:0.0,subtotal:$0.00,subtotalValue:0.0,taxPriceType:added,taxType:US,taxRate:0%,groups:{items:{selected:false,path:video-wallpaper,pid:video-wallpaper,quantity:1,price:$14.95,priceValue:14.95,priceTotal:$14.95,priceTotalValue:14.95,unitPrice:$14.95,unitPriceValue:14.95,unitDiscountValue:0.0,discountPercentValue:0.0,discountTotal:$0.00,discountTotalValue:0.0,total:$14.95,totalValue:14.95,priceWithoutTax:$14.95,priceValueWithoutTax:14.95,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/cbKQ9JEGTNY/fs-home.png,display:PUSH Video Wallpaper - Home License,description:{},pricing:{quantity:hide},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:14.95,priceWithoutTaxAndDiscounts:$14.95,variation:video-wallpaper,product:video-wallpaper},{selected:false,path:watery-desktop-3d,pid:watery-desktop-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:watery-desktop-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/Q1RU-HHwSyU/watery-desktop-3d-256.png,display:Watery Desktop 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:watery-desktop-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:watery-desktop-3d,product:watery-desktop-3d},{selected:false,path:beautiful-space-3d,pid:beautiful-space-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/jbG5neMKQ-U/beautiful-space-3d-256.png,display:Beautiful Space 3D,description:{summary:p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:beautiful-space-3d,product:beautiful-space-3d},{selected:false,path:snowy-desktop-3d,pid:snowy-desktop-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:snowy-desktop-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/YbcTb_lARe4/snowy-desktop-3d-256.png,display:Snowy Desktop 3D,description:{summary:p>Live Wallpaper and Screensaver/p>,full:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:snowy-desktop-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:snowy-desktop-3d,product:snowy-desktop-3d},{selected:false,path:space-journey-3d,pid:space-journey-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/QYUdVBVBR2U/space-journey-3d-256.png,display:Space Journey 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-journey-3d,product:space-journey-3d},{selected:false,path:hyperspace-3d,pid:hyperspace-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/B3cDvadZQis/huperspace-3d-256.png,display:Hyperspace 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperspace-3d,product:hyperspace-3d},{selected:false,path:space-wormhole-3d,pid:space-wormhole-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/tmiqoNBoQbQ/space-wormhole-3d-256.png,display:Space Wormhole 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-wormhole-3d,product:space-wormhole-3d},{selected:false,path:soft-shines-3d,pid:soft-shines-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:soft-shines-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/UqsAIeVKRsU/soft-shines-3d-256.png,display:Soft Shines 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:soft-shines-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:soft-shines-3d,product:soft-shines-3d},{selected:false,path:desktop-flag-3d,pid:desktop-flag-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:desktop-flag-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/CC3dFyPmQBs/desktop-flag-3d-256.png,display:Desktop Flag 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:desktop-flag-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:desktop-flag-3d,product:desktop-flag-3d},{selected:false,path:hyperstars-3d,pid:hyperstars-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/gU6lkxDaQpQ/huperstars-3d-256.png,display:Hyperstars 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperstars-3d,product:hyperstars-3d},{selected:false,path:all-products,pid:all-products,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:all-products,percentValue:25.0,discountDuration:null},price:$11.99,priceValue:11.99,priceTotal:$11.99,priceTotalValue:11.99,unitPrice:$8.99,unitPriceValue:8.99,unitDiscount:$3.00,unitDiscountValue:3.0,discountPercent:25%,discountPercentValue:25.0,discountTotal:$3.00,discountTotalValue:3.0,total:$8.99,totalValue:8.99,priceWithoutTax:$8.99,priceValueWithoutTax:8.99,quantityEditable:false,removable:true,bundle:true,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/wEsNlj_QRG8/bundle2-256.png,display:ALL PRODUCTS,description:{summary:p>PUSH Video Wallpaperbr/>Watery Desktop 3Dbr/>Beautiful Space 3Dbr/>Snowy Desktop 3Dbr/>Space Journey 3Dbr/>Soft Shines 3Dbr/>Desktop Flag 3Dbr/>Hyperspace 3Dbr/>Space Wormhole 3Dbr/>Hyperstars 3D/p>p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:all-products,percentValue:25.0,discountDuration:null}},groups:{display:ALL PRODUCTS,items:{selected:false,path:video-wallpaper,pid:video-wallpaper,quantity:1,price:$14.95,priceValue:14.95,priceTotal:$14.95,priceTotalValue:14.95,unitPrice:$14.95,unitPriceValue:14.95,unitDiscountValue:0.0,discountPercentValue:0.0,discountTotal:$0.00,discountTotalValue:0.0,total:$14.95,totalValue:14.95,priceWithoutTax:$14.95,priceValueWithoutTax:14.95,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/cbKQ9JEGTNY/fs-home.png,display:PUSH Video Wallpaper - Home License,description:{},pricing:{quantity:hide},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:14.95,priceWithoutTaxAndDiscounts:$14.95,variation:video-wallpaper,product:video-wallpaper},{selected:false,path:watery-desktop-3d,pid:watery-desktop-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:watery-desktop-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/Q1RU-HHwSyU/watery-desktop-3d-256.png,display:Watery Desktop 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:watery-desktop-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:watery-desktop-3d,product:watery-desktop-3d},{selected:false,path:beautiful-space-3d,pid:beautiful-space-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/jbG5neMKQ-U/beautiful-space-3d-256.png,display:Beautiful Space 3D,description:{summary:p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:beautiful-space-3d,product:beautiful-space-3d},{selected:false,path:snowy-desktop-3d,pid:snowy-desktop-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:snowy-desktop-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/YbcTb_lARe4/snowy-desktop-3d-256.png,display:Snowy Desktop 3D,description:{summary:p>Live Wallpaper and Screensaver/p>,full:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:snowy-desktop-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:snowy-desktop-3d,product:snowy-desktop-3d},{selected:false,path:space-journey-3d,pid:space-journey-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/QYUdVBVBR2U/space-journey-3d-256.png,display:Space Journey 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-journey-3d,product:space-journey-3d},{selected:false,path:hyperspace-3d,pid:hyperspace-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/B3cDvadZQis/huperspace-3d-256.png,display:Hyperspace 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperspace-3d,product:hyperspace-3d},{selected:false,path:space-wormhole-3d,pid:space-wormhole-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/tmiqoNBoQbQ/space-wormhole-3d-256.png,display:Space Wormhole 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-wormhole-3d,product:space-wormhole-3d},{selected:false,path:soft-shines-3d,pid:soft-shines-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:soft-shines-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/UqsAIeVKRsU/soft-shines-3d-256.png,display:Soft Shines 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:soft-shines-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:soft-shines-3d,product:soft-shines-3d},{selected:false,path:desktop-flag-3d,pid:desktop-flag-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:desktop-flag-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/CC3dFyPmQBs/desktop-flag-3d-256.png,display:Desktop Flag 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:desktop-flag-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:desktop-flag-3d,product:desktop-flag-3d},{selected:false,path:hyperstars-3d,pid:hyperstars-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/gU6lkxDaQpQ/huperstars-3d-256.png,display:Hyperstars 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperstars-3d,product:hyperstars-3d},driver:all-products,required:false,type:bundle,selections:false},productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:11.99,priceWithoutTaxAndDiscounts:$11.99,variation:all-products,product:all-products},{selected:false,path:all-live-wallpapers,pid:all-live-wallpapers,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:all-live-wallpapers,percentValue:25.0,discountDuration:null},price:$7.99,priceValue:7.99,priceTotal:$7.99,priceTotalValue:7.99,unitPrice:$5.99,unitPriceValue:5.99,unitDiscount:$2.00,unitDiscountValue:2.0,discountPercent:25%,discountPercentValue:25.0,discountTotal:$2.00,discountTotalValue:2.0,total:$5.99,totalValue:5.99,priceWithoutTax:$5.99,priceValueWithoutTax:5.99,quantityEditable:false,removable:true,bundle:true,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/g7vtokziQKc/bundle2-256.png,display:ALL LIVE WALLPAPERS,description:{summary:p>Watery Desktop 3Dbr/>Beautiful Space 3Dbr/>Snowy Desktop 3Dbr/>Space Journey 3Dbr/>Soft Shines 3Dbr/>Desktop Flag 3Dbr/>Hyperspace 3Dbr/>Space Wormhole 3Dbr/>Hyperstars 3D/p>p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:all-live-wallpapers,percentValue:25.0,discountDuration:null}},groups:{display:ALL LIVE WALLPAPERS,items:{selected:false,path:watery-desktop-3d,pid:watery-desktop-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:watery-desktop-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/Q1RU-HHwSyU/watery-desktop-3d-256.png,display:Watery Desktop 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:watery-desktop-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:watery-desktop-3d,product:watery-desktop-3d},{selected:false,path:beautiful-space-3d,pid:beautiful-space-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/jbG5neMKQ-U/beautiful-space-3d-256.png,display:Beautiful Space 3D,description:{summary:p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:beautiful-space-3d,product:beautiful-space-3d},{selected:false,path:snowy-desktop-3d,pid:snowy-desktop-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:snowy-desktop-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/YbcTb_lARe4/snowy-desktop-3d-256.png,display:Snowy Desktop 3D,description:{summary:p>Live Wallpaper and Screensaver/p>,full:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:snowy-desktop-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:snowy-desktop-3d,product:snowy-desktop-3d},{selected:false,path:space-journey-3d,pid:space-journey-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/QYUdVBVBR2U/space-journey-3d-256.png,display:Space Journey 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-journey-3d,product:space-journey-3d},{selected:false,path:soft-shines-3d,pid:soft-shines-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:soft-shines-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/UqsAIeVKRsU/soft-shines-3d-256.png,display:Soft Shines 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:soft-shines-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:soft-shines-3d,product:soft-shines-3d},{selected:false,path:desktop-flag-3d,pid:desktop-flag-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:desktop-flag-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/CC3dFyPmQBs/desktop-flag-3d-256.png,display:Desktop Flag 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:desktop-flag-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:desktop-flag-3d,product:desktop-flag-3d},{selected:false,path:hyperspace-3d,pid:hyperspace-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/B3cDvadZQis/huperspace-3d-256.png,display:Hyperspace 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperspace-3d,product:hyperspace-3d},{selected:false,path:space-wormhole-3d,pid:space-wormhole-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/tmiqoNBoQbQ/space-wormhole-3d-256.png,display:Space Wormhole 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-wormhole-3d,product:space-wormhole-3d},{selected:false,path:hyperstars-3d,pid:hyperstars-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/gU6lkxDaQpQ/huperstars-3d-256.png,display:Hyperstars 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperstars-3d,product:hyperstars-3d},driver:all-live-wallpapers,required:false,type:bundle,selections:false},productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:7.99,priceWithoutTaxAndDiscounts:$7.99,variation:all-live-wallpapers,product:all-live-wallpapers},{selected:false,path:space-pack,pid:space-pack,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-pack,percentValue:25.0,discountDuration:null},price:$9.95,priceValue:9.95,priceTotal:$9.95,priceTotalValue:9.95,unitPrice:$7.46,unitPriceValue:7.46,unitDiscount:$2.49,unitDiscountValue:2.49,discountPercent:25%,discountPercentValue:25.0,discountTotal:$2.49,discountTotalValue:2.49,total:$7.46,totalValue:7.46,priceWithoutTax:$7.46,priceValueWithoutTax:7.46,quantityEditable:false,removable:true,bundle:true,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/TuNKLskDSec/bundle2-256.png,display:SPACE PACK,description:{summary:p>Beautiful Space 3Dbr/>Space Journey 3Dbr/>Hyperspace 3Dbr/>Space Wormhole 3Dbr/>Hyperstars 3D/p>p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-pack,percentValue:25.0,discountDuration:null}},groups:{display:SPACE PACK,items:{selected:false,path:beautiful-space-3d,pid:beautiful-space-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/jbG5neMKQ-U/beautiful-space-3d-256.png,display:Beautiful Space 3D,description:{summary:p>Lifetime license(one-time fee) For up to 5 PCs/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:beautiful-space-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:beautiful-space-3d,product:beautiful-space-3d},{selected:false,path:space-journey-3d,pid:space-journey-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/QYUdVBVBR2U/space-journey-3d-256.png,display:Space Journey 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-journey-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-journey-3d,product:space-journey-3d},{selected:false,path:hyperspace-3d,pid:hyperspace-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/B3cDvadZQis/huperspace-3d-256.png,display:Hyperspace 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperspace-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperspace-3d,product:hyperspace-3d},{selected:false,path:space-wormhole-3d,pid:space-wormhole-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/tmiqoNBoQbQ/space-wormhole-3d-256.png,display:Space Wormhole 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:space-wormhole-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:space-wormhole-3d,product:space-wormhole-3d},{selected:false,path:hyperstars-3d,pid:hyperstars-3d,quantity:1,discountSet:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null},price:$4.95,priceValue:4.95,priceTotal:$4.95,priceTotalValue:4.95,unitPrice:$3.71,unitPriceValue:3.71,unitDiscount:$1.24,unitDiscountValue:1.24,discountPercent:25%,discountPercentValue:25.0,discountTotal:$1.24,discountTotalValue:1.24,total:$3.71,totalValue:3.71,priceWithoutTax:$3.71,priceValueWithoutTax:3.71,quantityEditable:false,removable:true,bundle:false,image:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/gU6lkxDaQpQ/huperstars-3d-256.png,display:Hyperstars 3D,description:{summary:p>Live Wallpaper and Screensaver/p>},pricing:{quantity:hide},discount:{reason:,data:{applyDiscountImmediately:true,tiers:,discountPath:hyperstars-3d,percentValue:25.0,discountDuration:null}},groups:,productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:4.95,priceWithoutTaxAndDiscounts:$4.95,variation:hyperstars-3d,product:hyperstars-3d},driver:space-pack,required:false,type:bundle,selections:false},productFormat:digital,quotable:true,priceValueWithoutTaxAndDiscounts:9.95,priceWithoutTaxAndDiscounts:$9.95,variation:space-pack,product:space-pack},driver:pushentertainment,required:false,type:add,selections:false},coupons:,payments:,fields:,gift:false,availablePaymentMethods:,includesPhysicalGoods:false,shippingCost:$0.00,shippingCostValue:0.0,storeTaxPriceMode:GROSS_PRICING,allCrossSells:,firstUpsellConfigurationDisplay:,siteLevelFeatureFlags:{updated.iof.verbiage:true,pix.updated.iof.verbiage:true},selections:false,creationTime:0,modifiedSubscriptionId:,modifiedSubscriptionDefaultQuantity:0,modifiedSubscriptionJson:},messages:,phrases:{PauseConfirmationTitle:Your subscription has been paused!,SepaTransactionMandateCreditorIdKey:Creditor ID,SecureCheckout:Secure Checkout.,PurchaseOrderInstructionDescription:Please pay your invoice to complete this order,MakeDefault:Make Default,Store:Store,ViewDetails:View Details,SubscriptionNotResumable:The subscription may not be resumed.,GstExemptApplied:Your GST identification number has been applied and charges removed. The transaction is subject to local reverse charge reporting rules.,PhoneNumberOptional:Phone Number (Optional),PostOrderGiftDescription:All applicable fulfillment details, including any license keys or download links, are being sent to the gift recipients email address.,NoActiveSubscriptions:No active subscriptions,EnterYourZipCode:Enter your zip code.,KeepPlan:Keep Plan,SubscribeNow:Subscribe Now,UpdatedSubscription:Updated Subscription,UAVatValidTaxExemptionApplied:Your VAT identification number has been applied and charges removed. The transaction is subject to local reverse charge reporting rules.,CityOptional:City (Optional),GstID:GST ID,Disable:Disable,ResumeTitle:Resume your subscription today,PaymentVariant.jcb:JCB,CardExpirationInvalidCard:Card expiration date is invalid.,TryAgain:Try Again,PaymentVariant.visa:Visa,KeepSubscription:Keep Subscription,CVCIsInvalid:CVC is invalid.,PaymentOption.purchaseorder:Invoice,UpgradePaidVersion:Upgrade to a paid version,VolumePricingAvailable:Volume Pricing Available,CancelSubscription:Cancel Subscription,BillingContact:Billing Contact,CardDeclined:This transaction has been declined. Please use a different payment method or contact your bank.,EnterTaxInformationJp:Enter Consumption Tax ID,TaxInformationEU:Includes VAT,CardSecurityCodeHintAmex:The CID is a 4 digit number printed on the front of your card.,FieldErrors:Please correct the highlighted fields.,IdealPaymentConfirmationProcessingInfo:Please allow up to 10 minutes for orders to complete when using iDeal.,ReactivationPaySubscription:days left to upgrade to a paid subscription,CancelSurveyFeedbackPlaceHolder:Feel free to provide additional insight or thoughts you may have...,RecipientAddress:Recipient Address,Refunds:Refunds,NoModifiedSubscriptions:Please select a subscription to modify,PostalCodeIsInvalid:Postal code is invalid.,UsTaxIdFieldLabel:Tax Exemption Number,Week:week,achRoutingHint:8-9 character routing number,VatExemptInfo:If you are placing an order on behalf of a company, enter the companys VAT identification number.,PaymentType.ideal:iDEAL,AddressLine2Optional:Address Line 2 (Optional),CVCIsTooShort:CVC is too short.,ConfirmCancelSubscription:Are you sure you want to cancel the subscription?,YouSaved:You saved,AchInvalidAccountNumber:Invalid Bank Account Number,EUVatExemptInvalid:Your companys VAT identification number could not be validated.,SepaCheckoutMessage:SEPA takes span class\sepaCheckoutMessageEmphasis\>at least 2 days/span> to process your payment. ,MyInvalidTaxExemptionApplied:Your SST ID could not be validated. Local tax regulations require SST on all sales of imported digital services. Please refer to local guidance for input SST deductibility.,Sheerid-teacher:Get Teacher Discount,Days:days,SSTaxExemptInfo:If you are placing an order on behalf of a company, enter the companys SST identification number.,PhonePe:Phonepe,PaymentType.card:Credit / Debit Card,Selected:,achCreditorName:Creditor Name,SubscriptionNotCancelable:The subscription may not be canceled.,EnterTaxInformationSST:Enter SST ID,MxInvalidTaxExemptionApplied:Your VAT ID could not be validated. Local tax regulations require VAT on all sales of imported digital e-services content. Please refer to local guidance for input VAT deduc,SubscriptionModifyFailed:An unexpected error occurred while modifying the subscription.,LightBox.UpgradeAvailable:Upgrade available,FastspringCheckout:FastSpring Checkout,BankPaymentWireInstructionIban:IBAN,RecipientInformation:Recipient Information,WaitRedirectAbout:We are redirecting your browser, please wait,CouponCode:Coupon Code,ForFree:for free,CardInfoBRL:This purchase is subject to applicable Brazilian laws and rules of an international transaction,Year:year,PurchaseOrderInstructionPendingApprovalDescription:Thank you for placing your order. We will review your order information and email you within 1-2 business days with an invoice.,BankPaymentWireInstructionBankAddress:Address,ChInvalidTaxExemptionApplied:Your VAT ID could not be validated. Local tax regulations require VAT on all sales of imported digital services. Please refer to local guidance for input VAT deductibility.,ChargedLater:You wont be charged until,YourProfile:Your Profile,AchCorporate:Corporate,AchAccountNumberPlaceholder:Account Number,Add:Add,PaymentType.pix:Pix,SepaPaymentPaymentProcessed:Payment Processed,Email:Email,DeleteItem:Remove,GoToAccountManagementPortal:Go to Account Management Portal,EnterYourCVC:Enter your CVC.,Pay:Pay %s,RegionAF:Africa,MustBePaidManually:%s must be paid manually before %s.,InactiveSubscriptions:Inactive Subscriptions,EnterYourCardExpirationDate:Enter your card expiration date.,Test:Test,UpdateSubscription:Update Subscription,ChangeAndProrateNow:Change & Prorate Now,AccountDetails:Account Details,Optional:Optional,FeedbackPlaceholder:(Optional)Tell us more about your experience,ServiceTaxExemptInfo:If you are placing an order on behalf of a company, enter the companys service tax identification number and the service tax charges will be removed.,Failed:Failed,SubscriptionAlreadyPaid:Subscription has already been paid,EnterPaymentDetails:Enter Payment Details,For:for,PaymentVariant.unionpay:UnionPay,Shipment:Shipment,PaymentType.applepay:Apple Pay,UsInvalidTaxExemptionApplied:Your sales tax exemption ID could not be validated.,ShippingStreet:Address,FirstCharge:First charge:,EnterYourPostalCode:Enter your postal code.,PaymentDetails:Payment Details,SubmitLocale:Submit,PurchaseOrderInstructionTitle:Invoice and Payment Instructions,UnsupportedInTestMode:Not supported while in testing mode.,BankPaymentWireInstructionViewButton:View Instructions,Subscriptions:Subscriptions,FastSpringAddress:801 Garden St. #201, Santa Barbara, CA 93101,PaymentType.klarna:Klarna,OrderEmpty:Your Order Is Empty,SepaPaymentConfirmationTitle:SEPA Payment Confirmation,PaymentTerms:Payment Terms,Sheerid-student:Get Student Discount,VatInvalidTaxExemptionApplied:Your VAT ID could not be validated.,TrialsTab:Trials,QcValidTaxExemptionApplied:Your QST ID has been applied and QST charges removed. The transaction is subject to local reverse charge reporting rules.,CardNumberPlaceholder:Card Number,BankPaymentWireInstructionDescription:When paying by bank transfer, your product cannot be delivered until payment is received in full. After we receive payment, please allow 3 business days for processing.,HideSubscriptionAddonTerms:Hide add-on terms,EUVatDialogTitle:VAT Information,EnterYourEmailAddress:Enter your email address.,PostalCodeIsTooLong:Postal code is too long.,Abandonment.PurchaseWithDiscount:Purchase With Discount,SsTaxID:SST ID,Abandonment.CompleteYourOrder:Complete Your Order,ConfirmDetailsCancel:Go Back and Edit,NextCharge:Next charge:,SepaTransactionMandateCreditorAddressKey:Address,Coupon:Coupon Code,CouponCall:Enter Promotional Code,TaxInformationJp:Includes Consumption Tax,UsSalesTaxExemptApplied:Your companys sales tax identification number has been applied, and service tax charges have been removed.,USTaxID:Tax Exemption ID,AuInvalidTaxExemptionApplied:Your ABN could not be validated.,PaymentPending:Payment Pending,PaymentType.upi:UPI,RegionAS:Asia,RegionAM:Americas,CancelSurveyDialogTitle:Were sorry to see you cancel ...,Sheerid-military:Get Military Discount,PauseYourSubscriptionInstead:Pause your subscription instead,JpNationalTaxId:National Tax ID,PaymentType.free:FREE,OrderPaymentInProgress:Another payment for this purchase is already in progress. Please check the status of the purchase in your email or account.,Footer.SoldAndFulfilled:Sold and fulfilled by,ChValidTaxExemptionApplied:Your VAT ID has been applied, however, local tax regulations require VAT on all sales of imported digital services. Please refer to local guidance for input VAT deductibility.,Address:Address,AccountDetailsPaymentMethods:Account Details and Payment Methods,PostOrderExpectationDescription:We are sending a copy of all important order information to your email address.,SepaTransactionMandateSoftDescriptorInvoiceId:Your invoiceId is,AgreementTermsAndPolicy:span>I agree with FastSpring a href ng-href\{{complianceData.termsURL}}\ target\_blank\ rel\noopener noreferrer\>terms of service/a> and a href ng-href\{{complianceData.privacyURL}}\ target\_blank\ rel\noopener noreferrer\>privacy policy/a>/span>,AlipayInstructionPendingApprovalDescription:We are processing your payment, we will notify you once the status changes.,achAccountHint:Your bank account number,Remove:Remove,SepaInvalidRequestData:Invalid request data,GenerateRenewalInvoice:Generate Renewal Invoice,EditRecipient:Edit Recipient,ResumeConfirmationMessage:Your subscription is now available for use.,PixPaymentConfirmationProcessingInfo:Please allow up to 10 minutes for orders to complete when using PIX.,TaxInformationService:Includes Service Tax,EUVatNonExemptApplied:Your VAT number has been applied, however local tax regulations require VAT collection on imports and the reverse charge rules will not be applied to the transaction.,TrialConcurrencyTrialSubsOutReactivationPeriod:We found an expired trial associated with your account. To continue using this account, you can upgrade to a paid version now.,CancelledAtBank:Payment canceled.,GenerateRenewalInvoiceTooltip:Generate an invoice reflecting proposed changes for the next renewal. No proration applied.,PaymentOption.sepa:Direct Debit,ServiceTaxDialogTitle:Service Tax Information,PayWith:Pay via,QuoteGenerate:Quote Generated!,EditProfile:Edit Profile,AutomaticallyPayEveryCycle:Automatically pay every cycle,TodayForUpgrade:upon rebill,BankTransferNote:When paying by bank transfer, your product cannot be delivered until payment is received in full. After we receive payment, please allow 3 business days for processing. Payment Instructions,ConfirmCancelSubscriptionWithDetails:Are you sure you want to cancel your subscription? You’ll continue to have access until %s, the end of your current billing period.,Calculating:Calculating,BillingInformation:Billing Information,WarningSubscriptionCoTermedQuestion:Are you sure you want to proceed?,BankPaymentWireInstructionAccountNo:Account No,ConfirmAchRouteNum:Routing Number,PaymentQrTimer:QR Code expires in:,PixIofFeesDisclaimer:As per Brazilian regulations, an additional IOF fee of %s% will be applied.,JpConsumptionTaxDialogTitle:Consumption Tax Information,PaymentType.googlepay:Google Pay,AchCheckingDisplay:ACH Checking Bank Account (****%s),PauseTitle:Pause your subscription instead,YouWillBeChargedProratedInvoice:If you choose to generate and pay for the proration invoice, you will have access to updated plan immediately after payment is received.,ActiveSubscriptions:Active Subscriptions,Pause:Pause Subscription,MxValidTaxExemptionApplied:Your VAT ID has been applied, however, local tax regulations require VAT on all sales of imported digital e-services content. Please refer to local guidance for input VAT deductibility.,Complete:Complete,PopupClosed:Payment process incomplete: order interrupted. Please try again,Dueon:Due on,UsTaxDialogTitle:US Sales Tax Information,PopupBlocked:Payment popup blocked. Please allow popups in your browser,PaymentType.amazon:Pay with Amazon,BankPaymentWireInstructionBank:Bank,EmailFormInvalid:Please enter a valid email address,BillingAddress:Billing Address,PurchaserInformation:Purchaser Information,OrderPaymentAlreadyCompleted:Another payment for this purchase has already been completed. Please check the purchase receipt in your email or account.,SepaPaymentConfirmationDescription:It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using Content here, content here, making it look like readable.,AchCorporateDisplay:ACH Corporate Bank Account (****%s),RegionOC:Oceania,StartFreeTrial:Start Free Trial,SepaInvalidIban:Invalid IBAN,WeAreSorryToSeeYouCancel:We are sorry to see you go,AbnDialogTitle:ABN Information,AlipayReminder:Please do not close your browser after payment is completed. You will be redirected to a page with more information.,TrialConcurrencyThankYouLoyalty:Thank you for your loyalty!,ProratedInvoiceAmount:Prorated Amount:,Ended:Ended,Resumes:Resumes,Amount:Amount,YourOrderIs:Your order is,ApplyToAllMySubscriptions:Apply to all my subscriptions,Manage:Manage,TrialConcurrencyCanceledSubscription:We found a canceled subscription associated with your account. While no change is required at this time, you may purchase an additional subscription if desired.,Default:Default,Gift:Gift,PaymentOption.amazon:Amazon,EnterTaxInformationGst:Enter GST ID,CardExpireYear:Card Expire Year,CancelPausedSubscriptionOKLabel:Yes, cancel my subscription,FailurePayPalCountryUpdate:Your PayPal accounts country was different. Weve updated your order using the country on your PayPal account. Please review the total and try again.,PaymentUpiQrScanAndPay:Scan & Pay via strong>any UPI app/strong>,UnPauseCancelLabel:No, let it pause,taxExemptApplied:Your companys GST identification number has been applied, and taxes have been removed.,logoAltText:Fastspring logo,PayPalReminder:Please checkout with a PayPal account from the %s.,PurchaseOrderInstructionPayNowButton:Pay Now,mercadopago.cpfNumber:CPF or CNPJ Number,PaymentOption.alipay:Alipay,ApplyCoupon:Apply,GenerateInvoice:Generate Invoice,SubscriptionPauseFailed:An unexpected error occurred while pausing the subscription.,ChargedToday:Upgrade to a paid subscription and get billed,AddressLine1Optional:Address Line 1 (Optional),ChooseLanguage:Choose Language,CompanyName:Company Name,PaymentType.giropay:GiroPay,BankPaymentWireInstructionInclude:IMPORTANT: Your wire transfer must include the correct payment reference, valid solely for the current order. Failure to do so may cause significant processing disruptions or errors.,ChooseLocale:Choose Region / Language...,PaymentType.alipay:Alipay,JpValidTaxExemptionApplied:Your CST ID has been applied and CST charges removed. The transaction is subject to local reverse charge reporting rules.,ZipCodeIsTooShort:Zip code is too short.,BillingPostalCode:Billing Postal Code,CardSecurityCodeHint:The CVC Number is a 3 digit number on the back of your card.,JpConsumptionTaxExemptInfo:If you are placing an order on behalf of a company, enter the companys National Tax ID and the Consumption Tax charges will be removed.,TaxInformationCA:Includes Tax,SubscriptionAddonTerms:Add-on terms,SepaTransactionMandateSoftDescriptorThanks:Thank you for shopping at,ShippingRegionOptional:State (Optional),UpiCompletionNotice:Please allow up to 10 minutes for orders to complete when using UPI.,ConfirmAchAccountType:Account Type,RenewsEvery:Renews every %s %s,City:City,MissingData:Required information was not provided. Please try again.,Payment:Payment,PayTm:Paytm,ConfirmTitle:Confirm,Price:Price,Save:Save,FailureRisk:We regret that your order could not be accepted. We value your business and would like to help you complete this order. Please contact us for assistance.,LightBox.InYourCart:In your cart,UnPauseOKLabel:Yes, Un-pause my subscription,CouponInvalid:The coupon code you entered does not exist.,OrderContainsAdhoc:Payment details will be kept for future orders.,SubscriptionUnPauseFailed:An unexpected error occurred while un-pausing the subscription.,PaymentOption.ideal:iDEAL,Updating:Updating,PurchaseOrderInstructionPendingApprovalTitle:Order Pending Approval,ManageYourOrders:Manage Your Orders,PaymentOption.card:Credit / Debit Card,WarningSubscriptionCoTermed:Updating a Co-Termed Plan,EnterTaxInformationAbn:Enter ABN,WarningSubscriptionCoTermedInstructions:This change will remove the subscription from its current co-term group.,GenerateQuoteTitle: Generate Quote,PauseScheduled:Pause Scheduled,Includes:Includes,UpdatePaymentMethod:Update payment method,MustBeRenewedEvery:Must be renewed every %s %s,FastSpring:FastSpring,OrderReference:Order Reference,Inactive:Inactive,AchChecking:Checking,MultipleRebills:Multiple future rebills.,UnCancelSubscriptionInstructionsManualRenew:Your next subscription charge will be due on its scheduled date.,SepaPaymentConfirmationMessage:It will take up to strong classsepa-missing-amount-days>2/strong> days to process your payment.,on:on,BankPaymentWireInstructionRoutingNumber:Routing Number,PaymentType.wechatpay:WeChat Pay,PrivacyPolicy:Privacy Policy,JpNationalTaxIdSubmit:Submit,AbnID:ABN,UnCancelThisSubscription:Un-Cancel this Subscription,RegionEUR:Europe,YourOrders:Your Orders,InvoiceLinkText:View Invoice,WarningSubscriptionCoTermedCancel:No, cancel,SubscriptionResumeFailed:An unexpected error occurred while resuming the subscription.,CardExpireMonthPlaceholder:MM,ConfirmRemovePaymentMethod:Are you sure you want to remove the payment method?,SstExemptInvalid:Your companys SST ID could not be validated.,CardNumberIsInvalid:Card number is invalid.,ShippingAddress:Shipping Address,EnterTaxInformationUS:Tax Exempt?,FailureGeneric:An unexpected error occurred, and we are not currently able to accept payment.,GstDialogTitle:GST Information,GenerateProrationInvoice:Generate Proration Invoice,TrialConcurrencyTrialSubsInReactivationPeriod:We found an expired trial associated with your account. To keep using your account, you can upgrade to a paid version now.,On:on,Resume:Resume,AchSavings:Savings,UnCancel:Un-Cancel,UnPause:Un-Pause,PaymentInformationTrial:Subscribe to Free Trial,AlipayInstructionPendingApprovalTitle:Your order has been placed!,Edit:Edit,ConfirmCancelTrialSubscriptionWithDetails:Are you sure you want to cancel your subscription? You’ll continue to have access until %s, when your trial expires.,SubscriptionAddonTerms.Single:Renews along with subscription,ChangePlanAndQuantity:Change Plan & Quantity,ServiceTaxExemptInvalid:Your companys service tax identification number could not be validated.,Month:month,WantToPayLaterGoAMPortal:Want to pay later? Go to account management portal and save your payment method,Daily:daily,GstExemptInfo:If you are placing an order on behalf of a company, enter the companys GST identification number.,AutorenewOffWarning:If automatic renew is turned off you will be required to enter payment details every time this subscription renews. Turn off automatic renew?,Unexpected:An unexpected error occurred. Please try again, or refresh the page in your browser.,FulfillmentSentRecipient:Fulfillment details, including any license keys or download links, are emailed to the recipient,BankPaymentWireInstructionTitle:Bank Transfer Instructions,AddressInvalid:Invalid or missing Zip/Postal code. Please select the payment method to try again.,BankPaymentWireInstructionAccountHolder:Beneficiary/Account Holder,Weeks:weeks,ErrorServer:An unexpected error occurred. Please try again later.,Expired:Expired,CurrentSubscription:Current Subscription,SubscriptionNotPauseable:The subscription may not be paused.,YouWillBeCharged:You will be charged the prorated amount for this plan change today and,TrialConcurrencyThankYou:Thank you for your interest!,CustomerReference:Purchase Order Number (Optional),Details:Details,EnterZipToCalculate:Enter ZIP,DownloadNow:Download Now,Starting:starting,UnPauseTitle:Un-pause your subscription now,Close:Close,Expires:Expires,SubscriptionNotUnPauseable:The subscription may not be un-paused.,PaymentType.mercadopago:Mercado Pago,ConfirmCancelSubscriptionAtTermEnd:Your subscription will continue to bill for the remainder of the current term. There are %s billing periods remaining for this current term. Your subscription is scheduled to deactivate on %s,MercadoPagoIofFeesDisclaimer:This is an international purchase including %s% IOF fee, applicable to a foreign exchange operation. This transaction will be processed by EBANX in accordance with its terms and conditions. By clicking Pay, you acknowledge and accept the terms of this transaction.,CardNumberIsTooShort:Card number is too short.,Orders:Orders,QuoteId:Quote Id,ConfirmCancelSubscriptionAtTermEndInTrial:You are currently in trial mode. Are you sure you want to cancel?,BillingHistory:Billing History,ShippingTitle:Shipping Address,SkValidTaxExemptionApplied:Your PST ID has been applied and PST charges removed. The transaction is subject to local reverse charge reporting rules.,PauseConfirmationMessage:Your subscription will be inactive from %s - %s. We will automatically reactivate your subscription once the pause term is over.,JpConsumptionTaxExemptApplied:Your companys National Tax ID has been applied, and the Consumption Tax charges have been removed.,GstInvalidTaxExemptionApplied:Your GST ID could not be validated.,PaymentSubscriptionPermissionDenied:You cannot remove payment methods tied to an active subscription.,WarningSubscriptionCoTermedConfirm:Yes, proceed,CardExpireYearPlaceholder:YY,ViaFastspring:VIA FASTSPRING,Generate:Generate,TermsOfSale:Terms of Sale,ShippingCity:City,WaitRedirectTitle:Please wait...,AchRoutingNumberPlaceholder:Bank Routing Number,ViewQuote:View Quote,PaymentOption.wire:Wire Transfer,GetInvoice:Get Invoice,GstValidTaxExemptionApplied:Your GST ID has been applied and GST charges removed. The transaction is subject to local reverse charge reporting rules.,AchReturnPolicy:This authorization can be revoked directly with your bank or by emailing FastSpring at support@fastspring.com. Please allow up to 7 days for this authorization to be cancelled.,FailureAmazonCountryUpdate:Your Amazon accounts country was different. Weve updated your order using the country on your Amazon account. Please review the total and try again.,SavePaymentDetails:Save Payment Details,AchNacha:I(we) authorize FastSpring to debit entries to my(our) account. I(we) acknowledge the origination of ACH transactions to my(our) account must comply with the provision of U.S. Law.,FirstName:First Name,Invoiceon:Invoice on,TaxValue:Tax:,SubscriptionCancelFailed:An unexpected error occurred while cancelling the subscription.,NextPayment:Next payment:,GiftPurchase:Gift Purchase,PaymentType.kakaopay:Kakao Pay,MyValidTaxExemptionApplied:Your SST ID has been applied, however, local tax regulations require SST on all sales of imported digital services. Please refer to local guidance for input SST deductibility.,BankPaymentWireInstructionDialogTitle:Bank Transfer Instructions,EnterYourFirstName:Enter your first name.,EUVatExemptInfo:If you are placing an order on behalf of a company, enter the companys VAT identification number.,BillDescriptor:Charges will appear on your bill as,PhoneNumber:Phone Number,UsSalesTaxExemptInvalid:Your companys sales tax identification number could not be validated.,SepaTransactionMandateCreditorKey:Creditor,LicenseAgreement:License Agreement,PaymentOption.sofort:Sofort,ProductImageOf:Product image of: ,ResumeMessage:You will reactivate your subscription today.,JpConsumptionTaxAbout:Prices and order total includes Consumption Tax.,GstExemptInvalid:Your companys GST identification number could not be validated.,ConfirmCancelManagedSubscriptionWithDetails:Are you sure you want to cancel your subscription? Please note that you will lose access immediately upon cancellation.,VolumeDiscountsAvailable:Volume Discounts Available,VatValidTaxExemptionApplied:Your VAT ID has been applied and VAT charges removed. The transaction is subject to local reverse charge reporting rules.,SubscriptionSwitchToManualRenewDisabled:Cannot disable automatic payment on this subscription.,USTaxExemptionWindowLine2:I am buying as an authorized purchaser on behalf of a tax exempt entity.,ConfirmUpdatePaymentMethod:Are you sure you want to change your default payment method?,USTaxExemptionWindowLine3:If upon audit, it is determined that the purchaser could not avail themselves and provide proof of exemption, FastSpring reserves the right to charge the applicable sales tax with the payment method on file.,Footer.AuthorizedReseller: an authorized reseller,USTaxExemptionWindowLine1:I hereby affirm I am not subject to sales tax in my jurisdiction.,ConfirmManualRenewDisableAuto:Are you sure you want to disable automatic payment?,PayLater:Pay Later,TaxMayApply:(taxes may apply),CardExpired:Your credit card has expired. Please try another card, or choose a different form of payment.,EUVatExemptApplied:Your VAT identification number has been applied and charges removed. The transaction is subject to local reverse charge reporting rules.,CancelSubscriptionDisabledContactQuestions:if you have any questions.,SavingsTitle:You Save,LastPayment:Last payment,Years:years,BcValidTaxExemptionApplied:Your PST ID has been applied and PST charges removed. The transaction is subject to local reverse charge reporting rules.,OptionalMessage:Message (Optional),CancelSubscriptionDisabledContact:Contact %s at ,AbnExemptInvalid:Your companys ABN could not be validated.,CardSecurityCodePlaceholder:CVC,ZipCodeIsTooLong:Zip code is too long.,QcInvalidTaxExemptionApplied:Your QST ID could not be validated.,State/Region:State/Region,EUSerbiaVatNonExemptApplied:Your VAT number has been applied. However, local tax regulations require foreign entities with an appointed tax representative to charge VAT on taxable supplies of goods and services. The transaction is exempt from local reverse charge obligations.,Free:Free,CardExpireMonth:Card Expire Month,ActiveTrials:Active Trials,SepaLoginBankError:Error in login bank transaction,CouponValid:The coupon code has been successfully applied. Your discount has been reflected in the order total.,PlaceYourOrder:Place Your Order,Region:Region,CaValidTaxExemptionApplied:Your GST ID has been applied and GST charges removed. The transaction is subject to local reverse charge reporting rules.,LastName:Last Name,Ending:Ends on,ActiveGroups:Active Groups,SepaTransactionDeclined:Transaction declined,UseThis:Use This,RecipientPostalCode:Recipient Postal Code,Addons:Addons,Forbidden:Could not validate provided information,CancelPausedSubscriptionTitle:Do you want to cancel your subscription?,SepaGenericError:Unknown error,Continue:Continue,ManageAccount:Account Management,SubscriptionManagement:Full Terms and Subscription Management,SstAbout:Prices and order total includes SST.,CardCvvInvalid:Your credit card security code (CVC/CVV) is invalid.,PaymentType.wire:Wire Transfer,AccountManagement:Account Management,SubmitCancelReason:Submit and cancel subscription,TaxInformationSST:Includes SST,ZipCode:Zip Code,OrderOn:Order on,CancelAnyway:Cancel Anyway,SavePaymentDetailsForRebills:Securely save payment details for automated subscription renewal,YourTrialWillEnd:Your trial will end,Cancelled:Canceled,UnCancelSubscriptionInstructions:If you no longer want your subscription to be canceled, click the Un-Cancel button here.,AchInvalidRoutingNumber:Invalid Bank Routing Number,TrialConcurrencyTrialExistingActiveSubscription:We found an active subscription associated with your account. While no change is required at this time, you may purchase an additional subscription if desired.,ServiceTaxID:Service Tax ID,EnterTaxInformationService:Enter Service Tax ID,EnterYourCity:Enter your city.,Every:Every,ModifySubscription:Modify Subscription,Footer.VisaCompliant: and Merchant of Record. FastSpring uses industry-standard encryption to protect the confidentiality of your personal information.,AccountEndingWith:Account Ending with ,TrialConcurrencyTrialSubsStillActive:We found an active trial ending on %s for your account. You may upgrade to a paid version now or wait until the trial period has ended. ,NoInactiveTrials:No inactive Trials,ChooseCountry:Choose Country/Region,KlarnaAuthorizationFailed:Klarna authorization failed. Please choose a different payment method.,AbnExemptApplied:Your companys ABN has been applied, and GST charges have been removed.,EnterYourCardNumber:Enter your card number.,OtherPaymentMethods:Other Payment Methods,ApplePaySetupIssue:Please configure your card in \System Settings\ to use Apple Pay,CoTermGroupsTab:Co-Term Groups,Subscribe:Subscribe,OrderSubtotal:Subtotal,PaymentMethods:Payment Methods,SubscriptionNotUncancelable:The subscription may not be un-canceled.,GstAbout:Prices and order total includes GST.,Okay:Okay,UpdatedPlan:Updated Plan,WeChatPayPaymentConfirmationProcessingInfo:Please allow up to 10 minutes for orders to complete when using WeChat Pay.,BankPaymentWireInstructionViewNowButton:View Instructions Now,ConfirmOk:Yes,AuValidTaxExemptionApplied:Your ABN has been applied and GST charges removed. The transaction is subject to local reverse charge reporting rules.,CurrentPlan:Current Plan,PaymentType.sepa:Direct Debit,ConfirmAchAccountNum:Account Number,AutoRenewCollectedInfomarion:Your payment information was securely stored for automatic renewals,Gpay:Gpay,Debit:Debit,OrderSectionTitle:Your Order,BankPaymentWireInstructionInitiate:Initiate a Bank Transfer via your own bank to:,PauseMessage:Instead of cancelling your subscription, you can choose to pause it for %s billing cycle(s). Your subscription will be paused on %s and will resume on %s.,QuoteTo: Quote to,EmailLinkInstructions:An email was sent with instructions for accessing your account,CharactersRemaining:%s characters remaining,UsValidTaxExemptionApplied:Your sales tax exemption ID has been applied and taxes removed. Please email your tax exemption certificate to support@fastspring.com and include your order reference to confirm your exempt status.,GenerateQuote:Generate a Quote,PaymentDialogMessage:Your payment was successful,SepaPaymentShowMandateLink:View Mandate,SstDialogTitle:SST Information,ConfirmCancel:Cancel,Card:Card,AddressLine2:Address Line 2,Pleaseselectasubscriptiontomodify:Please select a subscription to modify,AddressLine1:Address Line 1,FreeTrialUntil:Trial until,ShippingRegion:State,EUVatID:VAT ID,Next:Next,ShippingPostalCode:Postal Code,PaymentInformation:Payment Information,Country:Country,GenerateProformaInvoice:Generate Proforma Invoice,PaymentType.purchaseorder:Invoice,PayNow:Pay Now,RuInvalidTaxExemptionApplied:Your VAT ID could not be validated. Local tax regulations require VAT on the supply of electronic services provided by non-established Russian businesses. Please refer to local guidance for input VAT deductibility.,Current:Current,SkInvalidTaxExemptionApplied:Your PST ID could not be validated.,EnterYourState:Enter your state.,KakaopayPaymentConfirmationProcessingInfo:Please allow up to 10 minutes for orders to complete when using Kakao Pay.,GenerateQrCode:Generate QR Code,PaymentOption.giropay:GiroPay,MultipleVariations:Unable to add variation of product already in the session,GenerateProformaInvoiceTooltip:Generate an invoice including prorated charges for recent updates to your subscription.,UnCancelSubscriptionInstructionsAutoRenew:Your next subscription charge will occur automatically on its scheduled date.,JpConsumptionTaxtExemptInvalid:Your companys National Tax ID could not be validated.,PaymentType.paypal:PayPal Checkout,RenewsAutomatically:Renews automatically by the seller,BankPaymentWireInstructionDialogIntroduction:Initiate a Bank Transfer via your own bank to:,NoInactiveSubscriptions:No inactive subscriptions,JpInvalidTaxExemptionApplied:Your CST ID could not be validated.,ConfirmDetails:Please Confirm Your Account Details,PaymentOption.paypal:PayPal Account,ConfirmDetailsOk:Confirm,ConfirmUpdateSubscriptionPaymentMethod:Are you sure you want to change the default subscription payment method?,EnterEmail:Please enter your email address to continue,RuValidTaxExemptionApplied:Your VAT ID has been applied, however, local tax regulations require VAT on the supply of electronic services provided by non-established Russian businesses. Please refer to local guidance for input VAT deductibility.,IdealBicSelectBank:Select Bank,Paused:Paused,PaymentSectionTitle:Your Payment,HideSubscriptionTerms:Hide subscription terms,taxExemptInvalid:Your companys GST identification number could not be validated.,PostOrderExpectationTitle:Thank you for your order!,CancelSubscriptionDisabledHeader:This subscription cannot be canceled here.,PixCheckoutReminder:Once you complete payment, please click the Complete button on the Pix page to redirect back to our site.,BankPaymentWireInstructionSwiftCode:Swift-Code,PaymentVariant.discover:Discover,PayToday:Pay Today,ExpirationDate: Expiration Date,CharacterRemaining:%s character remaining,SepaTransactionMandateAddressValue1:FastSpring B.V.,ZaValidTaxExemptionApplied:Your VAT ID has been applied, however, local tax regulations require VAT on all sales of imported e-services. Please refer to local guidance for input VAT deductibility.,SepaTransactionMandateAddressValue4:Netherlands,SstNonExemptApplied:Your SST number has been applied, however local tax regulations require SST collection on imports and the reverse charge rules will not be applied to the transaction.,SepaTransactionMandateAddressValue2:Stranwinskylaan 4117, 4th Floor,LastCharge:Last charge,ShowHistory:Show billing history,SepaTransactionMandateAddressValue3:1077ZX Amsterdam,taxExemptInfo:If you are placing an order on behalf of a company, enter the companys GST identification number and the taxes will be removed.,ConfirmAchName:Name,Day:day,SepaTransactionMandateDebitor:Debitor,QuoteLink:Quote Link,CardNumber:Card Number,Company:Company,Done:Done,SubscriptionTerms:Subscription terms,before:before,ZaInvalidTaxExemptionApplied:Your VAT ID could not be validated. Local tax regulations require VAT on all sales of imported e-services. Please refer to local guidance for input VAT deductibility.,EnterTaxInformationEU:Enter VAT ID,CancelSurveyMessage:Wed appreciate your feedback to help us improve our service. Please share one reason for canceling by choosing from the options below:,PaymentVariant.amex:American Express,Tax:Tax,ConfirmAchEmail:Email,ErrorChoosePaymentMethod:Please choose a payment method.,Update:Update,EndingWith:Ending with,EmailFormInstructions:Please enter the email address associated with this account,GenerateProrationInvoiceTooltip:Generate an invoice with prorated adjustments applied to reflect recent changes.,TaxNotApplicable:Not Applicable,achDebtorName:Debtor Name,SepaTransactionMandateCreditorValue:GoCardLess on Behalf of FastSpring B.V. Read the a href\https://gocardless.com/privacy/payers/\> privacy notice /a>,Items:%s items,PaymentType.sofort:Sofort,InactiveTrials:Inactive Trials,MailingListSubscribe:Get updates about our products and offerings,RenewEvery:renew every %s %s,LetUsKnowWhy:Your feedback helps us improve! Please share a reason for canceling,Refunded:Refunded,ShippingPhoneNumber:Phone Number,EnterAValidEmailAddress:Enter a valid email address.,SepaTransactionMandateCreditorIdValue:DE56AQX00002197951,AndEndingOn:and ending on,ConfirmUpdateCoTermGroupPaymentMethod:Are you sure you want to change the default co-term group payment method?,TaxUS:Tax,Months:months,PaymentType.ach:ACH - Direct Debit,Footer.WeUse:We use industry-standard encryption to protect the confidentiality of your personal information.,CancelPausedSubscriptionMessage:Your subscription will be canceled today.,PaymentDialogOk:OK,PaymentVariantCardUnsupported:This card type is currently unavailable. Please choose a different card.,ChangeWithoutProration:Change Without Proration,AchReminder1:It may take up to strong>3-5 business days/strong> to process your payment.,SubscriptionNotModifiable:The subscription may not be modified.,EUVatAbout:Prices and order total includes VAT.,Province:Province,AchReminder2:Please expect fulfillment to be delivered after payment is processed.,CardSecurityCode:Card Security Code,OrderInvoice:Order Invoice,PixInfoBRL:Taxable persons in Brazil are responsible for all applicable taxes on the importation of digital goods and services excluding IOF.,Sheerid-professional:Get Occupational Discount,AbnExemptInfo:If you are placing an order on behalf of a company, enter the companys ABN.,SepaTransactionMandateId:SEPA MANDATE ID,AddPaymentMethod:Add Payment Method,ServiceTaxExemptApplied:Your companys service tax identification number has been applied, and service tax charges have been removed.,UsTaxStateFieldLabel:Enrollment State,PostalCodeIsTooShort:Postal code is too short.,CustomerReferenceInvalid:Please use letters (A-Z, a-z), numbers (0-9), or special characters (- ,),CardsAccepted:We accept,Message:Message,SameasRecipient:Same as Recipient,CaInvalidTaxExemptionApplied:Your GST ID could not be validated.,PaymentInformationTitle:Payment Information,AchSavingsDisplay:ACH Savings Bank Account (****%s),AchConfirmAccountNumberPlaceholder:Re-enter Account Number,EmailMatch:The purchaser and recipient email address cannot match. Please enter a different email address.,SubscriptionAddonIncluded:including add-on items,SubscriptionSwitchToManualRenewFailed:An unexpected error occurred while disabling automatic payment on this subscription.,Credit:Credit,BankPaymentWireInstructionPaymentReference:Payment Reference,Required:Required,UpgradeAndContinue:Upgrade and continue!,EmailMustNotContainSpaces:Email must not contain spaces.,ResumeConfirmationTitle:Your subscription is reactivated!,TaxInformationUS:+Tax,ZipCodeIsInvalid:Zip code is invalid.,Automaticallypayeverymonth:Automatically pay every month,SepaTransactionMandateSoftDescriptorQuestions:. For any questions please email,EnterYourLastName:Enter your last name.,PaymentVariant.mastercard:Mastercard,EnterYourAddressLine1:Enter your address.,KlarnaNotAvailable:Klarna not currently available. Please choose a different payment method.,Bundle:Bundle,Quantity:Quantity,EnterYourPhoneNumber:Enter your phone number.,achBillingDescriptor:Billing Descriptor,ServiceTaxAbout:Prices and order total includes service tax.,UnPauseMessage:Your subscription wont be paused on %s,AchAccountType:Select Account Type,DownloadAction:Download Now,PurchaseMadeIn:For purchase made in,NoActiveTrials:No active Trials,Today:today,ReactivateUntil:You have ,IofFeesDisclaimer:As per Brazilian regulations, a %s% IOF fee is applied to this international purchase involving a foreign exchange operation.,TaxInformationGST:Includes GST,Total:Total,CancelPausedSubscriptionCancelLabel:No, keep paused,PaymentDialogTitle:Your Payment,ShippingPostalCodeOptional:Postal Code (Optional),EUVatIDSubmit:Submit,BcInvalidTaxExemptionApplied:Your PST ID could not be validated.,OrderTotal:Total,SepaPaymentInitiated:Payment Initiated},locks:,paymentOptions:{type:free,variants:,requireContact:true,requireBillingPostal:false,requireCard:false,requireIban:false,requireShipping:false,requireCustomerReference:false,currency:USD,match:true,visible:true,supportRecurring:true,requirePhoneNumber:false,requireCpfNumber:false},paymentOptionVariables:{applePayMerchantId:merchant.com.fastspring.checkout.live,applePayUsePopupWindow:true,applePaySessionUrl:https://prod-payment-service.fastspring.com/payments/api/v1/applepay/session},promotionOptions:,session:{location:https://pushentertainment.onfastspring.com/session/pushentertainment,sandbox:https://d2kl989519khzp.cloudfront.net/pushentertainment,applePayUrl:https://applepay.fastspring.com/payments/pages/applepay.html?storepushentertainment,googlePayUrl:https://pay.fastspring.com/payments/pages/googlepay.html?storepushentertainment,paymentServiceUrl:https://prod-payment-service.fastspring.com/payments/,accountManagementUrl:https://pushentertainment.onfastspring.com/account/,token:new/4g20dGg5Sh-XIhYVUugORA,companyId:pushentertainment,primary:pushentertainment,id:pushentertainment,ipAddress:52.40.234.105,sblGenerated:false,live:true},variables:{allowSeparateBillingContactInfo:false,enableBuyerSelfServeQuote:false,enableGiftPurchases:false,integrationBehaviourGA:default,collectingEmailCheckbox:hide,iofRateEbanx:3.5,cartCrossSellsPositionProduct:belowdriver,purchaseBtn:openProduct,confirmCancelBtnFontSize:14px,showCouponField:true,productImageSize:medium,crossSellsPositionProduct:belowdriver,upSellsDisplay:page,popupHeadingAlign:left,showCompanyField:disable,offerTitleSize:16px,subscriptionAutoRenew:auto,showVatLink:true,topbarFreezing:false,listUpSellsDisplay:page,upSellsPosition:below,cartUpSellsDisplay:page,panelHeaderTextColor:rgb(51, 51, 51),countrySelector:visible,offerImageSizeInsideCart:medium,listUpSellsPosition:belowdriver,popupOnWindowClose:false,enableSiftOnFrontend:true,integrationBehaviourGTM:default,productTitle:openProduct,licenses:true,cartUpSellsPosition:below,requireEmail:false,panelHeaderColorNew:rgb(245, 245, 245),font:OpenSans,offerImageSizeOutsideCart:large,listCrossSellsPositionProduct:belowdriver,logo:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/_3vnbbKkR58/logo_regular.png,subscriptionUsePaymentMethodBtnFontSize:14px,popupTimeout:10,priceSize:large,showListCheckbox:false,textAlign:left,productTitleSize:22px,managePaymentMethodBtnFontSize:14px,popupTextAlign:left,iofEbanxIsProcessor:false,forcePhoneNumberCollection:false,couponFieldExpanded:link,shortCheckout:true,savePaymentDetailsBtnFontSize:14px,popupOnTimeout:false,title:FastSpring Checkout,addPaymentMethodBtnFontSize:12px,forcePhysicalAddressCollection:false,popupButtonAlign:left,iofRateNonEbanx:3.5,confirmOkBtnFontSize:14px,enableOneClickPayment:true,customIdGTM:,placeOrderBtnRadius:0px,addToCartBtnFontSize:14px,crossSellsPositionStorefront:above,logoRetina:https://d8y8nchqlnmka.cloudfront.net/8HxJPR7fR_o/ADMurf4GTnk/logo_retina.png,showEmailOnCartPage:payment,customIdGA:,hideFree:false,manageSubscriptionBtnFontSize:14px},country:US,countryDisplay:United States,countryRequiresPostalCode:true,countryRequiresRegion:true,language:en,languageDisplay:English,forceFuture:false,hasRecurring:false,hasManagedSubscription:false,autoRenewInit:true,autoRenewToggle:false,cartViewEnabled:false,abTestVariant:,siftBeaconKey:c621a54de8,quoteServiceUrl:https://api.fastspring.com/,paymentServiceUrl:https://prod-payment-service.fastspring.com/payments/api/v1/,enableNewTermsAndPolicy:true,defaultLanguage:true,validZipCode:false,production:true,live:false,hasAccount:false,hasQuote:false,services:{address.service.endpoint:https://apis.fastspring.com/address,applepay.service.endpoint:https://apis.fastspring.com/applepay}} /script> !-- Item (selected or unselected) note: inherits parent... expects an item variable in scope. --> !-- used in data-item-row directive --> script typetext/ng-template iditem.html> tr ng-classitem.styleClass> !--//this in list only--> !--// Todo: ng-ifpage list Move page to scope--> td classvertical-middle checkbox-item aligncenter ng-showvariables.showListCheckbox true> input type checkbox ng-modelitem.selected ng-changeonCheckbox(item, offer.type, item.selected)> /input> /td> td aligncenter classproduct-cell ng-attr-aria-hidden{{item.image ? false : true}}> div ng-ifitem.description.full undefined && variables.productTitle showDescription ng-styleimageStyle(item) ng-showitem.image aria-label{{ProductImageOf | phrase}} {{item.display}} ng-class{offer-image: isOffer, product-image : !isOffer, in-cart: item.selected}> /div> a ng-ifitem.description.full && variables.productTitle showDescription ng-clickshowDescription(item) href> div ng-styleimageStyle(item) ng-showitem.image aria-label{{ProductImageOf | phrase}} {{item.display}} classproduct-image>/div> /a> a reset-onbeforeunload ng-ifsession.secondary ng-showvariables.productTitle openProduct href/{{session.secondary}}/{{item.path}}>div ng-styleimageStyle(item) ng-showitem.image aria-label{{ProductImageOf | phrase}} {{item.display}} classproduct-image>/div> /a> a reset-onbeforeunload ng-if !session.secondary ng-showvariables.productTitle openProduct href/{{item.path}}> div ng-styleimageStyle(item) ng-showitem.image aria-label{{ProductImageOf | phrase}} {{item.display}} classproduct-image>/div> /a> /td> td classdescription-cell> div> strong classproduct-title product-title itemitem>/strong> !-- //Custom badges from attributes --> span ng-ifitem.bundle classlabel label-success label-as-badge> {{Bundle | phrase }}/span> span ng-ifitem.attributes.customBadge ng-stylecustomColor(item.attributes.customBadgeColor) classlabel label-as-badge custom-badge> {{item.attributes.customBadge}} /span> /div> !-- //Renew/renews part --> div ng-ifitem.subscription renews-checkbox subscriptionitem.subscription itemitem languagelanguage>/div> div classtext-muted ng-showitem.description.summary ng-bind-htmlitem.description.summary>/div> div classsmall ng-showitem.terms ng-bind-htmlitem.terms>/div> div classtext-info small ng-showitem.offer>span classglyphicon glyphicon-tag>/span> span ng-bind-htmlitem.offer>/span>/div> !-- //this should be inside only --> !--// the following used for bundles only--> div classwell well-sm inline-block ng-repeatordergroup in item.groups ng-showordergroup.type bundle> div classinline-block bundle-item ng-repeatitem in ordergroup.items> div ng-showitem.image aria-label{{ProductImageOf | phrase}} {{item.display}} classbundle-image ng-styleimageStyle(item) tooltip{{item.display}} tooltip-placementbottom tooltip-trigger > /div> /div> /div> !--// end of bundles only template--> /td> td classlast-price-row> div ng-if!item.autoRenew || item.subscription.intervalUnitadhoc ng-includeprice-row.html> /div> div ng-ifitem.autoRenew && !(item.subscription.intervalUnitadhoc) ng-includesubscriptions-price-row.html> /div> /td> /tr> /script> script typetext/ng-template idproduct-title.html> span ng-if!item.description.full && variables.productTitle showDescription ng-bind-htmlitem.display>/span> a ng-ifitem.description.full && variables.productTitle showDescription ng-clickshowDescription(item) href ng-bind-htmlitem.display>/a> a reset-onbeforeunload ng-ifsession.secondary ng-showvariables.productTitle openProduct href/{{session.secondary}}/{{item.path}} ng-bind-htmlitem.display>/a> a reset-onbeforeunload ng-if!session.secondary ng-showvariables.productTitle openProduct href/{{item.path}} ng-bind-htmlitem.display>/a> span classglyphicon glyphicon-search item-description-tooltip ng-showitem.description.tooltip tooltip-placementbottom tooltip-html-unsafe{{ item.description.tooltip }}>/span> /script> script typetext/ng-template idrenews-checkbox.html> !-- //Renews every period length starting today and ending on end date --> div ng-hidesubscriptionType.adhoc classbordered-muted inline-block renews-block text-muted> span ng-if!subscription.unequalIntervals> span ng-if!subscription.lastRemainingPeriod> span ng-ifitem.autoRenew && language.language de> {{RenewsEvery | phrase:subscription.germanJede:subscription.intervalLengthAdjusted:subscription.intervalUnitPluralized}} /span> span ng-ifitem.autoRenew && language.language nl && subscription.intervalUnitPluralized jaar> {{RenewEvery | phrase:subscription.intervalLengthAdjusted:subscription.intervalUnitPluralized}} /span> span ng-ifitem.autoRenew && language.language nl && subscription.intervalUnitPluralized ! jaar> {{RenewsEvery | phrase:subscription.intervalLengthAdjusted:subscription.intervalUnitPluralized}} /span> span ng-ifitem.autoRenew && language.language ! de && language.language ! nl> {{RenewsEvery | phrase:subscription.intervalLengthAdjusted:subscription.intervalUnitPluralized}} /span> !-- //Free: Renews every {x} for free --> span ng-ifsubscriptionType.free && subscription.repeatingInstruction false> {{ ForFree | phrase }}/span> span classcomma>./span> /span> !-- //not free: Renews every {x}. First/next charge: {y} on {z} --> span ng-if!subscriptionType.free> span ng-ifsubscriptionType.hasTrial && subscription.nextChargeTotal> {{FirstCharge | phrase}} {{subscription.nextChargeTotal}}/span> span ng-if!subscriptionType.hasTrial && subscription.nextChargeTotal> {{NextCharge | phrase}} {{subscription.nextChargeTotal}}/span> span ng-ifaddonSelected(item)> {{SubscriptionAddonIncluded | phrase}} /span> span ng-ifsubscription.nextChargeDateValue> {{on | phrase }} {{ isToday(subscription.nextChargeDateValue, subscription.nextChargeDate) }}/span> span classcomma>./span> /span> !-- //Finite: Ends on {x} --> span ng-ifsubscriptionType.finiteEndDate> {{ Ending | phrase }} {{ subscriptionType.finiteEndDate }} /span> /span> span ng-ifitem.autoRenew && subscription.unequalIntervals> span> {{ MultipleRebills | phrase }} /span> a href ng-clicksubscription.showSubscriptionTerms !subscription.showSubscriptionTerms> {{ Details | phrase }} /a> /span> /div> !-- //Adhoc --> div ng-showsubscriptionType.adhoc classbordered-muted inline-block renews-block text-muted> span> {{RenewsAutomatically| phrase}} /span> /div> /script> script typetext/ng-template idquantity.html> !-- //Allow- Quantity Editable (+ optional delete via 0) --> div ng-ifitem.selected && item.pricing.quantity allow classprice-item> select idquantity-{{item.path}} aria-label{{item.display}} {{Quantity | phrase}}; {{item.display}}; {{price | phrase}}: {{ item.unitPrice |price }} ng-hideuseQuantityInput(item) classitem-quantity-input form-control input-sm inline-block ng-modelitem.stagedQuantity ng-changechangeQuantity(item, false) ng-options(qtyOpt.id) as qtyOpt.text for qtyOpt in item.quantityOptions> /select> div ng-ifuseQuantityInput(item) classprice-item> div>input typetel classitem-quantity-input form-control input-sm ng-modelitem.stagedQuantity/>/div> div>a href classsmall text-muted ng-clickchangeQuantity(item, true)>{{ Update | phrase }}/a>/div> /div> /div> !-- //Lock - Quantity Not Editable + NOT Removable , and quantity > 0 --> div ng-showitem.pricing.quantity lock && item.quantity > 0 classprice-item> span classbadge> {{For | phrase }} {{ item.quantity }}/span> /div> !-- //Remove button - Quantity Not Editable + Removable --> div ng-showitem.selected && item.removable && removeButtonVisibility ! hidden classprice-item> a href idremove-{{item.path}} rolebutton aria-labelremove {{item.display}} from cart classdotted text-muted small ng-clickdeleteItem(item)> {{DeleteItem | phrase}} /a> /div> /script> script typetext/ng-template idvolume-pricing-discount.html> small classprice-item nowrap-text small dotted text-muted tooltip-placementbottom tooltip-trigger va-tooltiptooltipVolumeDiscountTpl.html > {{VolumeDiscountsAvailable | phrase}} /small> /script> script typetext/ng-template idvolume-pricing-tiers.html> a hrefjavascript:void(0) classsmall dotted text-muted details-popover volume-pricing-available ns-popover ns-popover-templatetooltipVolumePricingTiersTpl.html ns-popover-plainfalse ns-popover-placementbottom ns-popover-hide-on-inside-clicktrue ns-popover-timeout0> {{ VolumePricingAvailable | phrase }} /a> /script> script typetext/ng-template idchoose-one-many.html> tbody> tr> td classproduct-cell>/td> td classdescription-cell> strong classproduct-title ng-bind-htmlordergroup.display>/strong> /td> td classlast-price-row>/td> /tr> tr ng-repeatitem in items classconfig-terms> td classproduct-cell>/td> td classdescription-cell {{$index > 0 ? onepxtop fivepxbottom : fivepxbottom}}> form classconfig-choose ng-class{hideFree: !item.image && showTerms && variables.hideFree true}> label class{{type}} choose ng-class{ config-contains-terms : item.subscription && showTerms }> input ng-hideordergroup.type setup-fee ng-iftyperadio || typeoptions typeradio ng-modelitem.replaceSelection name{{items0.path}} ng-valueitem.path ng-changeacceptOffer(item, item.type) /> input ng-iftypecheckbox typecheckbox ng-modelitem.selected name{{items0.path}} ng-valueitem.path ng-changeonCheckbox(item, item.type, item.selected) /> div ng-showitem.image aria-label{{ProductImageOf | phrase}} {{item.display}} classbundle-image inline-block price-item ng-styleimageStyle(item)> /div> span ng-bind-htmlitem.display>/span> /label> /form> span ng-ifordergroup.typeaddon-many || ordergroup.typeaddon-one classbordered-muted inline-block renews-block text-muted> {{ SubscriptionAddonTerms.Single | phrase }} /span> div ng-ifitem.subscription && showTerms renews-checkbox subscriptionitem.subscription itemitem languagelanguage>/div> /td> td valignmiddle classlast-price-row {{$index > 0 ? onepxtop fivepxbottom : fivepxbottom}} ng-ifordergroup.typeaddon-many || ordergroup.typeaddon-one || showTerms> div ng-includeaddon-price-row.html ng-if!showTerms> !--//price--> strong ng-ifitem.pricing.quantity allow classprice-item price {{item.unitPrice |priceColor}}>{{ item.unitPrice |price }}/strong> !--//Total price for all items if quantity locked or hidden--> strong ng-if!(item.pricing.quantity allow) classprice-item price {{item.total |priceColor}}>{{ item.total |price }}/strong> div ng-includequantity.html>/div> /div> !--//end of subscriptions-price-row-div--> div ng-ifshowTerms> div ng-includesubscriptions-price-row.html ng-ifitem.autoRenew && item.subscription.intervalUnit!adhoc>/div> div ng-includeprice-row.html ng-if!item.autoRenew || item.subscription.intervalUnitadhoc>/div> /div> /td> /tr> tr> td classproduct-cell>/td> td colspan3> /td> /tr> /script> script typetext/ng-template idaddon-price-row.html> !-- //Iterate instrunctions --> div classfuture-row ng-repeatinstruction in item.subscription.instructions ng-if$index 0 || item.subscription.showSubscriptionTerms> div ng-ifinstruction.type ! trial ng-includesubscription.html>/div> div ng-ifinstruction.type trial ng-includesubscription-trial.html>/div> /div> a id{{item.path}}-show-terms tabindex0 classprice-item ng-show!item.subscription.showSubscriptionTerms ng-clickitem.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms ng-keydown$event.key Enter && (item.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms) aria-label{{item.display}} {{ SubscriptionTerms | phrase }}> {{ SubscriptionAddonTerms | phrase }} /a> a id{{item.path}}-hide-terms tabindex0 classprice-item ng-showitem.subscription.showSubscriptionTerms ng-clickitem.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms ng-keydown$event.key Enter && (item.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms) aria-label{{item.display}} {{ HideSubscriptionTerms | phrase }}> {{ HideSubscriptionAddonTerms | phrase }} /a> /script> script typetext/ng-template idsubscriptions-price-row.html> !-- //Iterate instrunctions --> div classfuture-row ng-repeatinstruction in item.subscription.instructions ng-if$index 0 || item.subscription.showSubscriptionTerms> div ng-ifinstruction.type ! trial ng-includesubscription.html>/div> div ng-ifinstruction.type trial ng-includesubscription-trial.html>/div> /div> a id{{item.path}}-show-terms tabindex0 classprice-item ng-show!item.subscription.showSubscriptionTerms ng-clickitem.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms ng-keydown$event.key Enter && (item.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms) aria-label{{item.display}} {{ SubscriptionTerms | phrase }}> {{ SubscriptionTerms | phrase }} /a> a id{{item.path}}-hide-terms tabindex0 classprice-item ng-showitem.subscription.showSubscriptionTerms ng-clickitem.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms ng-keydown$event.key Enter && (item.subscription.showSubscriptionTerms !item.subscription.showSubscriptionTerms) aria-label{{item.display}} {{ HideSubscriptionTerms | phrase }}> {{ HideSubscriptionTerms | phrase }} /a> !--//Unselected - Button with action--> !--//List page only- show if enabled in options--> div ng-show!showTerms classlist-add-product-btn ng-includelist-add-product-btn.html>/div> /script> script typetext/ng-template idprice-row-first.html> !--//old price--> small classprice-item text-muted ng-ifinstruction.discountPercentValue > 0 && instruction.type ! trial && instruction.trialType ! PAID>del> {{ instruction.priceTotal }} /del>/small> small classprice-item text-muted ng-ifitem.discountPercentValue > 0 && instruction.trialType PAID>del> {{ item.price }} /del>/small> div classprice-row> !--//price--> strong ng-ifitem.pricing.quantity allow ng-hideshowTerms && instruction.totalValue 0 && instruction.discountTotalValue 0 && variables.hideFree true classprice-item price {{item.unitPrice |priceColor}}>{{ item.unitPrice }}/strong> !--//Total price for all items if quantity locked or hidden--> strong ng-if!(item.pricing.quantity allow) ng-hideshowTerms && instruction.totalValue 0 && instruction.discountTotalValue 0 && variables.hideFree true classprice-item price {{item.total |priceColor}}>{{ item.total }}/strong> div ng-includequantity.html>/div> /div> !--//end of price-row-div--> /script> script typetext/ng-template idprice-row-second.html> div classprice-row no-margin> strong classprice-item price {{instruction.total |priceColor}}>{{ instruction.total }}/strong> !--//old price--> small classprice-item text-muted ng-ifinstruction.discountPercentValue > 0>del> {{instruction.priceTotal }}/del> /small> /div> /script> script typetext/ng-template idsubscription.html> div ng-if$index 0 ng-includeprice-row-first.html>/div> div ng-if$index ! 0 && item.subscription.showSubscriptionTerms ng-includeprice-row-second.html>/div> !-- //You save text (Subscription discount) --> div ng-showitem.selected && instruction.discountTotalValue ! 0 class inline-block nowrap-text price-item text-success small> span>{{SavingsTitle | phrase}} {{instruction.unitDiscount}} ({{instruction.discountPercent}}) /span> /div> !--//Volume pricing --> div ng-showitem.selected && item.discount.data.tiers.length>0 ng-includevolume-pricing-discount.html> /div> div ng-showitem.selected && item.volumePricingAvailable ng-includevolume-pricing-tiers.html> /div> div tabindex0 ng-ifitem.subscription.showSubscriptionTerms> !-- // subscription renews part --> div classtext-muted price-item small ng-includerenews-every.html ng-if!item.subscription.lastRemainingPeriod> /div> !--//Coupon discount reason text --> div classtext-muted ng-showitem.discount.reason && instruction.discountTotalValue > 0> p class price-item small text-muted> {{item.discount.reason}} /p> /div> /div> /script> script typetext/ng-template idsubscription-trial.html> div ng-includeprice-row-first.html>/div> div ng-showitem.selected && item.discountTotalValue ! 0 class inline-block nowrap-text price-item text-success small> span>{{SavingsTitle | phrase}} {{item.unitDiscount}} ({{item.discountPercent}}) /span> /div> !--//Volume pricing (Discount or Price Tiers) --> div ng-showitem.selected && item.discount.data.tiers.length>0 ng-includevolume-pricing-discount.html> /div> div ng-showitem.selected && item.volumePricingAvailable ng-includevolume-pricing-tiers.html> /div> div tabindex0 ng-ifitem.subscription.showSubscriptionTerms> !-- //Free trial-> If instruction.periodStartDateValue value exist --> div classtext-muted price-item small ng-showinstruction.periodEndDate> span> {{FreeTrialUntil | phrase }} /span> span ng-bind-htmlisToday(instruction.periodEndDateValue, instruction.periodEndDate)> /span> /div> /div> /script> script typetext/ng-template idrenews-every.html> span ng-iflanguage.language de> {{germanJede}} /span> span ng-iflanguage.language ! de && language.language ! pl> {{Every | phrase}} /span> span ng-iflanguage.language pl> {{EveryOptional | phrase}} /span> span ng-showinstruction.intervalLength > 1> {{instruction.intervalLength}} /span> span ng-bind-htmlpluralize(instruction.intervalLength, instruction.intervalUnit)> /span> !--//starting periodStartDate --> span ng-iflanguage.language ! pl ng-hideinstruction.discountDurationLength || (instruction.periodEndDate && !$last)> {{Starting | phrase}} /span> span ng-iflanguage.language pl ng-hideinstruction.discountDurationLength || (instruction.periodEndDate && !$last)> {{StartingOptional | phrase}} /span> span ng-hideinstruction.discountDurationLength || (instruction.periodEndDate && !$last) ng-ifinstruction.periodStartDate ng-bind-htmlisToday(instruction.periodStartDateValue, instruction.periodStartDate)> /span> !-- //Finite subscription only - if instructions last has periodEndDate --> span ng-if$last && instruction.periodEndDate> {{AndEndingOn | phrase}} {{instruction.periodEndDate}}/span> !-- //, periodStartDate - PeriodEndDate --> span ng-ifinstruction.discountDurationLength || (instruction.periodEndDate && !$last) classcomma>, /span> span ng-if(instruction.discountDurationLength && instruction.periodStartDate) || (instruction.periodEndDate && !$last) ng-bind-htmlisToday(instruction.periodStartDateValue, instruction.periodStartDate)> /span> span ng-showinstruction.discountDurationLength || (instruction.periodEndDate && !$last)> - /span> span ng-showinstruction.discountDurationLength || (instruction.periodEndDate && !$last) ng-bind-htmlisToday(instruction.periodEndDateValue, instruction.periodEndDate)> /span> /script> script typetext/ng-template idlist-add-product-btn.html> button idadd-{{item.path}} classbtn btn-sm ng-ifvariables.purchaseBtn addToCart ng-hideitem.selected || (variables.purchaseBtn hide) ng-classBtnClass(offer) ng-clickacceptOffer(item, offer.type) aria-label{{Add | phrase}} {{item.display}} {{LightBox.InYourCart | phrase}}; {{price | phrase}}: {{ item.unitPrice |price }}> span ng-showitem.description.action ng-bind-htmlitem.description.action>/span> span ng-hideitem.description.action> {{ Add | phrase }} /span> /button> a ng-href/{{session.secondary}}/{{item.path}} ng-ifsession.secondary && variables.purchaseBtn openProduct classbtn btn-sm ng-classBtnClass(offer) ng-hideitem.selected || (variables.purchaseBtn hide)> span ng-showitem.description.action ng-bind-htmlitem.description.action>/span> span ng-hideitem.description.action> {{ Add | phrase }} /span> /a> a href/{{item.path}} ng-if!session.secondary && variables.purchaseBtn openProduct classbtn btn-sm ng-classBtnClass(offer) ng-hideitem.selected || (variables.purchaseBtn hide)> span ng-showitem.description.action ng-bind-htmlitem.description.action>/span> span ng-hideitem.description.action> {{ Add | phrase }} /span> /a> /script> !-- Locale --> script typetext/ng-template idlocaleDialog.html> form nameform novalidatenovalidate roledialog aria-labelledbydialogTitle aria-modaltrue> div classmodal-header> button idcloseLocaleButton ng-hidetrialConcurrencyCheckFound typebutton classclose ng-clickcancel() ng-keydownhandleCloseButtonNavigation($event) aria-labelClose>×/button> h2 classmodal-title title-font iddialogTitle> span classglyphicon glyphicon-globe>/span> {{ ChooseLocale | phrase }} /h2> /div> div classmodal-body> span classapp-update-indicator> span classglyphicon glyphicon-refresh aria-hiddentrue>/span> span classsr-only ng-ifwaitAboutPhrase>{{ waitAboutPhrase | phrase }}/span> /span> div ng-showloaded> tabset justifiedtrue idlocaleSelector> tab roletabpanel idchooseCountry aria-labelledbycountry-tab ng-keydownhandleLocaleTabNavigation($event)> tab-heading idcountry-tab roletab>{{ChooseCountry| phrase}}/tab-heading> p> /p> div classrow> div classcol-sm-5> div idregionList classlist-group roletablist aria-labelRegions> a idregion-{{$index}} href roletab classlist-group-item ng-class{active: selectedRegion.name region.name} ng-clickchooseRegion(region) ng-keydownhandleRegionsNavigation($event) ng-repeatregion in regions | orderBy:display aria-selected{{selectedRegion.name region.name}} aria-controlscountry-list>{{region.display}}/a> /div> /div> div classcol-sm-7 idcountry-list roleregion aria-livepolite> div classrow small> div classcol-sm-6 ng-repeatcountry in selectedRegion.countries | filter: {top:true}> a idcountry-{{$index}} href rolebutton ng-clickchoose(country.code) ng-keydownhandleCountryNavigation($event) ng-class{active: country.code currentCountry}> {{ country.display }} span ng-ifcountry.code currentCountry classsr-only>({{Selected | phrase}})/span> /a> span classglyphicon glyphicon-ok ng-showcountry.code currentCountry aria-hiddentrue>/span> /div> /div> /div> /div> /tab> tab roletabpanel idchooseLanguage aria-labelledbylanguage-tab ng-keydownhandleLocaleTabNavigation($event)> tab-heading idlanguage-tab roletab>{{ChooseLanguage| phrase}}/tab-heading> p> /p> div classrow> div idlanguages-list classlanguage col-sm-6 col-md-4 ng-repeatlanguage in languages> a idlanguage-{{$index}} rolebutton classbtn btn-primary btn-block href ng-clickchoose(null, language.code) ng-class{locale-selected: language.display languageDisplay } ng-keydownhandleLanguageNavigation($event) data-lang-code{{language.code}} lang{{language.code}}> {{ language.display }} /a> /div> /div> /tab> /tabset> /div> /div> /form>/script> !-- VAT Dialog --> script typetext/ng-template idtaxExemptDialog.html> div classmodal-header> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 classmodal-title title-font ng-iftaxType VAT>{{EUVatDialogTitle | phrase}}/h3> h3 classmodal-title title-font ng-iftaxType SST>{{SstDialogTitle | phrase}}/h3> h3 classmodal-title title-font ng-iftaxType SERVICE>{{ServiceTaxDialogTitle | phrase}}/h3> h3 classmodal-title title-font ng-iftaxType JCT>{{JpConsumptionTaxDialogTitle | phrase}}/h3> h3 classmodal-title title-font ng-iftaxType GST> span ng-showcountry AU>{{AbnDialogTitle | phrase}}/span> span ng-showcountry ! AU>{{GstDialogTitle | phrase}}/span> /h3> h3 classmodal-title title-font ng-iftaxType US> span ng-showcountry US>{{UsTaxDialogTitle | phrase}}/span> span ng-showcountry CA>{{GstDialogTitle | phrase}}/span> /h3> /div> div classmodal-body> p classalert alert-info ng-iftaxType VAT> {{EUVatAbout | phrase}} /p> p classalert alert-info ng-iftaxType SERVICE> {{ServiceTaxAbout | phrase}} /p> p classalert alert-info ng-iftaxType GST> {{GstAbout | phrase}} /p> p classalert alert-info ng-iftaxType SST> {{SstAbout | phrase}} /p> p classalert alert-info ng-iftaxType JCT> {{JpConsumptionTaxAbout | phrase}} /p> p classsmall text-muted idfs-inf-exempt-eu-vat ng-iftaxType VAT && fields.vatCountryList.indexOf(country) 0> {{EUVatExemptInfo | phrase}} /p> p classsmall text-muted idfs-inf-exempt-vat ng-iftaxType VAT && fields.vatCountryList.indexOf(country) > -1> {{VatExemptInfo | phrase:countryDisplay}} /p> p classsmall text-muted idfs-inf-exempt-service-tax ng-iftaxType SERVICE> {{ServiceTaxExemptInfo | phrase:countryDisplay}} /p> p classsmall text-muted idfs-inf-exempt-sst ng-iftaxType SST> {{SSTaxExemptInfo | phrase:countryDisplay}} /p> p classsmall text-muted idfs-inf-exempt-gst ng-iftaxType GST> span ng-showcountry ! AU idfs-inf-exempt-gst-gst>{{GstExemptInfo | phrase:countryDisplay}}/span> span ng-showcountry AU idfs-inf-exempt-gst-abn>{{AbnExemptInfo | phrase}}/span> /p> p classsmall text-muted idfs-inf-exempt-cst ng-iftaxType JCT> {{JpConsumptionTaxExemptInfo | phrase}} /p> p classsmall text-muted idfs-inf-exempt-gst ng-iftaxType US && country CA> span ng-showcountry ! AU>{{GstExemptInfo | phrase:countryDisplay}}/span> /p> form nameform classform-inline novalidatenovalidate ng-submitsubmitTaxId()> div classform-group ng-iftaxType VAT> label classsr-only foreu-vat-tax-exempt-id>{{ EUVatID | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control ideu-vat-tax-exempt-id placeholder{{ EUVatID | phrase }}/> /div> div classform-group ng-iftaxType SERVICE> label classsr-only forservice-tax-exempt-id>{{ ServiceTaxID | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control idservice-tax-exempt-id placeholder{{ ServiceTaxID | phrase }}/> /div> div classform-group ng-iftaxType SST> label classsr-only forss-tax-exempt-id>{{ SsTaxID | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control idss-tax-exempt-id placeholder{{ SsTaxID | phrase }}/> /div> div classform-group ng-iftaxType GST> span ng-showcountry ! AU> label classsr-only forgst-tax-exempt-id>{{ GstID | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control idgst-tax-exempt-id placeholder{{ GstID | phrase }}/> /span> span ng-showcountry AU> label classsr-only forgst-tax-exempt-id>{{ AbnID | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control idabn-tax-exempt-id placeholder{{ AbnID | phrase }}/> /span> /div> div classform-group ng-iftaxType JCT> label classsr-only forcst-exempt-id>{{ JpNationalTaxId | phrase }}/label> input typetext requiredtrue nametaxExemptId ng-modelfields.taxExemptId classform-control idcst-exempt-id data-ng-attr-placeholder{{ JpNationalTaxId | phrase }}/> /div> div classform-group us-tax-exempt ng-iftaxType US && country US > p classus-tax-exmpetion-legalese>{{USTaxExemptionWindowLine1| phrase}}/p> p classus-tax-exmpetion-legalese>{{USTaxExemptionWindowLine2| phrase}}/p> p classus-tax-exmpetion-legalese>{{USTaxExemptionWindowLine3| phrase}}/p> div classrow> div classcol-xs-6> p classdropdown-field-label> {{ UsTaxIdFieldLabel | phrase }} /p> label classsr-only forus-tax-exempt-id>{{ UsTaxIdFieldLabel | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control idus-tax-exempt-id placeholder{{ USTaxID | phrase }}/> /div> div classcol-xs-6> p classdropdown-field-label> {{ UsTaxStateFieldLabel | phrase }} /p> div idstates ng-includegetUsStatesTemplate() style >/div> /div> /div> /div> div classform-group ca-tax-exempt ng-iftaxType US && country CA> label classsr-only forgst-tax-exempt-id>{{ GstID | phrase }}/label> input requiredtrue typetext nametaxExemptId ng-modelfields.taxExemptId classform-control idgst-tax-exempt-id placeholder{{ GstID | phrase }}/> /div> div classtax-exempt-submit ng-classtaxType US ? us-submit : > button typesubmit classbtn btn-primary btn-sm ng-clickhidePopover()>{{EUVatIDSubmit|phrase}}/button> /div> /form> /div> /script> !-- Description Dialog --> script typetext/ng-template iddescriptionDialog.html> div classmodal-header> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h4 classmodal-title>span ng-bind-htmltitle>/span>/h4> /div> div classmodal-body clearfix> img classpull-left description-image ng-src{{image}} classimg-responsive>/img> div ng-bind-htmldescription.full>/div> /div> /script> !-- Lightbox is used to compare offer with its replacement --> script typetext/ng-template idLightBox.html> !-- //header --> div classrow no-margin> div classcol-sm-3 modal-header grey hidden-xs> h4 classmodal-title>span> {{LightBox.InYourCart | phrase}} /span>/h4> /div> div classcol-sm-9 modal-header > button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h4 classmodal-title>span> {{LightBox.UpgradeAvailable | phrase}} /span>/h4> /div> /div> !-- //body --> div classrow no-margin flex> div classcol-sm-3 modal-body text-center grey flex hidden-xs fl-center> div> div classwrap> div classtext-center> {{driver.display}} /div> div classdriver-image ng-styleimageStyle(driver)>/div> !--//new price only--> div> strong classprice {{driver.total |priceColor}}>{{ driver.total |price }}/strong> /div> /div> /div> /div> div classcol-sm-9 modal-body> div classrow flex fl-center> div classcol-sm-4 text-center> div> div classlightbox-image ng-styleimageStyle(lightboxElement)>/div> /div> /div> div classcol-sm-8> div classfl-center> div classlightbox-title> {{lightboxElement.display}} /div> div ng-bind-htmllightboxElement.description.summary> /div> div classprice-narrow> !--//old price--> div classtext-muted ng-iflightboxElement.unitDiscountValue > 0> small>del> {{ lightboxElement.priceTotal}}/del> /small> /div> !--//new price--> div> strong classprice {{lightboxElement.total |priceColor}}>{{ lightboxElement.total |price }}/strong> /div> /div> /div> /div> /div> /div> /div> !-- //footer --> div classrow no-margin> div classcol-sm-3 modal-footer text-center grey hidden-xs> button classbtn btn-default col-sm-12 ng-clickcancel()>{{ Continue | phrase}}/button> /div> div classcol-sm-9 modal-footer text-center> button classbtn btn-success ng-clickacceptOffer(lightboxElement)>{{UpgradeAndContinue| phrase}} /button> /div> /div> !--//Below visible on xs screens only --> div classcol-sm-3 modal-header grey visible-xs> h4 classmodal-title>span> {{LightBox.InYourCart | phrase}} /span>/h4> /div> div classcol-sm-3 text-center grey visible-xs> div classdriver-image center-block ng-styleimageStyle(driver)>/div> div classtext-center> {{driver.display}} /div> !--//new price--> div> strong classprice {{driver.total |priceColor}}>{{ driver.total |price }}/strong> /div> /div> div classcol-sm-3 modal-footer text-center grey visible-xs> button classbtn btn-default col-sm-12 ng-clickcancel()> {{ Continue | phrase}} /button> /div> /script> script typetext/ng-template idalipayDialog.html> div classmodal-header> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 classmodal-title title-font>{{PaymentInformation| phrase}}/h3> /div> div classmodal-body relative> div classpull-right> button ng-hideprocessing typesubmit classbtn placeOrderBtn pay-button ng-clickaccept();>{{Pay | phrase:totalWithTax }}span classglyphicon glyphicon-chevron-right>/span>/button> div ng-showprocessing>span classglyphicon glyphicon-refresh spin pay-spinner-right>/span>span classsr-only>{{WaitRedirectTitle | phrase}}/span>/div> /div> p> /p> /div> /script> !-- Generic wait / progress dialog --> script typetext/ng-template idwaitDialog.html> div classmodal-header> h2 classmodal-title title-font>{{ waitTitlePhrase | phrase }}/h2> /div> div classmodal-body relative> span classapp-update-indicator> span classglyphicon glyphicon-refresh>/span> span classsr-only ng-ifwaitAboutPhrase>{{ waitAboutPhrase | phrase }}/span> /span> p> /p> /div> /script> script typetext/ng-template idrecipientStreet.html> div classform-group col-md-12 ng-classvalidationClass(formrecipient.addressLine1)> label classsr-only forrecipient-addressline1>{{ShippingStreet | phrase}}/label> span classplaceholder>{{ShippingStreet | phrase}}/span> input idrecipient-addressline1 ng-modelrecipient.address.addressLine1 ng-changeresetRemoteValidation(formrecipient.addressLine1) namerecipient.addressLine1 typetext requiredrequired classform-control placeholder{{ShippingStreet | phrase}}/> /div> /script> script typetext/ng-template idrecipientCity.html> div ng-classcountry US ? col-xs-6 : col-xs-12> div classform-group ng-classvalidationClass(formrecipient.city)> label classsr-only forrecipient-city>{{ShippingCity | phrase}}/label> span classplaceholder>{{ShippingCity | phrase}}/span> input ng-changeresetRemoteValidation(formrecipient.city) namerecipient.city typetext ng-modelrecipient.address.city requiredrequired classform-control idrecipient-city placeholder{{ShippingCity | phrase}}/> /div> /div> /script> script typetext/ng-template idrecipientRegion.html> div ng-classcountry US ? col-xs-6 : col-xs-12> div classrelative dropdown-caret ng-ifcountry CA && regionList.CA> select aria-labelProvince ng-classvalidationClass(formrecipient.region) ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formrecipient.region, formrecipient.postalCode) namerecipient.region classform-control form-group ng-modelrecipient.address.region> option value disableddisabled selectedselected>{{Province | phrase}}/option> option ng-repeatstate in regionList.CA ng-valuestate.code ng-selectedstate.code recipient.address.region>{{ state.name }}/option> /select> /div> div classform-group ng-classvalidationClass(formrecipient.region) ng-ifcountry CA && !regionList.CA> label classsr-only forrecipient-region>{{Province | phrase}}/label> span classplaceholder>{{Province | phrase}}/span> input ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formrecipient.region, formrecipient.postalCode) namerecipient.region typetext ng-modelrecipient.address.region classform-control idrecipient-region placeholder{{Province | phrase | optional : showAddressField && countryRequiresRegion}}/> /div> div classrelative dropdown-caret ng-ifcountry US && regionList.US> select aria-labelState requiredrequired ng-classvalidationClass(formrecipient.region) ng-classvalidationClass(formrecipient.region) namerecipient.region classform-control form-group ng-modelrecipient.address.region ng-changeresetRemoteValidation(formrecipient.region, formrecipient.postalCode)> option value disableddisabled selectedselected>{{ShippingRegion | phrase}}/option> option ng-repeatstate in regionList.US ng-valuestate.code ng-selectedstate.code recipient.address.region>{{ state.name }}/option> /select> /div> div classform-group ng-if(country US && !regionList.US) || (country ! US && country ! CA) ng-classvalidationClass(formrecipient.region)> label classsr-only forrecipient-region>{{ShippingRegion | phrase}}/label> span classplaceholder>{{ShippingRegion | phrase}}/span> input ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion namerecipient.region typetext ng-modelrecipient.address.region classform-control idrecipient-region placeholder{{ShippingRegion | phrase | optional : showAddressField && countryRequiresRegion}} ng-changeresetRemoteValidation(formrecipient.region, formrecipient.postalCode)/> /div> /div> /script> script typetext/ng-template idrecipientPostal.html> div classcol-xs-6 ng-ifcountry US> div classform-group ng-classvalidationClass(formrecipient.postalCode)> label classsr-only forrecipient-postal>{{ZipCode | phrase}}/label> span classplaceholder>{{ZipCode | phrase}}/span> input typetel ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresPostalCode ng-changeresetRemoteValidation(formrecipient.postalCode); determineTax(); namerecipient.postalCode ng-modelrecipient.address.postalCode classform-control idrecipient-postal placeholder{{ZipCode | phrase}}/> /div> /div> div classcol-xs-6 help-block ng-ifcountry US> span ng-showpostalTax.calculating classpostal-spinner glyphicon glyphicon-refresh spin>/span> span classpostal-phrase>span>{{TaxValue | phrase}}/span> span ng-bindtax>/span>/span> /div> div classcol-xs-12 ng-ifcountry ! US> div classform-group ng-classvalidationClass(formrecipient.postalCode)> label classsr-only forrecipient-postal>{{ShippingPostalCode | phrase}}/label> span classplaceholder>{{ShippingPostalCode | phrase}}/span> input typetext ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresPostalCode ng-changeresetRemoteValidation(formrecipient.postalCode) namerecipient.postalCode ng-modelrecipient.address.postalCode classform-control idrecipient-postal placeholder{{ShippingPostalCode | phrase}}/> /div> /div> /script> script typetext/ng-template idgiftCheckbox.html> div classrecipient-message> label forgift-checkbox> input idgift-checkbox typecheckbox ng-modelrecipient.selected ng-changegiftPurchaseSelect();/> i classglyphicon glyphicon-gift>/i> span>{{GiftPurchase | phrase}}/span> /label> /div> /script> script typetext/ng-template idrecipientDetails.html> div> div classwell total-well> div ng-includegiftCheckbox.html>/div> div classrecipient-details ng-ifrecipient.selected> hr classrecipient-break> div classrow recipient-form> div classcol-sm-12> h4 classrecipient-title ng-if!recipient.requirements.requireNone>{{RecipientInformation | phrase}}/h4> h4 classrecipient-title ng-ifrecipient.requirements.requireNone>{{Message | phrase}}/h4> /div> div classcol-sm-12> div classrecipient-contact ng-ifrecipient.requirements.requireContact> div classrow> div classcol-sm-6> div classform-group ng-classvalidationClass(formrecipient.firstName)> label classsr-only forrecipient-first>{{FirstName | phrase}}/label> input idrecipient-first classform-control placeholder{{FirstName | phrase}} namerecipient.firstName ng-modelrecipient.firstName requiredrequired ng-changeresetRemoteValidation(formrecipient.firstName) /> /div> /div> div classcol-sm-6> div classform-group ng-classvalidationClass(formrecipient.lastName)> label classsr-only forrecipient-last>{{LastName | phrase}}/label> input idrecipient-last classform-control placeholder{{LastName | phrase}} namerecipient.lastName ng-modelrecipient.lastName requiredrequired ng-changeresetRemoteValidation(formrecipient.lastName) /> /div> /div> /div> div classrow> div classcol-md-12> div classform-group ng-classvalidationClass(formrecipient.email)> label classsr-only forrecipient-email>{{Email | phrase}}/label> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-envelope>/span>/span> input typeemail idrecipient-email classform-control placeholder{{Email | phrase}} namerecipient.email ng-modelrecipient.email requiredrequired ng-changeresetRemoteValidation(formrecipient.email, formcontact.email)/> /div> /div> /div> /div> /div> div classrow ng-ifrecipient.requirements.requirePostal && !recipient.requirements.requireAddress> div classcol-md-6> div classform-group ng-classvalidationClass(formrecipient.postalCode)> input typetel classform-control placeholder{{ZipCode | phrase}} namerecipient.postalCode ng-modelrecipient.address.postalCode ng-disabledrecipient.addressValidated requiredrequired ng-changeresetRemoteValidation(formrecipient.postalCode); determineTax(); /> /div> /div> div classcol-md-6> div classhelp-block> span ng-showpostalTax.calculating classpostal-spinner glyphicon glyphicon-refresh spin>/span> span classpostal-phrase>span>{{TaxValue | phrase}}/span> span ng-bindtax>/span>/span> /div> /div> /div> div classrecipient-address ng-ifrecipient.requirements.requireAddress> div classpanel panel-custom panel-default> div classpanel-heading ng-ifrecipient.requirements.requireShipping> h3 classpanel-title ng-class{text-center: variables.textAlign center, text-right: variables.textAlign right}>{{ShippingAddress | phrase}}/h3> /div> div classpanel-heading ng-if!recipient.requirements.requireShipping> h3 classpanel-title ng-class{text-center: variables.textAlign center, text-right: variables.textAlign right}>{{RecipientAddress | phrase}}/h3> /div> div classpanel-body> div ng-ifcountry JP classrow> div ng-includerecipientPostal.html>/div> div ng-includerecipientRegion.html>/div> div ng-includerecipientCity.html>/div> div ng-includerecipientStreet.html>/div> /div> div ng-ifcountry ! JP> div classrow> div ng-includerecipientStreet.html>/div> div ng-includerecipientCity.html>/div> div ng-includerecipientRegion.html>/div> div ng-includerecipientPostal.html>/div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formrecipient.phoneNumber)> label classsr-only forrecipient-phone>{{ShippingPhoneNumber | phrase}}/label> span classplaceholder>{{ShippingPhoneNumber | phrase}}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formrecipient.phoneNumber) namerecipient.phoneNumber typetext ng-modelrecipient.phoneNumber classform-control idrecipient-phone placeholder{{ShippingPhoneNumber | phrase}}/> /div> /div> /div> /div> /div> /div> /div> div classcol-sm-12 ng-classvalidationClass(formrecipient.memo)> div classform-group> label classsr-only forrecipient-memo>{{ShippingPhoneNumber | phrase}}/label> textarea idrecipient-memo namerecipient.memo placeholder{{OptionalMessage | phrase}} typetext classform-control ng-modelrecipient.memo maxlength400 ng-changeresetRemoteValidation(formrecipient.memo)>/textarea> span classrecipient-memo-limit> span ng-show400 - recipient.memo.length ! 1>{{CharactersRemaining | phrase:(400 - recipient.memo.length).toString()}}/span> span ng-show400 - recipient.memo.length 1>{{CharacterRemaining | phrase:(400 - recipient.memo.length).toString()}}/span> /span> /div> /div> /div> /div> /div> /div> /script> !-- Address (US) --> script typetext/ng-template idaddress_US.html> div> div classform-group ng-classvalidationClass(formcontact.addressline1)> label classsr-only forcontact-street>{{ ShippingStreet | phrase }}/label> span classplaceholder>{{ ShippingStreet | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.addressline1) namecontact.addressline1 typetext ng-modelcontact.addressLine1 classform-control idcontact-addressline1 placeholder{{ ShippingStreet | phrase }} aria-label{{ (errorFlagscontact.addressline1 ? EnterYourAddressLine1 : ShippingStreet) | phrase }}/> /div> div idcontact-address-line-1 classerror-message ng-iferrorFlagscontact.addressline1 aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ EnterYourAddressLine1 | phrase }} /div> /div> div classrow> div classcol-xs-7> div classform-group ng-classvalidationClass(formcontact.city)> label classsr-only forcontact-city>{{ ShippingCity | phrase }}/label> span classplaceholder>{{ ShippingCity | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.city) namecontact.city typetext ng-modelcontact.city classform-control idcontact-city placeholder{{ ShippingCity | phrase }} aria-label{{ (errorFlagscontact.city ? EnterYourCity : ShippingCity) | phrase }}/> /div> div idcontact-address-city classerror-message ng-iferrorFlagscontact.city aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ EnterYourCity | phrase }} /div> /div> div classcol-xs-5> div classrelative dropdown-caret ng-ifregionList.US> select aria-labelState ng-classvalidationClass(formcontact.region) ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion namecontact.region classform-control form-group ng-modelcontact.region ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode) aria-label{{ (errorFlagscontact.region ? EnterYourState : ShippingRegion) | phrase }}> option value disableddisabled selectedselected>{{ ShippingRegion | phrase }}/option> option ng-repeatstate in regionList.US ng-valuestate.abbreviation ng-selectedstate.abbreviation contact.region>{{ state.name }}/option> /select> /div> div classform-group ng-classvalidationClass(formcontact.region) ng-if!regionList.US> label classsr-only forcontact-region>{{ ShippingRegion | phrase }}/label> span classplaceholder>{{ ShippingRegion | phrase }}/span> input ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode) namecontact.region typetext ng-modelcontact.region classform-control idcontact-region placeholder{{ ShippingRegion | phrase | optional : countryRequiresRegion}} aria-label{{ (errorFlagscontact.region ? EnterYourState : ShippingRegion) | phrase }}/> /div> div idcontact-address-region classerror-message ng-iferrorFlagscontact.region aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ EnterYourState | phrase }} /div> /div> /div> div classrow> div ng-classrecipient && recipient.selected ? col-xs-12 : col-xs-7> div classform-group ng-classvalidationClass(formcontact.postalCode)> label classsr-only forcontact-postal>{{ ZipCode | phrase }}/label> span classplaceholder>{{ ZipCode | phrase }}/span> input typetel ng-requiredshowAddressField && countryRequiresPostalCode ng-changeresetRemoteValidation(formcontact.postalCode); determineTax(); ng-blursendPostalCodeGa(formcontact.postalCode) namecontact.postalCode ng-modelcontact.postalCode classform-control idcontact-postal placeholder{{ ZipCode | phrase }} aria-label{{ (errorFlagscontact.postalCode ? validZip() : ZipCode) | phrase }}/> /div> div idcard-contact-postalCode-error classerror-message ng-iferrorFlagscontact.postalCode aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validZip() | phrase }} /div> /div> div classcol-xs-5 help-block ng-if!recipient || !recipient.selected aria-livepolite aria-atomictrue> span ng-showpostalTax.calculating classpostal-spinner glyphicon glyphicon-refresh spin>/span> span classpostal-phrase>span>{{ TaxValue | phrase }}/span> span ng-bindtax ng-ifcountry ! US>/span>span ng-bindtax ng-ifcountry US && !taxExempt>/span>span ng-ifcountry US && taxExempt>$0.00/span>/span> /div> /div> /script> !-- States (US) --> script typetext/ng-template idaddress_US_states.html> div classrow> div classcol-xs-5> div classrelative dropdown-caret ng-ifregionList.US> select ng-classvalidationClass(formcontact.region) namecontact.region classform-control form-group ng-modelcontact.region ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode)> option value disableddisabled selectedselected>{{ ShippingRegion | phrase }}/option> option ng-repeatstate in regionList.US ng-valuestate.abbreviation ng-selectedstate.abbreviation contact.region>{{ state.name }}/option> /select> /div> /div> /div> /script>script typetext/ng-template idaddress_AU.html> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.addressline1)> label classsr-only forcontact-addressline1>{{ShippingStreet | phrase}}/label> span classplaceholder>{{ShippingStreet | phrase}}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.addressline1) namecontact.addressline1 typetext ng-modelcontact.addressLine1 classform-control idcontact-addressline1 placeholder{{ShippingStreet | phrase}} ng-minlength{{validationConstants.MIN_LENGTH_AU}} /> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.city)> label classsr-only forcontact-city>{{ShippingCity | phrase}}/label> span classplaceholder>{{ShippingCity | phrase}}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.city) namecontact.city typetext ng-modelcontact.city classform-control idcontact-city placeholder{{ShippingCity | phrase}}/> /div> /div> /div> div classrow> div classcol-xs-12> div classrelative dropdown-caret ng-ifregionList.AU> select ng-classvalidationClass(formcontact.region) namecontact.region classform-control form-group ng-modelcontact.region> option value disableddisabled selectedselected>{{ ShippingRegion | phrase }}/option> option ng-repeatstate in regionList.AU ng-valuestate.abbreviation ng-selectedstate.abbreviation contact.region>{{ state.name }}/option> /select> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.postalCode)> label classsr-only forcontact-postal>{{ShippingPostalCode | phrase}}/label> span classplaceholder>{{ShippingPostalCode | phrase}}/span> input typetext ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresPostalCode ng-changeresetRemoteValidation(formcontact.postalCode) ng-blursendPostalCodeGa(formcontact.postalCode) namecontact.postalCode ng-modelcontact.postalCode classform-control idcontact-postal placeholder{{ShippingPostalCode | phrase}}/> /div> /div> /div>/script> script typetext/ng-template idaddress_JP.html> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.postalCode)> label classsr-only forcontact-postal>{{ ShippingPostalCode | phrase }}/label> span classplaceholder>{{ ShippingPostalCode | phrase }}/span> input typetext ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresPostalCode ng-changeresetRemoteValidation(formcontact.postalCode) ng-blursendPostalCodeGa(formcontact.postalCode) namecontact.postalCode ng-modelcontact.postalCode classform-control idcontact-postal placeholder{{ ShippingPostalCode | phrase }}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.region)> label classsr-only forcontact-region>{{ ShippingRegion | phrase }}/label> span classplaceholder>{{ ShippingRegion | phrase }}/span> input ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode) namecontact.region typetext ng-modelcontact.region classform-control idcontact-region placeholder{{ ShippingRegion | phrase | optional : countryRequiresRegion}}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.city)> label classsr-only forcontact-city>{{ ShippingCity | phrase }}/label> span classplaceholder>{{ ShippingCity | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.city) namecontact.city typetext ng-modelcontact.city classform-control idcontact-city placeholder{{ ShippingCity | phrase }}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.addressline1)> label classsr-only forcontact-addressline1>{{ ShippingStreet | phrase }}/label> span classplaceholder>{{ ShippingStreet | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.addressline1) namecontact.addressline1 typetext ng-modelcontact.addressLine1 classform-control idcontact-street placeholder{{ ShippingStreet | phrase }}/> /div> /div> /div> /script> script typetext/ng-template idaddress_CA.html> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.addressline1)> label classsr-only forcontact-addressline1>{{ ShippingStreet | phrase }}/label> span classplaceholder>{{ ShippingStreet | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.addressline1) namecontact.addressline1 typetext ng-modelcontact.addressLine1 classform-control idcontact-addressline1 placeholder{{ ShippingStreet | phrase }}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.city)> label classsr-only forcontact-city>{{ ShippingCity | phrase }}/label> span classplaceholder>{{ ShippingCity | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.city) namecontact.city typetext ng-modelcontact.city classform-control idcontact-city placeholder{{ ShippingCity | phrase }}/> /div> /div> /div> div classrow> div classcol-xs-12> div classrelative dropdown-caret ng-ifregionList.CA> select aria-labelProvince ng-classvalidationClass(formcontact.region) ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode) namecontact.region classform-control form-group ng-modelcontact.region> option value disableddisabled selectedselected>{{ Province | phrase }}/option> option ng-repeatstate in regionList.CA ng-valuestate.abbreviation ng-selectedstate.abbreviation contact.region>{{ state.name }}/option> /select> /div> div classform-group ng-classvalidationClass(formcontact.region) ng-if!regionList.CA> label classsr-only forcontact-region>{{ Province | phrase }}/label> span classplaceholder>{{ Province | phrase }}/span> input ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode) namecontact.region typetext ng-modelcontact.region classform-control idcontact-region placeholder{{ Province | phrase | optional : countryRequiresRegion}}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.postalCode)> label classsr-only forcontact-postal>{{ ShippingPostalCode | phrase }}/label> span classplaceholder>{{ ShippingPostalCode | phrase }}/span> input typetext ng-requiredshowAddressField && countryRequiresPostalCode ng-changeresetRemoteValidation(formcontact.postalCode); determineTax(); ng-blursendPostalCodeGa(formcontact.postalCode) namecontact.postalCode ng-modelcontact.postalCode ng-patternhandlePatternForPostalCodes classform-control idcontact-postal placeholder{{ ShippingPostalCode | phrase }}/> /div> /div> /div> /script> script typetext/ng-template idaddress_OTHER.html> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.addressline1)> label classsr-only forcontact-addressline1>{{ ShippingStreet | phrase }}/label> span classplaceholder>{{ ShippingStreet | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.addressline1) namecontact.addressline1 typetext ng-modelcontact.addressLine1 classform-control idcontact-addressline1 placeholder{{ ShippingStreet | phrase }}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.city)> label classsr-only forcontact-city>{{ ShippingCity | phrase }}/label> span classplaceholder>{{ ShippingCity | phrase }}/span> input ng-requiredoption.requireShipping || variables.forcePhysicalAddressCollection true ng-changeresetRemoteValidation(formcontact.city) namecontact.city typetext ng-modelcontact.city classform-control idcontact-city placeholder{{ ShippingCity | phrase }}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.region)> label classsr-only forcontact-region>{{ ShippingRegion | phrase }}/label> span classplaceholder>{{ ShippingRegion | phrase }}/span> input ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresRegion ng-changeresetRemoteValidation(formcontact.region, formcontact.postalCode) namecontact.region typetext ng-modelcontact.region classform-control idcontact-region placeholder{{ ShippingRegion | phrase | optional : countryRequiresRegion}}/> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.postalCode)> label classsr-only forcontact-postal>{{ ShippingPostalCode | phrase }}/label> span classplaceholder>{{ ShippingPostalCode | phrase }}/span> input typetext ng-required(option.requireShipping || variables.forcePhysicalAddressCollection true) && countryRequiresPostalCode ng-changeresetRemoteValidation(formcontact.postalCode) ng-blursendPostalCodeGa(formcontact.postalCode) namecontact.postalCode ng-modelcontact.postalCode classform-control idcontact-postal placeholder{{ ShippingPostalCode | phrase }}/> /div> /div> /div> /script> script typetext/ng-template idorderPanelContent.html> div classpanel-heading ng-iffalse> !-- //TODO: when groups done finish panel title logic --> h3 classpanel-title >span classglyphicon glyphicon-shopping-cart>/span> span ng-iffalse > {{OrderSectionTitle | phrase }} /span> /h3> /div> div classpanel-heading ng-iforderGroup.display || variables.enableBuyerSelfServeQuote true && offers.orderArray.length > 0> h1 classpanel-title> span>{{orderGroup.display}}/span> /h1> /div> h1 classpanel-title sr-only ng-if!orderGroup.display>{{ YourOrder | phrase }}/h1> div ng-ifdisplayGiftPurchases && $index 0 classrecipient-block> div classwell total-well ng-includegiftCheckbox.html>/div> /div> div ng-ifgroups.length classrelative> div classapp-update-indicator> span classglyphicon glyphicon-refresh>/span> span classsr-only>{{ Updating | phrase }}/span> /div> div classtable> !-- //begin order level groups. one tbody per group --> div classtable-offer> !-- //begin top level items --> div classtr ng-repeat-startitem in orderGroup.items>/div> !-- //show top level item --> table id{{ item.pid }} classtable no-margin no-padding data-item-row itemitem replitemsreplItems replaceselectionreplaceSelection offerorderGroup ordergrouporderGroup languagelanguageObj>/table> table ng-ifitem.path ordergroup.driver && ordergroup.typesetup-fee classoffer-table width100% data-choose-one-many configoptions ng-repeatordergroup in offers.setupFee itemitem offerorderGroup ordergroupordergroup itemsordergroup.items languagelanguageObj> /table> table ng-ifitem.path ordergroup.driver && ordergroup.typeoptions classoffer-table width100% data-choose-one-many configordergroup.type ng-repeatordergroup in item.groups itemitem offerorderGroup ordergroupordergroup itemsordergroup.replItems languagelanguageObj> /table> table ng-ifitem.path ordergroup.driver && ordergroup.type!options classoffer-table width100% data-choose-one-many configordergroup.type ng-repeatordergroup in offers.configAddonCombined itemitem offerorderGroup ordergroupordergroup itemsordergroup.items languagelanguageObj> /table> !-- //Begin belowdriver offers --> div classtr popover bottom ng-showoffers.belowdriveritem.path.length> 0> div classarrow>/div> div classno-padding no-margin ng-repeat-start group in offers.belowdriveritem.path track by $index > /div> h4 classpopover-title ng-if group.display ng-bind-htmlgroup.display>/h4> div ng-repeat-start itemBelow in group.items classhidden td > /div> table id{{ productId(group) + itemBelow.pid }} classpopover-content table no-padding no-margin data-item-row itemitemBelow replitemsreplItems offergroup languagelanguageObj>/table> table ng-ifsecondaryItem.typesetup-fee classoffer-table width100% data-choose-one-many configoptions ng-repeatsecondaryItem in itemBelow.groups itemitemBelow offergroup ordergroupsecondaryItem itemssecondaryItem.items> /table> table ng-ifsecondaryItem.typeoptions classoffer-table width100% data-choose-one-many configsecondaryItem.type ng-repeatsecondaryItem in itemBelow.groups itemitemBelow offergroup ordergroupsecondaryItem itemssecondaryItem.items> /table> table ng-ifsecondaryItem.type!options && secondaryItem.type!setup-fee classoffer-table width100% data-choose-one-many configsecondaryItem.type ng-repeatsecondaryItem in itemBelow.groups itemitemBelow offergroup ordergroupsecondaryItem itemssecondaryItem.items> /table> div classhidden ng-repeat-end>/div> div classhidden ng-repeat-end>/div> /div> !-- Under popover to give margin --> div classunder-driver-popover ng-showoffers.belowdriveritem.path.length> 0> /div> !-- //begin item level groups --> !-- //bundles are filtered from here --> div classtr group ng-class{hidden: (itemGroup.display null)} ng-repeatitemGroup in item.groups |filter: {type: !bundle} ng-showitemGroups.selections true> div classtd >h4 ng-bind-htmlitemGroup.display>/h4>/div> !-- //show child items --> table classtable group-item ng-repeatitemGroupItem in itemGroup.items |filter: {selected: true} data-item-row itemitemGroupItem offerorderGroup ordergrouporderGroup languagelanguageObj> /table> /div> div ng-repeat-end> /div> !--//end of item in orderGroup.items--> /div> /div> /div> div ng-initdelayRestoreLastFocusedElement()>/div> /script> script typetext/ng-template idgroupNextToDriver.html> div classpanel-heading ng-iffalse> !-- //TODO: when groups done finish panel title logic --> h3 classpanel-title >span classglyphicon glyphicon-shopping-cart>/span> span ng-iffalse > {{OrderSectionTitle | phrase }} /span> /h3> /div> div classpanel-heading ng-ifinnerGroup.display> h3 classpanel-title> span>{{innerGroup.display}}/span> /h3> /div> div ng-ifgroups.length classrelative> div classapp-update-indicator> span classglyphicon glyphicon-refresh>/span> span classsr-only>{{ Updating | phrase }}/span> /div> div> !-- //show top level item --> table classtable data-item-row itemitem replitemsreplItems replaceselectionreplaceSelection offerinnerGroup ordergroupinnerGroup languagelanguageObj>/table> /div> /div> /script> !-- Payment Field Dialog http://scotch.io/tutorials/javascript/angularjs-form-validation --> script typetext/ng-template idpaymentFieldDialog.html> form nameform idorderForm novalidatenovalidate ng-submitnext(form) > fieldset ng-disabledprocessing ng-hidewaitingPopup> div classmodal-header> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 ng-hidestartTrialMessage classmodal-title title-font>{{PaymentInformationTitle | phrase}}/h3> h3 ng-hide!startTrialMessage || trialConcurrencyCheckFound classmodal-title title-font>{{PaymentInformationTrial | phrase}}/h3> h3 ng-hide!trialConcurrencyCheckFound classmodal-title title-font>{{UpgradePaidVersion | phrase}}/h3> /div> div idthree-ds-authentication-wrapper> iframe namethree-ds-authentication idthree-ds-authentication ng-showprocessingThreeDS> /iframe> /div> div classmodal-body popup-inner-content ng-hideprocessingThreeDS> alert typeinfo ng-ifpaymentOptionType ach data-qaach-message> span ng-bind-htmlAchReminder1 | phrase>/span> span ng-bind-htmlAchReminder2 | phrase>/span> /alert> alert typeinfo ng-ifpaymentOptionType pix data-qapix-info-message> {{PixCheckoutReminder | phrase}} /alert> div ng-showmessages.length && !trialConcurrencyCheckFound && !trialConcurrencyShowCustomDivision> alert ng-repeatmsg in messages type{{msg.type}} closecloseMessage($index)> div ng-bind-htmlmsg.phrase | phrase>/div> /alert> /div> div ng-showtrialConcurrencyShowCustomDivision ng-bind-htmltrialConcurrencyMessageCustomDivision styletext-align: justify;>/div> div ng-ifdisplayGiftPurchases && enabledForGift.indexOf(paymentOptionType) > -1 ng-includerecipientDetails.html>/div> h4 ng-ifdisplayGiftPurchases && (recipient.selected && preventRedirect) && displayPurchaserInputs>{{PurchaserInformation | phrase}}/h4> !-- contact-group --> div ng-ifoption.requireContact && !trialConcurrencyCheckFound classcontact-group> div classrow> div classcol-xs-6 ng-if!reverseName> div classform-group ng-classvalidationClass(formcontact.firstName)> span classplaceholder>{{ FirstName | phrase }}/span> input input-model subscribedmailingList.subscribe emailcontact.email lastnamecontact.lastName firstnamecontact.firstName typetext ng-requiredoption.requireContact ng-changetriggerScreenReaderValidation(formcontact.firstName);resetRemoteValidation(formcontact.firstName) namecontact.firstName ng-modelcontact.firstName classform-control idcontact-first-name placeholder{{ FirstName | phrase }} ng-blursendNameGa(formcontact.firstName, formcontact.lastName) aria-invalid{{isFieldValid(formcontact.firstName)}} aria-label{{ (errorFlagscontact.firstName ? EnterYourFirstName : FirstName) | phrase }}> /div> div idcontact-first-name-error classerror-message ng-iferrorFlagscontact.firstName aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ EnterYourFirstName | phrase }} /div> /div> div classcol-xs-6> div classform-group ng-classvalidationClass(formcontact.lastName)> span classplaceholder>{{ LastName | phrase }}/span> input input-model subscribedmailingList.subscribe emailcontact.email lastnamecontact.lastName firstnamecontact.firstName typetext ng-requiredoption.requireContact namecontact.lastName ng-changetriggerScreenReaderValidation(formcontact.lastName);resetRemoteValidation(formcontact.lastName) ng-modelcontact.lastName classform-control idcontact-last-name placeholder{{ LastName | phrase }} ng-blursendNameGa(formcontact.firstName, formcontact.lastName) aria-invalid{{isFieldValid(formcontact.lastName)}} aria-label{{ (errorFlagscontact.lastName ? EnterYourLastName : LastName) | phrase }}> /div> div idcontact-last-name-error classerror-message ng-iferrorFlagscontact.lastName aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ EnterYourLastName | phrase }} /div> /div> div classcol-xs-6 ng-ifreverseName> div classform-group ng-classvalidationClass(formcontact.firstName)> label classsr-only forcontact-first-name>{{ FirstName | phrase }}/label> span classplaceholder>{{ FirstName | phrase }}/span> input input-model subscribedmailingList.subscribe emailcontact.email lastnamecontact.lastName firstnamecontact.firstName typetext ng-requiredoption.requireContact ng-changeresetRemoteValidation(formcontact.firstName) namecontact.firstName ng-modelcontact.firstName classform-control idcontact-first-name placeholder{{ FirstName | phrase }} ng-blursendNameGa(formcontact.firstName, formcontact.lastName) aria-label{{ (errorFlagscontact.firstName ? EnterYourFirstName : FirstName) | phrase }}> /div> div idcontact-first-name-error classerror-message ng-iferrorFlagscontact.firstName aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ EnterYourFirstName | phrase }} /div> /div> /div> div classrow ng-ifvariables.showCompanyField enable || variables.showCompanyField require> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.company)> label classsr-only forcontact-email>{{ Company | phrase }}/label> span classplaceholder>{{ Company | phrase }}/span> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-briefcase>/span>/span> input typetext input-model subscribedmailingList.subscribe emailcontact.email lastnamecontact.lastName firstnamecontact.firstName ng-requiredvariables.showCompanyField require namecontact.company spellcheckoff autocorrectoff ng-changeresetRemoteValidation(formcontact.company) ng-modelcontact.company classform-control idcontact-company placeholder{{ Company | phrase }}> /div> /div> /div> /div> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.email)> span classplaceholder>{{ Email | phrase }}/span> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-envelope>/span>/span> input typeemail input-model subscribedmailingList.subscribe emailcontact.email lastnamecontact.lastName firstnamecontact.firstName ng-requiredoption.requireContact namecontact.email autocompletetypeemail spellcheckoff autocorrectoff ng-blurtriggerScreenReaderValidation(formcontact.email);sendEmailGa(formcontact.email,Payment Window);sendSiftEmail(formcontact.email.$viewValue) ng-changeresetRemoteValidation(formcontact.email, formrecipient.email) ng-modelcontact.email classform-control idcontact-email placeholder{{ Email | phrase }} aria-invalid{{isFieldValid(formcontact.email)}} aria-label{{ (errorFlagscontact.email ? validEmail() : Email) | phrase }} ng-disabledtrialConcurrencyEmailDisabled> /div> div idcontact-email-error classerror-message ng-iferrorFlagscontact.email aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validEmail() | phrase }} /div> /div> /div> /div> /div> !-- //end contact-group --> !-- // Mercado Pago - group --> div ng-ifcountry BR && (option.type mercadopago || variables.iofEbanxIsProcessor true) classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcpfNumber)> input typetext ng-required(option.type mercadopago && country BR) || (option.type card && currency BRL) namecpfNumber autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff classform-control form-group ng-modelcpfNumber ng-changeresetRemoteValidation(formcpfNumber, formcpfNumber); triggerScreenReaderValidation(formcpfNumber) placeholder{{ mercadopago.cpfNumber | phrase }} ng-modelcpfNumber/> /div> /div> /div> !-- //end Mercado Pago - group --> !-- //ach-group --> div ng-ifoption.type ach classach-group> !-- Account type row --> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formach.accountType)> div classrelative dropdown-caret> select ng-classvalidationClass(formach.accountType) nameach.accountType classform-control form-group ng-modelach.accountType ng-changeresetRemoteValidation(formach.accountType, formach.accountType); triggerScreenReaderValidation(formach.accountType) ng-requiredtrue ng-modelach.accountType> option value disableddisabled selectedselected>{{AchAccountType | phrase}}/option> option valuechecking>{{AchChecking | phrase}}/option> option valuesavings>{{AchSavings | phrase}}/option> /select> /div> /div> visually-hidden-span element-idach.accountType-validation-msg>/visually-hidden-span> /div> /div> !-- Routing number row --> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formach.routingNum)> input typetel ng-requiredtrue nameach.routingNum autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff ng-pattern/^\d{8,9}$/ classform-control form-group ng-modelach.routingNum idrouting-number ng-changeresetRemoteValidation(formach.routingNum, formach.routingNum); triggerScreenReaderValidation(formach.routingNum) placeholder{{ AchRoutingNumberPlaceholder | phrase }} ng-modelach.routingNum ns-popover ns-popover-templateachRoutingNumberHintPopover.html ns-popover-plainfalse ns-popover-placementtop|right ns-popover-hide-on-inside-clicktrue only-digit-input> /div> visually-hidden-span element-idach.routingNum-validation-msg>/visually-hidden-span> /div> /div> !-- Account number row --> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formach.accountNum)> input typetel ng-requiredtrue nameach.accountNum autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff ng-pattern/^\d{1,17}$/ classform-control form-group ng-modelach.accountNum idaccount-number ng-changeresetRemoteValidation(formach.accountNum, formach.accountNum); triggerScreenReaderValidation(formach.accountNum) placeholder{{ AchAccountNumberPlaceholder | phrase }} ng-modelach.accountNum ns-popover ns-popover-templateachAccountNumberHintPopover.html ns-popover-plainfalse ns-popover-placementtop|right ns-popover-hide-on-inside-clicktrue only-digit-input/> /div> /div> /div> !-- Confirm Account number row --> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClassConfirmField(formach.confirmAccountNumber, formach.accountNum)> input typetel ng-requiredtrue nameach.confirmAccountNum autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff ng-pattern/^\d{1,17}$/ classform-control form-group ng-modelach.confirmAccountNum idconfirm-account-number ng-changeresetRemoteValidation(formach.confirmAccountNumber, formach.confirmAccountNumber); triggerScreenReaderValidation(formach.confirmAccountNumber) placeholder{{ AchConfirmAccountNumberPlaceholder | phrase }} ng-modelach.confirmAccountNumber only-digit-input/> /div> /div> visually-hidden-span element-idach.confirmAccountNumber-validation-msg>/visually-hidden-span> /div> /div> !--SEPA Iban --> div classrow ng-ifoption.requireIban> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.iban)> label classsr-only forsepa-iban>{{Iban | phrase}}/label> span classplaceholder>{{Iban | phrase}}/span> div classform-group> input typetext subscribedmailingList.subscribe namesepa.iban input-model ibansepa.iban ng-requiredoption.requireContact autocompletetypeemail spellcheckoff autocorrectoff ng-changeresetRemoteValidation(formsepa.iban, formrecipient.iban) ng-modelsepa.iban classform-control idsepa-iban placeholder{{IBAN | phrase}}> /div> /div> /div> /div> !-- //card-group --> div ng-ifoption.requireCard classcard-group> !--// CC row --> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(formcard.number)> span classplaceholder>{{ CardNumber | phrase }}/span> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-credit-card>/span>/span> input typetext inputmodenumeric ng-requiredoption.requireCard namecard.number credit-card-input credit-card-typetrue autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff oninputthis.value this.value.replace(/^0-9 /g, ) ng-changeresetRemoteValidation(formcard.number); formatCardNumber() ng-pattern/^\d\d +\d$/ ng-modelcard.number classform-control idcard-number ng-blur triggerScreenReaderValidation(formcard.number);sendCardGa(formcard.number, formcard.month, formcard.year,formcard.security) placeholder{{ CardNumberPlaceholder | phrase }} aria-invalid{{isFieldValid(formcard.number)}} aria-label{{ (errorFlagscard.number ? validCard() : CardNumber) | phrase}}/> /div> div idcard-number-error classerror-message ng-iferrorFlagscard.number aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validCard() | phrase }} /div> /div> /div> /div> !-- //Begin Expire + Code row --> div classrow> div classcol-sm-6> div classform-group ng-classvalidationClass(formcard.month, formcard.year)> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-calendar>/span>/span> input typetext inputmodenumeric ng-requiredoption.requireCard namecard.month classform-control form-control-half-inline autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff oninputthis.value this.value.replace(/^0-9 /g, ) ng-changetriggerScreenReaderValidation(formcard.month);resetRemoteValidation(formcard.month, formcard.year) ng-pattern/^\d{1,2}$/ ng-modelcard.month idcard-expire-month ng-blur sendCardGa(formcard.number, formcard.month, formcard.year,formcard.security) placeholder{{ CardExpireMonthPlaceholder | phrase }} aria-invalid{{isFieldValid(formcard.number)}} aria-label{{ (errorFlagscard.month ? validMonthAndYear() : CardExpireMonthPlaceholder) | phrase }}/> input typetext inputmodenumeric ng-requiredoption.requireCard namecard.year classform-control form-control-half-inline autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff oninputthis.value this.value.replace(/^0-9 /g, ) ng-changetriggerScreenReaderValidation(formcard.year);resetRemoteValidation(formcard.year, formcard.month) ng-pattern/^\d{2,4}$/ ng-modelcard.year idcard-expire-year ng-blur sendCardGa(formcard.number, formcard.month, formcard.year,formcard.security) placeholder{{ CardExpireYearPlaceholder | phrase }} aria-invalid{{isFieldValid(formcard.number)}} aria-label{{ (errorFlagscard.month? validMonthAndYear() : CardExpireYearPlaceholder) | phrase}}/> /div> div idcard-month-year-error classerror-message ng-iferrorFlagscard.month aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validMonthAndYear() | phrase }} /div> /div> /div> div classcol-sm-6> div classform-group ng-classvalidationClass(formcard.security)> label classsr-only forcard-security>{{CardSecurityCode | phrase }}/label> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-lock>/span>/span> input typetext idcard-security namecard.security ng-requiredoption.requireCard ng-modelcard.security classform-control ng-pattern/^(\*\w+|0-9{3,4})$/ autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff stylefont-size: smaller ng-changetriggerScreenReaderValidation(formcard.security);resetRemoteValidation(formcard.security) placeholder{{ CardSecurityCodePlaceholder | phrase }} ns-popover ns-popover-templatecardSecurityCodePopover.html ns-popover-plainfalse ng-blur sendCardGa(formcard.number, formcard.month, formcard.year,formcard.security) ns-popover-placementtop|right ns-popover-hide-on-inside-clicktrue aria-invalid{{isFieldValid(formcard.security)}} aria-label{{errorFlagscard.security? validCvc() : CardSecurityCode | phrase}}/> label classsr-only forcard-security ng-hideccType amex>. {{CardSecurityCodeHint | phrase}}/label> label classsr-only forcard-security ng-showccType amex>. {{CardSecurityCodeHintAmex | phrase}}/label> /div> div idcard.security-error classerror-message ng-iferrorFlagscard.security aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validCvc() | phrase }} /div> /div> /div> /div> !-- //End Expire + Code row --> /div> !-- //end card-group --> !-- Country --> input typehidden namecontact.country ng-initcontact.countrycountry ng-modelcontact.country ng-valuecountry/> !-- Force phone number field --> div classrow ng-if(variables.forcePhoneNumberCollection true || option.requirePhoneNumber) && !trialConcurrencyCheckFound> div classcol-xs-12> div classform-group ng-classvalidationClass(formcontact.phoneNumber)> label classsr-only forcontact-phone>{{ShippingPhoneNumber | phrase}}/label> span classplaceholder>{{ShippingPhoneNumber | phrase}}/span> input ng-requiredvariables.forcePhoneNumberCollection true || option.requirePhoneNumber ng-changetriggerScreenReaderValidation(formcontact.phoneNumber);resetRemoteValidation(formcontact.phoneNumber) namecontact.phoneNumber typetext ng-modelcontact.phoneNumber classform-control idcontact-phone placeholder{{ShippingPhoneNumber | phrase}} aria-invalid{{isFieldValid(formcontact.phoneNumber)}} aria-label{{ (errorFlagscontact.phoneNumber? validPhoneNumber() : ShippingPhoneNumber) | phrase}}/> /div> div idcontact-phone-number classerror-message ng-iferrorFlagscontact.phoneNumber aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validPhoneNumber() | phrase }} /div> /div> /div> !-- /forced-phone-number --> !-- Billing Postal Code --> !-- postal-group --> div ng-if((option.requireBillingPostal || option.requireShipping) && !preventRedirect) || (variables.forcePhysicalAddressCollection false && !option.requireShipping && !containsPhysicalProduct && !recipient.selected) classbilling-postal-group> div classrow ng-if(country US || country CA) && !trialConcurrencyCheckFound> div classform-group ng-classvalidationClass(formcontact.postalCode), recipient && recipient.selected ? col-sm-12 : col-sm-7> label aria-hiddentrue classsr-only forpostal>{{ ZipCode | phrase }}/label> span aria-hiddentrue classplaceholder>{{ ZipCode | phrase }}/span> input ng-ifcountry ! CA ng-requiredoption.requireBillingPostal || (variables.forcePhysicalAddressCollection false && !option.requireShipping && !recipient.selected && !containsPhysicalProduct) namecontact.postalCode ng-modelcontact.postalCode classform-control idpostal ng-changetriggerScreenReaderValidation(formcontact.postalCode);resetRemoteValidation(formcontact.postalCode); determineTax(); ng-blursendPostalCodeGa(formcontact.postalCode) autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff placeholder{{ ZipCode | phrase }} typetext inputmodenumeric oninputthis.value this.value.replace(/^0-9 /g, ) aria-invalid{{isFieldValid(formcontact.postalCode)}} aria-label{{ (errorFlagscontact.postalCode ? validZip() : ZipCode ) | phrase }}/> input ng-ifcountry CA ng-patternhandlePatternForPostalCodes ng-requiredoption.requireBillingPostal || (variables.forcePhysicalAddressCollection false && !option.requireShipping && !recipient.selected && !containsPhysicalProduct) namecontact.postalCode ng-modelcontact.postalCode classform-control idpostal ng-changetriggerScreenReaderValidation(formcontact.postalCode);resetRemoteValidation(formcontact.postalCode); determineTax(); ng-blursendPostalCodeGa(formcontact.postalCode) autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff placeholder{{ ShippingPostalCode | phrase }} typetext aria-invalid{{isFieldValid(formcontact.postalCode)}} aria-label{{ (errorFlagscontact.postalCode ? validZip() : ShippingPostalCode) | phrase }}/> /div> div classcol-sm-5 help-block ng-if!recipient || !recipient.selected> span ng-showpostalTax.calculating classpostal-spinner glyphicon glyphicon-refresh spin>/span> span classpostal-phrase>span>{{ TaxValue | phrase }}/span> span ng-if!taxExempt ng-bindtax>/span>span ng-iftaxExempt>$0.00/span>/span> /div> /div> div classform-group ng-classvalidationClass(formcontact.postalCode) ng-ifcountry ! US && country ! CA && option.requireBillingPostal> label classsr-only forpostal>{{ BillingPostalCode | phrase }}/label> span classplaceholder>{{ BillingPostalCode | phrase }}/span> input ng-requiredoption.requireBillingPostal && country ! US && country ! CA typetext namecontact.postalCode ng-modelcontact.postalCode classform-control idpostal ng-changeresetRemoteValidation(formcontact.postalCode) ng-blursendPostalCodeGa(formcontact.postalCode) autocompleteoff autocorrectoff spellcheckoff autocapitalizeoff placeholder{{ BillingPostalCode | phrase }} aria-label{{ (errorFlagscontact.postalCode ? validZip() : BillingPostalCode) | phrase }}/> /div> div idcard-contact-postalCode-error classerror-message ng-iferrorFlagscontact.postalCode aria-livepolite aria-atomictrue tabindex-1 rolealert> {{ validZip() | phrase }} /div> /div> !-- / postal-group --> !-- Shipping / Recipient Information --> div ng-if(showAddressField || containsPhysicalProduct) && preventRedirect> div classpanel panel-custom panel-default > div classpanel-heading ng-ifoption.requireShipping && option.type ! ach && (!recipient || !recipient.selected) && option.type> h3 classpanel-title>{{ ShippingTitle | phrase }}/h3> /div> div classpanel-heading ng-if(!option.requireShipping || (recipient && recipient.selected)) || (option.requireShipping && option.type ach)> h3 classpanel-title>{{ BillingAddress | phrase }}/h3> /div> div classpanel-body> div idaddress ng-includegetAddressTemplate()>/div> div classrow> div classcol-xs-12> div classcountry-icon> img ng-src{{ countryIcon() }} classcountry-flag/> span ng-bind-htmlcountryDisplay>/span> /div> /div> /div> /div> /div> /div> !-- / address-group --> div ng-ifcontainsAdhoc classwell well-sm text-muted subscriptions-well text-center> {{OrderContainsAdhoc | phrase}} /div> div classrow ng-ifoption.type sepa> div classcol-md-12> p classsepaCheckoutMessage compilesepaData.checkoutTemplate>/p> /div> /div> div classsmall text-muted ng-ifcountry BR> hr classmargin-bottom-hr/> p ng-ifoption.type pix || option.type mercadopago || variables.iofEbanxIsProcessor true>{{ IofFeesDisclaimer | phrase | format: variables.iofRateEbanx }}/p> p ng-ifoption.type ! pix && option.type ! wire && option.type ! mercadopago && variables.iofEbanxIsProcessor false>{{ IofFeesDisclaimer | phrase | format: variables.iofRateNonEbanx }}/p> /div> div classrow ng-ifoption.requireCustomerReference> div classcol-xs-12> div classform-group ng-classvalidationClass(formcustomerReference.id) > label classsr-only>{{CustomerReference | phrase}}/label> span classplaceholder>{{CustomerReference | phrase}}/span> input typetext classform-control ng-changeresetRemoteValidation(formcustomerReference.id) input-model namecustomerReference.id ng-modelcustomerReference.id classform-control idcustomer-reference placeholder{{CustomerReference | phrase}}> /div> /div> /div> /div> !-- / modal-body --> div classmodal-footer popup-inner-content ng-hideprocessingThreeDS> !--PayPal display here--> paypal-button ng-ifpaymentOptionType paypal && hasSiteLevelFeatureFlag(paypal.in.context.checkout)>/paypal-button> div ng-ifpaymentOptionType ! paypal || (paymentOptionType paypal && !hasSiteLevelFeatureFlag(paypal.in.context.checkout))> alert idachNachaCheckBox ng-if(country US || country CA) && paymentOptionType ach typenone> div idachNachaCheckBoxContainer classrow> div classcol-xs-1 text-center> input ng-requiredtrue ng-modelachNacha idach-nacha-checkbox typecheckbox ng-changeachNachaOnChange()/> /div> div classcol-xs-11 text-left> p>{{AchNacha | phrase}}/p> /div> /div> /alert> !-- UPI --> div> !-- For mobile UPI payments, we display a list of mobile apps to select --> div ng-showmobileDevice()> div classrow payment-button-row-upi-container> !-- PhonePe button --> button classbtn placeOrderBtn payment-button-upi-phonepe ng-clickselectedMobilePaymentApp(ppe) ng-hideprocessing ng-ifpaymentOptionType upi && !priceFree(total) typesubmit> img classpay-button-image srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/phone-pe.svg alt /> span>{{PhonePe | phrase}}/span> img classpay-button-image srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/ArrowSquareOut.svg alt /> /button> /div> div classrow payment-button-row-upi-container> !-- Gpay button --> button classbtn placeOrderBtn payment-button-upi-gpay ng-clickselectedMobilePaymentApp(gpay) ng-hideprocessing ng-ifpaymentOptionType upi && !priceFree(total) typesubmit> img classpay-button-image srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/google-pay-seeklogo.svg alt /> span>{{Gpay | phrase}}/span> img classpay-button-image srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/ArrowSquareOut.svg alt /> /button> /div> div classrow payment-button-row-upi-container> !-- Paytm button --> button classbtn placeOrderBtn payment-button-upi-paytm ng-clickselectedMobilePaymentApp(paytmmp) ng-hideprocessing ng-ifpaymentOptionType upi && !priceFree(total) typesubmit> img classpaytm-button-image srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/paytm.svg alt /> span>{{PayTm | phrase}}/span> img classpay-button-image srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/ArrowSquareOut-Grey.svg alt /> /button> /div> /div> !-- Web Browser UPI Experience --> div ng-hidemobileDevice()> button ng-hideprocessing ng-if paymentOptionType upi && !priceFree(total) typesubmit classbtn placeOrderBtn pay-button>{{GenerateQrCode | phrase}}/button> /div> /div> button ng-hideprocessing ng-ifpaymentOptionType ! free && paymentOptionType ! upi && paymentOptionType ! purchaseorder && !priceFree(total) && country ! US typesubmit classbtn placeOrderBtn pay-button>{{Pay | phrase:totalWithTax }}span classglyphicon glyphicon-chevron-right>/span>/button> button ng-hideprocessing ng-ifpaymentOptionType ! free && paymentOptionType ! upi && paymentOptionType ! purchaseorder && !priceFree(total) && country US && !taxExempt typesubmit classbtn placeOrderBtn pay-button>{{Pay | phrase:totalWithTax }}span classglyphicon glyphicon-chevron-right>/span>/button> button ng-hideprocessing ng-ifpaymentOptionType ! free && paymentOptionType ! upi && paymentOptionType ! purchaseorder && !priceFree(total) && country US && taxExempt typesubmit classbtn placeOrderBtn pay-button>{{Pay | phrase:total }}span classglyphicon glyphicon-chevron-right>/span>/button> button ng-hideprocessing ng-ifpaymentOptionType free && !startTrialMessage typesubmit classbtn placeOrderBtn pay-button>{{ PlaceYourOrder | phrase }}span classglyphicon glyphicon-chevron-right>/span>/button> button ng-hideprocessing ng-ifpaymentOptionType free && startTrialMessage && !trialConcurrencyCheckFound typesubmit classbtn placeOrderBtn pay-button stylecolor:#ffffff; background-color: #008AFF; width:100%>{{ StartFreeTrial | phrase }}/button> button ng-hideprocessing || isConfirmingInformation ng-ifpaymentOptionType free && currentInTrial && trialConcurrencyCheckFound typebutton ng-clicktrialConcurrencyRedirect(trialConcurrencyRedirectUrl) classbtn placeOrderBtn pay-button stylecolor:#ffffff; background-color: #008AFF; width:100%>{{Okay | phrase }}span>/span>/button> button ng-hideprocessing ng-ifpaymentOptionType ! free && paymentOptionType ! purchaseorder && priceFree(total) typesubmit classbtn placeOrderBtn pay-button>{{ SavePaymentDetails | phrase }}span classglyphicon glyphicon-chevron-right>/span>/button> button ng-hideprocessing ng-ifpaymentOptionType purchaseorder typesubmit classbtn placeOrderBtn pay-button>{{GenerateInvoice | phrase}}span classglyphicon glyphicon-chevron-right>/span>/button> /div> div>span classglyphicon glyphicon-refresh spin total-pay-refresh>/span>span classsr-only>{{ WaitRedirectTitle | phrase }}/span>/div> /div> div classmodal-footer popup-inner-content ng-hide!showAmPortalButton> div styletext-align: left; padding: 0px 0px 10px 0px; font-weight: 400> {{WantToPayLaterGoAMPortal | phrase}} /div> button ng-hideprocessing ng-ifpaymentOptionType free && currentInTrial && trialConcurrencyCheckFound typebutton ng-clicktrialConcurrencyRedirect(trialConcurrencyAmPortalUrl) classbtn pay-button stylecolor: #008AFF; background-color: #ffffff; width:100%; border: 2px solid #008AFF;>{{GoToAccountManagementPortal | phrase}}span>/span>/button> /div> /fieldset> /form> /script> !-- Template for suggested offers --> script typetext/ng-template idofferTemplate.html> div classpanel panel-custom panel-default > div classpanel-body> table ng-class{table-small: itemType small, offer-table: itemType ! small} > tr> td classoffer-cell aligncenter valigncenter classbottom-padding left-right-padding ng-class{fixed-height-small: itemType small, fixed-height-large: itemType ! small}> div classoffer-image ng-styleimageStyle(offerItem)>/div> /td> td valigncenter ng-class{fixed-height-small: itemType small, fixed-height-large: itemType ! small}> div classbottom-white-gradient offer-max-height ng-class{small-max-height : itemType small, large-max-height : itemType large, large-single-max-height : itemType large-single}> div classitem-secondary-offer-display> strong classoffer-title> span ng-hideofferItem.description.full ng-bind-htmlofferItem.display>/span> a ng-showofferItem.description.full ng-clickshowDescription(offerItem) href ng-bind-htmlofferItem.display>/a> span classglyphicon glyphicon-search item-description-tooltip ng-showofferItem.description.tooltip tooltip-placementtop tooltip-html-unsafe{{ offerItem.description.tooltip }}>/span> /strong> !-- //Custom badges from attributes --> span ng-if item.bundle classlabel label-success label-as-badge> {{Bundle | phrase }}/span> span ng-if item.attributes.customBadge ng-stylecustomColor(item.attributes.customBadgeColor) classlabel label-as-badge custom-badge> {{item.attributes.customBadge}} /span> /div> div classtext-muted ng-showofferItem.description.summary ng-bind-htmlofferItem.description.summary>/div> div classsmall ng-showofferItem.terms ng-bind-htmlofferItem.terms>/div> /div> table ng-showitemType large-single classno-padding> tr> td classno-padding> button classbtn ng-clickacceptOffer(offerItem, offer.type) ng-classBtnClass(offer)> span ng-showofferItem.description.action ng-bind-htmlofferItem.description.action>/span> span ng-show!offerItem.description.action> {{ Add | phrase }} /span> /button> /td> td> div classprice-narrow> !--//old price--> span classtext-muted ng-ifofferItem.unitDiscountValue> small>del> {{ offerItem.priceTotal}}/del> /small> /span> !--//new price--> div> strong classprice {{offerItem.total |priceColor}}>{{ offerItem.total |price }}/strong> /div> /div> /td> /tr> /table> /td> /tr> tr classprice-action-block ng-hideitemType large-single> td aligncenter classv-center> div classprice-narrow> !--//old price--> span classtext-muted ng-ifofferItem.unitDiscountValue> small>del> {{ offerItem.priceTotal}}/del> /small> /span> !--//new price--> strong classprice {{offerItem.total |priceColor}}>{{ offerItem.total |price }}/strong> /div> /td> td alignleft> button classbtn ng-clickacceptOffer(offerItem, offer.type) ng-classBtnClass(offer)> span ng-showofferItem.description.action ng-bind-htmlofferItem.description.action>/span> span ng-show!offerItem.description.action> {{ Add | phrase }} /span> /button> /td> /tr> /table> /div> /div> /script>!-- UPI QR Code Payment Widget Dialog -->script typetext/ng-template idqrCodeWidgetUpi.html> div classmodal-header> !-- x Button to close modal --> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h2 classmodal-title title-font>{{widgetTitlePhrase | phrase}}/h2> /div> div classmodal-body> !-- Order Subtotal --> div classrow payment-row> div classcol-xs-6 text-muted text-left> strong>{{OrderSubtotal | phrase}}:/strong> /div> div classcol-xs-6 text-muted text-right> {{total}} /div> /div> !-- Order Tax --> div classrow payment-row ng-iftax> div classcol-xs-6 text-muted text-left> strong>{{Tax | phrase}}:/strong> /div> div classcol-xs-6 text-muted text-right> {{tax}} /div> /div> !-- Order Total --> div classrow payment-row> div classcol-xs-6 price text-muted text-left> strong>{{Total | phrase}}:/strong> /div> div classcol-xs-6 price text-muted text-right> {{totalWithTax}} /div> /div> hr classdivider>/hr> !-- message: Scan & Pay with your favorite UPI app --> p classtext-muted text-center ng-bind-htmlPaymentUpiQrScanAndPay | phrase>{{PaymentUpiQrScanAndPay | phrase}}/p> !-- display all the different payment apps compatible with the displayed QR code --> div classrow payment-icon-row> div classcol-xs-6 qr-payment-mobile-app-display google-pay-seek>/div> div classcol-xs-6 qr-payment-mobile-app-display phone-pe>/div> div classcol-xs-6 qr-payment-mobile-app-display paytm>/div> /div> !-- Display QR code --> div classexpired-qr-code-container ng-ifqrValid> img classimg-qr ng-src{{ url }} altQR Code /> /div> div classexpired-qr-code-container ng-if!qrValid> img classimg-qr ng-srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/payment/expired_qr_code_w_tag.svg altExpired QR img /> /div> !-- QR Code timer label - expires in 10:00 minutes --> p classtext-muted text-center> {{PaymentQrTimer | phrase}} span classtext-primary>{{formattedTime}}/span> /p> div classpay-button-wrapper pay-button-full-width> button ng-clickregenerateQrCode() ng-if!qrValid classbtn placeOrderBtn pay-button payment-button-upi> span>{{GenerateQrCode | phrase}}/span> /button> /div> /div>/script> !-- Payment Widget Dialog --> script typetext/ng-template idwidgetDialog.html> div classmodal-header> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 classmodal-title title-font>{{widgetTitlePhrase | phrase}}/h3> /div> div classmodal-body> iframe ng-src{{url}} width{{widgetWidth}} height{{widgetHeight}} scrollingauto allowtransparencytrue frameborder0/> /div> /script> script typetext/ng-template id tooltipVolumeDiscountTpl.html> div> div ng-repeattier in item.discount.data.tiers> span ng-iftier.percent>{{tier.quantity}}+ | -{{tier.percent}}/span> span ng-iftier.amount>{{tier.quantity}}+ | -{{tier.amount}}/span> /div> /div> /script> script typetext/ng-template id tooltipVolumePricingTiersTpl.html> div classvolume-pricing-tiers> div classarrow>/div> div ng-repeattier in item.pricing.volumePricingTiers> span classsmall stylefloat: left> {{tier.quantityDisplay}} /span> span classsmall stylefloat: right> {{tier.amountDisplay}} /span> /div> /div> /script> script typetext/ng-template id price-row.html> !--//old price --> small classprice-item text-muted ng-ifitem.unitDiscountValue>del> {{item.price}}/del> /small> div classprice-row> !--//price--> strong ng-ifitem.pricing.quantity allow && item.subscription.intervalUnit adhoc ng-hideshowTerms && item.unitPriceValue 0 && variables.hideFree true && item.unitDiscountValue 0 classprice-item price {{item.unitPrice |priceColor}}>{{ item.unitPrice }}/strong> strong ng-ifitem.pricing.quantity allow && item.subscription.intervalUnit ! adhoc ng-hideshowTerms && item.unitPriceValue 0 && variables.hideFree true && item.unitDiscountValue 0 classprice-item price {{item.unitPrice |priceColor}}>{{ item.unitPrice |price }}/strong> !--//Total price for all items if quantity locked or hidden--> strong ng-if!(item.pricing.quantity allow) ng-hideshowTerms && item.unitPriceValue 0 && variables.hideFree true && item.unitDiscountValue 0 classprice-item price {{item.total |priceColor}}>{{ item.total |price }}/strong> div ng-includequantity.html>/div> /div> !--//end of price-row-div--> !--//Volume pricing --> div ng-showitem.selected && item.discount.data.tiers.length>0 ng-includevolume-pricing-discount.html> /div> div ng-showitem.selected && item.volumePricingAvailable ng-includevolume-pricing-tiers.html> /div> !-- //You save text --> div ng-showitem.selected && item.discountPercent && item.discountTotalValue ! 0 classnowrap-text price-item text-success small> div>{{SavingsTitle | phrase}} {{ item.discountTotal }} ({{ item.discountPercent }}) /div> /div> !--//Coupon discount reason text --> div ng-showitem.discount.reason> p class price-item small text-muted> {{item.discount.reason}} /p> /div> !--//Unselected - Button with action--> !--//List page only- show if enabled in options--> div ng-hideshowTerms classlist-add-product-btn ng-includelist-add-product-btn.html>/div> /script> script typetext/ng-template idabandonmentPopup.html> div classmodal-header no-border ng-class{text-center: variables.popupHeadingAlign center, text-right: variables.popupHeadingAlign right}> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 classmodal-title title-font> {{ variables.popupTitle }} /h3> /div> div classmodal-body ng-class{text-center: variables.popupTextAlign center, text-right: variables.popupTextAlign right}> p ng-bind-htmlvariables.popupText> /p> !--form name popupForm ng-if variables.popupEmailReminder classform-group ng-classvalidationClass(popupFormcontact.email)> label classsr-only forcontact-email>{{ Email | phrase }}/label> span classplaceholder>{{ Email | phrase }}/span> div classinput-group ng-classvalidationClass(popupFormcontact.email)> span classinput-group-addon>span classglyphicon glyphicon-envelope>/span>/span> input typeemail input-model subscribedmailingList.subscribe emailcontact.email namecontact.email autocompletetypeemail spellcheckoff autocorrectoff ng-changeresetRemoteValidation(popupFormcontact.email) ng-blursendEmailGa(popupFormcontact.email,Homepage) ng-modelcontact.email classform-control idcontact-email placeholder{{ Email | phrase }}> /div> /form>--> !--button ng-if variables.popupEmailReminder classbtn btn-primary> Email purchase link /button>--> div classpopup-image ng-showvariables.popupImage> /div> /div> div classmodal-footer no-border ng-class{text-center: variables.popupButtonAlign center, text-left: variables.popupButtonAlign left}> button ng-hidevariables.popupCoupon ng-ifoffers.orderArray.length>0 classbtn placeOrderBtn ng-clickcompleteOrder()> {{Abandonment.CompleteYourOrder | phrase}} /button> button ng-showvariables.popupCoupon ng-ifoffers.orderArray.length>0 classbtn placeOrderBtn ng-clickpurchaseWithDiscount()> {{Abandonment.PurchaseWithDiscount| phrase}} /button> button ng-ifoffers.orderArray.length 0 classbtn placeOrderBtn ng-clickcancel()> {{Close| phrase}} /button> /div> /script> script typetext/ng-template idcardSecurityCodePopover.html> div classarrow>/div> div aria-livepolite rolenote credit-card-type-class classmodal-body card-security-code-popover small> span ng-hideccType amex>{{CardSecurityCodeHint | phrase}}/span> span ng-showccType amex>{{CardSecurityCodeHintAmex | phrase}}/span> i classcvv-hint>/i> /div> /script> script typetext/ng-template id achRoutingNumberHintPopover.html> div classarrow>/div> div aria-livepolite rolenote classmodal-body ach-hint-popover small> i classach-routing-hint>/i> p>{{achRoutingHint | phrase}}/p> /div> /script> script typetext/ng-template id achAccountNumberHintPopover.html> div classarrow>/div> div aria-livepolite rolenote classmodal-body ach-hint-popover small> i classach-account-num-hint>/i> p>{{achAccountHint | phrase}}/p> /div> /script> script typetext/ng-template idrequireEmail.html> form nameemailOnlyForm novalidatenovalidate ng-submitproceedWithEmail(emailOnlyForm)> fieldset ng-disabledprocessing> div classmodal-header> {{EnterEmail | phrase}} /div> div classmodal-body small-bottom> !-- //contact-group --> div classrow> div classcol-xs-12> div classform-group ng-classvalidationClass(emailOnlyFormcontact.email)> label classsr-only forcontact-email>{{ Email | phrase }}/label> !--span classplaceholder>{{ Email | phrase }}/span--> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-envelope>/span>/span> input typeemail input-model subscribedmailingList.subscribe emailcontact.email lastnamecontact.lastName firstnamecontact.firstName ng-requiredoption.requireContact namecontact.email autocompletetypeemail spellcheckoff autocorrectoff ng-changeresetRemoteValidation(emailOnlyFormcontact.email) ng-modelcontact.email classform-control idcontact-email placeholder{{ Email | phrase }} ng-blursendEmailGa(emailOnlyFormcontact.email);sendSiftEmail(formcontact.email.$viewValue)> /div> /div> /div> /div> !-- // end contact-group --> /div> !-- // end modal-body --> div classmodal-footer no-top> button typesubmit classbtn btn-primary pay-button>{{ Continue | phrase }} span classglyphicon glyphicon-chevron-right>/span>/button> /div> /fieldset> /form> /script> script typetext/ng-template idtestMode.html> div classarrow>/div> div classmodal-body text-center> p>You are accessing this storefront in test mode. You can purchase products using the card number/p> p>code>4242 4242 4242 4242/code>/p> p>and a hrefhttps://docs.fastspring.com/activity-events-orders-and-subscriptions/test-orders?utm_sourceStore&utm_mediumTest_Instructions_Popup&utm_contentFoundation&utm_campaignStore_Traffic classunderline-link target_blank relnoopener noreferrer>CVC code found in the dashboard/a>/p> /div> /script>script typetext/ng-template idgenerateQuoteModal.html> div ng-includecompletedfalse ?generateQuote.html:completedQuote.html>/div>/script>script typetext/ng-template idgenerateQuote.html> form nameform ng-submitgenerateQuote(form)> div classmodal-header no-border> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 classmodal-title title-font> {{GenerateQuoteTitle | phrase}}/h3> /div> div classmodal-body popup-inner-content> div classrecipient-contact> div classrow> div classcol-md-12> div classform-group ng-classvalidationClass(formquoteRecipientEmail)> label classsr-only forrecipient-email>{{Email | phrase}}/label> div classinput-group> span classinput-group-addon>span classglyphicon glyphicon-envelope>/span>/span> input idquote-recipient-email typeemail classform-control placeholder{{Email | phrase}} namequoteRecipientEmail ng-modelquoteRecipientEmail requiredrequired ng-changeresetRemoteValidation(formquoteRecipientEmail)/> /div> /div> /div> /div> div classrow> div classcol-xs-6 ng-if!reverseName> div classform-group ng-classvalidationClass(formquoteRecipientFirstName)> label classsr-only forrecipient-first>{{FirstName | phrase}}/label> input classform-control placeholder{{FirstName | phrase}} namequoteRecipientFirstName ng-modelquoteRecipientFirstName requiredrequired ng-changeresetRemoteValidation(formquoteRecipientFirstName) /> /div> /div> div classcol-xs-6> div classform-group ng-classvalidationClass(formquoteRecipientLastName)> label classsr-only forrecipient-last>{{LastName | phrase}}/label> input classform-control placeholder{{LastName | phrase}} namequoteRecipientLastName ng-modelquoteRecipientLastName requiredrequired ng-changeresetRemoteValidation(formquoteRecipientLastName) /> /div> /div> div classcol-xs-6 ng-ifreverseName> div classform-group ng-classvalidationClass(formquoteRecipientFirstName)> label classsr-only forrecipient-first>{{FirstName | phrase}}/label> input classform-control placeholder{{FirstName | phrase}} namequoteRecipientFirstName ng-modelquoteRecipientFirstName requiredrequired ng-changeresetRemoteValidation(formquoteRecipientFirstName) /> /div> /div> /div> /div> div classrow > div classcol-xs-12> div classform-group ng-classvalidationClass(formquoteRecipientCompanyName)> label classsr-only forrecipient-last>{{Company | phrase}}/label> input classform-control placeholder{{Company | phrase}} namequoteRecipientCompanyName ng-modelquoteRecipientCompanyName ng-changeresetRemoteValidation(formquoteRecipientCompanyName) /> /div> /div> /div> div classbtn-group navbar-btn requires-load ng-hidevariables.countrySelectorhidden> button ng-clickshowLocaleDialog() typebutton classbtn btn-default btn-sm dropdown-toggle> div classcountry-icon> img ng-src{{ countryIcon() }} classcountry-flag/> span ng-bind-htmlcountryDisplay>/span> /div> /button> /div> div> div classform-group> label classsr-only>{{ShippingStreet | phrase}}/label> span classplaceholder>{{ShippingStreet | phrase}}/span> input namequoteRecipientAddressLine1 classform-control placeholder{{ShippingStreet | phrase}} ng-modelquoteRecipientAddressline1/> /div> /div> div> div classform-group> label classsr-only>{{ShippingStreet | phrase}}/label> span classplaceholder>{{ShippingStreet | phrase}}/span> input namequoteRecipientAddressLine2 classform-control placeholder{{ShippingStreet | phrase}} ng-modelquoteRecipientAddressline2/> /div> /div> div classrow> div classcol-xs-6> div classform-group> label classsr-only>{{ShippingCity | phrase}}/label> span classplaceholder>{{ShippingCity | phrase}}/span> input typetext namequoteRecipientCity classform-control placeholder{{ShippingCity | phrase}} ng-modelquoteRecipientCity/> /div> /div> div classcol-xs-6> div classrelative dropdown-caret ng-ifcountry US> select aria-labelState classform-control form-group namequoteRecipientRegion ng-modelquoteRecipientRegion> option value disableddisabled selectedselected>{{ShippingRegion | phrase}}/option> option ng-repeatstate in regionList.US ng-valuestate.abbreviation ng-selectedstate.abbreviation quoteRecipientRegion>{{ state.name }}/option> /select> /div> div classrelative dropdown-caret ng-ifcountry CA> select classform-control form-group namequoteRecipientRegion ng-modelquoteRecipientRegion> option value disableddisabled selectedselected>{{Province | phrase}}/option> option ng-repeatstate in regionList.CA ng-valuestate.abbreviation ng-selectedstate.abbreviation quoteRecipientRegion>{{ state.name }}/option> /select> /div> div classrelative dropdown-caret ng-ifcountry AU> select classform-control form-group namequoteRecipientRegion ng-modelquoteRecipientRegion> option value disableddisabled selectedselected>{{Province | phrase}}/option> option ng-repeatstate in regionList.AU ng-valuestate.abbreviation ng-selectedstate.abbreviation quoteRecipientRegion>{{ state.name }}/option> /select> /div> div classform-group ng-ifcountry ! US && country ! CA && country !AU> label classsr-only forrecipient-region>{{ShippingRegion | phrase}}/label> span classplaceholder>{{ShippingRegion | phrase}}/span> input classform-control namequoteRecipientRegion placeholder{{country ! ZA? ShippingRegion: Province| phrase }} ng-modelquoteRecipientRegion/> /div> /div> div classcol-xs-6> div classform-group> label classsr-only forrecipient-postal>{{ZipCode | phrase}}/label> span classplaceholder>{{ZipCode | phrase}}/span> input classform-control namequoteRecipientPostal placeholder{{ZipCode | phrase}} ng-modelquoteRecipientPostal ng-requiredcountry US || country CA/> /div> /div> div classcol-xs-6> div classform-group> label classsr-only>{{ShippingPhoneNumber | phrase}}/label> span classplaceholder>{{ShippingPhoneNumber | phrase}}/span> input typetext classform-control namequoteRecipientPhoneNumber placeholder{{ShippingPhoneNumber | phrase}} ng-modelquoteRecipientPhoneNumber/> /div> /div> /div> /div> div classbutton-wrapper> button typesubmit classbtn generate-btn>{{Generate | phrase}}/button> /div> /form>/script>script typetext/ng-template idcompletedQuote.html> div classmodal-header no-border> button typebutton classclose ng-clickcancel() aria-labelClose>×/button> h3 classmodal-title modal-title-complete-quote title-font> {{QuoteGenerate | phrase}}/h3> /div> div classmodal-body popup-inner-content> div classquote-info-container> span classquote-info>{{QuoteId | phrase}}: p>{{quoteId}}/p>/span> span classquote-info>{{ExpirationDate | phrase}}: p ng-bindexpiresOn | date:MMM dd, yyyy>/p>/span> span classquote-info ng-if!reverseName>{{QuoteTo | phrase}}: p>{{quoteTo.first}} {{quoteTo.last}}/p>/span> span classquote-info ng-ifreverseName>{{QuoteTo | phrase}}: p>{{quoteTo.last}} {{quoteTo.first}}/p>/span> span classquote-info>{{Amount | phrase}}: p>{{total}}/p>/span> /div> /div> div classbutton-wrapper> a idquote-view-btn ng-href{{ quoteLink }} classbtn download-btn target_blank>{{ViewQuote | phrase}}/a> /div>/script> script srchttps://d1f8f9xcsvx3ha.cloudfront.net/themes/core/8/core.js>/script> script srchttps://d1f8f9xcsvx3ha.cloudfront.net/themes/framework/2/framework.js>/script> script srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/js/foundation.checkout.js>/script> script srchttps://cdn.onfastspring.com/CompiledViews/8HxJPR7fR_o/FiXoHEZkRNk/resources/js/common.js>/script> script srchttps://d1f8f9xcsvx3ha.cloudfront.net/themes/sandbox/8/sandbox.js>/script>!-- // Klarna SDK -->div idklarna-payments-container>/div>script srchttps://x.klarnacdn.net/kp/lib/v1/api.js async>/script>/body>/html>
Subdomains
Date
Domain
IP
qa0.onfastspring.com
2025-02-21
54.161.132.41
ttsmp3.onfastspring.com
2025-03-02
23.20.208.146
vector35.onfastspring.com
2025-02-23
54.165.117.186
monica.onfastspring.com
2024-04-15
34.199.6.151
obviousidea.onfastspring.com
2024-10-07
52.22.31.205
someka.onfastspring.com
2025-02-26
23.20.208.146
autokroma.onfastspring.com
2025-02-21
54.161.132.41
kanbana.onfastspring.com
2025-03-02
23.20.208.146
typora.onfastspring.com
2025-02-25
23.20.208.146
aurora.onfastspring.com
2025-03-01
54.161.132.41
fontlab.onfastspring.com
2025-03-01
54.161.132.41
busymac.onfastspring.com
2025-02-21
54.165.117.186
vectric.onfastspring.com
2025-03-01
23.20.208.146
zetetic.onfastspring.com
2025-02-26
23.20.208.146
rankmathllc.onfastspring.com
2025-07-29
3.216.244.68
micromatinc.onfastspring.com
2025-02-25
54.161.132.41
dehashed.onfastspring.com
2025-03-06
3.221.214.189
humanistasenlared.onfastspring.com
2025-02-25
23.20.208.146
selfcareworld.onfastspring.com
2025-03-02
23.20.208.146
bigcommand.onfastspring.com
2025-02-21
54.161.132.41
nextend.onfastspring.com
2025-03-02
23.20.208.146
infinitekind.onfastspring.com
2025-02-22
54.161.132.41
zaksound.onfastspring.com
2025-02-22
54.161.132.41
tboard.onfastspring.com
2025-02-26
54.161.132.41
ocrspace.onfastspring.com
2023-08-04
50.17.252.200
socialbee.onfastspring.com
2025-02-26
23.20.208.146
protopie.onfastspring.com
2025-01-19
50.16.204.243
freemake.onfastspring.com
2025-02-21
54.165.117.186
draftable.onfastspring.com
2025-03-03
54.174.172.110
sketchbubble.onfastspring.com
2024-11-14
54.83.67.90
instadoodle.onfastspring.com
2025-02-26
54.161.132.41
wideangle.onfastspring.com
2025-02-22
54.161.132.41
optimole.onfastspring.com
2025-02-25
54.161.132.41
themeisle.onfastspring.com
2025-02-22
54.165.117.186
homebyme.onfastspring.com
2023-08-09
50.17.252.200
zeataline.onfastspring.com
2025-02-22
54.161.132.41
resumedone.onfastspring.com
2025-02-25
23.20.208.146
captureone.onfastspring.com
2023-08-16
54.225.212.71
minimalistphone.onfastspring.com
2025-03-01
54.161.132.41
pantone.onfastspring.com
2025-02-26
54.161.132.41
www.pantone.onfastspring.com
2025-04-06
52.7.34.36
ohanaware.onfastspring.com
2025-02-24
54.165.117.186
superiorware.onfastspring.com
2025-03-01
54.161.132.41
auslogics-software.onfastspring.com
2025-03-01
54.161.132.41
hyperbolicsoftware.onfastspring.com
2025-03-06
3.221.214.189
marinesoftware.onfastspring.com
2025-03-01
23.20.208.146
talsoftware.onfastspring.com
2025-02-26
54.161.132.41
ironmansoftware.onfastspring.com
2024-07-22
34.193.176.215
ironsoftware.onfastspring.com
2025-08-02
34.200.131.201
signalhire.onfastspring.com
2025-02-22
54.165.117.186
on1store.onfastspring.com
2025-02-25
23.20.208.146
handsontablestore.onfastspring.com
2025-02-25
23.20.208.146
tagspacesstore.onfastspring.com
2025-02-22
54.165.117.186
imtstore.onfastspring.com
2025-03-06
54.174.172.110
audinate.onfastspring.com
2023-08-16
23.22.66.58
ddmf.onfastspring.com
2025-03-02
54.161.132.41
chatgpt4g.onfastspring.com
2025-02-22
54.161.132.41
staging.onfastspring.com
2025-01-30
54.84.250.30
tweaking.onfastspring.com
2025-03-06
3.221.214.189
dungeonfog.onfastspring.com
2025-02-22
54.161.132.41
vnitrosmog.onfastspring.com
2025-07-28
3.216.244.68
secondsplash.onfastspring.com
2025-02-26
54.161.132.41
techsmith.onfastspring.com
2023-08-04
50.17.252.200
answerai.onfastspring.com
2025-02-21
54.165.117.186
kenubi.onfastspring.com
2025-02-26
54.161.132.41
virtualdj.onfastspring.com
2023-09-25
44.194.237.229
stardock.onfastspring.com
2024-11-14
54.83.67.90
futuremark.onfastspring.com
2024-05-24
54.210.22.83
mycreativemark.onfastspring.com
2025-02-22
54.161.132.41
userbenchmark.onfastspring.com
2025-02-26
23.20.208.146
daisydisk.onfastspring.com
2025-02-26
23.20.208.146
quickheal.onfastspring.com
2025-02-25
54.161.132.41
gominternational.onfastspring.com
2025-02-26
23.20.208.146
maatdigital.onfastspring.com
2025-02-26
54.161.132.41
sbl.onfastspring.com
2024-04-22
204.246.191.12
slidemodel.onfastspring.com
2024-11-14
54.83.67.90
idyllicpixel.onfastspring.com
2025-02-25
23.20.208.146
brushedpixel.onfastspring.com
2025-02-21
54.161.132.41
cleanyourmail.onfastspring.com
2025-03-06
3.221.214.189
worldanvil.onfastspring.com
2024-06-06
34.232.102.232
supercell.onfastspring.com
2025-02-26
54.161.132.41
minitool.onfastspring.com
2025-01-21
54.84.250.30
ujam.onfastspring.com
2025-02-27
54.161.132.41
3tstore-lm.onfastspring.com
2025-02-10
34.232.211.142
hypertherm.onfastspring.com
2025-02-22
54.161.132.41
youlean.onfastspring.com
2025-03-10
3.221.214.189
datanumen.onfastspring.com
2023-08-31
44.210.11.244
arstdesign.onfastspring.com
2025-02-26
23.20.208.146
crowdin.onfastspring.com
2025-02-25
23.20.208.146
navstation.onfastspring.com
2025-05-03
54.85.130.235
sampleson.onfastspring.com
2025-02-22
54.161.132.41
fastestvpn.onfastspring.com
2025-02-25
23.20.208.146
anyrun.onfastspring.com
2023-08-15
23.22.66.58
shortpixelco.onfastspring.com
2025-02-23
54.161.132.41
kubio.onfastspring.com
2024-01-23
3.229.75.122
rigidaudio.onfastspring.com
2025-02-25
54.161.132.41
blackroosteraudio.onfastspring.com
2025-02-26
23.20.208.146
dreamvibeaistudio.onfastspring.com
2025-02-23
54.165.117.186
mrsenko.onfastspring.com
2025-02-26
23.20.208.146
numbro.onfastspring.com
2025-07-25
35.173.148.247
mtcpro.onfastspring.com
2025-03-01
54.161.132.41
akaipro.onfastspring.com
2025-02-25
54.165.117.186
popaipro.onfastspring.com
2025-02-26
23.20.208.146
presetpro.onfastspring.com
2025-02-26
54.161.132.41
flightsimto.onfastspring.com
2025-02-22
54.161.132.41
raindrop.onfastspring.com
2023-08-04
52.86.95.170
glyphsapp.onfastspring.com
2024-08-01
35.174.96.200
pockethostapp.onfastspring.com
2025-03-05
54.174.172.110
valhalladsp.onfastspring.com
2025-03-02
52.72.27.212
discodsp.onfastspring.com
2025-02-26
54.161.132.41
luminar.onfastspring.com
2024-10-07
52.22.31.205
finzar.onfastspring.com
2025-03-05
54.174.172.110
filetransfer.onfastspring.com
2025-02-26
23.20.208.146
roomsketcher.onfastspring.com
2025-02-25
23.20.208.146
arkthinker.onfastspring.com
2025-02-24
54.165.117.186
languagetooler.onfastspring.com
2023-08-31
34.230.125.5
tellter.onfastspring.com
2025-03-09
54.174.172.110
pingplotter.onfastspring.com
2023-08-04
52.86.95.170
unclutter.onfastspring.com
2025-02-26
23.20.208.146
dbeaver.onfastspring.com
2024-04-15
34.199.6.151
codesector.onfastspring.com
2025-02-25
23.20.208.146
coconutflavour.onfastspring.com
2025-02-26
54.161.132.41
soundfellas.onfastspring.com
2025-03-13
3.221.214.189
primatelabs.onfastspring.com
2025-03-02
23.20.208.146
morethanwords.onfastspring.com
2025-03-02
23.20.208.146
opensubtitles.onfastspring.com
2025-02-22
54.165.117.186
hasthemes.onfastspring.com
2025-03-01
23.20.208.146
pimeyes.onfastspring.com
2024-04-18
34.199.6.151
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]