var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
let window = _____WB$wombat$assign$function_____("window");
let self = _____WB$wombat$assign$function_____("self");
let document = _____WB$wombat$assign$function_____("document");
let location = _____WB$wombat$assign$function_____("location");
let top = _____WB$wombat$assign$function_____("top");
let parent = _____WB$wombat$assign$function_____("parent");
let frames = _____WB$wombat$assign$function_____("frames");
let opens = _____WB$wombat$assign$function_____("opens");
angular.module("giftCardsWidget").run(["$templateCache", function($templateCache) {$templateCache.put("app/directives/loading.html","<div ng-class=\"{\'loading-wrap-full\': !inline }\"><div ng-class=\"{\'loading-content\': !inline, \'inline-loader-wrap\': inline }\"><span ng-class=\"{ \'inline-loader\' : inline }\" ng-i18next=\"\">{{label}}</span><div class=\"loader clearfix\"></div></div></div>");
$templateCache.put("app/directives/sessionTimeout.html","<div class=\"session-timeout-wrap\" ng-class=\"{\'session-timeout-wrap-active\': vm.isActive}\"><span class=\"session-timeout-message\" ng-i18next=\"\">{{ vm.message }}</span> <span class=\"session-timeout-timer\">{{ vm.displayTime }}</span></div>");
$templateCache.put("app/footer/footer.html","<footer><section><a ng-if=\"vm.links && vm.links.length\" ng-repeat=\"link in vm.links\" ng-click=\"link.action(link.id)\" ng-i18next=\"\">{{link.name}}</a></section></footer>");
$templateCache.put("app/header/header.html","<header ng-class=\"{\'header-active\': vm.isReady}\"><section><a id=\"header-title\" ng-click=\"vm.toHome()\" ng-if=\"!vm.imgUrl\">{{vm.title}}</a> <a class=\"header-img\" ng-click=\"vm.toHome()\" ng-if=\"vm.imgUrl\"><img ng-src=\"{{vm.imgUrl}}\" alt=\"{{vm.title}}\" ng-i18next=\"[alt]{{vm.title}}\"></a> <span id=\"header-version\" ng-if=\"vm.version\">{{vm.version}}</span></section><div class=\"dropdown\" click-outside=\"vm.hideDropdown()\" ng-if=\"vm.enableLangSettings\" ng-style=\"{\'background-color\': vm.theme === \'light\' ? \'white\' : \'#434343\', \'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\"><button title=\"{{vm.selectedLanguage}}\" class=\"dropbtn\" ng-click=\"vm.toggleDropdown()\" ng-style=\"{\'background-color\': vm.theme === \'light\' ? \'white\' : \'#434343\', \'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\"><span style=\"padding-right: 5px\"><img src=\"../../assets/svg/world-icon.svg\" height=\"22\"></span> <span class=\"language-text\" ng-style=\"{\'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\" ng-if=\"vm.selectedLanguage === \'en\'\">English</span> <span class=\"language-text\" ng-style=\"{\'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\" ng-if=\"vm.selectedLanguage === \'fr\'\">Français</span></button> <button ng-click=\"vm.toggleDropdown()\" class=\"dropdown-icon\" ng-style=\"{\'background-color\': vm.theme === \'light\' ? \'white\' : \'#434343\', \'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\"><img src=\"../../assets/svg/{{vm.theme}}/dropdown.svg\" height=\"24px\" width=\"24px\"></button><div class=\"dropdown-content dropdown-content-right\" ng-class=\"{\'dropdown-active\': vm.showDropdown}\" ng-style=\"{\'background-color\': vm.theme === \'light\' ? \'white\' : \'#434343\', \'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\"><a href=\"#\" title=\"{{data.name}}\" ng-repeat=\"data in vm.languageData\" ng-click=\"vm.selectLanguage(data.id)\" ng-style=\"{\'border-bottom\': vm.theme === \'light\' ? \'1px solid #f8f8f8\' : \'1px solid #666666\'}\"><span class=\"lang-name\" ng-style=\"{\'color\': vm.theme === \'light\' ? \'black\' : \'white\'}\">{{data.name}}</span></a></div></div></header>");
$templateCache.put("app/modal/modal.html","<div class=\"modal-wrap\" ng-click=\"vm.close()\"><div class=\"modal-container\"><div class=\"modal-header\"><span ng-i18next=\"\">{{ vm.heading }}</span> <a class=\"modal-close-btn\" ng-click=\"vm.close()\">X</a></div><div class=\"modal-content\" ng-i18next=\"\">{{ vm.message }}</div><div class=\"modal-btn-wrap\" ng-if=\"vm.actions\"><a class=\"modal-btn\" ng-repeat=\"button in vm.actions\" ng-click=\"vm.close(button)\" ng-i18next=\"\">{{ button }}</a></div></div></div>");
$templateCache.put("app/nav-bar/nav-bar.html","<section class=\"nav-bar-section\"><ul class=\"nav-bar\"><li ng-repeat=\"route in vm.routes\" ng-if=\"!route.isDeactivated && route.hasNavigation\" class=\"nav-bar-item\" ng-class=\"{\'nav-bar-item-active\': route.isActive, \'nav-bar-item-disabled\': route.isDisabled }\"><a ng-click=\"vm.navigateTo(route.name)\" ng-i18next=\"\">{{ route.displayName }}</a></li></ul></section>");
$templateCache.put("app/order-summary/order-summary.html","<form name=\"vm.form\"><h4 ng-i18next=\"\">Order Summary</h4><div class=\"gcw-card-summary-card\" ng-repeat=\"selectedCard in vm.order.orders\"><b>{{ selectedCard.amount | countryCurrency:vm.language }}</b> - <span ng-i18next=\"\">{{ selectedCard.displayName }}</span><span ng-if=\"selectedCard.experienceCardName\">- {{ selectedCard.experienceCardName }}</span> <a class=\"gcw-card-summary-card-remove\" ng-click=\"vm.remove(selectedCard)\">x</a> <span class=\"gcw-card-summary-card-total\"><span ng-i18next=\"\">QTY</span>: {{ selectedCard.quantity }}</span></div><div class=\"gcw-card-summary-info-wrap\" ng-style=\"{\'min-height\': vm.summaryHeight }\"><div class=\"gcw-card-summary-loader\" ng-if=\"vm.isCalculating\"><loading label=\"{{ \'Calculating total\' }}\" inline=\"true\"></loading></div><div ng-if=\"!vm.isCalculating\"><div class=\"gcw-card-summary-info\"><span><b><span ng-i18next=\"\">Card Total</span>:</b>{{ vm.order.subTotal | countryCurrency:vm.language }}</span> <span ng-if=\"vm.discountEnabled\"><b><span ng-i18next=\"\">Less Discount</span>:</b>{{ vm.order.discount | countryCurrency:vm.language }}</span> <span><b><span ng-i18next=\"\">Sub Total</span>:</b>{{ vm.order.displaySubTotal | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.postageFee > 0\"><b><span ng-i18next=\"\">Postage Fee</span>:</b>{{ vm.order.postageFee | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.processingFee > 0\"><b><span ng-i18next=\"\">{{ vm.messages.transactionFeeDescription }}</span>:</b>{{ vm.order.processingFee | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.experienceFee > 0 && (vm.order.orders | filter: { cardFormat: \'ExperienceGiftCard\' })\"><b><span ng-i18next=\"\">{{ vm.messages.experienceFeeDescription}}</span>:</b>{{ vm.order.experienceFee | countryCurrency:vm.language }} }}</span> <span ng-if=\"vm.taxNotificationMessage\" ng-i18next=\"\">{{ vm.taxNotificationMessage }}</span> <span class=\"gcw-card-summary-info-total\"><b><span ng-i18next=\"\">Total</span><span>({{ vm.messages.currency }})</span>:</b>{{ vm.order.grandTotal | countryCurrency:vm.language }}</span></div></div></div><div class=\"discount-input-wrap\" ng-if=\"vm.discountEnabled\"><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"discountCode\" ng-model=\"vm.order.discountCode\" minlength=\"3\" ng-maxlength=\"8\" ng-focus=\"vm.isDiscountRequested = false\"> <label class=\"mdl-textfield__label\" for=\"discountCode\"><span ng-i18next=\"\">Discount Code</span>:</label></div><a ng-click=\"vm.requestDiscount()\" class=\"gcw-btn\" ng-i18next=\"\">Apply</a></div><div class=\"gcw-error-messages\" ng-hide=\"vm.errors.length == 0\" style=\"margin-top: 15px; margin-bottom: 15px;\"><span ng-repeat=\"error in vm.errors\" ng-if=\"vm.errors.length\" style=\"width: 100%; display: block; text-align: center; font-weight: bold;\" ng-i18next=\"\">{{ error.text}}</span> <span ng-if=\"vm.isDiscountRequested && (!vm.isCalculating && vm.order.discount === 0 && vm.order.discountCode && vm.order.discountCode.length)\" ng-i18next=\"\">{{ \"Invalid discount code\"}}</span> <span ng-messages=\"vm.form.discountCode.$error\" ng-if=\"vm.isDiscountRequested\"><span ng-message=\"minlength\" ng-i18next=\"\">Invalid discount code</span> <span ng-message=\"maxlength\" ng-i18next=\"\">Invalid discount code</span></span></div></form>");
$templateCache.put("app/overlay/overlay.html","<div class=\"gcw-overlay\" ng-class=\"{\'gcw-overlay-is-active\': vm.isVisible }\" ng-click=\"vm.isVisible = false\"><div class=\"gcw-overlay-wrap\" ng-if=\"vm.isVisible\"><section><a class=\"gcw-overlay-close\" ng-click=\"vm.isVisible = !vm.isVisible\" ng-i18next=\"\">Close</a><h2 ng-i18next=\"\">{{ vm.heading }}</h2><markdown-content message=\"vm.content\"></markdown-content></section></div></div>");
$templateCache.put("app/pages/app.html","<div class=\"page-full\" ng-controller=\"WidgetCtrl as vm\"><header-wrap title=\"vm.title\" img-url=\"vm.imgURL\" version=\"vm.version\" selected-language=\"vm.selectedLanguage\"></header-wrap><main ng-if=\"vm.isReady\"><nav-bar routes=\"vm.routes\"></nav-bar><div ui-view=\"\"></div><footer-wrap links=\"vm.links\"></footer-wrap><overlay heading=\"{{vm.overlayHeading}}\" content=\"{{ vm.overlayContent }}\" is-visible=\"vm.isOverlayVisible\"></overlay></main><div class=\"loading-wrap-full\" ng-class=\"{\'loading-wrap-full-inactive\': vm.isReady}\"><loading label=\"{{ \'Loading...\'}}\" ng-i18next=\"[label]Loading...\"></loading></div><modal heading=\"vm.modal.heading\" message=\"vm.modal.message\" actions=\"vm.modal.actions\" data=\"vm.modal.data\" ng-class=\"{\'modal-wrap-active\': vm.isModalActive }\"></modal><session-timeout message=\"\'Your order will expire in: \'\"></session-timeout></div>");
$templateCache.put("app/pages/billing.html","<section><form name=\"vm.form\" id=\"gcw-form-wrap\" mdl-upgrade=\"\" novalidate=\"\"><h2 ng-i18next=\"\">Billing Details</h2><button type=\"button\" class=\"gcw-btn-accent gcw-btn-small\" ng-click=\"vm.updateBillingDetails()\" ng-i18next=\"\">Same as recipient details</button><div class=\"gcw-split-inputs gap-top\"><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" id=\"purchaserFirstName\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"firstName\" ng-model=\"vm.order.purchaserFirstName\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"firstName\">*<span ng-i18next=\"\">First name</span></label><div ng-messages=\"vm.form.firstName.$error\" ng-if=\"vm.isSubmitted || vm.form.firstName.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter a first name</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" id=\"purchaserLastName\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"purchaserLastName\" ng-model=\"vm.order.purchaserLastName\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"purchaserLastName\">*<span ng-i18next=\"\">Surname</span></label><div ng-messages=\"vm.form.purchaserLastName.$error\" ng-if=\"vm.isSubmitted || vm.form.purchaserLastName.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter a surname</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" id=\"purchaserEmail\"><input class=\"mdl-textfield__input\" type=\"email\" name=\"purchaserEmail\" ng-model=\"vm.order.purchaserEmail\" required=\"\" email=\"\"> <label class=\"mdl-textfield__label\" for=\"purchaserEmail\">*<span ng-i18next=\"\">Email</span></label><div ng-messages=\"vm.form.purchaserEmail.$error\" ng-if=\"vm.isSubmitted || vm.form.purchaserEmail.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your email address</div><div ng-message=\"email\" ng-i18next=\"\">Sorry, that email address isn\'t valid</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" id=\"purchaserEmailConfirmation\"><input class=\"mdl-textfield__input\" type=\"email\" name=\"purchaserEmailConfirmation\" ng-model=\"vm.order.purchaserEmailConfirmation\" required=\"\" is-equal-to=\"{{vm.order.purchaserEmail}}\" autocomplete=\"off\"> <label class=\"mdl-textfield__label\" for=\"purchaserEmailConfirmation\">*<span ng-i18next=\"\">Re-enter email</span></label><div ng-messages=\"vm.form.purchaserEmailConfirmation.$error\" ng-if=\"vm.isSubmitted || vm.form.purchaserEmailConfirmation.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to re-enter email</div><div ng-message=\"is-equal-to\" ng-i18next=\"\">Your emails don\'t match</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" id=\"flagListPhoneInput\"><div class=\"phoneLabelContainer\"><label class=\"phoneLabel phoneLabel-{{vm.theme}} phoneLabel-{{vm.phoneInputFocus}}\" for=\"flagListPhoneInput\">*<span ng-i18next=\"\">Mobile</span></label></div><country-flag on-update=\"vm.phoneUpdate\" original-value=\"vm.order.purchaserPhone\" country=\"vm.venue.country\" theme=\"vm.theme\" project-name=\"gift-card\" input-focus=\"vm.updatePhoneInputFocus\" country-update=\"vm.phoneCountryUpdate\" check-prefix=\"vm.checkPrefix\"></country-flag><div ng-if=\"!vm.isValidNumber\" class=\"error\"><div ng-i18next=\"\">This is not a valid phone number</div></div></div></div><div class=\"std-wrap padding-lg-bottom clearfix\"><label mdl-upgrade=\"\" class=\"mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect width-auto\" for=\"mailList\"><input type=\"checkbox\" id=\"mailList\" name=\"mailList\" class=\"mdl-checkbox__input\" ng-model=\"vm.order.subscribed\" required=\"\"> <span class=\"mdl-checkbox__label\" ng-i18next=\"\">I agree to the terms and conditions.</span></label></div><div class=\"gcw-terms-error-wrap\"><div class=\"error-txt\" ng-messages=\"vm.form.mailList.$error\" ng-if=\"vm.isSubmitted || vm.form.mailList.$touched\"><div ng-message=\"required\" ng-i18next=\"\">You need to agree to the terms and conditions before proceeding.</div></div></div><div class=\"gcw-button-wrap\"><button type=\"button\" class=\"gcw-btn gcw-btn-back\" ng-click=\"vm.back()\" ng-i18next=\"\">Back</button> <button type=\"submit\" class=\"gcw-btn-accent\" ng-click=\"vm.next()\" ng-i18next=\"\">Next</button></div></form></section>");
$templateCache.put("app/pages/cards.html","<section><div ng-if=\"!vm.busy\"><markdown-content ng-if=\"vm.messages.giftCardWidgetDescription.length\" class=\"gcw-widget-message\" message=\"vm.messages.giftCardWidgetDescription\"></markdown-content><label class=\"helper\"><b>{{vm.cardsHeader.text}}</b></label><ul class=\"gcw-cardtype-list\"><li class=\"gcw-cardtype-item\" ng-repeat=\"cardType in vm.cardTypes | orderBy : \'id\'\" ng-class=\"{\'gcw-cardtype-item-active\' : cardType === vm.cardType, \'gcw-cardtype-item-ecard\': cardType.id === \'eGiftCard\', \'gcw-cardtype-item-physical\': cardType.id === \'physicalCard\' }\" ng-click=\"vm.selectCardType(cardType)\"><div class=\"gcw-cardtype-item-img\" ng-class=\"{\'gcw-cardtype-item-img-ecard\': cardType.id === \'eGiftCard\', \'gcw-cardtype-item-img-physical\': cardType.id === \'physicalCard\' }\"></div><div></div><h2 ng-if=\"vm.cardTypes.length < 2\" ng-i18next=\"\">{{ cardType.name }}</h2><a class=\"gcw-cardtype-btn\" ng-if=\"vm.cardTypes.length > 1\" ng-i18next=\"\">{{ cardType.name }}</a><div class=\"gcw-cardtype-info\"><markdown-content message=\"cardType.description\"></markdown-content></div></li></ul></div><div class=\"gcw-card-description-small-screen\" ng-if=\"vm.cardType\"><div class=\"gcw-cardtype-info\"><markdown-content message=\"vm.cardType.description\"></markdown-content></div></div><loading label=\"{{ \'Retrieving cards...\' }}\" ng-i18next=\"[label]Retrieving cards...\" ng-if=\"vm.isBusy\"></loading><div class=\"gcw-card-wrap\" ng-class=\"{\'gcw-card-wrap-active\': vm.cardType }\"><h5 ng-if=\"vm.cardTypes.length > 1 && vm.cardType.name === \'eGift Card\'\" title=\"{{vm.cardType.name}}\" ng-i18next=\"\">Monetary Cards</h5><h5 ng-if=\"vm.cardTypes.length > 1 && vm.cardType.name !== \'eGift Card\'\" title=\"{{vm.cardType.name}}\" ng-i18next=\"\">{{vm.cardType.name}}</h5><ul class=\"gcw-card-list\"><li class=\"gcw-card\" ng-if=\"vm.cardType.name === \'eGift Card\'\" ng-repeat=\"card in vm.eGiftCards | orderBy: \'-amount\'\"><div class=\"gcw-card-img gcw-card-img-ecard\"><span>{{ card.amount | countryCurrency:vm.language }}</span></div><div class=\"gcw-card-info\"><spinner value=\"card.quantity\" label=\"{{ \'QTY\'}}\" ng-i18next=\"[label]QTY\"></spinner></div></li><li class=\"gcw-card\" ng-if=\"vm.cardType.name === \'Physical Card\'\" ng-repeat=\"card in vm.cards[vm.cardType.id] | orderBy: \'-amount\'\"><div class=\"gcw-card-img gcw-card-img-physical\"><span>{{ card.amount | countryCurrency:vm.language }}</span></div><div class=\"gcw-card-info\"><spinner value=\"card.quantity\" label=\"{{ \'QTY\'}}\" ng-i18next=\"[label]QTY\"></spinner></div></li></ul><h5 ng-if=\"vm.hasExperienceCards && vm.cardType.name === \'eGift Card\'\" ng-i18next=\"\">Experience Cards</h5><markdown-content ng-if=\"vm.hasExperienceCards && vm.cardType.name === \'eGift Card\' && vm.messages.experienceCardWidgetDescription.length\" class=\"gcw-widget-message\" message=\"vm.messages.experienceCardWidgetDescription\"></markdown-content><ul class=\"gcw-card-list\" ng-if=\"vm.cardType.name === \'eGift Card\' && vm.appData.venue.giftCardSettings.willPostExperienceCards === true\"><li class=\"gcw-card\" ng-repeat=\"card in vm.experienceGiftCards | orderBy : \'-amount\'\"><div class=\"gcw-card-img\" ng-class=\"{ \'gcw-card-img-experience\': card.cardFormat === \'ExperienceGiftCard\' }\"><div><span style=\"font-size: 18px; display: block; font-weight: bold; margin: 0px 15px 0px 15px;\">{{ card.experienceCardName }}</span> <span style=\"font-size: 12px; display: block; font-style: italic; margin: 0px 15px 0px 15px;\">{{ card.experienceCardDetails }}</span> <span ng-if=\"vm.appData.venue.giftCardSettings.showPriceOnCards\" style=\"margin-top: 10px; font-size: 12px; display: block; font-style: italic;\">{{ card.amount | countryCurrency:vm.language }}</span></div></div><div class=\"gcw-card-info\"><spinner value=\"card.quantity\" label=\"{{ \'QTY\' }}\" ng-i18next=\"[label]QTY\"></spinner></div></li></ul></div><div class=\"gcw-card-summary-wrap\" ng-class=\"{\'gcw-card-summary-wrap-active\': vm.order.orders.length }\"><order-summary order=\"vm.order\" errors=\"vm.errors\" messages=\"vm.messages\" discount-enabled=\"vm.venue.giftCardSettings.hasDiscounts\"></order-summary><div class=\"gcw-button-wrap\"><button type=\"button\" class=\"gcw-btn-accent\" ng-class=\"{\'gcw-btn-disabled\':vm.errors.length}\" ng-click=\"vm.next()\" ng-i18next=\"\">Next</button></div></div></section>");
$templateCache.put("app/pages/complete.html","<section><div class=\"gcw-complete-wrap\"><markdown-content message=\"vm.messages.confirmationWidgetDescription\"></markdown-content></div></section>");
$templateCache.put("app/pages/customer.html","<section><form name=\"vm.form\" id=\"gcw-form-wrap\" mdl-upgrade=\"\" novalidate=\"\"><div class=\"gcw-details-wrap\"><h2 ng-i18next=\"\">Recipient Details</h2><div class=\"gcw-split-inputs\"><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"receiverFirstName\" ng-model=\"vm.order.receiverFirstName\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"receiverFirstName\">*<span ng-i18next=\"\">Recipients First Name</span></label><div ng-messages=\"vm.form.receiverFirstName.$error\" ng-if=\"vm.isSubmitted || vm.form.receiverFirstName.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter a first name</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"receiverLastName\" ng-model=\"vm.order.receiverLastName\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"receiverLastName\">*<span ng-i18next=\"\">Recipients Surname</span></label><div ng-messages=\"vm.form.receiverLastName.$error\" ng-if=\"vm.isSubmitted || vm.form.receiverLastName.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter a surname</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" ng-if=\"vm.order.isRecipientsEmailVisible\"><input class=\"mdl-textfield__input\" type=\"email\" name=\"receiverEmail\" ng-model=\"vm.order.receiverEmail\" required=\"\" email=\"\"> <label class=\"mdl-textfield__label\" for=\"receiverEmail\">*<span ng-i18next=\"\">Recipients Email</span></label><div ng-messages=\"vm.form.receiverEmail.$error\" ng-if=\"vm.isSubmitted || vm.form.receiverEmail.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your email address</div><div ng-message=\"email\" ng-i18next=\"\">Sorry, that email address isn\'t valid</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\" ng-if=\"vm.order.isRecipientsEmailVisible\"><input class=\"mdl-textfield__input\" type=\"email\" name=\"receiverEmailConfirmation\" ng-model=\"vm.order.receiverEmailConfirmation\" required=\"\" is-equal-to=\"{{vm.order.receiverEmail}}\" autocomplete=\"off\"> <label class=\"mdl-textfield__label\" for=\"receiverEmailConfirmation\">*<span ng-i18next=\"\">Re-enter email</span></label><div ng-messages=\"vm.form.receiverEmailConfirmation.$error\" ng-if=\"vm.isSubmitted || vm.form.receiverEmailConfirmation.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to re-enter email</div><div ng-message=\"is-equal-to\" ng-i18next=\"\">Your emails don\'t match</div></div></div></div><address value=\"vm.order.address\" ng-if=\"vm.order.isAddressRequired\" country=\"vm.messages.country\"></address><input type=\"hidden\" value=\"vm.order.receiverAddress\" required=\"\"><br><div ng-if=\"vm.order.isCustomerMessageAllowed\"><h2 ng-i18next=\"\">Message (Optional)</h2><div class=\"gcw-split-inputs\"><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"toMessage\" ng-model=\"vm.order.to\"> <label class=\"mdl-textfield__label\" for=\"toMessage\"><span ng-i18next=\"\">To</span>:</label></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"fromMessage\" ng-model=\"vm.order.from\"> <label class=\"mdl-textfield__label\" for=\"fromMessage\"><span ng-i18next=\"\">From</span>:</label></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield gcw-textarea mdl-js-textfield mdl-textfield--floating-label\"><textarea class=\"mdl-textfield__input\" type=\"text\" name=\"message\" rows=\"3\" ng-model=\"vm.order.message\" ng-maxlength=\"500\"></textarea> <label class=\"mdl-textfield__label\" for=\"message\" ng-i18next=\"\">Add a personal message</label><div ng-messages=\"vm.form.message.$error\" class=\"error\"><div ng-message=\"maxlength\" ng-i18next=\"\">Your message must be 500 characters or less</div></div></div></div></div><br><div class=\"gcw-button-wrap\"><button type=\"button\" class=\"gcw-btn gcw-btn-back\" ng-click=\"vm.back()\" ng-i18next=\"\">Back</button> <button type=\"submit\" class=\"gcw-btn-accent\" ng-click=\"vm.next()\" ng-i18next=\"\">Next</button></div></form></section>");
$templateCache.put("app/pages/error.html","<section><div class=\"gcw-error-wrap\"><div class=\"gcw-error-content\"><markdown-content message=\"vm.message\"></markdown-content><button type=\"button\" class=\"gcw-btn-accent\" ng-click=\"vm.reset()\" ng-i18next=\"\">Try Again</button></div><div class=\"gcw-error-img\"><img src=\"assets/svg/error-icon.svg\"> <span>{{vm.heading}}</span></div></div></section>");
$templateCache.put("app/pages/payment.html","<section class=\"gcw-payment-wrap\"><div class=\"gcw-split-view-container\"><div id=\"gcw-payment-form-wrap\"><form name=\"vm.form\" id=\"gcw-payment-form\" ng-submit=\"vm.pay($event)\" ng-class=\"{\'gcw-payment-form-disabled\': vm.busy || vm.isFormDisabled }\" ng-if=\"!vm.isDestroyed\" mdl-upgrade=\"\" novalidate=\"\"><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label textfield-demo\" style=\"width: 330px\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"name\" ng-model=\"vm.paymentDTO.EWAY_CARDNAME\" tabindex=\"1\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"name\">*<span ng-i18next=\"\">Cardholder Name</span></label><div ng-messages=\"vm.form.name.$error\" ng-if=\"vm.isSubmitted || vm.form.name.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter the cardholder name</div></div></div><div ng-if=\"vm.venue.paymentSettings.paymentProvider.toLowerCase() !== \'eway\'\"><div id=\"card-element\" class=\"my-input\"></div><div id=\"card-errors\" role=\"alert\"></div></div><div ng-if=\"vm.venue.paymentSettings.paymentProvider.toLowerCase() === \'eway\'\"><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"cardNumber\" ng-model=\"vm.paymentDTO.EWAY_CARDNUMBER\" tabindex=\"1\" ng-pattern=\"/^\\d+$/\" card-validation=\"\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"cardNumber\">*<span ng-i18next=\"\">Card Number</span></label><div ng-messages=\"vm.form.cardNumber.$error\" ng-if=\"vm.isSubmitted || vm.form.cardNumber.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your card number</div><div ng-message=\"tooShort\" ng-i18next=\"\">Your number is too short</div><div ng-message=\"tooLong\" ng-i18next=\"\">Your number is too long</div><div ng-message=\"number\" ng-i18next=\"\">Please only enter digits</div><div ng-message=\"pattern\" ng-i18next=\"\">Please only enter digits</div></div></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"ccv\" ng-model=\"vm.paymentDTO.EWAY_CARDCVN\" tabindex=\"1\" ng-pattern=\"/^\\d+$/\" csv-validation=\"vm.paymentDTO.EWAY_CARDNUMBER\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"firstName\">*CCV</label> <a id=\"ccv-link\" href=\"https://www.cvvnumber.com/cvv.html\" target=\"_blank\" tabindex=\"-1\" style=\"font-size:11px\">Whats this?</a><div ng-messages=\"vm.form.ccv.$error\" ng-if=\"vm.isSubmitted || vm.form.ccv.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your CCV number</div><div ng-message=\"tooShort\" ng-i18next=\"\">Your number is too short</div><div ng-message=\"tooLong\" ng-i18next=\"\">Your number is too long</div><div ng-message=\"number\" ng-i18next=\"\">Please only enter digits</div><div ng-message=\"pattern\" ng-i18next=\"\">Please only enter digits</div></div></div><div class=\"gcw-expiry-wrap\"><div class=\"gcw-expiry-label\">*<span ng-i18next=\"\">Expiry</span></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label expiry-month-input\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"expiryMonth\" tabindex=\"1\" ng-model=\"vm.paymentDTO.EWAY_CARDEXPIRYMONTH\" minlength=\"2\" maxlength=\"2\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"expiryMonth\" ng-i18next=\"\">MM</label></div><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label expiry-month-input\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"expiryYear\" tabindex=\"1\" ng-model=\"vm.paymentDTO.EWAY_CARDEXPIRYYEAR\" minlength=\"2\" maxlength=\"2\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"expiryYear\" ng-i18next=\"\">YY</label></div></div><div class=\"expiry-error-wrap\"><div class=\"error-container error text-xs\" ng-messages=\"vm.form.expiryMonth.$error\" ng-if=\"vm.isSubmitted || vm.form.expiryMonth.$touched\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your expiry month</div><div ng-message=\"minlength\" ng-i18next=\"\">Your month is invalid</div><div ng-message=\"maxlength\" ng-i18next=\"\">Your month is invalid</div><div ng-message=\"number\" ng-i18next=\"\">Please only enter digits</div></div><div class=\"error-container error text-xs\" ng-messages=\"vm.form.expiryYear.$error\" ng-if=\"vm.isSubmitted || vm.form.expiryYear.$touched\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your expiry year</div><div ng-message=\"minlength\" ng-i18next=\"\">Your year is invalid</div><div ng-message=\"maxlength\" ng-i18next=\"\">Your year is invalid</div><div ng-message=\"number\" ng-i18next=\"\">Please only enter digits</div></div></div></div><label mdl-upgrade=\"\" class=\"mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect terms-check margin-lg-top\" for=\"accept\"><input type=\"checkbox\" id=\"accept\" name=\"accept\" tabindex=\"1\" class=\"mdl-checkbox__input\" ng-model=\"vm.accept\" required=\"\"> <span class=\"mdl-checkbox__label gcw-checkbox-text\" ng-i18next=\"\">I hereby give authorisation to deduct the amount specified above. I agree that I am the authorised card holder of the credit card listed.</span></label><div class=\"checkbox-error-wrap\"><div class=\"error-txt\" ng-messages=\"vm.form.accept.$error\" ng-if=\"vm.isSubmitted || vm.form.accept.$touched\"><div ng-message=\"required\" ng-i18next=\"\">To proceed you must agree to the terms and conditions.</div></div></div><input type=\"hidden\" name=\"paymentType\" value=\"Credit Card\"><div ng-if=\"vm.venue.giftCardSettings.enableGiftCardRecaptchaV2\"><div id=\"g-recaptcha-v2\"></div><input type=\"hidden\" name=\"RecaptchaV2Token\" ng-model=\"vm.recaptchaV2Token\" required=\"\"><div class=\"checkbox-error-wrap\"><div class=\"error-txt\" ng-messages=\"vm.form.RecaptchaV2Token.$error\" ng-if=\"vm.isSubmitted || vm.form.RecaptchaV2Token.$touched\"><div ng-message=\"required\" ng-i18next=\"\">Please confirm \"I\'m not a robot\".</div></div></div></div><div class=\"gcw-button-wrap\" ng-if=\"!vm.savingBooking\"><button type=\"button\" class=\"btn gcw-btn\" tabindex=\"1\" ng-click=\"vm.cancel()\" ng-i18next=\"\">Cancel</button> <button type=\"submit\" class=\"btn gcw-btn-accent\" tabindex=\"1\" ng-disabled=\"vm.isButtonDisabled\" ng-i18next=\"\">Pay now</button></div><input type=\"hidden\" name=\"EWAY_ACCESSCODE\" value=\"{{vm.payment.accessCode}}\"> <input type=\"hidden\" name=\"EWAY_PAYMENTTYPE\" value=\"Credit Card\"> <input type=\"hidden\" name=\"EWAY_CARDNAME\" value=\"{{vm.paymentDTO.EWAY_CARDNAME}}\"> <input type=\"hidden\" name=\"EWAY_CARDNUMBER\" value=\"{{vm.paymentDTO.EWAY_CARDNUMBER}}\"> <input type=\"hidden\" name=\"EWAY_CARDEXPIRYMONTH\" value=\"{{vm.paymentDTO.EWAY_CARDEXPIRYMONTH}}\"> <input type=\"hidden\" name=\"EWAY_CARDEXPIRYYEAR\" value=\"{{vm.paymentDTO.EWAY_CARDEXPIRYYEAR}}\"> <input type=\"hidden\" name=\"EWAY_CARDCVN\" value=\"{{vm.paymentDTO.EWAY_CARDCVN}}\"></form></div><div id=\"gcw-payment-summary-wrap\"><h4 ng-i18next=\"\">Your Details</h4><ul class=\"payment-summary\"><li><label><span ng-i18next=\"\">Your Name</span>:</label>{{vm.order.purchaserFirstName}}&nbsp;{{ vm.order.purchaserLastName }}</li><li><label><span ng-i18next=\"\">Your Email</span>:</label>{{vm.order.purchaserEmail}}</li></ul><h4 ng-i18next=\"\">Order Summary</h4><div class=\"gcw-card-summary-card\" ng-repeat=\"selectedCard in vm.order.orders\" style=\"padding: 10px;line-height: 1.5;\">{{selectedCard.amount | countryCurrency:vm.language }} - <span ng-i18next=\"\">{{ selectedCard.displayName }}</span><span ng-if=\"selectedCard.experienceCardName\">- {{ selectedCard.experienceCardName }}</span> <span class=\"gcw-card-summary-card-total\"><span ng-i18next=\"\">QTY</span> {{selectedCard.quantity}}</span></div><div class=\"gcw-card-summary-info\"><span><label><span ng-i18next=\"\">Card Total</span>:</label>{{vm.order.subTotal | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.discount\"><label><span ng-i18next=\"\">Discount</span>:</label>{{vm.order.discount | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.discount\"><label><span ng-i18next=\"\">Sub Total</span>:</label>{{vm.order.displaySubTotal | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.postageFee > 0\"><label><span ng-i18next=\"\">Postage Fee</span>:</label>{{vm.order.postageFee | countryCurrency:vm.language }}</span> <span ng-if=\"vm.order.experienceFee > 0 && vm.order.orders[0].cardFormat == \'ExperienceGiftCard\'\"><label><span ng-i18next=\"\">{{ vm.messages.experienceFeeDescription }}</span>:</label>{{ vm.order.experienceFee | countryCurrency:vm.language}}</span> <span ng-if=\"vm.order.venueFee > 0 || vm.order.nbiFee > 0 || vm.order.experienceFee > 0\"><label><span ng-i18next=\"\">{{ vm.messages.transactionFeeDescription }}</span>:</label>{{ vm.order.processingFee | countryCurrency:vm.language }}</span> <span ng-if=\"vm.taxNotificationMessage\" ng-i18next=\"\">{{vm.taxNotificationMessage}}</span> <span class=\"gcw-card-summary-info-total\"><label><span ng-i18next=\"\">Total</span><span>({{vm.messages.currency}})</span>:</label><b>{{vm.order.grandTotal | countryCurrency:vm.language}}</b></span></div><div></div><div ng-if=\"vm.venue.paymentSettings.paymentProvider.toLowerCase() === \'eway\'\"><h4 ng-i18next=\"\">Accepted Cards</h4><img class=\"card-logo\" src=\"https://static.nowbookit.com/creditcards/amex.png\" ng-i18next=\"[alt]Amex Card\" ng-if=\"vm.venue.paymentSettings.eway.acceptAmericanExpress\"> <img class=\"card-logo\" src=\"https://static.nowbookit.com/creditcards/mastercard.png\" ng-i18next=\"[alt]Mastercard\" ng-if=\"vm.venue.paymentSettings.eway.acceptMasterCard\"> <img class=\"card-logo\" src=\"https://static.nowbookit.com/creditcards/visa.png\" ng-i18next=\"[alt]Visa\" ng-if=\"vm.venue.paymentSettings.eway.acceptVisa\"> <img class=\"card-logo\" src=\"https://static.nowbookit.com/creditcards/diners.png\" ng-i18next=\"[alt]Diners\" ng-if=\"vm.venue.paymentSettings.eway.acceptDiners\"> <img class=\"card-logo\" src=\"https://static.nowbookit.com/creditcards/jcb.png\" ng-i18next=\"[alt]jcb\" ng-if=\"vm.venue.paymentSettings.eway.acceptJcb\"></div></div></div><div class=\"gcw-button-wrap\"><button type=\"button\" class=\"gcw-btn gcw-btn-back\" ng-click=\"vm.back()\" ng-i18next=\"\">Back</button></div><div class=\"loading-wrap-full\" ng-class=\"{\'loading-wrap-full-inactive\': !vm.busy }\"><loading label=\"{{ \'Processing... do not refresh your browser\'}}\" ng-i18next=\"[label]Processing... do not refresh your browser\"></loading></div></section>");
$templateCache.put("app/pages/summary.html","");
$templateCache.put("app/pages/venues.html","<section ng-if=\"vm.account\"><label class=\"helper\" ng-i18next=\"\">What restaurant would you like to choose?</label><ul class=\"gcw-venue-list\"><li class=\"gcw-venue-card\" ng-repeat=\"venue in vm.account.giftCardEnabledVenues\" ng-click=\"vm.selectVenue(venue)\" ng-class=\"{\'gcw-venue-card-selected\': venue == vm.appData.venue, \'gwc-venue-card-text-only\': !venue.logoUrl }\"><div class=\"gcw-venue-img\" ng-if=\"venue.logoUrl\"><img ng-src=\"{{venue.logoUrl}}\"></div><div class=\"gcw-venue-label\">{{ venue.venueName }}</div></li></ul></section>");
$templateCache.put("app/theme/theme.html","<link rel=\"stylesheet\"><style>\r\n\r\nhtml {\r\n    background-image: {{ vm.theme.bg }};\r\n    background-attachment: fixed;\r\n    background-position: 0, 0, center;\r\n    background-size: cover;\r\n    background-repeat: no-repeat;\r\n}\r\n\r\nbody {\r\n    background: {{ vm.isBgTransparent ? \'transparent\' : \'rgba(\' + vm.theme.background + \', .8)\' }};\r\n    color: rgb( {{vm.theme.text}});\r\n}\r\n\r\n.bg-transparent {\r\n    background: rgba({{vm.theme.background}}, .8);\r\n}\r\n\r\n.loading-wrap-full {\r\n    background: rgba({{vm.theme.background}}, .8);\r\n}\r\n\r\n.modal-wrap {\r\n    background: rgba({{vm.theme.background}}, .8);    \r\n}\r\n\r\n.modal-container {\r\n    background: rgb({{vm.theme.background}});     \r\n    border: 1px solid rgba({{vm.theme.line}}, .1);   \r\n}\r\n\r\n.modal-btn:last-child {\r\n    background-color: rgb( {{vm.theme.accent}});\r\n}\r\n\r\n.bg-focus {\r\n    background: rgba({{vm.theme.line}}, .05)\r\n}\r\n\r\n.gcw-complete-wrap {\r\n    background: rgb({{vm.theme.background}})\r\n}\r\n\r\n.widget-tabs a.tab.selected {\r\n    border-bottom: 2px solid {{vm.theme.accent}}\r\n}\r\n\r\n#details-bar-wrap {\r\n    color: rgb({{vm.theme.accent}});\r\n}\r\n\r\n\r\nheader {\r\n    color: rgb( {{vm.theme.text}});\r\n    background-color: rgb( {{vm.theme.background}})\r\n}\r\n\r\nfooter a:hover {\r\n    color: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.error-txt, .red-txt, .txt-red, .error-relative, .errors-sm {\r\n    color: rgb({{vm.theme.error}})\r\n}\r\n\r\n.text-link {\r\n    font-weight: normal !important;\r\n    text-decoration: underline;\r\n}\r\n\r\n\r\n#ccv-link {\r\n    color: rgba( {{vm.theme.line}}, .4)\r\n}\r\n\r\na.btn-std {\r\n    box-shadow: rgba(0, 0, 0, 0.137255) 0px 2px 2px 0px, rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.117647) 0px 1px 5px 0px;\r\n    background: {{vm.theme.accent}};\r\n    color: {{vm.theme.text}}\r\n}\r\n\r\n.error {\r\n    color: rgb({{vm.theme.error}})\r\n}\r\n\r\n.loader {\r\n  border-top: 1.1em solid rgba({{ vm.theme.line }}, 0.2);\r\n  border-right: 1.1em solid rgba({{ vm.theme.line }}, 0.2);\r\n  border-bottom: 1.1em solid rgba({{ vm.theme.line }}, 0.2);\r\n  border-left: 1.1em solid rgba({{ vm.theme.line }},0.6);\r\n}\r\n\r\n#gcw-customer-wrap {\r\n    background: rgba({{ vm.theme.background }}, .7);\r\n}\r\n\r\n/* input */\r\n\r\n.mdl-textfield__input {\r\n    border-bottom: 1px solid rgba({{vm.theme.line}}, .2)\r\n}\r\n\r\n.mdl-textfield--floating-label.is-invalid .mdl-textfield__label {\r\n    color: rgb({{vm.theme.inputLabel}});\r\n}\r\n\r\n.mdl-textfield__label {\r\n    color: rgb({{vm.theme.inputLabel}});\r\n    font-size: 14px;\r\n}\r\n\r\n.mdl-textfield.is-dirty .mdl-textfield__label, .mdl-textfield.is-focused .mdl-textfield__label {\r\n    color: rgb({{ vm.theme.accent }});\r\n}\r\n\r\n.mdl-textfield.is-invalid .mdl-textfield__input.ng-untouched {\r\n    border-bottom: 1px solid rgba({{vm.theme.line}}, .2);\r\n}\r\n\r\n.mdl-textfield.is-invalid .mdl-textfield__label:after, .mdl-textfield__label:after{\r\n    background-color: rgb({{vm.theme.accent}});\r\n}\r\n\r\n/* Nav dots */\r\n\r\n.widget-dots a.tab:after {\r\n    background: rgba({{vm.theme.line}}, .1);\r\n}\r\n\r\na.selected:after {\r\n    background: {{vm.theme.accent}}\r\n}\r\n\r\n/* date picker */\r\n\r\n[date-picker] th:hover,\r\n[date-picker] th span:hover,\r\n[date-picker] [ng-switch-when=\"date\"] td span:hover {\r\n    background: transparent;\r\n}\r\n\r\n#date-picker-wrap [date-picker] .now {\r\n    background-color: rgb({{vm.theme.background}});\r\n    color: rgb({{vm.theme.text}});\r\n}\r\n\r\nmain .helper {\r\n    color: rgb( {{vm.theme.text}});\r\n    text-align: center;\r\n}\r\n\r\nul.nav-bar li.nav-bar-item:after {\r\n    background: rgb({{vm.theme.accent}});\r\n}\r\n\r\n/* Card */\r\n\r\n.mdl-card {\r\n    background: rgba( {{vm.theme.background}}, .5);\r\n}\r\n\r\n.mdl-card ul li a {\r\n    border-top: 1px solid rgba( {{vm.theme.line}}, .08);\r\n    padding-left: 10px;\r\n}\r\n\r\n.mdl-card ul li a:hover {\r\n    background: rgb({{vm.theme.defaultHover}});\r\n}\r\n\r\n.mdl-card ul li a.selected {\r\n    background: rgb({{vm.theme.accent}});\r\n    color: rgb(255,255,255);\r\n}\r\n\r\n#details-bar-wrap {\r\n    color: {{vm.theme.accent}} !important;\r\n}\r\n\r\n.widget-tabs a.tab.selected {\r\n    border-bottom-color: rgb({{vm.theme.accent}}) !important;\r\n} \r\n\r\n#nav-wrap a.btn.blocked {\r\n    opacity: .7;\r\n}\r\n\r\n.gcw-cardtype-btn, .gcw-btn-accent {\r\n    background: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.gcw-cardtype-btn:hover {\r\n    background: rgb({{vm.theme.accentHover}});\r\n}\r\n\r\n.gcw-venue-card-selected .gcw-venue-label {\r\n    color: rgb({{vm.theme.accentText}}) !important;\r\n    background: rgb({{vm.theme.accent}}) !important;\r\n}\r\n\r\n/* Radio Buttons */\r\n\r\n.mdl-radio__ripple-container .mdl-ripple,\r\n.mdl-radio__inner-circle {\r\n    background: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.mdl-radio.is-checked .mdl-radio__outer-circle {\r\n    border-color: rgb({{vm.theme.accent}});\r\n}\r\n\r\n/* Covers time */\r\n\r\n#covers-time-wrap ul.time-wrap {\r\n    border-top: none;\r\n    color: rgb( {{vm.theme.line}});\r\n}\r\n\r\n#covers-time-wrap ul.time-wrap li a {\r\n    background: rgba({{vm.theme.background}}, .5);\r\n}\r\n\r\n#covers-time-wrap ul.time-wrap li a.selected {\r\n    background-color: rgb({{vm.theme.accent}}) !important;\r\n}\r\n\r\n#covers-time-wrap ul.time-wrap li a:hover {\r\n    background-color: rgb({{vm.theme.defaultHover}}); \r\n}\r\n\r\n#covers-time-wrap ul.time-wrap li:nth-child(-n+3) {\r\n    border-top:  1px solid rgba({{vm.theme.line}} ,.04);\r\n}\r\n\r\n#covers-time-wrap ul.time-wrap li {\r\n    border-right: 1px solid rgba({{vm.theme.line}} ,.04);\r\n    border-bottom: 1px solid rgba({{vm.theme.line}} ,.04);\r\n}\r\n\r\n#covers-time-wrap ul.time-wrap li:nth-child(3n+1) {\r\n    border-left: 1px solid rgba( {{vm.theme.line}} ,.04);\r\n}\r\n\r\n.spacer {\r\n    border-bottom: 1px solid rgba({{vm.theme.line}}, .2)\r\n}\r\n\r\n/**********************************\r\n        BACKGROUND IMAGES\r\n**********************************/\r\n\r\n.gcw-cardtype-item-img-ecard {\r\n    background-image: url(\'/assets/svg/language/{{vm.language}}/{{vm.currency}}/{{ vm.theme.type }}/e-card-icon.svg\');\r\n}\r\n\r\n.gcw-cardtype-item-img-physical {\r\n    background-image: url(\'/assets/svg/language/{{vm.language}}/{{vm.currency}}/{{ vm.theme.type }}/physical-card-icon.svg\');\r\n}\r\n\r\n.gcw-cardtype-item-img-experience {\r\n    background-image: url(\'/assets/svg/language/{{ vm.theme.type }}/experience-card-icon.svg\');\r\n}\r\n\r\n.address-form-wrap  #address-autocomplete {\r\n    background-image: url(\'/assets/svg/{{ vm.theme.type }}/search-icon.svg\');\r\n}\r\n\r\n/**********************************\r\n        Text COLOR\r\n**********************************/\r\n\r\n.mdl-textfield__input,\r\n.spinner-inline-label,\r\n.gcw-card-img,\r\n.modal-wrap .modal-btn:first-child  {\r\n    color: rgb({{vm.theme.text}});\r\n} \r\n\r\n/**********************************\r\n        BACKGROUND COLOR\r\n**********************************/\r\n\r\nul.gcw-card-list li.gcw-card .gcw-card-info,\r\n.gcw-cardtype-list li.gcw-cardtype-item.gcw-cardtype-item-active,  \r\n.gcw-cardtype-list li.gcw-cardtype-item,\r\n.gcw-cardtype-list li.gcw-cardtype-item:hover,  \r\n#gcw-payment-form-wrap,\r\n.session-timeout-wrap,\r\n.gcw-error-content,\r\nul.gcw-venue-list li.gcw-venue-card {\r\n    background-color: rgb( {{vm.theme.background}});\r\n    color: rgb({{vm.theme.text}});\r\n}\r\n\r\n\r\n/**********************************\r\n          BORDER COLOR\r\n**********************************/\r\n\r\nul.gcw-venue-list li.gcw-venue-card,\r\nul.card-list .card-label.card-label-border, \r\n.gcw-cardtype-list li.gcw-cardtype-item,\r\nul.gcw-card-list li.gcw-card,\r\n#gcw-payment-form-wrap,\r\n.session-timeout-wrap,\r\n.modal-wrap .modal-container .modal-header,\r\n.modal-wrap .modal-btn:first-child,\r\nul.gcw-venue-list li.gcw-venue-card .gcw-venue-label,\r\nul.gcw-card-list li.gcw-card .gcw-card-img,\r\nul.gcw-card-list li.gcw-card .gcw-card-info,\r\n#gcw-payment-summary-wrap,\r\n.gcw-error-wrap,\r\nh4  {\r\n    border-color: rgb({{vm.theme.border}});\r\n}\r\n\r\n\r\n/**********************************\r\n        BACKGROUND FEATURE\r\n**********************************/\r\n\r\n.gcw-card-summary-wrap,\r\n#gcw-form-wrap .gcw-billing-wrap,\r\n#gcw-payment-summary-wrap,\r\n.modal-header,\r\n.gcw-error-wrap,\r\nul.gcw-venue-list li.gcw-venue-card .gcw-venue-label  {\r\n    background:  rgb({{vm.theme.backgroundFeature}});\r\n    color: rgb({{vm.theme.text}});\r\n}\r\n\r\n\r\n/* Text inputs */ \r\n\r\n.mdl-radio__outer-circle, .mdl-checkbox__box-outline {\r\n    border-color: rgba({{vm.theme.line}}, .5);\r\n}\r\n\r\n.mdl-textfield__label:after {\r\n    background: {{vm.theme.accent}} !important\r\n}\r\n\r\n/* Check boxes */\r\n\r\n.mdl-checkbox__ripple-container .mdl-ripple,\r\n.mdl-checkbox.is-checked .mdl-checkbox__tick-outline {\r\n    height: 16px;\r\n    background-color: rgb({{vm.theme.accent}}) !important\r\n}\r\n\r\n.mdl-checkbox.is-checked .mdl-checkbox__box-outline {\r\n    width: 16px;\r\n    height: 16px;\r\n    border-color: rgb({{vm.theme.accent}}) !important\r\n}\r\n\r\n.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb {\r\n    background: #fff;\r\n    border: 3px solid rgba({{vm.theme.line}}, 0.2);\r\n}\r\n\r\n.mdl-slider.is-upgraded::-webkit-slider-thumb {\r\n    background: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.mdl-slider__background-lower {\r\n    background: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.mdl-slider.is-upgraded::-moz-range-thumb {\r\n    background-image: none;\r\n    background: rgb({{vm.theme.accent}});\r\n    border: none;\r\n}\r\n\r\n.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb {\r\n    box-shadow: 0 0 0 10px rgba({{vm.theme.line}}, 0.26);\r\n}\r\n\r\n.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb {\r\n    box-shadow: 0 0 0 10px rgba({{vm.theme.line}}, 0.26);\r\n}\r\n\r\n.mdl-slider.is-upgraded:active::-webkit-slider-thumb {\r\n    background-image: none;\r\n    background: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.mdl-slider.is-upgraded:active::-moz-range-thumb {\r\n    background-image: none;\r\n    background: {{vm.theme.accent}};\r\n}\r\n\r\n.mdl-slider.is-upgraded::-ms-thumb {\r\n    background: rgb({{vm.theme.accent}});\r\n    transition: transform 0.18s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1);\r\n}\r\n\r\n.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb {\r\n    background: radial-gradient(circle closest-side, rgb({{vm.theme.accent}}) 0%, rgb({{vm.theme.accent}}) 37.5%, rgba(255, 255, 255, 0.26) 37.5%, rgba(255, 255, 255, 0.26) 100%);\r\n}\r\n\r\n.mdl-slider.is-upgraded:active::-ms-thumb {\r\n    background:rgb({{vm.theme.accent}});\r\n}\r\n\r\n.mdl-slider__background-upper {\r\n    background: rgba({{vm.theme.line}}, .08);\r\n}\r\n\r\n/* Date Picker */\r\n\r\n#date-picker-wrap [date-picker] .active {\r\n    background-color: rgb({{vm.theme.accent}});\r\n    color: rgb(255,255,255);\r\n}\r\n\r\n#date-picker-wrap [date-picker] {\r\n    color: rgb( {{vm.theme.text}});\r\n    background-color: rgba({{vm.theme.background}}, .5);\r\n}\r\n\r\n#date-picker-wrap [date-picker] th:hover {\r\n    background: transparent;\r\n}\r\n\r\n/* spinner */\r\n\r\n.spinner-wrap .mdl-button--fab {\r\n    /*box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);\r\n    background-color: rgb({{vm.theme.background}});\r\n    color: rgb({{vm.theme.text}});*/\r\n    color: white;\r\n    background-color: rgb({{vm.theme.accent}});\r\n}\r\n\r\n.gcw-btn-accent {\r\n    background:  rgb({{vm.theme.accent}});\r\n}\r\n\r\n.gcw-btn {\r\n    background: rgb({{vm.theme.background}});\r\n    color: rgb({{vm.theme.text}});\r\n}\r\n\r\n.btn, button.btn, a.btn {\r\n    background: rgb({{vm.theme.background}});\r\n    color: rgb({{vm.theme.text}});\r\n}\r\n\r\na.btn.next, a.btn.accent, button[type=\'submit\'] {\r\n    background-color: rgb({{vm.theme.accent}});\r\n    color: #fff;\r\n    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n}\r\n\r\n@media only screen and (max-width: 767px) {\r\n\r\n    a.btn.back {\r\n        background: rgb({{vm.background}});\r\n        border-right: 1px solid rgba({{vm.theme.line}}, .2);\r\n    }\r\n    a.btn:hover {\r\n        background-color: rgba( {{vm.theme.line}}, .02)\r\n    }\r\n    a.btn.blocked:hover {\r\n        background-color: rgb({{vm.theme.accent}});\r\n        color: #fff;\r\n    }\r\n    /*a.btn.next:hover, a.btn.accent:hover {\r\n        background-color: rgb({{vm.theme.accentHover}});\r\n    }*/\r\n    a.btn.next.blocked:hover, a.btn.accent.blocked:hover {\r\n        background-color: rgb({{vm.theme.accent}});\r\n    }\r\n    .widget-dots a.selected:after {\r\n        background: rgb({{vm.theme.accentHover}}) !important;\r\n    }\r\n}\r\n\r\n@media only screen and (min-width: 768px) {\r\n    .widget-tabs a.tab {\r\n        color: {{vm.theme.text}}\r\n    }\r\n    .widget-tabs a.tab.selected {\r\n        border-bottom: 2px solid rgb({{vm.theme.accent}});\r\n    }\r\n    a.btn {\r\n        border: 0px rgba( {{vm.theme.line}}, .1) solid;\r\n    }\r\n    a.btn {\r\n        background-color: rgb( {{vm.theme.background}});\r\n        color: {{vm.theme.text}};\r\n        box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);\r\n    }\r\n    a.btn:hover {\r\n        background-color: rgba( {{vm.theme.line}}, .02)\r\n    }\r\n    a.btn.next:hover, a.btn.accent:hover {\r\n        background-color: rgb({{vm.theme.accentHover}});\r\n    }\r\n    a.btn.next.blocked:hover, a.btn.accent.blocked:hover {\r\n        background-color: rgb({{vm.theme.accent}});\r\n    }\r\n\r\n} \r\n\r\n</style>");
$templateCache.put("app/directives/address/address.html","<form name=\"vm.addressForm\" class=\"address-form-wrap\" mdl-upgrade=\"\" novalidate=\"\"><div class=\"address-form-autofill-wrap\"><div mdl-upgrade=\"\" id=\"formattedAddress\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" name=\"formattedAddress\" placeholder=\"\" id=\"address-autocomplete\" ng-model=\"vm.internalValue.formattedAddress\" ng-focus=\"vm.geolocate()\" type=\"text\" ng-required=\"!vm.isFormActive\"> <label class=\"mdl-textfield__label\" for=\"formattedAddress\" ng-i18next=\"\">Mailing Address</label><div ng-messages=\"vm.addressForm.formattedAddress.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.formattedAddress.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your address</div><div ng-message=\"is-equal-to\" ng-i18next=\"\">Your address is not valid</div></div></div><div class=\"address-btn-wrap\"><a class=\"gcw-btn-accent\" ng-click=\"vm.isFormActive = true\" ng-if=\"!vm.isFormActive\" ng-i18next=\"\">Can\'t find address</a></div></div><div class=\"address-field-wrap\" ng-class=\"{ \'address-field-wrap-active\': vm.isFormActive}\"><div id=\"address\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"address\" ng-model=\"vm.internalValue.address\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"address\" ng-i18next=\"\">Address</label><div ng-messages=\"vm.addressForm.address.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.address.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your address</div></div></div><div id=\"address2\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"address2\" ng-model=\"vm.internalValue.address2\"> <label class=\"mdl-textfield__label\" for=\"address2\" ng-i18next=\"\">Address 2</label></div><div id=\"suburb\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"suburb\" ng-model=\"vm.internalValue.suburb\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"suburb\" ng-i18next=\"Suburb\">*Suburb</label><div ng-messages=\"vm.addressForm.suburb.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.suburb.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your suburb</div></div></div><div id=\"city\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"city\" ng-model=\"vm.internalValue.city\" ng-required=\"vm.internalValue.country === \'NZ\'\"> <label class=\"mdl-textfield__label\" for=\"city\" ng-i18next=\"\">City</label><div ng-messages=\"vm.addressForm.city.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.city.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your city</div></div></div><div class=\"address-split-inputs\"><div id=\"state\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"state\" ng-model=\"vm.internalValue.state\" ng-required=\"vm.internalValue.country === \'AU\'\"> <label class=\"mdl-textfield__label\" for=\"state\"><span ng-if=\"vm.internalValue.country === \'AU\'\">*</span> <span ng-i18next=\"\">State</span><span ng-if=\"vm.internalValue.country !== \'AU\'\" ng-i18next=\"\">/Province</span></label><div ng-messages=\"vm.addressForm.state.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.state.$touched\" class=\"error\"><div ng-message=\"required\"><span ng-i18next=\"\">You forgot to enter your state</span><span ng-if=\"vm.internalValue.country !== \'AU\'\" ng-i18next=\"\">/Province</span></div></div></div><div id=\"postcode\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"postcode\" ng-model=\"vm.internalValue.postcode\" ng-minlength=\"4\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"postcode\"><span>*</span><span ng-i18next=\"\">Postcode</span></label><div ng-messages=\"vm.addressForm.postcode.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.postcode.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your postcode</div><div ng-message=\"minlength\" ng-i18next=\"\">Your postcode is too short</div></div></div><div id=\"country\" mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield mdl-textfield--floating-label\"><input class=\"mdl-textfield__input\" type=\"text\" name=\"state\" ng-model=\"vm.internalValue.country\" required=\"\"> <label class=\"mdl-textfield__label\" for=\"country\" ng-i18next=\"\">*Country</label><div ng-messages=\"vm.addressForm.country.$error\" ng-if=\"vm.isSubmitted || vm.addressForm.country.$touched\" class=\"error\"><div ng-message=\"required\" ng-i18next=\"\">You forgot to enter your country</div></div></div></div></div></form>");
$templateCache.put("app/directives/spinner/spinner.html","<div class=\"spinner-wrap\"><label class=\"spinner-inline-label\" ng-if=\"vm.label\" ng-i18next=\"\">{{vm.label}}</label><div mdl-upgrade=\"\" class=\"mdl-textfield mdl-js-textfield textfield-demo gcw-spinner-input\"><input class=\"mdl-textfield__input\" type=\"number\" pattern=\"-?[0-9]*(\\.[0-9]+)?\" min=\"0\" ng-model=\"vm.internalValue\"> <span class=\"mdl-textfield__error\" ng-i18next=\"\">Invalid entry</span></div><button mdl-upgrade=\"\" class=\"mdl-button mdl-js-button mdl-button--fab\" ng-click=\'vm.increment(\"down\")\'>-</button> <button mdl-upgrade=\"\" class=\"mdl-button mdl-js-button mdl-button--fab\" ng-click=\'vm.increment(\"up\")\'>+</button></div>");}]);
}