From 53d61a4a90f9e772d28d94f2fc4bd205b191b5e8 Mon Sep 17 00:00:00 2001 From: Tino Favetto Date: Tue, 1 Sep 2020 09:52:08 +0200 Subject: [PATCH] init commit --- .gitignore | 127 + Gruntfile.js | 195 + README.md | 0 build/icons/bag.svg | 10 + build/icons/bars.svg | 3 + build/icons/check.svg | 3 + build/icons/down.svg | 3 + build/icons/download.svg | 4 + build/icons/left.svg | 3 + build/icons/pencil.svg | 3 + build/icons/person.svg | 3 + build/icons/plus-circle.svg | 4 + build/icons/right.svg | 3 + build/icons/rss.svg | 5 + build/icons/search.svg | 4 + build/icons/star-half-o.svg | 3 + build/icons/star.svg | 3 + build/icons/sync.svg | 4 + build/icons/times.svg | 3 + build/icons/trash.svg | 4 + build/icons/up.svg | 3 + build/js/list.js | 297 + build/js/main.js | 376 ++ build/js/pages/compare.js | 36 + build/js/pages/details.js | 114 + build/js/pages/review.js | 44 + build/js/pages/start.js | 56 + build/scss/_icons.scss | 168 + build/scss/_variables.scss | 202 + build/scss/_webfont.scss | 36 + build/scss/form/_recommendation_add.scss | 13 + build/scss/form/_wishlist_publish.scss | 9 + build/scss/form/fieldset/_user_shipping.scss | 22 + build/scss/icons.html | 289 + build/scss/layout/_base.scss | 48 + build/scss/layout/_footer.scss | 65 + build/scss/layout/_header.scss | 91 + build/scss/manufacturer.scss | 10 + .../scss/page/account/inc/_account_menu.scss | 25 + build/scss/page/checkout/_order.scss | 30 + .../checkout/inc/_basketcontents_list.scss | 22 + build/scss/page/checkout/inc/_payments.scss | 80 + build/scss/page/checkout/inc/_steps.scss | 58 + build/scss/page/compare/_compare.scss | 23 + build/scss/page/compare/inc/_compareitem.scss | 18 + build/scss/page/details/_details.scss | 142 + build/scss/page/list/_list.scss | 7 + build/scss/promoslider.scss | 10 + build/scss/style.scss | 27 + build/scss/vendor/_bootstrap.scss | 55 + build/scss/vendor/_slick-theme.scss | 174 + build/scss/vendor/_slick.scss | 95 + build/scss/vendor/_variables_ORGINAL.scss | 1260 ++++ build/scss/widget/_base.scss | 0 build/scss/widget/_breadcrumb.scss | 7 + build/scss/widget/_manufacturer.scss | 9 + build/scss/widget/_promoslider.scss | 5 + build/scss/widget/footer/_categorylist.scss | 0 build/scss/widget/footer/_info.scss | 0 .../scss/widget/footer/_manufacturerlist.scss | 0 build/scss/widget/footer/_newsletter.scss | 9 + build/scss/widget/footer/_services.scss | 19 + build/scss/widget/header/_betanote.scss | 0 build/scss/widget/header/_categorylist.scss | 26 + build/scss/widget/header/_cookienote.scss | 0 build/scss/widget/header/_currencies.scss | 31 + build/scss/widget/header/_languages.scss | 31 + build/scss/widget/header/_loginbox.scss | 4 + build/scss/widget/header/_menubasket.scss | 0 build/scss/widget/header/_minibasket.scss | 0 build/scss/widget/header/_search.scss | 16 + build/scss/widget/header/_servicebox.scss | 0 build/scss/widget/header/_servicemenu.scss | 33 + build/scss/widget/locator/_attributes.scss | 36 + build/scss/widget/locator/_paging.scss | 3 + build/scss/widget/minibasket/_minibasket.scss | 0 build/scss/widget/product/_list.scss | 7 + .../widget/product/list/_listitem-grid.scss | 80 + .../widget/product/list/_listitem-line.scss | 34 + build/scss/widget/reviews/_rating.scss | 23 + build/scss/widget/reviews/_reviews.scss | 10 + .../scss/widget/sidebar/_recommendation.scss | 0 build/tasks/templates/custom_webfont.json | 4 + build/tasks/templates/custom_webfont.scss | 117 + build/vendor/bootstrap/js/bootstrap.js | 2363 ++++++++ build/vendor/bootstrap/less/alerts.less | 73 + build/vendor/bootstrap/less/badges.less | 66 + build/vendor/bootstrap/less/bootstrap.less | 56 + build/vendor/bootstrap/less/breadcrumbs.less | 26 + .../vendor/bootstrap/less/button-groups.less | 244 + build/vendor/bootstrap/less/buttons.less | 166 + build/vendor/bootstrap/less/carousel.less | 269 + build/vendor/bootstrap/less/close.less | 34 + build/vendor/bootstrap/less/code.less | 69 + .../bootstrap/less/component-animations.less | 33 + build/vendor/bootstrap/less/dropdowns.less | 216 + build/vendor/bootstrap/less/forms.less | 607 ++ build/vendor/bootstrap/less/glyphicons.less | 305 + build/vendor/bootstrap/less/grid.less | 84 + build/vendor/bootstrap/less/input-groups.less | 167 + build/vendor/bootstrap/less/jumbotron.less | 52 + build/vendor/bootstrap/less/labels.less | 64 + build/vendor/bootstrap/less/list-group.less | 130 + build/vendor/bootstrap/less/media.less | 66 + build/vendor/bootstrap/less/mixins.less | 40 + .../vendor/bootstrap/less/mixins/alerts.less | 14 + .../less/mixins/background-variant.less | 9 + .../bootstrap/less/mixins/border-radius.less | 18 + .../vendor/bootstrap/less/mixins/buttons.less | 68 + .../bootstrap/less/mixins/center-block.less | 7 + .../bootstrap/less/mixins/clearfix.less | 22 + build/vendor/bootstrap/less/mixins/forms.less | 85 + .../bootstrap/less/mixins/gradients.less | 59 + .../bootstrap/less/mixins/grid-framework.less | 91 + build/vendor/bootstrap/less/mixins/grid.less | 122 + .../bootstrap/less/mixins/hide-text.less | 21 + build/vendor/bootstrap/less/mixins/image.less | 33 + .../vendor/bootstrap/less/mixins/labels.less | 12 + .../bootstrap/less/mixins/list-group.less | 30 + .../bootstrap/less/mixins/nav-divider.less | 10 + .../less/mixins/nav-vertical-align.less | 9 + .../vendor/bootstrap/less/mixins/opacity.less | 8 + .../bootstrap/less/mixins/pagination.less | 24 + .../vendor/bootstrap/less/mixins/panels.less | 24 + .../bootstrap/less/mixins/progress-bar.less | 10 + .../bootstrap/less/mixins/reset-filter.less | 8 + .../bootstrap/less/mixins/reset-text.less | 18 + .../vendor/bootstrap/less/mixins/resize.less | 6 + .../less/mixins/responsive-visibility.less | 15 + build/vendor/bootstrap/less/mixins/size.less | 10 + .../bootstrap/less/mixins/tab-focus.less | 9 + .../bootstrap/less/mixins/table-row.less | 28 + .../bootstrap/less/mixins/text-emphasis.less | 9 + .../bootstrap/less/mixins/text-overflow.less | 8 + .../less/mixins/vendor-prefixes.less | 227 + build/vendor/bootstrap/less/modals.less | 150 + build/vendor/bootstrap/less/navbar.less | 660 +++ build/vendor/bootstrap/less/navs.less | 242 + build/vendor/bootstrap/less/normalize.less | 424 ++ build/vendor/bootstrap/less/pager.less | 54 + build/vendor/bootstrap/less/pagination.less | 89 + build/vendor/bootstrap/less/panels.less | 271 + build/vendor/bootstrap/less/popovers.less | 131 + build/vendor/bootstrap/less/print.less | 101 + .../vendor/bootstrap/less/progress-bars.less | 87 + .../bootstrap/less/responsive-embed.less | 35 + .../bootstrap/less/responsive-utilities.less | 194 + build/vendor/bootstrap/less/scaffolding.less | 161 + build/vendor/bootstrap/less/tables.less | 241 + build/vendor/bootstrap/less/theme.less | 291 + build/vendor/bootstrap/less/thumbnails.less | 36 + build/vendor/bootstrap/less/tooltip.less | 101 + build/vendor/bootstrap/less/type.less | 302 + build/vendor/bootstrap/less/utilities.less | 55 + build/vendor/bootstrap/less/variables.less | 867 +++ build/vendor/bootstrap/less/wells.less | 29 + build/vendor/oxid-esales/js/oxagbcheck.js | 56 + build/vendor/oxid-esales/js/oxajax.js | 256 + .../vendor/oxid-esales/js/oxarticlevariant.js | 157 + build/vendor/oxid-esales/js/oxbasketchecks.js | 61 + build/vendor/oxid-esales/js/oxblockdebug.js | 123 + build/vendor/oxid-esales/js/oxcookienote.js | 59 + .../oxid-esales/js/oxcountrystateselect.js | 155 + build/vendor/oxid-esales/js/oxequalizer.js | 88 + .../oxid-esales/js/oxlistremovebutton.js | 41 + build/vendor/oxid-esales/js/oxpayment.js | 39 + .../js/oxusershipingaddressselect.js | 96 + build/vendor/raleway/latin-200-normal.css | 10 + build/vendor/raleway/latin-400-normal.css | 10 + build/vendor/raleway/latin-700-normal.css | 10 + .../raleway/raleway-latin-200-normal.woff | Bin 0 -> 24724 bytes .../raleway/raleway-latin-200-normal.woff2 | Bin 0 -> 45448 bytes .../raleway/raleway-latin-400-normal.woff | Bin 0 -> 24900 bytes .../raleway/raleway-latin-400-normal.woff2 | Bin 0 -> 45448 bytes .../raleway/raleway-latin-700-normal.woff | Bin 0 -> 25212 bytes .../raleway/raleway-latin-700-normal.woff2 | Bin 0 -> 45448 bytes de/lang.php | 146 + de/theme_options.php | 266 + en/lang.php | 146 + en/theme_options.php | 208 + htaccess_VORLAGE | 92 + offline.html | 65 + out/moga/img/favicons/apple-icon-310x310.png | Bin 0 -> 13387 bytes out/moga/img/favicons/favicon-16x16.png | Bin 0 -> 1255 bytes out/moga/img/favicons/favicon-32x32.png | Bin 0 -> 1811 bytes out/moga/img/favicons/favicon-96x96.png | Bin 0 -> 3654 bytes out/moga/img/favicons/favicon.ico | Bin 0 -> 1150 bytes out/moga/img/lang/blank.png | Bin 0 -> 134 bytes out/moga/img/lang/de.png | Bin 0 -> 251 bytes out/moga/img/lang/en.png | Bin 0 -> 671 bytes out/moga/img/loading.svg | 6 + out/moga/img/moga.png | Bin 0 -> 50252 bytes out/moga/moga.png | Bin 0 -> 50252 bytes out/moga/src/css/manufacturer.min.css | 1 + out/moga/src/css/promoslider.min.css | 1 + out/moga/src/css/styles.min.css | 6 + out/moga/src/fonts/icons.woff | Bin 0 -> 5784 bytes out/moga/src/fonts/icons.woff2 | Bin 0 -> 4896 bytes out/moga/src/fonts/raleway200.woff | Bin 0 -> 24724 bytes out/moga/src/fonts/raleway200.woff2 | Bin 0 -> 45448 bytes out/moga/src/fonts/raleway400.woff | Bin 0 -> 24900 bytes out/moga/src/fonts/raleway400.woff2 | Bin 0 -> 45448 bytes out/moga/src/fonts/raleway700.woff | Bin 0 -> 25212 bytes out/moga/src/fonts/raleway700.woff2 | Bin 0 -> 45448 bytes out/moga/src/js/compare.min.js | 36 + out/moga/src/js/details.min.js | 158 + out/moga/src/js/scripts.min.js | 10 + out/moga/src/js/start.min.js | 56 + out/moga/src/js/widgets/oxagbcheck.min.js | 1 + out/moga/src/js/widgets/oxajax.min.js | 89 + .../src/js/widgets/oxarticlevariant.min.js | 60 + out/moga/src/js/widgets/oxbasketchecks.min.js | 1 + out/moga/src/js/widgets/oxblockdebug.min.js | 1 + out/moga/src/js/widgets/oxcookienote.min.js | 1 + .../js/widgets/oxcountrystateselect.min.js | 1 + .../src/js/widgets/oxlistremovebutton.min.js | 1 + out/moga/src/js/widgets/oxpayment.min.js | 1 + out/moga/src/js/widgets/oxrating.js | 122 + out/moga/src/js/widgets/oxreview.js | 49 + .../widgets/oxusershipingaddressselect.min.js | 1 + out/moga/src/js/widgets/oxwidgetshandler.js | 146 + package-lock.json | 5146 +++++++++++++++++ package.json | 35 + setup.sql | 144 + theme.php | 499 ++ tpl/custom/ajax_econda_recommendations.tpl | 45 + tpl/custom/dir.txt | 1 + tpl/email/html/footer.tpl | 101 + tpl/email/html/forgotpwd.tpl | 10 + tpl/email/html/header.tpl | 855 +++ tpl/email/html/invite.tpl | 41 + tpl/email/html/newsletteroptin.tpl | 9 + tpl/email/html/order_cust.tpl | 541 ++ tpl/email/html/order_owner.tpl | 469 ++ tpl/email/html/ordershipped.tpl | 103 + tpl/email/html/owner_reminder.tpl | 58 + tpl/email/html/pricealarm_owner.tpl | 10 + tpl/email/html/register.tpl | 9 + tpl/email/html/senddownloadlinks.tpl | 41 + tpl/email/html/suggest.tpl | 62 + tpl/email/html/wishlist.tpl | 18 + tpl/email/plain/forgotpwd.tpl | 3 + tpl/email/plain/invite.tpl | 11 + tpl/email/plain/newsletteroptin.tpl | 7 + tpl/email/plain/order_cust.tpl | 256 + tpl/email/plain/order_owner.tpl | 213 + tpl/email/plain/ordershipped.tpl | 46 + tpl/email/plain/pricealarm_owner.tpl | 14 + tpl/email/plain/register.tpl | 3 + tpl/email/plain/senddownloadlinks.tpl | 32 + tpl/email/plain/suggest.tpl | 24 + tpl/email/plain/wishlist.tpl | 18 + tpl/form/account_newsletter.tpl | 25 + tpl/form/contact.tpl | 122 + .../delete_shipping_address_modal.tpl | 59 + tpl/form/fieldset/order_newsletter.tpl | 15 + tpl/form/fieldset/order_remark.tpl | 8 + tpl/form/fieldset/salutation.tpl | 8 + tpl/form/fieldset/state.tpl | 42 + tpl/form/fieldset/user_account.tpl | 41 + tpl/form/fieldset/user_billing.tpl | 226 + tpl/form/fieldset/user_email.tpl | 19 + tpl/form/fieldset/user_noaccount.tpl | 24 + tpl/form/fieldset/user_shipping.tpl | 230 + tpl/form/forgotpwd_change_pwd.tpl | 34 + tpl/form/forgotpwd_email.tpl | 37 + tpl/form/formparams.tpl | 1 + tpl/form/login.tpl | 38 + tpl/form/login_account.tpl | 69 + tpl/form/newsletter.tpl | 58 + tpl/form/pricealarm.tpl | 38 + tpl/form/privatesales/accept_terms.tpl | 31 + tpl/form/privatesales/basketexcl.tpl | 27 + tpl/form/privatesales/invite.tpl | 91 + tpl/form/recommendation_add.tpl | 35 + tpl/form/recommendation_edit.tpl | 40 + tpl/form/register.tpl | 79 + tpl/form/suggest.tpl | 72 + tpl/form/user.tpl | 101 + tpl/form/user_checkout_change.tpl | 143 + tpl/form/user_checkout_noregistration.tpl | 113 + tpl/form/user_checkout_registration.tpl | 115 + tpl/form/user_password.tpl | 45 + tpl/form/wishlist_publish.tpl | 30 + tpl/form/wishlist_search.tpl | 32 + tpl/form/wishlist_suggest.tpl | 46 + tpl/i18n/js_vars.tpl | 14 + tpl/layout/base.tpl | 213 + tpl/layout/footer.tpl | 177 + tpl/layout/header.tpl | 112 + tpl/layout/page.tpl | 41 + tpl/layout/popup.tpl | 10 + tpl/layout/sidebar.tpl | 58 + tpl/message/err_404.tpl | 37 + tpl/message/err_accessdenied.tpl | 7 + tpl/message/err_setup.tpl | 11 + tpl/message/err_unknown.tpl | 9 + tpl/message/error.tpl | 1 + tpl/message/errors.tpl | 8 + tpl/message/errors_modal.tpl | 21 + tpl/message/exception.tpl | 21 + tpl/message/inputvalidation.tpl | 3 + tpl/message/notice.tpl | 1 + tpl/message/success.tpl | 1 + tpl/message/user_blocked.tpl | 8 + tpl/page/account/dashboard.tpl | 154 + .../delete_my_account_confirmation.tpl | 50 + .../account/delete_review_confirmation.tpl | 51 + tpl/page/account/downloads.tpl | 52 + tpl/page/account/forgotpwd.tpl | 62 + tpl/page/account/inc/account_menu.tpl | 47 + tpl/page/account/inc/file_attributes.tpl | 19 + tpl/page/account/login.tpl | 10 + tpl/page/account/newsletter.tpl | 20 + tpl/page/account/noticelist.tpl | 16 + tpl/page/account/order.tpl | 108 + tpl/page/account/password.tpl | 28 + tpl/page/account/recommendationadd.tpl | 12 + tpl/page/account/recommendationedit.tpl | 22 + tpl/page/account/recommendationlist.tpl | 30 + tpl/page/account/register.tpl | 23 + tpl/page/account/register_confirm.tpl | 10 + tpl/page/account/register_success.tpl | 23 + tpl/page/account/reviews.tpl | 93 + tpl/page/account/user.tpl | 12 + tpl/page/account/wishlist.tpl | 41 + tpl/page/checkout/basket.tpl | 127 + tpl/page/checkout/inc/agb.tpl | 80 + tpl/page/checkout/inc/basketcontents.tpl | 280 + tpl/page/checkout/inc/basketcontents_list.tpl | 296 + .../checkout/inc/basketcontents_table.tpl | 299 + tpl/page/checkout/inc/options.tpl | 76 + tpl/page/checkout/inc/payment_other.tpl | 38 + .../checkout/inc/payment_oxidcashondel.tpl | 27 + .../checkout/inc/payment_oxidcreditcard.tpl | 91 + .../checkout/inc/payment_oxiddebitnote.tpl | 45 + tpl/page/checkout/inc/steps.tpl | 77 + tpl/page/checkout/inc/wrapping.tpl | 181 + tpl/page/checkout/order.tpl | 290 + tpl/page/checkout/payment.tpl | 176 + tpl/page/checkout/thankyou.tpl | 46 + tpl/page/checkout/user.tpl | 33 + tpl/page/compare/compare.tpl | 71 + tpl/page/compare/inc/compareitem.tpl | 161 + tpl/page/details/ajax/fullproductinfo.tpl | 10 + tpl/page/details/ajax/productmain.tpl | 14 + tpl/page/details/details.tpl | 74 + tpl/page/details/inc/attributes.tpl | 6 + tpl/page/details/inc/compare_links.tpl | 5 + tpl/page/details/inc/deliverytime.tpl | 16 + tpl/page/details/inc/fullproductinfo.tpl | 18 + tpl/page/details/inc/media.tpl | 21 + tpl/page/details/inc/morepics.tpl | 24 + tpl/page/details/inc/photoswipe.tpl | 52 + tpl/page/details/inc/priceinfo.tpl | 37 + tpl/page/details/inc/productmain.tpl | 370 ++ tpl/page/details/inc/related_products.tpl | 35 + tpl/page/details/inc/tabs.tpl | 84 + tpl/page/info/clearcookies.tpl | 12 + tpl/page/info/contact.tpl | 58 + tpl/page/info/content.tpl | 14 + tpl/page/info/content_plain.tpl | 10 + tpl/page/info/links.tpl | 24 + tpl/page/info/news.tpl | 24 + tpl/page/info/newsletter.tpl | 39 + tpl/page/info/suggest.tpl | 16 + tpl/page/list/list.tpl | 195 + tpl/page/list/morecategories.tpl | 107 + tpl/page/privatesales/invite.tpl | 17 + tpl/page/privatesales/login.tpl | 26 + tpl/page/recommendations/inc/list.tpl | 45 + tpl/page/recommendations/recommlist.tpl | 57 + tpl/page/review/review.tpl | 27 + tpl/page/review/review_login.tpl | 12 + tpl/page/search/search.tpl | 41 + tpl/page/shop/mallstart.tpl | 44 + tpl/page/shop/start.tpl | 90 + tpl/page/wishlist/wishlist.tpl | 24 + tpl/rdfa/content/content.tpl | 16 + tpl/rdfa/content/inc/business_entity.tpl | 37 + tpl/rdfa/content/inc/delivery_charge.tpl | 46 + tpl/rdfa/content/inc/payment_charge.tpl | 8 + tpl/rdfa/details/details.tpl | 96 + tpl/rdfa/details/inc/delivery.tpl | 16 + tpl/rdfa/details/inc/object.tpl | 71 + tpl/rdfa/details/inc/payment.tpl | 12 + tpl/rdfa/details/inc/price.tpl | 48 + tpl/rdfa/rdfa.tpl | 5 + tpl/widget/address/billing_address.tpl | 13 + tpl/widget/address/shipping_address.tpl | 11 + tpl/widget/breadcrumb.tpl | 21 + tpl/widget/dynscript.tpl | 216 + tpl/widget/footer/categorylist.tpl | 18 + tpl/widget/footer/info.tpl | 31 + tpl/widget/footer/manufacturerlist.tpl | 19 + tpl/widget/footer/newsletter.tpl | 29 + tpl/widget/footer/services.tpl | 49 + tpl/widget/footer/vendorlist.tpl | 10 + tpl/widget/header/betanote.tpl | 16 + tpl/widget/header/categorylist.tpl | 59 + tpl/widget/header/cookienote.tpl | 16 + tpl/widget/header/currencies.tpl | 25 + tpl/widget/header/languages.tpl | 27 + tpl/widget/header/loginbox.tpl | 55 + tpl/widget/header/menubasket.tpl | 8 + tpl/widget/header/minibasket.tpl | 21 + tpl/widget/header/search.tpl | 22 + tpl/widget/header/servicebox.tpl | 40 + tpl/widget/header/servicemenu.tpl | 53 + tpl/widget/locator/attributes.tpl | 45 + tpl/widget/locator/itemsperpage.tpl | 21 + tpl/widget/locator/listdisplaytype.tpl | 15 + tpl/widget/locator/listlocator.tpl | 31 + tpl/widget/locator/paging.tpl | 56 + tpl/widget/locator/sort.tpl | 33 + tpl/widget/manufacturer.tpl | 36 + tpl/widget/minibasket/countdown.tpl | 10 + tpl/widget/minibasket/minibasket.tpl | 164 + tpl/widget/minibasket/minibasketmodal.tpl | 3 + tpl/widget/minibasket/newbasketitemmsg.tpl | 14 + tpl/widget/product/bargainitems.tpl | 104 + tpl/widget/product/compare_links.tpl | 6 + tpl/widget/product/details.tpl | 6 + tpl/widget/product/list.tpl | 60 + tpl/widget/product/listitem_grid.tpl | 96 + tpl/widget/product/listitem_line.tpl | 231 + tpl/widget/product/selectbox.tpl | 61 + tpl/widget/promoslider.tpl | 107 + tpl/widget/reviews/rating.tpl | 57 + tpl/widget/reviews/reviews.tpl | 134 + tpl/widget/rss.tpl | 36 + tpl/widget/shoplupe/ratings.tpl | 16 + tpl/widget/sidebar/adminbanner.tpl | 4 + tpl/widget/sidebar/categorytree.tpl | 44 + tpl/widget/sidebar/news.tpl | 19 + tpl/widget/sidebar/partners.tpl | 11 + tpl/widget/sidebar/recommendation.tpl | 50 + 437 files changed, 37473 insertions(+) create mode 100644 .gitignore create mode 100644 Gruntfile.js create mode 100644 README.md create mode 100644 build/icons/bag.svg create mode 100644 build/icons/bars.svg create mode 100644 build/icons/check.svg create mode 100644 build/icons/down.svg create mode 100644 build/icons/download.svg create mode 100644 build/icons/left.svg create mode 100644 build/icons/pencil.svg create mode 100644 build/icons/person.svg create mode 100644 build/icons/plus-circle.svg create mode 100644 build/icons/right.svg create mode 100644 build/icons/rss.svg create mode 100644 build/icons/search.svg create mode 100644 build/icons/star-half-o.svg create mode 100644 build/icons/star.svg create mode 100644 build/icons/sync.svg create mode 100644 build/icons/times.svg create mode 100644 build/icons/trash.svg create mode 100644 build/icons/up.svg create mode 100644 build/js/list.js create mode 100644 build/js/main.js create mode 100644 build/js/pages/compare.js create mode 100644 build/js/pages/details.js create mode 100644 build/js/pages/review.js create mode 100644 build/js/pages/start.js create mode 100644 build/scss/_icons.scss create mode 100644 build/scss/_variables.scss create mode 100644 build/scss/_webfont.scss create mode 100644 build/scss/form/_recommendation_add.scss create mode 100644 build/scss/form/_wishlist_publish.scss create mode 100644 build/scss/form/fieldset/_user_shipping.scss create mode 100644 build/scss/icons.html create mode 100644 build/scss/layout/_base.scss create mode 100644 build/scss/layout/_footer.scss create mode 100644 build/scss/layout/_header.scss create mode 100644 build/scss/manufacturer.scss create mode 100644 build/scss/page/account/inc/_account_menu.scss create mode 100644 build/scss/page/checkout/_order.scss create mode 100644 build/scss/page/checkout/inc/_basketcontents_list.scss create mode 100644 build/scss/page/checkout/inc/_payments.scss create mode 100644 build/scss/page/checkout/inc/_steps.scss create mode 100644 build/scss/page/compare/_compare.scss create mode 100644 build/scss/page/compare/inc/_compareitem.scss create mode 100644 build/scss/page/details/_details.scss create mode 100644 build/scss/page/list/_list.scss create mode 100644 build/scss/promoslider.scss create mode 100644 build/scss/style.scss create mode 100644 build/scss/vendor/_bootstrap.scss create mode 100644 build/scss/vendor/_slick-theme.scss create mode 100644 build/scss/vendor/_slick.scss create mode 100644 build/scss/vendor/_variables_ORGINAL.scss create mode 100644 build/scss/widget/_base.scss create mode 100644 build/scss/widget/_breadcrumb.scss create mode 100644 build/scss/widget/_manufacturer.scss create mode 100644 build/scss/widget/_promoslider.scss create mode 100644 build/scss/widget/footer/_categorylist.scss create mode 100644 build/scss/widget/footer/_info.scss create mode 100644 build/scss/widget/footer/_manufacturerlist.scss create mode 100644 build/scss/widget/footer/_newsletter.scss create mode 100644 build/scss/widget/footer/_services.scss create mode 100644 build/scss/widget/header/_betanote.scss create mode 100644 build/scss/widget/header/_categorylist.scss create mode 100644 build/scss/widget/header/_cookienote.scss create mode 100644 build/scss/widget/header/_currencies.scss create mode 100644 build/scss/widget/header/_languages.scss create mode 100644 build/scss/widget/header/_loginbox.scss create mode 100644 build/scss/widget/header/_menubasket.scss create mode 100644 build/scss/widget/header/_minibasket.scss create mode 100644 build/scss/widget/header/_search.scss create mode 100644 build/scss/widget/header/_servicebox.scss create mode 100644 build/scss/widget/header/_servicemenu.scss create mode 100644 build/scss/widget/locator/_attributes.scss create mode 100644 build/scss/widget/locator/_paging.scss create mode 100644 build/scss/widget/minibasket/_minibasket.scss create mode 100644 build/scss/widget/product/_list.scss create mode 100644 build/scss/widget/product/list/_listitem-grid.scss create mode 100644 build/scss/widget/product/list/_listitem-line.scss create mode 100644 build/scss/widget/reviews/_rating.scss create mode 100644 build/scss/widget/reviews/_reviews.scss create mode 100644 build/scss/widget/sidebar/_recommendation.scss create mode 100755 build/tasks/templates/custom_webfont.json create mode 100755 build/tasks/templates/custom_webfont.scss create mode 100644 build/vendor/bootstrap/js/bootstrap.js create mode 100644 build/vendor/bootstrap/less/alerts.less create mode 100644 build/vendor/bootstrap/less/badges.less create mode 100644 build/vendor/bootstrap/less/bootstrap.less create mode 100644 build/vendor/bootstrap/less/breadcrumbs.less create mode 100644 build/vendor/bootstrap/less/button-groups.less create mode 100644 build/vendor/bootstrap/less/buttons.less create mode 100644 build/vendor/bootstrap/less/carousel.less create mode 100644 build/vendor/bootstrap/less/close.less create mode 100644 build/vendor/bootstrap/less/code.less create mode 100644 build/vendor/bootstrap/less/component-animations.less create mode 100644 build/vendor/bootstrap/less/dropdowns.less create mode 100644 build/vendor/bootstrap/less/forms.less create mode 100644 build/vendor/bootstrap/less/glyphicons.less create mode 100644 build/vendor/bootstrap/less/grid.less create mode 100644 build/vendor/bootstrap/less/input-groups.less create mode 100644 build/vendor/bootstrap/less/jumbotron.less create mode 100644 build/vendor/bootstrap/less/labels.less create mode 100644 build/vendor/bootstrap/less/list-group.less create mode 100644 build/vendor/bootstrap/less/media.less create mode 100644 build/vendor/bootstrap/less/mixins.less create mode 100644 build/vendor/bootstrap/less/mixins/alerts.less create mode 100644 build/vendor/bootstrap/less/mixins/background-variant.less create mode 100644 build/vendor/bootstrap/less/mixins/border-radius.less create mode 100644 build/vendor/bootstrap/less/mixins/buttons.less create mode 100644 build/vendor/bootstrap/less/mixins/center-block.less create mode 100644 build/vendor/bootstrap/less/mixins/clearfix.less create mode 100644 build/vendor/bootstrap/less/mixins/forms.less create mode 100644 build/vendor/bootstrap/less/mixins/gradients.less create mode 100644 build/vendor/bootstrap/less/mixins/grid-framework.less create mode 100644 build/vendor/bootstrap/less/mixins/grid.less create mode 100644 build/vendor/bootstrap/less/mixins/hide-text.less create mode 100644 build/vendor/bootstrap/less/mixins/image.less create mode 100644 build/vendor/bootstrap/less/mixins/labels.less create mode 100644 build/vendor/bootstrap/less/mixins/list-group.less create mode 100644 build/vendor/bootstrap/less/mixins/nav-divider.less create mode 100644 build/vendor/bootstrap/less/mixins/nav-vertical-align.less create mode 100644 build/vendor/bootstrap/less/mixins/opacity.less create mode 100644 build/vendor/bootstrap/less/mixins/pagination.less create mode 100644 build/vendor/bootstrap/less/mixins/panels.less create mode 100644 build/vendor/bootstrap/less/mixins/progress-bar.less create mode 100644 build/vendor/bootstrap/less/mixins/reset-filter.less create mode 100644 build/vendor/bootstrap/less/mixins/reset-text.less create mode 100644 build/vendor/bootstrap/less/mixins/resize.less create mode 100644 build/vendor/bootstrap/less/mixins/responsive-visibility.less create mode 100644 build/vendor/bootstrap/less/mixins/size.less create mode 100644 build/vendor/bootstrap/less/mixins/tab-focus.less create mode 100644 build/vendor/bootstrap/less/mixins/table-row.less create mode 100644 build/vendor/bootstrap/less/mixins/text-emphasis.less create mode 100644 build/vendor/bootstrap/less/mixins/text-overflow.less create mode 100644 build/vendor/bootstrap/less/mixins/vendor-prefixes.less create mode 100644 build/vendor/bootstrap/less/modals.less create mode 100644 build/vendor/bootstrap/less/navbar.less create mode 100644 build/vendor/bootstrap/less/navs.less create mode 100644 build/vendor/bootstrap/less/normalize.less create mode 100644 build/vendor/bootstrap/less/pager.less create mode 100644 build/vendor/bootstrap/less/pagination.less create mode 100644 build/vendor/bootstrap/less/panels.less create mode 100644 build/vendor/bootstrap/less/popovers.less create mode 100644 build/vendor/bootstrap/less/print.less create mode 100644 build/vendor/bootstrap/less/progress-bars.less create mode 100644 build/vendor/bootstrap/less/responsive-embed.less create mode 100644 build/vendor/bootstrap/less/responsive-utilities.less create mode 100644 build/vendor/bootstrap/less/scaffolding.less create mode 100644 build/vendor/bootstrap/less/tables.less create mode 100644 build/vendor/bootstrap/less/theme.less create mode 100644 build/vendor/bootstrap/less/thumbnails.less create mode 100644 build/vendor/bootstrap/less/tooltip.less create mode 100644 build/vendor/bootstrap/less/type.less create mode 100644 build/vendor/bootstrap/less/utilities.less create mode 100644 build/vendor/bootstrap/less/variables.less create mode 100644 build/vendor/bootstrap/less/wells.less create mode 100644 build/vendor/oxid-esales/js/oxagbcheck.js create mode 100644 build/vendor/oxid-esales/js/oxajax.js create mode 100644 build/vendor/oxid-esales/js/oxarticlevariant.js create mode 100644 build/vendor/oxid-esales/js/oxbasketchecks.js create mode 100644 build/vendor/oxid-esales/js/oxblockdebug.js create mode 100644 build/vendor/oxid-esales/js/oxcookienote.js create mode 100644 build/vendor/oxid-esales/js/oxcountrystateselect.js create mode 100644 build/vendor/oxid-esales/js/oxequalizer.js create mode 100644 build/vendor/oxid-esales/js/oxlistremovebutton.js create mode 100644 build/vendor/oxid-esales/js/oxpayment.js create mode 100644 build/vendor/oxid-esales/js/oxusershipingaddressselect.js create mode 100644 build/vendor/raleway/latin-200-normal.css create mode 100644 build/vendor/raleway/latin-400-normal.css create mode 100644 build/vendor/raleway/latin-700-normal.css create mode 100644 build/vendor/raleway/raleway-latin-200-normal.woff create mode 100644 build/vendor/raleway/raleway-latin-200-normal.woff2 create mode 100644 build/vendor/raleway/raleway-latin-400-normal.woff create mode 100644 build/vendor/raleway/raleway-latin-400-normal.woff2 create mode 100644 build/vendor/raleway/raleway-latin-700-normal.woff create mode 100644 build/vendor/raleway/raleway-latin-700-normal.woff2 create mode 100644 de/lang.php create mode 100644 de/theme_options.php create mode 100644 en/lang.php create mode 100644 en/theme_options.php create mode 100755 htaccess_VORLAGE create mode 100644 offline.html create mode 100644 out/moga/img/favicons/apple-icon-310x310.png create mode 100644 out/moga/img/favicons/favicon-16x16.png create mode 100644 out/moga/img/favicons/favicon-32x32.png create mode 100644 out/moga/img/favicons/favicon-96x96.png create mode 100644 out/moga/img/favicons/favicon.ico create mode 100644 out/moga/img/lang/blank.png create mode 100644 out/moga/img/lang/de.png create mode 100644 out/moga/img/lang/en.png create mode 100644 out/moga/img/loading.svg create mode 100644 out/moga/img/moga.png create mode 100644 out/moga/moga.png create mode 100644 out/moga/src/css/manufacturer.min.css create mode 100644 out/moga/src/css/promoslider.min.css create mode 100644 out/moga/src/css/styles.min.css create mode 100644 out/moga/src/fonts/icons.woff create mode 100644 out/moga/src/fonts/icons.woff2 create mode 100644 out/moga/src/fonts/raleway200.woff create mode 100644 out/moga/src/fonts/raleway200.woff2 create mode 100644 out/moga/src/fonts/raleway400.woff create mode 100644 out/moga/src/fonts/raleway400.woff2 create mode 100644 out/moga/src/fonts/raleway700.woff create mode 100644 out/moga/src/fonts/raleway700.woff2 create mode 100644 out/moga/src/js/compare.min.js create mode 100644 out/moga/src/js/details.min.js create mode 100644 out/moga/src/js/scripts.min.js create mode 100644 out/moga/src/js/start.min.js create mode 100644 out/moga/src/js/widgets/oxagbcheck.min.js create mode 100644 out/moga/src/js/widgets/oxajax.min.js create mode 100644 out/moga/src/js/widgets/oxarticlevariant.min.js create mode 100644 out/moga/src/js/widgets/oxbasketchecks.min.js create mode 100644 out/moga/src/js/widgets/oxblockdebug.min.js create mode 100644 out/moga/src/js/widgets/oxcookienote.min.js create mode 100644 out/moga/src/js/widgets/oxcountrystateselect.min.js create mode 100644 out/moga/src/js/widgets/oxlistremovebutton.min.js create mode 100644 out/moga/src/js/widgets/oxpayment.min.js create mode 100644 out/moga/src/js/widgets/oxrating.js create mode 100644 out/moga/src/js/widgets/oxreview.js create mode 100644 out/moga/src/js/widgets/oxusershipingaddressselect.min.js create mode 100644 out/moga/src/js/widgets/oxwidgetshandler.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 setup.sql create mode 100644 theme.php create mode 100644 tpl/custom/ajax_econda_recommendations.tpl create mode 100644 tpl/custom/dir.txt create mode 100644 tpl/email/html/footer.tpl create mode 100644 tpl/email/html/forgotpwd.tpl create mode 100644 tpl/email/html/header.tpl create mode 100644 tpl/email/html/invite.tpl create mode 100644 tpl/email/html/newsletteroptin.tpl create mode 100644 tpl/email/html/order_cust.tpl create mode 100644 tpl/email/html/order_owner.tpl create mode 100644 tpl/email/html/ordershipped.tpl create mode 100644 tpl/email/html/owner_reminder.tpl create mode 100644 tpl/email/html/pricealarm_owner.tpl create mode 100644 tpl/email/html/register.tpl create mode 100644 tpl/email/html/senddownloadlinks.tpl create mode 100644 tpl/email/html/suggest.tpl create mode 100644 tpl/email/html/wishlist.tpl create mode 100644 tpl/email/plain/forgotpwd.tpl create mode 100644 tpl/email/plain/invite.tpl create mode 100644 tpl/email/plain/newsletteroptin.tpl create mode 100644 tpl/email/plain/order_cust.tpl create mode 100644 tpl/email/plain/order_owner.tpl create mode 100644 tpl/email/plain/ordershipped.tpl create mode 100644 tpl/email/plain/pricealarm_owner.tpl create mode 100644 tpl/email/plain/register.tpl create mode 100644 tpl/email/plain/senddownloadlinks.tpl create mode 100644 tpl/email/plain/suggest.tpl create mode 100644 tpl/email/plain/wishlist.tpl create mode 100644 tpl/form/account_newsletter.tpl create mode 100644 tpl/form/contact.tpl create mode 100644 tpl/form/fieldset/delete_shipping_address_modal.tpl create mode 100644 tpl/form/fieldset/order_newsletter.tpl create mode 100644 tpl/form/fieldset/order_remark.tpl create mode 100644 tpl/form/fieldset/salutation.tpl create mode 100644 tpl/form/fieldset/state.tpl create mode 100644 tpl/form/fieldset/user_account.tpl create mode 100644 tpl/form/fieldset/user_billing.tpl create mode 100644 tpl/form/fieldset/user_email.tpl create mode 100644 tpl/form/fieldset/user_noaccount.tpl create mode 100644 tpl/form/fieldset/user_shipping.tpl create mode 100644 tpl/form/forgotpwd_change_pwd.tpl create mode 100644 tpl/form/forgotpwd_email.tpl create mode 100644 tpl/form/formparams.tpl create mode 100644 tpl/form/login.tpl create mode 100644 tpl/form/login_account.tpl create mode 100644 tpl/form/newsletter.tpl create mode 100644 tpl/form/pricealarm.tpl create mode 100644 tpl/form/privatesales/accept_terms.tpl create mode 100644 tpl/form/privatesales/basketexcl.tpl create mode 100644 tpl/form/privatesales/invite.tpl create mode 100644 tpl/form/recommendation_add.tpl create mode 100644 tpl/form/recommendation_edit.tpl create mode 100644 tpl/form/register.tpl create mode 100644 tpl/form/suggest.tpl create mode 100644 tpl/form/user.tpl create mode 100644 tpl/form/user_checkout_change.tpl create mode 100644 tpl/form/user_checkout_noregistration.tpl create mode 100644 tpl/form/user_checkout_registration.tpl create mode 100644 tpl/form/user_password.tpl create mode 100644 tpl/form/wishlist_publish.tpl create mode 100644 tpl/form/wishlist_search.tpl create mode 100644 tpl/form/wishlist_suggest.tpl create mode 100644 tpl/i18n/js_vars.tpl create mode 100644 tpl/layout/base.tpl create mode 100644 tpl/layout/footer.tpl create mode 100644 tpl/layout/header.tpl create mode 100644 tpl/layout/page.tpl create mode 100644 tpl/layout/popup.tpl create mode 100644 tpl/layout/sidebar.tpl create mode 100644 tpl/message/err_404.tpl create mode 100644 tpl/message/err_accessdenied.tpl create mode 100644 tpl/message/err_setup.tpl create mode 100644 tpl/message/err_unknown.tpl create mode 100644 tpl/message/error.tpl create mode 100644 tpl/message/errors.tpl create mode 100644 tpl/message/errors_modal.tpl create mode 100644 tpl/message/exception.tpl create mode 100644 tpl/message/inputvalidation.tpl create mode 100644 tpl/message/notice.tpl create mode 100644 tpl/message/success.tpl create mode 100644 tpl/message/user_blocked.tpl create mode 100644 tpl/page/account/dashboard.tpl create mode 100644 tpl/page/account/delete_my_account_confirmation.tpl create mode 100644 tpl/page/account/delete_review_confirmation.tpl create mode 100644 tpl/page/account/downloads.tpl create mode 100644 tpl/page/account/forgotpwd.tpl create mode 100644 tpl/page/account/inc/account_menu.tpl create mode 100644 tpl/page/account/inc/file_attributes.tpl create mode 100644 tpl/page/account/login.tpl create mode 100644 tpl/page/account/newsletter.tpl create mode 100644 tpl/page/account/noticelist.tpl create mode 100644 tpl/page/account/order.tpl create mode 100644 tpl/page/account/password.tpl create mode 100644 tpl/page/account/recommendationadd.tpl create mode 100644 tpl/page/account/recommendationedit.tpl create mode 100644 tpl/page/account/recommendationlist.tpl create mode 100644 tpl/page/account/register.tpl create mode 100644 tpl/page/account/register_confirm.tpl create mode 100644 tpl/page/account/register_success.tpl create mode 100644 tpl/page/account/reviews.tpl create mode 100644 tpl/page/account/user.tpl create mode 100644 tpl/page/account/wishlist.tpl create mode 100644 tpl/page/checkout/basket.tpl create mode 100644 tpl/page/checkout/inc/agb.tpl create mode 100644 tpl/page/checkout/inc/basketcontents.tpl create mode 100644 tpl/page/checkout/inc/basketcontents_list.tpl create mode 100644 tpl/page/checkout/inc/basketcontents_table.tpl create mode 100644 tpl/page/checkout/inc/options.tpl create mode 100644 tpl/page/checkout/inc/payment_other.tpl create mode 100644 tpl/page/checkout/inc/payment_oxidcashondel.tpl create mode 100644 tpl/page/checkout/inc/payment_oxidcreditcard.tpl create mode 100644 tpl/page/checkout/inc/payment_oxiddebitnote.tpl create mode 100644 tpl/page/checkout/inc/steps.tpl create mode 100644 tpl/page/checkout/inc/wrapping.tpl create mode 100644 tpl/page/checkout/order.tpl create mode 100644 tpl/page/checkout/payment.tpl create mode 100644 tpl/page/checkout/thankyou.tpl create mode 100644 tpl/page/checkout/user.tpl create mode 100644 tpl/page/compare/compare.tpl create mode 100644 tpl/page/compare/inc/compareitem.tpl create mode 100644 tpl/page/details/ajax/fullproductinfo.tpl create mode 100644 tpl/page/details/ajax/productmain.tpl create mode 100644 tpl/page/details/details.tpl create mode 100644 tpl/page/details/inc/attributes.tpl create mode 100644 tpl/page/details/inc/compare_links.tpl create mode 100644 tpl/page/details/inc/deliverytime.tpl create mode 100644 tpl/page/details/inc/fullproductinfo.tpl create mode 100644 tpl/page/details/inc/media.tpl create mode 100644 tpl/page/details/inc/morepics.tpl create mode 100644 tpl/page/details/inc/photoswipe.tpl create mode 100644 tpl/page/details/inc/priceinfo.tpl create mode 100644 tpl/page/details/inc/productmain.tpl create mode 100644 tpl/page/details/inc/related_products.tpl create mode 100644 tpl/page/details/inc/tabs.tpl create mode 100644 tpl/page/info/clearcookies.tpl create mode 100644 tpl/page/info/contact.tpl create mode 100644 tpl/page/info/content.tpl create mode 100644 tpl/page/info/content_plain.tpl create mode 100644 tpl/page/info/links.tpl create mode 100644 tpl/page/info/news.tpl create mode 100644 tpl/page/info/newsletter.tpl create mode 100644 tpl/page/info/suggest.tpl create mode 100644 tpl/page/list/list.tpl create mode 100644 tpl/page/list/morecategories.tpl create mode 100644 tpl/page/privatesales/invite.tpl create mode 100644 tpl/page/privatesales/login.tpl create mode 100644 tpl/page/recommendations/inc/list.tpl create mode 100644 tpl/page/recommendations/recommlist.tpl create mode 100644 tpl/page/review/review.tpl create mode 100644 tpl/page/review/review_login.tpl create mode 100644 tpl/page/search/search.tpl create mode 100644 tpl/page/shop/mallstart.tpl create mode 100644 tpl/page/shop/start.tpl create mode 100644 tpl/page/wishlist/wishlist.tpl create mode 100644 tpl/rdfa/content/content.tpl create mode 100644 tpl/rdfa/content/inc/business_entity.tpl create mode 100644 tpl/rdfa/content/inc/delivery_charge.tpl create mode 100644 tpl/rdfa/content/inc/payment_charge.tpl create mode 100644 tpl/rdfa/details/details.tpl create mode 100644 tpl/rdfa/details/inc/delivery.tpl create mode 100644 tpl/rdfa/details/inc/object.tpl create mode 100644 tpl/rdfa/details/inc/payment.tpl create mode 100644 tpl/rdfa/details/inc/price.tpl create mode 100644 tpl/rdfa/rdfa.tpl create mode 100644 tpl/widget/address/billing_address.tpl create mode 100644 tpl/widget/address/shipping_address.tpl create mode 100644 tpl/widget/breadcrumb.tpl create mode 100644 tpl/widget/dynscript.tpl create mode 100644 tpl/widget/footer/categorylist.tpl create mode 100644 tpl/widget/footer/info.tpl create mode 100644 tpl/widget/footer/manufacturerlist.tpl create mode 100644 tpl/widget/footer/newsletter.tpl create mode 100644 tpl/widget/footer/services.tpl create mode 100644 tpl/widget/footer/vendorlist.tpl create mode 100644 tpl/widget/header/betanote.tpl create mode 100644 tpl/widget/header/categorylist.tpl create mode 100644 tpl/widget/header/cookienote.tpl create mode 100644 tpl/widget/header/currencies.tpl create mode 100644 tpl/widget/header/languages.tpl create mode 100644 tpl/widget/header/loginbox.tpl create mode 100644 tpl/widget/header/menubasket.tpl create mode 100644 tpl/widget/header/minibasket.tpl create mode 100644 tpl/widget/header/search.tpl create mode 100644 tpl/widget/header/servicebox.tpl create mode 100644 tpl/widget/header/servicemenu.tpl create mode 100644 tpl/widget/locator/attributes.tpl create mode 100644 tpl/widget/locator/itemsperpage.tpl create mode 100644 tpl/widget/locator/listdisplaytype.tpl create mode 100644 tpl/widget/locator/listlocator.tpl create mode 100644 tpl/widget/locator/paging.tpl create mode 100644 tpl/widget/locator/sort.tpl create mode 100644 tpl/widget/manufacturer.tpl create mode 100644 tpl/widget/minibasket/countdown.tpl create mode 100644 tpl/widget/minibasket/minibasket.tpl create mode 100644 tpl/widget/minibasket/minibasketmodal.tpl create mode 100644 tpl/widget/minibasket/newbasketitemmsg.tpl create mode 100644 tpl/widget/product/bargainitems.tpl create mode 100644 tpl/widget/product/compare_links.tpl create mode 100644 tpl/widget/product/details.tpl create mode 100644 tpl/widget/product/list.tpl create mode 100644 tpl/widget/product/listitem_grid.tpl create mode 100644 tpl/widget/product/listitem_line.tpl create mode 100644 tpl/widget/product/selectbox.tpl create mode 100644 tpl/widget/promoslider.tpl create mode 100644 tpl/widget/reviews/rating.tpl create mode 100644 tpl/widget/reviews/reviews.tpl create mode 100644 tpl/widget/rss.tpl create mode 100644 tpl/widget/shoplupe/ratings.tpl create mode 100644 tpl/widget/sidebar/adminbanner.tpl create mode 100644 tpl/widget/sidebar/categorytree.tpl create mode 100644 tpl/widget/sidebar/news.tpl create mode 100644 tpl/widget/sidebar/partners.tpl create mode 100644 tpl/widget/sidebar/recommendation.tpl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9569ddc --- /dev/null +++ b/.gitignore @@ -0,0 +1,127 @@ +# Created by .ignore support plugin (hsz.mobi) +### Node template +# Logs + +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +### Sass template +.sass-cache/ +*.css.map +*.sass.map +*.scss.map + +/.idea/ +/.idea/*.* diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100644 index 0000000..19eedaa --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,195 @@ +module.exports = function (grunt) { + + 'use strict'; + + grunt.initConfig({ + /** + * Get package meta data + */ + pkg: grunt.file.readJSON('package.json'), + /** + * Set project object + */ + project: { + theme: 'moga', + dev: './', + out: './../../../out/', + tmp: './../../../tmp/', + modules: './../../../modules/', + }, + /** + * Clean tmp folders + */ + clean: { + options: { + 'force':true, + }, + src: ['<%= project.tmp %>/*'], + }, + /** + * Sass (compile & minify) + */ + sass: { + dist: { + options: { + update: true, + style: 'compressed' /* compressed */ + }, + files: { + '<%= project.out %><%= project.theme %>/src/css/styles.min.css': [ + '<%= project.dev %>/build/scss/style.scss' + ], + '<%= project.out %><%= project.theme %>/src/css/manufacturer.min.css': [ + '<%= project.dev %>/build/scss/manufacturer.scss' + ], + '<%= project.out %><%= project.theme %>/src/css/promoslider.min.css': [ + '<%= project.dev %>/build/scss/promoslider.scss' + ] + } + } + }, + cssmin: { + options: { + mergeIntoShorthands: false, + roundingPrecision: -1 + }, + target: { + files: { + '<%= project.out %><%= project.theme %>/src/css/styles.min.css': ['<%= project.out %><%= project.theme %>/src/css/styles.min.css'], + '<%= project.out %><%= project.theme %>/src/css/manufacturer.min.css': ['<%= project.out %><%= project.theme %>/src/css/manufacturer.min.css'], + '<%= project.out %><%= project.theme %>/src/css/promoslider.min.css': ['<%= project.out %><%= project.theme %>/src/css/promoslider.min.css'] + } + } + }, + concat: { + js: { + options: { + separator: ';\n', + sourcemap: false + }, + files: { + '<%= project.out %><%= project.theme %>/src/js/scripts.min.js': [ + //'<%= project.dev %>node_modules/jquery/dist/jquery.min.js', + '<%= project.dev %>node_modules/bootstrap/dist/js/bootstrap.bundle.min.js', + //'<%= project.dev %>node_modules/slick-carousel/slick/slick.js', + '<%= project.dev %>node_modules/lazysizes/lazysizes.min.js', + //'<%= project.dev %>build/js/main.js' + ], + '<%= project.out %><%= project.theme %>/src/js/details.min.js': [ + //'<%= project.dev %>build/vendor/jquery-ui/js/jquery-ui.js', + '<%= project.dev %>build/js/pages/details.js', + '<%= project.dev %>build/js/pages/review.js', + ], + '<%= project.out %><%= project.theme %>/src/js/compare.min.js': [ + '<%= project.dev %>build/js/pages/compare.js' + ], + '<%= project.out %><%= project.theme %>/src/js/start.min.js': [ + '<%= project.dev %>build/js/pages/start.js' + ] + } + } + }, + webfont: { + icons: { + src: '<%= project.dev %>/build/icons/*.svg', + dest: '<%= project.out %><%= project.theme %>/src/fonts/', + destCss: '<%= project.dev %>/build/scss/', + options: { + engine: 'node', + relativeFontPath: '../fonts/', + fontPathVariables: true, + stylesheet: 'scss', + fontFamilyName: 'icons', + hash: false, + normalize: true, + fontFilename: 'icons', + types: 'woff2,woff', + template: 'build/tasks/templates/custom_webfont.scss' + } + } + }, + combine_mq: { + new_filename: { + options: { + beautify: false, + expand: false + }, + src: '<%= project.out %><%= project.theme %>/src/css/styles.min.css', + dest: '<%= project.out %><%= project.theme %>/src/css/styles.min.css' + } + }, + /** + * Watch files for changes + */ + watch: { + clean: { + files: [ + '<%= project.dev %>de/**/*.*','<%= project.dev %>en/**/*.*','<%= project.modules %>**/*.tpl'], + tasks: + ['clean'], + options: + { + spawn: false, + livereload: true + } + }, + sass: { + files: [ + '<%= project.dev %>build/scss/**/*.scss','<%= project.dev %>tpl/**/*.tpl'], + tasks: + ['sass', 'combine_mq', 'cssmin', 'clean'], + options: + { + spawn: false, + livereload: true + } + }, + js: { + files: [ + '<%= project.dev %>build/js/*.js', + '<%= project.dev %>build/js/**/*.js', + '<%= project.out %><%= project.theme %>/src/js/*.js' + ], + tasks: + ['concat:js'], + options: + { + spawn: false, + livereload: true + } + } + }, + copy: { + fonts: { + files: [ + { + expand: true, + src: '*', + cwd: '<%= project.dev %>/build/vendor/raleway/', + dest: '<%= project.out %><%= project.theme %>/src/fonts/' + } + ] + }, + } + }); + + /** + * Load Grunt plugins + */ + require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks); + + /** + * Default task + * Run `grunt` on the command line + */ + grunt.registerTask('default', [ + 'webfont', + 'copy', + 'sass', + 'combine_mq', + 'cssmin', + 'concat:js', + 'clean', + 'watch' + ]); +}; diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/build/icons/bag.svg b/build/icons/bag.svg new file mode 100644 index 0000000..6f3129f --- /dev/null +++ b/build/icons/bag.svg @@ -0,0 +1,10 @@ + + + + + + diff --git a/build/icons/bars.svg b/build/icons/bars.svg new file mode 100644 index 0000000..68d6b6e --- /dev/null +++ b/build/icons/bars.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/check.svg b/build/icons/check.svg new file mode 100644 index 0000000..474f3cf --- /dev/null +++ b/build/icons/check.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/down.svg b/build/icons/down.svg new file mode 100644 index 0000000..1d3b732 --- /dev/null +++ b/build/icons/down.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/download.svg b/build/icons/download.svg new file mode 100644 index 0000000..65c6b03 --- /dev/null +++ b/build/icons/download.svg @@ -0,0 +1,4 @@ + + + + diff --git a/build/icons/left.svg b/build/icons/left.svg new file mode 100644 index 0000000..e8d4858 --- /dev/null +++ b/build/icons/left.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/pencil.svg b/build/icons/pencil.svg new file mode 100644 index 0000000..99e5f75 --- /dev/null +++ b/build/icons/pencil.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/person.svg b/build/icons/person.svg new file mode 100644 index 0000000..cade1a2 --- /dev/null +++ b/build/icons/person.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/plus-circle.svg b/build/icons/plus-circle.svg new file mode 100644 index 0000000..3ee2867 --- /dev/null +++ b/build/icons/plus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/build/icons/right.svg b/build/icons/right.svg new file mode 100644 index 0000000..fe09904 --- /dev/null +++ b/build/icons/right.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/rss.svg b/build/icons/rss.svg new file mode 100644 index 0000000..07b4505 --- /dev/null +++ b/build/icons/rss.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/build/icons/search.svg b/build/icons/search.svg new file mode 100644 index 0000000..b1ddcd5 --- /dev/null +++ b/build/icons/search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/build/icons/star-half-o.svg b/build/icons/star-half-o.svg new file mode 100644 index 0000000..4c07007 --- /dev/null +++ b/build/icons/star-half-o.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/star.svg b/build/icons/star.svg new file mode 100644 index 0000000..1a23ce2 --- /dev/null +++ b/build/icons/star.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/sync.svg b/build/icons/sync.svg new file mode 100644 index 0000000..74d9a16 --- /dev/null +++ b/build/icons/sync.svg @@ -0,0 +1,4 @@ + + + + diff --git a/build/icons/times.svg b/build/icons/times.svg new file mode 100644 index 0000000..dbac97f --- /dev/null +++ b/build/icons/times.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/icons/trash.svg b/build/icons/trash.svg new file mode 100644 index 0000000..2ca5b35 --- /dev/null +++ b/build/icons/trash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/build/icons/up.svg b/build/icons/up.svg new file mode 100644 index 0000000..e336042 --- /dev/null +++ b/build/icons/up.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/js/list.js b/build/js/list.js new file mode 100644 index 0000000..b4e3b8a --- /dev/null +++ b/build/js/list.js @@ -0,0 +1,297 @@ +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ +Wave = {}; + +// Short-Handle for document.ready +$(function () { + var $window = $(window), + $oHeader = $('#header'), + $oBasketList = $('#basket_list'), + $oRecommendations = $('#econdaRecommendations'), + $oChangeEmail = $('input.oxValidate_enterPass'), + $oContentWrapper = $("#content"); + + // Fix um Eingabefelder in Bootstrap Dropdown-Menüs fokussieren zu können. + $('#header .dropdown-menu input, #header .dropdown-menu label, #header .dropdown-menu button, #header .dropdown-menu').click(function (e) { + e.stopPropagation(); + } + ); + + $('.nav').on('mouseenter', '.nav-item.dropdown', function (e) { + if ($window.width() >= 760) { + $(e).addClass('show'); + $(this).children('.dropdown-menu').addClass('show'); + } + } + ).on('mouseleave', '.nav-item.dropdown', function (e) { + if ($window.width() >= 760) { + $(e).removeClass('show'); + $(this).children('.dropdown-menu').removeClass('show'); + } + } + ).on('click', 'li.dropdown', function (e) { + if ($window.width() >= 760) { + e.stopPropagation(); + } + } + ); + + + $oHeader.find('.menu-dropdowns button[data-href]').click(function (e) { + var $this = $(this); + + if ($(window).width() <= 767) { + e.stopPropagation(); + document.location.href = $this.attr('data-href'); + } + } + ); + + /* ********************************* + * List filter + * *********************************/ + var $oFilterList = $('#filterList'); + + if ($oFilterList.length) { + $oFilterList.find('.dropdown-menu li').click(function () { + var $this = $(this); + $this.parent().prev().val($this.children().first().data('selection-id')); + $this.closest('form').submit(); + } + ); + } + + var $oSidebar = $('#sidebar'), + $oCategoryBox = $oSidebar.find('.box.categorytree'); + if ($oCategoryBox.length) { + $oCategoryBox.find('.toggleTree').on('click touch', function () { + var $this = $(this), + $oCategoryTreeBox = $this.parents('.categorytree').find('.categoryBox'); + + if ($this.hasClass('fa-caret-down')) { + $this.removeClass('fa-caret-down'); + $this.attr('class', 'fa-caret-up ' + $this.attr('class')); + $oCategoryTreeBox.attr('style', 'display:block!important'); + } + else { + $this.removeClass('fa-caret-up'); + $this.attr('class', 'fa-caret-down ' + $this.attr('class')); + $oCategoryTreeBox.removeAttr('style'); + } + } + ); + } + + /* ********************************* + * Variant selection in lists + * *********************************/ + var $oSelectionLists = $('.listDetails .selectorsBox'); + + if ($oSelectionLists.length) { + $oSelectionLists.find('.dropdown-menu li').click(function (e) { + e.preventDefault(); + var $this = $(this); + $this.parent().prev().val($this.children().first().data('selection-id')); + $this.closest('form').submit(); + } + ); + } + + + /* ********************************* + * Details page + * *********************************/ + Wave.initEvents = function () { + $(".selectpicker").selectpicker(); + + // Globale Tooltip-Klasse + $('.hasTooltip').tooltip({container: 'body'}); + + // Globale PopOver-Klasse + $('.hasPopover').popover(); + + // Selectlisten Detail + var $oSelectionLists = $('#detailsMain .selectorsBox'); + + if ($oSelectionLists.length) { + $oSelectionLists.find('.dropdown-menu li').click(function (e) { + e.preventDefault(); + var $this = $(this), + $a = $this.children().first(), + $ul = $this.parent(); + + $ul.prev().val($a.data('selection-id')); + + // classes + $ul.find('a.active').removeClass('active'); + $a.addClass('active'); + + // label + $ul.prev().prev().find('span').first().text($a.text()); + } + ); + } + }; + Wave.initEvents(); + + function reRenderMainNav() { + var $oMainNav = $('#mainnav').find('.navbar-collapse'), + $oNavList = $('#navigation'), + $oMoreLinks = $oNavList.find('.moreLinks'); + + // Abbrechen, wenn Fensterbreite <= 767 + if ($window.width() <= 755) { + $oMoreLinks.before($oMoreLinks.find('> ul > li')); + $oMoreLinks.remove(); + return; + } + + if ($oMoreLinks.length) { + $oMoreLinks.before($oMoreLinks.find('> ul > li')); + } + else { + var oMoreLinkElem = document.createElement('li'), + oMoreLinkAElem = document.createElement('a'), + oMoreLinkUlElem = document.createElement('ul'); + + oMoreLinkElem.className = 'dropdown moreLinks'; + + oMoreLinkAElem.className = 'dropdown-toggle'; + oMoreLinkAElem.innerHTML = 'Mehr '; + oMoreLinkAElem.setAttribute('data-toggle', 'dropdown'); + + oMoreLinkUlElem.className = 'dropdown-menu'; + oMoreLinkUlElem.setAttribute('role', 'menu'); + + oMoreLinkElem.appendChild(oMoreLinkAElem); + oMoreLinkElem.appendChild(oMoreLinkUlElem); + + $oNavList.append(oMoreLinkElem); + $oMoreLinks = $(oMoreLinkElem); + } + + var iMainNavWidth = $oMainNav.width(), + $oNavItems = $oNavList.find('> li').not('.moreLinks'), + iNavItemsWidth = 0, + aMoreLinkElems = []; + + iMainNavWidth -= $oMoreLinks.width(); + + $oNavItems.each(function () { + var $this = $(this); + iNavItemsWidth += $this.outerWidth(); + + if (iNavItemsWidth > iMainNavWidth) { + aMoreLinkElems.push($this); + } + } + ); + + if (aMoreLinkElems.length) { + $oMoreLinks.find('> ul').append(aMoreLinkElems); + } + else { + $oMoreLinks.remove(); + } + } + + reRenderMainNav(); + $window.resize(function () { + reRenderMainNav(); + }); + + /* ********************************* + * Warenkorb + * *********************************/ + if ($oBasketList.length) { + $('#basket_form').on('submit', function (e) { + var $this = $(this), + $oHiddenXs = $this.find('.hidden-xs'), + $oVisibleXs = $this.find('.visible-xs'); + + if ($oHiddenXs.is(':hidden')) { + $oHiddenXs.remove(); + } + + if ($oVisibleXs.is(':hidden')) { + $oVisibleXs.remove(); + } + + //e.target.submit(); + } + ); + + if ($window.width() <= 996) { + $oBasketList.find('.toggle-actions').click(function (e) { + e.preventDefault(); + var $this = $(this), + $oToggable = $this.parents('li').first().find('.row.collapse'); + $this.find('i').attr('class', ($oToggable.hasClass('.show') ? 'fa fa-chevron-up' : 'fa fa-chevron-down')); + } + ); + } else { + + } + } + + // Auswahllisten im Warenkorb + $('.basketItemDesc .selectorsBox .dropdown-menu li a', $oContentWrapper).click(function (e) { + e.preventDefault(); + var $this = $(this); + $this.closest('.selectbox').removeClass('open'); + $this.parent().parent().prev().val($this.attr('data-selection-id')); + $this.parent().parent().prev().siblings('button').find('span').first().text($this.text()); + } + ); + + /* ********************************* + * Mein Konto + * *********************************/ + if ($oChangeEmail.length) { + var sOldMail = $oChangeEmail.val(), + $oPasswordElem = $('.oxValidate_pwd'); + $oChangeEmail.keyup(function (e) { + if ($oPasswordElem.length) { + if (sOldMail != e.target.value) { + $oPasswordElem.slideDown('fast'); + } + else { + if ($oPasswordElem.is(':visible')) { + $oPasswordElem.slideUp('fast'); + } + } + } + } + ); + } + + /* ********************************* + * Private Sales Login + * *********************************/ + $('#private-sales-login input.agb-check').click(function () { + if ((this).checked) { + $('#private-sales-login button.submitButton').removeAttr('disabled'); + } else { + $('#private-sales-login button.submitButton').attr("disabled", "disabled"); + } + }); + } +); + diff --git a/build/js/main.js b/build/js/main.js new file mode 100644 index 0000000..7dfd12b --- /dev/null +++ b/build/js/main.js @@ -0,0 +1,376 @@ +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ +Wave = {}; + +// Short-Handle for document.ready +$(function () { + var $window = $(window), + $oBody = $('body'), + $oHeader = $('#header'), + $oBasketList = $('#basket_list'), + $oToTop = $('#jumptotop'), + $oRecommendations = $('#econdaRecommendations'), + $oChangeEmail = $('input.oxValidate_enterPass'), + $oSearchInput = $('#searchParam'), + iHeaderWrapperHeight = parseInt($oHeader.height()), + blIsCheckout = $oBody.hasClass('is-checkout'), + $oContentWrapper = $("#content"); + + // Mobile detection + window.isMobileDevice = function () { + var check = false; + (function (a) { + if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) { + check = true; + } + })(navigator.userAgent || navigator.vendor || window.opera); + return check; + }; + + // Scrolling header + $window.on('scroll', function (e) { + var $this = $(this); + var $mainNav = $('#mainnav'); + + if (!blIsCheckout && !(isMobileDevice() && $oSearchInput.is(':focus'))) { + if ($this.scrollTop() > iHeaderWrapperHeight) { + if (!$oBody.hasClass('fixed-header')) { + $oBody.addClass('fixed-header'); + + this.setTimeout(function () { + $mainNav.addClass('fadeIn'); + }, + 100 + ); + } + } + else { + if ($oBody.hasClass('fixed-header')) { + $oBody.removeClass('fixed-header'); + $mainNav.removeClass('fadeIn'); + } + } + } + + $oToTop.toggleClass('show', $this.scrollTop() >= 300); + } + ).trigger('scroll'); + + // Search Toggle + $('.search-toggle').click(function (e) { + e.preventDefault(); + + $('html, body').animate( + { + scrollTop: ($oSearchInput.position().top - 10 || 0) + }, + 300, + function () { + $oSearchInput.focus(); + } + ); + } + ); + + $oToTop.click(function () { + $('html, body').animate( + { + scrollTop: 0 + }, + 300 + ); + } + ); + + // Fix um Eingabefelder in Bootstrap Dropdown-Menüs fokussieren zu können. + $('#header .dropdown-menu input, #header .dropdown-menu label, #header .dropdown-menu button, #header .dropdown-menu').click(function (e) { + e.stopPropagation(); + } + ); + + $('.nav').on('mouseenter', '.nav-item.dropdown', function (e) { + if ($window.width() >= 760) { + $(e).addClass('show'); + $(this).children('.dropdown-menu').addClass('show'); + } + } + ).on('mouseleave', '.nav-item.dropdown', function (e) { + if ($window.width() >= 760) { + $(e).removeClass('show'); + $(this).children('.dropdown-menu').removeClass('show'); + } + } + ).on('click', 'li.dropdown', function (e) { + if ($window.width() >= 760) { + e.stopPropagation(); + } + } + ); + + + $oHeader.find('.menu-dropdowns button[data-href]').click(function (e) { + var $this = $(this); + + if ($(window).width() <= 767) { + e.stopPropagation(); + document.location.href = $this.attr('data-href'); + } + } + ); + + + if ($oRecommendations.length) { + $.get(window.sBaseUrl + 'cl=tpl&tpl=ajax_econda_recommendations.tpl&actcl=' + sActCl + '', function (oData, sStatus, oXhr) { + $oRecommendations.html(oData); + } + ); + } + + /* ********************************* + * List filter + * *********************************/ + var $oFilterList = $('#filterList'); + + if ($oFilterList.length) { + $oFilterList.find('.dropdown-menu li').click(function () { + var $this = $(this); + $this.parent().prev().val($this.children().first().data('selection-id')); + $this.closest('form').submit(); + } + ); + } + + var $oSidebar = $('#sidebar'), + $oCategoryBox = $oSidebar.find('.box.categorytree'); + if ($oCategoryBox.length) { + $oCategoryBox.find('.toggleTree').on('click touch', function () { + var $this = $(this), + $oCategoryTreeBox = $this.parents('.categorytree').find('.categoryBox'); + + if ($this.hasClass('fa-caret-down')) { + $this.removeClass('fa-caret-down'); + $this.attr('class', 'fa-caret-up ' + $this.attr('class')); + $oCategoryTreeBox.attr('style', 'display:block!important'); + } + else { + $this.removeClass('fa-caret-up'); + $this.attr('class', 'fa-caret-down ' + $this.attr('class')); + $oCategoryTreeBox.removeAttr('style'); + } + } + ); + } + + /* ********************************* + * Variant selection in lists + * *********************************/ + var $oSelectionLists = $('.listDetails .selectorsBox'); + + if ($oSelectionLists.length) { + $oSelectionLists.find('.dropdown-menu li').click(function (e) { + e.preventDefault(); + var $this = $(this); + $this.parent().prev().val($this.children().first().data('selection-id')); + $this.closest('form').submit(); + } + ); + } + + + /* ********************************* + * Details page + * *********************************/ + Wave.initEvents = function () { + $(".selectpicker").selectpicker(); + + // Globale Tooltip-Klasse + $('.hasTooltip').tooltip({container: 'body'}); + + // Globale PopOver-Klasse + $('.hasPopover').popover(); + + // Selectlisten Detail + var $oSelectionLists = $('#detailsMain .selectorsBox'); + + if ($oSelectionLists.length) { + $oSelectionLists.find('.dropdown-menu li').click(function (e) { + e.preventDefault(); + var $this = $(this), + $a = $this.children().first(), + $ul = $this.parent(); + + $ul.prev().val($a.data('selection-id')); + + // classes + $ul.find('a.active').removeClass('active'); + $a.addClass('active'); + + // label + $ul.prev().prev().find('span').first().text($a.text()); + } + ); + } + }; + Wave.initEvents(); + + function reRenderMainNav() { + var $oMainNav = $('#mainnav').find('.navbar-collapse'), + $oNavList = $('#navigation'), + $oMoreLinks = $oNavList.find('.moreLinks'); + + // Abbrechen, wenn Fensterbreite <= 767 + if ($window.width() <= 755) { + $oMoreLinks.before($oMoreLinks.find('> ul > li')); + $oMoreLinks.remove(); + return; + } + + if ($oMoreLinks.length) { + $oMoreLinks.before($oMoreLinks.find('> ul > li')); + } + else { + var oMoreLinkElem = document.createElement('li'), + oMoreLinkAElem = document.createElement('a'), + oMoreLinkUlElem = document.createElement('ul'); + + oMoreLinkElem.className = 'dropdown moreLinks'; + + oMoreLinkAElem.className = 'dropdown-toggle'; + oMoreLinkAElem.innerHTML = 'Mehr '; + oMoreLinkAElem.setAttribute('data-toggle', 'dropdown'); + + oMoreLinkUlElem.className = 'dropdown-menu'; + oMoreLinkUlElem.setAttribute('role', 'menu'); + + oMoreLinkElem.appendChild(oMoreLinkAElem); + oMoreLinkElem.appendChild(oMoreLinkUlElem); + + $oNavList.append(oMoreLinkElem); + $oMoreLinks = $(oMoreLinkElem); + } + + var iMainNavWidth = $oMainNav.width(), + $oNavItems = $oNavList.find('> li').not('.moreLinks'), + iNavItemsWidth = 0, + aMoreLinkElems = []; + + iMainNavWidth -= $oMoreLinks.width(); + + $oNavItems.each(function () { + var $this = $(this); + iNavItemsWidth += $this.outerWidth(); + + if (iNavItemsWidth > iMainNavWidth) { + aMoreLinkElems.push($this); + } + } + ); + + if (aMoreLinkElems.length) { + $oMoreLinks.find('> ul').append(aMoreLinkElems); + } + else { + $oMoreLinks.remove(); + } + } + + reRenderMainNav(); + $window.resize(function () { + reRenderMainNav(); + }); + + /* ********************************* + * Warenkorb + * *********************************/ + if ($oBasketList.length) { + $('#basket_form').on('submit', function (e) { + var $this = $(this), + $oHiddenXs = $this.find('.hidden-xs'), + $oVisibleXs = $this.find('.visible-xs'); + + if ($oHiddenXs.is(':hidden')) { + $oHiddenXs.remove(); + } + + if ($oVisibleXs.is(':hidden')) { + $oVisibleXs.remove(); + } + + //e.target.submit(); + } + ); + + if ($window.width() <= 996) { + $oBasketList.find('.toggle-actions').click(function (e) { + e.preventDefault(); + var $this = $(this), + $oToggable = $this.parents('li').first().find('.row.collapse'); + $this.find('i').attr('class', ($oToggable.hasClass('.show') ? 'fa fa-chevron-up' : 'fa fa-chevron-down')); + } + ); + } else { + + } + } + + // Auswahllisten im Warenkorb + $('.basketItemDesc .selectorsBox .dropdown-menu li a', $oContentWrapper).click(function (e) { + e.preventDefault(); + var $this = $(this); + $this.closest('.selectbox').removeClass('open'); + $this.parent().parent().prev().val($this.attr('data-selection-id')); + $this.parent().parent().prev().siblings('button').find('span').first().text($this.text()); + } + ); + + /* ********************************* + * Mein Konto + * *********************************/ + if ($oChangeEmail.length) { + var sOldMail = $oChangeEmail.val(), + $oPasswordElem = $('.oxValidate_pwd'); + $oChangeEmail.keyup(function (e) { + if ($oPasswordElem.length) { + if (sOldMail != e.target.value) { + $oPasswordElem.slideDown('fast'); + } + else { + if ($oPasswordElem.is(':visible')) { + $oPasswordElem.slideUp('fast'); + } + } + } + } + ); + } + + /* ********************************* + * Private Sales Login + * *********************************/ + $('#private-sales-login input.agb-check').click(function () { + if ((this).checked) { + $('#private-sales-login button.submitButton').removeAttr('disabled'); + } else { + $('#private-sales-login button.submitButton').attr("disabled", "disabled"); + } + }); + } +); + diff --git a/build/js/pages/compare.js b/build/js/pages/compare.js new file mode 100644 index 0000000..772bb2f --- /dev/null +++ b/build/js/pages/compare.js @@ -0,0 +1,36 @@ +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ + +// Short-Handle für document.ready +$( function () +{ + var oCompPlayground = $( '#comparePlayground' ); + + // Wenn Compare-Seite + if ( oCompPlayground.length > 0 ) + { + $( '#compareLandscape' ).scroll( + function( oEvent ) + { + $( this ).toggleClass( 'shadowed', $( this ).scrollLeft() > 0 ); + } + ); + } +} ); \ No newline at end of file diff --git a/build/js/pages/details.js b/build/js/pages/details.js new file mode 100644 index 0000000..30d4e87 --- /dev/null +++ b/build/js/pages/details.js @@ -0,0 +1,114 @@ +/** + * Script for Variantselection + */ + +addDropdownLinksEventListeners = () => { + var aVariantDropdownLinks = document.querySelectorAll('#variants .dropDown a'); + aVariantDropdownLinks.forEach((a) => a.addEventListener('click', handleDropdownLinkClick)); + + var ajaxArticleToBasketButton = document.querySelector('.js-oxProductForm #toBasket'); + ajaxArticleToBasketButton.addEventListener('click', handleVariantAddToBasket); + +}; + +handleDropdownLinkClick = (e) => { + e.preventDefault(); + + // update clicked value to input + let dropdownLink = e.target; + let dropdown = dropdownLink.closest('.dropdown'); + let varselidInput = dropdown.querySelector("input[name^=varselid]"); + + // set value + let varselId = dropdownLink.dataset.selectionId; + varselidInput.value = varselId; + + // do ajax stuff + let reloadForm = document.querySelector('.js-oxWidgetReload'); + let formData = serialize(reloadForm); + let aSelectionInputs = document.querySelectorAll( 'input[name^=varselid]','form.js-oxProductForm' ); + + + aSelectionInputs.forEach((inputField, i) => { + formData += '&varselid%5B' + i +'%5D=' + inputField.value; + }); + + + // perform ajax call + var request = new XMLHttpRequest(); + request.open('GET', '/index.php?' + formData, true); + + request.onload = function() { + if (this.status >= 200 && this.status < 400) { + // Success! + let html = this.response; + // replace markup + document.getElementById('details_container').innerHTML = html; + // bind event listeners again + addDropdownLinksEventListeners(); + } + }; + + request.onerror = function() { + // There was a connection error of some sort + console.log('error'); + }; + + request.send(); + +}; + + +/** Replace cl input of form to details **/ +handleVariantAddToBasket = (e) => { + e.preventDefault(); + + // replace cl before submitting + var form = e.target.closest('.js-oxProductForm'); + var cl = form.querySelector('input[name=cl]'); + cl.value = 'details'; + + form.submit(); +}; + + +addDropdownLinksEventListeners(); + + + +/*! + * Serialize all form data into a query string + * (c) 2018 Chris Ferdinandi, MIT License, https://gomakethings.com + * @param {Node} form The form to serialize + * @return {String} The serialized form data + */ +var serialize = function (form) { + + // Setup our serialized data + var serialized = []; + + // Loop through each field in the form + for (var i = 0; i < form.elements.length; i++) { + + var field = form.elements[i]; + + // Don't serialize fields without a name, submits, buttons, file and reset inputs, and disabled fields + if (!field.name || field.disabled || field.type === 'file' || field.type === 'reset' || field.type === 'submit' || field.type === 'button') continue; + + // If a multi-select, get all selections + if (field.type === 'select-multiple') { + for (var n = 0; n < field.options.length; n++) { + if (!field.options[n].selected) continue; + serialized.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.options[n].value)); + } + } + + // Convert field data to a query string + else if ((field.type !== 'checkbox' && field.type !== 'radio') || field.checked) { + serialized.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.value)); + } + } + + return serialized.join('&'); + +}; \ No newline at end of file diff --git a/build/js/pages/review.js b/build/js/pages/review.js new file mode 100644 index 0000000..b16ba89 --- /dev/null +++ b/build/js/pages/review.js @@ -0,0 +1,44 @@ +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ +/* +$( document ).ready( function() + { + var $oReviewRating = $( '#reviewRating' ); + + if( $oReviewRating.length ) + { + var $oRatingForm = $( '#rating' ); + + $oReviewRating.find( '.ox-write-review' ).on( 'click mouseenter touch', function() + { + var $this = $( this ), + $oParent = $this.parent(); + + $oParent.prevAll().find( 'i' ).removeClass( 'far' ).addClass( 'fas' ); + $oParent.nextAll().find( 'i' ).removeClass( 'fas' ).addClass( 'far' ); + $this.find( 'i' ).removeClass( 'far' ).addClass( 'fas' ); + + $oRatingForm.find( '#recommListRating, #productRating' ).val( $oParent.attr( 'data-rate-value' ) ); + } + ); + } + } +); +*/ \ No newline at end of file diff --git a/build/js/pages/start.js b/build/js/pages/start.js new file mode 100644 index 0000000..9e85175 --- /dev/null +++ b/build/js/pages/start.js @@ -0,0 +1,56 @@ +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ +$(window).on('load', function () { + $('#promo-carousel').slick(); + + $('.manufacturer-slider .flexslider').slick({ + dots: false, + infinite: true, + speed: 300, + slidesToShow: 6, + slidesToScroll: 6, + responsive: [ + { + breakpoint: 1024, + settings: { + slidesToShow: 4, + slidesToScroll: 4 + } + }, + { + breakpoint: 600, + settings: { + slidesToShow: 2, + slidesToScroll: 2 + } + }, + { + breakpoint: 480, + settings: { + slidesToShow: 1, + slidesToScroll: 1 + } + } + // You can unslick at a given breakpoint now by adding: + // settings: "unslick" + // instead of a settings object + ] + }); +}); diff --git a/build/scss/_icons.scss b/build/scss/_icons.scss new file mode 100644 index 0000000..d5bba68 --- /dev/null +++ b/build/scss/_icons.scss @@ -0,0 +1,168 @@ +// Generated by grunt-webfont +// Based on https://github.com/endtwist/fontcustom/blob/master/lib/fontcustom/templates/fontcustom.css + + + +$icons-font-path : "../fonts/" !default; + +@font-face { + font-family:"icons"; + src:url($icons-font-path + "icons.woff2?b039c491b69398e44a9de4c35691482a") format("woff2"), + url($icons-font-path + "icons.woff?b039c491b69398e44a9de4c35691482a") format("woff"); + font-weight:normal; + font-style:normal; + font-display: swap; +} + + + // Bootstrap Overrides +[class^="moga-"]:before, +[class*=" moga-"]:before { + font-family:"icons"; + display:inline-block; + line-height:1; + font-weight:normal; + font-style:normal; + speak:none; + text-decoration:inherit; + text-transform:none; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; +} + + + +// Icons + + + .moga-bag:before { + content:"\f101"; + } + + + + .moga-bars:before { + content:"\f102"; + } + + + + .moga-check:before { + content:"\f103"; + } + + + + .moga-down:before { + content:"\f104"; + } + + + + .moga-download:before { + content:"\f105"; + } + + + + .moga-left:before { + content:"\f106"; + } + + + + .moga-pencil:before { + content:"\f107"; + } + + + + .moga-person:before { + content:"\f108"; + } + + + + .moga-plus-circle:before { + content:"\f109"; + } + + + + .moga-right:before { + content:"\f10a"; + } + + + + .moga-rss:before { + content:"\f10b"; + } + + + + .moga-search:before { + content:"\f10c"; + } + + + + .moga-star-half-o:before { + content:"\f10d"; + } + + + + .moga-star:before { + content:"\f10e"; + } + + + + .moga-sync:before { + content:"\f10f"; + } + + + + .moga-times:before { + content:"\f110"; + } + + + + .moga-trash:before { + content:"\f111"; + } + + + + .moga-up:before { + content:"\f112"; + } + + + +// Icons as a map +$icons: ( + bag: "\f101", + bars: "\f102", + check: "\f103", + down: "\f104", + download: "\f105", + left: "\f106", + pencil: "\f107", + person: "\f108", + plus-circle: "\f109", + right: "\f10a", + rss: "\f10b", + search: "\f10c", + star-half-o: "\f10d", + star: "\f10e", + sync: "\f10f", + times: "\f110", + trash: "\f111", + up: "\f112", +); + diff --git a/build/scss/_variables.scss b/build/scss/_variables.scss new file mode 100644 index 0000000..e4ed658 --- /dev/null +++ b/build/scss/_variables.scss @@ -0,0 +1,202 @@ + +// +// Theme Variables +// -------------------------------------------------- + +$font-family-base: Raleway, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +$font-size-base: 1rem; +$line-height-base: 1.5; + +$primary: #7952b3; +$secondary: #6c757d; + +$row-padding: 3rem; + +//== Colors +//== Colors +// +//## Brand colors to use across Wave + +$fa-font-path : '../fonts/'; + +// stylelint-disable +$white: #fff; +$gray-100: #f8f9fa; +$gray-200: #e9ecef; +$gray-300: #dee2e6; +$gray-400: #ced4da; +$gray-500: #adb5bd; +$gray-600: #6c757d; +$gray-700: #495057; +$gray-800: #333333; +$gray-900: #212529; +$black: #000; + +$gray-dark: $gray-800; + +$ox-border: $gray-200; +$ox-header-border: $ox-border; +$ox-footer-border: $ox-border; + +$ox-bg: $gray-100; +$ox-header-bg: $ox-bg; +$ox-footer-bg: $ox-bg; + +$ox-color: $gray-600; +$ox-footer-color: #000; +$ox-header-color: $ox-color; + +$ox-container-base-background-color: $white; +$ox-container-header-background-color: $ox-container-base-background-color; +$ox-container-wrapper-background-color: $ox-container-base-background-color; +$ox-footer-color-facebook: #428BCA; +$ox-footer-color-google-plus: #d73d32; +$ox-footer-color-twitter: #1AB2E8; +$ox-footer-color-youtube: #CC181E; +$ox-footer-color-blog: #333333; + +//$ox-footer-bg: #F2F2F2; +//$ox-footer-border: #E7E7E7; +//$ox-footer-color: #666666; + + +//== Boxed layout +// +//## Variables to use across the boxed layout + +$ox-boxed-container-shadow: 0 5px 20px rgba( 0, 0, 0, 0.2 ); + + +//== Home page + +$ox-start-section-margin-vertical: 50px; +$ox-start-manufacturerslider-bg: #F2F2F2; +$ox-start-manufacturerslider-border: #E7E7E7; + + +//== Lists + +$ox-listitem-grid-row-margin-bottom: 30px; +$ox-listitem-grid-picture-height: 190px; +$ox-listitem-grid-picture-padding: 15px; +$ox-listitem-grid-title-rows: 2; + +$ox-listitem-infogrid-row-margin-bottom: 50px; +$ox-listitem-infogrid-picture-height: 275px; +$ox-listitem-infogrid-title-rows: 2; + +$ox-listfilter-bg: #F2F2F2; +$ox-listfilter-border: #E7E7E7; +$ox-listfilter-padding-horizontal: 15px; +$ox-listfilter-padding-vertical: 10px; +$ox-listfilter-margin-top: 15px; + + +//== Main navbar +$navbar-padding-y: 0; +$ox-mainnav-link-font-size: 1.2em; +$ox-mainnav-link-font-weight: 200; +$ox-mainnav-fixed-shadow: 0 0 3px rgba( 0, 0, 0, 0.2 ); + + +//== Minibasket + +$ox-shopping-bag-font-family: $font-family-base; +$ox-shopping-bag-font-size: 20px; +$ox-shopping-bag-mini-font-size: 22px; + + +//== Details page + +$ox-page-details-items-pager-border-bottom: #E7E7E7; +$ox-page-details-product-title-font-size: 22px; +$ox-page-details-rating-star-filled-color: #F60; +$ox-page-details-rating-star-empty-color: #C7C7C7; + + +//== Checkout (Global) + +$ox-checkout-steps-border-color: $primary; +$ox-checkout-steps-bg: $ox-checkout-steps-border-color; +$ox-checkout-steps-color: #FFF; +$ox-checkout-steps-active-bg: $secondary; +$ox-checkout-steps-active-color: #FFF; +$ox-checkout-steps-passed-bg: #5cb85c; +$ox-checkout-steps-passed-color: #FFF; + + +// +// Custom Variables +// -------------------------------------------------- + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +//## Headings + +$h1-font-size: 36px; +$h2-font-size: 30px; +$h3-font-size: 24px; +$h4-font-size: 18px; +$h5-font-size: 14px; +$h6-font-size: 12px; + +$headings-font-weight: 400; + + +//## Line Height +$line-height-computed: floor(($font-size-base * $line-height-base)); // ~20px + +//== Scaffolding +// +//## Settings for some of the most global styles. + +$link-color: $gray-dark; +$link-hover-color: $primary; +$link-disabled-color: #C7C7C7; + + +//== Navbar +// +//## + +$navbar-height: 40px; +$navbar-margin-bottom: 0; +$navbar-border-radius: 0; +$navbar-default-bg: #FFF; +$navbar-default-color: $primary; +$navbar-default-link-active-bg: transparent; +$navbar-default-link-hover-bg: $navbar-default-link-active-bg; +$navbar-default-link-active-color: $secondary; +$navbar-default-link-hover-color: $navbar-default-link-active-color; + + +//== Breadcrumbs +// +//## + +$breadcrumb-bg: transparent; +$breadcrumb-active-color: $secondary; +$breadcrumb-padding-horizontal: 0; +$breadcrumb-padding-y: 0; +$breadcrumb-padding-x: 8px; + + +$enable-caret: false; +$enable-rounded: false; +$enable-shadows: false; +$enable-gradients: false; +$enable-transitions: true; +$enable-reduced-motion: true; +$enable-grid-classes: true; +$enable-button-pointers: true; +$enable-rfs: true; +$enable-validation-icons: false; +$enable-negative-margins: false; +$enable-deprecation-messages: false; +$enable-important-utilities: false; + +$carousel-control-color: #fff; +$carousel-control-prev-icon-bg:url("data:image/svg+xml,"); +$carousel-control-next-icon-bg:url("data:image/svg+xml,"); diff --git a/build/scss/_webfont.scss b/build/scss/_webfont.scss new file mode 100644 index 0000000..1734961 --- /dev/null +++ b/build/scss/_webfont.scss @@ -0,0 +1,36 @@ +$font-path: '../fonts'; + +@media only screen and (min-width: 600px) { + + /* raleway200*/ + @font-face { + font-family: 'Raleway'; + font-style: normal; + font-display: swap; + font-weight: 200; + src: url($font-path + '/raleway200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url($font-path + '/raleway200.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ + } + + /* raleway400*/ + @font-face { + font-family: 'Raleway'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url($font-path + '/raleway400.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url($font-path + '/raleway400.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ + } + + + /* raleway700*/ + @font-face { + font-family: 'Raleway'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url($font-path + '/raleway700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url($font-path + '/raleway700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ + } +} + diff --git a/build/scss/form/_recommendation_add.scss b/build/scss/form/_recommendation_add.scss new file mode 100644 index 0000000..ad428af --- /dev/null +++ b/build/scss/form/_recommendation_add.scss @@ -0,0 +1,13 @@ +.listmania{ + &-add { + .areabox { + max-width: 100%; + } + } + + &-desc-add{ + label { + display: block; + } + } +} diff --git a/build/scss/form/_wishlist_publish.scss b/build/scss/form/_wishlist_publish.scss new file mode 100644 index 0000000..5efedff --- /dev/null +++ b/build/scss/form/_wishlist_publish.scss @@ -0,0 +1,9 @@ +.publish-list { + .btn { + font-size: 14px; + } +} + +.req { + font-weight: bold; +} \ No newline at end of file diff --git a/build/scss/form/fieldset/_user_shipping.scss b/build/scss/form/fieldset/_user_shipping.scss new file mode 100644 index 0000000..f562bab --- /dev/null +++ b/build/scss/form/fieldset/_user_shipping.scss @@ -0,0 +1,22 @@ +.form-horizontal { + .form-group { + @include make-row(); + + .control-label { + @include media-breakpoint-up(md){ + text-align: right; + } + + &.req { + font-weight: bold; + } + } + + .help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: $gray-600; + } + } +} diff --git a/build/scss/icons.html b/build/scss/icons.html new file mode 100644 index 0000000..1a1c192 --- /dev/null +++ b/build/scss/icons.html @@ -0,0 +1,289 @@ + + + + + icons + + + +

icons

+ +
+ +
moga-bag
+ +
moga-bars
+ +
moga-check
+ +
moga-down
+ +
moga-download
+ +
moga-left
+ +
moga-pencil
+ +
moga-person
+ +
moga-plus-circle
+ +
moga-right
+ +
moga-rss
+ +
moga-search
+ +
moga-star-half-o
+ +
moga-star
+ +
moga-sync
+ +
moga-times
+ +
moga-trash
+ +
moga-up
+ +
+ + + +

Usage

+
<i class="moga-name"></i>
+ + + + + + + diff --git a/build/scss/layout/_base.scss b/build/scss/layout/_base.scss new file mode 100644 index 0000000..28e7b6f --- /dev/null +++ b/build/scss/layout/_base.scss @@ -0,0 +1,48 @@ +@function url-friendly-colour($colour) { + @return '%23' + str-slice('#{$colour}', 2, -1) +} + +body { + font-size: $font-size-sm; + + @include media-breakpoint-up(md) { + font-size: $font-size-base; + } + + @include media-breakpoint-up(lg) { + font-size: $font-size-lg; + } +} + +#wrapper { + background-color: $white; + + &:after { + content: ''; + display: table; + } +} + +.products { + padding: $row-padding 0; + text-align: center; + + .page-header { + margin-bottom: $row-padding/2; + } +} + +.lazyload { + opacity: 0; +} + +.lazyloading { + opacity: 1; + transition: opacity 300ms; + background: #f7f7f7 url(../../img/loading.svg) no-repeat center; + background-size: 50px 50px; +} + +.page-header { + +} diff --git a/build/scss/layout/_footer.scss b/build/scss/layout/_footer.scss new file mode 100644 index 0000000..dc00bb8 --- /dev/null +++ b/build/scss/layout/_footer.scss @@ -0,0 +1,65 @@ +// +// Footer +// -------------------------------------------------- +// Import footer modules +@import '../widget/footer/categorylist'; +@import '../widget/footer/info'; +@import '../widget/footer/manufacturerlist'; +@import '../widget/footer/services'; +@import '../widget/footer/newsletter'; + +// General footer styles + +.footer { + text-align: center; + background-color: $ox-footer-bg; + color: $ox-footer-color; + padding: $row-padding 0; + + @include media-breakpoint-up(md) { + text-align: left; + } + + &-box { + margin-bottom: $grid-gutter-width; + + @include media-breakpoint-up(md) { + margin-bottom: inherit; + } + + &-title { + text-transform: uppercase; + } + + &-facebook { + margin-top: $line-height-computed / 2; + } + } + + .social-links { + text-align: center; + + &-list { + padding-left: 0; + list-style: none; + } + + &-item { + margin: 0 10px; + font-size: 16px; + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } + + &-link { + text-decoration: none; + transition: color 0.2s; + } + } +} + + +.vat-info { + float: right; +} diff --git a/build/scss/layout/_header.scss b/build/scss/layout/_header.scss new file mode 100644 index 0000000..a6a210e --- /dev/null +++ b/build/scss/layout/_header.scss @@ -0,0 +1,91 @@ +// +// Header +// -------------------------------------------------- +// Import header modules +@import '../widget/header/betanote'; +@import '../widget/header/categorylist'; +@import '../widget/header/cookienote'; +@import '../widget/header/currencies'; +@import '../widget/header/languages'; +@import '../widget/header/loginbox'; +@import '../widget/header/menubasket'; +@import '../widget/header/minibasket'; +@import '../widget/header/search'; +@import '../widget/header/servicebox'; +@import '../widget/header/servicemenu'; + +.header { + background-color: $ox-container-header-background-color; + padding: 5px 0; + + @include media-breakpoint-up(lg) { + padding: 10px 0; + } + + .logo-link { + max-width: 100px; + flex: 0 0 100px; + padding: 0; + margin: 0 auto; + align-items: center; + display: flex; + + @include media-breakpoint-up(lg) { + order: 2; + } + } + + .logo-img { + width: 100px; + height: 37px; + fill: $primary; + } + + .menu-dropdowns, + .icon-wrapper { + margin-left: auto; + max-width: 96px; + flex: 0 0 96px; + padding: 0; + text-align: right; + + @include media-breakpoint-up(lg) { + margin: 0; + max-width: 250px; + flex: 0 0 250px; + order: 3; + } + + @include media-breakpoint-up(xl) { + max-width: 300px; + flex: 0 0 300px; + } + } + + .icon-wrapper { + text-align: left; + margin: 0 auto 0 0; + } + + .btn { + padding: 4px 8px; + + .count { + position: absolute; + font-size: 10px; + left: 0; + right: 0; + text-align: center; + top: 15px; + } + } + + i { + font-size: 1.4rem; + color: $primary; + } + + .btn-primary i { + color: #fff; + } +} diff --git a/build/scss/manufacturer.scss b/build/scss/manufacturer.scss new file mode 100644 index 0000000..98488eb --- /dev/null +++ b/build/scss/manufacturer.scss @@ -0,0 +1,10 @@ +// Wave Theme +@import "webfont"; +@import 'variables'; + +@import "../../node_modules/bootstrap/scss/functions"; +@import "../../node_modules/bootstrap/scss/variables"; +@import "../../node_modules/bootstrap/scss/mixins"; +@import "../../node_modules/bootstrap/scss/utilities"; + +@import 'widget/manufacturer'; diff --git a/build/scss/page/account/inc/_account_menu.scss b/build/scss/page/account/inc/_account_menu.scss new file mode 100644 index 0000000..5dc784b --- /dev/null +++ b/build/scss/page/account/inc/_account_menu.scss @@ -0,0 +1,25 @@ +.account-menu { + .list-group { + padding-bottom: 15px; + + &-item { + &.active { + color: $white; + &:hover, &:focus { + color: $white; + background-color: $primary; + } + } + } + + &-link { + color:inherit; + display: block; + } + } +} + +.cl-account .card { + height: auto; + margin-bottom: $grid-gutter-width; +} \ No newline at end of file diff --git a/build/scss/page/checkout/_order.scss b/build/scss/page/checkout/_order.scss new file mode 100644 index 0000000..fafc42d --- /dev/null +++ b/build/scss/page/checkout/_order.scss @@ -0,0 +1,30 @@ +@import 'inc/basketcontents_list'; +@import 'inc/payments'; +@import 'inc/steps'; + +.edit-button { + padding: 0 0.25em; + font-size: 13px; + +} + +.cart-buttons { + .btn { + width: 100%; + + @include media-breakpoint-up(md) { + width: auto; + margin-bottom: 0; + } + + &:first-child { + margin-bottom: 15px; + @include media-breakpoint-up(md) { + margin-bottom: 0; + } + } + } +} +.voucher-code { + max-width: 250px; +} \ No newline at end of file diff --git a/build/scss/page/checkout/inc/_basketcontents_list.scss b/build/scss/page/checkout/inc/_basketcontents_list.scss new file mode 100644 index 0000000..40ae7bc --- /dev/null +++ b/build/scss/page/checkout/inc/_basketcontents_list.scss @@ -0,0 +1,22 @@ +.cart_item-list { + padding-left: 15px; + padding-right: 15px; + + .quantity { + .textbox { + max-width: 60px; + padding-left: 5px; + padding-right: 5px; + } + } + .row { + &.collapse { + &:not(.show) { + + @include media-breakpoint-up(md){ + display: flex; + } + } + } + } +} \ No newline at end of file diff --git a/build/scss/page/checkout/inc/_payments.scss b/build/scss/page/checkout/inc/_payments.scss new file mode 100644 index 0000000..e0ec1cb --- /dev/null +++ b/build/scss/page/checkout/inc/_payments.scss @@ -0,0 +1,80 @@ +.payment-option { + display: none; +} + +.popupBox { + display: none; + position: absolute; + padding: 5px; + left: 0; + text-align: left; + z-index: 100; +} + +.paypalExpressCheckoutBox { + text-align: right !important; + margin-bottom: 10px; + + .popupBox { + left: auto; + right: 0; + top: 15px; + border: 1px solid #333; + } +} + +.paypalHelpIcon { + border-radius: 50%; + border: 1px solid #333; + width: 18px; + display: inline-block; + height: 18px; + text-align: center; + margin: 0 8px; +} + +.paypalHelpBox { + @extend .alert; + display: none; + position: absolute; +} + +#paypalExpressCheckoutDetailsBox { + width: 100%; + float: none !important; + + &.paypalExpressCheckoutDetailsBox .paypalExpressCheckoutMsg { + float: none; + } + +} + +.paypalExpressCheckoutBox { + padding-right: 15px !important; + margin: 0 15px 0 0 !important; + + .paypalExpressCheckoutMsg { + clear: both; + } +} + +#paypalExpressCheckoutMiniBasketImage { + float: right !important; +} + +#paypalExpressCheckoutMiniBasketBox { + &.paypalExpressCheckoutBox { + float: right; + padding-right: 0 !important; + margin: 0 0 15px 0 !important; + + .paypalExpressCheckoutMsg { + padding-top: 5px; + } + + .paypalHelpIcon { + left: -30px; + top: 5px; + } + } +} diff --git a/build/scss/page/checkout/inc/_steps.scss b/build/scss/page/checkout/inc/_steps.scss new file mode 100644 index 0000000..cf87e15 --- /dev/null +++ b/build/scss/page/checkout/inc/_steps.scss @@ -0,0 +1,58 @@ +.checkout-steps { + border-top: 3px solid $primary; + width: 100%; + height: 40px; + padding: 0; + margin: 15px 0; + list-style: none; + + @include media-breakpoint-up(md) { + margin: 15px 0 30px 0; + } + + .step { + width: 20%; + max-width: 20%; + text-align: center; + position: relative; + padding-top: 16px; + + &.active { + .num { + background-color: $secondary; + } + } + + &.passed { + .num { + background-color: $success; + } + } + } + + .num { + border: 2px solid $white; + border-radius: 50%; + background-color: $primary; + width: 30px; + height: 30px; + padding-top: 1px; + margin-left: -16px; + position: absolute; + top: -16px; + left: 50%; + color: $white; + font-size: 16px; + font-weight: 500; + text-align: center; + } + + .text { + display: none; + + @include media-breakpoint-up(md) { + display: block; + } + } + +} \ No newline at end of file diff --git a/build/scss/page/compare/_compare.scss b/build/scss/page/compare/_compare.scss new file mode 100644 index 0000000..dabef5a --- /dev/null +++ b/build/scss/page/compare/_compare.scss @@ -0,0 +1,23 @@ +@import 'inc/compareitem'; + +.compare { + &-products { + display: flex; + flex-wrap: nowrap; + } + + &-item-wrapper { + width: 280px; + padding: 15px; + display: flex; + flex-wrap: wrap; + align-content: start; + justify-content: center; + } + + .table-responsive { + &.shadowed { + box-shadow: inset 3px 0 7px 1px rgba(0, 0, 0, 0.2); + } + } +} \ No newline at end of file diff --git a/build/scss/page/compare/inc/_compareitem.scss b/build/scss/page/compare/inc/_compareitem.scss new file mode 100644 index 0000000..42fd237 --- /dev/null +++ b/build/scss/page/compare/inc/_compareitem.scss @@ -0,0 +1,18 @@ +.compare-item { + margin-top: 15px; + + .picture { + height: 250px; + align-items: center; + } + + .title { + padding-top: 15px; + height: 40px; + display: block; + } + + .add-to-basket { + height: 150px; + } +} \ No newline at end of file diff --git a/build/scss/page/details/_details.scss b/build/scss/page/details/_details.scss new file mode 100644 index 0000000..0553304 --- /dev/null +++ b/build/scss/page/details/_details.scss @@ -0,0 +1,142 @@ +.details { + &-pager { + border-bottom: 1px solid $ox-footer-border; + padding-bottom: 10px; + margin-top: 20px; + margin-bottom: 20px; + + &-link { + color: $primary; + } + } + + &-picture { + text-align: center; + margin-bottom: 10px; + + &-more { + &-list { + padding-left: 0; + list-style: none; + margin-left: -5px; + + &-item { + display: inline-block; + padding-left: 5px; + padding-right: 5px; + } + } + + &-link { + border: 1px solid $ox-footer-border; + padding: 3px; + display: block; + + &.selected { + border-color: $secondary; + } + } + + &-img { + } + } + } + + &-title { + margin: 0; + font-weight: 200; + font-size: $ox-page-details-product-title-font-size; + } + + &-shortdesc { + margin-bottom: 20px; + } + + .tobasket { + &-function { + margin-bottom: 5px; + } + + &-input-group { + width: 100%; + + @include media-breakpoint-up(md) { + width: 250px; + } + } + } + + &-col-right { + border-left: 1px solid $ox-footer-border; + } + + &-action-links { + a { + color: $primary; + } + } + + .tab-content { + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + border-left: 1px solid #ddd; + padding: 10px 15px; + } +} + +.variant { + &-label { + margin-bottom: 0; + } +} + +.btn-staffel { + margin-bottom: 5px; + width: 100%; + + @include media-breakpoint-up(md) { + width: 250px; + } +} + +.staffel { + &-dt { + float: left; + padding-right: 15px; + } +} + +.price-wrapper { + clear: both; + overflow: hidden; +} + +.tobasket { + #paypalExpressCheckoutDetailsBox { + &.paypalExpressCheckoutBox { + width: 210px; + clear: both; + float: right; + margin: 0 !important; + padding: 0 !important; + + .paypalHelpIcon { + left: -30px; + } + } + } +} + +.price-label { + .price { + font-weight: 500; + font-size: 21px; + } +} + +.tobasket { + .stockFlag, .deliverytime { + font-size: 12px; + color: #777; + } +} \ No newline at end of file diff --git a/build/scss/page/list/_list.scss b/build/scss/page/list/_list.scss new file mode 100644 index 0000000..8e0d66a --- /dev/null +++ b/build/scss/page/list/_list.scss @@ -0,0 +1,7 @@ +.list { + &-img { + display: block; + margin-bottom: $row-padding/2; + } +} + diff --git a/build/scss/promoslider.scss b/build/scss/promoslider.scss new file mode 100644 index 0000000..93ce9d9 --- /dev/null +++ b/build/scss/promoslider.scss @@ -0,0 +1,10 @@ +// Wave Theme +@import "webfont"; +@import 'variables'; + +@import "../../node_modules/bootstrap/scss/functions"; +@import "../../node_modules/bootstrap/scss/variables"; +@import "../../node_modules/bootstrap/scss/mixins"; +@import "../../node_modules/bootstrap/scss/utilities"; + +@import 'widget/promoslider'; diff --git a/build/scss/style.scss b/build/scss/style.scss new file mode 100644 index 0000000..523093a --- /dev/null +++ b/build/scss/style.scss @@ -0,0 +1,27 @@ +// Wave Theme +@import 'variables'; +@import 'vendor/bootstrap'; +@import 'icons'; +@import "webfont"; + +@import 'layout/base'; +@import 'layout/header'; +@import 'layout/footer'; + +@import 'form/fieldset/user_shipping'; +@import 'form/wishlist_publish'; +@import 'form/recommendation_add'; + +@import 'page/details/details'; +@import 'page/checkout/order'; +@import 'page/compare/compare'; +@import 'page/account/inc/account_menu'; +@import 'page/list/list'; +@import 'widget/breadcrumb'; +@import 'widget/product/list'; +@import 'widget/locator/paging'; +@import 'widget/locator/attributes'; +@import 'widget/reviews/rating'; +@import 'widget/reviews/reviews'; +@import 'widget/minibasket/minibasket'; +@import 'widget/sidebar/recommendation'; diff --git a/build/scss/vendor/_bootstrap.scss b/build/scss/vendor/_bootstrap.scss new file mode 100644 index 0000000..54e010d --- /dev/null +++ b/build/scss/vendor/_bootstrap.scss @@ -0,0 +1,55 @@ +/*! + * Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ + +// scss-docs-start import-stack +// Configuration +@import "../../../node_modules/bootstrap/scss/functions"; +@import "../../../node_modules/bootstrap/scss/variables"; +@import "../../../node_modules/bootstrap/scss/mixins"; +@import "../../../node_modules/bootstrap/scss/utilities"; +$theme-colors: map-remove($theme-colors, "light", "secondary", "dark", "warning"); + + +// Layout & components +@import "../../../node_modules/bootstrap/scss/root"; +@import "../../../node_modules/bootstrap/scss/reboot"; +@import "../../../node_modules/bootstrap/scss/type"; +@import "../../../node_modules/bootstrap/scss/images"; +@import "../../../node_modules/bootstrap/scss/containers"; +@import "../../../node_modules/bootstrap/scss/grid"; +@import "../../../node_modules/bootstrap/scss/tables"; +@import "../../../node_modules/bootstrap/scss/forms"; +@import "../../../node_modules/bootstrap/scss/buttons"; +@import "../../../node_modules/bootstrap/scss/transitions"; +@import "../../../node_modules/bootstrap/scss/dropdown"; +@import "../../../node_modules/bootstrap/scss/button-group"; +@import "../../../node_modules/bootstrap/scss/nav"; +@import "../../../node_modules/bootstrap/scss/navbar"; +@import "../../../node_modules/bootstrap/scss/card"; +@media screen and (min-width: map-get($container-max-widths, 'md')){ + @import "../../../node_modules/bootstrap/scss/breadcrumb"; +} + +@import "../../../node_modules/bootstrap/scss/pagination"; +@import "../../../node_modules/bootstrap/scss/badge"; +@import "../../../node_modules/bootstrap/scss/alert"; +//@import "../../../node_modules/bootstrap/scss/progress"; +@import "../../../node_modules/bootstrap/scss/list-group"; +@import "../../../node_modules/bootstrap/scss/close"; +//@import "../../../node_modules/bootstrap/scss/toasts"; +@import "../../../node_modules/bootstrap/scss/modal"; +//@import "../../../node_modules/bootstrap/scss/tooltip"; +//@import "../../../node_modules/bootstrap/scss/popover"; +@import "../../../node_modules/bootstrap/scss/carousel"; +@import "../../../node_modules/bootstrap/scss/spinners"; + +// Helpers +@import "../../../node_modules/bootstrap/scss/helpers"; + +// Utilities +@import "../../../node_modules/bootstrap/scss/utilities/api"; +// scss-docs-end import-stack diff --git a/build/scss/vendor/_slick-theme.scss b/build/scss/vendor/_slick-theme.scss new file mode 100644 index 0000000..c49a849 --- /dev/null +++ b/build/scss/vendor/_slick-theme.scss @@ -0,0 +1,174 @@ +@charset "UTF-8"; + +// Default Variables + +// Slick icon entity codes outputs the following +// "\2190" outputs ascii character "←" +// "\2192" outputs ascii character "→" +// "\2022" outputs ascii character "•" + +$slick-font-path: "./fonts/" !default; +$slick-font-family: "icons" !default; +$slick-loader-path: "./" !default; +$slick-arrow-color: white !default; +$slick-dot-color: black !default; +$slick-dot-color-active: $slick-dot-color !default; +$slick-prev-character: map-get($icons, 'angle-left'); +$slick-next-character: map-get($icons, 'angle-right'); +$slick-dot-size: 6px !default; +$slick-opacity-default: 0.75 !default; +$slick-opacity-on-hover: 1 !default; +$slick-opacity-not-active: 0.25 !default; + +@function slick-image-url($url) { + @if function-exists(image-url) { + @return image-url($url); + } @else { + @return url($slick-loader-path + $url); + } +} + +@function slick-font-url($url) { + @if function-exists(font-url) { + @return font-url($url); + } @else { + @return url($slick-font-path + $url); + } +} + +/* Slider */ + +.slick-list { + .slick-loading & { + background: #fff; + } +} + +/* Arrows */ + +.slick-prev, +.slick-next { + position: absolute; + display: block; + height: 20px; + width: 20px; + line-height: 0; + font-size: 0; + cursor: pointer; + background: transparent; + color: transparent; + top: 50%; + transform: translate(0, -50%); + padding: 0; + border: none; + outline: none; + z-index: 10; + + &:hover, &:focus { + outline: none; + background: transparent; + color: transparent; + + &:before { + opacity: $slick-opacity-on-hover; + } + } + + &.slick-disabled:before { + opacity: $slick-opacity-not-active; + } + + &:before { + font-family: $slick-font-family; + font-size: 20px; + line-height: 1; + color: $slick-arrow-color; + opacity: $slick-opacity-default; + } +} + +.slick-prev { + left: 0; + + &:before { + content: $slick-prev-character; + + } +} + +.slick-next { + right: 0; + + &:before { + content: $slick-next-character; + } +} + +/* Dots */ + +.slick-dotted.slick-slider { + margin-bottom: 30px; +} + +.slick-dots { + position: absolute; + bottom: -25px; + list-style: none; + display: block; + text-align: center; + padding: 0; + margin: 0; + width: 100%; + + li { + position: relative; + display: inline-block; + height: 20px; + width: 20px; + margin: 0 5px; + padding: 0; + cursor: pointer; + + button { + border: 0; + background: transparent; + display: block; + height: 20px; + width: 20px; + outline: none; + line-height: 0; + font-size: 0; + color: transparent; + padding: 5px; + cursor: pointer; + + &:hover, &:focus { + outline: none; + + &:before { + opacity: $slick-opacity-on-hover; + } + } + + &:before { + position: absolute; + top: 0; + left: 0; + content: ''; + width: 20px; + height: 20px; + font-family: $slick-font-family; + font-size: $slick-dot-size; + line-height: 20px; + text-align: center; + color: $slick-dot-color; + opacity: $slick-opacity-not-active; + } + } + + &.slick-active button:before { + color: $slick-dot-color-active; + opacity: $slick-opacity-default; + } + } +} diff --git a/build/scss/vendor/_slick.scss b/build/scss/vendor/_slick.scss new file mode 100644 index 0000000..3ef101d --- /dev/null +++ b/build/scss/vendor/_slick.scss @@ -0,0 +1,95 @@ +/* Slider */ + +.slick-slider { + position: relative; + display: block; + box-sizing: border-box; + user-select: none; + touch-action: pan-y; +} + +.slick-list { + position: relative; + overflow: hidden; + display: block; + margin: 0; + padding: 0; + + &:focus { + outline: none; + } + + &.dragging { + cursor: pointer; + cursor: hand; + } +} + +.slick-slider .slick-track, +.slick-slider .slick-list { + transform: translate3d(0, 0, 0); +} + +.slick-track { + position: relative; + left: 0; + top: 0; + display:flex; + justify-content: center; + align-items: center; + flex: 1 100%; + flex-wrap: wrap; + margin-left: auto; + margin-right: auto; + + &:before, + &:after { + content: ""; + display: table; + } + + &:after { + clear: both; + } + + .slick-loading & { + visibility: hidden; + } +} + +.slick-slide { + height: 100%; + min-height: 1px; + + img { + display: block; + } + + &.slick-loading img { + display: none; + } + + display: none; + + &.dragging img { + pointer-events: none; + } + + .slick-initialized & { + display: block; + } + + .slick-loading & { + visibility: hidden; + } + + .slick-vertical & { + display: block; + height: auto; + border: 1px solid transparent; + } +} + +.slick-arrow.slick-hidden { + display: none; +} diff --git a/build/scss/vendor/_variables_ORGINAL.scss b/build/scss/vendor/_variables_ORGINAL.scss new file mode 100644 index 0000000..2e0d0ce --- /dev/null +++ b/build/scss/vendor/_variables_ORGINAL.scss @@ -0,0 +1,1260 @@ +// Variables +// +// Variables should follow the `$component-state-property-size` formula for +// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. + +// Color system + +$white: #fff !default; +$gray-100: #f8f9fa !default; +$gray-200: #e9ecef !default; +$gray-300: #dee2e6 !default; +$gray-400: #ced4da !default; +$gray-500: #adb5bd !default; +$gray-600: #6c757d !default; +$gray-700: #495057 !default; +$gray-800: #343a40 !default; +$gray-900: #212529 !default; +$black: #000 !default; + +// fusv-disable +$grays: ( + "100": $gray-100, + "200": $gray-200, + "300": $gray-300, + "400": $gray-400, + "500": $gray-500, + "600": $gray-600, + "700": $gray-700, + "800": $gray-800, + "900": $gray-900 +) !default; +// fusv-enable + +$blue: #0d6efd !default; +$indigo: #6610f2 !default; +$purple: #6f42c1 !default; +$pink: #d63384 !default; +$red: #dc3545 !default; +$orange: #fd7e14 !default; +$yellow: #ffc107 !default; +$green: #28a745 !default; +$teal: #20c997 !default; +$cyan: #17a2b8 !default; + +// scss-docs-start colors-map +$colors: ( + "blue": $blue, + "indigo": $indigo, + "purple": $purple, + "pink": $pink, + "red": $red, + "orange": $orange, + "yellow": $yellow, + "green": $green, + "teal": $teal, + "cyan": $cyan, + "white": $white, + "gray": $gray-600, + "gray-dark": $gray-800 +) !default; +// scss-docs-end colors-map + +$primary: $blue !default; +$secondary: $gray-600 !default; +$success: $green !default; +$info: $cyan !default; +$warning: $yellow !default; +$danger: $red !default; +$light: $gray-100 !default; +$dark: $gray-800 !default; + +// scss-docs-start theme-colors-map +$theme-colors: ( + "primary": $primary, + "secondary": $secondary, + "success": $success, + "info": $info, + "warning": $warning, + "danger": $danger, + "light": $light, + "dark": $dark +) !default; +// scss-docs-end theme-colors-map + +// Set a specific jump point for requesting color jumps +$theme-color-interval: 8% !default; + +// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7. +// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast +$min-contrast-ratio: 3 !default; + +// Customize the light and dark text colors for use in our color contrast function. +$color-contrast-dark: $gray-900 !default; +$color-contrast-light: $white !default; + +// fusv-disable +$blue-100: tint-color($blue, 8) !default; +$blue-200: tint-color($blue, 6) !default; +$blue-300: tint-color($blue, 4) !default; +$blue-400: tint-color($blue, 2) !default; +$blue-500: $blue !default; +$blue-600: shade-color($blue, 2) !default; +$blue-700: shade-color($blue, 4) !default; +$blue-800: shade-color($blue, 6) !default; +$blue-900: shade-color($blue, 8) !default; + +$indigo-100: tint-color($indigo, 8) !default; +$indigo-200: tint-color($indigo, 6) !default; +$indigo-300: tint-color($indigo, 4) !default; +$indigo-400: tint-color($indigo, 2) !default; +$indigo-500: $indigo !default; +$indigo-600: shade-color($indigo, 2) !default; +$indigo-700: shade-color($indigo, 4) !default; +$indigo-800: shade-color($indigo, 6) !default; +$indigo-900: shade-color($indigo, 8) !default; + +$purple-100: tint-color($purple, 8) !default; +$purple-200: tint-color($purple, 6) !default; +$purple-300: tint-color($purple, 4) !default; +$purple-400: tint-color($purple, 2) !default; +$purple-500: $purple !default; +$purple-600: shade-color($purple, 2) !default; +$purple-700: shade-color($purple, 4) !default; +$purple-800: shade-color($purple, 6) !default; +$purple-900: shade-color($purple, 8) !default; + +$pink-100: tint-color($pink, 8) !default; +$pink-200: tint-color($pink, 6) !default; +$pink-300: tint-color($pink, 4) !default; +$pink-400: tint-color($pink, 2) !default; +$pink-500: $pink !default; +$pink-600: shade-color($pink, 2) !default; +$pink-700: shade-color($pink, 4) !default; +$pink-800: shade-color($pink, 6) !default; +$pink-900: shade-color($pink, 8) !default; + +$red-100: tint-color($red, 8) !default; +$red-200: tint-color($red, 6) !default; +$red-300: tint-color($red, 4) !default; +$red-400: tint-color($red, 2) !default; +$red-500: $red !default; +$red-600: shade-color($red, 2) !default; +$red-700: shade-color($red, 4) !default; +$red-800: shade-color($red, 6) !default; +$red-900: shade-color($red, 8) !default; + +$orange-100: tint-color($orange, 8) !default; +$orange-200: tint-color($orange, 6) !default; +$orange-300: tint-color($orange, 4) !default; +$orange-400: tint-color($orange, 2) !default; +$orange-500: $orange !default; +$orange-600: shade-color($orange, 2) !default; +$orange-700: shade-color($orange, 4) !default; +$orange-800: shade-color($orange, 6) !default; +$orange-900: shade-color($orange, 8) !default; + +$yellow-100: tint-color($yellow, 8) !default; +$yellow-200: tint-color($yellow, 6) !default; +$yellow-300: tint-color($yellow, 4) !default; +$yellow-400: tint-color($yellow, 2) !default; +$yellow-500: $yellow !default; +$yellow-600: shade-color($yellow, 2) !default; +$yellow-700: shade-color($yellow, 4) !default; +$yellow-800: shade-color($yellow, 6) !default; +$yellow-900: shade-color($yellow, 8) !default; + +$green-100: tint-color($green, 8) !default; +$green-200: tint-color($green, 6) !default; +$green-300: tint-color($green, 4) !default; +$green-400: tint-color($green, 2) !default; +$green-500: $green !default; +$green-600: shade-color($green, 2) !default; +$green-700: shade-color($green, 4) !default; +$green-800: shade-color($green, 6) !default; +$green-900: shade-color($green, 8) !default; + +$teal-100: tint-color($teal, 8) !default; +$teal-200: tint-color($teal, 6) !default; +$teal-300: tint-color($teal, 4) !default; +$teal-400: tint-color($teal, 2) !default; +$teal-500: $teal !default; +$teal-600: shade-color($teal, 2) !default; +$teal-700: shade-color($teal, 4) !default; +$teal-800: shade-color($teal, 6) !default; +$teal-900: shade-color($teal, 8) !default; + +$cyan-100: tint-color($cyan, 8) !default; +$cyan-200: tint-color($cyan, 6) !default; +$cyan-300: tint-color($cyan, 4) !default; +$cyan-400: tint-color($cyan, 2) !default; +$cyan-500: $cyan !default; +$cyan-600: shade-color($cyan, 2) !default; +$cyan-700: shade-color($cyan, 4) !default; +$cyan-800: shade-color($cyan, 6) !default; +$cyan-900: shade-color($cyan, 8) !default; +// fusv-enable + +// Characters which are escaped by the escape-svg function +$escaped-characters: ( + ("<","%3c"), + (">","%3e"), + ("#","%23"), + ("(","%28"), + (")","%29"), +) !default; + +// Options +// +// Quickly modify global styling by enabling or disabling optional features. + +$enable-caret: true !default; +$enable-rounded: true !default; +$enable-shadows: false !default; +$enable-gradients: false !default; +$enable-transitions: true !default; +$enable-reduced-motion: true !default; +$enable-grid-classes: true !default; +$enable-button-pointers: true !default; +$enable-rfs: true !default; +$enable-validation-icons: true !default; +$enable-negative-margins: false !default; +$enable-deprecation-messages: true !default; +$enable-important-utilities: true !default; + +// Gradient +// +// The gradient which is added to components if `$enable-gradients` is `true` +// This gradient is also added to elements with `.bg-gradient` +$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default; + +// Spacing +// +// Control the default styling of most Bootstrap elements by modifying these +// variables. Mostly focused on spacing. +// You can add more entries to the $spacers map, should you need more variation. + +$spacer: 1rem !default; +$spacers: ( + 0: 0, + 1: $spacer / 4, + 2: $spacer / 2, + 3: $spacer, + 4: $spacer * 1.5, + 5: $spacer * 3, +) !default; + +$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default; + +// Body +// +// Settings for the `` element. + +$body-bg: $white !default; +$body-color: $gray-900 !default; +$body-text-align: null !default; + + +// Links +// +// Style anchor elements. + +$link-color: $primary !default; +$link-decoration: underline !default; +$link-hover-color: darken($link-color, 15%) !default; +$link-hover-decoration: null !default; +// Darken percentage for links with `.text-*` class (e.g. `.text-success`) +$emphasized-link-hover-darken-percentage: 15% !default; + +$stretched-link-pseudo-element: after !default; +$stretched-link-z-index: 1 !default; + +// Paragraphs +// +// Style p element. + +$paragraph-margin-bottom: 1rem !default; + + +// Grid breakpoints +// +// Define the minimum dimensions at which your layout will change, +// adapting to different screen sizes, for use in media queries. + +// scss-docs-start grid-breakpoints +$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px, + xxl: 1400px +) !default; +// scss-docs-end grid-breakpoints + +@include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); +@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); + + +// Grid containers +// +// Define the maximum width of `.container` for different screen sizes. + +// scss-docs-start container-max-widths +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px, + xxl: 1320px +) !default; +// scss-docs-end container-max-widths + +@include _assert-ascending($container-max-widths, "$container-max-widths"); + + +// Grid columns +// +// Set the number of columns and specify the width of the gutters. + +$grid-columns: 12 !default; +$grid-gutter-width: 1.5rem !default; +$grid-row-columns: 6 !default; + +$gutters: $spacers !default; + +// Container padding + +$container-padding-x: 1rem !default; + + +// Components +// +// Define common padding and border radius sizes and more. + +$border-width: 1px !default; +$border-color: $gray-300 !default; + +$border-radius: .25rem !default; +$border-radius-sm: .2rem !default; +$border-radius-lg: .3rem !default; + +$rounded-pill: 50rem !default; + +$box-shadow: 0 .5rem 1rem rgba($black, .15) !default; +$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; +$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; +$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default; + +$component-active-color: $white !default; +$component-active-bg: $primary !default; + +$caret-width: .3em !default; +$caret-vertical-align: $caret-width * .85 !default; +$caret-spacing: $caret-width * .85 !default; + +$transition-base: all .2s ease-in-out !default; +$transition-fade: opacity .15s linear !default; +$transition-collapse: height .35s ease !default; + +// scss-docs-start embed-responsive-aspect-ratios +$embed-responsive-aspect-ratios: ( + "21by9": ( + x: 21, + y: 9 + ), + "16by9": ( + x: 16, + y: 9 + ), + "4by3": ( + x: 4, + y: 3 + ), + "1by1": ( + x: 1, + y: 1 + ) +) !default; +// scss-docs-end embed-responsive-aspect-ratios + +// Typography +// +// Font, line-height, and color for body text, headings, and more. + +// stylelint-disable value-keyword-case +$font-family-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; +$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; +// stylelint-enable value-keyword-case +$font-family-base: var(--bs-font-sans-serif) !default; +$font-family-code: var(--bs-font-monospace) !default; + +// $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins +// $font-size-base effects the font size of the body text +$font-size-root: null !default; +$font-size-base: 1rem !default; // Assumes the browser default, typically `16px` +$font-size-sm: $font-size-base * .875 !default; +$font-size-lg: $font-size-base * 1.25 !default; + +$font-weight-lighter: lighter !default; +$font-weight-light: 300 !default; +$font-weight-normal: 400 !default; +$font-weight-bold: 700 !default; +$font-weight-bolder: bolder !default; + +$font-weight-base: $font-weight-normal !default; + +$line-height-base: 1.5 !default; +$line-height-sm: 1.25 !default; +$line-height-lg: 2 !default; + +$h1-font-size: $font-size-base * 2.5 !default; +$h2-font-size: $font-size-base * 2 !default; +$h3-font-size: $font-size-base * 1.75 !default; +$h4-font-size: $font-size-base * 1.5 !default; +$h5-font-size: $font-size-base * 1.25 !default; +$h6-font-size: $font-size-base !default; + +$headings-margin-bottom: $spacer / 2 !default; +$headings-font-family: null !default; +$headings-font-style: null !default; +$headings-font-weight: 500 !default; +$headings-line-height: 1.2 !default; +$headings-color: null !default; + +// scss-docs-start display-headings +$display-font-sizes: ( + 1: 5rem, + 2: 4.5rem, + 3: 4rem, + 4: 3.5rem, + 5: 3rem, + 6: 2.5rem +) !default; + +$display-font-weight: 300 !default; +$display-line-height: $headings-line-height !default; +// scss-docs-end display-headings + +$lead-font-size: $font-size-base * 1.25 !default; +$lead-font-weight: 300 !default; + +$small-font-size: .875em !default; + +$sub-sup-font-size: .75em !default; + +$text-muted: $gray-600 !default; + +$initialism-font-size: $small-font-size !default; + +$blockquote-margin-y: $spacer !default; +$blockquote-font-size: $font-size-base * 1.25 !default; +$blockquote-footer-color: $gray-600 !default; +$blockquote-footer-font-size: $small-font-size !default; + +$hr-margin-y: $spacer !default; +$hr-color: inherit !default; +$hr-height: $border-width !default; +$hr-opacity: .25 !default; + +$legend-margin-bottom: .5rem !default; +$legend-font-size: 1.5rem !default; +$legend-font-weight: null !default; + +$mark-padding: .2em !default; + +$dt-font-weight: $font-weight-bold !default; + +$nested-kbd-font-weight: $font-weight-bold !default; + +$list-inline-padding: .5rem !default; + +$mark-bg: #fcf8e3 !default; + + +// Tables +// +// Customizes the `.table` component with basic values, each used across all table variations. + +// scss-docs-start table-variables +$table-cell-padding-y: .5rem !default; +$table-cell-padding-x: .5rem !default; +$table-cell-padding-y-sm: .25rem !default; +$table-cell-padding-x-sm: .25rem !default; + +$table-cell-vertical-align: top !default; + +$table-color: $body-color !default; +$table-bg: transparent !default; + +$table-striped-color: $table-color !default; +$table-striped-bg-factor: .05 !default; +$table-striped-bg: rgba($black, $table-striped-bg-factor) !default; + +$table-active-color: $table-color !default; +$table-active-bg-factor: .1 !default; +$table-active-bg: rgba($black, $table-active-bg-factor) !default; + +$table-hover-color: $table-color !default; +$table-hover-bg-factor: .075 !default; +$table-hover-bg: rgba($black, $table-hover-bg-factor) !default; + +$table-border-factor: .1 !default; +$table-border-width: $border-width !default; +$table-border-color: $border-color !default; + +$table-striped-order: odd !default; + +$table-group-seperator-color: currentColor !default; + +$table-caption-color: $text-muted !default; + +$table-bg-level: -9 !default; + +$table-variants: ( + "primary": color-level($primary, $table-bg-level), + "secondary": color-level($secondary, $table-bg-level), + "success": color-level($success, $table-bg-level), + "info": color-level($info, $table-bg-level), + "warning": color-level($warning, $table-bg-level), + "danger": color-level($danger, $table-bg-level), + "light": $light, + "dark": $dark, +) !default; +// scss-docs-end table-variables + + +// Buttons + Forms +// +// Shared variables that are reassigned to `$input-` and `$btn-` specific variables. + +$input-btn-padding-y: .375rem !default; +$input-btn-padding-x: .75rem !default; +$input-btn-font-family: null !default; +$input-btn-font-size: $font-size-base !default; +$input-btn-line-height: $line-height-base !default; + +$input-btn-focus-width: .2rem !default; +$input-btn-focus-color-opacity: .25 !default; +$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default; +$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; + +$input-btn-padding-y-sm: .25rem !default; +$input-btn-padding-x-sm: .5rem !default; +$input-btn-font-size-sm: $font-size-sm !default; + +$input-btn-padding-y-lg: .5rem !default; +$input-btn-padding-x-lg: 1rem !default; +$input-btn-font-size-lg: $font-size-lg !default; + +$input-btn-border-width: $border-width !default; + + +// Buttons +// +// For each of Bootstrap's buttons, define text, background, and border color. + +$btn-padding-y: $input-btn-padding-y !default; +$btn-padding-x: $input-btn-padding-x !default; +$btn-font-family: $input-btn-font-family !default; +$btn-font-size: $input-btn-font-size !default; +$btn-line-height: $input-btn-line-height !default; +$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping + +$btn-padding-y-sm: $input-btn-padding-y-sm !default; +$btn-padding-x-sm: $input-btn-padding-x-sm !default; +$btn-font-size-sm: $input-btn-font-size-sm !default; + +$btn-padding-y-lg: $input-btn-padding-y-lg !default; +$btn-padding-x-lg: $input-btn-padding-x-lg !default; +$btn-font-size-lg: $input-btn-font-size-lg !default; + +$btn-border-width: $input-btn-border-width !default; + +$btn-font-weight: $font-weight-normal !default; +$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default; +$btn-focus-width: $input-btn-focus-width !default; +$btn-focus-box-shadow: $input-btn-focus-box-shadow !default; +$btn-disabled-opacity: .65 !default; +$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; + +$btn-link-color: $link-color !default; +$btn-link-hover-color: $link-hover-color !default; +$btn-link-disabled-color: $gray-600 !default; + +$btn-block-spacing-y: .5rem !default; + +// Allows for customizing button radius independently from global border radius +$btn-border-radius: $border-radius !default; +$btn-border-radius-sm: $border-radius-sm !default; +$btn-border-radius-lg: $border-radius-lg !default; + +$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + + +// Forms + +$form-text-margin-top: .25rem !default; +$form-text-font-size: $small-font-size !default; +$form-text-font-style: null !default; +$form-text-font-weight: null !default; +$form-text-color: $text-muted !default; + +$form-label-margin-bottom: .5rem !default; +$form-label-font-size: null !default; +$form-label-font-style: null !default; +$form-label-font-weight: null !default; +$form-label-color: null !default; + +$input-padding-y: $input-btn-padding-y !default; +$input-padding-x: $input-btn-padding-x !default; +$input-font-family: $input-btn-font-family !default; +$input-font-size: $input-btn-font-size !default; +$input-font-weight: $font-weight-base !default; +$input-line-height: $input-btn-line-height !default; + +$input-padding-y-sm: $input-btn-padding-y-sm !default; +$input-padding-x-sm: $input-btn-padding-x-sm !default; +$input-font-size-sm: $input-btn-font-size-sm !default; + +$input-padding-y-lg: $input-btn-padding-y-lg !default; +$input-padding-x-lg: $input-btn-padding-x-lg !default; +$input-font-size-lg: $input-btn-font-size-lg !default; + +$input-bg: $white !default; +$input-disabled-bg: $gray-200 !default; +$input-disabled-border-color: null !default; + +$input-color: $gray-700 !default; +$input-border-color: $gray-400 !default; +$input-border-width: $input-btn-border-width !default; +$input-box-shadow: $box-shadow-inset !default; + +$input-border-radius: $border-radius !default; +$input-border-radius-sm: $border-radius-sm !default; +$input-border-radius-lg: $border-radius-lg !default; + +$input-focus-bg: $input-bg !default; +$input-focus-border-color: lighten($component-active-bg, 25%) !default; +$input-focus-color: $input-color !default; +$input-focus-width: $input-btn-focus-width !default; +$input-focus-box-shadow: $input-btn-focus-box-shadow !default; + +$input-placeholder-color: $gray-600 !default; +$input-plaintext-color: $body-color !default; + +$input-height-border: $input-border-width * 2 !default; + +$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default; +$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default; +$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default; + +$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default; +$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default; +$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default; + +$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + + +$form-check-input-width: 1.25em !default; +$form-check-min-height: $font-size-base * $line-height-base !default; +$form-check-padding-left: $form-check-input-width + .5em !default; +$form-check-margin-bottom: .125rem !default; +$form-check-label-color: null !default; +$form-check-label-cursor: null !default; +$form-check-transition: background-color .15s ease-in-out, background-position .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$form-check-input-active-filter: brightness(90%) !default; + +$form-check-input-bg: $body-bg !default; +$form-check-input-border: 1px solid rgba(0, 0, 0, .25) !default; +$form-check-input-border-radius: .25em !default; +$form-check-radio-border-radius: 50% !default; +$form-check-input-focus-border: $input-focus-border-color !default; +$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default; + +$form-check-input-checked-color: $component-active-color !default; +$form-check-input-checked-bg-color: $component-active-bg !default; +$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default; +$form-check-input-checked-bg-image: url("data:image/svg+xml,") !default; +$form-check-radio-checked-bg-image: url("data:image/svg+xml,") !default; + +$form-check-input-indeterminate-color: $component-active-color !default; +$form-check-input-indeterminate-bg-color: $component-active-bg !default; +$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default; +$form-check-input-indeterminate-bg-image: url("data:image/svg+xml,") !default; + +$form-switch-color: rgba(0, 0, 0, .25) !default; +$form-switch-width: 2em !default; +$form-switch-padding-left: $form-switch-width + .5em !default; +$form-switch-bg-image: url("data:image/svg+xml,") !default; +$form-switch-border-radius: $form-switch-width !default; + +$form-switch-focus-color: $input-focus-border-color !default; +$form-switch-focus-bg-image: url("data:image/svg+xml,") !default; + +$form-switch-checked-color: $component-active-color !default; +$form-switch-checked-bg-image: url("data:image/svg+xml,") !default; +$form-switch-checked-bg-position: right center !default; + +$form-check-inline-margin-right: 1rem !default; + +$input-group-addon-color: $input-color !default; +$input-group-addon-bg: $gray-200 !default; +$input-group-addon-border-color: $input-border-color !default; + + +$form-select-padding-y: $input-padding-y !default; +$form-select-padding-x: $input-padding-x !default; +$form-select-font-family: $input-font-family !default; +$form-select-font-size: $input-font-size !default; +$form-select-height: $input-height !default; +$form-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator +$form-select-font-weight: $input-font-weight !default; +$form-select-line-height: $input-line-height !default; +$form-select-color: $input-color !default; +$form-select-disabled-color: $gray-600 !default; +$form-select-bg: $input-bg !default; +$form-select-disabled-bg: $gray-200 !default; +$form-select-disabled-border-color: $input-disabled-border-color !default; +$form-select-bg-position: right $form-select-padding-x center !default; +$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions +$form-select-indicator-color: $gray-800 !default; +$form-select-indicator: url("data:image/svg+xml,") !default; + +$form-select-feedback-icon-padding-right: add(1em * .75, (2 * $form-select-padding-y * .75) + $form-select-padding-x + $form-select-indicator-padding) !default; +$form-select-feedback-icon-position: center right ($form-select-padding-x + $form-select-indicator-padding) !default; +$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; + +$form-select-border-width: $input-border-width !default; +$form-select-border-color: $input-border-color !default; +$form-select-border-radius: $border-radius !default; +$form-select-box-shadow: $box-shadow-inset !default; + +$form-select-focus-border-color: $input-focus-border-color !default; +$form-select-focus-width: $input-focus-width !default; +$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default; + +$form-select-padding-y-sm: $input-padding-y-sm !default; +$form-select-padding-x-sm: $input-padding-x-sm !default; +$form-select-font-size-sm: $input-font-size-sm !default; +$form-select-height-sm: $input-height-sm !default; + +$form-select-padding-y-lg: $input-padding-y-lg !default; +$form-select-padding-x-lg: $input-padding-x-lg !default; +$form-select-font-size-lg: $input-font-size-lg !default; +$form-select-height-lg: $input-height-lg !default; + +$form-range-track-width: 100% !default; +$form-range-track-height: .5rem !default; +$form-range-track-cursor: pointer !default; +$form-range-track-bg: $gray-300 !default; +$form-range-track-border-radius: 1rem !default; +$form-range-track-box-shadow: $box-shadow-inset !default; + +$form-range-thumb-width: 1rem !default; +$form-range-thumb-height: $form-range-thumb-width !default; +$form-range-thumb-bg: $component-active-bg !default; +$form-range-thumb-border: 0 !default; +$form-range-thumb-border-radius: 1rem !default; +$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default; +$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; +$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge +$form-range-thumb-active-bg: lighten($component-active-bg, 35%) !default; +$form-range-thumb-disabled-bg: $gray-500 !default; +$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; + +$form-file-height: $input-height !default; +$form-file-focus-border-color: $input-focus-border-color !default; +$form-file-focus-box-shadow: $input-focus-box-shadow !default; +$form-file-disabled-bg: $input-disabled-bg !default; +$form-file-disabled-border-color: $input-disabled-border-color !default; + +$form-file-padding-y: $input-padding-y !default; +$form-file-padding-x: $input-padding-x !default; +$form-file-line-height: $input-line-height !default; +$form-file-font-family: $input-font-family !default; +$form-file-font-weight: $input-font-weight !default; +$form-file-color: $input-color !default; +$form-file-bg: $input-bg !default; +$form-file-border-width: $input-border-width !default; +$form-file-border-color: $input-border-color !default; +$form-file-border-radius: $input-border-radius !default; +$form-file-box-shadow: $input-box-shadow !default; +$form-file-button-color: $form-file-color !default; +$form-file-button-bg: $input-group-addon-bg !default; + +$form-file-padding-y-sm: $input-padding-y-sm !default; +$form-file-padding-x-sm: $input-padding-x-sm !default; +$form-file-font-size-sm: $input-font-size-sm !default; +$form-file-height-sm: $input-height-sm !default; + +$form-file-padding-y-lg: $input-padding-y-lg !default; +$form-file-padding-x-lg: $input-padding-x-lg !default; +$form-file-font-size-lg: $input-font-size-lg !default; +$form-file-height-lg: $input-height-lg !default; + + +// Form validation + +$form-feedback-margin-top: $form-text-margin-top !default; +$form-feedback-font-size: $form-text-font-size !default; +$form-feedback-font-style: $form-text-font-style !default; +$form-feedback-valid-color: $success !default; +$form-feedback-invalid-color: $danger !default; + +$form-feedback-icon-valid-color: $form-feedback-valid-color !default; +$form-feedback-icon-valid: url("data:image/svg+xml,") !default; +$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; +$form-feedback-icon-invalid: url("data:image/svg+xml,") !default; + +// scss-docs-start form-validation-states +$form-validation-states: ( + "valid": ( + "color": $form-feedback-valid-color, + "icon": $form-feedback-icon-valid + ), + "invalid": ( + "color": $form-feedback-invalid-color, + "icon": $form-feedback-icon-invalid + ) +) !default; +// scss-docs-end form-validation-states + +// Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. + +// scss-docs-start zindex-stack +$zindex-dropdown: 1000 !default; +$zindex-sticky: 1020 !default; +$zindex-fixed: 1030 !default; +$zindex-modal-backdrop: 1040 !default; +$zindex-modal: 1050 !default; +$zindex-popover: 1060 !default; +$zindex-tooltip: 1070 !default; +// scss-docs-end zindex-stack + + +// Navs + +$nav-link-padding-y: .5rem !default; +$nav-link-padding-x: 1rem !default; +$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default; +$nav-link-disabled-color: $gray-600 !default; + +$nav-tabs-border-color: $gray-300 !default; +$nav-tabs-border-width: $border-width !default; +$nav-tabs-border-radius: $border-radius !default; +$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; +$nav-tabs-link-active-color: $gray-700 !default; +$nav-tabs-link-active-bg: $body-bg !default; +$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; + +$nav-pills-border-radius: $border-radius !default; +$nav-pills-link-active-color: $component-active-color !default; +$nav-pills-link-active-bg: $component-active-bg !default; + + +// Navbar + +$navbar-padding-y: $spacer / 2 !default; +$navbar-padding-x: null !default; + +$navbar-nav-link-padding-x: .5rem !default; + +$navbar-brand-font-size: $font-size-lg !default; +// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link +$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default; +$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default; +$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default; +$navbar-brand-margin-right: 1rem !default; + +$navbar-toggler-padding-y: .25rem !default; +$navbar-toggler-padding-x: .75rem !default; +$navbar-toggler-font-size: $font-size-lg !default; +$navbar-toggler-border-radius: $btn-border-radius !default; +$navbar-toggler-focus-width: $btn-focus-width !default; +$navbar-toggler-transition: box-shadow .15s ease-in-out !default; + +$navbar-dark-color: rgba($white, .55) !default; +$navbar-dark-hover-color: rgba($white, .75) !default; +$navbar-dark-active-color: $white !default; +$navbar-dark-disabled-color: rgba($white, .25) !default; +$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,") !default; +$navbar-dark-toggler-border-color: rgba($white, .1) !default; + +$navbar-light-color: rgba($black, .55) !default; +$navbar-light-hover-color: rgba($black, .7) !default; +$navbar-light-active-color: rgba($black, .9) !default; +$navbar-light-disabled-color: rgba($black, .3) !default; +$navbar-light-toggler-icon-bg: url("data:image/svg+xml,") !default; +$navbar-light-toggler-border-color: rgba($black, .1) !default; + +$navbar-light-brand-color: $navbar-light-active-color !default; +$navbar-light-brand-hover-color: $navbar-light-active-color !default; +$navbar-dark-brand-color: $navbar-dark-active-color !default; +$navbar-dark-brand-hover-color: $navbar-dark-active-color !default; + + +// Dropdowns +// +// Dropdown menu container and contents. + +$dropdown-min-width: 10rem !default; +$dropdown-padding-y: .5rem !default; +$dropdown-spacer: .125rem !default; +$dropdown-font-size: $font-size-base !default; +$dropdown-color: $body-color !default; +$dropdown-bg: $white !default; +$dropdown-border-color: rgba($black, .15) !default; +$dropdown-border-radius: $border-radius !default; +$dropdown-border-width: $border-width !default; +$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default; +$dropdown-divider-bg: $gray-200 !default; +$dropdown-divider-margin-y: $spacer / 2 !default; +$dropdown-box-shadow: $box-shadow !default; + +$dropdown-link-color: $gray-900 !default; +$dropdown-link-hover-color: darken($gray-900, 5%) !default; +$dropdown-link-hover-bg: $gray-100 !default; + +$dropdown-link-active-color: $component-active-color !default; +$dropdown-link-active-bg: $component-active-bg !default; + +$dropdown-link-disabled-color: $gray-600 !default; + +$dropdown-item-padding-y: $spacer / 4 !default; +$dropdown-item-padding-x: $spacer !default; + +$dropdown-header-color: $gray-600 !default; +$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default; + + +// Pagination + +$pagination-padding-y: .375rem !default; +$pagination-padding-x: .75rem !default; +$pagination-padding-y-sm: .25rem !default; +$pagination-padding-x-sm: .5rem !default; +$pagination-padding-y-lg: .75rem !default; +$pagination-padding-x-lg: 1.5rem !default; + +$pagination-color: $link-color !default; +$pagination-bg: $white !default; +$pagination-border-width: $border-width !default; +$pagination-border-radius: $border-radius !default; +$pagination-margin-left: -$pagination-border-width !default; +$pagination-border-color: $gray-300 !default; + +$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; +$pagination-focus-outline: 0 !default; + +$pagination-hover-color: $link-hover-color !default; +$pagination-hover-bg: $gray-200 !default; +$pagination-hover-border-color: $gray-300 !default; + +$pagination-active-color: $component-active-color !default; +$pagination-active-bg: $component-active-bg !default; +$pagination-active-border-color: $pagination-active-bg !default; + +$pagination-disabled-color: $gray-600 !default; +$pagination-disabled-bg: $white !default; +$pagination-disabled-border-color: $gray-300 !default; + + +// Cards + +$card-spacer-y: $spacer !default; +$card-spacer-x: $spacer !default; +$card-title-spacer-y: $spacer / 2 !default; +$card-border-width: $border-width !default; +$card-border-radius: $border-radius !default; +$card-border-color: rgba($black, .125) !default; +$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default; +$card-cap-padding-y: $card-spacer-y / 2 !default; +$card-cap-padding-x: $card-spacer-x !default; +$card-cap-bg: rgba($black, .03) !default; +$card-cap-color: null !default; +$card-height: null !default; +$card-color: null !default; +$card-bg: $white !default; + +$card-img-overlay-padding: $spacer !default; + +$card-group-margin: $grid-gutter-width / 2 !default; + + +// Tooltips + +$tooltip-font-size: $font-size-sm !default; +$tooltip-max-width: 200px !default; +$tooltip-color: $white !default; +$tooltip-bg: $black !default; +$tooltip-border-radius: $border-radius !default; +$tooltip-opacity: .9 !default; +$tooltip-padding-y: $spacer / 4 !default; +$tooltip-padding-x: $spacer / 2 !default; +$tooltip-margin: 0 !default; + +$tooltip-arrow-width: .8rem !default; +$tooltip-arrow-height: .4rem !default; +$tooltip-arrow-color: $tooltip-bg !default; + +// Form tooltips must come after regular tooltips +$form-feedback-tooltip-padding-y: $tooltip-padding-y !default; +$form-feedback-tooltip-padding-x: $tooltip-padding-x !default; +$form-feedback-tooltip-font-size: $tooltip-font-size !default; +$form-feedback-tooltip-line-height: null !default; +$form-feedback-tooltip-opacity: $tooltip-opacity !default; +$form-feedback-tooltip-border-radius: $tooltip-border-radius !default; + + +// Popovers + +$popover-font-size: $font-size-sm !default; +$popover-bg: $white !default; +$popover-max-width: 276px !default; +$popover-border-width: $border-width !default; +$popover-border-color: rgba($black, .2) !default; +$popover-border-radius: $border-radius-lg !default; +$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default; +$popover-box-shadow: $box-shadow !default; + +$popover-header-bg: darken($popover-bg, 3%) !default; +$popover-header-color: $headings-color !default; +$popover-header-padding-y: .5rem !default; +$popover-header-padding-x: $spacer !default; + +$popover-body-color: $body-color !default; +$popover-body-padding-y: $spacer !default; +$popover-body-padding-x: $spacer !default; + +$popover-arrow-width: 1rem !default; +$popover-arrow-height: .5rem !default; +$popover-arrow-color: $popover-bg !default; + +$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default; + + +// Toasts + +$toast-max-width: 350px !default; +$toast-padding-x: .75rem !default; +$toast-padding-y: .25rem !default; +$toast-font-size: .875rem !default; +$toast-color: null !default; +$toast-background-color: rgba($white, .85) !default; +$toast-border-width: 1px !default; +$toast-border-color: rgba(0, 0, 0, .1) !default; +$toast-border-radius: $border-radius !default; +$toast-box-shadow: $box-shadow !default; + +$toast-header-color: $gray-600 !default; +$toast-header-background-color: rgba($white, .85) !default; +$toast-header-border-color: rgba(0, 0, 0, .05) !default; + + +// Badges + +$badge-font-size: .75em !default; +$badge-font-weight: $font-weight-bold !default; +$badge-color: $white !default; +$badge-padding-y: .25em !default; +$badge-padding-x: .5em !default; +$badge-border-radius: $border-radius !default; + + +// Modals + +// Padding applied to the modal body +$modal-inner-padding: $spacer !default; + +// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding +$modal-footer-margin-between: .5rem !default; + +$modal-dialog-margin: .5rem !default; +$modal-dialog-margin-y-sm-up: 1.75rem !default; + +$modal-title-line-height: $line-height-base !default; + +$modal-content-color: null !default; +$modal-content-bg: $white !default; +$modal-content-border-color: rgba($black, .2) !default; +$modal-content-border-width: $border-width !default; +$modal-content-border-radius: $border-radius-lg !default; +$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default; +$modal-content-box-shadow-xs: $box-shadow-sm !default; +$modal-content-box-shadow-sm-up: $box-shadow !default; + +$modal-backdrop-bg: $black !default; +$modal-backdrop-opacity: .5 !default; +$modal-header-border-color: $border-color !default; +$modal-footer-border-color: $modal-header-border-color !default; +$modal-header-border-width: $modal-content-border-width !default; +$modal-footer-border-width: $modal-header-border-width !default; +$modal-header-padding-y: $modal-inner-padding !default; +$modal-header-padding-x: $modal-inner-padding !default; +$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility + +$modal-sm: 300px !default; +$modal-md: 500px !default; +$modal-lg: 800px !default; +$modal-xl: 1140px !default; + +$modal-fade-transform: translate(0, -50px) !default; +$modal-show-transform: none !default; +$modal-transition: transform .3s ease-out !default; +$modal-scale-transform: scale(1.02) !default; + + +// Alerts +// +// Define alert colors, border radius, and padding. + +$alert-padding-y: $spacer !default; +$alert-padding-x: $spacer !default; +$alert-margin-bottom: 1rem !default; +$alert-border-radius: $border-radius !default; +$alert-link-font-weight: $font-weight-bold !default; +$alert-border-width: $border-width !default; + +$alert-bg-level: -10 !default; +$alert-border-level: -9 !default; +$alert-color-level: 6 !default; + + +// Progress bars + +$progress-height: 1rem !default; +$progress-font-size: $font-size-base * .75 !default; +$progress-bg: $gray-200 !default; +$progress-border-radius: $border-radius !default; +$progress-box-shadow: $box-shadow-inset !default; +$progress-bar-color: $white !default; +$progress-bar-bg: $primary !default; +$progress-bar-animation-timing: 1s linear infinite !default; +$progress-bar-transition: width .6s ease !default; + + +// List group + +$list-group-color: null !default; +$list-group-bg: $white !default; +$list-group-border-color: rgba($black, .125) !default; +$list-group-border-width: $border-width !default; +$list-group-border-radius: $border-radius !default; + +$list-group-item-padding-y: $spacer / 2 !default; +$list-group-item-padding-x: $spacer !default; +$list-group-item-bg-level: -9 !default; +$list-group-item-color-level: 6 !default; + +$list-group-hover-bg: $gray-100 !default; +$list-group-active-color: $component-active-color !default; +$list-group-active-bg: $component-active-bg !default; +$list-group-active-border-color: $list-group-active-bg !default; + +$list-group-disabled-color: $gray-600 !default; +$list-group-disabled-bg: $list-group-bg !default; + +$list-group-action-color: $gray-700 !default; +$list-group-action-hover-color: $list-group-action-color !default; + +$list-group-action-active-color: $body-color !default; +$list-group-action-active-bg: $gray-200 !default; + + +// Image thumbnails + +$thumbnail-padding: .25rem !default; +$thumbnail-bg: $body-bg !default; +$thumbnail-border-width: $border-width !default; +$thumbnail-border-color: $gray-300 !default; +$thumbnail-border-radius: $border-radius !default; +$thumbnail-box-shadow: $box-shadow-sm !default; + + +// Figures + +$figure-caption-font-size: $small-font-size !default; +$figure-caption-color: $gray-600 !default; + + +// Breadcrumbs + +$breadcrumb-font-size: null !default; +$breadcrumb-padding-y: $spacer / 2 !default; +$breadcrumb-padding-x: $spacer !default; +$breadcrumb-item-padding-x: .5rem !default; +$breadcrumb-margin-bottom: 1rem !default; +$breadcrumb-bg: $gray-200 !default; +$breadcrumb-divider-color: $gray-600 !default; +$breadcrumb-active-color: $gray-600 !default; +$breadcrumb-divider: quote("/") !default; +$breadcrumb-border-radius: $border-radius !default; + +// Carousel + +$carousel-control-color: $white !default; +$carousel-control-width: 15% !default; +$carousel-control-opacity: .5 !default; +$carousel-control-hover-opacity: .9 !default; +$carousel-control-transition: opacity .15s ease !default; + +$carousel-indicator-width: 30px !default; +$carousel-indicator-height: 3px !default; +$carousel-indicator-hit-area-height: 10px !default; +$carousel-indicator-spacer: 3px !default; +$carousel-indicator-opacity: .5 !default; +$carousel-indicator-active-bg: $white !default; +$carousel-indicator-active-opacity: 1 !default; +$carousel-indicator-transition: opacity .6s ease !default; + +$carousel-caption-width: 70% !default; +$carousel-caption-color: $white !default; +$carousel-caption-padding-y: 1.25rem !default; +$carousel-caption-spacer: 1.25rem !default; + +$carousel-control-icon-width: 20px !default; + +$carousel-control-prev-icon-bg: url("data:image/svg+xml,") !default; +$carousel-control-next-icon-bg: url("data:image/svg+xml,") !default; + +$carousel-transition-duration: .6s !default; +$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) + + +// Spinners + +$spinner-width: 2rem !default; +$spinner-height: $spinner-width !default; +$spinner-border-width: .25em !default; +$spinner-animation-speed: .75s !default; + +$spinner-width-sm: 1rem !default; +$spinner-height-sm: $spinner-width-sm !default; +$spinner-border-width-sm: .2em !default; + + +// Close + +$close-font-size: $font-size-base * 1.5 !default; +$close-font-weight: $font-weight-bold !default; +$close-color: $black !default; +$close-text-shadow: 0 1px 0 $white !default; + + +// Code + +$code-font-size: $small-font-size !default; +$code-color: $pink !default; + +$kbd-padding-y: .2rem !default; +$kbd-padding-x: .4rem !default; +$kbd-font-size: $code-font-size !default; +$kbd-color: $white !default; +$kbd-bg: $gray-900 !default; + +$pre-color: null !default; diff --git a/build/scss/widget/_base.scss b/build/scss/widget/_base.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/_breadcrumb.scss b/build/scss/widget/_breadcrumb.scss new file mode 100644 index 0000000..748b6c3 --- /dev/null +++ b/build/scss/widget/_breadcrumb.scss @@ -0,0 +1,7 @@ +.breadcrumb { + display: none; + + @include media-breakpoint-up(md) { + display: flex; + } +} diff --git a/build/scss/widget/_manufacturer.scss b/build/scss/widget/_manufacturer.scss new file mode 100644 index 0000000..829036e --- /dev/null +++ b/build/scss/widget/_manufacturer.scss @@ -0,0 +1,9 @@ +.manufacturer { + background-color: $ox-start-manufacturerslider-bg; + padding: $row-padding 0; + text-align: center; + + &-item { + display: block; + } +} diff --git a/build/scss/widget/_promoslider.scss b/build/scss/widget/_promoslider.scss new file mode 100644 index 0000000..9598e2a --- /dev/null +++ b/build/scss/widget/_promoslider.scss @@ -0,0 +1,5 @@ +.promoslider { + &-img { + width: 100%; + } +} diff --git a/build/scss/widget/footer/_categorylist.scss b/build/scss/widget/footer/_categorylist.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/footer/_info.scss b/build/scss/widget/footer/_info.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/footer/_manufacturerlist.scss b/build/scss/widget/footer/_manufacturerlist.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/footer/_newsletter.scss b/build/scss/widget/footer/_newsletter.scss new file mode 100644 index 0000000..4759ad1 --- /dev/null +++ b/build/scss/widget/footer/_newsletter.scss @@ -0,0 +1,9 @@ +.footer-box-newsletter { + .form-control { + font-size: 14px; + } + + .btn { + font-size: 14px; + } +} \ No newline at end of file diff --git a/build/scss/widget/footer/_services.scss b/build/scss/widget/footer/_services.scss new file mode 100644 index 0000000..d237393 --- /dev/null +++ b/build/scss/widget/footer/_services.scss @@ -0,0 +1,19 @@ +.services { + li { + position: relative; + + .badge { + background-color: $secondary; + position: relative; + top: -2px; + font-weight: 500; + border-radius: 50%; + width: 20px; + height: 20px; + display: inline-flex; + align-items: center; + justify-content: center; + color: $white; + } + } +} \ No newline at end of file diff --git a/build/scss/widget/header/_betanote.scss b/build/scss/widget/header/_betanote.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/header/_categorylist.scss b/build/scss/widget/header/_categorylist.scss new file mode 100644 index 0000000..c475ef3 --- /dev/null +++ b/build/scss/widget/header/_categorylist.scss @@ -0,0 +1,26 @@ +html, +body { + overflow-x: hidden; /* Prevent scroll on narrow devices */ +} + +@include media-breakpoint-down(md) { + .navbar-collapse { + display: block !important; + z-index: 123; + position: fixed; + top: 53px; + padding: 0 1rem; + bottom: 0; + width: 100%; + overflow-y: auto; + background-color: #fff; + transition: transform .3s ease-in-out; + transform: translateX(-110%); + height: calc(100% - 53px) !important; + } + + .navbar-collapse.show, + .navbar-collapse.collapsing { + transform: translateX(-1rem); + } +} diff --git a/build/scss/widget/header/_cookienote.scss b/build/scss/widget/header/_cookienote.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/header/_currencies.scss b/build/scss/widget/header/_currencies.scss new file mode 100644 index 0000000..9b65b71 --- /dev/null +++ b/build/scss/widget/header/_currencies.scss @@ -0,0 +1,31 @@ +.currencies { + &-menu { + .dropdown { + &-item { + font-size: .75rem; + + &.active, + &.selected, + &:hover { + background-color: $primary; + + > .dropdown-link { + color: $white; + } + } + } + + &-link { + display: block; + padding: 3px $grid-gutter-width/2; + + .active &, + .selected &, + &:hover { + color: $white; + text-decoration: none; + } + } + } + } +} diff --git a/build/scss/widget/header/_languages.scss b/build/scss/widget/header/_languages.scss new file mode 100644 index 0000000..6f0b1a2 --- /dev/null +++ b/build/scss/widget/header/_languages.scss @@ -0,0 +1,31 @@ +.languages { + &-menu { + .dropdown { + &-item { + font-size: .75rem; + + &.active, + &.selected, + &:hover { + background-color: $primary; + + > .dropdown-link { + color: $white; + } + } + } + + &-link { + display: block; + padding: 3px $grid-gutter-width/2; + + .active &, + .selected &, + &:hover { + color: $white; + text-decoration: none; + } + } + } + } +} diff --git a/build/scss/widget/header/_loginbox.scss b/build/scss/widget/header/_loginbox.scss new file mode 100644 index 0000000..5fb228e --- /dev/null +++ b/build/scss/widget/header/_loginbox.scss @@ -0,0 +1,4 @@ +.login-menu { + min-width: 480px; + padding: 15px; +} \ No newline at end of file diff --git a/build/scss/widget/header/_menubasket.scss b/build/scss/widget/header/_menubasket.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/header/_minibasket.scss b/build/scss/widget/header/_minibasket.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/header/_search.scss b/build/scss/widget/header/_search.scss new file mode 100644 index 0000000..1946e66 --- /dev/null +++ b/build/scss/widget/header/_search.scss @@ -0,0 +1,16 @@ +.search.search { + @include media-breakpoint-up(lg) { + display: block; + order: 1; + max-width: 250px; + flex: 0 0 250px; + } + + @include media-breakpoint-up(xl) { + max-width: 300px; + flex: 0 0 300px; + } +} + + + diff --git a/build/scss/widget/header/_servicebox.scss b/build/scss/widget/header/_servicebox.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/header/_servicemenu.scss b/build/scss/widget/header/_servicemenu.scss new file mode 100644 index 0000000..d8194d9 --- /dev/null +++ b/build/scss/widget/header/_servicemenu.scss @@ -0,0 +1,33 @@ +.service-menu, +.services { + + .altLoginBox { + margin-top: 10px; + + #loginboxFbConnect { + display: inline-block; + } + } + + .list-unstyled { + margin-bottom: 5px; + li { + position: relative; + + .badge { + background-color: $secondary; + position: absolute; + top: 3px; + right: 3px; + font-weight: 500; + border-radius: 50%; + width: 20px; + height: 20px; + display: flex; + align-items: center; + justify-content: center; + color: $white; + } + } + } +} diff --git a/build/scss/widget/locator/_attributes.scss b/build/scss/widget/locator/_attributes.scss new file mode 100644 index 0000000..c08aec6 --- /dev/null +++ b/build/scss/widget/locator/_attributes.scss @@ -0,0 +1,36 @@ +.filter { + &-form { + width: 100%; + } + + &-attributes { + .list-filter { + border-top: 1px solid $ox-listfilter-border; + border-bottom: 1px solid $ox-listfilter-border; + background-color: $ox-listfilter-bg; + padding: 20px $grid-gutter-width / 2; + margin: $grid-gutter-width / 2 0 0 0; + + .btn-group { + width: 100%; + margin-bottom: 5px; + background-color: $white; + + @include media-breakpoint-up(md) { + width: auto; + margin-bottom: 0; + } + + .btn { + width: 100%; + text-align: center; + + @include media-breakpoint-up(md) { + width: auto; + text-align: left; + } + } + } + } + } +} \ No newline at end of file diff --git a/build/scss/widget/locator/_paging.scss b/build/scss/widget/locator/_paging.scss new file mode 100644 index 0000000..42895f9 --- /dev/null +++ b/build/scss/widget/locator/_paging.scss @@ -0,0 +1,3 @@ +.pagination { + margin: $row-padding 0; +} diff --git a/build/scss/widget/minibasket/_minibasket.scss b/build/scss/widget/minibasket/_minibasket.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/scss/widget/product/_list.scss b/build/scss/widget/product/_list.scss new file mode 100644 index 0000000..ed39851 --- /dev/null +++ b/build/scss/widget/product/_list.scss @@ -0,0 +1,7 @@ +@import 'list/listitem-grid'; +@import 'list/listitem-line'; + + +.article-list { + padding: 0 0 $row-padding 0; +} diff --git a/build/scss/widget/product/list/_listitem-grid.scss b/build/scss/widget/product/list/_listitem-grid.scss new file mode 100644 index 0000000..ead21c2 --- /dev/null +++ b/build/scss/widget/product/list/_listitem-grid.scss @@ -0,0 +1,80 @@ +.grid-view { + .boxwrapper & { + text-align: center; + + @include media-breakpoint-up(md) { + text-align: left; + } + } + + .card { + height: 100%; + text-decoration: none; + border: none; + text-align: center; + + picture { + height: 150px; + text-align: center; + display: flex; + align-items: center; + justify-content: center; + + @include media-breakpoint-up(md) { + height: 200px; + } + + @include media-breakpoint-up(lg) { + height: 300px; + } + } + + .product-img { + max-height: 150px; + max-width: 100%; + + @include media-breakpoint-up(md) { + max-height: 200px; + } + + @include media-breakpoint-up(lg) { + max-height: 300px; + } + } + + &-body { + padding: 5px 0; + + @include media-breakpoint-up(md) { + top: 100%; + left: 0; + right: 0; + position: absolute; + background: #fff; + max-height: 0; + transition: all 150ms; + opacity: 0; + overflow: hidden; + } + } + + @include media-breakpoint-up(md) { + &:hover { + .card-body { + max-height: none; + z-index: 10; + opacity: 1; + } + } + } + + &-title { + margin: 0; + + @include media-breakpoint-up(md) { + text-transform: uppercase; + font-weight: bold; + } + } + } +} diff --git a/build/scss/widget/product/list/_listitem-line.scss b/build/scss/widget/product/list/_listitem-line.scss new file mode 100644 index 0000000..b54fb06 --- /dev/null +++ b/build/scss/widget/product/list/_listitem-line.scss @@ -0,0 +1,34 @@ +.line-view { + &-item { + border-bottom: 1px dashed $gray-300; + padding-bottom: 15px; + + .title { + font-weight: 600; + } + + .img-responsive { + max-height: 150px; + } + + .form-group { + margin-top: 10px; + margin-bottom: 0; + } + + .price { + margin-bottom: 20px; + font-size: 1rem; + line-height: 1.4; + + @include media-breakpoint-up(md){ + font-size: 1.3rem; + margin-bottom: 0; + } + + .lead { + font-weight: 400; + } + } + } +} \ No newline at end of file diff --git a/build/scss/widget/reviews/_rating.scss b/build/scss/widget/reviews/_rating.scss new file mode 100644 index 0000000..ae93f92 --- /dev/null +++ b/build/scss/widget/reviews/_rating.scss @@ -0,0 +1,23 @@ +.ratings { + margin-top: 5px; + margin-bottom: 20px; + + .fa-star { + font-size: 22px; + } + + &-star-filled { + color: $ox-page-details-rating-star-filled-color; + } + + &-star-empty { + color: $ox-page-details-rating-star-empty-color; + } +} + +.rating { + &-star { + display: inline-block; + padding-right: 5px; + } +} \ No newline at end of file diff --git a/build/scss/widget/reviews/_reviews.scss b/build/scss/widget/reviews/_reviews.scss new file mode 100644 index 0000000..bb08803 --- /dev/null +++ b/build/scss/widget/reviews/_reviews.scss @@ -0,0 +1,10 @@ +.reviews { + margin-top: 20px; + + &-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; + font-size: $h2-font-size; + } +} diff --git a/build/scss/widget/sidebar/_recommendation.scss b/build/scss/widget/sidebar/_recommendation.scss new file mode 100644 index 0000000..e69de29 diff --git a/build/tasks/templates/custom_webfont.json b/build/tasks/templates/custom_webfont.json new file mode 100755 index 0000000..41b8aee --- /dev/null +++ b/build/tasks/templates/custom_webfont.json @@ -0,0 +1,4 @@ +{ + "baseClass": "", + "classPrefix": "moga-" +} diff --git a/build/tasks/templates/custom_webfont.scss b/build/tasks/templates/custom_webfont.scss new file mode 100755 index 0000000..beb4766 --- /dev/null +++ b/build/tasks/templates/custom_webfont.scss @@ -0,0 +1,117 @@ +/* Generated by grunt-webfont */ +/* Based on https://github.com/endtwist/fontcustom/blob/master/lib/fontcustom/templates/fontcustom.css */ + +<% if (fontfaceStyles) { %> +<% if (fontPathVariables && stylesheet !== 'css') { %> +<%= fontPathVariable %> +<% } %> +<% if (fontSrc1 && embed.length) { %> +@font-face { + font-family:"<%= fontFamilyName %>"; + src:<%= fontSrc1 %>; + font-weight:normal; + font-style:normal; + font-display: swap; +} +<% } %>@font-face { + font-family:"<%= fontFamilyName %>";<% if (fontSrc1) { %> + src:<%= fontSrc1 %>;<% }%> + src:<%= fontSrc2 %>; + font-weight:normal; + font-style:normal; + font-display: swap; +} +<% } %> +<% if (baseStyles) { %> + /* Bootstrap Overrides */ +[class^="<%= classPrefix %>"]:before, +[class*=" <%= classPrefix %>"]:before<% if (ie7) {%>, +[class^="<%= classPrefix %>"], +[class*=" <%= classPrefix %>"]<% } %><% if (addLigatures) { %>, + .ligature-icons<% } %> { + font-family:"<%= fontFamilyName %>"; + display:inline-block; + line-height:1; + font-weight:normal; + font-style:normal; + speak:none; + text-decoration:inherit; + text-transform:none; + text-rendering:auto; + -webkit-font-smoothing:antialiased; + -moz-osx-font-smoothing:grayscale; +}<% } %> +<% if (iconsStyles && stylesheet === 'less') { %> +/* Mixins */ +<% for (var glyphIdx = 0; glyphIdx < glyphs.length; glyphIdx++) { %> + .<%= classPrefix %><%= glyphs[glyphIdx] %><% if(glyphIdx === glyphs.length-1) { %> { <% } else { %>, <% } } %> + } +}<% } %> +<% if (extraStyles) { %> + a [class^="<%= classPrefix %>"], + a [class*=" <%= classPrefix %>"] { + display:inline-block; + text-decoration:inherit; + } +/* Makes the font 33% larger relative to the icon container */ +.<%= classPrefix %>large:before { + vertical-align:top; + font-size:1.333em; +} +/* Keeps button heights with and without icons the same */ +.btn [class^="<%= classPrefix %>"], +.btn [class*=" <%= classPrefix %>"] { + line-height:0.9em; +} +li [class^="<%= classPrefix %>"], +li [class*=" <%= classPrefix %>"] { + display:inline-block; + width:1.25em; + text-align:center; +} +/* 1.5 increased font size for <%= classPrefix %>large * 1.25 width */ +li .<%= classPrefix %>large[class^="<%= classPrefix %>"], +li .<%= classPrefix %>large[class*=" <%= classPrefix %>"] { + width:1.875em; +} +li[class^="<%= classPrefix %>"], +li[class*=" <%= classPrefix %>"] { + margin-left:0; + list-style-type:none; +} +li[class^="<%= classPrefix %>"]:before, +li[class*=" <%= classPrefix %>"]:before { + text-indent:-2em; + text-align:center; +} +li[class^="<%= classPrefix %>"].<%= classPrefix %>large:before, +li[class*=" <%= classPrefix %>"].<%= classPrefix %>large:before { + text-indent:-1.333em; +} +<% } %> + +<% if (iconsStyles) { %>/* Icons */<% for (var glyphIdx = 0; glyphIdx < glyphs.length; glyphIdx++) { %> +<% if (stylesheet === 'less') { %> + .<%= classPrefix %><%= glyphs[glyphIdx] %> { +&:before { + content:"<% if (addLigatures) { %><%= glyphs[glyphIdx] %><% } else { %>\<%= codepoints[glyphIdx] %><% } %>"; +} +<% if (ie7) {%> + *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#x<%= codepoints[glyphIdx] %>;'); +<% } %> +}<% } else { %> + <% if (ie7) {%>.<%= classPrefix %><%= glyphs[glyphIdx] %> { + *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#x<%= codepoints[glyphIdx] %>;'); + } + <% } %> + .<%= classPrefix %><%= glyphs[glyphIdx] %>:before { + content:"<% if (addLigatures) { %><%= glyphs[glyphIdx] %><% } else { %>\<%= codepoints[glyphIdx] %><% } %>"; + }<% } %> +<% } } %> + +<% if (iconsStyles) { %> +/* Icons as a map */ +$icons: (<% for (var glyphIdx = 0; glyphIdx < glyphs.length; glyphIdx++) { %> + <%= glyphs[glyphIdx] %>: "\<%= codepoints[glyphIdx] %>",<% } %> +); +<% } %> diff --git a/build/vendor/bootstrap/js/bootstrap.js b/build/vendor/bootstrap/js/bootstrap.js new file mode 100644 index 0000000..5debfd7 --- /dev/null +++ b/build/vendor/bootstrap/js/bootstrap.js @@ -0,0 +1,2363 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ + +if (typeof jQuery === 'undefined') { + throw new Error('Bootstrap\'s JavaScript requires jQuery') +} + ++function ($) { + 'use strict'; + var version = $.fn.jquery.split(' ')[0].split('.') + if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { + throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') + } +}(jQuery); + +/* ======================================================================== + * Bootstrap: transition.js v3.3.5 + * http://getbootstrap.com/javascript/#transitions + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + WebkitTransition : 'webkitTransitionEnd', + MozTransition : 'transitionend', + OTransition : 'oTransitionEnd otransitionend', + transition : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + + return false // explicit for ie8 ( ._.) + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false + var $el = this + $(this).one('bsTransitionEnd', function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + + if (!$.support.transition) return + + $.event.special.bsTransitionEnd = { + bindType: $.support.transition.end, + delegateType: $.support.transition.end, + handle: function (e) { + if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) + } + } + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.3.5 + * http://getbootstrap.com/javascript/#alerts + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.VERSION = '3.3.5' + + Alert.TRANSITION_DURATION = 150 + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.closest('.alert') + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + // detach from parent, fire event then clean up data + $parent.detach().trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one('bsTransitionEnd', removeElement) + .emulateTransitionEnd(Alert.TRANSITION_DURATION) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.alert + + $.fn.alert = Plugin + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.3.5 + * http://getbootstrap.com/javascript/#buttons + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + this.isLoading = false + } + + Button.VERSION = '3.3.5' + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state += 'Text' + + if (data.resetText == null) $el.data('resetText', $el[val]()) + + // push to event loop to allow forms to submit + setTimeout($.proxy(function () { + $el[val](data[state] == null ? this.options[state] : data[state]) + + if (state == 'loadingText') { + this.isLoading = true + $el.addClass(d).attr(d, d) + } else if (this.isLoading) { + this.isLoading = false + $el.removeClass(d).removeAttr(d) + } + }, this), 0) + } + + Button.prototype.toggle = function () { + var changed = true + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + if ($input.prop('type') == 'radio') { + if ($input.prop('checked')) changed = false + $parent.find('.active').removeClass('active') + this.$element.addClass('active') + } else if ($input.prop('type') == 'checkbox') { + if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false + this.$element.toggleClass('active') + } + $input.prop('checked', this.$element.hasClass('active')) + if (changed) $input.trigger('change') + } else { + this.$element.attr('aria-pressed', !this.$element.hasClass('active')) + this.$element.toggleClass('active') + } + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + var old = $.fn.button + + $.fn.button = Plugin + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document) + .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + Plugin.call($btn, 'toggle') + if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() + }) + .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { + $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.3.5 + * http://getbootstrap.com/javascript/#carousel + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = null + this.sliding = null + this.interval = null + this.$active = null + this.$items = null + + this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) + + this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) + } + + Carousel.VERSION = '3.3.5' + + Carousel.TRANSITION_DURATION = 600 + + Carousel.DEFAULTS = { + interval: 5000, + pause: 'hover', + wrap: true, + keyboard: true + } + + Carousel.prototype.keydown = function (e) { + if (/input|textarea/i.test(e.target.tagName)) return + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getItemIndex = function (item) { + this.$items = item.parent().children('.item') + return this.$items.index(item || this.$active) + } + + Carousel.prototype.getItemForDirection = function (direction, active) { + var activeIndex = this.getItemIndex(active) + var willWrap = (direction == 'prev' && activeIndex === 0) + || (direction == 'next' && activeIndex == (this.$items.length - 1)) + if (willWrap && !this.options.wrap) return active + var delta = direction == 'prev' ? -1 : 1 + var itemIndex = (activeIndex + delta) % this.$items.length + return this.$items.eq(itemIndex) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || this.getItemForDirection(type, $active) + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var that = this + + if ($next.hasClass('active')) return (this.sliding = false) + + var relatedTarget = $next[0] + var slideEvent = $.Event('slide.bs.carousel', { + relatedTarget: relatedTarget, + direction: direction + }) + this.$element.trigger(slideEvent) + if (slideEvent.isDefaultPrevented()) return + + this.sliding = true + + isCycling && this.pause() + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) + $nextIndicator && $nextIndicator.addClass('active') + } + + var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" + if ($.support.transition && this.$element.hasClass('slide')) { + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one('bsTransitionEnd', function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { + that.$element.trigger(slidEvent) + }, 0) + }) + .emulateTransitionEnd(Carousel.TRANSITION_DURATION) + } else { + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger(slidEvent) + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + var old = $.fn.carousel + + $.fn.carousel = Plugin + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + var clickHandler = function (e) { + var href + var $this = $(this) + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 + if (!$target.hasClass('carousel')) return + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + Plugin.call($target, options) + + if (slideIndex) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + } + + $(document) + .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) + .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + Plugin.call($carousel, $carousel.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.3.5 + * http://getbootstrap.com/javascript/#collapse + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + + '[data-toggle="collapse"][data-target="#' + element.id + '"]') + this.transitioning = null + + if (this.options.parent) { + this.$parent = this.getParent() + } else { + this.addAriaAndCollapsedClass(this.$element, this.$trigger) + } + + if (this.options.toggle) this.toggle() + } + + Collapse.VERSION = '3.3.5' + + Collapse.TRANSITION_DURATION = 350 + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var activesData + var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') + + if (actives && actives.length) { + activesData = actives.data('bs.collapse') + if (activesData && activesData.transitioning) return + } + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + if (actives && actives.length) { + Plugin.call(actives, 'hide') + activesData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing')[dimension](0) + .attr('aria-expanded', true) + + this.$trigger + .removeClass('collapsed') + .attr('aria-expanded', true) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('collapse in')[dimension]('') + this.transitioning = 0 + this.$element + .trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element[dimension](this.$element[dimension]())[0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse in') + .attr('aria-expanded', false) + + this.$trigger + .addClass('collapsed') + .attr('aria-expanded', false) + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .removeClass('collapsing') + .addClass('collapse') + .trigger('hidden.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one('bsTransitionEnd', $.proxy(complete, this)) + .emulateTransitionEnd(Collapse.TRANSITION_DURATION) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + Collapse.prototype.getParent = function () { + return $(this.options.parent) + .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') + .each($.proxy(function (i, element) { + var $element = $(element) + this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) + }, this)) + .end() + } + + Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { + var isOpen = $element.hasClass('in') + + $element.attr('aria-expanded', isOpen) + $trigger + .toggleClass('collapsed', !isOpen) + .attr('aria-expanded', isOpen) + } + + function getTargetFromTrigger($trigger) { + var href + var target = $trigger.attr('data-target') + || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 + + return $(target) + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.collapse + + $.fn.collapse = Plugin + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { + var $this = $(this) + + if (!$this.attr('data-target')) e.preventDefault() + + var $target = getTargetFromTrigger($this) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + + Plugin.call($target, option) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.3.5 + * http://getbootstrap.com/javascript/#dropdowns + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle="dropdown"]' + var Dropdown = function (element) { + $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.VERSION = '3.3.5' + + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) + }) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we use a backdrop because click events don't delegate + $(document.createElement('div')) + .addClass('dropdown-backdrop') + .insertAfter($(this)) + .on('click', clearMenus) + } + + var relatedTarget = { relatedTarget: this } + $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this + .trigger('focus') + .attr('aria-expanded', 'true') + + $parent + .toggleClass('open') + .trigger('shown.bs.dropdown', relatedTarget) + } + + return false + } + + Dropdown.prototype.keydown = function (e) { + if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return + + var $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + if (!isActive && e.which != 27 || isActive && e.which == 27) { + if (e.which == 27) $parent.find(toggle).trigger('focus') + return $this.trigger('click') + } + + var desc = ' li:not(.disabled):visible a' + var $items = $parent.find('.dropdown-menu' + desc) + + if (!$items.length) return + + var index = $items.index(e.target) + + if (e.which == 38 && index > 0) index-- // up + if (e.which == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items.eq(index).trigger('focus') + } + + + // DROPDOWN PLUGIN DEFINITION + // ========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.dropdown') + + if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + var old = $.fn.dropdown + + $.fn.dropdown = Plugin + $.fn.dropdown.Constructor = Dropdown + + + // DROPDOWN NO CONFLICT + // ==================== + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + // APPLY TO STANDARD DROPDOWN ELEMENTS + // =================================== + + $(document) + .on('click.bs.dropdown.data-api', clearMenus) + .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) + .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) + .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: modal.js v3.3.5 + * http://getbootstrap.com/javascript/#modals + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // MODAL CLASS DEFINITION + // ====================== + + var Modal = function (element, options) { + this.options = options + this.$body = $(document.body) + this.$element = $(element) + this.$dialog = this.$element.find('.modal-dialog') + this.$backdrop = null + this.isShown = null + this.originalBodyPad = null + this.scrollbarWidth = 0 + this.ignoreBackdropClick = false + + if (this.options.remote) { + this.$element + .find('.modal-content') + .load(this.options.remote, $.proxy(function () { + this.$element.trigger('loaded.bs.modal') + }, this)) + } + } + + Modal.VERSION = '3.3.5' + + Modal.TRANSITION_DURATION = 300 + Modal.BACKDROP_TRANSITION_DURATION = 150 + + Modal.DEFAULTS = { + backdrop: true, + keyboard: true, + show: true + } + + Modal.prototype.toggle = function (_relatedTarget) { + return this.isShown ? this.hide() : this.show(_relatedTarget) + } + + Modal.prototype.show = function (_relatedTarget) { + var that = this + var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + this.isShown = true + + this.checkScrollbar() + this.setScrollbar() + this.$body.addClass('modal-open') + + this.escape() + this.resize() + + this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + + this.$dialog.on('mousedown.dismiss.bs.modal', function () { + that.$element.one('mouseup.dismiss.bs.modal', function (e) { + if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true + }) + }) + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(that.$body) // don't move modals dom position + } + + that.$element + .show() + .scrollTop(0) + + that.adjustDialog() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element.addClass('in') + + that.enforceFocus() + + var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) + + transition ? + that.$dialog // wait for modal to slide in + .one('bsTransitionEnd', function () { + that.$element.trigger('focus').trigger(e) + }) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + that.$element.trigger('focus').trigger(e) + }) + } + + Modal.prototype.hide = function (e) { + if (e) e.preventDefault() + + e = $.Event('hide.bs.modal') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + this.escape() + this.resize() + + $(document).off('focusin.bs.modal') + + this.$element + .removeClass('in') + .off('click.dismiss.bs.modal') + .off('mouseup.dismiss.bs.modal') + + this.$dialog.off('mousedown.dismiss.bs.modal') + + $.support.transition && this.$element.hasClass('fade') ? + this.$element + .one('bsTransitionEnd', $.proxy(this.hideModal, this)) + .emulateTransitionEnd(Modal.TRANSITION_DURATION) : + this.hideModal() + } + + Modal.prototype.enforceFocus = function () { + $(document) + .off('focusin.bs.modal') // guard against infinite focus loop + .on('focusin.bs.modal', $.proxy(function (e) { + if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { + this.$element.trigger('focus') + } + }, this)) + } + + Modal.prototype.escape = function () { + if (this.isShown && this.options.keyboard) { + this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { + e.which == 27 && this.hide() + }, this)) + } else if (!this.isShown) { + this.$element.off('keydown.dismiss.bs.modal') + } + } + + Modal.prototype.resize = function () { + if (this.isShown) { + $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) + } else { + $(window).off('resize.bs.modal') + } + } + + Modal.prototype.hideModal = function () { + var that = this + this.$element.hide() + this.backdrop(function () { + that.$body.removeClass('modal-open') + that.resetAdjustments() + that.resetScrollbar() + that.$element.trigger('hidden.bs.modal') + }) + } + + Modal.prototype.removeBackdrop = function () { + this.$backdrop && this.$backdrop.remove() + this.$backdrop = null + } + + Modal.prototype.backdrop = function (callback) { + var that = this + var animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $(document.createElement('div')) + .addClass('modal-backdrop ' + animate) + .appendTo(this.$body) + + this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { + if (this.ignoreBackdropClick) { + this.ignoreBackdropClick = false + return + } + if (e.target !== e.currentTarget) return + this.options.backdrop == 'static' + ? this.$element[0].focus() + : this.hide() + }, this)) + + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + + this.$backdrop.addClass('in') + + if (!callback) return + + doAnimate ? + this.$backdrop + .one('bsTransitionEnd', callback) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callback() + + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') + + var callbackRemove = function () { + that.removeBackdrop() + callback && callback() + } + $.support.transition && this.$element.hasClass('fade') ? + this.$backdrop + .one('bsTransitionEnd', callbackRemove) + .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : + callbackRemove() + + } else if (callback) { + callback() + } + } + + // these following methods are used to handle overflowing modals + + Modal.prototype.handleUpdate = function () { + this.adjustDialog() + } + + Modal.prototype.adjustDialog = function () { + var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight + + this.$element.css({ + paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', + paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' + }) + } + + Modal.prototype.resetAdjustments = function () { + this.$element.css({ + paddingLeft: '', + paddingRight: '' + }) + } + + Modal.prototype.checkScrollbar = function () { + var fullWindowWidth = window.innerWidth + if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 + var documentElementRect = document.documentElement.getBoundingClientRect() + fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) + } + this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth + this.scrollbarWidth = this.measureScrollbar() + } + + Modal.prototype.setScrollbar = function () { + var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) + this.originalBodyPad = document.body.style.paddingRight || '' + if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) + } + + Modal.prototype.resetScrollbar = function () { + this.$body.css('padding-right', this.originalBodyPad) + } + + Modal.prototype.measureScrollbar = function () { // thx walsh + var scrollDiv = document.createElement('div') + scrollDiv.className = 'modal-scrollbar-measure' + this.$body.append(scrollDiv) + var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth + this.$body[0].removeChild(scrollDiv) + return scrollbarWidth + } + + + // MODAL PLUGIN DEFINITION + // ======================= + + function Plugin(option, _relatedTarget) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.modal') + var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.modal', (data = new Modal(this, options))) + if (typeof option == 'string') data[option](_relatedTarget) + else if (options.show) data.show(_relatedTarget) + }) + } + + var old = $.fn.modal + + $.fn.modal = Plugin + $.fn.modal.Constructor = Modal + + + // MODAL NO CONFLICT + // ================= + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + + // MODAL DATA-API + // ============== + + $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + var href = $this.attr('href') + var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 + var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) + + if ($this.is('a')) e.preventDefault() + + $target.one('show.bs.modal', function (showEvent) { + if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown + $target.one('hidden.bs.modal', function () { + $this.is(':visible') && $this.trigger('focus') + }) + }) + Plugin.call($target, option, this) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tooltip.js v3.3.5 + * http://getbootstrap.com/javascript/#tooltip + * Inspired by the original jQuery.tipsy by Jason Frame + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TOOLTIP PUBLIC CLASS DEFINITION + // =============================== + + var Tooltip = function (element, options) { + this.type = null + this.options = null + this.enabled = null + this.timeout = null + this.hoverState = null + this.$element = null + this.inState = null + + this.init('tooltip', element, options) + } + + Tooltip.VERSION = '3.3.5' + + Tooltip.TRANSITION_DURATION = 150 + + Tooltip.DEFAULTS = { + animation: true, + placement: 'top', + selector: false, + template: '', + trigger: 'hover focus', + title: '', + delay: 0, + html: false, + container: false, + viewport: { + selector: 'body', + padding: 0 + } + } + + Tooltip.prototype.init = function (type, element, options) { + this.enabled = true + this.type = type + this.$element = $(element) + this.options = this.getOptions(options) + this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) + this.inState = { click: false, hover: false, focus: false } + + if (this.$element[0] instanceof document.constructor && !this.options.selector) { + throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') + } + + var triggers = this.options.trigger.split(' ') + + for (var i = triggers.length; i--;) { + var trigger = triggers[i] + + if (trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (trigger != 'manual') { + var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' + var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' + + this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) + } + } + + this.options.selector ? + (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : + this.fixTitle() + } + + Tooltip.prototype.getDefaults = function () { + return Tooltip.DEFAULTS + } + + Tooltip.prototype.getOptions = function (options) { + options = $.extend({}, this.getDefaults(), this.$element.data(), options) + + if (options.delay && typeof options.delay == 'number') { + options.delay = { + show: options.delay, + hide: options.delay + } + } + + return options + } + + Tooltip.prototype.getDelegateOptions = function () { + var options = {} + var defaults = this.getDefaults() + + this._options && $.each(this._options, function (key, value) { + if (defaults[key] != value) options[key] = value + }) + + return options + } + + Tooltip.prototype.enter = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true + } + + if (self.tip().hasClass('in') || self.hoverState == 'in') { + self.hoverState = 'in' + return + } + + clearTimeout(self.timeout) + + self.hoverState = 'in' + + if (!self.options.delay || !self.options.delay.show) return self.show() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) + } + + Tooltip.prototype.isInStateTrue = function () { + for (var key in this.inState) { + if (this.inState[key]) return true + } + + return false + } + + Tooltip.prototype.leave = function (obj) { + var self = obj instanceof this.constructor ? + obj : $(obj.currentTarget).data('bs.' + this.type) + + if (!self) { + self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) + $(obj.currentTarget).data('bs.' + this.type, self) + } + + if (obj instanceof $.Event) { + self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false + } + + if (self.isInStateTrue()) return + + clearTimeout(self.timeout) + + self.hoverState = 'out' + + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + self.timeout = setTimeout(function () { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) + } + + Tooltip.prototype.show = function () { + var e = $.Event('show.bs.' + this.type) + + if (this.hasContent() && this.enabled) { + this.$element.trigger(e) + + var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) + if (e.isDefaultPrevented() || !inDom) return + var that = this + + var $tip = this.tip() + + var tipId = this.getUID(this.type) + + this.setContent() + $tip.attr('id', tipId) + this.$element.attr('aria-describedby', tipId) + + if (this.options.animation) $tip.addClass('fade') + + var placement = typeof this.options.placement == 'function' ? + this.options.placement.call(this, $tip[0], this.$element[0]) : + this.options.placement + + var autoToken = /\s?auto?\s?/i + var autoPlace = autoToken.test(placement) + if (autoPlace) placement = placement.replace(autoToken, '') || 'top' + + $tip + .detach() + .css({ top: 0, left: 0, display: 'block' }) + .addClass(placement) + .data('bs.' + this.type, this) + + this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) + this.$element.trigger('inserted.bs.' + this.type) + + var pos = this.getPosition() + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (autoPlace) { + var orgPlacement = placement + var viewportDim = this.getPosition(this.$viewport) + + placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : + placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : + placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : + placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : + placement + + $tip + .removeClass(orgPlacement) + .addClass(placement) + } + + var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) + + this.applyPlacement(calculatedOffset, placement) + + var complete = function () { + var prevHoverState = that.hoverState + that.$element.trigger('shown.bs.' + that.type) + that.hoverState = null + + if (prevHoverState == 'out') that.leave(that) + } + + $.support.transition && this.$tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + } + } + + Tooltip.prototype.applyPlacement = function (offset, placement) { + var $tip = this.tip() + var width = $tip[0].offsetWidth + var height = $tip[0].offsetHeight + + // manually read margins because getBoundingClientRect includes difference + var marginTop = parseInt($tip.css('margin-top'), 10) + var marginLeft = parseInt($tip.css('margin-left'), 10) + + // we must check for NaN for ie 8/9 + if (isNaN(marginTop)) marginTop = 0 + if (isNaN(marginLeft)) marginLeft = 0 + + offset.top += marginTop + offset.left += marginLeft + + // $.fn.offset doesn't round pixel values + // so we use setOffset directly with our own function B-0 + $.offset.setOffset($tip[0], $.extend({ + using: function (props) { + $tip.css({ + top: Math.round(props.top), + left: Math.round(props.left) + }) + } + }, offset), 0) + + $tip.addClass('in') + + // check to see if placing tip in new offset caused the tip to resize itself + var actualWidth = $tip[0].offsetWidth + var actualHeight = $tip[0].offsetHeight + + if (placement == 'top' && actualHeight != height) { + offset.top = offset.top + height - actualHeight + } + + var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) + + if (delta.left) offset.left += delta.left + else offset.top += delta.top + + var isVertical = /top|bottom/.test(placement) + var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight + var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' + + $tip.offset(offset) + this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) + } + + Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { + this.arrow() + .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') + .css(isVertical ? 'top' : 'left', '') + } + + Tooltip.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) + $tip.removeClass('fade in top bottom left right') + } + + Tooltip.prototype.hide = function (callback) { + var that = this + var $tip = $(this.$tip) + var e = $.Event('hide.bs.' + this.type) + + function complete() { + if (that.hoverState != 'in') $tip.detach() + that.$element + .removeAttr('aria-describedby') + .trigger('hidden.bs.' + that.type) + callback && callback() + } + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + $tip.removeClass('in') + + $.support.transition && $tip.hasClass('fade') ? + $tip + .one('bsTransitionEnd', complete) + .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : + complete() + + this.hoverState = null + + return this + } + + Tooltip.prototype.fixTitle = function () { + var $e = this.$element + if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { + $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') + } + } + + Tooltip.prototype.hasContent = function () { + return this.getTitle() + } + + Tooltip.prototype.getPosition = function ($element) { + $element = $element || this.$element + + var el = $element[0] + var isBody = el.tagName == 'BODY' + + var elRect = el.getBoundingClientRect() + if (elRect.width == null) { + // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 + elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) + } + var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() + var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } + var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null + + return $.extend({}, elRect, scroll, outerDims, elOffset) + } + + Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { + return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : + placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : + /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } + + } + + Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { + var delta = { top: 0, left: 0 } + if (!this.$viewport) return delta + + var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 + var viewportDimensions = this.getPosition(this.$viewport) + + if (/right|left/.test(placement)) { + var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll + var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight + if (topEdgeOffset < viewportDimensions.top) { // top overflow + delta.top = viewportDimensions.top - topEdgeOffset + } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow + delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset + } + } else { + var leftEdgeOffset = pos.left - viewportPadding + var rightEdgeOffset = pos.left + viewportPadding + actualWidth + if (leftEdgeOffset < viewportDimensions.left) { // left overflow + delta.left = viewportDimensions.left - leftEdgeOffset + } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow + delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset + } + } + + return delta + } + + Tooltip.prototype.getTitle = function () { + var title + var $e = this.$element + var o = this.options + + title = $e.attr('data-original-title') + || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) + + return title + } + + Tooltip.prototype.getUID = function (prefix) { + do prefix += ~~(Math.random() * 1000000) + while (document.getElementById(prefix)) + return prefix + } + + Tooltip.prototype.tip = function () { + if (!this.$tip) { + this.$tip = $(this.options.template) + if (this.$tip.length != 1) { + throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') + } + } + return this.$tip + } + + Tooltip.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) + } + + Tooltip.prototype.enable = function () { + this.enabled = true + } + + Tooltip.prototype.disable = function () { + this.enabled = false + } + + Tooltip.prototype.toggleEnabled = function () { + this.enabled = !this.enabled + } + + Tooltip.prototype.toggle = function (e) { + var self = this + if (e) { + self = $(e.currentTarget).data('bs.' + this.type) + if (!self) { + self = new this.constructor(e.currentTarget, this.getDelegateOptions()) + $(e.currentTarget).data('bs.' + this.type, self) + } + } + + if (e) { + self.inState.click = !self.inState.click + if (self.isInStateTrue()) self.enter(self) + else self.leave(self) + } else { + self.tip().hasClass('in') ? self.leave(self) : self.enter(self) + } + } + + Tooltip.prototype.destroy = function () { + var that = this + clearTimeout(this.timeout) + this.hide(function () { + that.$element.off('.' + that.type).removeData('bs.' + that.type) + if (that.$tip) { + that.$tip.detach() + } + that.$tip = null + that.$arrow = null + that.$viewport = null + }) + } + + + // TOOLTIP PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tooltip') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tooltip + + $.fn.tooltip = Plugin + $.fn.tooltip.Constructor = Tooltip + + + // TOOLTIP NO CONFLICT + // =================== + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: popover.js v3.3.5 + * http://getbootstrap.com/javascript/#popovers + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // POPOVER PUBLIC CLASS DEFINITION + // =============================== + + var Popover = function (element, options) { + this.init('popover', element, options) + } + + if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') + + Popover.VERSION = '3.3.5' + + Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { + placement: 'right', + trigger: 'click', + content: '', + template: '' + }) + + + // NOTE: POPOVER EXTENDS tooltip.js + // ================================ + + Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) + + Popover.prototype.constructor = Popover + + Popover.prototype.getDefaults = function () { + return Popover.DEFAULTS + } + + Popover.prototype.setContent = function () { + var $tip = this.tip() + var title = this.getTitle() + var content = this.getContent() + + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events + this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' + ](content) + + $tip.removeClass('fade top bottom left right in') + + // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do + // this manually by checking the contents. + if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() + } + + Popover.prototype.hasContent = function () { + return this.getTitle() || this.getContent() + } + + Popover.prototype.getContent = function () { + var $e = this.$element + var o = this.options + + return $e.attr('data-content') + || (typeof o.content == 'function' ? + o.content.call($e[0]) : + o.content) + } + + Popover.prototype.arrow = function () { + return (this.$arrow = this.$arrow || this.tip().find('.arrow')) + } + + + // POPOVER PLUGIN DEFINITION + // ========================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.popover') + var options = typeof option == 'object' && option + + if (!data && /destroy|hide/.test(option)) return + if (!data) $this.data('bs.popover', (data = new Popover(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.popover + + $.fn.popover = Plugin + $.fn.popover.Constructor = Popover + + + // POPOVER NO CONFLICT + // =================== + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + +}(jQuery); + +/* ======================================================================== + * Bootstrap: scrollspy.js v3.3.5 + * http://getbootstrap.com/javascript/#scrollspy + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + + function ScrollSpy(element, options) { + this.$body = $(document.body) + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) + this.options = $.extend({}, ScrollSpy.DEFAULTS, options) + this.selector = (this.options.target || '') + ' .nav li > a' + this.offsets = [] + this.targets = [] + this.activeTarget = null + this.scrollHeight = 0 + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) + this.refresh() + this.process() + } + + ScrollSpy.VERSION = '3.3.5' + + ScrollSpy.DEFAULTS = { + offset: 10 + } + + ScrollSpy.prototype.getScrollHeight = function () { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) + } + + ScrollSpy.prototype.refresh = function () { + var that = this + var offsetMethod = 'offset' + var offsetBase = 0 + + this.offsets = [] + this.targets = [] + this.scrollHeight = this.getScrollHeight() + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position' + offsetBase = this.$scrollElement.scrollTop() + } + + this.$body + .find(this.selector) + .map(function () { + var $el = $(this) + var href = $el.data('target') || $el.attr('href') + var $href = /^#./.test(href) && $(href) + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null + }) + .sort(function (a, b) { return a[0] - b[0] }) + .each(function () { + that.offsets.push(this[0]) + that.targets.push(this[1]) + }) + } + + ScrollSpy.prototype.process = function () { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset + var scrollHeight = this.getScrollHeight() + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() + var offsets = this.offsets + var targets = this.targets + var activeTarget = this.activeTarget + var i + + if (this.scrollHeight != scrollHeight) { + this.refresh() + } + + if (scrollTop >= maxScroll) { + return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) + } + + if (activeTarget && scrollTop < offsets[0]) { + this.activeTarget = null + return this.clear() + } + + for (i = offsets.length; i--;) { + activeTarget != targets[i] + && scrollTop >= offsets[i] + && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) + && this.activate(targets[i]) + } + } + + ScrollSpy.prototype.activate = function (target) { + this.activeTarget = target + + this.clear() + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + var active = $(selector) + .parents('li') + .addClass('active') + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active') + } + + active.trigger('activate.bs.scrollspy') + } + + ScrollSpy.prototype.clear = function () { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active') + } + + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.scrollspy') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.scrollspy + + $.fn.scrollspy = Plugin + $.fn.scrollspy.Constructor = ScrollSpy + + + // SCROLLSPY NO CONFLICT + // ===================== + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + + // SCROLLSPY DATA-API + // ================== + + $(window).on('load.bs.scrollspy.data-api', function () { + $('[data-spy="scroll"]').each(function () { + var $spy = $(this) + Plugin.call($spy, $spy.data()) + }) + }) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: tab.js v3.3.5 + * http://getbootstrap.com/javascript/#tabs + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // TAB CLASS DEFINITION + // ==================== + + var Tab = function (element) { + // jscs:disable requireDollarBeforejQueryAssignment + this.element = $(element) + // jscs:enable requireDollarBeforejQueryAssignment + } + + Tab.VERSION = '3.3.5' + + Tab.TRANSITION_DURATION = 150 + + Tab.prototype.show = function () { + var $this = this.element + var $ul = $this.closest('ul:not(.dropdown-menu)') + var selector = $this.data('target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + if ($this.parent('li').hasClass('active')) return + + var $previous = $ul.find('.active:last a') + var hideEvent = $.Event('hide.bs.tab', { + relatedTarget: $this[0] + }) + var showEvent = $.Event('show.bs.tab', { + relatedTarget: $previous[0] + }) + + $previous.trigger(hideEvent) + $this.trigger(showEvent) + + if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return + + var $target = $(selector) + + this.activate($this.closest('li'), $ul) + this.activate($target, $target.parent(), function () { + $previous.trigger({ + type: 'hidden.bs.tab', + relatedTarget: $this[0] + }) + $this.trigger({ + type: 'shown.bs.tab', + relatedTarget: $previous[0] + }) + }) + } + + Tab.prototype.activate = function (element, container, callback) { + var $active = container.find('> .active') + var transition = callback + && $.support.transition + && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', false) + + element + .addClass('active') + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if (element.parent('.dropdown-menu').length) { + element + .closest('li.dropdown') + .addClass('active') + .end() + .find('[data-toggle="tab"]') + .attr('aria-expanded', true) + } + + callback && callback() + } + + $active.length && transition ? + $active + .one('bsTransitionEnd', next) + .emulateTransitionEnd(Tab.TRANSITION_DURATION) : + next() + + $active.removeClass('in') + } + + + // TAB PLUGIN DEFINITION + // ===================== + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.tab') + + if (!data) $this.data('bs.tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.tab + + $.fn.tab = Plugin + $.fn.tab.Constructor = Tab + + + // TAB NO CONFLICT + // =============== + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + + // TAB DATA-API + // ============ + + var clickHandler = function (e) { + e.preventDefault() + Plugin.call($(this), 'show') + } + + $(document) + .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) + .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) + +}(jQuery); + +/* ======================================================================== + * Bootstrap: affix.js v3.3.5 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + + ++function ($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function (element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options) + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) + + this.$element = $(element) + this.affixed = null + this.unpin = null + this.pinnedOffset = null + + this.checkPosition() + } + + Affix.VERSION = '3.3.5' + + Affix.RESET = 'affix affix-top affix-bottom' + + Affix.DEFAULTS = { + offset: 0, + target: window + } + + Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + var targetHeight = this.$target.height() + + if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false + + if (this.affixed == 'bottom') { + if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' + return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' + } + + var initializing = this.affixed == null + var colliderTop = initializing ? scrollTop : position.top + var colliderHeight = initializing ? targetHeight : height + + if (offsetTop != null && scrollTop <= offsetTop) return 'top' + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' + + return false + } + + Affix.prototype.getPinnedOffset = function () { + if (this.pinnedOffset) return this.pinnedOffset + this.$element.removeClass(Affix.RESET).addClass('affix') + var scrollTop = this.$target.scrollTop() + var position = this.$element.offset() + return (this.pinnedOffset = position.top - scrollTop) + } + + Affix.prototype.checkPositionWithEventLoop = function () { + setTimeout($.proxy(this.checkPosition, this), 1) + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var height = this.$element.height() + var offset = this.options.offset + var offsetTop = offset.top + var offsetBottom = offset.bottom + var scrollHeight = Math.max($(document).height(), $(document.body).height()) + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) + + if (this.affixed != affix) { + if (this.unpin != null) this.$element.css('top', '') + + var affixType = 'affix' + (affix ? '-' + affix : '') + var e = $.Event(affixType + '.bs.affix') + + this.$element.trigger(e) + + if (e.isDefaultPrevented()) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') + } + + if (affix == 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }) + } + } + + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.affix') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + var old = $.fn.affix + + $.fn.affix = Plugin + $.fn.affix.Constructor = Affix + + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + // AFFIX DATA-API + // ============== + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + var data = $spy.data() + + data.offset = data.offset || {} + + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom + if (data.offsetTop != null) data.offset.top = data.offsetTop + + Plugin.call($spy, data) + }) + }) + +}(jQuery); diff --git a/build/vendor/bootstrap/less/alerts.less b/build/vendor/bootstrap/less/alerts.less new file mode 100644 index 0000000..c4199db --- /dev/null +++ b/build/vendor/bootstrap/less/alerts.less @@ -0,0 +1,73 @@ +// +// Alerts +// -------------------------------------------------- + + +// Base styles +// ------------------------- + +.alert { + padding: @alert-padding; + margin-bottom: @line-height-computed; + border: 1px solid transparent; + border-radius: @alert-border-radius; + + // Headings for larger alerts + h4 { + margin-top: 0; + // Specified for the h4 to prevent conflicts of changing @headings-color + color: inherit; + } + + // Provide class for links that match alerts + .alert-link { + font-weight: @alert-link-font-weight; + } + + // Improve alignment and spacing of inner content + > p, + > ul { + margin-bottom: 0; + } + + > p + p { + margin-top: 5px; + } +} + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0. +.alert-dismissible { + padding-right: (@alert-padding + 20); + + // Adjust close link position + .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; + } +} + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +.alert-success { + .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text); +} + +.alert-info { + .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text); +} + +.alert-warning { + .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text); +} + +.alert-danger { + .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text); +} diff --git a/build/vendor/bootstrap/less/badges.less b/build/vendor/bootstrap/less/badges.less new file mode 100644 index 0000000..6ee16dc --- /dev/null +++ b/build/vendor/bootstrap/less/badges.less @@ -0,0 +1,66 @@ +// +// Badges +// -------------------------------------------------- + + +// Base class +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: @font-size-small; + font-weight: @badge-font-weight; + color: @badge-color; + line-height: @badge-line-height; + vertical-align: middle; + white-space: nowrap; + text-align: center; + background-color: @badge-bg; + border-radius: @badge-border-radius; + + // Empty badges collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for badges in buttons + .btn & { + position: relative; + top: -1px; + } + + .btn-xs &, + .btn-group-xs > .btn & { + top: 0; + padding: 1px 5px; + } + + // Hover state, but only for links + a& { + &:hover, + &:focus { + color: @badge-link-hover-color; + text-decoration: none; + cursor: pointer; + } + } + + // Account for badges in navs + .list-group-item.active > &, + .nav-pills > .active > a > & { + color: @badge-active-color; + background-color: @badge-active-bg; + } + + .list-group-item > & { + float: right; + } + + .list-group-item > & + & { + margin-right: 5px; + } + + .nav-pills > li > a > & { + margin-left: 3px; + } +} diff --git a/build/vendor/bootstrap/less/bootstrap.less b/build/vendor/bootstrap/less/bootstrap.less new file mode 100644 index 0000000..d161cc0 --- /dev/null +++ b/build/vendor/bootstrap/less/bootstrap.less @@ -0,0 +1,56 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +// Core variables and mixins +@import "variables.less"; +@import "mixins.less"; + +// Reset and dependencies +@import "normalize.less"; +@import "print.less"; +//@import "glyphicons.less"; + +// Core CSS +@import "scaffolding.less"; +@import "type.less"; +@import "code.less"; +@import "grid.less"; +@import "tables.less"; +@import "forms.less"; +@import "buttons.less"; + +// Components +@import "component-animations.less"; +@import "dropdowns.less"; +@import "button-groups.less"; +@import "input-groups.less"; +@import "navs.less"; +@import "navbar.less"; +@import "breadcrumbs.less"; +@import "pagination.less"; +@import "pager.less"; +@import "labels.less"; +@import "badges.less"; +@import "jumbotron.less"; +@import "thumbnails.less"; +@import "alerts.less"; +@import "progress-bars.less"; +@import "media.less"; +@import "list-group.less"; +@import "panels.less"; +@import "responsive-embed.less"; +@import "wells.less"; +@import "close.less"; + +// Components w/ JavaScript +@import "modals.less"; +@import "tooltip.less"; +@import "popovers.less"; +@import "carousel.less"; + +// Utility classes +@import "utilities.less"; +@import "responsive-utilities.less"; \ No newline at end of file diff --git a/build/vendor/bootstrap/less/breadcrumbs.less b/build/vendor/bootstrap/less/breadcrumbs.less new file mode 100644 index 0000000..cb01d50 --- /dev/null +++ b/build/vendor/bootstrap/less/breadcrumbs.less @@ -0,0 +1,26 @@ +// +// Breadcrumbs +// -------------------------------------------------- + + +.breadcrumb { + padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal; + margin-bottom: @line-height-computed; + list-style: none; + background-color: @breadcrumb-bg; + border-radius: @border-radius-base; + + > li { + display: inline-block; + + + li:before { + content: "@{breadcrumb-separator}\00a0"; // Unicode space added since inline-block means non-collapsing white-space + padding: 0 5px; + color: @breadcrumb-color; + } + } + + > .active { + color: @breadcrumb-active-color; + } +} diff --git a/build/vendor/bootstrap/less/button-groups.less b/build/vendor/bootstrap/less/button-groups.less new file mode 100644 index 0000000..6a0c5a8 --- /dev/null +++ b/build/vendor/bootstrap/less/button-groups.less @@ -0,0 +1,244 @@ +// +// Button groups +// -------------------------------------------------- + +// Make the div behave like a button +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; // match .btn alignment given font-size hack above + > .btn { + position: relative; + float: left; + // Bring the "active" button to the front + &:hover, + &:focus, + &:active, + &.active { + z-index: 2; + } + } +} + +// Prevent double borders when buttons are next to each other +.btn-group { + .btn + .btn, + .btn + .btn-group, + .btn-group + .btn, + .btn-group + .btn-group { + margin-left: -1px; + } +} + +// Optional: Group multiple button groups together for a toolbar +.btn-toolbar { + margin-left: -5px; // Offset the first child's margin + &:extend(.clearfix all); + + .btn, + .btn-group, + .input-group { + float: left; + } + > .btn, + > .btn-group, + > .input-group { + margin-left: 5px; + } +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +.btn-group > .btn:first-child { + margin-left: 0; + &:not(:last-child):not(.dropdown-toggle) { + .border-right-radius(0); + } +} +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + .border-left-radius(0); +} + +// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-right-radius(0); + } +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-left-radius(0); +} + +// On active and open, don't show outline +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + + +// Sizing +// +// Remix the default button sizing classes into new ones for easier manipulation. + +.btn-group-xs > .btn { &:extend(.btn-xs); } +.btn-group-sm > .btn { &:extend(.btn-sm); } +.btn-group-lg > .btn { &:extend(.btn-lg); } + + +// Split button dropdowns +// ---------------------- + +// Give the line between buttons some depth +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; +} + +// The clickable button for toggling the menu +// Remove the gradient and set the same inset shadow as the :active state +.btn-group.open .dropdown-toggle { + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + + // Show no shadow for `.btn-link` since it has no other button styles. + &.btn-link { + .box-shadow(none); + } +} + + +// Reposition the caret +.btn .caret { + margin-left: 0; +} +// Carets in other button sizes +.btn-lg .caret { + border-width: @caret-width-large @caret-width-large 0; + border-bottom-width: 0; +} +// Upside down carets for .dropup +.dropup .btn-lg .caret { + border-width: 0 @caret-width-large @caret-width-large; +} + + +// Vertical button groups +// ---------------------- + +.btn-group-vertical { + > .btn, + > .btn-group, + > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; + } + + // Clear floats so dropdown menus can be properly placed + > .btn-group { + &:extend(.clearfix all); + > .btn { + float: none; + } + } + + > .btn + .btn, + > .btn + .btn-group, + > .btn-group + .btn, + > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; + } +} + +.btn-group-vertical > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + &:first-child:not(:last-child) { + border-top-right-radius: @btn-border-radius-base; + .border-bottom-radius(0); + } + &:last-child:not(:first-child) { + border-bottom-left-radius: @btn-border-radius-base; + .border-top-radius(0); + } +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + .border-bottom-radius(0); + } +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + .border-top-radius(0); +} + + +// Justified button groups +// ---------------------- + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; + > .btn, + > .btn-group { + float: none; + display: table-cell; + width: 1%; + } + > .btn-group .btn { + width: 100%; + } + + > .btn-group .dropdown-menu { + left: auto; + } +} + + +// Checkbox and radio options +// +// In order to support the browser's form validation feedback, powered by the +// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use +// `display: none;` or `visibility: hidden;` as that also hides the popover. +// Simply visually hiding the inputs via `opacity` would leave them clickable in +// certain cases which is prevented by using `clip` and `pointer-events`. +// This way, we ensure a DOM element is visible to position the popover from. +// +// See https://github.com/twbs/bootstrap/pull/12794 and +// https://github.com/twbs/bootstrap/pull/14559 for more information. + +[data-toggle="buttons"] { + > .btn, + > .btn-group > .btn { + input[type="radio"], + input[type="checkbox"] { + position: absolute; + clip: rect(0,0,0,0); + pointer-events: none; + } + } +} diff --git a/build/vendor/bootstrap/less/buttons.less b/build/vendor/bootstrap/less/buttons.less new file mode 100644 index 0000000..9cbb8f4 --- /dev/null +++ b/build/vendor/bootstrap/less/buttons.less @@ -0,0 +1,166 @@ +// +// Buttons +// -------------------------------------------------- + + +// Base styles +// -------------------------------------------------- + +.btn { + display: inline-block; + margin-bottom: 0; // For input.btn + font-weight: @btn-font-weight; + text-align: center; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid transparent; + white-space: nowrap; + .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base); + .user-select(none); + + &, + &:active, + &.active { + &:focus, + &.focus { + .tab-focus(); + } + } + + &:hover, + &:focus, + &.focus { + color: @btn-default-color; + text-decoration: none; + } + + &:active, + &.active { + outline: 0; + background-image: none; + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); + } + + &.disabled, + &[disabled], + fieldset[disabled] & { + cursor: @cursor-disabled; + .opacity(.65); + .box-shadow(none); + } + + a& { + &.disabled, + fieldset[disabled] & { + pointer-events: none; // Future-proof disabling of clicks on `` elements + } + } +} + + +// Alternate buttons +// -------------------------------------------------- + +.btn-default { + .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); +} +.btn-primary { + .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); +} +// Success appears as green +.btn-success { + .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); +} +// Info appears as blue-green +.btn-info { + .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); +} +// Warning appears as orange +.btn-warning { + .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); +} +// Danger and error appear as red +.btn-danger { + .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); +} + + +// Link buttons +// ------------------------- + +// Make a button look and behave like a link +.btn-link { + color: @link-color; + font-weight: normal; + border-radius: 0; + + &, + &:active, + &.active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + .box-shadow(none); + } + &, + &:hover, + &:focus, + &:active { + border-color: transparent; + } + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: @link-hover-decoration; + background-color: transparent; + } + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @btn-link-disabled-color; + text-decoration: none; + } + } +} + + +// Button Sizes +// -------------------------------------------------- + +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large); +} +.btn-sm { + // line-height: ensure proper height of button next to small input + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} +.btn-xs { + .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small); +} + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } +} diff --git a/build/vendor/bootstrap/less/carousel.less b/build/vendor/bootstrap/less/carousel.less new file mode 100644 index 0000000..87ed696 --- /dev/null +++ b/build/vendor/bootstrap/less/carousel.less @@ -0,0 +1,269 @@ +// +// Carousel +// -------------------------------------------------- + + +// Wrapper for the slide container and indicators +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + overflow: hidden; + width: 100%; + + > .item { + display: none; + position: relative; + .transition(.6s ease-in-out left); + + // Account for jankitude on images + > img, + > a > img { + &:extend(.img-responsive); + line-height: 1; + } + + // WebKit CSS3 transforms for supported devices + @media all and (transform-3d), (-webkit-transform-3d) { + .transition-transform(~'0.6s ease-in-out'); + .backface-visibility(~'hidden'); + .perspective(1000px); + + &.next, + &.active.right { + .translate3d(100%, 0, 0); + left: 0; + } + &.prev, + &.active.left { + .translate3d(-100%, 0, 0); + left: 0; + } + &.next.left, + &.prev.right, + &.active { + .translate3d(0, 0, 0); + left: 0; + } + } + } + + > .active, + > .next, + > .prev { + display: block; + } + + > .active { + left: 0; + } + + > .next, + > .prev { + position: absolute; + top: 0; + width: 100%; + } + + > .next { + left: 100%; + } + > .prev { + left: -100%; + } + > .next.left, + > .prev.right { + left: 0; + } + + > .active.left { + left: -100%; + } + > .active.right { + left: 100%; + } + +} + +// Left/right controls for nav +// --------------------------- + +.carousel-control { + position: absolute; + top: 0; + left: 0; + bottom: 0; + width: @carousel-control-width; + .opacity(@carousel-control-opacity); + font-size: @carousel-control-font-size; + color: @carousel-control-color; + text-align: center; + text-shadow: @carousel-text-shadow; + // We can't have this transition here because WebKit cancels the carousel + // animation if you trip this while in the middle of another animation. + + // Set gradients for backgrounds + &.left { + #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001)); + } + &.right { + left: auto; + right: 0; + #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5)); + } + + // Hover/focus state + &:hover, + &:focus { + outline: 0; + color: @carousel-control-color; + text-decoration: none; + .opacity(.9); + } + + // Toggles + .icon-prev, + .icon-next, + .glyphicon-chevron-left, + .glyphicon-chevron-right { + position: absolute; + top: 50%; + margin-top: -10px; + z-index: 5; + display: inline-block; + } + .icon-prev, + .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; + } + .icon-next, + .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; + } + .icon-prev, + .icon-next { + width: 20px; + height: 20px; + line-height: 1; + font-family: serif; + } + + + .icon-prev { + &:before { + content: '\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039) + } + } + .icon-next { + &:before { + content: '\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A) + } + } +} + +// Optional indicator pips +// +// Add an unordered list with the following class and add a list item for each +// slide your carousel holds. + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + margin-left: -30%; + padding-left: 0; + list-style: none; + text-align: center; + + li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + border: 1px solid @carousel-indicator-border-color; + border-radius: 10px; + cursor: pointer; + + // IE8-9 hack for event handling + // + // Internet Explorer 8-9 does not support clicks on elements without a set + // `background-color`. We cannot use `filter` since that's not viewed as a + // background color by the browser. Thus, a hack is needed. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer + // + // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we + // set alpha transparency for the best results possible. + background-color: #000 \9; // IE8 + background-color: rgba(0,0,0,0); // IE9 + } + .active { + margin: 0; + width: 12px; + height: 12px; + background-color: @carousel-indicator-active-bg; + } +} + +// Optional captions +// ----------------------------- +// Hidden by default for smaller viewports +.carousel-caption { + position: absolute; + left: 15%; + right: 15%; + bottom: 20px; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: @carousel-caption-color; + text-align: center; + text-shadow: @carousel-text-shadow; + & .btn { + text-shadow: none; // No shadow for button elements in carousel-caption + } +} + + +// Scale up controls for tablets and up +@media screen and (min-width: @screen-sm-min) { + + // Scale up the controls a smidge + .carousel-control { + .glyphicon-chevron-left, + .glyphicon-chevron-right, + .icon-prev, + .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .glyphicon-chevron-left, + .icon-prev { + margin-left: -15px; + } + .glyphicon-chevron-right, + .icon-next { + margin-right: -15px; + } + } + + // Show and left align the captions + .carousel-caption { + left: 20%; + right: 20%; + padding-bottom: 30px; + } + + // Move up the indicators + .carousel-indicators { + bottom: 20px; + } +} diff --git a/build/vendor/bootstrap/less/close.less b/build/vendor/bootstrap/less/close.less new file mode 100644 index 0000000..6d5bfe0 --- /dev/null +++ b/build/vendor/bootstrap/less/close.less @@ -0,0 +1,34 @@ +// +// Close icons +// -------------------------------------------------- + + +.close { + float: right; + font-size: (@font-size-base * 1.5); + font-weight: @close-font-weight; + line-height: 1; + color: @close-color; + text-shadow: @close-text-shadow; + .opacity(.2); + + &:hover, + &:focus { + color: @close-color; + text-decoration: none; + cursor: pointer; + .opacity(.5); + } + + // Additional properties for button version + // iOS requires the button element instead of an anchor tag. + // If you want the anchor version, it requires `href="#"`. + // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile + button& { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + } +} diff --git a/build/vendor/bootstrap/less/code.less b/build/vendor/bootstrap/less/code.less new file mode 100644 index 0000000..a08b4d4 --- /dev/null +++ b/build/vendor/bootstrap/less/code.less @@ -0,0 +1,69 @@ +// +// Code (inline and block) +// -------------------------------------------------- + + +// Inline and block code styles +code, +kbd, +pre, +samp { + font-family: @font-family-monospace; +} + +// Inline code +code { + padding: 2px 4px; + font-size: 90%; + color: @code-color; + background-color: @code-bg; + border-radius: @border-radius-base; +} + +// User input typically entered via keyboard +kbd { + padding: 2px 4px; + font-size: 90%; + color: @kbd-color; + background-color: @kbd-bg; + border-radius: @border-radius-small; + box-shadow: inset 0 -1px 0 rgba(0,0,0,.25); + + kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + box-shadow: none; + } +} + +// Blocks of code +pre { + display: block; + padding: ((@line-height-computed - 1) / 2); + margin: 0 0 (@line-height-computed / 2); + font-size: (@font-size-base - 1); // 14px to 13px + line-height: @line-height-base; + word-break: break-all; + word-wrap: break-word; + color: @pre-color; + background-color: @pre-bg; + border: 1px solid @pre-border-color; + border-radius: @border-radius-base; + + // Account for some code outputs that place code tags in pre tags + code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; + } +} + +// Enable scrollable blocks of code +.pre-scrollable { + max-height: @pre-scrollable-max-height; + overflow-y: scroll; +} diff --git a/build/vendor/bootstrap/less/component-animations.less b/build/vendor/bootstrap/less/component-animations.less new file mode 100644 index 0000000..0bcee91 --- /dev/null +++ b/build/vendor/bootstrap/less/component-animations.less @@ -0,0 +1,33 @@ +// +// Component animations +// -------------------------------------------------- + +// Heads up! +// +// We don't use the `.opacity()` mixin here since it causes a bug with text +// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552. + +.fade { + opacity: 0; + .transition(opacity .15s linear); + &.in { + opacity: 1; + } +} + +.collapse { + display: none; + + &.in { display: block; } + tr&.in { display: table-row; } + tbody&.in { display: table-row-group; } +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + .transition-property(~"height, visibility"); + .transition-duration(.35s); + .transition-timing-function(ease); +} diff --git a/build/vendor/bootstrap/less/dropdowns.less b/build/vendor/bootstrap/less/dropdowns.less new file mode 100644 index 0000000..f6876c1 --- /dev/null +++ b/build/vendor/bootstrap/less/dropdowns.less @@ -0,0 +1,216 @@ +// +// Dropdown menus +// -------------------------------------------------- + + +// Dropdown arrow/caret +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: @caret-width-base dashed; + border-top: @caret-width-base solid ~"\9"; // IE8 + border-right: @caret-width-base solid transparent; + border-left: @caret-width-base solid transparent; +} + +// The dropdown wrapper (div) +.dropup, +.dropdown { + position: relative; +} + +// Prevent the focus on the dropdown toggle when closing dropdowns +.dropdown-toggle:focus { + outline: 0; +} + +// The dropdown menu (ul) +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: @zindex-dropdown; + display: none; // none by default, but block on "open" of the menu + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; // override default ul + list-style: none; + font-size: @font-size-base; + text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) + background-color: @dropdown-bg; + border: 1px solid @dropdown-fallback-border; // IE8 fallback + border: 1px solid @dropdown-border; + border-radius: @border-radius-base; + .box-shadow(0 6px 12px rgba(0,0,0,.175)); + background-clip: padding-box; + + // Aligns the dropdown menu to right + // + // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]` + &.pull-right { + right: 0; + left: auto; + } + + // Dividers (basically an hr) within the dropdown + .divider { + .nav-divider(@dropdown-divider-bg); + } + + // Links within the dropdown menu + > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: @line-height-base; + color: @dropdown-link-color; + white-space: nowrap; // prevent links from randomly breaking onto new lines + } +} + +// Hover/Focus state +.dropdown-menu > li > a { + &:hover, + &:focus { + text-decoration: none; + color: @dropdown-link-hover-color; + background-color: @dropdown-link-hover-bg; + } +} + +// Active state +.dropdown-menu > .active > a { + &, + &:hover, + &:focus { + color: @dropdown-link-active-color; + text-decoration: none; + outline: 0; + background-color: @dropdown-link-active-bg; + } +} + +// Disabled state +// +// Gray out text and ensure the hover/focus state remains gray + +.dropdown-menu > .disabled > a { + &, + &:hover, + &:focus { + color: @dropdown-link-disabled-color; + } + + // Nuke hover/focus effects + &:hover, + &:focus { + text-decoration: none; + background-color: transparent; + background-image: none; // Remove CSS gradient + .reset-filter(); + cursor: @cursor-disabled; + } +} + +// Open state for the dropdown +.open { + // Show the menu + > .dropdown-menu { + display: block; + } + + // Remove the outline when :focus is triggered + > a { + outline: 0; + } +} + +// Menu positioning +// +// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown +// menu with the parent. +.dropdown-menu-right { + left: auto; // Reset the default from `.dropdown-menu` + right: 0; +} +// With v3, we enabled auto-flipping if you have a dropdown within a right +// aligned nav component. To enable the undoing of that, we provide an override +// to restore the default dropdown menu alignment. +// +// This is only for left-aligning a dropdown menu within a `.navbar-right` or +// `.pull-right` nav component. +.dropdown-menu-left { + left: 0; + right: auto; +} + +// Dropdown section headers +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: @font-size-small; + line-height: @line-height-base; + color: @dropdown-header-color; + white-space: nowrap; // as with > li > a +} + +// Backdrop to catch body clicks on mobile, etc. +.dropdown-backdrop { + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: (@zindex-dropdown - 10); +} + +// Right aligned dropdowns +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +// Allow for dropdowns to go bottom up (aka, dropup-menu) +// +// Just add .dropup after the standard .dropdown class and you're set, bro. +// TODO: abstract this so that the navbar fixed styles are not placed here? + +.dropup, +.navbar-fixed-bottom .dropdown { + // Reverse the caret + .caret { + border-top: 0; + border-bottom: @caret-width-base dashed; + border-bottom: @caret-width-base solid ~"\9"; // IE8 + content: ""; + } + // Different positioning for bottom up menu + .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; + } +} + + +// Component alignment +// +// Reiterate per navbar.less and the modified component alignment there. + +@media (min-width: @grid-float-breakpoint) { + .navbar-right { + .dropdown-menu { + .dropdown-menu-right(); + } + // Necessary for overrides of the default right aligned menu. + // Will remove come v4 in all likelihood. + .dropdown-menu-left { + .dropdown-menu-left(); + } + } +} diff --git a/build/vendor/bootstrap/less/forms.less b/build/vendor/bootstrap/less/forms.less new file mode 100644 index 0000000..b064ede --- /dev/null +++ b/build/vendor/bootstrap/less/forms.less @@ -0,0 +1,607 @@ +// +// Forms +// -------------------------------------------------- + + +// Normalize non-controls +// +// Restyle and baseline non-control form elements. + +fieldset { + padding: 0; + margin: 0; + border: 0; + // Chrome and Firefox set a `min-width: min-content;` on fieldsets, + // so we reset that to ensure it behaves more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359. + min-width: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: @line-height-computed; + font-size: (@font-size-base * 1.5); + line-height: inherit; + color: @legend-color; + border: 0; + border-bottom: 1px solid @legend-border-color; +} + +label { + display: inline-block; + max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141) + margin-bottom: 5px; + font-weight: bold; +} + + +// Normalize form controls +// +// While most of our form styles require extra classes, some basic normalization +// is required to ensure optimum display with or without those classes to better +// address browser inconsistencies. + +// Override content-box in Normalize (* isn't specific enough) +input[type="search"] { + .box-sizing(border-box); +} + +// Position radios and checkboxes better +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; // IE8-9 + line-height: normal; +} + +input[type="file"] { + display: block; +} + +// Make range inputs behave like textual form controls +input[type="range"] { + display: block; + width: 100%; +} + +// Make multiple select elements height not fixed +select[multiple], +select[size] { + height: auto; +} + +// Focus for file, radio, and checkbox +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + .tab-focus(); +} + +// Adjust output element +output { + display: block; + padding-top: (@padding-base-vertical + 1); + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; +} + + +// Common form controls +// +// Shared size and type resets for form controls. Apply `.form-control` to any +// of the following form controls: +// +// select +// textarea +// input[type="text"] +// input[type="password"] +// input[type="datetime"] +// input[type="datetime-local"] +// input[type="date"] +// input[type="month"] +// input[type="time"] +// input[type="week"] +// input[type="number"] +// input[type="email"] +// input[type="url"] +// input[type="search"] +// input[type="tel"] +// input[type="color"] + +.form-control { + display: block; + width: 100%; + height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border) + padding: @padding-base-vertical @padding-base-horizontal; + font-size: @font-size-base; + line-height: @line-height-base; + color: @input-color; + background-color: @input-bg; + background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214 + border: 1px solid @input-border; + border-radius: @input-border-radius; // Note: This has no effect on s in CSS. + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); + .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s"); + + // Customize the `:focus` state to imitate native WebKit styles. + .form-control-focus(); + + // Placeholder + .placeholder(); + + // Disabled and read-only inputs + // + // HTML5 says that controls under a fieldset > legend:first-child won't be + // disabled if the fieldset is disabled. Due to implementation difficulty, we + // don't honor that edge case; we style them as disabled anyway. + &[disabled], + &[readonly], + fieldset[disabled] & { + background-color: @input-bg-disabled; + opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655 + } + + &[disabled], + fieldset[disabled] & { + cursor: @cursor-disabled; + } + + // Reset height for `textarea`s + textarea& { + height: auto; + } +} + + +// Search inputs in iOS +// +// This overrides the extra rounded corners on search inputs in iOS so that our +// `.form-control` class can properly style them. Note that this cannot simply +// be added to `.form-control` as it's not specific enough. For details, see +// https://github.com/twbs/bootstrap/issues/11586. + +input[type="search"] { + -webkit-appearance: none; +} + + +// Special styles for iOS temporal inputs +// +// In Mobile Safari, setting `display: block` on temporal inputs causes the +// text within the input to become vertically misaligned. As a workaround, we +// set a pixel line-height that matches the given height of the input, but only +// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848 +// +// Note that as of 8.3, iOS doesn't support `datetime` or `week`. + +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"], + input[type="time"], + input[type="datetime-local"], + input[type="month"] { + &.form-control { + line-height: @input-height-base; + } + + &.input-sm, + .input-group-sm & { + line-height: @input-height-small; + } + + &.input-lg, + .input-group-lg & { + line-height: @input-height-large; + } + } +} + + +// Form groups +// +// Designed to help with the organization and spacing of vertical forms. For +// horizontal forms, use the predefined grid classes. + +.form-group { + margin-bottom: @form-group-margin-bottom; +} + + +// Checkboxes and radios +// +// Indent the labels to position radios/checkboxes as hanging controls. + +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; + + label { + min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; + } +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-left: -20px; + margin-top: 4px \9; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing +} + +// Radios and checkboxes on same line +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + vertical-align: middle; + font-weight: normal; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; // space out consecutive inline controls +} + +// Apply same disabled cursor tweak as for inputs +// Some special care is needed because Star + +// Import the fonts +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('@{icon-font-path}@{icon-font-name}.eot'); + src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'), + url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'), + url('@{icon-font-path}@{icon-font-name}.woff') format('woff'), + url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'), + url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg'); +} + +// Catchall baseclass +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +// Individual icons +.glyphicon-asterisk { &:before { content: "\2a"; } } +.glyphicon-plus { &:before { content: "\2b"; } } +.glyphicon-euro, +.glyphicon-eur { &:before { content: "\20ac"; } } +.glyphicon-minus { &:before { content: "\2212"; } } +.glyphicon-cloud { &:before { content: "\2601"; } } +.glyphicon-envelope { &:before { content: "\2709"; } } +.glyphicon-pencil { &:before { content: "\270f"; } } +.glyphicon-glass { &:before { content: "\e001"; } } +.glyphicon-music { &:before { content: "\e002"; } } +.glyphicon-search { &:before { content: "\e003"; } } +.glyphicon-heart { &:before { content: "\e005"; } } +.glyphicon-star { &:before { content: "\e006"; } } +.glyphicon-star-empty { &:before { content: "\e007"; } } +.glyphicon-user { &:before { content: "\e008"; } } +.glyphicon-film { &:before { content: "\e009"; } } +.glyphicon-th-large { &:before { content: "\e010"; } } +.glyphicon-th { &:before { content: "\e011"; } } +.glyphicon-th-list { &:before { content: "\e012"; } } +.glyphicon-ok { &:before { content: "\e013"; } } +.glyphicon-remove { &:before { content: "\e014"; } } +.glyphicon-zoom-in { &:before { content: "\e015"; } } +.glyphicon-zoom-out { &:before { content: "\e016"; } } +.glyphicon-off { &:before { content: "\e017"; } } +.glyphicon-signal { &:before { content: "\e018"; } } +.glyphicon-cog { &:before { content: "\e019"; } } +.glyphicon-trash { &:before { content: "\e020"; } } +.glyphicon-home { &:before { content: "\e021"; } } +.glyphicon-file { &:before { content: "\e022"; } } +.glyphicon-time { &:before { content: "\e023"; } } +.glyphicon-road { &:before { content: "\e024"; } } +.glyphicon-download-alt { &:before { content: "\e025"; } } +.glyphicon-download { &:before { content: "\e026"; } } +.glyphicon-upload { &:before { content: "\e027"; } } +.glyphicon-inbox { &:before { content: "\e028"; } } +.glyphicon-play-circle { &:before { content: "\e029"; } } +.glyphicon-repeat { &:before { content: "\e030"; } } +.glyphicon-refresh { &:before { content: "\e031"; } } +.glyphicon-list-alt { &:before { content: "\e032"; } } +.glyphicon-lock { &:before { content: "\e033"; } } +.glyphicon-flag { &:before { content: "\e034"; } } +.glyphicon-headphones { &:before { content: "\e035"; } } +.glyphicon-volume-off { &:before { content: "\e036"; } } +.glyphicon-volume-down { &:before { content: "\e037"; } } +.glyphicon-volume-up { &:before { content: "\e038"; } } +.glyphicon-qrcode { &:before { content: "\e039"; } } +.glyphicon-barcode { &:before { content: "\e040"; } } +.glyphicon-tag { &:before { content: "\e041"; } } +.glyphicon-tags { &:before { content: "\e042"; } } +.glyphicon-book { &:before { content: "\e043"; } } +.glyphicon-bookmark { &:before { content: "\e044"; } } +.glyphicon-print { &:before { content: "\e045"; } } +.glyphicon-camera { &:before { content: "\e046"; } } +.glyphicon-font { &:before { content: "\e047"; } } +.glyphicon-bold { &:before { content: "\e048"; } } +.glyphicon-italic { &:before { content: "\e049"; } } +.glyphicon-text-height { &:before { content: "\e050"; } } +.glyphicon-text-width { &:before { content: "\e051"; } } +.glyphicon-align-left { &:before { content: "\e052"; } } +.glyphicon-align-center { &:before { content: "\e053"; } } +.glyphicon-align-right { &:before { content: "\e054"; } } +.glyphicon-align-justify { &:before { content: "\e055"; } } +.glyphicon-list { &:before { content: "\e056"; } } +.glyphicon-indent-left { &:before { content: "\e057"; } } +.glyphicon-indent-right { &:before { content: "\e058"; } } +.glyphicon-facetime-video { &:before { content: "\e059"; } } +.glyphicon-picture { &:before { content: "\e060"; } } +.glyphicon-map-marker { &:before { content: "\e062"; } } +.glyphicon-adjust { &:before { content: "\e063"; } } +.glyphicon-tint { &:before { content: "\e064"; } } +.glyphicon-edit { &:before { content: "\e065"; } } +.glyphicon-share { &:before { content: "\e066"; } } +.glyphicon-check { &:before { content: "\e067"; } } +.glyphicon-move { &:before { content: "\e068"; } } +.glyphicon-step-backward { &:before { content: "\e069"; } } +.glyphicon-fast-backward { &:before { content: "\e070"; } } +.glyphicon-backward { &:before { content: "\e071"; } } +.glyphicon-play { &:before { content: "\e072"; } } +.glyphicon-pause { &:before { content: "\e073"; } } +.glyphicon-stop { &:before { content: "\e074"; } } +.glyphicon-forward { &:before { content: "\e075"; } } +.glyphicon-fast-forward { &:before { content: "\e076"; } } +.glyphicon-step-forward { &:before { content: "\e077"; } } +.glyphicon-eject { &:before { content: "\e078"; } } +.glyphicon-chevron-left { &:before { content: "\e079"; } } +.glyphicon-chevron-right { &:before { content: "\e080"; } } +.glyphicon-plus-sign { &:before { content: "\e081"; } } +.glyphicon-minus-sign { &:before { content: "\e082"; } } +.glyphicon-remove-sign { &:before { content: "\e083"; } } +.glyphicon-ok-sign { &:before { content: "\e084"; } } +.glyphicon-question-sign { &:before { content: "\e085"; } } +.glyphicon-info-sign { &:before { content: "\e086"; } } +.glyphicon-screenshot { &:before { content: "\e087"; } } +.glyphicon-remove-circle { &:before { content: "\e088"; } } +.glyphicon-ok-circle { &:before { content: "\e089"; } } +.glyphicon-ban-circle { &:before { content: "\e090"; } } +.glyphicon-arrow-left { &:before { content: "\e091"; } } +.glyphicon-arrow-right { &:before { content: "\e092"; } } +.glyphicon-arrow-up { &:before { content: "\e093"; } } +.glyphicon-arrow-down { &:before { content: "\e094"; } } +.glyphicon-share-alt { &:before { content: "\e095"; } } +.glyphicon-resize-full { &:before { content: "\e096"; } } +.glyphicon-resize-small { &:before { content: "\e097"; } } +.glyphicon-exclamation-sign { &:before { content: "\e101"; } } +.glyphicon-gift { &:before { content: "\e102"; } } +.glyphicon-leaf { &:before { content: "\e103"; } } +.glyphicon-fire { &:before { content: "\e104"; } } +.glyphicon-eye-open { &:before { content: "\e105"; } } +.glyphicon-eye-close { &:before { content: "\e106"; } } +.glyphicon-warning-sign { &:before { content: "\e107"; } } +.glyphicon-plane { &:before { content: "\e108"; } } +.glyphicon-calendar { &:before { content: "\e109"; } } +.glyphicon-random { &:before { content: "\e110"; } } +.glyphicon-comment { &:before { content: "\e111"; } } +.glyphicon-magnet { &:before { content: "\e112"; } } +.glyphicon-chevron-up { &:before { content: "\e113"; } } +.glyphicon-chevron-down { &:before { content: "\e114"; } } +.glyphicon-retweet { &:before { content: "\e115"; } } +.glyphicon-shopping-cart { &:before { content: "\e116"; } } +.glyphicon-folder-close { &:before { content: "\e117"; } } +.glyphicon-folder-open { &:before { content: "\e118"; } } +.glyphicon-resize-vertical { &:before { content: "\e119"; } } +.glyphicon-resize-horizontal { &:before { content: "\e120"; } } +.glyphicon-hdd { &:before { content: "\e121"; } } +.glyphicon-bullhorn { &:before { content: "\e122"; } } +.glyphicon-bell { &:before { content: "\e123"; } } +.glyphicon-certificate { &:before { content: "\e124"; } } +.glyphicon-thumbs-up { &:before { content: "\e125"; } } +.glyphicon-thumbs-down { &:before { content: "\e126"; } } +.glyphicon-hand-right { &:before { content: "\e127"; } } +.glyphicon-hand-left { &:before { content: "\e128"; } } +.glyphicon-hand-up { &:before { content: "\e129"; } } +.glyphicon-hand-down { &:before { content: "\e130"; } } +.glyphicon-circle-arrow-right { &:before { content: "\e131"; } } +.glyphicon-circle-arrow-left { &:before { content: "\e132"; } } +.glyphicon-circle-arrow-up { &:before { content: "\e133"; } } +.glyphicon-circle-arrow-down { &:before { content: "\e134"; } } +.glyphicon-globe { &:before { content: "\e135"; } } +.glyphicon-wrench { &:before { content: "\e136"; } } +.glyphicon-tasks { &:before { content: "\e137"; } } +.glyphicon-filter { &:before { content: "\e138"; } } +.glyphicon-briefcase { &:before { content: "\e139"; } } +.glyphicon-fullscreen { &:before { content: "\e140"; } } +.glyphicon-dashboard { &:before { content: "\e141"; } } +.glyphicon-paperclip { &:before { content: "\e142"; } } +.glyphicon-heart-empty { &:before { content: "\e143"; } } +.glyphicon-link { &:before { content: "\e144"; } } +.glyphicon-phone { &:before { content: "\e145"; } } +.glyphicon-pushpin { &:before { content: "\e146"; } } +.glyphicon-usd { &:before { content: "\e148"; } } +.glyphicon-gbp { &:before { content: "\e149"; } } +.glyphicon-sort { &:before { content: "\e150"; } } +.glyphicon-sort-by-alphabet { &:before { content: "\e151"; } } +.glyphicon-sort-by-alphabet-alt { &:before { content: "\e152"; } } +.glyphicon-sort-by-order { &:before { content: "\e153"; } } +.glyphicon-sort-by-order-alt { &:before { content: "\e154"; } } +.glyphicon-sort-by-attributes { &:before { content: "\e155"; } } +.glyphicon-sort-by-attributes-alt { &:before { content: "\e156"; } } +.glyphicon-unchecked { &:before { content: "\e157"; } } +.glyphicon-expand { &:before { content: "\e158"; } } +.glyphicon-collapse-down { &:before { content: "\e159"; } } +.glyphicon-collapse-up { &:before { content: "\e160"; } } +.glyphicon-log-in { &:before { content: "\e161"; } } +.glyphicon-flash { &:before { content: "\e162"; } } +.glyphicon-log-out { &:before { content: "\e163"; } } +.glyphicon-new-window { &:before { content: "\e164"; } } +.glyphicon-record { &:before { content: "\e165"; } } +.glyphicon-save { &:before { content: "\e166"; } } +.glyphicon-open { &:before { content: "\e167"; } } +.glyphicon-saved { &:before { content: "\e168"; } } +.glyphicon-import { &:before { content: "\e169"; } } +.glyphicon-export { &:before { content: "\e170"; } } +.glyphicon-send { &:before { content: "\e171"; } } +.glyphicon-floppy-disk { &:before { content: "\e172"; } } +.glyphicon-floppy-saved { &:before { content: "\e173"; } } +.glyphicon-floppy-remove { &:before { content: "\e174"; } } +.glyphicon-floppy-save { &:before { content: "\e175"; } } +.glyphicon-floppy-open { &:before { content: "\e176"; } } +.glyphicon-credit-card { &:before { content: "\e177"; } } +.glyphicon-transfer { &:before { content: "\e178"; } } +.glyphicon-cutlery { &:before { content: "\e179"; } } +.glyphicon-header { &:before { content: "\e180"; } } +.glyphicon-compressed { &:before { content: "\e181"; } } +.glyphicon-earphone { &:before { content: "\e182"; } } +.glyphicon-phone-alt { &:before { content: "\e183"; } } +.glyphicon-tower { &:before { content: "\e184"; } } +.glyphicon-stats { &:before { content: "\e185"; } } +.glyphicon-sd-video { &:before { content: "\e186"; } } +.glyphicon-hd-video { &:before { content: "\e187"; } } +.glyphicon-subtitles { &:before { content: "\e188"; } } +.glyphicon-sound-stereo { &:before { content: "\e189"; } } +.glyphicon-sound-dolby { &:before { content: "\e190"; } } +.glyphicon-sound-5-1 { &:before { content: "\e191"; } } +.glyphicon-sound-6-1 { &:before { content: "\e192"; } } +.glyphicon-sound-7-1 { &:before { content: "\e193"; } } +.glyphicon-copyright-mark { &:before { content: "\e194"; } } +.glyphicon-registration-mark { &:before { content: "\e195"; } } +.glyphicon-cloud-download { &:before { content: "\e197"; } } +.glyphicon-cloud-upload { &:before { content: "\e198"; } } +.glyphicon-tree-conifer { &:before { content: "\e199"; } } +.glyphicon-tree-deciduous { &:before { content: "\e200"; } } +.glyphicon-cd { &:before { content: "\e201"; } } +.glyphicon-save-file { &:before { content: "\e202"; } } +.glyphicon-open-file { &:before { content: "\e203"; } } +.glyphicon-level-up { &:before { content: "\e204"; } } +.glyphicon-copy { &:before { content: "\e205"; } } +.glyphicon-paste { &:before { content: "\e206"; } } +// The following 2 Glyphicons are omitted for the time being because +// they currently use Unicode codepoints that are outside the +// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle +// non-BMP codepoints in CSS string escapes, and thus can't display these two icons. +// Notably, the bug affects some older versions of the Android Browser. +// More info: https://github.com/twbs/bootstrap/issues/10106 +// .glyphicon-door { &:before { content: "\1f6aa"; } } +// .glyphicon-key { &:before { content: "\1f511"; } } +.glyphicon-alert { &:before { content: "\e209"; } } +.glyphicon-equalizer { &:before { content: "\e210"; } } +.glyphicon-king { &:before { content: "\e211"; } } +.glyphicon-queen { &:before { content: "\e212"; } } +.glyphicon-pawn { &:before { content: "\e213"; } } +.glyphicon-bishop { &:before { content: "\e214"; } } +.glyphicon-knight { &:before { content: "\e215"; } } +.glyphicon-baby-formula { &:before { content: "\e216"; } } +.glyphicon-tent { &:before { content: "\26fa"; } } +.glyphicon-blackboard { &:before { content: "\e218"; } } +.glyphicon-bed { &:before { content: "\e219"; } } +.glyphicon-apple { &:before { content: "\f8ff"; } } +.glyphicon-erase { &:before { content: "\e221"; } } +.glyphicon-hourglass { &:before { content: "\231b"; } } +.glyphicon-lamp { &:before { content: "\e223"; } } +.glyphicon-duplicate { &:before { content: "\e224"; } } +.glyphicon-piggy-bank { &:before { content: "\e225"; } } +.glyphicon-scissors { &:before { content: "\e226"; } } +.glyphicon-bitcoin { &:before { content: "\e227"; } } +.glyphicon-btc { &:before { content: "\e227"; } } +.glyphicon-xbt { &:before { content: "\e227"; } } +.glyphicon-yen { &:before { content: "\00a5"; } } +.glyphicon-jpy { &:before { content: "\00a5"; } } +.glyphicon-ruble { &:before { content: "\20bd"; } } +.glyphicon-rub { &:before { content: "\20bd"; } } +.glyphicon-scale { &:before { content: "\e230"; } } +.glyphicon-ice-lolly { &:before { content: "\e231"; } } +.glyphicon-ice-lolly-tasted { &:before { content: "\e232"; } } +.glyphicon-education { &:before { content: "\e233"; } } +.glyphicon-option-horizontal { &:before { content: "\e234"; } } +.glyphicon-option-vertical { &:before { content: "\e235"; } } +.glyphicon-menu-hamburger { &:before { content: "\e236"; } } +.glyphicon-modal-window { &:before { content: "\e237"; } } +.glyphicon-oil { &:before { content: "\e238"; } } +.glyphicon-grain { &:before { content: "\e239"; } } +.glyphicon-sunglasses { &:before { content: "\e240"; } } +.glyphicon-text-size { &:before { content: "\e241"; } } +.glyphicon-text-color { &:before { content: "\e242"; } } +.glyphicon-text-background { &:before { content: "\e243"; } } +.glyphicon-object-align-top { &:before { content: "\e244"; } } +.glyphicon-object-align-bottom { &:before { content: "\e245"; } } +.glyphicon-object-align-horizontal{ &:before { content: "\e246"; } } +.glyphicon-object-align-left { &:before { content: "\e247"; } } +.glyphicon-object-align-vertical { &:before { content: "\e248"; } } +.glyphicon-object-align-right { &:before { content: "\e249"; } } +.glyphicon-triangle-right { &:before { content: "\e250"; } } +.glyphicon-triangle-left { &:before { content: "\e251"; } } +.glyphicon-triangle-bottom { &:before { content: "\e252"; } } +.glyphicon-triangle-top { &:before { content: "\e253"; } } +.glyphicon-console { &:before { content: "\e254"; } } +.glyphicon-superscript { &:before { content: "\e255"; } } +.glyphicon-subscript { &:before { content: "\e256"; } } +.glyphicon-menu-left { &:before { content: "\e257"; } } +.glyphicon-menu-right { &:before { content: "\e258"; } } +.glyphicon-menu-down { &:before { content: "\e259"; } } +.glyphicon-menu-up { &:before { content: "\e260"; } } diff --git a/build/vendor/bootstrap/less/grid.less b/build/vendor/bootstrap/less/grid.less new file mode 100644 index 0000000..e100655 --- /dev/null +++ b/build/vendor/bootstrap/less/grid.less @@ -0,0 +1,84 @@ +// +// Grid system +// -------------------------------------------------- + + +// Container widths +// +// Set the container width, and override it for fixed navbars in media queries. + +.container { + .container-fixed(); + + @media (min-width: @screen-sm-min) { + width: @container-sm; + } + @media (min-width: @screen-md-min) { + width: @container-md; + } + @media (min-width: @screen-lg-min) { + width: @container-lg; + } +} + + +// Fluid container +// +// Utilizes the mixin meant for fixed width containers, but without any defined +// width for fluid, full width layouts. + +.container-fluid { + .container-fixed(); +} + + +// Row +// +// Rows contain and clear the floats of your columns. + +.row { + .make-row(); +} + + +// Columns +// +// Common styles for small and large grid columns + +.make-grid-columns(); + + +// Extra small grid +// +// Columns, offsets, pushes, and pulls for extra small devices like +// smartphones. + +.make-grid(xs); + + +// Small grid +// +// Columns, offsets, pushes, and pulls for the small device range, from phones +// to tablets. + +@media (min-width: @screen-sm-min) { + .make-grid(sm); +} + + +// Medium grid +// +// Columns, offsets, pushes, and pulls for the desktop device range. + +@media (min-width: @screen-md-min) { + .make-grid(md); +} + + +// Large grid +// +// Columns, offsets, pushes, and pulls for the large desktop device range. + +@media (min-width: @screen-lg-min) { + .make-grid(lg); +} diff --git a/build/vendor/bootstrap/less/input-groups.less b/build/vendor/bootstrap/less/input-groups.less new file mode 100644 index 0000000..457ea60 --- /dev/null +++ b/build/vendor/bootstrap/less/input-groups.less @@ -0,0 +1,167 @@ +// +// Input groups +// -------------------------------------------------- + +// Base styles +// ------------------------- +.input-group { + position: relative; // For dropdowns + display: table; + border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table + + // Undo padding and float of grid classes + &[class*="col-"] { + float: none; + padding-left: 0; + padding-right: 0; + } + + .form-control { + // Ensure that the input is always above the *appended* addon button for + // proper border colors. + position: relative; + z-index: 2; + + // IE9 fubars the placeholder attribute in text inputs and the arrows on + // select elements in input groups. To fix it, we float the input. Details: + // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 + float: left; + + width: 100%; + margin-bottom: 0; + } +} + +// Sizing options +// +// Remix the default form control sizing classes into new ones for easier +// manipulation. + +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + .input-lg(); +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + .input-sm(); +} + + +// Display as table-cell +// ------------------------- +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; + + &:not(:first-child):not(:last-child) { + border-radius: 0; + } +} +// Addon and addon wrapper for buttons +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; // Match the inputs +} + +// Text input groups +// ------------------------- +.input-group-addon { + padding: @padding-base-vertical @padding-base-horizontal; + font-size: @font-size-base; + font-weight: normal; + line-height: 1; + color: @input-color; + text-align: center; + background-color: @input-group-addon-bg; + border: 1px solid @input-group-addon-border-color; + border-radius: @border-radius-base; + + // Sizing + &.input-sm { + padding: @padding-small-vertical @padding-small-horizontal; + font-size: @font-size-small; + border-radius: @border-radius-small; + } + &.input-lg { + padding: @padding-large-vertical @padding-large-horizontal; + font-size: @font-size-large; + border-radius: @border-radius-large; + } + + // Nuke default margins from checkboxes and radios to vertically center within. + input[type="radio"], + input[type="checkbox"] { + margin-top: 0; + } +} + +// Reset rounded corners +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + .border-right-radius(0); +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + .border-left-radius(0); +} +.input-group-addon:last-child { + border-left: 0; +} + +// Button input groups +// ------------------------- +.input-group-btn { + position: relative; + // Jankily prevent input button groups from wrapping with `white-space` and + // `font-size` in combination with `inline-block` on buttons. + font-size: 0; + white-space: nowrap; + + // Negative margin for spacing, position for bringing hovered/focused/actived + // element above the siblings. + > .btn { + position: relative; + + .btn { + margin-left: -1px; + } + // Bring the "active" button to the front + &:hover, + &:focus, + &:active { + z-index: 2; + } + } + + // Negative margin to only have a 1px border between the two + &:first-child { + > .btn, + > .btn-group { + margin-right: -1px; + } + } + &:last-child { + > .btn, + > .btn-group { + z-index: 2; + margin-left: -1px; + } + } +} diff --git a/build/vendor/bootstrap/less/jumbotron.less b/build/vendor/bootstrap/less/jumbotron.less new file mode 100644 index 0000000..fa80a38 --- /dev/null +++ b/build/vendor/bootstrap/less/jumbotron.less @@ -0,0 +1,52 @@ +// +// Jumbotron +// -------------------------------------------------- + + +.jumbotron { + padding-top: @jumbotron-padding; + padding-bottom: @jumbotron-padding; + margin-bottom: @jumbotron-padding; + color: @jumbotron-color; + background-color: @jumbotron-bg; + + h1, + .h1 { + color: @jumbotron-heading-color; + } + + p { + margin-bottom: (@jumbotron-padding / 2); + font-size: @jumbotron-font-size; + font-weight: 200; + } + + > hr { + border-top-color: darken(@jumbotron-bg, 10%); + } + + .container &, + .container-fluid & { + border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container + } + + .container { + max-width: 100%; + } + + @media screen and (min-width: @screen-sm-min) { + padding-top: (@jumbotron-padding * 1.6); + padding-bottom: (@jumbotron-padding * 1.6); + + .container &, + .container-fluid & { + padding-left: (@jumbotron-padding * 2); + padding-right: (@jumbotron-padding * 2); + } + + h1, + .h1 { + font-size: @jumbotron-heading-font-size; + } + } +} diff --git a/build/vendor/bootstrap/less/labels.less b/build/vendor/bootstrap/less/labels.less new file mode 100644 index 0000000..9a5a270 --- /dev/null +++ b/build/vendor/bootstrap/less/labels.less @@ -0,0 +1,64 @@ +// +// Labels +// -------------------------------------------------- + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: @label-color; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; + + // Add hover effects, but only for links + a& { + &:hover, + &:focus { + color: @label-link-hover-color; + text-decoration: none; + cursor: pointer; + } + } + + // Empty labels collapse automatically (not available in IE8) + &:empty { + display: none; + } + + // Quick fix for labels in buttons + .btn & { + position: relative; + top: -1px; + } +} + +// Colors +// Contextual variations (linked labels get darker on :hover) + +.label-default { + .label-variant(@label-default-bg); +} + +.label-primary { + .label-variant(@label-primary-bg); +} + +.label-success { + .label-variant(@label-success-bg); +} + +.label-info { + .label-variant(@label-info-bg); +} + +.label-warning { + .label-variant(@label-warning-bg); +} + +.label-danger { + .label-variant(@label-danger-bg); +} diff --git a/build/vendor/bootstrap/less/list-group.less b/build/vendor/bootstrap/less/list-group.less new file mode 100644 index 0000000..216b912 --- /dev/null +++ b/build/vendor/bootstrap/less/list-group.less @@ -0,0 +1,130 @@ +// +// List groups +// -------------------------------------------------- + + +// Base class +// +// Easily usable on
    ,
      , or
      . + +.list-group { + // No need to set list-style: none; since .list-group-item is block level + margin-bottom: 20px; + padding-left: 0; // reset padding because ul and ol +} + + +// Individual list items +// +// Use on `li`s or `div`s within the `.list-group` parent. + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + // Place the border on the list items and negative margin up for better styling + margin-bottom: -1px; + background-color: @list-group-bg; + border: 1px solid @list-group-border; + + // Round the first and last items + &:first-child { + .border-top-radius(@list-group-border-radius); + } + &:last-child { + margin-bottom: 0; + .border-bottom-radius(@list-group-border-radius); + } +} + + +// Interactive list items +// +// Use anchor or button elements instead of `li`s or `div`s to create interactive items. +// Includes an extra `.active` modifier class for showing selected items. + +a.list-group-item, +button.list-group-item { + color: @list-group-link-color; + + .list-group-item-heading { + color: @list-group-link-heading-color; + } + + // Hover state + &:hover, + &:focus { + text-decoration: none; + color: @list-group-link-hover-color; + background-color: @list-group-hover-bg; + } +} + +button.list-group-item { + width: 100%; + text-align: left; +} + +.list-group-item { + // Disabled state + &.disabled, + &.disabled:hover, + &.disabled:focus { + background-color: @list-group-disabled-bg; + color: @list-group-disabled-color; + cursor: @cursor-disabled; + + // Force color to inherit for custom content + .list-group-item-heading { + color: inherit; + } + .list-group-item-text { + color: @list-group-disabled-text-color; + } + } + + // Active class on item itself, not parent + &.active, + &.active:hover, + &.active:focus { + z-index: 2; // Place active items above their siblings for proper border styling + color: @list-group-active-color; + background-color: @list-group-active-bg; + border-color: @list-group-active-border; + + // Force color to inherit for custom content + .list-group-item-heading, + .list-group-item-heading > small, + .list-group-item-heading > .small { + color: inherit; + } + .list-group-item-text { + color: @list-group-active-text-color; + } + } +} + + +// Contextual variants +// +// Add modifier classes to change text and background color on individual items. +// Organizationally, this must come after the `:hover` states. + +.list-group-item-variant(success; @state-success-bg; @state-success-text); +.list-group-item-variant(info; @state-info-bg; @state-info-text); +.list-group-item-variant(warning; @state-warning-bg; @state-warning-text); +.list-group-item-variant(danger; @state-danger-bg; @state-danger-text); + + +// Custom content options +// +// Extra classes for creating well-formatted content within `.list-group-item`s. + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} diff --git a/build/vendor/bootstrap/less/media.less b/build/vendor/bootstrap/less/media.less new file mode 100644 index 0000000..8c835e8 --- /dev/null +++ b/build/vendor/bootstrap/less/media.less @@ -0,0 +1,66 @@ +.media { + // Proper spacing between instances of .media + margin-top: 15px; + + &:first-child { + margin-top: 0; + } +} + +.media, +.media-body { + zoom: 1; + overflow: hidden; +} + +.media-body { + width: 10000px; +} + +.media-object { + display: block; + + // Fix collapse in webkit from max-width: 100% and display: table-cell. + &.img-thumbnail { + max-width: none; + } +} + +.media-right, +.media > .pull-right { + padding-left: 10px; +} + +.media-left, +.media > .pull-left { + padding-right: 10px; +} + +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} + +.media-middle { + vertical-align: middle; +} + +.media-bottom { + vertical-align: bottom; +} + +// Reset margins on headings for tighter default spacing +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} + +// Media list variation +// +// Undo default ul/ol styles +.media-list { + padding-left: 0; + list-style: none; +} diff --git a/build/vendor/bootstrap/less/mixins.less b/build/vendor/bootstrap/less/mixins.less new file mode 100644 index 0000000..e6f9fe6 --- /dev/null +++ b/build/vendor/bootstrap/less/mixins.less @@ -0,0 +1,40 @@ +// Mixins +// -------------------------------------------------- + +// Utilities +@import "mixins/hide-text.less"; +@import "mixins/opacity.less"; +@import "mixins/image.less"; +@import "mixins/labels.less"; +@import "mixins/reset-filter.less"; +@import "mixins/resize.less"; +@import "mixins/responsive-visibility.less"; +@import "mixins/size.less"; +@import "mixins/tab-focus.less"; +@import "mixins/reset-text.less"; +@import "mixins/text-emphasis.less"; +@import "mixins/text-overflow.less"; +@import "mixins/vendor-prefixes.less"; + +// Components +@import "mixins/alerts.less"; +@import "mixins/buttons.less"; +@import "mixins/panels.less"; +@import "mixins/pagination.less"; +@import "mixins/list-group.less"; +@import "mixins/nav-divider.less"; +@import "mixins/forms.less"; +@import "mixins/progress-bar.less"; +@import "mixins/table-row.less"; + +// Skins +@import "mixins/background-variant.less"; +@import "mixins/border-radius.less"; +@import "mixins/gradients.less"; + +// Layout +@import "mixins/clearfix.less"; +@import "mixins/center-block.less"; +@import "mixins/nav-vertical-align.less"; +@import "mixins/grid-framework.less"; +@import "mixins/grid.less"; diff --git a/build/vendor/bootstrap/less/mixins/alerts.less b/build/vendor/bootstrap/less/mixins/alerts.less new file mode 100644 index 0000000..396196f --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/alerts.less @@ -0,0 +1,14 @@ +// Alerts + +.alert-variant(@background; @border; @text-color) { + background-color: @background; + border-color: @border; + color: @text-color; + + hr { + border-top-color: darken(@border, 5%); + } + .alert-link { + color: darken(@text-color, 10%); + } +} diff --git a/build/vendor/bootstrap/less/mixins/background-variant.less b/build/vendor/bootstrap/less/mixins/background-variant.less new file mode 100644 index 0000000..a85c22b --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/background-variant.less @@ -0,0 +1,9 @@ +// Contextual backgrounds + +.bg-variant(@color) { + background-color: @color; + a&:hover, + a&:focus { + background-color: darken(@color, 10%); + } +} diff --git a/build/vendor/bootstrap/less/mixins/border-radius.less b/build/vendor/bootstrap/less/mixins/border-radius.less new file mode 100644 index 0000000..ca05dbf --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/border-radius.less @@ -0,0 +1,18 @@ +// Single side border-radius + +.border-top-radius(@radius) { + border-top-right-radius: @radius; + border-top-left-radius: @radius; +} +.border-right-radius(@radius) { + border-bottom-right-radius: @radius; + border-top-right-radius: @radius; +} +.border-bottom-radius(@radius) { + border-bottom-right-radius: @radius; + border-bottom-left-radius: @radius; +} +.border-left-radius(@radius) { + border-bottom-left-radius: @radius; + border-top-left-radius: @radius; +} diff --git a/build/vendor/bootstrap/less/mixins/buttons.less b/build/vendor/bootstrap/less/mixins/buttons.less new file mode 100644 index 0000000..6875a97 --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/buttons.less @@ -0,0 +1,68 @@ +// Button variants +// +// Easily pump out default styles, as well as :hover, :focus, :active, +// and disabled options for all buttons + +.button-variant(@color; @background; @border) { + color: @color; + background-color: @background; + border-color: @border; + + &:focus, + &.focus { + color: @color; + background-color: darken(@background, 10%); + border-color: darken(@border, 25%); + } + &:hover { + color: @color; + background-color: darken(@background, 10%); + border-color: darken(@border, 12%); + } + &:active, + &.active, + .open > .dropdown-toggle& { + color: @color; + background-color: darken(@background, 10%); + border-color: darken(@border, 12%); + + &:hover, + &:focus, + &.focus { + color: @color; + background-color: darken(@background, 17%); + border-color: darken(@border, 25%); + } + } + &:active, + &.active, + .open > .dropdown-toggle& { + background-image: none; + } + &.disabled, + &[disabled], + fieldset[disabled] & { + &, + &:hover, + &:focus, + &.focus, + &:active, + &.active { + background-color: @background; + border-color: @border; + } + } + + .badge { + color: @background; + background-color: @color; + } +} + +// Button sizes +.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) { + padding: @padding-vertical @padding-horizontal; + font-size: @font-size; + line-height: @line-height; + border-radius: @border-radius; +} diff --git a/build/vendor/bootstrap/less/mixins/center-block.less b/build/vendor/bootstrap/less/mixins/center-block.less new file mode 100644 index 0000000..d18d6de --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/center-block.less @@ -0,0 +1,7 @@ +// Center-align a block level element + +.center-block() { + display: block; + margin-left: auto; + margin-right: auto; +} diff --git a/build/vendor/bootstrap/less/mixins/clearfix.less b/build/vendor/bootstrap/less/mixins/clearfix.less new file mode 100644 index 0000000..3f7a382 --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/clearfix.less @@ -0,0 +1,22 @@ +// Clearfix +// +// For modern browsers +// 1. The space content is one way to avoid an Opera bug when the +// contenteditable attribute is included anywhere else in the document. +// Otherwise it causes space to appear at the top and bottom of elements +// that are clearfixed. +// 2. The use of `table` rather than `block` is only necessary if using +// `:before` to contain the top-margins of child elements. +// +// Source: http://nicolasgallagher.com/micro-clearfix-hack/ + +.clearfix() { + &:before, + &:after { + content: " "; // 1 + display: table; // 2 + } + &:after { + clear: both; + } +} diff --git a/build/vendor/bootstrap/less/mixins/forms.less b/build/vendor/bootstrap/less/mixins/forms.less new file mode 100644 index 0000000..6f55ed9 --- /dev/null +++ b/build/vendor/bootstrap/less/mixins/forms.less @@ -0,0 +1,85 @@ +// Form validation states +// +// Used in forms.less to generate the form validation CSS for warnings, errors, +// and successes. + +.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) { + // Color the label and help text + .help-block, + .control-label, + .radio, + .checkbox, + .radio-inline, + .checkbox-inline, + &.radio label, + &.checkbox label, + &.radio-inline label, + &.checkbox-inline label { + color: @text-color; + } + // Set the border and box shadow on specific inputs to match + .form-control { + border-color: @border-color; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work + &:focus { + border-color: darken(@border-color, 10%); + @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%); + .box-shadow(@shadow); + } + } + // Set validation states also for addons + .input-group-addon { + color: @text-color; + border-color: @border-color; + background-color: @background-color; + } + // Optional feedback icon + .form-control-feedback { + color: @text-color; + } +} + + +// Form control focus state +// +// Generate a customized focus state and for any input with the specified color, +// which defaults to the `@input-border-focus` variable. +// +// We highly encourage you to not customize the default value, but instead use +// this to tweak colors on an as-needed basis. This aesthetic change is based on +// WebKit's default styles, but applicable to a wider range of browsers. Its +// usability and accessibility should be taken into account with any change. +// +// Example usage: change the default blue border and shadow to white for better +// contrast against a dark gray background. +.form-control-focus(@color: @input-border-focus) { + @color-rgba: rgba(red(@color), green(@color), blue(@color), .6); + &:focus { + border-color: @color; + outline: 0; + .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}"); + } +} + +// Form control sizing +// +// Relative text size, padding, and border-radii changes for form controls. For +// horizontal sizing, wrap controls in the predefined grid classes. `` background color +@input-bg: #fff; +//** `` background color +@input-bg-disabled: @gray-lighter; + +//** Text color for ``s +@input-color: @gray; +//** `` border color +@input-border: #ccc; + +// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4 +//** Default `.form-control` border radius +// This has no effect on ``s in CSS. +@input-border-radius: @border-radius-base; +//** Large `.form-control` border radius +@input-border-radius-large: @border-radius-large; +//** Small `.form-control` border radius +@input-border-radius-small: @border-radius-small; + +//** Border color for inputs on focus +@input-border-focus: #66afe9; + +//** Placeholder text color +@input-color-placeholder: #999; + +//** Default `.form-control` height +@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); +//** Large `.form-control` height +@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); +//** Small `.form-control` height +@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); + +//** `.form-group` margin +@form-group-margin-bottom: 15px; + +@legend-color: @gray-dark; +@legend-border-color: #e5e5e5; + +//** Background color for textual input addons +@input-group-addon-bg: @gray-lighter; +//** Border color for textual input addons +@input-group-addon-border-color: @input-border; + +//** Disabled cursor for form controls and buttons. +@cursor-disabled: not-allowed; + + +//== Dropdowns +// +//## Dropdown menu container and contents. + +//** Background for the dropdown menu. +@dropdown-bg: #fff; +//** Dropdown menu `border-color`. +@dropdown-border: rgba(0,0,0,.15); +//** Dropdown menu `border-color` **for IE8**. +@dropdown-fallback-border: #ccc; +//** Divider color for between dropdown items. +@dropdown-divider-bg: #e5e5e5; + +//** Dropdown link text color. +@dropdown-link-color: @gray-dark; +//** Hover color for dropdown links. +@dropdown-link-hover-color: #fff; +//** Hover background for dropdown links. +@dropdown-link-hover-bg: @brand-primary; + +//** Active dropdown menu item text color. +@dropdown-link-active-color: @component-active-color; +//** Active dropdown menu item background color. +@dropdown-link-active-bg: @component-active-bg; + +//** Disabled dropdown menu item background color. +@dropdown-link-disabled-color: @gray-light; + +//** Text color for headers within dropdown menus. +@dropdown-header-color: @gray-light; + +//** Deprecated `@dropdown-caret-color` as of v3.1.0 +@dropdown-caret-color: #000; + + +//-- Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. +// +// Note: These variables are not generated into the Customizer. + +@zindex-navbar: 1000; +@zindex-dropdown: 1000; +@zindex-popover: 1060; +@zindex-tooltip: 1070; +@zindex-navbar-fixed: 1030; +@zindex-modal-background: 1040; +@zindex-modal: 1050; + + +//== Media queries breakpoints +// +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +// Extra small screen / phone +//** Deprecated `@screen-xs` as of v3.0.1 +@screen-xs: 480px; +//** Deprecated `@screen-xs-min` as of v3.2.0 +@screen-xs-min: @screen-xs; +//** Deprecated `@screen-phone` as of v3.0.1 +@screen-phone: @screen-xs-min; + +// Small screen / tablet +//** Deprecated `@screen-sm` as of v3.0.1 +@screen-sm: 768px; +@screen-sm-min: @screen-sm; +//** Deprecated `@screen-tablet` as of v3.0.1 +@screen-tablet: @screen-sm-min; + +// Medium screen / desktop +//** Deprecated `@screen-md` as of v3.0.1 +@screen-md: 992px; +@screen-md-min: @screen-md; +//** Deprecated `@screen-desktop` as of v3.0.1 +@screen-desktop: @screen-md-min; + +// Large screen / wide desktop +//** Deprecated `@screen-lg` as of v3.0.1 +@screen-lg: 1200px; +@screen-lg-min: @screen-lg; +//** Deprecated `@screen-lg-desktop` as of v3.0.1 +@screen-lg-desktop: @screen-lg-min; + +// So media queries don't overlap when required, provide a maximum +@screen-xs-max: (@screen-sm-min - 1); +@screen-sm-max: (@screen-md-min - 1); +@screen-md-max: (@screen-lg-min - 1); + + +//== Grid system +// +//## Define your custom responsive grid. + +//** Number of columns in the grid. +@grid-columns: 12; +//** Padding between columns. Gets divided in half for the left and right. +@grid-gutter-width: 30px; +// Navbar collapse +//** Point at which the navbar becomes uncollapsed. +@grid-float-breakpoint: @screen-sm-min; +//** Point at which the navbar begins collapsing. +@grid-float-breakpoint-max: (@grid-float-breakpoint - 1); + + +//== Container sizes +// +//## Define the maximum width of `.container` for different screen sizes. + +// Small screen / tablet +@container-tablet: (720px + @grid-gutter-width); +//** For `@screen-sm-min` and up. +@container-sm: @container-tablet; + +// Medium screen / desktop +@container-desktop: (940px + @grid-gutter-width); +//** For `@screen-md-min` and up. +@container-md: @container-desktop; + +// Large screen / wide desktop +@container-large-desktop: (1140px + @grid-gutter-width); +//** For `@screen-lg-min` and up. +@container-lg: @container-large-desktop; + + +//== Navbar +// +//## + +// Basics of a navbar +@navbar-height: 50px; +@navbar-margin-bottom: @line-height-computed; +@navbar-border-radius: @border-radius-base; +@navbar-padding-horizontal: floor((@grid-gutter-width / 2)); +@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2); +@navbar-collapse-max-height: 340px; + +@navbar-default-bg: @brand-primary; +@navbar-default-color: lighten(@navbar-default-bg, 45%); +@navbar-default-border: darken(@navbar-default-bg, 6.5%); + +// Navbar links +@navbar-default-link-color: @navbar-default-color; +@navbar-default-link-hover-color: lighten(@navbar-default-bg, 30%); +@navbar-default-link-hover-bg: transparent; +@navbar-default-link-active-color: @navbar-default-link-hover-color; +@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%); +@navbar-default-link-disabled-color: #ccc; +@navbar-default-link-disabled-bg: transparent; + +// Navbar brand label +@navbar-default-brand-color: @navbar-default-link-color; +@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%); +@navbar-default-brand-hover-bg: transparent; + +// Navbar toggle +@navbar-default-toggle-hover-bg: #ddd; +@navbar-default-toggle-icon-bar-bg: #888; +@navbar-default-toggle-border-color: #ddd; + + +//=== Inverted navbar +// Reset inverted navbar basics +@navbar-inverse-color: lighten(@gray-light, 15%); +@navbar-inverse-bg: #222; +@navbar-inverse-border: darken(@navbar-inverse-bg, 10%); + +// Inverted navbar links +@navbar-inverse-link-color: lighten(@gray-light, 15%); +@navbar-inverse-link-hover-color: #fff; +@navbar-inverse-link-hover-bg: transparent; +@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color; +@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%); +@navbar-inverse-link-disabled-color: #444; +@navbar-inverse-link-disabled-bg: transparent; + +// Inverted navbar brand label +@navbar-inverse-brand-color: @navbar-inverse-link-color; +@navbar-inverse-brand-hover-color: #fff; +@navbar-inverse-brand-hover-bg: transparent; + +// Inverted navbar toggle +@navbar-inverse-toggle-hover-bg: #333; +@navbar-inverse-toggle-icon-bar-bg: #fff; +@navbar-inverse-toggle-border-color: #333; + + +//== Navs +// +//## + +//=== Shared nav styles +@nav-link-padding: 10px 15px; +@nav-link-hover-bg: @gray-lighter; + +@nav-disabled-link-color: @gray-light; +@nav-disabled-link-hover-color: @gray-light; + +//== Tabs +@nav-tabs-border-color: #ddd; + +@nav-tabs-link-hover-border-color: @gray-lighter; + +@nav-tabs-active-link-hover-bg: @body-bg; +@nav-tabs-active-link-hover-color: @gray; +@nav-tabs-active-link-hover-border-color: #ddd; + +@nav-tabs-justified-link-border-color: #ddd; +@nav-tabs-justified-active-link-border-color: @body-bg; + +//== Pills +@nav-pills-border-radius: @border-radius-base; +@nav-pills-active-link-hover-bg: @component-active-bg; +@nav-pills-active-link-hover-color: @component-active-color; + + +//== Pagination +// +//## + +@pagination-color: @link-color; +@pagination-bg: #fff; +@pagination-border: #ddd; + +@pagination-hover-color: @link-hover-color; +@pagination-hover-bg: @gray-lighter; +@pagination-hover-border: #ddd; + +@pagination-active-color: #fff; +@pagination-active-bg: @brand-primary; +@pagination-active-border: @brand-primary; + +@pagination-disabled-color: @gray-light; +@pagination-disabled-bg: #fff; +@pagination-disabled-border: #ddd; + + +//== Pager +// +//## + +@pager-bg: @pagination-bg; +@pager-border: @pagination-border; +@pager-border-radius: 15px; + +@pager-hover-bg: @pagination-hover-bg; + +@pager-active-bg: @pagination-active-bg; +@pager-active-color: @pagination-active-color; + +@pager-disabled-color: @pagination-disabled-color; + + +//== Jumbotron +// +//## + +@jumbotron-padding: 30px; +@jumbotron-color: inherit; +@jumbotron-bg: @gray-lighter; +@jumbotron-heading-color: inherit; +@jumbotron-font-size: ceil((@font-size-base * 1.5)); +@jumbotron-heading-font-size: ceil((@font-size-base * 4.5)); + + +//== Form states and alerts +// +//## Define colors for form feedback states and, by default, alerts. + +@state-success-text: #3c763d; +@state-success-bg: #dff0d8; +@state-success-border: darken(spin(@state-success-bg, -10), 5%); + +@state-info-text: #31708f; +@state-info-bg: #d9edf7; +@state-info-border: darken(spin(@state-info-bg, -10), 7%); + +@state-warning-text: #8a6d3b; +@state-warning-bg: #fcf8e3; +@state-warning-border: darken(spin(@state-warning-bg, -10), 5%); + +@state-danger-text: #a94442; +@state-danger-bg: #f2dede; +@state-danger-border: darken(spin(@state-danger-bg, -10), 5%); + + +//== Tooltips +// +//## + +//** Tooltip max width +@tooltip-max-width: 200px; +//** Tooltip text color +@tooltip-color: #fff; +//** Tooltip background color +@tooltip-bg: #000; +@tooltip-opacity: .9; + +//** Tooltip arrow width +@tooltip-arrow-width: 5px; +//** Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + + +//== Popovers +// +//## + +//** Popover body background color +@popover-bg: #fff; +//** Popover maximum width +@popover-max-width: 276px; +//** Popover border color +@popover-border-color: rgba(0,0,0,.2); +//** Popover fallback border color +@popover-fallback-border-color: #ccc; + +//** Popover title background color +@popover-title-bg: darken(@popover-bg, 3%); + +//** Popover arrow width +@popover-arrow-width: 10px; +//** Popover arrow color +@popover-arrow-color: @popover-bg; + +//** Popover outer arrow width +@popover-arrow-outer-width: (@popover-arrow-width + 1); +//** Popover outer arrow color +@popover-arrow-outer-color: fadein(@popover-border-color, 5%); +//** Popover outer arrow fallback color +@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%); + + +//== Labels +// +//## + +//** Default label background color +@label-default-bg: @gray-light; +//** Primary label background color +@label-primary-bg: @brand-primary; +//** Success label background color +@label-success-bg: @brand-success; +//** Info label background color +@label-info-bg: @brand-info; +//** Warning label background color +@label-warning-bg: @brand-warning; +//** Danger label background color +@label-danger-bg: @brand-danger; + +//** Default label text color +@label-color: #fff; +//** Default text color of a linked label +@label-link-hover-color: #fff; + + +//== Modals +// +//## + +//** Padding applied to the modal body +@modal-inner-padding: 15px; + +//** Padding applied to the modal title +@modal-title-padding: 15px; +//** Modal title line-height +@modal-title-line-height: @line-height-base; + +//** Background color of modal content area +@modal-content-bg: #fff; +//** Modal content border color +@modal-content-border-color: rgba(0,0,0,.2); +//** Modal content border color **for IE8** +@modal-content-fallback-border-color: #999; + +//** Modal backdrop background color +@modal-backdrop-bg: #000; +//** Modal backdrop opacity +@modal-backdrop-opacity: .5; +//** Modal header border color +@modal-header-border-color: #e5e5e5; +//** Modal footer border color +@modal-footer-border-color: @modal-header-border-color; + +@modal-lg: 900px; +@modal-md: 600px; +@modal-sm: 300px; + + +//== Alerts +// +//## Define alert colors, border radius, and padding. + +@alert-padding: 15px; +@alert-border-radius: @border-radius-base; +@alert-link-font-weight: bold; + +@alert-success-bg: @state-success-bg; +@alert-success-text: @state-success-text; +@alert-success-border: @state-success-border; + +@alert-info-bg: @state-info-bg; +@alert-info-text: @state-info-text; +@alert-info-border: @state-info-border; + +@alert-warning-bg: @state-warning-bg; +@alert-warning-text: @state-warning-text; +@alert-warning-border: @state-warning-border; + +@alert-danger-bg: @state-danger-bg; +@alert-danger-text: @state-danger-text; +@alert-danger-border: @state-danger-border; + + +//== Progress bars +// +//## + +//** Background color of the whole progress component +@progress-bg: #f5f5f5; +//** Progress bar text color +@progress-bar-color: #fff; +//** Variable for setting rounded corners on progress bar. +@progress-border-radius: @border-radius-base; + +//** Default progress bar color +@progress-bar-bg: @brand-primary; +//** Success progress bar color +@progress-bar-success-bg: @brand-success; +//** Warning progress bar color +@progress-bar-warning-bg: @brand-warning; +//** Danger progress bar color +@progress-bar-danger-bg: @brand-danger; +//** Info progress bar color +@progress-bar-info-bg: @brand-info; + + +//== List group +// +//## + +//** Background color on `.list-group-item` +@list-group-bg: #fff; +//** `.list-group-item` border color +@list-group-border: #ddd; +//** List group border radius +@list-group-border-radius: @border-radius-base; + +//** Background color of single list items on hover +@list-group-hover-bg: #f5f5f5; +//** Text color of active list items +@list-group-active-color: @component-active-color; +//** Background color of active list items +@list-group-active-bg: @component-active-bg; +//** Border color of active list elements +@list-group-active-border: @list-group-active-bg; +//** Text color for content within active list items +@list-group-active-text-color: lighten(@list-group-active-bg, 40%); + +//** Text color of disabled list items +@list-group-disabled-color: @gray-light; +//** Background color of disabled list items +@list-group-disabled-bg: @gray-lighter; +//** Text color for content within disabled list items +@list-group-disabled-text-color: @list-group-disabled-color; + +@list-group-link-color: #555; +@list-group-link-hover-color: @list-group-link-color; +@list-group-link-heading-color: #333; + + +//== Panels +// +//## + +@panel-bg: #fff; +@panel-body-padding: 15px; +@panel-heading-padding: 10px 15px; +@panel-footer-padding: @panel-heading-padding; +@panel-border-radius: @border-radius-base; + +//** Border color for elements within panels +@panel-inner-border: #ddd; +@panel-footer-bg: #f5f5f5; + +@panel-default-text: @gray-dark; +@panel-default-border: #ddd; +@panel-default-heading-bg: #f5f5f5; + +@panel-primary-text: #fff; +@panel-primary-border: @brand-primary; +@panel-primary-heading-bg: @brand-primary; + +@panel-success-text: @state-success-text; +@panel-success-border: @state-success-border; +@panel-success-heading-bg: @state-success-bg; + +@panel-info-text: @state-info-text; +@panel-info-border: @state-info-border; +@panel-info-heading-bg: @state-info-bg; + +@panel-warning-text: @state-warning-text; +@panel-warning-border: @state-warning-border; +@panel-warning-heading-bg: @state-warning-bg; + +@panel-danger-text: @state-danger-text; +@panel-danger-border: @state-danger-border; +@panel-danger-heading-bg: @state-danger-bg; + + +//== Thumbnails +// +//## + +//** Padding around the thumbnail image +@thumbnail-padding: 4px; +//** Thumbnail background color +@thumbnail-bg: @body-bg; +//** Thumbnail border color +@thumbnail-border: #ddd; +//** Thumbnail border radius +@thumbnail-border-radius: @border-radius-base; + +//** Custom text color for thumbnail captions +@thumbnail-caption-color: @text-color; +//** Padding around the thumbnail caption +@thumbnail-caption-padding: 9px; + + +//== Wells +// +//## + +@well-bg: #f5f5f5; +@well-border: darken(@well-bg, 7%); + + +//== Badges +// +//## + +@badge-color: #fff; +//** Linked badge text color on hover +@badge-link-hover-color: #fff; +@badge-bg: @gray-light; + +//** Badge text color in active nav link +@badge-active-color: @link-color; +//** Badge background color in active nav link +@badge-active-bg: #fff; + +@badge-font-weight: bold; +@badge-line-height: 1; +@badge-border-radius: 10px; + + +//== Breadcrumbs +// +//## + +@breadcrumb-padding-vertical: 8px; +@breadcrumb-padding-horizontal: 15px; +//** Breadcrumb background color +@breadcrumb-bg: #f5f5f5; +//** Breadcrumb text color +@breadcrumb-color: #ccc; +//** Text color of current page in the breadcrumb +@breadcrumb-active-color: @gray-light; +//** Textual separator for between breadcrumb elements +@breadcrumb-separator: "/"; + + +//== Carousel +// +//## + +@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6); + +@carousel-control-color: #fff; +@carousel-control-width: 15%; +@carousel-control-opacity: .5; +@carousel-control-font-size: 20px; + +@carousel-indicator-active-bg: #fff; +@carousel-indicator-border-color: #fff; + +@carousel-caption-color: #fff; + + +//== Close +// +//## + +@close-font-weight: bold; +@close-color: #000; +@close-text-shadow: 0 1px 0 #fff; + + +//== Code +// +//## + +@code-color: #c7254e; +@code-bg: #f9f2f4; + +@kbd-color: #fff; +@kbd-bg: #333; + +@pre-bg: #f5f5f5; +@pre-color: @gray-dark; +@pre-border-color: #ccc; +@pre-scrollable-max-height: 340px; + + +//== Type +// +//## + +//** Horizontal offset for forms and lists. +@component-offset-horizontal: 180px; +//** Text muted color +@text-muted: @gray-light; +//** Abbreviations and acronyms border color +@abbr-border-color: @gray-light; +//** Headings small color +@headings-small-color: @gray-light; +//** Blockquote small color +@blockquote-small-color: @gray-light; +//** Blockquote font size +@blockquote-font-size: (@font-size-base * 1.25); +//** Blockquote border color +@blockquote-border-color: @gray-lighter; +//** Page header border color +@page-header-border-color: @gray-lighter; +//** Width of horizontal description list titles +@dl-horizontal-offset: @component-offset-horizontal; +//** Horizontal line color. +@hr-border: @gray-lighter; diff --git a/build/vendor/bootstrap/less/wells.less b/build/vendor/bootstrap/less/wells.less new file mode 100644 index 0000000..15d072b --- /dev/null +++ b/build/vendor/bootstrap/less/wells.less @@ -0,0 +1,29 @@ +// +// Wells +// -------------------------------------------------- + + +// Base class +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: @well-bg; + border: 1px solid @well-border; + border-radius: @border-radius-base; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); + blockquote { + border-color: #ddd; + border-color: rgba(0,0,0,.15); + } +} + +// Sizes +.well-lg { + padding: 24px; + border-radius: @border-radius-large; +} +.well-sm { + padding: 9px; + border-radius: @border-radius-small; +} diff --git a/build/vendor/oxid-esales/js/oxagbcheck.js b/build/vendor/oxid-esales/js/oxagbcheck.js new file mode 100644 index 0000000..1ad956a --- /dev/null +++ b/build/vendor/oxid-esales/js/oxagbcheck.js @@ -0,0 +1,56 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxagbcheck.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function( $ ) { + + oxAGBCheck = { + + _create: function(){ + + var self = this, + options = self.options, + el = self.element; + + el.closest('form').submit(function() { + if( el.prop('checked') ){ + return true; + } else { + $("p[name='agbError']").show(); + return false; + } + + }); + + el.click(function() { + if( el.prop('checked') ){ + el.prop('checked', true); + $("p[name='agbError']").hide(); + } else { + el.prop('checked', false); + } + }); + } + } + + $.widget( "ui.oxAGBCheck", oxAGBCheck ); + +} )( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxajax.js b/build/vendor/oxid-esales/js/oxajax.js new file mode 100644 index 0000000..2876082 --- /dev/null +++ b/build/vendor/oxid-esales/js/oxajax.js @@ -0,0 +1,256 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxajax.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function ( $ ) { + + /** + * Ajax + */ + oxAjax = { + + /** + * Loading temporary screen when ajax call proseeds + */ + loadingScreen: { + + /** + * Starts load + * + * @target - DOM element witch must be hide with the loading screen + * @iconPositionElement - element of a target on witch loaging icon is shown + */ + start : function (target, iconPositionElement) { + + var loadingScreens = Array(); + $(target).each(function() { + var overlayKeeper = document.createElement("div"); + overlayKeeper.innerHTML = '
      '; + $('div', overlayKeeper).css({ + 'position' : 'absolute', + 'left' : $(this).offset().left-10, + 'top' : $(this).offset().top-10, + 'width' : $(this).width()+20, + 'height' : $(this).height()+20 + }); + if (iconPositionElement && iconPositionElement.length) { + var x = Math.round( + iconPositionElement.offset().left // my left + - 10 - $(this).offset().left // relativeness + + iconPositionElement.width()/2 // plus half of width to center + ); + var offsetTop = iconPositionElement.offset().top; + var y = Math.round( + offsetTop //my top + - 10 - $(this).offset().top // relativeness + + ( // this requires, that last element in collection, would be the bottom one + // as it computes last element offset from the first one plus its height + iconPositionElement.last().offset().top - offsetTop + iconPositionElement.last().height() + )/2 + ); + + $('div.loadingiconbg, div.loadingicon', overlayKeeper).css({ + 'background-position' : x + "px "+y+"px" + }); + } + $('div.loadingfade', overlayKeeper) + .css({'opacity' : 0}) + .animate({ + opacity: 0.55 + }, 200 + ); + $("body").append(overlayKeeper); + loadingScreens.push(overlayKeeper); + }); + + return loadingScreens; + }, + + + /** + * Stops viewing loading screens + * + * @loadingScreens - one or more showing screens + */ + stop : function ( loadingScreens ) { + $.each(loadingScreens, function(i, el) { + $('div', el).not('.loadingfade').remove(); + $('div.loadingfade', el) + .stop(true, true) + .animate({ + opacity: 0 + }, 100, function(){ + $(el).remove(); + }); + }); + } + }, + + /** + * Updating errors on page + * + * @errors - array of errors + */ + updatePageErrors : function(errors) { + if (errors.length) { + var errlist = $("#content > .status.error"); + if (errlist.length == 0) { + $("#content").prepend("
      "); + errlist = $("#content > .status.error"); + } + if (errlist) { + errlist.children().remove(); + var i; + for (i=0; i .status.error").remove(); + } + }, + + /** + * Ajax call + * + * @activator - link or form element that activates ajax call + * @params - call params: targetEl, iconPosEl, onSuccess, onError, additionalData + */ + ajax : function(activator, params) { + var self = this; + var inputs = {}; + var action = ""; + var type = ""; + if (activator[0].tagName == 'FORM') { + $("input", activator).each(function() { + if (this.type == 'checkbox' && !this.checked) return true; + inputs[this.name] = this.value; + }); + action = activator.attr("action"); + type = activator.attr("method"); + } else if (activator[0].tagName == 'A') { + action = activator.attr("href"); + } + + if (params['additionalData']) { + $.each(params['additionalData'], function(i, f) {inputs[i] = f;}); + } + + // sorting array to pass parameters alphabetically + var aInputs = {}; + var keys = Array(); + for ( var key in inputs ) { + if ( inputs.hasOwnProperty( key ) ) { + keys.push( key ); + } + } + keys.sort().forEach( function( i ) { aInputs[i] = inputs[i]; } ) + + var sLoadingScreen = null; + if (params['targetEl']) { + sLoadingScreen = self.loadingScreen.start(params['targetEl'], params['iconPosEl']); + } + + if (!type) { + type = "get"; + } + + jQuery.ajax({ + data : aInputs, + url : action, + type : type, + timeout : 30000, + beforeSend: function( jqXHR, settings ) { + settings.url = settings.url.replace( "&&", "&" ); + }, + error : function(jqXHR, textStatus, errorThrown) { + if (sLoadingScreen) { + self.loadingScreen.stop(sLoadingScreen); + } + if (params['onError']) { + params['onError'](jqXHR, textStatus, errorThrown); + } + }, + + success : function(r) { + + if (sLoadingScreen) { + self.loadingScreen.stop(sLoadingScreen); + } + if (r['debuginfo'] != undefined && r['debuginfo']) { + $("body").append(r['debuginfo']); + } + if (r['errors'] != undefined + && r['errors']['default'] != undefined) { + self.updatePageErrors(r['errors']['default']); + } else { + self.updatePageErrors([]); + } + if (params['onSuccess']) { + params['onSuccess'](r, inputs); + } + } + }); + }, + + /** + * If it's possible report JS error + * + * @param e JS exception + */ + reportJSError: function(e) { + if (typeof console != 'undefined' && typeof console.error != 'undefined') { + console.error(e); + } + }, + + /** + * Evals returned html and executes javascript after reload + * + * @container - witch javascript must be restarted + */ + evalScripts : function(container){ + var self = this; + try { + $("script", container).each(function(){ + try { + if (this.src != '' && $('body > script[src="'+this.src+'"]').length == 0) { + $('body').append(this); + document.body.appendChild(this); + return true; + } + eval(this.innerHTML); + } catch (e) { + self.reportJSError(e); + } + $(this).remove(); + }); + } catch (e) { + self.reportJSError(e); + } + } + }; + + $.widget("ui.oxAjax", oxAjax ); + +})( jQuery ); diff --git a/build/vendor/oxid-esales/js/oxarticlevariant.js b/build/vendor/oxid-esales/js/oxarticlevariant.js new file mode 100644 index 0000000..b58c639 --- /dev/null +++ b/build/vendor/oxid-esales/js/oxarticlevariant.js @@ -0,0 +1,157 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxarticlevariant.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function ( $ ) { + + var oxArticleVariant = { + + /** + * Initiating article variants selector + * @private + */ + _create: function() { + $("ul.vardrop a").click( variantSelectActionHandler ); + $('div.variantReset a').click( variantResetActionHandler ); + + $("form.js-oxWidgetReload").submit( formSubmit ); + $("form.js-oxProductForm").submit( formSubmit ); + }, + + /** + * Reloads block + * + * @param activator + * @param highlightTargets + * @param contentTarget + * @param aOptions + * @returns {boolean} + */ + reload: function(activator, highlightTargets, contentTarget, aOptions) { + preAjaxCaller(); + oxAjax.ajax( + activator, {//targetEl, onSuccess, onError, additionalData + 'targetEl' : highlightTargets, + 'iconPosEl' : $("#variants .dropDown"), + 'additionalData' : aOptions, + 'onSuccess' : function(r) { + $( contentTarget ).parent().html( r ); + if ( typeof WidgetsHandler !== 'undefined') { + WidgetsHandler.reloadWidget('oxwarticledetails'); + WidgetsHandler.reloadWidget('oxwrating'); + WidgetsHandler.reloadWidget('oxwreview'); + } + } + } + ); + return false; + }, + + /** + * Resets all variant selections + */ + resetVariantSelections: function() { + resetVariantSelections(); + } + } + + /** + * Handles variant selection action + * @returns {boolean} + */ + function variantSelectActionHandler( e ) { + var obj = $( this ); + // resetting + if ( obj.parents().hasClass("js-disabled") ) { + resetVariantSelections(); + } else { + $( "form.js-oxProductForm input[name=anid]" ).attr( "value", $( "form.js-oxProductForm input[name=parentid]" ).attr( "value" ) ); + } + + // setting new selection + if ( obj.parents('.js-fnSubmit').length > 0 ) { + $('input:hidden', obj.parents('div.dropDown')).val( obj.data("selection-id") ); + + var form = $("form.js-oxWidgetReload"); + $('input[name=fnc]', form).val(""); + form.submit(); + } + return false; + } + + /** + * Handles variant reset action + * @returns {boolean} + */ + function variantResetActionHandler( e ) { + resetVariantSelections(); + var form = $("form.js-oxWidgetReload"); + $('input[name=fnc]', form).val(""); + form.submit(); + return false; + } + + /** + * Resets variant selections + */ + function resetVariantSelections() { + var aVarSelections = $( "form.js-oxProductForm input[name^=varselid], form.js-oxWidgetReload input[name^=varselid]" ); + for (var i = 0; i < aVarSelections.length; i++) { + $( aVarSelections[i] ).attr( "value", "" ); + } + $( "form.js-oxProductForm input[name=anid]" ).attr( "value", $( "form.js-oxProductForm input[name=parentid]" ).attr( "value" ) ); + } + + /** + * Handles form submit + * + * @returns {*} + */ + function formSubmit() { + var aOptions = {}, target = $(this); + if (!$("input[name='fnc']", this).val()) { + if (($( "input[name=aid]", this ).val() == $( "input[name=parentid]", this ).val() )) { + var aSelectionInputs = $("input[name^=varselid]", $("form.js-oxProductForm")); + if (aSelectionInputs.length) { + var sHash = ''; + aSelectionInputs.each(function(i) { + sHash = sHash+i+':'+$(this).val()+"|"; + aOptions[$(this).attr( "name" )] = $(this).val(); + }); + if ( jQuery.inArray( sHash, oxVariantSelections ) === -1 ) { + return oxArticleVariant.reload( $(target), $("#details_container"), $("#details_container")[0], aOptions); + } + } + } + return oxArticleVariant.reload( $(target),$("#details_container"),$("#details_container")[0], aOptions); + } + } + + /** + * Runs defined scripts inside the method, before ajax is called + */ + function preAjaxCaller() { + $('#zoomModal').remove(); + } + + $.widget("ui.oxArticleVariant", oxArticleVariant ); + +})( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxbasketchecks.js b/build/vendor/oxid-esales/js/oxbasketchecks.js new file mode 100644 index 0000000..21d78a4 --- /dev/null +++ b/build/vendor/oxid-esales/js/oxbasketchecks.js @@ -0,0 +1,61 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxbasketchecks.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function( $ ) { + + oxBasketChecks = { + + _create: function(){ + + var self = this, + options = self.options, + el = self.element; + + el.click(function(){ + if(el.is('input')){ + self.toggleChecks( el.prop('checked') ); + return true; + } else { + self.toggleChecks( self.toggleMainCheck() ); + return false; + } + }); + }, + + toggleChecks : function( blChecked ){ + $( ".basketitems .checkbox input" ).prop( "checked", blChecked ); + }, + + toggleMainCheck : function(){ + if ( $( "#checkAll" ).prop( "checked" ) ) { + $( "#checkAll" ).prop( "checked", false ); + return false; + } else { + $( "#checkAll" ).prop( "checked", true ); + return true; + } + } + }; + + $.widget( "ui.oxBasketChecks", oxBasketChecks ); + +} )( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxblockdebug.js b/build/vendor/oxid-esales/js/oxblockdebug.js new file mode 100644 index 0000000..7c1fd7c --- /dev/null +++ b/build/vendor/oxid-esales/js/oxblockdebug.js @@ -0,0 +1,123 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2017 + * @version OXID eShop CE + */ +( function ( $ ) { + + oxBlockDebug = { + + _create : function(){ + + $("hr.debugBlocksStart").each(function(){ + var blockTitle = $(this).attr("title"); + var blockId = $(this).attr("id"); + + var _firstElement = $(this).next(); + while (_firstElement.hasClass('debugBlocksStart')) { + _firstElement = _firstElement.next(); + } + + var divLeft = _firstElement.offset().left; + var divRight = _firstElement.offset().left+_firstElement.outerWidth(); + var divTop = _firstElement.offset().top; + var divBottom = _firstElement.offset().top+_firstElement.outerHeight(); + + var walker = function() { + if (!($(this).hasClass('debugBlocksStart') || $(this).hasClass('debugBlocksEnd'))) { + divLeft = Math.min(divLeft, $(this).offset().left); + divRight = Math.max(divRight, $(this).offset().left+$(this).outerWidth()); + divTop = Math.min(divTop, $(this).offset().top); + divBottom = Math.max(divBottom, $(this).offset().top+$(this).outerHeight()); + $(this).children(':visible').each(walker); + } + }; + $(this).nextUntil("hr.debugBlocksEnd[title="+blockId+"]").filter(":visible").each(walker); + + var divWidth = divRight - divLeft; + var divHeight = divBottom - divTop; + var blockDiv = $("
      ").html("Block: "+blockTitle+""); + + blockDiv.attr('id', blockId+"_border"); + blockDiv.css({ + 'position' : 'absolute', + 'top' : divTop, + 'left' : divLeft, + 'width' : divWidth-4, + 'height' : divHeight-4, + 'border' : '1px dashed #a33', + 'padding' : '2px 1px' + }); + $("body").append(blockDiv); + + $("#"+blockId+"_title").hover(function(){ + $(this).css('z-index',1004); + $(this).css('background-color', '#000'); + $("#"+blockId+"_border").css({ + 'border':'2px solid #f00', + 'padding':'1px 0', + 'z-index': 1002 + }); + },function(){ + $(this).css('z-index',1003); + try{ + $(this).css('background-color', 'rgba(0, 0, 0, 0.7)'); + }catch(err){ + $(this).css('background-color', '#444'); // for IE, as rgba will fail + } + + $("#"+blockId+"_border").css({ + 'border':'1px dashed #a33', + 'padding':'2px 1px', + 'z-index': 1001 + }); + }); + + }); + $("body") + .append($("") + .css({ + 'right' : 0, + 'top' : 0, + 'position' : 'fixed', + 'background' : '#a33', + 'color' : '#fff', + 'border' : '1px solid #600', + 'padding' : '3px 10px', + 'cursor' : 'pointer', + 'width' : '230px', + 'z-index' : 1005 + }) + .click(function(){ + $('div.tplDebugBlock').toggle(); + }) + .hover(function(){ + $(this).css('background', '#533'); + },function(){ + $(this).css('background', '#a33'); + }) + ); + } + } + + /** + * Compare list widget + */ + $.widget("ui.oxBlockDebug", oxBlockDebug ); + +})( jQuery ); diff --git a/build/vendor/oxid-esales/js/oxcookienote.js b/build/vendor/oxid-esales/js/oxcookienote.js new file mode 100644 index 0000000..cd074fd --- /dev/null +++ b/build/vendor/oxid-esales/js/oxcookienote.js @@ -0,0 +1,59 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxcookienote.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function ( $ ) { + + /** + * Cookie note handler + */ + oxCookieNote = { + options: { + closeButton : ".dismiss" + }, + /** + * Enable cookie note dismiss + * + * @return false + */ + _create: function() { + var self = this; + if( !$.cookie("displayedCookiesNotification") ) { + $.cookie("displayedCookiesNotification", 1, { path: '/', expires: 30 }); + } else { + self.element.remove(); + return false; + } + $(self.options.closeButton, self.element).click( + function(){ + self.element.fadeOut('slow').remove(); + return false; + } + ); + } + }; + + /** + * CookieNote widget + */ + $.widget("ui.oxCookieNote", oxCookieNote ); + +})( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxcountrystateselect.js b/build/vendor/oxid-esales/js/oxcountrystateselect.js new file mode 100644 index 0000000..9e79fdc --- /dev/null +++ b/build/vendor/oxid-esales/js/oxcountrystateselect.js @@ -0,0 +1,155 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxcountrystateselect.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function( $ ) { + + oxCountryStateSelect = { + options: { + listItem : "li", + select : "select", + span : "span", + selectedStateId : "selectedStateId" + }, + + _create: function() { + var self = this, + options = self.options, + el = self.element; + + var stateSelect = self.getStateSelect(el); + + self.manageStateSelect(stateSelect + , self.getStates(el.val(), allStates, allCountryIds) + , self.getStatesValues(el.val(), allStateIds, allCountryIds) + , options.selectedStateId); + + el.change(function() { + self.manageStateSelect(stateSelect + , self.getStates(el.val(), allStates, allCountryIds) + , self.getStatesValues(el.val(), allStateIds, allCountryIds) + , options.selectedStateId); + }); + }, + + /** + * show / hide select add/remove options + * + * @return object + */ + manageStateSelect: function(oSelect, aStates, aStatesValues, selectedStateId) + { + this.removeSelectOptions(oSelect); + + var stateSelectSpan = this.getStateSelectSpan(oSelect); + + if (aStates != null && aStates.length > 0) { + this.addSelectOptions(oSelect, aStatesValues, aStates, selectedStateId); + stateSelectSpan.parent().show(); + } else { + stateSelectSpan.parent().hide(); + this.removeSelectOptions(oSelect); + } + + return oSelect; + }, + + /** + * get state select + * + * @return object + */ + getStateSelect: function(oCountrySelect) + { + oOptions = this.options; + return $( oCountrySelect ).closest(oOptions.listItem).next(oOptions.listItem).children(oOptions.span).children(oOptions.select); + }, + + /** + * get state select span + * + * @return object + */ + getStateSelectSpan: function(oStateSelect) + { + oOptions = this.options; + return $( oStateSelect ).parent(oOptions.span); + }, + + /** + * add options + * + * @return object + */ + addSelectOptions: function(oSelect, aValues, aLables, selectedStateId) + { + for(var x = 0; x < aValues.length; x++) { + if (selectedStateId == aValues[x]) { + oSelect. + append($(''). + attr("value",aValues[x]). + text(aLables[x])); + } else { + oSelect. + append($(""). + attr("value",aValues[x]). + text(aLables[x])); + } + } + return oSelect; + }, + + /** + * remove all select options except first list promt string + * + * @return object + */ + removeSelectOptions: function(oSelect) + { + oSelect.find('option[value!=""]').remove().end(); + return oSelect; + }, + + /** + * get Country state names + * + * @return array + */ + getStates: function(sCountry, allStates, allCountryIds) + { + return allStates[allCountryIds[sCountry]]; + }, + + /** + * get Country state ids + * + * @return array + */ + getStatesValues: function(sCountry, allStatesIds, allCountryIds) + { + return allStatesIds[allCountryIds[sCountry]]; + } + + }; + + $.widget("ui.oxCountryStateSelect", oxCountryStateSelect ); + +} )( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxequalizer.js b/build/vendor/oxid-esales/js/oxequalizer.js new file mode 100644 index 0000000..d537210 --- /dev/null +++ b/build/vendor/oxid-esales/js/oxequalizer.js @@ -0,0 +1,88 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxequalizer.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function ( $ ) { + + /** + * Equalize columns + */ + oxEqualizer = { + + /** + * Gets tallest element value + * + * @return integer + */ + equalHeight: function(group, target) + { + var self = this, + newh = 0, + tallest = 0, + elementh = 0; + + if ( target ) { + if (group.height() < target.height()){ + tallest = target.height() - (group.innerHeight() - group.height()); + } + } else { + tallest = self.getTallest( group ); + } + + if( tallest ) { + group.each(function(){ + if($(this).hasClass('oxEqualized')) { + $(this).css('height',''); + $(this).removeClass('oxEqualized'); + } + elementh = $(this).outerHeight(); + if (elementh < tallest) { + newh = tallest - (elementh - $(this).height()); + $(this).height(newh).addClass('oxEqualized'); + } + }); + } + }, + + /** + * Gets tallest element value + * + * @return integer + */ + getTallest: function(el) + { + var tallest = 0; + el.each(function(){ + var thisHeight = $(this).outerHeight(); + if (!$(this).hasClass('oxEqualized') && thisHeight > tallest) { + tallest = thisHeight; + } + }); + return tallest; + } + }; + + /** + * Equalizer widget + */ + $.widget("ui.oxEqualizer", oxEqualizer ); + +})( jQuery ); diff --git a/build/vendor/oxid-esales/js/oxlistremovebutton.js b/build/vendor/oxid-esales/js/oxlistremovebutton.js new file mode 100644 index 0000000..f5dcc15 --- /dev/null +++ b/build/vendor/oxid-esales/js/oxlistremovebutton.js @@ -0,0 +1,41 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + */ +( function( $ ) { + + oxListRemoveButton = { + + _create: function(){ + + var self = this; + var el = self.element; + + el.click(function(){ + var targetForm = $(this).attr("triggerForm"); + $("#"+targetForm).submit(); + return false; + }); + + } + } + + $.widget( "ui.oxListRemoveButton", oxListRemoveButton ); + +} )( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxpayment.js b/build/vendor/oxid-esales/js/oxpayment.js new file mode 100644 index 0000000..33627a1 --- /dev/null +++ b/build/vendor/oxid-esales/js/oxpayment.js @@ -0,0 +1,39 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxpayment.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function( $ ) { + oxPayment = { + _create: function(){ + var self = this, + options = self.options, + el = self.element; + + $("dl dt input[type=radio]", el).click(function(){ + $("dd", el).hide(); + $(this).parents("dl").children("dd").toggle(); + }); + } + } + + $.widget( "ui.oxPayment", oxPayment ); + +} )( jQuery ); \ No newline at end of file diff --git a/build/vendor/oxid-esales/js/oxusershipingaddressselect.js b/build/vendor/oxid-esales/js/oxusershipingaddressselect.js new file mode 100644 index 0000000..543dfbb --- /dev/null +++ b/build/vendor/oxid-esales/js/oxusershipingaddressselect.js @@ -0,0 +1,96 @@ +/** + * This file is part of OXID eShop Community Edition. + * + * OXID eShop Community Edition is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Community Edition is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Community Edition. If not, see . + * + * @link http://www.oxid-esales.com + * @package out + * @copyright (C) OXID eSales AG 2003-2016 + * @version OXID eShop CE + * @version SVN: $Id: oxusershipingaddressselect.js 35529 2011-05-23 07:31:20Z vilma $ + */ +( function( $ ) { + /** + * User shipping address selector + */ + oxUserShipingAddressSelect = { + _create: function() + { + var self = this, + options = self.options, + el = self.element; + + el.change(function() { + var selectValue = $(this).val(); + + if ($("input[name=reloadaddress]")) { + $("input[name=reloadaddress]").val(self.getReloadValue(selectValue)); + } + if (selectValue !== '-1') { + $( ".js-oxValidate" ).unbind('submit'); + $('#shippingAddressForm').remove(); + self.submitForm(); + } else { + self.emptyInputFields(); + } + }); + }, + + /** + * Clears all shipping address input fields + * + * @return null + */ + emptyInputFields : function() + { + $("input:text").filter(function() { + return this.name.match(/address__/); + }).val(""); + $('#shippingAddressForm').show(); + $('#shippingAddressText').hide(); + $("select[name='deladr[oxaddress__oxcountryid]']").children("option").prop("selected", null); + $("select[name='deladr[oxaddress__oxstateid]']").children('option[value=""]').prop("selected", "selected"); + $( '#delCountrySelect' ).selectpicker('refresh'); + }, + + /** + * Sets some form values and submits it + * + * @return null + */ + submitForm : function() + { + $("form[name='order'] input[name=cl]").val($("input[name=changeClass]").val()); + $("form[name='order'] input[name=fnc]").val(""); + $("form[name='order']").submit(); + }, + + /** + * Returns reloadaddress value + * + * @return integer + */ + getReloadValue : function( selectValue ) + { + if (selectValue === '-1') { + return '1'; + } else { + return '2'; + } + } + } + + $.widget( "ui.oxUserShipingAddressSelect", oxUserShipingAddressSelect ); + +} )( jQuery ); \ No newline at end of file diff --git a/build/vendor/raleway/latin-200-normal.css b/build/vendor/raleway/latin-200-normal.css new file mode 100644 index 0000000..e159f85 --- /dev/null +++ b/build/vendor/raleway/latin-200-normal.css @@ -0,0 +1,10 @@ +/* raleway-latin-200-normal*/ +@font-face { + font-family: 'Raleway'; + font-style: normal; + font-display: swap; + font-weight: 200; + src: + url('./files/raleway-latin-200-normal.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./files/raleway-latin-200-normal.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/build/vendor/raleway/latin-400-normal.css b/build/vendor/raleway/latin-400-normal.css new file mode 100644 index 0000000..48c6bda --- /dev/null +++ b/build/vendor/raleway/latin-400-normal.css @@ -0,0 +1,10 @@ +/* raleway-latin-400-normal*/ +@font-face { + font-family: 'Raleway'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: + url('./files/raleway-latin-400-normal.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./files/raleway-latin-400-normal.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/build/vendor/raleway/latin-700-normal.css b/build/vendor/raleway/latin-700-normal.css new file mode 100644 index 0000000..7a14c71 --- /dev/null +++ b/build/vendor/raleway/latin-700-normal.css @@ -0,0 +1,10 @@ +/* raleway-latin-700-normal*/ +@font-face { + font-family: 'Raleway'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: + url('./files/raleway-latin-700-normal.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ + url('./files/raleway-latin-700-normal.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ +} diff --git a/build/vendor/raleway/raleway-latin-200-normal.woff b/build/vendor/raleway/raleway-latin-200-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..0464316effacc968c595be46c3998a34d570810a GIT binary patch literal 24724 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 N*8c)vl4$$@001ocdWQf2 literal 0 HcmV?d00001 diff --git a/build/vendor/raleway/raleway-latin-200-normal.woff2 b/build/vendor/raleway/raleway-latin-200-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ccac042bc3329df805145a35e2a2c150674027c0 GIT binary patch literal 45448 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 literal 0 HcmV?d00001 diff --git a/build/vendor/raleway/raleway-latin-400-normal.woff b/build/vendor/raleway/raleway-latin-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..67f727e6f28bf16c7737475cac2e88485f9e038c GIT binary patch literal 24900 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 L0$`G8`~Uy|q1>yB literal 0 HcmV?d00001 diff --git a/build/vendor/raleway/raleway-latin-400-normal.woff2 b/build/vendor/raleway/raleway-latin-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ccac042bc3329df805145a35e2a2c150674027c0 GIT binary patch literal 45448 zcmY(pV~{S*x~<*rr)}G|ZQHhOW43MEoQ>JGZO*oB+uyt2wf1+;$v;(*5m^y;ROPtG zxGFsq#F>GBf&Llw5kTnwT!8ID{<(+w&)oma|Gxt}mK`T>!xlFbSwK=hRR1}@J9kb2iBtoCR4+NAOkT59ti`pgOGwo5P}hcM@mCRpuh&> z>Okr^h3lGpAR!y+pW*6U@yZIZ{HZ~sY~^$0=|nNJoi_}g3`uX{BkYqQW z3T_4URLiwi;WphCxTCmwzin_F^i7~213 z^cu#blFi~%Lw{mG>AZDF#c<&}cTK0q5-3Pcsp@w>bEFpe^_v#I&U&&sh7nBDTGJ05 zoti9h9f$VpH&Gi=(T;E!n>ZPTCPg=;jupJdlq$QiJt1C?v`38`Q{uku;(^8^!BBze zc$r&7P$Q-Ek19WX2t!`RE_=2YSdScMsG1WZq;@Hrk5x5ajuffV2fx`0{Fx>{(MI?n znu1Dq7Od}rnIyApyHPLnVA4zLYQ4>tX_>Nn+)bECNj6$~-^r6nTTUqn^Zp)fd{v;t>! z+X^JwiiqZsl!a8%GOXCMWmo58ZRuX@pCbLq=Fim4*%P%N$aE*6X{GqQf~}9+IGKv% zM_)&9`=56uTQwRrDSCyUv9DiO+%IgWD|2=WEGSq=0TnCpVN;~bu>Or0vtn;YOuF4S zzaVNwKldk6DGrGCi}adouxdY#)@iW(HJEiDMZz?Q3I2ROCF~Vlcik6tQ~vqd&;OeV zF`S6nV780+_7GK?&{HzH(fRURE08|I)!~pC|B~=ku!?#L0|H+-^`_DQvIgB5cr$ zZbGQ!C{yr0=rPdWDUij+}#32 zHr^R>L+>}VXfcv3I}>O#PbW~4mn>Erc0prIg8kkMbgq5`iZbAne29dC(p9~9!fW$q z&#;O4BjB_b^yVQRewR?E?;2fg@Sw?5gtcWRWjrKMG_4gKs!|1b^=uBy@rOX`r4_I=LcrX``lpMa22E}it>PV0JNkRTaH|_nU@1B5tF_V7}Z0P z2>8}BK2R~`0p*~s#qHLmls4sGbJ>_kEDLK{Rsa0VdKEKX%qct>&`LWNhltU>bvuP1 zp~8^%Ju7(w87M`-;Zad~^s5*H{Cwx+FyNR>5K*o$Y{~cPcxz|9UF|WQ%C$&OET#sf z^y+gqhl-&Prea{_(>aL`Wf;D>i_i;3-O-zzv-QEDyu9c|GwA0>i7}^7poC<5x6UyrJT1 z=Vm0vxJ*6S8LF_-RnH4X=Z8R=COsII60x8ZWY{9Gt}?8&E>KorL3CFFvYR{<;V=x7 z$Ftl`f{K#<#l*F42c_PU`_Z=8K@rXUkHhb`D;!>3>~U`0`Artx^1_2f?pPDL3Fom# zE>~!?u`NR&{1}KKYk=}Pu;3MN-;uYdv=6?}xP>G&O12^QurF}Z1%=~af@`07l04C8 zLT**Q@cdWNTW^)W$}qFr7lZW6Qn)CFG|o<+buncL&|SCc8DCR4xMKuZ+Fc?MECS_# z5)igzmM0{KQ)YIC>L6S3Ie|bN zDnyD<7Sw3Dy3QO&w%X8S6q=ui7@Elm3`$=N8DK?d41%_v#=aUeG&htURhUpH;g-1;>XblM6BRq2!_`J8zTM7=wj(s(+zZPn;VVlc{|N#$5QEByn2EhoagM!I($g=t@whAf+(nH!?6F`3xog%>43@!_aAE?^xnnduQj^HeH!qm<9&d^kJ1JGr^M+&(@-_DtpjNIa_x66We|$0{-eHzU}b6nJrF zWrzl2l1L{xJ(QiLt+l2Qo_$LmjZ;z4(o@n>HB{BrFwRlg^z*dUIy>e! z7uJ`z=hv3Dz~%FoE!{f!y5BE3c=()$VisLaf%a-NBzbsJ6c*;Ze68HDgq8C5+YWqVC4=T zH+E_BB`h#ZRJ8P(aqlwCm_o0bzIJTq(lMf=La(+ymBZ^3>uE3_V)AN3W#vs$KHs#{p zW!`Y&)8Fp-!sakqNWp4^-*V+RA(3TX<8nEHL1I>2bwpAoD;;CnA5r*&(`@bYM5EN8 zn%QtActXV@%@V*$y(pX|dg? zx7jJAdD9TjIYi+W9-^#27?MfhtkGR)%5`44aQ^|2*fQd)FrqCoLBiC_9m`JwQ_#o4 zw8hx8MMAzt5CQ@f0kLyX(G@6i#%ZPr+*S$fXUUM1f|)5ISLK;aGVxduOc^qo=vDRT zHjRz6{o`JFFRx4nRF0vFn9z`7d8=qX`e|4$~j_D3Gxrn?y2V@cus2n zS*68C|Dmo-ze@1BcCg<~o zQ9|ent7LHLp!o~MT?dZSwqiQBe-1fVTp5!cp3?&4uRp(ugVVh3bN+gE5(54) zutqms&KA0A`>=a?^jwB}REO0c6h#dAD^jU}?J-=`qUTlIg$xfx2q0JxQOSgU18DGD ziW_2nMD*75NaKqQ>VomcthQ?%VntnfMVviC^ix}@g6lWbg5`26!8hq6!3&X4u~b1B zw53iPYyX>t+`E?FHQbPAtwN>nf2;bXVhfi(E%rgF##pFf-j8eTYphp_J-R*&_ za0CP-S3jqb=Z?|S2X(CIrfF`tlHZ5TY!!9wWGbAQM=I`v5Y#o8`1rCZWA8= z+!fEOENifw5VrMQ0;A6Gi-r`qwzr`>P&m(oL$R=K~N3 zZ%lf2K85VlH>WP2T6ju7Lt(X-^J7kig;12Y2|WxpWduQ^DZ*7zwd~S9?QCT zt1OG6jhhY=qT@e5D-JQcTuD#-q8#zv9)G%kjOJkqf!uD?RNihOK`UMuO=z}EMC&7w zQz4-L6aoF^$O~8uE&fIi@nHP;9LL(Uwj7ms^$h(*#I_)Gr~Vsg+S-{uJ+2{L6=Up| zE&?V07!dReHl(c+oau5HRD3jMa@@!91W-?W7Z8lK3lge*_y{#lgR5%x1NC%jej&OJ z@mlloy!8bM?E034MHh>-&ILj-hik{Cc~}qkHqLn2A}3`{ADHCU>}vF5_GE9$HoI9j z`1_$T!L#fejQNXbp+_Wn{Y)(^Xv|OG38RolfZQ|G@ zd~^a$Qfc8!q%V&X5B+XQ=!jD&w#ikuD@eH+lX#IN54Rk-{c%%?JZHt#0dZc4NFPCS zu5|GO?;McA-fVV)XqaFT353D<5@!v6GyHUtgRg`FYHj^?i3--fz@3IM;J=|NQle27X_oq@9LG%bhlfzlhddmfhnfdK{{41|PidfN+E8kuogGdr8XhX_fa zx(t4E9VMf=0bR68ofn{QFh0a5&jm8fSwYAT?XCs@hzVoviI$8#&*li-hv$9S!#r8Q zp+T7gBt=i3#DP!pc$JGlioXciA#i#d*3k+!^ftOyL`^4MHr#G<3rw%!onKhRw_0uK z)AV5}XOqqgq|b37b3trUh*S(~I6^p4g!9A?T-zIXrfd2M1w+8Fy7nR#$KmCF>ANp@ zGjy{yvR%!@a^bl`bo+JmF|sN&38)=AE;wY>J@%P6No;yjS(p6c6d`91$tf~FRzXXy zg-DrM23>fGhqHL*eis{Q*%}=cgCRsu^HQ9LHd&<}D1U_pyw0sHn!oSXJTBd!;e{~^l z{|pAOywfhKo?h7}h!+Vb_8}3+K@tgt*qy}0A(uU=lFiXf#zK(3xuHr$tB6&{Go1V2 zI)O~JmOIu+V&I&H0npzK>(XH$JPaNQ!CEdl?PST#^60071O%32EZ9WB-0 z6hU5x&$7{irZb7wwg(SMkMB8)z` z4yB4MVa?lF7Pv!2lXEsvMQ&PiE51bEq^h)qXay>lmp8h6DL7UfLt*nV7?Gt>Dzy{fS^0v7hl}`i157PmJsSI)HdGg>n z^aO@i+hL_6X+>C>W0!dYwG)_>tw5(-gy=uYy6k5pU2RY(}mrf6rJ>Tg1-X_6d*45YAi#+SvHs)PSA53v0 za~tS)rG93G*nb%80zKU)2qd4&D!p0Ye^@>Z4D&^iBd< zFsRL^@bI`1Z_TB!Raj#)A16wgcv8n7D-RfucDv*h(;ilgRJFpbbaH~bol%9jlsxK- z(?DV~C>8zJEkrS=*VfeYTLy9~{u$x@3zlV7_@sh2oP4-*0(*JiD!vk0Xd&e=4Ron} zK=@gZ5wYpOywhCP$I24jNW{_ZWh~q5DpW(GJtwuGthiA;&Ky1#VTVOJrN~o1=56gY zAV;N}+;936UC8mmDfM$y2>7DNi@s9mNtz?L(x9??;#!o1$IJHjPRK`l zlqq0&^LWbE#=~P3&6R=_d&@Q#Q3{m)gPk zR7jpEq)S<+7+*?|`{qw|CCPQpXN{aN#!@=(}TB*hb$LW0yxdIV< zmD>n|^eM+S(Ebvqi*T@^>^BP2g%zLZ9?lrIiiQ%O|4bx0S-<-Y+xM5yif^kw^%_ zq0UYffd!w`#R&*l<F9R%n7uCiYr=!K+HKnT#*A zN1NR(=v_^O<bBYQouZyXy(p;HLX;zJi$R< z&i+!2Q*$7I!ZTZ*=W!uaDkfhF@KS;zTs_hYi&V#E<^$K5UYK{o2C+5k(^|9g6{@M# zCHBz;y=3cO6B5UVm=4{K;V=rL+s6(x=eFkdOK{63vQu28aK^g>f+F?GS3N{3&*I79 zD)LpPTa56Gj1?5TAXkF0;0-HM?mKnM9JF?ScD!wOUedz|?}SZ`ik_=V+N`_#u zB^rp3&U7%Os{y~VlE7Aq+aYt3f(eN!Mr168Oshlujl+&BsuMygN4eiemA37dSDE`E zXk$w$$+dDKB4GqzDcf-U`_}j&R;*O zf97Ef9Zl!awTuu3@#`#xSCi94|GfoDf^Id3`l`ft=-dJw(@z*_$E2ucMyA%Svc!tcAyrP?`s;_3;whK5GOMd?QXcqJ%kt(u4=io0 zLF)NYvrdq5mzG<}16s-UjSQDZA#`>S8+pQW^E$}mRqO^gSrKcLhZWjZ&t?b!d^t*r zkdIN061x#L@8{}>-^L_mkX$IG!5l!?Lmb6rDYeyQJ;g}UI-W>j>$*hR4#KCvd5Xod zcW&1q8B;`4QD$ZM^LQ#Nbf&t%5+G}=nk@X#@izo65Ew_-E2_{5x(6w1)1hTol9G1D zF0du-&jtTYO$@@o@7&fjT$w;$m~vx(F&8I~49lJ}m;jJqq$!pNnDwOaw}6N-O69;X zdXf;?&`>!nNDKvj0ID=~RM?3*+KVkX9%MaMCK3@MfHZA>O>>0MI4AbUu&pAjpyF*? z=G4?tC3h1kT}dF$ge=a4CeB1azF-i>Q(r_^a1>pjJHZo);h2mfe@x5Oypu1*wWe{) z%%7;3E>9mG4n>_af@I3pynnMA;W*GX636>hyyy#K01z=X2fu@0y zC$=^A6aC%?~R6dOa$Lu(v{sz;MUo6v1m?=uILy@JChw8eY#yM*PM*_Im2nBg2< z^E%MgjoWSWCR=fP@yhu4LGn3G6rAlszKr$SOZ%j3@VxHHUBLq*nE$$fY2gA>euxzQ zZ^HPgO_A0X{lkfup@%ro`M`|GentIH>>njAQ2G_umK6gs?5gN=1k*1^^N&}fL>>T8 z{EtsVHI!s?-H(i#_PLH^VFigXMJ*mR3GhiZ)i_Ez4)U6^0ETG>&@MB_*O$2x{KXWO zi!#@?%wJ6FeAx#kNFMQ z)}qB1vRgBEAgAj+w1l=^K zMcr!Abwp*}iq!||(fsQ@6Od&{{(2iZsnx3f*VI&@>LU+RKXJ|j@n!2W*kVjK&1u7z z`uaUok;BA0su*Tv4zIKAcft`%>@4egYdu;O<>HUd2jjF-A@eDIR4R=Evi+!qN}U+;`i`2?&biWxSAp zAN|oS>hy*19P4qqaP=2WaT+y7DbJH}3LhxYEuVVjc;T&U0Mz+zRu z`-NoDx$ldx_hTN@k{q_`%es_}Sc4WYo0@3w=QaV7gD+)zG-dbP2%WAmy58xPCJpOR z))Dhj=&WEHw?@UWuzvmfrpCPXQC8;PEVEHo&&YMd%9pl5GvkAn_%Jk3hSZTDJCE5O z9Ox7LbmGD#pqQv?iRE8MShJ#A_uAgs%l|BVw6%E~I*CLAC1^wI_M2&Qk@sYjHSBd8 z$8n3V`rnw^XFj_c<)O-Ve&H&yaW2y#w3n*bEu72Vx2(4XSl~w}G(;p64ubt&pu)Su zZS3?N?p&FIq1JKb#=Ju3yCSgf&A62pklgak?PLRu!?@pew1Ey$Npj(c^$9{CPYw;H zVw{e#-*6*fczGa3;*E|v_4+Ny5S8xT%Yiyvg;3=~3tZ#~AfHs(T1c6@1AtlpbA zp(4*BQsWiE2?sUSK$p_@Z=n7RI~Ua!5nA3QtQgP+723InOf+>~V!{trGtY^RKkr10h@C)Ko7 zly&+yF%~7|PK=}vhMOD(@!nG@7XC}%o_ZuyMx;llPY6C)JnCJsAFyt_TwAa2AI{Wk zB#`p$(EkHmIApy-pvg-?<^$Mlb)5$B;+!Bs5a<;8aC|)EMfnpL5O>3W1_$VEGN#kS zDqV0SG?>6G(n0Y`$klK=IHRl3UwsxS3@YIND!hb4WX>Oh;h;o&WT!^ly^GjA%T2f| zG#DgLYA1qw@P$_-xnJ<_ENbbup3V&J4cPdh$Rg3Gmpk}f#>;14h9}|gd6k9QCIK7A zS6R{gu;KEoMM12YL8<-w@@+k_{7e&Ly*>LE=RaNPENFO2U2$ILXC{U*Xqc_~S8!Wy z(7_>qiAl$H7yk8UL1q8cQ2X*qJy~bwM$K ze<6R%hb_T*F;y^a7C=$>F(23h~#~dA{=zrTzn4+%! z9Ablw$zhH$W!^u$!?<0p@dRCiihXkNtna7$Qds6lGG&77|FGmcMJvV1r_?N3j!HnK za#3m2`4(I0^5PR6_qVkVEAx-8;8z>)>LMF?4f+2Nj$a>fhwcg%Q`CAwHm)bn-h5xC zHQTVW=h3O@H4xA2pmIll@NbB&Xj2BK?+GdU*LoLZ!?%8xdsy2-^uI(2R7mTAf_d#r z@_i}SkcVj}oB{#RnAt!MCI!I%S93+6nqOps>Ot0-adA?<6BGxDly=uHweq^GeVSH@ zz$Z-~BQXFM{g={MML^CubxJ`+R5^v6Wz%2N9WOEB}33Te%5#@tGD=CRO1$Jxb9teJId#pfs;+U*(0st_n|B*(2 zVWZsihpOzqLCv`Gdd4>G$o6f6R4TU49a40+hkn>FM4FLvy!UZ#6&TU z#1XatV`U)`!^NQ0R?H|0Q_=*@F?qULaI3*>_CNjdo?B#z5?uQTsiPZ(Zzl(z-gTMPLJCwA5|7h(j|Qa*R8YKe;nxrs=_-+9Jxd`p=tOuO&cuwShNrRcwk z%7v#!2xDcEDHffap>7)Cq+75LJB;%09}l)vm4+(yFwJo`gA`$ED@sWUkxWyq?1)QV ztRtXOXOaKI;v&PV1(X@XnyS0ORTs8C7vy<}hjXGC= zK2?R8dsZ+xupv!1l`Ja@t>CPT>N$%fYHNy+%qaF#5h0;W5ef$fXm}sKRp%ufDW7w4 zKH<$Yd@W?m)?U(NpHEyAxzw}$N56Z0rPbU`mLV-Q;)6rjfI7rEUd3#u9Wi52FKfn6 zh`0Dw&dLX?xfOdkvj+7{qCG%)4L5(JogfNv%RZf8yc_aGH2p~ta(l4OW~?OcR%2T@-@- zN31`})A~EFNMMSECHCp_G@vI+&S6_K{P~OG-jyZj*N5xc^ydsiHjV&-0m=pZQr^hN z_55{PBs>$y|9<$od*JfA!Mj0LH_ux8ps$(#wky5?c+JSwPeLGkkci%VRl;Wo;2LGC zMVM~|gvl!NnB6j$X-;~rvbY5t+gJ0o(C6AU_hXm9c|44gk%p1o$$ILU{CEYE$DQ-Y^deszIdhmHR{mO~Sf4P~pPrp>mCgn#6fB5H7$gvd z>`pQT=DsVjUgTftO=~~D3#RHFDO9*b$hay?M*Vy}eP$BgH;V=%Z3OA-!2aBGg>s#w z)yFfkMeqvKpDh0}eA7Qu(!?OiCvARILGVe^cC_9QG$&NEbH?l8EfbCMnz*Vu;N+?e zdvbqn0fw><0l`zK_xD~(rm&D|ZiSb>LiMAL(l$m8z-hqdH)zWd*Nu8GZ<&!4*R}RJ zEMIO1flM0DSsi(a$`Jyga-}0OakhU{3TmYk)`;iHAKWPEQWxv; zfLP0%WYdE2?Pjqq1OEhN-_2P1qoA2Xwgah0njfaK9jM9A_o&u*S(Gk?7IBQ?%egbn zrI%#&o_TL|_|eE$_6u*($9(qMiBw@v5$#CC>oDQ$bZ~v| z5bSh4$EzJWq7MP5Y_&IkdGA8}`i{}>O`V5~3n(19-rugYUoB3j0jcRN^TLmF4^XywJ$yWJ`scC$u``5aQ%$N0%`#K5}B!@@na4ga$-9%Vh zq04PQBx?O|VtL?MB4i|KO|1P@_XlkyzhX%&IR-N!ujNem*2Ms5KK~xRfHm-3V_4T4 z$g-*63C8@3DInNvOB+{k_7?_>g{n#xaI(HfV!6CyJy|aEH;9p4>L&}{YfN~}`#q?3 zcm3;>MOU}&3whff&1P=oC{29~M(wTqKBsn72GhkOm%^${phSB<+E7;g?3n-w96R`X zlxKn>&#Kbtv)&6XkwJny`K6PENSGIvqCFegH^~Ne@&SdQ`D>civ-F)q?Dq}n$#dh} z#}v*DcGfpei;Mb<@z-St-E2D_(nuWd3VurO{!+=VVR-z`r2zE_CpmErIp+=yp8nO) z6Vr2JuFdUSESaZvLT|nK(qj#k#dLSNoENkTGLYq$xCnj}OfjU3YD^d7u$)r?C+)@hMis@b zU$s|U{oKe_Re~DEI+>Bbue6~aFFB4clwg<4846i+;_BbEr0o-wWT6*v^(nj+q^Bj? zLz~7*-7{TM3#IJN9*4Ed^p&#EeGFqAAH-R6!wmEuik1n?sRy%S*m|Z8`XWv1Gx4j( z?jfZrLfdabI-6%1-d38*X)M!UY6-nt+x-DsBrPJ(u$-p{{PQ9$Iegl+52}dX<*fjx&Lus7zUUlWvZOoKv*P6yKm- zdKJD;$6;#E2v|BOHL)^ydCjM0vTi2bH2L+WDBFvpJ%G1AX?$+TIxc+P$j_FXCxJh{ zgU{P@z8DV&pLz2Paq)W|V5NMB`5v%O&r|gK_YfP5u_WK$fV^KL0V24LtjOZ{f;X;7 zcc#Adlv;DDh9Mx&D0K`}5wxecqt`)Cs>YM;e|0Ld;VpG`Q+UTF-*#gCqPaM?kmzxv!qjl91}Ff^xk_CZ<3%@JcqZKgul$c988KgT>f9^CdVmY3dft?v;1 zETx_P`_LkGHafJ5-h17HG-}FkVA;*94|nRghXJ>Jt(ewZYld~FjXxGC|B%Zdza)L$R=`YvcU=6^l48fsIN5Mh`<63GQ& z?NR_M*;~NUl{gf7=3Wc*D_xg$8Gt)yGZ_Y@ZGs#*87|lugC^)HMJ5R%k4_JQ^9*_7 zqqAN{#a;0H&XY!YkBJsdbnw!wr6{&X8A+2Cs!OSsBFobivLfqcimF|kRw%|&_650l z@TtIYUa?x6QB9d<1|?gqQne7%t-8k>wF6l|x71bpgmr7#Z=D^ExVpP=x3lGL<+WVP zVt7z&be|1yu3i7E3!}NZ{pJYH|5icqw7m>oG=4XIJ^pgl??H)iuL9T<_^z#lBrOM} zHnhCP?-qC0KSWgBy~gyqP3MI+c-)9^!qWmc(waDfO21rMlkcZpS=oV^{Ed{^#(Df} zS!y`5OcuQEixY}Xn{a$f+-}~MM5{NTWHyP)bmovND4b40)phKvm#|$XRM`bUWxesa z_jKcF$_0o6|GfKw&}yZ~`Hs5f${#{gD@z*{6Qqam=yWx3T^2{l8!r_fZ91w zhAYerwr<|LEe@s+6Q4kK=0QnNx%PAPLH1^eW5d9@vLc^NY)YGh} z2t-$LdoN&El?(1l7xf$?lFh%p8 zj)FG_Ph3%oE(A80b1`RRWrMz2-*a&>@_94kvY*$dLERGbi8@7VJv0Ep;ZN50Ccy*r z{uo8NXjvkfcLbpYNFpe*;nY-?TwY~w+;hDI*OFF&Ry76|Cd}ZEYBlN&q-G-YxROXS zgHZ>tCz7IUbf^6HbVi|6|1m-}xiiH?E$^AIcx{&Q^#}-M%tvQ@ z@$aM7QXjwYa==FCz{T3t>12$m>4bHLS|sff!F`R-uT~;4NkJFg$rAiw!F46SGj2r- zGosdv1KXsl9nbksjICJ9n8HCE3oMC`%vDLF36n%+Nh5}AbGTZ9TEutwZ2RPi8-oKK zva5Rwor9OcgRrq|c|@hcLahHYX@Twp1=$)SN9 zh;^C{8Icb5k@^=NJK`xEXV_YTWZMWA*gtG|>9ewj3_w;Vj|-)0;>OvMM`&Xei_H=a zwT~i01TBXVCV>4S<6FJ#jGM$yEgxqNAMc)K48&+6ga~Vfe{u(0b$x6JuQTRN5CVxX zlQEp+X0axNCsx0Xod&K#yi80nZg~!m-?EXQ&Xl1Uz8kYHQ=hiXoWCjfU!uDj%mOcN z1B@aOyrPVUWf*_L$wOfXX#Ahvi;c0(jnR*Hp`i#8+!}=7D-xnA$?+EC%Eq5p`Bx4* zKUoD(M}*@~(NDxIFvz=x@+X*`$j3`E1x}6zbaQB+)yOIyQw!Pu9);~_dQbS<_2I2T zY!^CN60}R?DVgr)cv1vP`D$mBVzi4nDQSzRSE{+Do`3}k3qCOk`1t}Y`XIg|^p_3R z9WmPSf!N3oyeH3jp^q>OZqu~vIN#SUzUX-x-Y4S3Z~D!=@-}TcZr@MhJ3n`MUFExw zs)98$-&#|mLMLn^t#dfD_XE#hV8&nrmp@*S$HnNG=T7w5!(sO`H)mO=Air_a)=D=@ zW-v**M1(~jfe)W!gG*jtMP;t;-1!14xwvP~nQ9hV+Nf|ZMb^p8Pl{M~r>+)igsvU7 zVmt@%J+B$E1o{diSc{z&hKBjAC{!*ZGr^ZS3fT<^FOE>B+Q#yycm`x`<{`yz*k!9C z%v04tz`naxaj7mdd281+y9=9D+lOu^(xKbT$7{t%AnMZFwClOgS*BlRm3BDtXaYi6 z|H$ikI`f)in|APfu}`R*gEELLYl;1FxK*FWR>fhOE#9M;j?uOb>_Odr1XP*BLF~p# zG7;Bdlw&el^Vi#xN&;oAgJg+i0)ZwyQ3YAeIabY_Im39)wm2dNcVP$A1aCw94HqJG zq$CW7wuJRNmtx!i>WgBiwG2iB1BHp##0>>O!+sJ5qEv((n1;BPh6$l)Q=A@^u3q)lbl?U_G6c#Xu2;!;cajf)SF z==)jRCfOc*$v2LXNCn&kqA1swuXrpI}X=qK>yYxb_ckLb#t^SDCjB(VVCC~Atzsy?Mv zcQ_Wu2kA=BsoQ?Hdks$is|V~8OuJS#1F?`;G9((6PKh@Y>`b{-DWX)BQlWX?~w+LwBx(w|Ze`cajpt9eMJjQiZ}zi|!k zgfTJvbhz^$_SRiI9$;=_b8#M|Ew9k5H+e>)!idZd94+=}(Lp6|@ zrJ~w`UZ_|4mR5norcbC4rQAWF((!P^!Puw>vB3LA;MB~(hsuxqK;*)D+)%GxZ}RWV zEN(}bc*9|K@$AH}hzOU*JWmi#rIMPUrPZ3%+M{3lkh+AJiCT4CH|In2g5dlRywrkY zJ9!T3@XJI&G;Mx66F_ytPoxu@RDvZy;C`OX@TA{7A4#a`S4)Kb18 zfdG3dF))ZE?VPMj9#aBf+*F7$;h7=0?8b2d=YSF8c@`NPJ=TfOhT`OB9atDfE^4Kg z?jN93XXJ`9&9WmVSY$xI>NV>xvNR!Hv&XvWw5evN;G^GO1)65#&I*k%lL`}|48`c9 zJakgonOTLdaIkh7$7G2d2@Q;+lfGcI^QVqky%bn2m@y-Kn`;z>9uX7sB2Lths6k#g z`hnAs4WfcNqV`AM0f!^xhuwCfzC2DQ@%Ns(`@?}W;QqNN@~4+BXZP$#u7mKdJ6?4& znf-jWJzHD!IMO3+jfpL?QUQm`&C2$CfDZkRUzP-5Ckd#*)uU-W2f;#W#cN|<$q&{` zX3Hq{SaMAFmUjC<>HU)40xy5z;%o=d!6Xj`XBsXuJ2O+;MsuIW^y%nA97iweSFFZ6 z2Cl2sCzQlg=PS&ViAen7BjkT!YceinxqLvgvYgnB2U6YhgyO(n)wO#106( zICIh9HH3A@>)R&$bMPtOGLqX!*D#MET7&+#5>gZwI@74pG*lWsw#%w9a3LMk1vNxD za?ZGPJjKHpkF4g@^G@CL@4qcYVMp$IKb@^ts-$BXd)CSvfH@ewqZL?46k5T+I-cnXypwVj4XZc4ysoovkVf$pclL8nF8|mn5c5w z=t!{6wJ3Bh$Wd5!Kod03Xwj}QqYtJPPtdMpTSI-H^}!C1uVmQPibOI!jxqw zoN#LBA%Lz78d$DDuHIgrv!A&(8RvcmEm{jHiU1*pdg;>IXpSvqS<3p_{W>Uo9YozG z^jx_$D6rU_30Y(#^_1tnIJnDf6~%>bJ1ej<9d>;C36ezbYsB2|VT=kd%y4oU`_?45 zi^Qcdmxz{F`c<(4q}e8q>crW<92t zw?K|Fp5hSQVtDT$ydnfa`HVEBTD87sL7q71Kq*bRi`t5UdS)3{`!L=3 zPz&XUVJG0{)Ocd||A3u743j~SBY9ped@D56) z;m34YP$@Q#^+bK3Jzr^1IRgijc|kkbB%5luz8KS>_txMM4XPpeGi?G5SWx9XPcp z-SR%g{Nupch^um_I%7&*++%F28AM0R>^%;wv-5#uS#_HozXY$Z=kE@O!Z2ah0n?T58P^173vHA^I5QjMA_z&1RfQbEzW^M#v z#np*zi4t;Y5XugR+jj-sq@_5vzK%P6#%CPUl+U+XCioF}iL4q2e(i5K8hkm=X!(L7 z$S5fb>=%CB^GL|5Qd@-RL~GN7DBlib6sv86ia_7sMYT*URwneFD?St4p@5xA0`7hR zAH{@CJ=d4<8bFjdGF83pa%H3;TW}&oIcEebs>3cnnY`YE;Anaeg(Q|`PhiRZ$4|{3wwt&Q&Z&uRwhRu#Q zR4Yy0xY=c(#DU?pB^P;CLDhQNg*6S1GDW{>SwYu{5L*JqBdQhOl+8jD4(c&cJh>8u$BoGS_86wc&(RYIx4Bg#iHDvg_~ znNK%6Uek8!898o7XKUP;KHj)?Ddw&Pbt~_x1j*HT_a4F{;I1R!ki{R($H08FsNC*f z379uih@OWJ4Lv=<^}Kc=iW|O2q|GRZL|L^E?Es znm1dc)ibRU#C0-5?ph@~9pL1!Go8>qD`_$Z@8Q z;gmtyE*h~bsFGfE{4&XGtbv@BbgV~hKtGL5Gap!_?~r(gM`1h!BR=CPLqGT7&p~w_ zyo2)h&|Komn;vLMqxGuDTsE9KWBlhsJo6$sRpYA}-IvGpzf+`R*JGZ=;a=C)h?d~i z)Hx0@2v*}ipDhS|fuQ|L7f4ez;Xn2=H~Wrk_P*+qYb-u@%F%n$Z9J~B;B zAFmj6>vNMcz2Rs5%;S$HS5-Nt7a?k``9EnAM3DD72vfTh4D#B5Ux=n)iJ&8ocWGuG z{<~Agj@D4QI7^iCu|wJ)2U^ha4`Ggj63M|Eh)SOML|KWgCCUt%5Y86z1w3{-2t!rJGEW30ZE?OHjz^g9jE1 z!QSp(w&jH7a8c_kh+9eaVmUZ*za-1N)m3xk?$i3{>;Y)8^NTno$b2Rj7&{pICA790$B;VZ^@TlXF?%FOju|EM{z#QiGr_d_tT6fwv?wTe{{%^X2x z?(sD_O?KsdPcl~#h;R4SVu8K0gWN6JF|M&hL@U|}Lm zIfDn@FB~*Hr7$thJ7%}VO2aJuGv3ggoD%Hx7k=ylcAiE~`?lnL&g>S$AErSY+f&u2|wtq3hjVU!P!*!5*itt**PK-O$z|gDdd6X+&5*rv2fn@HCn+ zVk~K{2P@TMcEqBrFzN@*i{44Pb%JCM^~m+CjRwK&g9CETeZ_vRUVW-3?aX>Nc`^;c ze`1My@k9lTot-b7T;^L&Mn;FR%wdf=FkEuf_PIUrm16@bnk^#`3(mh+$<%I5yJ-Zo z_sa-Ba{r-G5DZm?K9pf70sGsDSPjij7Mx)nscYNZd zUWxWXZV8z7PL)Ya@#m2Z)KUMpO;?S2gJ5O+k;6PyB{25S&U*QyYHi^Sb^kd_wuOG} zGI)QI$?I36B-&DRX}`y?omvl!h5qvVatH*|vyulGDl_f*XuA`#W9_l(1oN5;gHm+# zx1kVPexCkvQ0EY_v~bxg`1O!U2i4qvDHXVE{THRM9L94=)+;lh&My=_6fj*S!2V11p&U-Vr6 z&MEFJR5w0GQ%hqZukuiJPFeiyf(+55veP!QP3OkSU+nmKr{?1S(MykOn|k+u{K>^} z#Q0dXg@dkdt-da8wFZ+~;1EThItRxvkSAYu=kJcM&oNF*u0jB*F8SE;midTzGYKHO0+l{_&7rP(%L?1->o?qb?6m23I+@D@&pDuoX7Tzwmdg znil`cHU^*0&z!4-2UjNf?&(0Z^18?}G1>6;X}ddgnB^6KDL3>#X{BlWjyyv(0a+^^ zg54-IW6FY116-a2NU~{zpZ4Z_IEiPq4+0XF2(VP z#!ZW?%^QG`Z1T3W+}cgA=ev4;DC5%czQ!r;CVV^vzH;C(hNX{jMnU(bFg&ch3i-wj z3>-Yg4BAr}2+uGvoNz+fZkRgT2ObI(d%qun4$><$|9z_E!=jJqZ_V25$~czKG^5ODR-g}!r*i2?*;8dK3U+nxA>~t*! zOQYl9(0$IU_xR&^k7qv?)wtWJuPDKcp~(U)XqK02t=78BA5(2kR30L9s55BMPbbh`JV!~3a-o~lk5jftQ2%3y z>j4k^Sf61q$IJkSCcmf;<28>Jef?x|E&vN!SxeHwqpsRc!&2O@TUOn^pfHeFQY|86 zitsXD1vSS}+@c!x5QdSe*q{{;ucTa2{@})T{57z@93Vpzlb~g)1q|u3sWM(X+mqS2 zZ{MeV6hOTZt*ka{aY;AmE}OM7ELMS0x(M?RI^puZ`Sfd8XK_BnH7XjHZP~oHgzGWn{p(tgdaifC>-0 zsyp>d@!;k49C9q`#I++8u|XT*A9R$pXofwwuGnh8hWqC-M#a9Hc$@)%LpLG3u6NWE z438AncHmp7Xv|yF$MoIe)!a}T8F8dVlj))JyD5uLiZnrK6pkouhSn-q0brrP8g(e^ z3?_YTnH8JGs?tCFAW4KV2{!+yd*X!svsSI!;qWu+q*Y_$eQ$Ce+solpW|+3A)K#$^ zVs|Wqp>2xnsybuW{wnAF(@DL1As`&-YmAyswu*~$i*x5G-INCv;a*K6tH9CBsxVaE ze(OmuCy=Eq8!aiZ7``w$Xu^F`8C6;PiF! zmJ)Fg_i{#@&7Jm=((Z!77WS|^4&oHN9B)e$bi#P$vm3IoM>TLV{24aEgb(auTG?_>F8}lGS^dpR7!tr$1FqWJQJyp zs5HU(DWh$)&ZX5k`ivfbfg(XjRYbywnuNXw()1n;!I`9y%nbV@o4=~2yy1$+iBh7$ ztNyE>!2JUOVmOjI1A8ICJ-zL2r?b-;lODQWfoQ#bJ}4YDH?UtSPUnpegkRpu<;KzE zl#q{;Q=?ryahKcG|EJN}n@Z|2noCQb?*k`6(NJfQbkyqH#YmIEB8w5>dX&H_RIY%i zM(4E+wol_Lyoa?m}}7xoAGi!K#`ZL|#(pcn^tWRs~0U!k=@ix)|oK9ldiK@inS zwW(C)2ncHQMscmjU#>6+NcQPr1pdP;YappwrHLHy`4T=%UQG~nGOT#C^tlqa#nU#} zUW>skj(PJ7hw{fxlscX9jzYJ))9dQ>I$X0m>~2@5%hmqqlQDPO(u!vml~u%jVnq`O z+1zRmJ%tI1=VZ3oM7Tv6i_7Z23)8(CYN@ z#?0boPox&L1Ue(+2!Kg%U6;DBv6GyX{gW_x98F4lY2k|0gzqJppZBbdw|{z;sE}*T z<)|$P*JwDfdZKGU)EDdz80vMt(nCRT64W8yg++wwo2{UxkXJbqkQwWvAewVZW?P{J zGETxeY#Q0i1t$37{4)@BBActo*tYU=wT1$>{7$BS*ISz zaIK0-Bb;+OaJRdYa19bYKhQzAU7e)qz4;{Ot!yfiBuRZ9_s}jX+S{{dobpN<+Q5}( zh$&nELw4&StH)sz*|{C!1?B5)ccR6Jy>-#dl{3P*aw zK?d~eBqiZEg8eEF@li{xNlxSBXCI7{V&kvDl-_z! z)NcPOzgkbp9!^S+7HEY<%AVT`Yh<=)3@?;FUCP~BM6pqoSzj(NdTQ0VEPfS&p#jcL zjrhos=`)AmJ6f{4lyxP0D0%tmT8F8sLGQ`~bd6uSM4@^wAk`T|T1C129=PY$HI!pk zQ<+jnX{Cs_5h|zGc9j^!5z-uoeaWyBD=Fy!pS^M=`}GKj>;yX(gT=4&pXEyaN*a`O zNdhE^U~d>}(2}K>!r&ZjgSoBIDDsXJQRS6Gu*z_M_eh|JH(CRFSd4|n`6fNTU2InV zMcj{WED}_I!7O?YgZa=#UZ_pqH!?QXySU$_eS^4{uc2Xcze&EV7`NlgycLxBw75i6 zd`H53H+6gpGJj;>`r6=fJPY8N*t+hu;CZlN?t6h_5*C%Ia*TRSR`|lXtgnZ1o6EjULhiH ztn4W3amfFI*oWBnjV2@M(rPR0KCf6}+-KsxeCboa*5wNayl>6ynh6tWK3l%a%HFtL z)UERKS?|nptz8S-2$fVEL(lC)OAOjFy-`|XfM^yn*tw#N_gQy0> zpA1#68ImuR*1FdvqJaR~!>skBVp5DTYAWqZ+X4jM9>A!?Sb~KUwZ^|A>1_-k0uQE- zHD=~9*t`c)r$El->GLyiq}U(Yv){{kf>I!=fZQhAHNM3>o#Y~tJdLvyRT5I|rsE|4 zD~sDJBwo##2Uw7CJDjezuGiTHwyWKVcGL25wiR+tV{d`4 zdnZ`gxz{rAntr`E&~3BVnJ|4cVj3;FJzJ@ApA0hCuSRS%R7NspRZS(?lx|-55Wta7Wr34@b3n6)72&$~O4LYNEC*FjhU6d{j1W5+L}vOge5v z5MrEhvZ`Cw`yvDFJt>|BEJZcAt=k+ZdsHd)=(Y%NkKC}2TmptCZ>QPiA77vHTR=Sa zB$-$Ci1@a`QM`J?e_?}f<}YSKx$W!1v|9``(6`d9{JCr#yJR*79-D1ihcnB&90jPj zq5oyAYZ96#woP!hPh^w->;V-Sf9;0|Da15a^tH<^Oh|@jke_*hmw~F&=ateZT9_No zrgHp#D&n05yYt`-KxEvh1eMIOv_JFBil1NT_<0@JWIoNboW67H9|YH9u$gzC_%xNly zJWV#611t{Y8qKFN%nV!M4F6q3&M?rM71joTB`SdZDn_7Nn*E)PgT0 z;@xc|G36&eAVs|jf|x=Mj(zlT(B;)3RI4V`Z!$vJD9p?Stp|)BB@-x^V?0(hFEh?7 z6hC(9F=PMqc=0LULVi_<^!*sXW|q_y6!nWuqNs)xk!md(4r?@6wf&*2Ma3qK{Ax_8 z5D}xh5(Y2iqXp1pl6D`9<09xuB`*>xL@^x zrr)zzvp9~fN4tNzn@o@QfsLEN=8ea`d`fK!gKMVN*zIRmuU@lux7V&cd&$bvm-T%~ z+I#5rgmE0|Dv$xGe-dW@c<=c$%*xvWKV5kD?sM7KZ>AW)n#klL?r)gjo2lgdw`G%H+ftBOpFWv+SL-QHl~^xb^WeuA zK=$sJUoMu*i!aM#SB0qb3L=`()CatOJp12c;S&$nq{WVXJjo{h*N|#!eRx?xOP6(h zNnSX|cT*}yZf-?4)~U^SNx*JsFNaWVh(5z+Q}K{l7H0qXVL8gz7(Y0X8IU~%54S;* zQyd~If<#Qq8(T+geqz+r++xo(p&sBSoz}1*A2ube9&G4AC-Q((|7!+#=D3+;){u)FsK!{Q2mzhhXGv z@8e^uzW`JUh-(OfV0H2mE78sfgaY+Ls6XY^$~B4kiH27jB+GVuw@R+ycX@$O*mz`i zlKR{-nNb-LAsXYI5WO_HQeg6#xr}qqBVMJ+?yr=pMXJ_QAF#gQKE+i;gtO4N#)6Q9 z$Zh>Agl{oFXlVOuQ-(i%J!f<JluUcN3<`!c!i~<#j>(EYFXLRyuwm^Nt%Pv zV$#w`5hFNiXs9zSiiEMn^$lZKD6|M`Xu!t8A-5VD`G;7^pu7n77RW2DN_Html&Ea> zCWAbhOn`qB^(+fp%2xf z`o=|A!0~_i>$wuQGn9D#PWHT=TX!)(`oe4u7>rK8@wK02+1pQ~0xSj&fn>-U{M_K{fCLLwUI%>dqBDzUooW2qxrqNelFmG|Eh0{nA_46> zbRbHhwCGeEbf)o7=OTK6P_}awah+-QQs*Mu1VXhI5wE5U%JeiaPTdbW7kP3$G6rPf zyLX-A#AsW`xMSQg?ii=KMX2bR@-H2oAR1(VUhw0^pCDTCI+7>k(NZ8J>QnRLrp^A% zTVmLYgH$_+gHwMAfJnOyhEw&QZ;W2KvEt3C%k(5kqL+rmSn3dMIs%7i2OOeb!J)*3 zUfj0~hiNw)rnPYR)b9fz^f{fYc-maVs|1j@tpl9+Fb_u{c(=|c_}_7HmC-@z*G6_Q zUpPxoZGs^A;cZd@T2W0YEvO{C?r66^bHu0q_k87d;-*g&wfQ4Z^ZTUU<#)gj`unngq5xb8mWtd7a!4IdN-e*n8@7RdQRJZoeUg0h>c6|U z?&JASZQpy|i+`H zhA?OGCeQ5pxNuf#N<(PTDYgv%)Ct5}Qpz|7=!;K42~@_2pqyJ=SVZk^n#DVJ4&$cz z+5_~$q4rmOo8qpH{CROZbDZ!I;svV7)_7mk8R^W8g~Fr?v9vt1cviG*P~uTEu}+@P zW}a7=vP_*aPeiqLHux#}QZq~kzloBunZh7_a)>sLtpHOun*cRpSiaRD065`Z!OChF3N*TuZ#gICqd3#4xM&e!SN0(hhPRPBdc^# znyfsPWN(RBQ`Vu$z~((3?HpK>%8od-8W&-${1Mk3HB{QTpi~Ym6DVzQOa51!7k^=rYBPjTksMWilZRLvs z234jEIvvoZ`BQ7Ra1PUAgz5?P+lx?&WkLhjQp~^vKI;tP>xt2<`lS)v%(sBV8IlmN zN};meoLCyZQj#-6Bt$Ng%h)lf;}-Xa=bD@#i{8v+i-{`)(gGQc%)k$5mj>HM1Mt&} zl$6+)RK{;$yIL%|6i~e_rGA1_UKGC8TTBmTMA|WIxJeq0gx|daP=AM{wy)^BU2z#J z$nNcI_ICHk?A)b6%fQZ<{suS8WT2GX>&?&t3; zNPK+))wkgc;-{{FGC|!*1iCs^*XfZR;rDQrsWH~8F9hHVE z;ykF?Cjiz#4$G^>!b&{7$$On5F(;agex_1m85im{Ik+BoJ9gJIYB;ps_IdM^F_?Mi zR_!lOwx=go<6eI>gm9iFUlaSiqbiIZKnpYy*DmWvU8js{#bu+@u<2wTR5{AWxVg&PYVj#gQvqXofc z5d={`S3~QqM9f^*t5$u|A}ATsj7|BvLR7kpxd=jA9NBH#nK*_y&Lw54SZ*+x8lCAMs%(DCXY*G+tXb&&E|EFX?;)imM=qrkn*1cD{2?`hpuCj zr-d`gYeSqHT}?Vj(JMDr{X=J0&^C;)KsD)JW+9YWvuShfM%*1r>2NUzr_Wu7s%VMN zh6n&5pwzU!neJye2^?C>l@%4E*uiQHH-kv)8mD-QxfKR#3Wj&Q=x6B|nzO6HNN3){ zw{-oVepAAcM<;^%A{%E$lE()#9#EbvcZ_9~rj!XAl&hliUX_$;L>UUI*qm>Lk8>Fi3*>B^U+0uiRrUS31MtBM`aoZ zP*7ASfrFbtza@1;nZoHe?)96C`P_^=+cveuqNc13p(tIZA4g4lV>-t@si6Q?sD!kx zw45gWeh+3XS|QvFlXklu42H%6&xzpLu_rziG9|)U-&O$Sgz9K(9@ob}a8{jWf$t|b z6A)LtpducpcV>dY&GS8eNwk$jbJ4R^E&u|B`NGvXvc?sqsD|9Vf+v$0zU`#o-`QD{ERo1({Jja3sxV6H}Ua9I9 zG`COyk=CbAw=}u3xoO1NS(OZ0hife%q0NLjTO3dtW$3!bgy6Dw8O;vdx;0!bl@wNI z`1;e0D^OoQ>y>w+1JX8O2r5G=S}aT4MJ+i4N2i4OgyfBymXb0{ihc(&rTj|<9kyMq zTGm-By)vW`L`fmC2JN)^ss@b~0LU6rs<_&lL7g@SDWZ+Y--h{HdrF_@p(re~Mp+Qc z0<9Qv=ql>d9W?>iDbl$iQ*iz?DgPRlsDsSVJQrpC?7_J*DBP@g|Hlh@7tm)l}cK>x6!2Lo0_odu{^sb_8j+iy|2Y$XcX z%wF=YtQ^I0#W@q&J~WutAQBu@siJ#Fqbu&8?!LI6zIne|R?Nk{o+{z_#%Ss6)}=b0 z_C6l|6yXIn5Y2#$tdG;#Z1H-K#-7QgYuZSmXJqQynCvd&tE!U6P`s|jK%H7mjlgy+ zs?iK*Sk#sW6U0zU4RLl6K`$mr5s(2uWFw-6wY61F028nnY<2m~6VO|t7}`L#?jt&> zEY^B#==>;T;rNM8gB5SvQ2za)$)syrki(}Ln*54hY@RW5l-tJlZZ%on@0D||D9o{| zA_AV{(1QHajLXl|NB#ex6B*J@{NI}Rsh`dI->jk1SGF37mj@4vi{dYP4bG)kS5TTC`F&#_$E7IvCL zOqZErrv6zE^DKIO&cd7r_-FX{_>WaTs;;UPW)-<>?XGLIbPxSG`Umt+=||}|@>=rd z<+Jja=l{g0WUOWU1Y+PlW-8N~sbCf`qs#>JHRfqZ02v?xYJ>h@J;ttPzso^6FLHk2 znz?hhXL+T(g}fvDa()74zz@ME1UZ6I!S{mSk#b}Ya#&a={7^&_iA9fy{uK+vi^Uhj z_a&<&*QG4!fb^vFzKkc^CHqQtUY;v=mlw!e<%{K8LuFXRBS*R&_+(tbSDenfel%g8HEpI)ZLN$I&zB6nalHEBeyW zX>MrOXn)bI)BUKstZAHW{U-hU`XBXw8AwBeVV{w}#MpbLq&YXuE#~tUrX_9} zvOH{g+cIG}Zu!NUW_7e0ti{$b>mKWU8{MX{#ciXu4YsFkZ`$_RzOr4m{ccaQCu$Ko z+(t0yl7L06;P*EGmG06SxlA|iSW`!IQ^*wMujq|?tfK0p^YyqV@Gau4Ug zTxQHN&58(lhdAml%S(oiAE!o3P5{;2IaP3ed>}r+}`cY_-uBysdwM~ z3=r*V{iG7XBYS7j!HD>d`M^&hXcJM*p%|&a7uHix@I1lkv3w$p0RX~wdi6}eZR7Ez zEQ%fbO`@sx7nm@5$9K=BB&_X(ESNV^?}0sxg?bx8OvA}3IqZr&C5PNEcFtd9SuY3VaJ?p>beDbtj&`I>!v9M+IpbvJe{T2c+o^*9SV$YcVeAB@46_?q z^ebzU?75^`nqlKz6t2UMl$U;KEKXciV4hx@2j$-u;1aX$@tw3es_keFwYY`~$?Q%% z(65Y=f^!CD%yX1m&}nkf0IF1_;ezdr>2uKut=FjsdAVL8J8gWZZmZ!mE@ogR3$4y( zg}NmX2ma!U^rUlelnr@c!GH)e3c{yeM3u?FVx}h493M{at24-6OiFN-83_HJU4Q`M zm(2ub9Jn_lU`awcIMC(@QF-|O&|kJ zISvU0G-xTo2_ZX1J^u^7HY0Nhdj9K}!chp%fK-Emgc#;9F>`(H>D-fk7=OT?;)lWo z!`11el6)ADgc{z)JybTPGK<;nKM{AKE5p$RdZ&O#)$b6d_mxkp(J=UPK8LtV?s7>UP;M7iurJq|2V23to`aux}||277s z$}l$2BkI$lX8C?#Jhl!yrk|lC7Ida&Sx=Jt%#XL7_J&t;VN>4si?Ft@E!n&6_4fXA zP4M2zhd_@ob3;o7zREBOAH7vx?XTY2e1633sC}EH9e)x0Unhnh>(&iY9{PWIVs-W} zE0*B|f#FcvYfLGST3appDQWJD^8@l>h$;|#_)Gx zY?bJ#>2$Zq^0uCrPxb-sVz}|P&Y<=jej^2t!7&lxaQ7VPy8mDESOQQ97`w9O z6Nr&;zfnXj=nA1_wa zoQT{87V*V)!PUKH*SB-|2f_{SfF-FFn8HZ#NoH!44Ob@OdwYS_16-yQ3C6uZy+U+1 z8KqGiOJ{#N+u60HYd)=h!mQPfHu{^>11;&@c-Zeql;Ep>lANv_>CNiZ5fcmGK%m%s&7(tBG-dNTYiHgf|l9j&_(RXLpwuUp#@_YwJQHyHqjd~oE%Uw+GQPjn6RVJS$| zNt`7@U*9cj0ehFb7!qv%+Kc2Cu-yQM&E73!85b}@bPtuF#c2n^U! z0P(<<>_(g4$(F?0xdG**2UnQ#Z?izYIZ)Ur36^(a_dn_r^0{FlW*4==ji5eu7YVUw zhpWp`>tv93skGP#>gr{iJh&ofIJRR74k0&B|LzxNHX63HE%np4^Nk|1)}mWAoQXxB z?7!|WaL%qolFYCl7c<-fuX2ljk)%=|nhj<#lsT*@R0tje{MTlv9Zuqp{9^htm6}x? z&LZ&SZ3aMO>aE4uo<_iQRY#I#j==M@_Dn1Hs&}%Grw$<9YPl8%%ltE z4f}E)3o1%-z_!GxqMNY=HNyS!=ouXuLB$uKmec3!o&nd^%E_ z7Qu_QzIJ78b3w?Rs|HL`X)qC2zs*A~)szoGi8@Zc1~WSVzD5?4JV;xcXMxUggzhL-0K?QI|sU~$kCv!ovcZd!*eLRq z9<2TFtn-1T(ux2idi|Dd5%)XK`~{{1_5_%{3ES+vlIFOwxMY4s*N^hiGZ#Q$nEdg` z@lQyAShZkUw{@HE-^aCqFAI}F|8V%tGZmm1cx|`v8qZVBCxLra_zUcVX<9^@-kR*3 zM|pHRI7V>W0{~Y6iIup96FsGn6-WLI++Vr^1J|=FQCq(sPNNMA$`$xn5FJ8zJ{)oP ze=}jg(wk~jYvb7CC9`bw?P395t>(*oI!`sD#WiRD!`>Zv*`Muz2a*8(3ksuQ6gQ;M zTq?;baKV`p4dCcr?OF`hQ%OBL(w!!NLEPh36IIHx?KzPxPiBss(Jsc}>r^}Iz7X2C zs)OG26~zMlnT&g-mRmyd1$D5Qs%PtX>DKmh@SFqNKWWY72I!zcH>^bg36e6WR*}N?Kn8>bkeb!olqGc3pnL6FS zKnKdxoVJJeB%qPLMDkFi@PQwSBj3l_H`#4W<!L?sxLa=NR2m^9m#4-^iiGN1&ZlgIjVlYPaVmim zIag$$wvCPzQORCun0HZ=v7H`Mj!9$*&W2{!H^UWTwxUxrTHb86P1DqrG2*cvJK1$% z`C{?RFuBMFG=(vZZolfb=Dr-vxfO=!ou=4m#yov@cjgcU5leuIkZCZGp)r9^J%TKT zI?Nogmop=h#MWZ5I5;O8sAiFb{cOZy+$=%0k8C)I-97&GVG-{ zcmZCo7E~&0<+V=iTDl_1s1!vjxcDf-aXs5{8uP+_-M|2apd~s#D@QS6WfVGVLF#HG z72w*Pq~H?KR~y{t^&Y6>jC{$ZoY zFzVIPenV3JSM91!Wd_O{mDRm+c_%|6V48U-fZ!xhO0j_@8N319gf3n+q?}I+I)?YT zn(FbbVE?@Mu7*o%8n@F(N1o@*355LO@7}1hkpdh<0hqD&EJGW~d|?%NFFEEguBHz$ z=3i3-oRVnH~u;nOHsLW7N8yl2qGp?%Pg8P1F zh_LO@MSr-419vPGQfTpUdqu8n)nafySK(-bce+U1$xo|=*5dgN`ZG}%QO#l|V+MJK z#3L7dz87@f3|{Y|e*PcPV4UQ*T8*DBuifS1JJ)ex#e>A={`dr!yM46~mSH79XvyxW zuh=)5b>_?>Nr$}$O;S{n#z~GT1NLpr?8X_hpfar-HC8B96?&G9Etb@>UY$q zRY}%!a3&f|6dzGAoO=h7&&m~;bH?;-Cz>|+^h8Ob20#do6rg#GElj0CA>2|fYjmzX zh;PwyYLnL$;}m#|#u2>rsa&&6`R3+{@6=S(C1>!?(j$OR$q(IvO~|mQ&7f6m$i4u?#&LR@s~$u)BD= zbg%zl{J@`x2X1<96t=4TBoLK7<6wJhreE?=;`l_vh`;D4DDA}Sw*O3R)W*mqYsj6( z)_!$8>O!oHk(rfMC_l5Rb~}M5U=;IctcCXM%~rT%SmJQ%*=wI&OE2)7I^91<_2ms$ z;Rn}tJZ^a;B$g8MO(`^#dWLb5Gm$gf6WZA zOY5zLSW5CCL-1@kHmdvC98zu#k)3iZiU+_Y*uWy+gryDXQsNnPMPjLnKV7upDE5NR zH1*nL8qjnkMh6hB`nn*YQr;9(=!`V8y?)GGzAl}V`1o#YP(7ZMfE}CAB+-z0M7KpUjBrl5%VugmiRWI1nh~ zjbLvb3eTP8jwq(2mxoI+CamWFW_jj&pH`^jn7_D^g6>h~s>=>xDGN22vALnUt<>U% z)9Q2vC1KmQgNkR{fJa#3;~1)f*vO4LmR2G8y$O5x(b7FG=L#BRKpBvZ7+4l#?$4V; zaj)5og$SbVn_>%*+tOE8AZ~@1_v1-U_M9z%E8wqP*6^AOe2^l@07U1Ej*5!33YmNG;(|>+ zwLo?XW@MKF!{|GK2E0etRpzz#g@QJ__J|IJhci!<&l9Na6cDMq10bhYOGWYCqup@U z+Krxda!yO*(IN25h&Ru6N<7vVyFI|Rsc9Yo^4Fnr1HvakH@Z<*D!bwc>@LRW?*vH&saj7{U-A#ptazHvfmkfZ)OCD-%zZ zW><>n-bAzd4rjZs9Jti$eSYxB+Sy9I7q_J&KA(yCA`yc{DdDTM5}L+H4S>5dYCPsO z-Rbrp^=YW^v~u1vI~Tg=A#nRW=Ai{6lh@82+6b9zGX3C@YnpE0Zu}pPPJMz0RKc`@ z8{{qh>5F^5;ZnWS5%bqC#k)15Wa`YJv-rBAE#OoVOA)GEC;8SqCcK^L~c<@<6i z35WubjuPq7M~ZsuoL0M>5X^`$J=*QMXmuxSx7>XDmmQpBfNo)1zM1pX_wXVR< zGu`R+|J%gpP~~SJz4dV|J-}<~bpI^Xl{bWjA6VV>5JSTstZw}Wc)@k>JOzKvEdjx? z0Lh{BEDYqVcMRO^D~#x0G`pwwZ6rGR)buQruVP>qm7f%lvMW6V451&)B+=%??XI5^ z)(=!4qF8+_lMmXk8TK#UwkRgpMYXcE8w8Leoq+_ehffqoC9oK)t(Frt$tt(JF4xzKBF}d6`IIg! z&fUmHEG5_#8Jl%jtng`VSG5Hd`pb>oyP2`4q8uM{Qm}#7ROp~C zX2a+1!ekv%S3N9AZcks#mScOsOKM>#Z^!Jts`N~;Sg7`2ytx)Ms8I0oNc}xFLdKCF7mW>b@f&+QccXVeH+I&9^JVbLL0h0@bfZiga9P+0E&Ar z&Wqg}sX?qxGi}E06H{O6U4AtN(2;JMHnW&-Dpem$7A{F@gPXQ_dUo ztl_vbl|a)}MYj6H+8oW0xGFlJHAcO^mTTD5>*$2Jti7G^Vm~Zu#Q;ZF71%4fC14A* z(Vnv60leRB6UkBcCu2dWR4m~0Vw6C>`{W-^alU%{pi|ycb~7;?^fJpRm|#SFN=omR z!Hy;dIRp1;dD7Ng_Vd4kdz9=C@h>tJVGlgpbpCzW62ZYCz219S-a|a0t)KXUKJ<4s zdm*Zb5L{bKhae7HCAiqtEHpSlhFB>O$o+&0m75~o7B%Pb`P@9~#?we3rw>ze2z@#t z#@d;~sUU1|V>Z<8UftX6!M^%?2EJZhLG9x7BB>(*4;dtiSPAx~U6fS{c1%Pf#CQK= zs^ZsbxtrJ(_U;r7vUp*;NOn(V58&Dn_e)9H>zRm+Z7@H-(ntLoR1PMxvQgK&c5tYZFd~5e!UQ+njs3i>~$>HS~wY|GG-6r~8uAxCX`` zSP&MmvACmj#)UYy)k?+pfQ!1Fa(NEMOGC zk%apqEQQrLElhJO#r!tiBL4Gpn5sj=^#P0X zok(;$iPeU;_fTC-LNPt)*03^AkclMzekLb;2`&B|Tv%VIaD3NOv7P^PzDCRyvg5st zZrxENWcC8CfLrs`ij9O#C|l?pt}nCV*e03v@rbO)Z-dTo z{hwmc|Dut>oek8JQ;sWlcx<%z*XbZH;zplOJ#Jq3XDqZ-#J=temXkc3fW{ATTXviu zK|}qvC-Fx6HRpPNpiaUC7iKL2?p>S!%X>`ebhtbaer$W!b1V;kw!QTpSPmrcE0#N9 zp90_B83U3aA^5nIw}5^+H;Ig@_*B#vOd%jjpAOgDtr*}#y+QKb@n~&g@8k8uOB>uS z#9nP9U>8Ji3cHEyq@4J)$Dx;%drVZfKb-mNz$G7&U+ehgg6U9_+O|^O1?C}2r%(o5 zrz4|{dvY_~rZ0|e5keWF&qsX!Hg$5xk(PJ&I&|vPlfy3fV2DG!O3I@YzrYY5f}HbG z-QOyI8!^<61Icx)N%1R1*#r@q3dAt{M@8l_PEc}lk+o0F z|9#yidSHE-W-35N49f=Xs&5h?MV;P69brODC_sqZ=Z(DyLPl<$pM=MpUq5jbswwQw z@4CNuy9V@3JS1UmrTO42fY{SfHBkEJsvS?5t9Axyzyf5-u+dK8hrLH8(WlT|Mf&fg z@ajiMp1*+>bN_VRagWF?*`$GBwqiMD@mG(rpMCeOFdRPhhi8tYBj&EP36WGebdOmZ zjzgzK)^#~hGitV{H`9dXXaAQ+QQf- zS5ul1f~lE|Y$dWtYc#L0Ivoy?sBsR7sw&d%P0iWUKT5>mw1*QeWn&z^B~0cb5goEF zVK1EcSs)bU3CPB#@-;(1Zyzf?W%ptCQ2~S9Xo5B%Zx;7sW`>v68KgoVGm3W7{34sN zBt|+uI@k;Sh(zXVMaG3#2nyQWCz9?CpO%sl) zRoWo0*Y70qOL_%t!m4490(x;st*PPeIzgpp8+pPY4^Cnc*_K0=rHmO(g4c)5A~8uo za522LKu&9@MY@_DPmc*1^c&~Opxv?2UZ1i?dw(!V3AM7Mq$fhKgQo2Z_L|@@oLJdx zjx$xy>7=vTsX;FGS~uDwMF#7lb$_LqMjHN4v5Fo_RS7!`oV@#cy&>+FaybXc#^aIjpqkk94$4Qs!dS#!4O4r2@0 zAP~%+)EfnENM_c1VL1{R%X)YDlSB-CToHwuvAn414>uIJ=6}l4I<78yowSj;1Qs)N zBlsUheJpYOat0=z*IT&YYL8MZ&q0BDd?}v?K6|Y*LOCSDN(meGO%AFSSm2i?q7sat z_f2S#&|Ga^q0X&b&yk1bId^%$)A=>M=79`#U0@n_B9h$#KdT)`Zi^{I6MGXO(1L{};YWhp*JIXIvzxi=Z*WDG44k@LiTr>Db{0z=8CYM|`|ERw@VHxO zq~O7$+QQXv*oo&WmKvx~!UR>9SwJfbVwKiPPP;_`)79}5e?oXc!pMr!R;WbRq%qQ- zrfkSuykEDK7ocjz$W{eUl7*0~K&~lpMibesB<3^E+H`7ArYj#pckaxA3%C9yb}NVD zfD0G9rGJRMn z^(60D_gp8FZAQ_0Re@>&3`#jbYtnn0$h90x12TJDk%P~44$2eeM{LCp(J>%$giIAj__g@y_m zglLzFgJEAxNTsX08H5l;pZveT5hkZI*GdXpkP3?C58$f^e-5K<$3J>*-il#&|R6W4CVEk9yL=jNLDU6BYT zY=%1&jApWJ2CV%BcXvV7Kv6h+@=6+3;z`)M%t4Z9<}h4qBuQ!*ss)sWT0e4~zG^o= z*Ryde=Vio7)?UC9R%*DmS_cjhh>HBOsg%b}1%XG@1T(0eTgR~@2+A|Q_dyqib8EUs zrSz1ya$^N&S0821E67xzmo`g(gwTJ1AMh#LCG~BQ2VgN{!3;Jg@gx=Bpz(Dz(PXLa zi82_nLDuRcl||avsLhG=O4F0*KV=CO$ik|#5>4A!POoO4H;U-IS%bCw>_FOXGy*t1 zS7YZK1Zs=5b0tk1h3y^JA%60W*dD$7FthF%ig#vtFrNZr?oq!$FEO!4#85j6ki zZ^<_FPj_IDOnx}M9}5{8c8SfVlr^+hqRnxqYt2_t$u6x9dLFtFo6$adyuqd<7tS3| zxM|xb)^vjj(v$E-(NxTP7P2&mjZD+>k}~IzHdo+WmTXcqBc4VAc5SobFmvGgt))yb zR7ZEKBP3=)foPF&C}wy&Y3%EHb@)dcnGo_-wU;%p{X-Pdm;Je>)OJxPr6@FN(UY_* zXDnt?xPN(acH#aZ6;W4IO@%9<5p90>KT~z@TD|P_%G&KTGO>~~2?~TY34^Hh_J8C0${ydP~j_3uCO3q21c7R=BYT@v>A zyB(yYWS6+%z#Hk7q+6CMkZ_Pn#7$08mUY}_mcrp$L!RALD+Z&Ixuk2Dh>++{j~4e7 zJF=)To26t-Ms0nvGPNMywQ(TqH3E(G=e1h#wwvpmKGJA_Kb)A;SW#O9cn6m#v^58Z zpbo}R1(>UOo@K3&7?(NGmsS5CZocAqtCUkwi#Qy`Z=1*)=t1MR1co3F*6OXcr7o&* zSc2VdD<_$7U~=GqRyDAau(dd0O}T6@2s=}~-b(~j!bliRE z!`JH@kfTFqi=jFg^9meJ+JS35Iq17~|00dGdcrXV&P@+iQmNB;{?Xh~Q`QWLfJV-m zYsJ+~{5hm9F-2H8|L{E9~+;mggwm<(v+^4yt^jBX(9$lj1!3=bndr4(?PqlwJ0tWh@Bno7p#DW@h>jW zSuE>JDcF_K7G+pORf=?_?8ywS_50(%E0*FWJaTCQmkr3B2~tVOJg=k>nWqF6E3_mr zAKFP8L-80C@ZkcwD`UCYf@8#tnRZWDZ{{_*3DEJv1K#!|W^%GD8A}>tnOLhQf z7!)^&G@%@u)Fd6jgc)KQ(cQAl!!;a9QqVsO0F0_9o3w3kv4Y82P`{-ptSs}q7WKqMx+tr1oi|y?!RWqK z9WF4-RYnUNOsLXDLwmx?t9*$dP>`sG&Ajl=#A*r(Kvu)?OpOBYNt zD}$|~B^U;j_KX@%XqGJ)4~{jSrvaR9A~V%4&7`5k{9+vCv5?~8+1{qXF{We+lvl$U zDd`3CmB3@SmK^KuL_T~x*k05O+kg9`;@QYO?T%vF;lL`dx3H^6OLp1vQyuwmdkj#n zDr69bb}eNIS{yCz7h(e}-+GkgPm1_IW~-~4*8$NeY$wr23@6HENNj+?d(+^;o^{5>0r$HQ&ui9_(MpAm@FvP*Qg!yr-CR!d7akltjH;z(3*B*txelGSPCU;>x+C!WOgiG@IB;@Arhy;rl% z5Jiy9B-V0N^-O>}!BedQZ74Mmwv?@&sYAsbk?gk%R zLN*}li=7CQ|6xc-qOclqy?wDuMcS=-CnXNUB2**@y~Y85NJsQfI4VP@SM%LU1RjZ2 zda>d9$e>H+aXAt5qS>Up9+}w!NQ>21BFmvonGu_tPzIg8X$U zM8^Z(XC4~EW0;|d#C>9}DjB3TlLGzna4VIrhRR|=fZ5mtlm>{2riFx;tnWlK@=YNH z^u*ZtZ6Q2iMKR4v6xtU#W<+|!GTCZ?0{wePnp`#xa%B*e; zV-}rrHV_I-aBShn+>3M&K@XyedBlpw?nc0?mUf)KBR6j{}$fX!3+=Y5~jBpF;Kc7uPMDj;25@V$YqV^F!OEo?bvcEX{W7ALr3)<_CYTU!vOTa z=Zlj=FaW)A;-uf^$VLADLly%0Mjk#Clz>w;% zV1D&R!*>(U7yRBfZyiG(N@(V3aRY)!vKzIuya^VpjHc>feovD#te<~;Axs`V2jJz; zI~(6T14O{x7$h_~zbpd?35Bfs6fBx;EQ^Z@$ZJ7C3J`H?W~uhrc9#c8qRn^nSN4Gm)b}#_C&i6T;#xDM`x`yGsuvnJhA9-1>#?9cJUsFFB7?_yjK4<( z&3{1C$Fa5aFpjZ|LS4v}@9C_ZgqN`eI_tg0?!h|p37c_W+Wfb;3~M7ZC)h4^ZvOD! z?h#m|yH*+Nsp;M1YxyNs|za% zDKbJwuOGf$6X`W>*zJ~?K2Lm`z&Xe&Yj+;6+1Q=|Cn=pCd8;G#$I_Pw@&dj_e_j)F z^WBsWL0E0n>cU`;6=Z~tUZ)XbQj!p&cv)_CRvzr9m!iObM4=_31n1xoRvH!V*zSfk z1_0UyYOJICp{G#PUGx?P6p7w9&5^afFUvt8p=C%TRe&F?0kA33k_B-?16uFV$zRkK zjLfzie2 zW`c*jjfQW=0-W;AI5wvD_;U>D@$!lHGsb5N+VlXOI?Vgg1~Pa zaf-9RSTU`IMcMDw06u)zv(YJF>vHpm0)xfVlDvgsB?D~SXNzc(77SZu{V12jQCLT= zioj~c)JayExx3~IUdqCERE7&3gkS8~bJ+U|1U~z{KK6L0ze$J3>)$Fo;IiqG;%|1T zIk9@9Fo%n5y>SY}MTcP!4z_S-AM9jP;Ss4u;iV)tPs0r3=m`i3_OVFE({~3gB{XiX zzh$IadJ_E13_%Pj@LcD;uMoh#WAmNPuOoBS@MxW9TjS0?jaua3CUpaZGQ3{v`Qf{d zWb$#?uI?~)6!R$*Hh>COM1IXrT>jljJR7Xeq39p%8_YR*e*!M8RRzQ!Zs0NfLBA8L z&`5d}2XQn2+9rS$p2Rv*%Na5AVn}GzZ{)v2_Tzd}{erQz65v}saFvEYg9u<BN8MjR0$I9 zw9u*Zg)@Kz`-vpf9klGDhD13Ho0_9}$?_F({)_u{F5G;Qr-mZ#%DxWYrPse5%IcDS z5S{sP)4^4&7$BX2N(Ha*0FlS#ReHTT8_E6ovFeRM1Kx#y+lQ94W_Cu)N$gDQExfZ$^_}zNkpNV_RuGeG9xv5ur+E#IP3~i7J5PR>5kqQO{CUJM z_B%4>dFd+b=GhwiNLBkJolAdr0x)5|TmrVgzjgx2?RLw>U;cHJs;UT-Jrgxnp7MDN zRI<%!#FO*ITM5QZN%N2@e))Pr$Ux>Tw@d_4fW@MGcW)?%U?*HxIMM_is8sEq8%OH) zy~_B*h0+!JfWk55BQi^m<14hi+ndEOb}U#gRTGTGMllw9YS40|oR2x@P#sPGB9y7N z^OVKP^#hudc1t;kciW!XvesPX2e0{GeX!IqbPOLp6%VhV(CZ6H{`*kCv+UTS!<42p zEzV~|SI7b>c(D2@{%#oODB`&cykw^;BW7(pYlt>e^@I|@fAh_F$x?_XE+~V9w7gs{ zOrW&P>W9Y`mgZ|Ex!8_~cf}y%wi6PNi96gz1LSqAXNNfx3R2brpPUkAd$Kw08Y36c zRu>oYo&4w^i>FJ_nJd%Xxv0Mdjf2e#IaS{?jKM1I}YR{TOR@ zs8mv&nJ`?F3J{DRwC=@2* z_pD4e;$Pb}QMYudamtr-Hkm6pSMLWeBKF9GTh^0o0FS6pARA{v6-#(uW zflsWZv~A$K{H7#`y@oSA##roe$2Y`hZp-}s8~Uomofqt*w>n_?BD>EK3A2nXpqmp( z^~*?!H(lR22mp693-UIZU> z4~ovm8B>hZXtoMl(@!`hY>*_yX;n>z6Ff%a`8&^l!*7d{;K)y^Y%h!l8r>aw{J)7 zuUM{uFJ0hPEVWaN$LDv`0A-YCdSj5w8ULG7yntG}v0FO_SVhc1@45H3-PikIUpn|` z@X?O+PLLhC_obUZy=rgv=eK`;#&#nBOd`k!espFE1EQ$Z9GR2B;hwaduS_CCP97*! z|COmK-V!p8yC$+-e{SFM)0OkDJ$TPc2}rI((ECZ?DUbrl_l9y(rT))IEJTEv&h7<%rGe+M3p#Z=+m;^Y z?*bCipp)H1Zkf?`Yug81I1Gp?fO3ox}YEE+OPk=GzV(khB1DLgBSK&lz$eYxkuAweIhy-ixHE8urJ z8Tj#2foCjqniR}zrP}R+nMhxT=mnSH6R0*-jaselm-4%TQr1A|E*un2TX0Iel-UQ> zJ*lyD7^L2K2YW@+*2p_CflY9=ZGOKNk5s02smt?ZV#tqSR<(rDEA`GA@Gxk%x=WtD z)a%Y2HXgHGWYZ?kVhGa>0UYSZ8{ z%E}J7J(bZBx7?i@z(Nhrqput=eyDkf{iPIJkWCj%@)K8e_PH{bkX0pNhrTda&Fexl z^1P@y+#*`8$@W;Llkek@<6&)NKUHvLf%R8&bzL56K%5^XSTTUz`I5-V-Ujm=2pW9+ z?!zb*#MK^tLO~R+g-iML}(a7y( z3h^|XhOeiyvt4x09pRZ{Y9IK)t}B$lgNv^+9?IM(-Umb;{0;s#YE&H9un{~XCSSWgL(VbdoF1lQGA2QcM~#ySQNck?kL z*DDzH>mb0S9MFVdiEq*h=CdVORfKXmZ9N+tfy-T4^cIXt67rm_a4H&uV9l~|snHw* zQr0;X%T#u3ox=(%TncdGf*1qyam%H~{v$;}Pt#|!%R_v2(mj5IJwIKNYF(7CF=fWpJsGoxCn zN0H?FT!OyR)Uc<+)E60azN-DW*SV;0fst5Iia24gW>>ac9d$83nW5r@b2X2t?4Q)OA9AfUUXh^>a5?K6#8HW3bPAML%W zyEv9*NVM)HCvaO-G*iWLV#uPdlC%!Zxu6jXmwb-OlP)8@p4(k4e)>-_T{osrjjgsJ zX>HZ7ZI8ED{DD98m2PFOLZj5<`_ltqcR@kY_+@df)gsZ(I}-kSxP2RI^TGNIaV$L` z7L(BK_e~gO6gy?>3y3F$!eBM58+#{_ZW$%&1o#q5=5w%gk{Zk0Zi}g!@eE~j)X0gW zD}&ytey<(dg5ci2qCPKH7-ap_Q-8Q=LyZ-Uq4fve0PjqVnyg{tSg3bz3oDf(gZlH8 zCBq63Y$T5zq7=yyMjr3oN@LSCocqPLG#$6z>6ETjWF&y}Wc8p-6+x4vEp+2(G{A8_ zGSEnmKsy#WD=j4O7$uA;%B5mDS%L^XV27{!f{H2Utd#SoP~Mo9sHpOEIM8jC&LaVh z87W~3sjy$~E{#L#D|bnTGgG==v%aKzy62<^Z(LJzINi`nmZ%jm|Gr!kchO}4D{X9K zSe9UKbG=;PT$Q;N22)OWMnJ7yU=X2?Kj1hC38+> zs8N92q_+yV&{&@3K_1Nc5I`8#%p}3&YKx3qOcba3|D0cXr`R< z(0+Y(uB@TW@3U;~K8tPmYRz zBehs$K%s7qN~s_x^kEAQ4^HEQo6nItiFWv~GTFGV@rsX|`%j}=8Sshprw!tlKpV7rCedUN{IP>coowGWACpM)(%Aro|}funUR zn58yt@C4CLGAPOlg0)hXSt1L34fwv|f!plXV8%J{z*vv9RE{Xtl?Ts{+MEhv=!tN0 z&`|zHp4hfPIE`QxHHPNX@!%bQ*P*(ooAS(!@>Bp6o}SRYTEb_~gS%UA3KXsVtF3zX zGMaCulHz}N`Oqrr*}D=OP)fd2AooyTZUSx=#4NDQf)=S$v^1sc)O}7YAUXj(pIrJUgZ!J7ApXy0*&@M3tO7aBAgU#hTX-RxNeK-MG!MZE1zfOXe)jI~w<;x+z`ZG643mEQbd z4`61?_$2IuvZ{KsYHOQ($9~%*z|~vSVMUZLm_gZ0jzJv*hrbz3<@W1kPDi2h9_((skjh4k00V4hL@^5t z%tz<&8aB1o+gy1gYk$a}WkvZ$Z{%yfsT=v7ZzBEV;41G%<~mD0j-RJJKmao{YvL1t zgBU3}crsQ_cD@L@cB{D3r z5my2~jN@;dwA|6%ipxQv{HQ!D9ne`k5Ttw)%O_G0z+3yob?IL_x*=~{gRt)by!rQC zdjR15k)99xa35dGq1plPp#TtYA1Jp#;HdKO|Nj&sA^b05t&0{A%u$wyQ!ZwU>)#cv zD||-Ao$=y7;5r&b5VDO=*U5`_c@6>hcxL4ptEohfqIQEmogcrm*6(}*E0=nwoK!}f zWOo*CI(ITz&Tlg5h=J7#9U~^w#TNIeYRsVlH?TN-ZIeT>9PlOOy_&*j!twK2j=3#5 zzL1c@b<$e}bPT%%E?5* z!G7UzJ^2P>>{wUH_guyvbGC_m*PELrnJ?@l|IG580>NppBJ;e5Vt?N!fz{aKP8#vp z5==DVL~+kJFaK~&4Ue?)jFv+*+|!2_8D`pfrH@;j^%4#leV#S;@VsF^57{piJi{kl zC^$MOdK7Y~LIC|Ji@u}27+h;{?yLTgYv!;$70-ZkLd>$;7Z@u&s^AT&wTpeH5DT?H z;4RlhC4uGCKSOh7k-%$6fl&f$qpU2W_g;+O#X2D}1lbQ*en4x{S{{nr-`Gz0V=a7@ z;4gf+xg-riE~X zSos=%A?Al0Gy{VDBhcsaJytmX$1komiM%?1jzVj5G3Cu++{SF2lYeT%e`1yh&}rrU z5icEt&Br&b3mRlvBq(#<_5%I0V*~~R)QJiPS)o)$g%Eb`LeYH%!}sGQL?dzt6Nz0! ziOxUC76K4UHz0s#BNQ0f2?J_|4V!DH0uz?sd=z-ult$DXfP;4M&=+!lORXp2-6?jHu~B2Sbm)tcyNlv2}U5%A&5 z2a94Nlys*mRPizz4wag)$mvumGhP%s5~0ov^>lKbS}YzkDpe;?3NK7K60X#xLK=f_ zMpYH@#B;sDAt7cVm8gyA)DPXoSYqJX^o`_wypoerY<6sH`~?h}bWB4VEK#a1flB`P zd5vQ8#4lob7Um44n_RD25O3aU6=kh_pQBfcPyfII8KvFI zE5%5Zp``3u2q{`)M5j>d``G_@QdzP!>QqWAp>pX+RVoz!GuB&s#r%)0NO|HswF*Wd zS`GzT^CnfGNN}ob$tly zPSGgUAC4BSnjO*Ryfi;j_(-}nGGuDksY^#+!v-oXxhi*@a&u-_mA}`l!zOIQF6_f09D^B7;q1EK{O%8?!rZW$6Emj}97AG(?Il4<(3P^U3AIKA;ZEB*KiAWy(W;u(P!sGqx;FvE@N@A%r=Dv zCkD(=$niT72OM^Zat9W(l1tee?=w10UN^eAy*#+*d^`P}(Kw|M4Y!Xjg| zy$q`^L){DGY&@@f8270xJ;ouDrN^N}_oLDDq5p{hTmTRhc#6Oy1Ok9ZD)1D6K;V%z zbAc@~7;wkD8uOU?FoVqu4SuW{-{-Yh7IDH?xk`hN3>mQN)dtf+d+-#ZJZ+!-BNCX= z^4N1N=>tydPv7gZcu&G)u+uCXt#fY6!o_rdE3GB|H@H;Ksxi|#Ux$x2zq_yPq{`f2 z#DbU&n_xI$<7xj<3)k5@y~6CSa?{hRT+07EQ2vV)Dqceh6r<6@YnNLc8Q!+cYmsI& zrEQ2wf>oE)mQlQ|i9!6It0F5Bnzw>@LxDGdEgxQMqT>H&o#$=51h09oIB&Avo5{Rp zLhQJempUhS*bdr#_^U7`zYMM8d&gSw-fXJUl(%QQWJl z=CTWO7-nv^am+IobML$J?mzdxxrOYq@<552Q}aL!dj6=@qftMjY!Pi7iqU=gN6uoE zs`V&-$9HB#wF<94R7TL40zNn5(I~B(8QgrC@KJVX1LB+P$?MnPRN9dBZg}FW1@8?{BP0NL1bLI3~& literal 0 HcmV?d00001 diff --git a/build/vendor/raleway/raleway-latin-700-normal.woff b/build/vendor/raleway/raleway-latin-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..38e953cc236e73ffd028d872c26ab11c49a51b95 GIT binary patch literal 25212 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 X`J?(f=nB7dtnAkR0$`G8`~Uy|xNik* literal 0 HcmV?d00001 diff --git a/build/vendor/raleway/raleway-latin-700-normal.woff2 b/build/vendor/raleway/raleway-latin-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ccac042bc3329df805145a35e2a2c150674027c0 GIT binary patch literal 45448 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 literal 0 HcmV?d00001 diff --git a/de/lang.php b/de/lang.php new file mode 100644 index 0000000..bb3a102 --- /dev/null +++ b/de/lang.php @@ -0,0 +1,146 @@ +. + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ + +$sLangName = "Deutsch"; + +$aLang = array( + 'charset' => 'UTF-8', + + // Global + 'DD_SORT_DESC' => 'absteigend', + 'DD_SORT_ASC' => 'aufsteigend', + 'DD_DEMO_ADMIN_TOOL' => 'Admin-Tool starten', + 'DD_DELETE' => 'Löschen', + + // Form-Validation + 'DD_FORM_VALIDATION_VALIDEMAIL' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.', + 'DD_FORM_VALIDATION_PASSWORDAGAIN' => 'Die Passwörter stimmen nicht überein.', + 'DD_FORM_VALIDATION_NUMBER' => 'Bitte geben Sie eine Zahl ein.', + 'DD_FORM_VALIDATION_INTEGER' => 'Es sind keine Nachkommastellen erlaubt.', + 'DD_FORM_VALIDATION_POSITIVENUMBER' => 'Bitte geben Sie eine positive Zahl ein.', + 'DD_FORM_VALIDATION_NEGATIVENUMBER' => 'Bitte geben Sie eine negative Zahl ein.', + 'DD_FORM_VALIDATION_REQUIRED' => 'Bitte Wert angeben.', + 'DD_FORM_VALIDATION_CHECKONE' => 'Bitte wählen Sie mindestens eine Option.', + + // Header + 'SEARCH_TITLE' => 'Suchbegriff eingeben...', + 'SEARCH_SUBMIT' => 'Suchen', + + // Footer + 'FOOTER_NEWSLETTER_INFO' => 'Die neuesten Produkte und die besten Angebote per E-Mail, damit Ihr nichts mehr verpasst.', + + // Startseite + 'MANUFACTURERSLIDER_SUBHEAD' => 'Wir präsentieren Ihnen hier unsere sorgsam ausgewählten Marken, deren Produkte Sie in unserem Shop finden.', + 'START_BARGAIN_HEADER' => 'Angebote der Woche', + 'START_NEWEST_HEADER' => 'Frisch eingetroffen', + 'START_TOP_PRODUCTS_HEADER' => 'Topseller', + 'START_BARGAIN_SUBHEADER' => 'Sparen Sie bares Geld mit unseren aktuellen Schnäppchen!', + 'START_NEWEST_SUBHEADER' => 'Frischer geht es nicht. Gerade noch in der Kiste und nun schon im Shop.', + 'START_TOP_PRODUCTS_SUBHEADER' => 'Nur %s Produkte, dafür aber die besten, die wir Euch bieten können.', + + // Kontaktformular + 'DD_CONTACT_PAGE_HEADING' => 'Kontaktieren Sie uns!', + 'DD_CONTACT_FORM_HEADING' => 'Kontaktformular', + + // Link-Seite + 'DD_LINKS_NO_ENTRIES' => 'Es sind leider noch keine Links vorhanden.', + + // 404-Seite + 'DD_ERR_404_START_TEXT' => 'Vielleicht finden Sie die von Ihnen gewünschten Informationen über unsere Startseite:', + 'DD_ERR_404_START_BUTTON' => 'Startseite aufrufen', + 'DD_ERR_404_CONTACT_TEXT' => 'Dürfen wir Ihnen direkt behilflich sein?
      Gerne können Sie uns anrufen oder eine E-Mail schreiben:', + 'DD_ERR_404_CONTACT_BUTTON' => 'zur Kontaktseite', + + // Login + 'DD_LOGIN_ACCOUNT_PANEL_CREATE_BODY' => 'Durch Ihre Anmeldung in unserem Shop, werden Sie in der Lage sein schneller durch den Bestellvorgang geführt zu werden. Des Weiteren können Sie mehrere Versandadressen speichern und Bestellungen in Ihrem Konto verfolgen.', + + // Rechnungs- und Lieferadresse + 'DD_USER_LABEL_STATE' => 'Bundesland', + 'DD_USER_SHIPPING_SELECT_ADDRESS' => 'auswählen', + 'DD_USER_SHIPPING_ADD_DELIVERY_ADDRESS' => 'neue Adresse hinzufügen', + 'DD_DELETE_SHIPPING_ADDRESS' => 'Lieferadresse löschen', + + // Listen + 'DD_LISTLOCATOR_FILTER_ATTRIBUTES' => 'Filter', + 'DD_LIST_SHOW_MORE' => 'Produkte ansehen', + + // Lieblingslisten + 'DD_RECOMMENDATION_EDIT_BACK_TO_LIST' => 'zurück zur Übersicht', + + // Downloads + 'DD_DOWNLOADS_DOWNLOAD_TOOLTIP' => 'herunterladen', + 'DD_FILE_ATTRIBUTES_FILESIZE' => 'Dateigröße', + 'DD_FILE_ATTRIBUTES_OCLOCK' => 'Uhr', + 'DD_FILE_ATTRIBUTES_FILENAME' => 'Dateiname', + + // Detailseite + 'BACK_TO_OVERVIEW' => 'Zur Übersicht', + 'OF' => 'von', + 'DD_RATING_CUSTOMERRATINGS' => 'Kundenmeinungen', + 'PAGE_DETAILS_CUSTOMERS_ALSO_BOUGHT_SUBHEADER' => 'Kunden die sich diesen Artikel gekauft haben, kauften auch folgende Artikel.', + 'WIDGET_PRODUCT_RELATED_PRODUCTS_ACCESSORIES_SUBHEADER' => 'Folgende Artikel passen gut zu diesem Artikel.', + 'WIDGET_PRODUCT_RELATED_PRODUCTS_SIMILAR_SUBHEADER' => 'Schauen Sie sich doch auch unsere ähnlichen Artikel an.', + 'WIDGET_PRODUCT_RELATED_PRODUCTS_CROSSSELING_SUBHEADER' => 'Kunden die sich diesen Artikel angesehen haben, haben sich auch folgende Artikel angesehen.', + 'DETAILS_VPE_MESSAGE_1' => 'Dieser Artikel kann nur in Verpackungseinheiten zu je', + 'DETAILS_VPE_MESSAGE_2' => 'erworben werden.', + + // Modal-Warenkorb + 'DD_MINIBASKET_MODAL_TABLE_PRICE' => 'Gesamtsumme', + 'DD_MINIBASKET_CONTINUE_SHOPPING' => 'weiter einkaufen', + + // Checkout + 'DD_BASKET_BACK_TO_SHOP' => 'zurück zum Shop', + + // E-Mails + 'DD_FOOTER_FOLLOW_US' => 'Folgen Sie uns', + 'DD_FORGOT_PASSWORD_HEADING' => 'Passwort vergessen', + 'DD_INVITE_HEADING' => 'Artikel-Empfehlung', + 'DD_INVITE_LINK' => 'Link', + 'DD_NEWSLETTER_OPTIN_HEADING' => 'Ihre Newsletter-Anmeldung', + 'DD_ORDERSHIPPED_HEADING' => 'Versandbestätigung - Bestellung', + 'DD_PRICEALARM_HEADING' => 'Preisalarm', + 'DD_REGISTER_HEADING' => 'Ihre Registrierung', + 'DD_DOWNLOADLINKS_HEADING' => 'Ihre Downloadlinks - Bestellung', + 'DD_WISHLIST_HEADING' => 'Wunschzettel', + + 'DD_ROLES_BEMAIN_UIROOTHEADER' => 'Menü', + + 'DD_DELETE_MY_ACCOUNT_WARNING' => 'Dieser Vorgang kann nicht rückgängig gemacht werden. Alle persönlichen Daten werden dauerhaft gelöscht.', + 'DD_DELETE_MY_ACCOUNT' => 'Konto löschen', + 'DD_DELETE_MY_ACCOUNT_CONFIRMATION_QUESTION' => 'Sind Sie sicher, dass Sie Ihr Konto löschen wollen?', + 'DD_DELETE_MY_ACCOUNT_CANCEL' => 'Abbrechen', + 'DD_DELETE_MY_ACCOUNT_SUCCESS' => 'Ihr Konto wurde gelöscht', + 'DD_DELETE_MY_ACCOUNT_ERROR' => 'Das Konto konnte nicht gelöscht werden', + + // Account -> My product reviews + 'DD_DELETE_REVIEW_AND_RATING' => 'Bewertung und Sterne-Rating löschen', + 'DD_REVIEWS_NOT_AVAILABLE' => 'Es liegen keine Bewertungen vor', + 'DD_DELETE_REVIEW_CONFIRMATION_QUESTION' => 'Sind Sie sicher, dass Sie die Bewertung löschen wollen?', + + // Contact page + 'DD_SELECT_SALUTATION' => 'Bitte auswählen', + + 'DD_CATEGORY_RESET_BUTTON' => 'Zurücksetzen', +); + +/* +[{ oxmultilang ident="GENERAL_YOUWANTTODELETE"}] +*/ diff --git a/de/theme_options.php b/de/theme_options.php new file mode 100644 index 0000000..21129bb --- /dev/null +++ b/de/theme_options.php @@ -0,0 +1,266 @@ +. + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ + + +$aLang = array( + 'charset' => 'UTF-8', + + 'SHOP_THEME_GROUP_images' => 'Bilder', + 'SHOP_THEME_GROUP_features' => 'Funktionen', + 'SHOP_THEME_GROUP_display' => 'Anzeige', + 'SHOP_THEME_GROUP_startpage' => 'Startseite', + 'SHOP_THEME_GROUP_pop' => 'Produktübersichtsseite', + 'SHOP_THEME_GROUP_pdp' => 'Produktdetailseite', + 'SHOP_THEME_GROUP_logo' => 'Logo', + 'SHOP_THEME_GROUP_favicons' => 'Favicons', + 'SHOP_THEME_GROUP_footer' => 'Footer', + 'SHOP_THEME_GROUP_header' => 'Header', + 'SHOP_THEME_GROUP_contact' => 'Kontakt', + 'SHOP_THEME_GROUP_googleanalytics' => 'Google Analytics', + 'SHOP_THEME_GROUP_googlets' => 'Google Zertifizierte Händler', + 'SHOP_THEME_GROUP_background' => 'Hintergrundbild', + 'SHOP_THEME_GROUP_econda' => 'econda Web Shop Controlling', + 'SHOP_THEME_GROUP_emails' => 'E-Mails', + + 'SHOP_THEME_sIconsize' => 'Größe des Icons in Pixeln (Breite*Höhe)', //SHOP_CONFIG_ICONSIZE + 'HELP_SHOP_THEME_sIconsize' => 'Icons sind die kleinsten Bilder eines Artikels. Sie werden z. B.
      ' . + '
      • im Warenkorb angezeigt
      • ' . + '
      • angezeigt, wenn Artikel in der Seitenleiste aufgelistet werden (z.B. bei den Aktionen Top of the Shop und Schnäppchen).
      ' . + 'Damit die Harmonie des eShops nicht durch zu große Icons gestört wird, werden zu große Icons automatisch verkleinert. Die maximale Größe können Sie hier eingeben.
      ', + + 'SHOP_THEME_sThumbnailsize' => 'Größe des Thumbnails in Pixeln (Breite*Höhe)', //SHOP_CONFIG_THUMBNAILSIZE + 'HELP_SHOP_THEME_sThumbnailsize' => 'Thumbnails sind kleine Bilder eines Artikels. Sie werden z. B.
      ' . + '
      • in Artikellisten angezeigt. Artikellisten sind z. B. Kategorieansichten (alle Artikel in einer Kategorie werden aufgelistet) und die Suchergebnisse.
      • ' . + '
      • in Aktionen angezeigt, die in der Mitte der Startseite angezeigt werden, z. B. Die Dauerbrenner und Frisch eingetroffen!.
      ' . + 'Damit das Design des eShops nicht durch zu große Thumbnails gestört wird, werden zu große Thumbnails automatisch verkleinert. Die maximale Größe können Sie hier eingeben.', + + 'SHOP_THEME_sZoomImageSize' => 'Größe der Zoom-Bilder (Zoom 1-4) in Pixeln (Breite*Höhe)', //SHOP_CONFIG_ZOOMIMAGESIZE + 'SHOP_THEME_sCatThumbnailsize' => 'Größe des Kategoriebildes in Pixeln (Breite*Höhe)', //SHOP_CONFIG_CATEGORYTHUMBNAILSIZE + 'HELP_SHOP_THEME_sCatThumbnailsize' => 'In der Kategorieübersicht wird das Bild der ausgewählten Kategorie in der hier definierten Größe angezeigt.', //SHOP_CONFIG_CATEGORYTHUMBNAILSIZE + 'SHOP_THEME_aDetailImageSizes' => 'Größe der Artikelbilder (Bild 1-12) in Pixeln (Breite*Höhe)', //SHOP_CONFIG_DETAILIMAGESIZE + + 'SHOP_THEME_sManufacturerIconsize' => 'Größe des Hersteller-/Markenlogos in Pixeln (Breite*Höhe)', // Check if this is really manufacturer or if it is more like "brand" + 'HELP_SHOP_THEME_sManufacturerIconsize' => 'Dieses Logo wird auf der Startseite in der Markenlogo-übersicht angezeigt.', + + 'SHOP_THEME_sCatIconsize' => 'Größe des Kategoriebildes einer Unterkategorie in Pixeln (Breite*Höhe)', + 'HELP_SHOP_THEME_sCatIconsize' => 'In der Kategorieübersicht werden die Kategoriebilder von Unterkategorien in der hier definierten Größe angezeigt.', + + 'SHOP_THEME_sCatPromotionsize' => 'Größe des Kategoriebildes für die Startseite in Pixeln (Breite*Höhe)', + 'HELP_SHOP_THEME_sCatPromotionsize' => 'Kategorien, die auf der Startseite beworben werden, benötigen eine eigens dafür vorgesehene Größgenangabe. Stellen Sie diese hier ein.', + + 'SHOP_THEME_blFooterShowHelp' => 'Hilfe-Link aktivieren', + 'SHOP_THEME_blFooterShowLinks' => 'Links-Link aktivieren', + 'SHOP_THEME_blFooterShowNewsletter' => 'Newsletter-Link aktivieren', + 'SHOP_THEME_blFooterShowNewsletterForm' => 'Newsletter-Formular aktivieren', + 'SHOP_THEME_blFooterShowNews' => 'Neuigkeiten-Link aktivieren (im OXID eShop admin "Nachrichten" genannt)', + 'SHOP_THEME_bl_showGiftWrapping' => 'Geschenkverpackungen aktivieren', //SHOP_CONFIG_SHOWGIFTWRAPPING + 'SHOP_THEME_bl_showVouchers' => 'Gutscheine aktivieren', //SHOP_CONFIG_SHOWVOUCHERS + 'SHOP_THEME_bl_showWishlist' => 'Wunschzettel aktivieren', //SHOP_CONFIG_SHOWWISHLIST + 'SHOP_THEME_bl_showCompareList' => 'Artikelvergleich aktivieren', //SHOP_CONFIG_SHOWCOMPARELIST + 'SHOP_THEME_bl_showListmania' => 'Lieblingslisten aktivieren', //SHOP_CONFIG_SHOWLISTMANIA + 'SHOP_THEME_blShowBirthdayFields' => 'Eingabefeld für das Geburtsdatum anzeigen, wenn Benutzer ihre Daten eingeben', //SHOP_CONFIG_SHOWBIRTHDAYFIELDS + + 'SHOP_THEME_iTopNaviCatCount' => 'Anzahl der Kategorien, die oben angezeigt werden (weitere Kategorien werden ebenfalls oben unter "mehr" aufgelistet)', //SHOP_CONFIG_TOPNAVICATCOUNT + 'SHOP_THEME_blShowFinalStep' => 'Bestellbestätigung anzeigen, wenn die Bestellung abgeschlossen ist (fünfter Bestellschritt)', //SHOP_SYSTEM_SHOWFINALSTEP + 'SHOP_THEME_iNewBasketItemMessage' => 'Wenn Produkt in den Warenkorb gelegt wird, folgende Aktion ausführen', //SHOP_SYSTEM_SHOWNEWBASKETITEMMESSAGE + 'HELP_SHOP_THEME_iNewBasketItemMessage' => 'Wenn Konsumenten ein Produkt in den Warenkorb legen, kann der OXID eShop unterschiedliche Feedback-Aktionen durchführen.', //SHOP_SYSTEM_SHOWNEWBASKETITEMMESSAGE + 'SHOP_THEME_iNewBasketItemMessage_0' => 'Keine', + 'SHOP_THEME_iNewBasketItemMessage_1' => 'Meldung ausgeben', + 'SHOP_THEME_iNewBasketItemMessage_2' => 'Popup öffnen', + 'SHOP_THEME_iNewBasketItemMessage_3' => 'Warenkorb öffnen', + + 'SHOP_THEME_blShowListDisplayType' => 'Produktlistentyp in Produktlisten anzeigen', + 'HELP_SHOP_THEME_blShowListDisplayType' => 'Darf der Besucher Ihres Online-Shops die Art der Listenansicht auswählen? Falls diese Option nicht aktiviert ist, werden die Listenansichten so angezeigt wie in der Dropbox "Standard für Produktlistentyp" eingestellt.', + 'SHOP_THEME_sDefaultListDisplayType' => 'Standard für Produktlistentyp', + 'SHOP_THEME_sDefaultListDisplayType_grid' => 'Galerie', + 'SHOP_THEME_sDefaultListDisplayType_line' => 'Liste', + 'SHOP_THEME_sDefaultListDisplayType_infogrid' => 'Galerie zweispaltig', + 'SHOP_THEME_sStartPageListDisplayType' => 'Produktlistentyp auf der Startseite', + 'SHOP_THEME_sStartPageListDisplayType_grid' => 'Galerie', + 'SHOP_THEME_sStartPageListDisplayType_line' => 'Liste', + 'SHOP_THEME_sStartPageListDisplayType_infogrid' => 'Galerie zweispaltig', + + 'SHOP_THEME_sHeaderWidth' => 'Header Breite', + 'SHOP_THEME_sHeaderWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sHeaderWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sHeaderWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sFooterWidth' => 'Footer Breite', + 'SHOP_THEME_sFooterWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sFooterWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sFooterWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sManufacturerWidth' => 'Hersteller Breite', + 'SHOP_THEME_sManufacturerWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sManufacturerWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sManufacturerWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sPromosliderWidth' => 'Promoslider Breite', + 'SHOP_THEME_sPromosliderWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sPromosliderWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sPromosliderWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sShowBargain' => 'Angebote der Woche anzeigen', + 'SHOP_THEME_sBargainWidth' => 'Angebote der Woche Breite', + 'SHOP_THEME_sBargainWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sBargainWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sBargainWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sShowTop' => 'Topseller anzeigen', + 'SHOP_THEME_sTopWidth' => 'Topseller Breite', + 'SHOP_THEME_sTopWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sTopWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sTopWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sShowNewest' => 'Neueste Produkte anzeigen', + 'SHOP_THEME_sNewestWidth' => 'Neueste Produkte Breite', + 'SHOP_THEME_sNewestWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sNewestWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sNewestWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sHeaderImageWidth' => 'Kategoriebild Breite', + 'SHOP_THEME_sHeaderImageWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sHeaderImageWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sHeaderImageWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sCategoryWidth' => 'Produktliste', + 'SHOP_THEME_sCategoryWidth_w100cContainer' => 'Hintergrund 100%, Inhalt mittig', + 'SHOP_THEME_sCategoryWidth_w100c100' => 'Alles 100%', + 'SHOP_THEME_sCategoryWidth_container' => 'Alles mittig', + + 'SHOP_THEME_sShowPopBreadcrump' => 'Brotkrumenpfad anzeigen', + + + 'SHOP_THEME_aNrofCatArticlesInGrid' => 'Für Galerie: Anzahl der Artikel, die in einer Artikelliste pro Seite angezeigt werden können

      Warnung: Eine große Anzahl von Artikeln pro Seite (über 100) kann die Geschwindigkeit des Shops erheblich beeinflussen!', + 'SHOP_THEME_aNrofCatArticles' => 'Anzahl der Artikel, die in einer Artikelliste pro Seite angezeigt werden können

      Warnung: Eine große Anzahl von Artikeln pro Seite (über 100) kann die Geschwindigkeit des Shops erheblich beeinflussen!', + + 'SHOP_THEME_sFacebookUrl' => 'Facebook Seiten-URL', + 'HELP_SHOP_THEME_sFacebookUrl' => 'Bsp.: https://www.facebook.com/cc.concepts.and.creations', + 'SHOP_THEME_sTwitterUrl' => 'Twitter Profil-URL', + 'HELP_SHOP_THEME_sTwitterUrl' => 'Bsp.: https://twitter.com/con_creat', + 'SHOP_THEME_sYouTubeUrl' => 'YouTube Kanal-URL', + 'HELP_SHOP_THEME_sYouTubeUrl' => 'Bsp.: https://www.youtube.com/user/oxidesales‎', + 'SHOP_THEME_sBlogUrl' => 'Blog-URL', + 'HELP_SHOP_THEME_sBlogUrl' => 'Bsp.: https://con-creat.de/blog.html', + 'SHOP_THEME_sInstagramUrl' => 'Instagram Profil-URL', + 'HELP_SHOP_THEME_sInstagramUrl' => 'Bsp.: https://www.instagram.com/conceptsandcreations/', + + 'SHOP_THEME_sGoogleMapsAddr' => 'Ihre Adresse', + 'HELP_SHOP_THEME_sGoogleMapsAddr' => 'Bsp.: OXID eSales AG, Bertoldstraße 48, 79098 Freiburg‎', + + 'SHOP_THEME_bl_showManufacturer' => 'Hersteller auf Startseite anzeigen‎', + + 'SHOP_THEME_blUseGAPageTracker' => 'Google Analytics PageTracker benutzen', + 'SHOP_THEME_blUseGAEcommerceTracking' => 'Google Analytics Ecommerce Tracking benutzen', + 'HELP_SHOP_THEME_blUseGAEcommerceTracking' => 'Bitte beachten Sie, dass diese Option zusätzlich in Ihrem Google Analytics Konto aktiviert sein muss. Anleitung: Link', + 'SHOP_THEME_sGATrackingId' => 'Google Analytics Tracking-ID', + 'HELP_SHOP_THEME_sGATrackingId' => 'Bsp.: UA-XXXXXXXX-1

      Für die rechtskonforme Nutzung dieser Funktion ist der Shopbetreiber selbst verantwortlich. Eine Anpassung der Datenschutzerklärung ist obligatorisch.', + 'SHOP_THEME_blGAAnonymizeIPs' => 'IP-Adressen anonymisieren (in DE Pflicht!)', + + 'SHOP_THEME_sLogoFile' => 'Dateiname des Logos im Header', + 'HELP_SHOP_THEME_sLogoFile' => 'Relativ zu dem Pfad /out/wave/img/.', + 'SHOP_THEME_sLogoWidth' => 'Breite des Header-Logos', + 'HELP_SHOP_THEME_sLogoWidth' => 'Angaben in Pixel.', + 'SHOP_THEME_sLogoHeight' => 'Höhe des Header-Logos', + 'HELP_SHOP_THEME_sLogoHeight' => 'Angaben in Pixel.', + + 'SHOP_THEME_sEmailLogo' => 'Dateiname des Logos im E-Mail-Kopf', + 'HELP_SHOP_THEME_sEmailLogo' => 'Relativ zu dem Pfad /out/wave/img/.', + + 'SHOP_THEME_sFaviconFile' => 'Dateiname des Favicons', + 'HELP_SHOP_THEME_sFaviconFile' => 'Hiermit ist das Favicon gemeint, welches im Browser auch beim Tab angezeigt wird.
      In der Regel handelt es sich hier um eine .ico-Datei.
      Relativ zu dem Pfad /out/wave/img/favicons/.', + 'SHOP_THEME_sFavicon16File' => 'Dateiname des Favicons mit den Maßen 16*16px.', + 'SHOP_THEME_sFavicon32File' => 'Dateiname des Favicons mit den Maßen 32*32px.', + 'SHOP_THEME_aAppleTouchIcon' => 'Apple Home-Screen Icon 310*310px.', + 'SHOP_THEME_aOGImage' => 'Bild für das Teilen der Seite (OG-Image)', + 'SHOP_THEME_sFaviconMSTileColor' => 'Kachel-Farbe für Windows 8/Windows Mobile Lesezeichen.', + 'HELP_SHOP_THEME_sFaviconMSTileColor' => 'Angabe als HEX-Wert.
      Bsp.: #D83434', + + 'SHOP_THEME_blUseBackground' => 'Hintergrundbild anzeigen', + 'SHOP_THEME_sBackgroundColor' => 'Hintergrundfarbe des Shops', + 'HELP_SHOP_THEME_sBackgroundColor' => 'Angabe als HEX-Wert.
      Bsp.: #D83434', + 'SHOP_THEME_sBackgroundPath' => 'Dateiname des Hintergrundbildes', + 'HELP_SHOP_THEME_sBackgroundPath' => 'Relativ zu dem Pfad /out/wave/img/backgrounds/.', + 'SHOP_THEME_sBackgroundRepeat' => 'Soll sich das Hintergrundbild wiederholen?', + 'SHOP_THEME_sBackgroundRepeat_no-repeat' => 'Nein', + 'SHOP_THEME_sBackgroundRepeat_repeat-x' => 'Ja, horizontal', + 'SHOP_THEME_sBackgroundRepeat_repeat-y' => 'Ja, vertikal', + 'SHOP_THEME_sBackgroundRepeat_repeat' => 'Ja, horizontal und vertikal', + 'SHOP_THEME_sBackgroundPosHorizontal' => 'Horizontale Position des Hintergrundbildes', + 'SHOP_THEME_sBackgroundPosHorizontal_left' => 'links', + 'SHOP_THEME_sBackgroundPosHorizontal_right' => 'rechts', + 'SHOP_THEME_sBackgroundPosHorizontal_center' => 'zentriert', + 'SHOP_THEME_sBackgroundPosVertical' => 'Vertikale Position des Hintergrundbildes', + 'SHOP_THEME_sBackgroundPosVertical_top' => 'oben', + 'SHOP_THEME_sBackgroundPosVertical_bottom' => 'unten', + 'SHOP_THEME_sBackgroundPosVertical_center' => 'zentriert', + 'SHOP_THEME_sBackgroundSize' => 'Hintergrundbild-Größe', + 'SHOP_THEME_sBackgroundSize_cover' => 'deckend (volle Höhe)', + 'SHOP_THEME_sBackgroundSize_contain' => 'deckend (volle Breite)', + 'SHOP_THEME_sBackgroundSize_normal' => 'Originalgröße behalten', + 'SHOP_THEME_blBackgroundAttachment' => 'Soll das Hintergrundbild beim Scrollen stehen bleiben?', + 'SHOP_THEME_sPrimaryColor' => 'Primäre Farbe', + + 'SHOP_THEME_blUseGoogleTS' => 'Google Zertifizierte Händler benutzen', + 'SHOP_THEME_sGoogleVendorId' => 'Google Store-ID (Erforderlich)', + 'HELP_SHOP_THEME_sGoogleVendorId' => 'Diese ID finden Sie im Händler-Dashboard von Google Zertifizierte Händler.', + 'SHOP_THEME_sGoogleShoppingAccountId' => 'Google Shopping Account-ID (Optional)', + 'HELP_SHOP_THEME_sGoogleShoppingAccountId' => 'Geben Sie dieses Feld nur an, wenn Sie Feeds an Google Shopping senden.

      Kundennummer im Google Merchant Center. Dieser Wert muss mit der Kundennummer übereinstimmen, die Sie zum Senden Ihres Produktdatenfeeds an Google Shopping über das Google Merchant Center verwenden. Wenn Sie ein MCA-Konto haben, verwenden Sie die Kundennummer des Unterkontos, das mit diesem Produktfeed verknüpft ist.', + 'SHOP_THEME_sPageLanguage' => 'Sprache Ihres Shops in ISO (Erforderlich)', + 'HELP_SHOP_THEME_sPageLanguage' => 'Der Sprach-Wert ist ein aus zwei Buchstaben bestehender ISO 639-1-Sprachcode und der Land-Wert ist ein aus zwei Buchstaben bestehender ISO 3166-1 ALPHA-2-Ländercode. In der Regel besteht <Land> aus Großbuchstaben und <Sprache> aus Kleinbuchstaben.

      Beispiele: de_DE, en_GB, fr_FR, en_AU, en_US oder ja_JP.', + 'SHOP_THEME_sShoppingCountry' => 'Google Shopping-Feed Land (Optional)', + 'HELP_SHOP_THEME_sShoppingCountry' => 'Geben Sie dieses Feld nur an, wenn Sie Feeds an Google Shopping senden.

      Dient zur Angabe des Landes, dem das Konto in Google Shopping zugeordnet ist. Dieser Wert sollte mit dem Land des Kontos übereinstimmen, das Sie verwenden, um Ihren Produktdatenfeed an Google Shopping zu senden.

      Der Wert des Landesparameters muss ein aus zwei Buchstaben bestehender ISO 3166-Ländercode sein.

      Beispiele: US, GB, AU, FR, DE, JP.', + 'SHOP_THEME_sShoppingLanguage' => 'Google Shopping-Feed Sprache (Optional)', + 'HELP_SHOP_THEME_sShoppingLanguage' => 'Geben Sie dieses Feld nur an, wenn Sie Feeds an Google Shopping senden.

      Dies ist die Sprache des Kontos aus Google Shopping. Dieser Wert sollte mit der Sprache des Kontos übereinstimmen, das Sie verwenden, um Ihren Produktdatenfeed an Google Shopping zu senden.

      Der Wert des Sprachparameters muss ein aus zwei Buchstaben bestehender ISO 639-1-Sprachcode sein.

      Beispiele: en, fr, de, ja.', + 'SHOP_THEME_sShippingDaysOnStock' => 'Anz. der Tage bis zum Versand einer Bestellung mit Artikeln, die alle auf Lager sind. (Erforderlich)', + 'HELP_SHOP_THEME_sShippingDaysOnStock' => 'Hierbei handelt es sich um das voraussichtliche Datum des Versands der Bestellung; dies ist nicht dasselbe wie das voraussichtliche Lieferdatum.

      Wenn die Bestellung mehrere Artikel umfasst, wählen Sie das späteste voraussichtliche Versanddatum aus.

      Wenn Sie Ihren Kunden einen Zeitraum nennen, geben Sie den letzten Tag des Zeitraums an. Wenn Sie beispielsweise innerhalb von 5 bis 7 Tagen versenden, geben Sie 7 Tage an.

      Der hier genannte Termin wird dem Kunden per E-Mail mitgeteilt.

      Nach dem voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum abgeschlossenen Kauf.', + 'SHOP_THEME_sShippingDaysNotOnStock' => 'Anz. der Tage bis zum Versand einer Bestellung, bei der mind. 1 Artikel nicht auf Lager ist. (Erforderlich)', + 'HELP_SHOP_THEME_sShippingDaysNotOnStock' => 'Hierbei handelt es sich um das voraussichtliche Datum des Versands der Bestellung; dies ist nicht dasselbe wie das voraussichtliche Lieferdatum.

      Wenn die Bestellung mehrere Artikel umfasst, wählen Sie das späteste voraussichtliche Versanddatum aus.

      Wenn Sie Ihren Kunden einen Zeitraum nennen, geben Sie den letzten Tag des Zeitraums an. Wenn Sie beispielsweise innerhalb von 5 bis 7 Tagen versenden, geben Sie 7 Tage an.

      Der hier genannte Termin wird dem Kunden per E-Mail mitgeteilt.

      Nach dem voraussichtlichen Versanddatum erhält der Kunde eine Umfrage zum abgeschlossenen Kauf.', + 'SHOP_THEME_sDeliveryDaysOnStock' => 'Anz. der Tage bis zur Lieferung einer Bestellung mit Artikeln, die alle auf Lager sind. (Erforderlich)', + 'HELP_SHOP_THEME_sDeliveryDaysOnStock' => 'Dies ist das voraussichtliche Datum, an dem Sie mit der Lieferung der Bestellung an den Kunden rechnen. Wenn die Bestellung mehrere Artikel umfasst, wählen Sie das späteste voraussichtliche Lieferdatum. Wenn Sie einen Lieferzeitraum nennen, geben Sie den letzten Tag des Zeitraums an, bei 5 bis 7 Tagen also 7 Tage.', + 'SHOP_THEME_sDeliveryDaysNotOnStock' => 'Anz. der Tage bis zur Lieferung einer Bestellung, bei der mind. 1 Artikel nicht auf Lager ist. (Erforderlich)', + 'HELP_SHOP_THEME_sDeliveryDaysNotOnStock' => 'Dies ist das voraussichtliche Datum, an dem Sie mit der Lieferung der Bestellung an den Kunden rechnen. Wenn die Bestellung mehrere Artikel umfasst, wählen Sie das späteste voraussichtliche Lieferdatum. Wenn Sie einen Lieferzeitraum nennen, geben Sie den letzten Tag des Zeitraums an, bei 5 bis 7 Tagen also 7 Tage.', + + 'SHOP_THEME_blSliderShowImageCaption' => 'Bildunterschriften im Slider auf der Startseite aktivieren', + 'HELP_SHOP_THEME_blSliderShowImageCaption' => 'Diese wird angezeigt, sobald einem Slide ein Produkt zugeordnet ist.', + + 'SHOP_THEME_sEcondaRecommendationsAID' => 'Account-ID', + 'HELP_SHOP_THEME_sEcondaRecommendationsAID' => 'Geben Sie hier Ihre econda Account-ID ein.
      Diese hat üblicherweise folgendes Format: XXXXXXXX-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX-X.
      Bitte denken Sie daran, das econda Webshop Controlling zu aktivieren.', + 'SHOP_THEME_blEcondaRecommendationsStart' => 'Recommendations auf Startseite anzeigen', + 'SHOP_THEME_sEcondaWidgetIdStart' => 'Recommendation-Widget-ID für Startseite', + 'SHOP_THEME_sEcondaRecommendationsFromStart' => 'Starte Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_sEcondaRecommendationsToStart' => 'Stoppe Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_blEcondaRecommendationsList' => 'Recommendations in Listenansicht anzeigen', + 'SHOP_THEME_sEcondaWidgetIdList' => 'Recommendation-Widget-ID für Listenansicht', + 'SHOP_THEME_sEcondaRecommendationsFromList' => 'Starte Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_sEcondaRecommendationsToList' => 'Stoppe Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_blEcondaRecommendationsDetails' => 'Recommendations auf Detailseite anzeigen', + 'SHOP_THEME_sEcondaWidgetIdDetails' => 'Recommendation-Widget-ID für Detailseite', + 'SHOP_THEME_sEcondaRecommendationsFromDetails' => 'Starte Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_sEcondaRecommendationsToDetails' => 'Stoppe Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_blEcondaRecommendationsBasket' => 'Recommendations im Warenkorb anzeigen', + 'SHOP_THEME_sEcondaWidgetIdBasket' => 'Recommendation-Widget-ID für Warenkorb', + 'SHOP_THEME_sEcondaRecommendationsFromBasket' => 'Starte Ausgabe der Recommendations ab Artikel', + 'SHOP_THEME_sEcondaRecommendationsToBasket' => 'Stoppe Ausgabe der Recommendations ab Artikel', + + 'SHOP_THEME_blEmailsShowProductPictures' => 'Produktbilder in E-Mails anzeigen', + +); diff --git a/en/lang.php b/en/lang.php new file mode 100644 index 0000000..5670dff --- /dev/null +++ b/en/lang.php @@ -0,0 +1,146 @@ +. + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ + +$sLangName = "English"; + +$aLang = array( + 'charset' => 'UTF-8', + + // Global + 'DD_SORT_DESC' => 'descending', + 'DD_SORT_ASC' => 'ascending', + 'DD_DEMO_ADMIN_TOOL' => 'Open admin interface', + 'DD_DELETE' => 'Delete', + + // Form validation + 'DD_FORM_VALIDATION_VALIDEMAIL' => 'Please enter a valid email address.', + 'DD_FORM_VALIDATION_PASSWORDAGAIN' => 'Passwords do not match.', + 'DD_FORM_VALIDATION_NUMBER' => 'Please enter a number.', + 'DD_FORM_VALIDATION_INTEGER' => 'There are no decimal places allowed.', + 'DD_FORM_VALIDATION_POSITIVENUMBER' => 'Please enter a positive number.', + 'DD_FORM_VALIDATION_NEGATIVENUMBER' => 'Please enter a negative number.', + 'DD_FORM_VALIDATION_REQUIRED' => 'Please specify a value for this required field.', + 'DD_FORM_VALIDATION_CHECKONE' => 'Please select at least one option.', + + // Header + 'SEARCH_TITLE' => 'Enter a search term...', + 'SEARCH_SUBMIT' => 'Search', + + // Footer + 'FOOTER_NEWSLETTER_INFO' => 'Get informed about the latest products and offers per email.', + + // Home page + 'MANUFACTURERSLIDER_SUBHEAD' => 'We present our carefully selected brands, whose products can be found in our shop.', + 'START_BARGAIN_HEADER' => 'Week\'s Special', + 'START_NEWEST_HEADER' => 'Just arrived', + 'START_TOP_PRODUCTS_HEADER' => 'Top seller', + 'START_BARGAIN_SUBHEADER' => 'Save money with our current bargains!', + 'START_NEWEST_SUBHEADER' => 'Fresh as it gets. One minute in the box and now already in store.', + 'START_TOP_PRODUCTS_SUBHEADER' => 'Only %s products, but the best we can offer you.', + + // Contact form + 'DD_CONTACT_PAGE_HEADING' => 'Contact us!', + 'DD_CONTACT_FORM_HEADING' => 'Contact', + + // Link list + 'DD_LINKS_NO_ENTRIES' => 'Unfortunately, there are no links available.', + + // 404 page + 'DD_ERR_404_START_TEXT' => 'You may find the information you want from our home page:', + 'DD_ERR_404_START_BUTTON' => 'Go to home page', + 'DD_ERR_404_CONTACT_TEXT' => 'May we assist you?
      Feel free to call us or write an email:', + 'DD_ERR_404_CONTACT_BUTTON' => 'to the contact page', + + // Login + 'DD_LOGIN_ACCOUNT_PANEL_CREATE_BODY' => 'By creating an account with our store, you will be guided through the checkout process faster. In addition, you can store multiple shipping addresses and track orders in your account.', + + // Billing address + 'DD_USER_LABEL_STATE' => 'State', + 'DD_USER_SHIPPING_SELECT_ADDRESS' => 'select', + 'DD_USER_SHIPPING_ADD_DELIVERY_ADDRESS' => 'add delivery address', + 'DD_DELETE_SHIPPING_ADDRESS' => 'Delete shipping address', + + // List views + 'DD_LISTLOCATOR_FILTER_ATTRIBUTES' => 'Filter', + 'DD_LIST_SHOW_MORE' => 'View products', + + // Recommendation list + 'DD_RECOMMENDATION_EDIT_BACK_TO_LIST' => 'back to overview', + + // Downloads + 'DD_DOWNLOADS_DOWNLOAD_TOOLTIP' => 'downloaded', + 'DD_FILE_ATTRIBUTES_FILESIZE' => 'File size:', + 'DD_FILE_ATTRIBUTES_OCLOCK' => 'o\'clock', + 'DD_FILE_ATTRIBUTES_FILENAME' => 'File name:', + + // Details page + 'BACK_TO_OVERVIEW' => 'to overview', + 'OF' => 'of', + 'DD_RATING_CUSTOMERRATINGS' => 'Customer reviews', + 'PAGE_DETAILS_CUSTOMERS_ALSO_BOUGHT_SUBHEADER' => 'Customers who bought this item also bought one of the following products.', + 'WIDGET_PRODUCT_RELATED_PRODUCTS_ACCESSORIES_SUBHEADER' => 'The following products fit well to this product.', + 'WIDGET_PRODUCT_RELATED_PRODUCTS_SIMILAR_SUBHEADER' => 'Take a look at our similar products.', + 'WIDGET_PRODUCT_RELATED_PRODUCTS_CROSSSELING_SUBHEADER' => 'Customers who viewed this product also viewed the following products.', + 'DETAILS_VPE_MESSAGE_1' => "This product can only be ordered in packaging units of ", + 'DETAILS_VPE_MESSAGE_2' => "", + + // Modal basket + 'DD_MINIBASKET_MODAL_TABLE_PRICE' => 'Total', + 'DD_MINIBASKET_CONTINUE_SHOPPING' => 'continue shopping', + + // Checkout + 'DD_BASKET_BACK_TO_SHOP' => 'back to shop', + + // E-Mails + 'DD_FOOTER_FOLLOW_US' => 'Follow us:', + 'DD_FORGOT_PASSWORD_HEADING' => 'Forgot password', + 'DD_INVITE_HEADING' => 'Article recommendation', + 'DD_INVITE_LINK' => 'Link', + 'DD_NEWSLETTER_OPTIN_HEADING' => 'Your newsletter subscription', + 'DD_ORDERSHIPPED_HEADING' => 'Delivery confirmation - Order', + 'DD_PRICEALARM_HEADING' => 'Pricealarm', + 'DD_REGISTER_HEADING' => 'Your registration', + 'DD_DOWNLOADLINKS_HEADING' => 'Your download links - Order', + 'DD_WISHLIST_HEADING' => 'Wishlist', + + 'DD_ROLES_BEMAIN_UIROOTHEADER' => 'Menu', + + 'DD_DELETE_MY_ACCOUNT_WARNING' => 'This action cannot be undone. This will permanently delete your personal data.', + 'DD_DELETE_MY_ACCOUNT' => 'Delete account', + 'DD_DELETE_MY_ACCOUNT_CONFIRMATION_QUESTION' => 'Are you sure you want to delete your account?', + 'DD_DELETE_MY_ACCOUNT_CANCEL' => 'Cancel', + 'DD_DELETE_MY_ACCOUNT_SUCCESS' => 'The account has been deleted', + 'DD_DELETE_MY_ACCOUNT_ERROR' => 'The account could not have been deleted', + + // Account -> My product reviews + 'DD_DELETE_REVIEW_AND_RATING' => 'Delete review and star rating', + 'DD_REVIEWS_NOT_AVAILABLE' => 'No reviews available', + 'DD_DELETE_REVIEW_CONFIRMATION_QUESTION' => 'Are you sure you want to delete the review?', + + // Contact page + 'DD_SELECT_SALUTATION' => 'Please choose', + + 'DD_CATEGORY_RESET_BUTTON' => 'Reset', +); + +/* +[{ oxmultilang ident="GENERAL_YOUWANTTODELETE"}] +*/ diff --git a/en/theme_options.php b/en/theme_options.php new file mode 100644 index 0000000..c8b0dd0 --- /dev/null +++ b/en/theme_options.php @@ -0,0 +1,208 @@ +. + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ + +$sLangName = 'English'; + +$aLang = array( + 'charset' => 'UTF-8', + + 'SHOP_THEME_GROUP_images' => 'Images', + 'SHOP_THEME_GROUP_features' => 'Features', + 'SHOP_THEME_GROUP_display' => 'Display', + 'SHOP_THEME_GROUP_logo' => 'Logo', + 'SHOP_THEME_GROUP_favicons' => 'Favicons', + 'SHOP_THEME_GROUP_footer' => 'Footer', + 'SHOP_THEME_GROUP_header' => 'Header', + 'SHOP_THEME_GROUP_contact' => 'Contact', + 'SHOP_THEME_GROUP_googleanalytics' => 'Google Analytics', + 'SHOP_THEME_GROUP_googlets' => 'Google Trusted Stores', + 'SHOP_THEME_GROUP_background' => 'Background-image', + 'SHOP_THEME_GROUP_econda' => 'econda Web Shop Controlling', + 'SHOP_THEME_GROUP_emails' => 'E-mails', + + 'SHOP_THEME_sIconsize' => 'Icon size (width*height)', //SHOP_CONFIG_ICONSIZE + 'HELP_SHOP_THEME_sIconsize' => 'Icons are the smallest pictures of a product. They are used:
      ' . + '
      • in the shopping cart.
      • ' . + '
      • if products are shown in the right menu (e.g. in TOP of the Shop and Bargain).
      ' . + 'For avoiding design issues caused by too big icons the icons are resized. Enter the maximum size for icons here.', + + 'SHOP_THEME_sThumbnailsize' => 'Thumbnail size (width*height)', //SHOP_CONFIG_THUMBNAILSIZE + 'HELP_SHOP_THEME_sThumbnailsize' => 'Thumbnails are small product pictures. They are used:
      ' . + '
      • in product lists.
      • ' . + '
      • in promotions displayed in the middle of the front page, e. g. Just arrived!.
      ' . + 'For avoiding design issues caused by too big thumbnails the thumbnails are resized. Enter the maximum size for thumbnails here.', + + 'SHOP_THEME_sZoomImageSize' => 'Zoom picture size (width*height)', //SHOP_CONFIG_ZOOMIMAGESIZE + 'SHOP_THEME_sCatThumbnailsize' => 'Category picture size (width*height)', //SHOP_CONFIG_CATEGORYTHUMBNAILSIZE + 'HELP_SHOP_THEME_sCatThumbnailsize' => 'In category view, the picture of the selected category is displayed in the defined size.', //SHOP_CONFIG_CATEGORYTHUMBNAILSIZE + 'SHOP_THEME_aDetailImageSizes' => 'Product picture size (width*height)', //SHOP_CONFIG_DETAILIMAGESIZE + + 'SHOP_THEME_sManufacturerIconsize' => 'Manufacturer\'s/brand logo size', // Check if this is really manufacturer or if it is more like "brand" + 'HELP_SHOP_THEME_sManufacturerIconsize' => 'Manufacturer\'s/brand logo is shown on start page in manufacturer\'s slider.', + + 'SHOP_THEME_sCatIconsize' => 'Size of a subcategory\'s picture (width*height)', + 'HELP_SHOP_THEME_sCatIconsize' => 'In category view, the category pictures of subcategories are displayed in the defined size.', + + 'SHOP_THEME_sCatPromotionsize' => 'Category picture size for promotion on startpage (width*height)', + 'HELP_SHOP_THEME_sCatPromotionsize' => 'Category promotion on start page needs special size for category pictures. Define size of those pictures here.', + + 'SHOP_THEME_blFooterShowHelp' => 'Use help link', + 'SHOP_THEME_blFooterShowLinks' => 'Use Links link', + 'SHOP_THEME_blFooterShowNewsletter' => 'Use newsletter link', + 'SHOP_THEME_blFooterShowNewsletterForm' => 'Use newsletter form', + 'SHOP_THEME_blFooterShowNews' => 'Use news link', + 'SHOP_THEME_bl_showGiftWrapping' => 'Use gift wrapping', //SHOP_CONFIG_SHOWGIFTWRAPPING + 'SHOP_THEME_bl_showVouchers' => 'Use vouchers', //SHOP_CONFIG_SHOWVOUCHERS + 'SHOP_THEME_bl_showWishlist' => 'Use gift registry', //SHOP_CONFIG_SHOWWISHLIST + 'SHOP_THEME_bl_showCompareList' => 'Use compare list', //SHOP_CONFIG_SHOWCOMPARELIST + 'SHOP_THEME_bl_showListmania' => 'Use listmania', //SHOP_CONFIG_SHOWLISTMANIA + 'SHOP_THEME_blShowBirthdayFields' => 'Display input fields for date of birth when users enter their personal data', //SHOP_CONFIG_SHOWBIRTHDAYFIELDS + + 'SHOP_THEME_iTopNaviCatCount' => 'Amount of categories that is displayed at top', //SHOP_CONFIG_TOPNAVICATCOUNT + 'SHOP_THEME_blShowFinalStep' => 'Show order confirmation after order is finished (5th Step in Checkout)', //SHOP_SYSTEM_SHOWFINALSTEP + 'SHOP_THEME_iNewBasketItemMessage' => 'Select action when product is added to cart', //SHOP_SYSTEM_SHOWNEWBASKETITEMMESSAGE + 'HELP_SHOP_THEME_iNewBasketItemMessage' => 'When customer adds products to cart, OXID eShop can behave differently. Set up what shall happen to give proper feedback to customer.', //SHOP_SYSTEM_SHOWNEWBASKETITEMMESSAGE + 'SHOP_THEME_iNewBasketItemMessage_0' => 'None', + 'SHOP_THEME_iNewBasketItemMessage_1' => 'Display message', + 'SHOP_THEME_iNewBasketItemMessage_2' => 'Open popup', + 'SHOP_THEME_iNewBasketItemMessage_3' => 'Open basket', + + 'SHOP_THEME_blShowListDisplayType' => 'Display product list type selector', + 'HELP_SHOP_THEME_blShowListDisplayType' => 'Decide if the visitor of your store can select the type of the product list in store front. If this options is not activated, your visitors will see the lists displayed like you adjusted in the drop box "Default product list type".', + 'SHOP_THEME_sDefaultListDisplayType' => 'Default product list type', + 'SHOP_THEME_sDefaultListDisplayType_grid' => 'Grid', + 'SHOP_THEME_sDefaultListDisplayType_line' => 'List', + 'SHOP_THEME_sDefaultListDisplayType_infogrid' => 'Double grid', + 'SHOP_THEME_sStartPageListDisplayType' => 'Product list type on Start page', + 'SHOP_THEME_sStartPageListDisplayType_grid' => 'Grid', + 'SHOP_THEME_sStartPageListDisplayType_line' => 'List', + 'SHOP_THEME_sStartPageListDisplayType_infogrid' => 'Double grid', + + 'SHOP_THEME_aNrofCatArticlesInGrid' => 'Grid view: Number of products which can be shown in a product lists (category pages, search results)

      Attention: A large number of products per page (above 100) can cause performance loss!', + 'SHOP_THEME_aNrofCatArticles' => 'Number of products which can be shown in a product lists (category pages, search results)

      Attention: A large number of products per page (above 100) can cause performance loss!', + + 'SHOP_THEME_sFacebookUrl' => 'Facebook Page-URL', + 'HELP_SHOP_THEME_sFacebookUrl' => 'E.g.: https://www.facebook.com/oxidesales', + 'SHOP_THEME_sTwitterUrl' => 'Twitter Profile-URL', + 'HELP_SHOP_THEME_sTwitterUrl' => 'E.g.: https://twitter.com/OXID_eSales', + 'SHOP_THEME_sBlogUrl' => 'Blog-URL', + 'HELP_SHOP_THEME_sBlogUrl' => 'E.g.: http://blog.oxid-esales.com', + 'SHOP_THEME_sYouTubeUrl' => 'YouTube Channel-URL', + 'HELP_SHOP_THEME_sYouTubeUrl' => 'E.g.: https://www.youtube.com/user/oxidesales', + 'SHOP_THEME_sGooglePlusUrl' => 'Google+ Page-URL', + 'HELP_SHOP_THEME_sGooglePlusUrl' => 'E.g.: https://plus.google.com/114133952363540971062', + + 'SHOP_THEME_sGoogleMapsAddr' => 'Your postal address', + 'HELP_SHOP_THEME_sGoogleMapsAddr' => 'E.g.: OXID eSales AG, Bertoldstraße 48, 79098 Freiburg', + + 'SHOP_THEME_bl_showManufacturerSlider' => 'Show manufacturer slider on Start page', + + 'SHOP_THEME_blUseGAPageTracker' => 'Use Google Analytics PageTracker', + 'SHOP_THEME_blUseGAEcommerceTracking' => 'Use Google Analytics Ecommerce Tracking', + 'HELP_SHOP_THEME_blUseGAEcommerceTracking' => 'Please keep in mind that this option needs to be enabled in your Google Analytics account, too. Manual: Link', + 'SHOP_THEME_sGATrackingId' => 'Google Analytics Tracking-ID', + 'HELP_SHOP_THEME_sGATrackingId' => 'E.g.: UA-XXXXXXXX-1

      The shop owner is responsible for the legal use of this function. An adaptation of the privacy policy is mandatory.', + 'SHOP_THEME_blGAAnonymizeIPs' => 'Anonymize IP-Adresses', + + 'SHOP_THEME_sLogoFile' => 'Filename of logo', + 'HELP_SHOP_THEME_sLogoFile' => 'This is relative to the path /out/wave/img/.', + + 'SHOP_THEME_sLogoWidth' => 'Width of header logo', + 'HELP_SHOP_THEME_sLogoWidth' => 'Specify in as a pixel value.', + 'SHOP_THEME_sLogoHeight' => 'Height of header logo', + 'HELP_SHOP_THEME_sLogoHeight' => 'Specify in as a pixel value.', + + 'SHOP_THEME_sEmailLogo' => 'Filename of logo for email header', + 'HELP_SHOP_THEME_sEmailLogo' => 'This is relative to the path /out/wave/img/.', + + 'SHOP_THEME_sFaviconFile' => 'Favicon filename', + 'HELP_SHOP_THEME_sFaviconFile' => 'This favicon is meant to be displayed in the browser\'s tab.
      In general, this is an ico file.
      This is relative to the path /out/wave/img/favicons/.', + 'SHOP_THEME_sFavicon16File' => 'Filename of the favicon with 16*16px.', + 'SHOP_THEME_sFavicon32File' => 'Filename of the favicon with 32*32px.', + 'SHOP_THEME_sFavicon48File' => 'Filename of the favicon with 48*48px.', + 'SHOP_THEME_sFavicon64File' => 'Filename of the favicon with 64*64px.', + 'SHOP_THEME_sFavicon128File' => 'Filename of the favicon with 128*128px.', + 'SHOP_THEME_sFavicon512File' => 'Filename of the favicon with 512*512px.', + 'SHOP_THEME_sFaviconMSTileColor' => 'Tile color for Windows 8/Windows Mobile bookmarks.', + 'HELP_SHOP_THEME_sFaviconMSTileColor' => 'Specified as a hexadecimal value.
      E.g.: #D83434', + + 'SHOP_THEME_blUseBackground' => 'Show background-image', + 'SHOP_THEME_sBackgroundColor' => 'Background-color of shop', + 'HELP_SHOP_THEME_sBackgroundColor' => 'Specified as a hexadecimal value.
      E.g.: #D83434', + 'SHOP_THEME_sBackgroundPath' => 'Filename of background-image', + 'HELP_SHOP_THEME_sBackgroundPath' => 'This is relative to the path /out/wave/img/backgrounds/.', + 'SHOP_THEME_sBackgroundRepeat' => 'Repeat background-image?', + 'SHOP_THEME_sBackgroundRepeat_no-repeat' => 'No', + 'SHOP_THEME_sBackgroundRepeat_repeat-x' => 'Yes, horizontal', + 'SHOP_THEME_sBackgroundRepeat_repeat-y' => 'Yes, vertical', + 'SHOP_THEME_sBackgroundRepeat_repeat' => 'Yes, horizontal and vertical', + 'SHOP_THEME_sBackgroundPosHorizontal' => 'Horizontal position of the background-image', + 'SHOP_THEME_sBackgroundPosHorizontal_left' => 'left', + 'SHOP_THEME_sBackgroundPosHorizontal_right' => 'right', + 'SHOP_THEME_sBackgroundPosHorizontal_center' => 'centered', + 'SHOP_THEME_sBackgroundPosVertical' => 'Vertical position of the background-image', + 'SHOP_THEME_sBackgroundPosVertical_top' => 'top', + 'SHOP_THEME_sBackgroundPosVertical_bottom' => 'bottom', + 'SHOP_THEME_sBackgroundPosVertical_center' => 'centered', + 'SHOP_THEME_sBackgroundSize' => 'Background-image size', + 'SHOP_THEME_sBackgroundSize_cover' => 'cover (full height)', + 'SHOP_THEME_sBackgroundSize_contain' => 'cover (full width)', + 'SHOP_THEME_sBackgroundSize_normal' => 'Keep original size', + 'SHOP_THEME_blBackgroundAttachment' => 'Fix background while scrolling?', + + 'SHOP_THEME_blUseGoogleTS' => 'Use Google Trusted Stores', + 'SHOP_THEME_sGoogleVendorId' => 'Google Store-ID', + 'HELP_SHOP_THEME_sGoogleVendorId' => 'You can find this ID in your Trusted Stores Merchant Dashboard.', + 'SHOP_THEME_sGoogleShoppingAccountId' => 'Google Shopping Account-ID (optional)', + 'HELP_SHOP_THEME_sGoogleShoppingAccountId' => 'Provide this field only if you submit feeds for Google Shopping.

      Account ID from Google Merchant Center. This value should match the account ID you use to submit your product data feed to Google Shopping through Google Merchant center. If you have a MCA account, use the subaccount ID associated with that product feed.', + 'SHOP_THEME_sPageLanguage' => 'Language of your Shop in ISO', + 'HELP_SHOP_THEME_sPageLanguage' => 'The locale should be in the format of <language>_<country>

      <Language> is a two-letter language code defined in ISO 639-1, and <country> is a two-letter country code defined in ISO 3166-1 alpha-2. Usually <country> should be all capitalized, and <language> should be in lowercase. e.g. en_US, en_GB, en_AU, fr_FR, de_DE, or ja_JP.', + 'SHOP_THEME_sShoppingCountry' => 'Google Shopping-Feed Country (optional)', + 'HELP_SHOP_THEME_sShoppingCountry' => 'Provide this field only if you submit feeds for Google Shopping.

      Account country from Google Shopping. This value should match the account country you use to submit your product data feed to Google Shopping.

      The value of the country parameter should be a two-letter ISO 3166 country code.

      For example, values could be US, GB, AU, FR, DE, JP.', + 'SHOP_THEME_sShoppingLanguage' => 'Google Shopping-Feed Language (optional)', + 'HELP_SHOP_THEME_sShoppingLanguage' => 'Provide this field only if you submit feeds for Google Shopping.

      Account language from Google Shopping. This value should match the account language you use to submit your product data feed to Google Shopping.

      The value of the language parameter should be a two-letter ISO 639-1 language code.

      For example, values could be en, fr, de, ja.', + 'SHOP_THEME_sShippingDaysOnStock' => 'Amount of days till shipping of an order that has all articles in stock.', + 'HELP_SHOP_THEME_sShippingDaysOnStock' => 'The estimated date on which you will ship the order; this is different from the estimated delivery date.

      If the order contains multiple items, select the latest estimated ship date.

      If you message to your customers a range of days, please include the later end of the range. (e.g., 7 days if your shipping range is 5-7 days).

      The date provided here will be provided to the customer via email.

      The customer will receive a post purchase survey after the Estimated Ship Date has passed.', + 'SHOP_THEME_sShippingDaysNotOnStock' => 'Amount of days till shipping of an order that has not all articles in stock.', + 'HELP_SHOP_THEME_sShippingDaysNotOnStock' => 'The estimated date on which you will ship the order; this is different from the estimated delivery date.

      If the order contains multiple items, select the latest estimated ship date.

      If you message to your customers a range of days, please include the later end of the range. (e.g., 7 days if your shipping range is 5-7 days).

      The date provided here will be provided to the customer via email.

      The customer will receive a post purchase survey after the Estimated Ship Date has passed.', + 'SHOP_THEME_sDeliveryDaysOnStock' => 'Amount of days till delivery of an order that has all articles in stock.', + 'HELP_SHOP_THEME_sDeliveryDaysOnStock' => 'The estimated date on which you expect delivery of the order to the customer. If the order contains multiple items, select the latest delivery date. If you message a range of days, please include the later end of the range. (e.g., 7 days if your range is 5-7 days).', + 'SHOP_THEME_sDeliveryDaysNotOnStock' => 'Amount of days till delivery of an order that has not all articles in stock.', + 'HELP_SHOP_THEME_sDeliveryDaysNotOnStock' => 'The estimated date on which you expect delivery of the order to the customer. If the order contains multiple items, select the latest delivery date. If you message a range of days, please include the later end of the range. (e.g., 7 days if your range is 5-7 days).', + + 'SHOP_THEME_blSliderShowImageCaption' => 'Activate captions for slider on home page', + 'HELP_SHOP_THEME_blSliderShowImageCaption' => 'A caption is visible, when the active slide has an assigned product.', + + 'SHOP_THEME_sEcondaAccountId' => 'econda-ID', + 'HELP_SHOP_THEME_sEcondaAccountId' => 'Please enter your econda ID.
      Format: XXXXXXXX-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX-X.
      Please keep in mind to activate the econda Webshop Controlling in your shop.', + 'SHOP_THEME_blEcondaRecommendationsStart' => 'Show recommendations on home page', + 'SHOP_THEME_sEcondaWidgetIdStart' => 'Recommendation-Widget-ID für Startseite', + 'SHOP_THEME_blEcondaRecommendationsList' => 'Show recommendations in listings', + 'SHOP_THEME_sEcondaWidgetIdList' => 'Recommendation-Widget-ID für Listenansicht', + 'SHOP_THEME_blEcondaRecommendationsDetails' => 'Show recommendations on details page', + 'SHOP_THEME_sEcondaWidgetIdDetails' => 'Recommendation-Widget-ID für Detailseite', + 'SHOP_THEME_blEcondaRecommendationsBasket' => 'Show recommendations in basket', + 'SHOP_THEME_sEcondaWidgetIdBasket' => 'Recommendation-Widget-ID für Warenkorb', + + 'SHOP_THEME_blFullwidthLayout' => 'Activate full width layout', + + 'SHOP_THEME_blEmailsShowProductPictures' => 'Show product pictures in emails', +); diff --git a/htaccess_VORLAGE b/htaccess_VORLAGE new file mode 100755 index 0000000..68a901b --- /dev/null +++ b/htaccess_VORLAGE @@ -0,0 +1,92 @@ + + Options +FollowSymLinks + RewriteEngine On + RewriteBase / + + RewriteCond %{REQUEST_URI} config\.inc\.php [NC] + RewriteRule ^config\.inc\.php index\.php [R=301,L] + + RewriteCond %{REQUEST_URI} setup [NC] + RewriteRule ^setup(.*)$ Setup$1 [R=301,L] + + RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) + RewriteRule .* - [F] + + RewriteCond %{REQUEST_URI} oxseo\.php$ + RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off + RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L] + + RewriteCond %{REQUEST_URI} !(\/admin\/|\/Core\/|\/Application\/|\/export\/|\/modules\/|\/out\/|\/Setup\/|\/tmp\/|\/views\/) + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule !(\.html|\/|\.jpe?g|\.css|\.pdf|\.doc|\.gif|\.png|\.js|\.htc|\.svg)$ %{REQUEST_URI}/ [NC,R=301,L] + + RewriteCond %{REQUEST_URI} !(\/admin\/|\/Core\/|\/Application\/|\/export\/|\/modules\/|\/out\/|\/Setup\/|\/tmp\/|\/views\/) + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule (\.html|\/)$ oxseo.php + + + RewriteCond %{REQUEST_URI} (\/out\/pictures\/generated\/) + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d + RewriteRule (\.jpe?g|\.gif|\.png|\.svg)$ getimg.php [NC] + + RewriteRule ^(vendor/) - [F,L,NC] + RewriteRule ^migration - [R=403,L] + + +# disabling log file access from outside + + + Require all denied + + + Order allow,deny + Deny from all + + + + + + Header set Cache-Control "max-age=31536000, public" + + + +# Prevent .ht* files from being sent to outside requests + + + Require all denied + + + Order allow,deny + Deny from all + + + +AddType video/webm .webm +AddType video/ogg .ogm +AddType video/ogg .ogv +AddType video/ogg .ogg + +Options -Indexes +DirectoryIndex index.php index.html + + +AddOutputFilterByType DEFLATE text/plain +AddOutputFilterByType DEFLATE text/html +AddOutputFilterByType DEFLATE text/xml +AddOutputFilterByType DEFLATE text/shtml +AddOutputFilterByType DEFLATE text/css +AddOutputFilterByType DEFLATE application/xml +AddOutputFilterByType DEFLATE application/xhtml+xml +AddOutputFilterByType DEFLATE application/rss+xml +AddOutputFilterByType DEFLATE application/javascript +AddOutputFilterByType DEFLATE application/x-javascript +SetOutputFilter DEFLATE + + + +AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript + + diff --git a/offline.html b/offline.html new file mode 100644 index 0000000..e7fd597 --- /dev/null +++ b/offline.html @@ -0,0 +1,65 @@ + + + + + + + + Wartungsarbeiten + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      +
      +
      +

      Wartungsarbeiten

      +

      Es werden im Moment Wartungsarbeiten an unserem Shop durchgeführt. Wir bitten um Ihr Verständnis und danken für Ihre Geduld. Bitte besuchen Sie uns später erneut.

      +
      +
      +
      +
      + + \ No newline at end of file diff --git a/out/moga/img/favicons/apple-icon-310x310.png b/out/moga/img/favicons/apple-icon-310x310.png new file mode 100644 index 0000000000000000000000000000000000000000..ec89666ac673a443a0f0ff85d8c8558abb55cf14 GIT binary patch literal 13387 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 vaj=;&88R9%v2t;ka+m literal 0 HcmV?d00001 diff --git a/out/moga/img/favicons/favicon-16x16.png b/out/moga/img/favicons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..c3fae778c22421bf6691f8abefdb35d495f70eb5 GIT binary patch literal 1255 zcmZ{jdraF^6vr=NER%_tWeRf?yMz*DwEg}1qWuAuBCjGXrIZyFVSW7C{$PECmRBVU zOvYg26_}aPg_wbm@f3v+hY%p)u?&PjL?8w*K*IYu-Y+kUiMYf+&OJHje$Mxtn|p7r zL>%m3|DHVnz(E)iAcg+zQ@dab*AJ+UkCn*7oSdA#zP`4$ zw$07W+}vCb4-Z#Y*Q2AOyu7@utSq%!T~}Af=kqru-5p7TmuobK#m~4{Q_eKFP2*TsE!l?X-5LXslS}iw^J`;GT}?cC>00#X_wq&O9(hp4h6H2hKh7k5ClEb-I2(H}y52g@ zVq!vSLyO#YEao==zMqAVh3y!H0 zap(X8VIWk5M@3K>!p2Yz#$;Yc5DY;s853mxDbO3$geL9(3sj6@_ys`FX$P}WV@XjY z;y|cZXmOE3OQ;ga9GVx6OXZOn2+E=&Y%0niN1zPr;0LNl3s~n0Y+7l9yeGpOaf6eKr2sL=&v!adSaLkC$u^XKzR&Dka!m|PG@xf zVdR9`qB})~Ypz{@$dxmQh|uGfG!qV9O+_~uwEUlLh+oqY$sh$#Hjm3=dNFy-@BfJS z3nGqZbRr2W4iJC;hfh9Qf?GGvY(+_hKttTZ;qmEugXNY{OV=op36;@crvG~}bVQ|M wF_;y9=CJW`NXt06?=R0vFrN9nA7$^>?^S^oLZ}w61od5s; literal 0 HcmV?d00001 diff --git a/out/moga/img/favicons/favicon-32x32.png b/out/moga/img/favicons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..da382d2458a6986a94746875525649820a5b93fd GIT binary patch literal 1811 zcmZ{kc~H~W7RN730NGU*ksX8<-b?uX5)vQ}&_ECZ1Pz3x`dE?>NFsp{LKBfqMG@3i zwkLxWC!8i4c+0M?PM^l1PRApqV+06;7RKwnTSr8xs2Z*kO@?ygeb&Fff>#o4a}QriFz?N=k~a zuWx*O{O0B+lgWJg^l3{=iXo~@dr(l&=;-MF{rgi> zQC;c@$sIXo{^D}QuTu;kRHo1eLTtF0?OD633ds*zDNK-&uYiyDEVPA7^3wh%D&t%H+2w%-3aQ5+lod1;E(s+#kn`Mp z@{`fMS~@zpjm;|UQG>x2Z6RK?W9Nl~Un}qkeM#C@nUlZj4z`-pznb;FTkVE7enfll z0yb*y>J2-4tkzvupG7@MKburi+Cq77+aptnm*Jj!(Yk6y+|r&Nz~tR_Mx#)53M&?k zjpvJ9Et|fv>enjMoih@=6MQv&PkH>DCgV>-UJaYrpnMr#J#MPGY&yDJEtMLc^SK*nkXO%ZP;9Ea#+{W`*B7kb4jg9Q z9a~TXvCX9Z(FJ+gxeBvK`MH(YvF_o5)E*c0No@_i)^JLS`}zju0KPdwg5sE*gls!{ z2`p>Wcf)9XmSj3iiTD1(RDp@JwQ`Bz7BiVCFp%()9;Zb#s0S<=^$k5T=p8$*`iB14Fi47n(xBPO~S>!0_lcPX?3W(yyu#xB6@nc0XanW{Bj4!#Y zxYz`{KO18Qu~_z4Tol8J1;Y;bD3}2;VS6VBwqq0lXAe8FFh~Xlx!<;lu^6cUC?0;~ Jdbfx({{wv*^q&9# literal 0 HcmV?d00001 diff --git a/out/moga/img/favicons/favicon-96x96.png b/out/moga/img/favicons/favicon-96x96.png new file mode 100644 index 0000000000000000000000000000000000000000..a5666cdcfe8899a1e4217c06151314c9ddb8f7a9 GIT binary patch literal 3654 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 o#8C>WAcvKAhRHysnW^`a6&FV`GrZFH?<4GqEV zcH{i~{0sK8QLR=%S}(7!ugpvROk7@GO5Y*O-Q683m5Kx>{>fL9o0}V)ot;TJR8uya zt%c!qI^pyAB-`utVtIL)Z94n@{(h*{YK)AGfck1~Zsu8~gtxahjE;_Cb8}O|udS_N zYHA9nr>Bgg`O4*T%m?u*lgY5VyUY26x7lpi*w~QpD=RB}AEMDH1_uXGo4ft}eKa*S z@!2jdEpd<3heDx%*=$C+T;?+#9v%kOaCmqKl}g3mqCM8v*U{SAik+Pu?y0Y@4;>vH zn4O)4)oKOJYj<}y*F&>H{L}o?9(uhVy}iAlyGlZQ5;rufkB^VIzP?5xkw7w;1o2&y W=jUfo-QjQ;g+hVvckO@Rf8QTg=O}If literal 0 HcmV?d00001 diff --git a/out/moga/img/lang/blank.png b/out/moga/img/lang/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..454b6f6d1bc176da308097e0d9e65a1a2a6cb34f GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^_!2~3^cmJ3Gq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6=`_7IEGZ*O0p?_#=~6Lz}nH<+snDiy84@rF!RNP5KV5C fGaZ3k0tpOLeAplFIP@b7sE5JR)z4*}Q$iB}7uhGx literal 0 HcmV?d00001 diff --git a/out/moga/img/lang/de.png b/out/moga/img/lang/de.png new file mode 100644 index 0000000000000000000000000000000000000000..5896335558a7c7f21ebfd34a01264a090bb9b8ab GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^d_c^_!3-ofv(Ntuq$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c75N4Dgt!9fsoL_d%jJJOXZY-D^2E%9mzDM18P*^78J_Op z;$vm~`GDc)ONN)uCT}X_-=AZBYG(2mTiO!xbjv*Dde2#AyJYXQeY+!Zjl;zv~E3EG=W_GJz$uGgd7G0Jsd#Fj@T(p0h woENX<91){syHEIr{GPb>LSW#P{S3?uKVC4eT^cWy05p!l)78&qol`;+08L3(ng9R* literal 0 HcmV?d00001 diff --git a/out/moga/img/lang/en.png b/out/moga/img/lang/en.png new file mode 100644 index 0000000000000000000000000000000000000000..e8497157534b02617d496307bb02ba413052e4a4 GIT binary patch literal 671 zcmV;Q0$}}#P)|Ajs7?(_eLK8~a4|2hzcipssc+wSl3t*_Rut=Ih=CiD0I{}>~rrqca1 zD*A*!|2Z)3w#i39t@~m>@!jt8-|xxN_0G-V@2IQs(c$9b?0a#^|6o1a+w0ZT>(9{U z4Iinnwc`G|zqz;FaA&k;W3_m0x9X>_2NIp5sMC#%&C|@>|2Z$j)b@6W*7k}(@ALil z`S%PTsGoGRzQEi5y~LGtukp>@nXT*o{``=P$-=|jhK0)j0G0np0{>|h|7jMgtJ6_X zvxSMsij2&!vDfIq#s7^(l$6bPY{$#h_2;v^|2z}i-R;cH;@8>c|5*|6qNwWZ?{93l z|Bgqqv)%tNCEecT^0~@OO0fMPD$LB`qjt6I>h<=CKk4W5{WdY_z{CALGyho~otm4ZHW8eY^FaWNdBV5}pQb+&*002ovPDHLk FV1kJ&b6x-d literal 0 HcmV?d00001 diff --git a/out/moga/img/loading.svg b/out/moga/img/loading.svg new file mode 100644 index 0000000..b0daf87 --- /dev/null +++ b/out/moga/img/loading.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/moga/img/moga.png b/out/moga/img/moga.png new file mode 100644 index 0000000000000000000000000000000000000000..d730d22f87e61eeb4f9ff5ae2352da2466ad7cd6 GIT binary patch literal 50252 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 N002ovPDHLkV1lvMfp!1@ literal 0 HcmV?d00001 diff --git a/out/moga/moga.png b/out/moga/moga.png new file mode 100644 index 0000000000000000000000000000000000000000..d730d22f87e61eeb4f9ff5ae2352da2466ad7cd6 GIT binary patch literal 50252 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 N002ovPDHLkV1lvMfp!1@ literal 0 HcmV?d00001 diff --git a/out/moga/src/css/manufacturer.min.css b/out/moga/src/css/manufacturer.min.css new file mode 100644 index 0000000..bc15ef5 --- /dev/null +++ b/out/moga/src/css/manufacturer.min.css @@ -0,0 +1 @@ +@media only screen and (min-width:600px){@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:200;src:url(../fonts/raleway200.woff2) format("woff2"),url(../fonts/raleway200.woff) format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/raleway400.woff2) format("woff2"),url(../fonts/raleway400.woff) format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/raleway700.woff2) format("woff2"),url(../fonts/raleway700.woff) format("woff")}}.manufacturer{background-color:#f2f2f2;padding:3rem 0;text-align:center}.manufacturer-item{display:block} \ No newline at end of file diff --git a/out/moga/src/css/promoslider.min.css b/out/moga/src/css/promoslider.min.css new file mode 100644 index 0000000..de0388b --- /dev/null +++ b/out/moga/src/css/promoslider.min.css @@ -0,0 +1 @@ +@media only screen and (min-width:600px){@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:200;src:url(../fonts/raleway200.woff2) format("woff2"),url(../fonts/raleway200.woff) format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/raleway400.woff2) format("woff2"),url(../fonts/raleway400.woff) format("woff")}@font-face{font-family:Raleway;font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/raleway700.woff2) format("woff2"),url(../fonts/raleway700.woff) format("woff")}}.promoslider-img{width:100%} \ No newline at end of file diff --git a/out/moga/src/css/styles.min.css b/out/moga/src/css/styles.min.css new file mode 100644 index 0000000..3dcd477 --- /dev/null +++ b/out/moga/src/css/styles.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors + * Copyright 2011-2020 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#28a745;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#333333;--bs-primary:#7952b3;--bs-success:#28a745;--bs-info:#17a2b8;--bs-danger:#dc3545;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0))}*,::after,::before{box-sizing:border-box}body{margin:0;font-family:Raleway,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:400;line-height:1.2}.h1,h1{font-size:calc(1.35rem + 1.2vw)}.h2,h2{font-size:calc(1.3125rem + .75vw)}.h3,h3{font-size:calc(1.275rem + .3vw)}.h4,h4{font-size:1.125rem}.h5,h5{font-size:.875rem}.h6,h6{font-size:.75rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#333;text-decoration:underline}a:hover{color:#7952b3}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em;-ms-overflow-style:scrollbar}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit;white-space:normal}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:1rem;padding-left:1rem;margin-right:auto;margin-left:auto}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex:1 0 100%;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.3333333333%}.col-2{flex:0 0 auto;width:16.6666666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.3333333333%}.col-5{flex:0 0 auto;width:41.6666666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.3333333333%}.col-8{flex:0 0 auto;width:66.6666666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.3333333333%}.col-11{flex:0 0 auto;width:91.6666666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);background-image:linear-gradient(var(--bs-table-accent-bg),var(--bs-table-accent-bg));border-bottom-width:1px}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:last-child)>:last-child>*{border-bottom-color:currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-striped>tbody>tr:nth-of-type(odd){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#d9cfea;--bs-table-striped-bg:#d0c7e0;--bs-table-striped-color:#212529;--bs-table-active-bg:#c7bed7;--bs-table-active-color:#212529;--bs-table-hover-bg:#cbc2dc;--bs-table-hover-color:#212529;color:#212529;border-color:#c7bed7}.table-secondary{--bs-table-bg:#d6d8db;--bs-table-striped-bg:#cdcfd2;--bs-table-striped-color:#212529;--bs-table-active-bg:#c4c6c9;--bs-table-active-color:#212529;--bs-table-hover-bg:#c8cbce;--bs-table-hover-color:#212529;color:#212529;border-color:#c4c6c9}.table-success{--bs-table-bg:#c3e6cb;--bs-table-striped-bg:#bbdcc3;--bs-table-striped-color:#212529;--bs-table-active-bg:#b3d3bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#b7d8bf;--bs-table-hover-color:#212529;color:#212529;border-color:#b3d3bb}.table-info{--bs-table-bg:#bee5eb;--bs-table-striped-bg:#b6dbe1;--bs-table-striped-color:#212529;--bs-table-active-bg:#aed2d8;--bs-table-active-color:#212529;--bs-table-hover-bg:#b2d7dc;--bs-table-hover-color:#212529;color:#212529;border-color:#aed2d8}.table-warning{--bs-table-bg:#ffeeba;--bs-table-striped-bg:#f4e4b3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e9daac;--bs-table-active-color:#212529;--bs-table-hover-bg:#eedfaf;--bs-table-hover-color:#212529;color:#212529;border-color:#e9daac}.table-danger{--bs-table-bg:#f5c6cb;--bs-table-striped-bg:#eabec3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e0b6bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#e5babf;--bs-table-hover-color:#212529;color:#212529;border-color:#e0b6bb}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#edeef0;--bs-table-striped-color:#212529;--bs-table-active-bg:#e3e4e5;--bs-table-active-color:#212529;--bs-table-hover-bg:#e8e9ea;--bs-table-hover-color:#212529;color:#212529;border-color:#e3e4e5}.table-dark{--bs-table-bg:#333333;--bs-table-striped-bg:#3d3d3d;--bs-table-striped-color:#fff;--bs-table-active-bg:#474747;--bs-table-active-color:#fff;--bs-table-hover-bg:#424242;--bs-table-hover-color:#fff;color:#fff;border-color:#474747}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;min-height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;appearance:none;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{color:#495057;background-color:#fff;border-color:#beabda;outline:0;box-shadow:0 0 0 .2rem rgba(121,82,179,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem}.form-control-color{max-width:3rem;padding:.375rem}.form-select{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:0;appearance:none}.form-select:focus{border-color:#beabda;outline:0;box-shadow:0 0 0 .2rem rgba(121,82,179,.25)}.form-select:focus::-ms-value{color:#495057;background-color:#fff}.form-select[multiple],.form-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.form-select:disabled{color:#6c757d;background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.form-check{display:block;min-height:1.5rem;padding-left:1.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);appearance:none;color-adjust:exact;transition:background-color .15s ease-in-out,background-position .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#beabda;outline:0;box-shadow:0 0 0 .2rem rgba(121,82,179,.25)}.form-check-input:checked{background-color:#7952b3;border-color:#7952b3}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#7952b3;border-color:#7952b3;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23beabda'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.form-file{--bs-form-file-height:calc(1.5em + 0.75rem + 2px);position:relative}.form-file-input{position:relative;z-index:2;width:100%;height:var(--bs-form-file-height);margin:0;opacity:0}.form-file-input:focus-within~.form-file-label{border-color:#beabda;box-shadow:0 0 0 .2rem rgba(121,82,179,.25)}.form-file-input:disabled~.form-file-label .form-file-text,.form-file-input[disabled]~.form-file-label .form-file-text{background-color:#e9ecef}.form-file-label{position:absolute;top:0;right:0;left:0;z-index:1;display:flex;height:var(--bs-form-file-height);border-color:#ced4da}.form-file-text{display:block;flex-grow:1;padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;text-overflow:ellipsis;white-space:nowrap;background-color:#fff;border-color:inherit;border-style:solid;border-width:1px}.form-file-button{display:block;flex-shrink:0;padding:.375rem .75rem;margin-left:-1px;line-height:1.5;color:#495057;background-color:#e9ecef;border-color:inherit;border-style:solid;border-width:1px}.form-file-sm{--bs-form-file-height:calc(1.5em + 0.5rem + 2px);font-size:.875rem}.form-file-sm .form-file-button,.form-file-sm .form-file-text{padding:.25rem .5rem}.form-file-lg{--bs-form-file-height:calc(1.5em + 1rem + 2px);font-size:1.25rem}.form-file-lg .form-file-button,.form-file-lg .form-file-text{padding:.5rem 1rem}.form-range{width:100%;height:1.4rem;padding:0;background-color:transparent;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(121,82,179,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(121,82,179,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(121,82,179,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#7952b3;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}.form-range::-webkit-slider-thumb:active{background-color:#d9cee9}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#7952b3;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}.form-range::-moz-range-thumb:active{background-color:#d9cee9}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent}.form-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#7952b3;border:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}.form-range::-ms-thumb:active{background-color:#d9cee9}.form-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.form-range::-ms-fill-lower{background-color:#dee2e6}.form-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-range:disabled::-ms-thumb{background-color:#adb5bd}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-file,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-file .form-file-input:focus~.form-file-label,.input-group>.form-select:focus{z-index:3}.input-group>.form-file>.form-file-input:focus{z-index:4}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da}.input-group-lg>.form-control{min-height:calc(1.5em + 1rem + 2px)}.input-group-lg>.form-select{height:calc(1.5em + 1rem + 2px)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem}.input-group-sm>.form-control{min-height:calc(1.5em + .5rem + 2px)}.input-group-sm>.form-select{height:calc(1.5em + .5rem + 2px)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:1.75rem}.input-group>:not(:first-child):not(.dropdown-menu){margin-left:-1px}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.9)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#28a745}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#28a745}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.form-file-input.is-valid~.form-file-label,.was-validated .form-file-input:valid~.form-file-label{border-color:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.form-file-input.is-invalid~.form-file-label,.was-validated .form-file-input:invalid~.form-file-label{border-color:#dc3545}.form-file-input.is-invalid:focus~.form-file-label,.was-validated .form-file-input:invalid:focus~.form-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(121,82,179,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-primary:hover{color:#fff;background-color:#67449b;border-color:#614092}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#67449b;border-color:#614092;box-shadow:0 0 0 .2rem rgba(141,108,190,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#614092;border-color:#5b3c89}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(141,108,190,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-primary{color:#7952b3;border-color:#7952b3}.btn-outline-primary:hover{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(121,82,179,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#7952b3;border-color:#7952b3}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .2rem rgba(121,82,179,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#7952b3;background-color:transparent}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-link{font-weight:400;color:#333;text-decoration:underline}.btn-link:hover{color:#7952b3}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:0}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:0}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15)}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#7952b3}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#7952b3}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:0;padding-bottom:0}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{align-items:center;width:100%}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;transition:box-shadow .15s ease-in-out}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .2rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-collapse{display:flex!important}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-group>.card{margin-bottom:.75rem}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0}.accordion>.card>.card-header{margin-bottom:-1px}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#333;text-decoration:none;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#7952b3;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(121,82,179,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#7952b3;border-color:#7952b3}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.badge{display:inline-block;padding:.25em .5em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert,.paypalHelpBox{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem 1rem;color:inherit}.alert-primary{color:#3f2b5d;background-color:#e4dcf0;border-color:#d9cfea}.alert-primary .alert-link{color:#271b3a}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger .alert-link{color:#491217}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#7952b3;border-color:#7952b3}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#3f2b5d;background-color:#d9cfea}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#3f2b5d;background-color:#cbbde2}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#3f2b5d;border-color:#3f2b5d}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.close{font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:focus,.close:hover{opacity:.75}.close.disabled,.close:disabled{pointer-events:none}button.close{padding:0;background-color:transparent;border:0}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0}.modal-fullscreen .modal-body{overflow-y:auto}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;backface-visibility:hidden;transition:transform .6s ease-in-out}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#7952b3}.link-primary:focus,.link-primary:hover{color:#553880}.link-success{color:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%}.embed-responsive-21by9::before{padding-top:42.8571428571%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sr-only,.sr-only-focusable:not(:focus){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}.float-left{float:left}.float-right{float:right}.float-none{float:none}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.d-none{display:none}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)}.shadow-none{box-shadow:none}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.border{border:1px solid #dee2e6}.border-0{border:0}.border-top{border-top:1px solid #dee2e6}.border-top-0{border-top:0}.border-right{border-right:1px solid #dee2e6}.border-right-0{border-right:0}.border-bottom{border-bottom:1px solid #dee2e6}.border-bottom-0{border-bottom:0}.border-left{border-left:1px solid #dee2e6}.border-left-0{border-left:0}.border-primary{border-color:#7952b3}.border-secondary{border-color:#6c757d}.border-success{border-color:#28a745}.border-info{border-color:#17a2b8}.border-warning{border-color:#ffc107}.border-danger{border-color:#dc3545}.border-light{border-color:#f8f9fa}.border-dark{border-color:#333}.border-white{border-color:#fff}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.mw-100{max-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.mh-100{max-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{flex:1 1 auto}.flex-row{flex-direction:row}.flex-column{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-column-reverse{flex-direction:column-reverse}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.justify-content-evenly{justify-content:space-evenly}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-baseline{align-items:baseline}.align-items-stretch{align-items:stretch}.align-content-start{align-content:flex-start}.align-content-end{align-content:flex-end}.align-content-center{align-content:center}.align-content-between{align-content:space-between}.align-content-around{align-content:space-around}.align-content-stretch{align-content:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-baseline{align-self:baseline}.align-self-stretch{align-self:stretch}.order-first{order:-1}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-right:0;margin-left:0}.mx-1{margin-right:.25rem;margin-left:.25rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.mx-3{margin-right:1rem;margin-left:1rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.mx-5{margin-right:3rem;margin-left:3rem}.mx-auto{margin-right:auto;margin-left:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-5{margin-top:3rem;margin-bottom:3rem}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mt-auto{margin-top:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mr-4{margin-right:1.5rem}.mr-5{margin-right:3rem}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.ml-4{margin-left:1.5rem}.ml-5{margin-left:3rem}.ml-auto{margin-left:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-right:0;padding-left:0}.px-1{padding-right:.25rem;padding-left:.25rem}.px-2{padding-right:.5rem;padding-left:.5rem}.px-3{padding-right:1rem;padding-left:1rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.px-5{padding-right:3rem;padding-left:3rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-5{padding-top:3rem;padding-bottom:3rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:3rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:1rem}.pr-4{padding-right:1.5rem}.pr-5{padding-right:3rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:3rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:1rem}.pl-4{padding-left:1.5rem}.pl-5{padding-left:3rem}.font-weight-light{font-weight:300}.font-weight-lighter{font-weight:lighter}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-weight-bolder{font-weight:bolder}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-primary{color:#7952b3}.text-secondary{color:#6c757d}.text-success{color:#28a745}.text-info{color:#17a2b8}.text-warning{color:#ffc107}.text-danger{color:#dc3545}.text-light{color:#f8f9fa}.text-dark{color:#333}.text-white{color:#fff}.text-body{color:#212529}.text-muted{color:#6c757d}.text-black-50{color:rgba(0,0,0,.5)}.text-white-50{color:rgba(255,255,255,.5)}.text-reset{color:inherit}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.bg-primary{background-color:#7952b3}.bg-secondary{background-color:#6c757d}.bg-success{background-color:#28a745}.bg-info{background-color:#17a2b8}.bg-warning{background-color:#ffc107}.bg-danger{background-color:#dc3545}.bg-light{background-color:#f8f9fa}.bg-dark{background-color:#333}.bg-body{background-color:#fff}.bg-white{background-color:#fff}.bg-transparent{background-color:transparent}.bg-gradient{background-image:var(--bs-gradient)}.text-wrap{white-space:normal}.text-nowrap{white-space:nowrap}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.font-italic{font-style:italic}.font-normal{font-style:normal}.text-break{word-wrap:break-word;word-break:break-word}.font-monospace{font-family:var(--bs-font-monospace)}.user-select-all{user-select:all}.user-select-auto{user-select:auto}.user-select-none{user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:.25rem}.rounded-sm{border-radius:.2rem}.rounded-lg{border-radius:.3rem}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:50rem}.rounded-0{border-radius:0}.rounded-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-right{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-left{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem}.visible{visibility:visible}.invisible{visibility:hidden}[class*=" moga-"]:before,[class^=moga-]:before{font-family:icons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;text-decoration:inherit;text-transform:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.moga-bag:before{content:"\f101"}.moga-bars:before{content:"\f102"}.moga-check:before{content:"\f103"}.moga-down:before{content:"\f104"}.moga-download:before{content:"\f105"}.moga-left:before{content:"\f106"}.moga-pencil:before{content:"\f107"}.moga-person:before{content:"\f108"}.moga-plus-circle:before{content:"\f109"}.moga-right:before{content:"\f10a"}.moga-rss:before{content:"\f10b"}.moga-search:before{content:"\f10c"}.moga-star-half-o:before{content:"\f10d"}.moga-star:before{content:"\f10e"}.moga-sync:before{content:"\f10f"}.moga-times:before{content:"\f110"}.moga-trash:before{content:"\f111"}.moga-up:before{content:"\f112"}body{font-size:.875rem}#wrapper{background-color:#fff}#wrapper:after{content:'';display:table}.products{padding:3rem 0;text-align:center}.products .page-header{margin-bottom:1.5rem}.lazyload{opacity:0}.lazyloading{opacity:1;transition:opacity .3s;background:#f7f7f7 url(../../img/loading.svg) no-repeat center;background-size:50px 50px}body,html{overflow-x:hidden}.currencies-menu .dropdown-item{font-size:.75rem}.currencies-menu .dropdown-item.active,.currencies-menu .dropdown-item.selected,.currencies-menu .dropdown-item:hover{background-color:#7952b3}.currencies-menu .dropdown-item.active>.dropdown-link,.currencies-menu .dropdown-item.selected>.dropdown-link,.currencies-menu .dropdown-item:hover>.dropdown-link{color:#fff}.currencies-menu .dropdown-link{display:block;padding:3px .75rem}.active .currencies-menu .dropdown-link,.currencies-menu .dropdown-link:hover,.selected .currencies-menu .dropdown-link{color:#fff;text-decoration:none}.languages-menu .dropdown-item{font-size:.75rem}.languages-menu .dropdown-item.active,.languages-menu .dropdown-item.selected,.languages-menu .dropdown-item:hover{background-color:#7952b3}.languages-menu .dropdown-item.active>.dropdown-link,.languages-menu .dropdown-item.selected>.dropdown-link,.languages-menu .dropdown-item:hover>.dropdown-link{color:#fff}.languages-menu .dropdown-link{display:block;padding:3px .75rem}.active .languages-menu .dropdown-link,.languages-menu .dropdown-link:hover,.selected .languages-menu .dropdown-link{color:#fff;text-decoration:none}.login-menu{min-width:480px;padding:15px}.service-menu .altLoginBox,.services .altLoginBox{margin-top:10px}.service-menu .altLoginBox #loginboxFbConnect,.services .altLoginBox #loginboxFbConnect{display:inline-block}.service-menu .list-unstyled,.services .list-unstyled{margin-bottom:5px}.service-menu .list-unstyled li,.services .list-unstyled li{position:relative}.service-menu .list-unstyled li .badge,.services .list-unstyled li .badge{background-color:#6c757d;position:absolute;top:3px;right:3px;font-weight:500;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fff}.header{background-color:#fff;padding:5px 0}.header .logo-link{max-width:100px;flex:0 0 100px;padding:0;margin:0 auto;align-items:center;display:flex}.header .logo-img{width:100px;height:37px;fill:#7952b3}.header .icon-wrapper,.header .menu-dropdowns{margin-left:auto;max-width:96px;flex:0 0 96px;padding:0;text-align:right}.header .icon-wrapper{text-align:left;margin:0 auto 0 0}.header .btn{padding:4px 8px}.header .btn .count{position:absolute;font-size:10px;left:0;right:0;text-align:center;top:15px}.header i{font-size:1.4rem;color:#7952b3}.header .btn-primary i{color:#fff}.services li{position:relative}.services li .badge{background-color:#6c757d;position:relative;top:-2px;font-weight:500;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.footer-box-newsletter .form-control{font-size:14px}.footer-box-newsletter .btn{font-size:14px}.footer{text-align:center;background-color:#f8f9fa;color:#000;padding:3rem 0}.footer-box{margin-bottom:1.5rem}.footer-box-title{text-transform:uppercase}.footer-box-facebook{margin-top:.5rem}.footer .social-links{text-align:center}.footer .social-links-list{padding-left:0;list-style:none}.footer .social-links-item{margin:0 10px;font-size:16px;display:inline-block;padding-left:5px;padding-right:5px}.footer .social-links-link{text-decoration:none;transition:color .2s}.vat-info{float:right}.form-horizontal .form-group{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex:1 0 100%;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2)}.form-horizontal .form-group .control-label.req{font-weight:700}.form-horizontal .form-group .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#6c757d}.publish-list .btn{font-size:14px}.req{font-weight:700}.listmania-add .areabox{max-width:100%}.listmania-desc-add label{display:block}.details-pager{border-bottom:1px solid #e9ecef;padding-bottom:10px;margin-top:20px;margin-bottom:20px}.details-pager-link{color:#7952b3}.details-picture{text-align:center;margin-bottom:10px}.details-picture-more-list{padding-left:0;list-style:none;margin-left:-5px}.details-picture-more-list-item{display:inline-block;padding-left:5px;padding-right:5px}.details-picture-more-link{border:1px solid #e9ecef;padding:3px;display:block}.details-picture-more-link.selected{border-color:#6c757d}.details-title{margin:0;font-weight:200;font-size:22px}.details-shortdesc{margin-bottom:20px}.details .tobasket-function{margin-bottom:5px}.details .tobasket-input-group{width:100%}.details-col-right{border-left:1px solid #e9ecef}.details-action-links a{color:#7952b3}.details .tab-content{border-right:1px solid #ddd;border-bottom:1px solid #ddd;border-left:1px solid #ddd;padding:10px 15px}.variant-label{margin-bottom:0}.btn-staffel{margin-bottom:5px;width:100%}.staffel-dt{float:left;padding-right:15px}.price-wrapper{clear:both;overflow:hidden}.tobasket #paypalExpressCheckoutDetailsBox.paypalExpressCheckoutBox{width:210px;clear:both;float:right;margin:0!important;padding:0!important}.tobasket #paypalExpressCheckoutDetailsBox.paypalExpressCheckoutBox .paypalHelpIcon{left:-30px}.price-label .price{font-weight:500;font-size:21px}.tobasket .deliverytime,.tobasket .stockFlag{font-size:12px;color:#777}.cart_item-list{padding-left:15px;padding-right:15px}.cart_item-list .quantity .textbox{max-width:60px;padding-left:5px;padding-right:5px}.payment-option{display:none}.popupBox{display:none;position:absolute;padding:5px;left:0;text-align:left;z-index:100}.paypalExpressCheckoutBox{text-align:right!important;margin-bottom:10px}.paypalExpressCheckoutBox .popupBox{left:auto;right:0;top:15px;border:1px solid #333}.paypalHelpIcon{border-radius:50%;border:1px solid #333;width:18px;display:inline-block;height:18px;text-align:center;margin:0 8px}.paypalHelpBox{display:none;position:absolute}#paypalExpressCheckoutDetailsBox{width:100%;float:none!important}#paypalExpressCheckoutDetailsBox.paypalExpressCheckoutDetailsBox .paypalExpressCheckoutMsg{float:none}.paypalExpressCheckoutBox{padding-right:15px!important;margin:0 15px 0 0!important}.paypalExpressCheckoutBox .paypalExpressCheckoutMsg{clear:both}#paypalExpressCheckoutMiniBasketImage{float:right!important}#paypalExpressCheckoutMiniBasketBox.paypalExpressCheckoutBox{float:right;padding-right:0!important;margin:0 0 15px 0!important}#paypalExpressCheckoutMiniBasketBox.paypalExpressCheckoutBox .paypalExpressCheckoutMsg{padding-top:5px}#paypalExpressCheckoutMiniBasketBox.paypalExpressCheckoutBox .paypalHelpIcon{left:-30px;top:5px}.checkout-steps{border-top:3px solid #7952b3;width:100%;height:40px;padding:0;margin:15px 0;list-style:none}.checkout-steps .step{width:20%;max-width:20%;text-align:center;position:relative;padding-top:16px}.checkout-steps .step.active .num{background-color:#6c757d}.checkout-steps .step.passed .num{background-color:#28a745}.checkout-steps .num{border:2px solid #fff;border-radius:50%;background-color:#7952b3;width:30px;height:30px;padding-top:1px;margin-left:-16px;position:absolute;top:-16px;left:50%;color:#fff;font-size:16px;font-weight:500;text-align:center}.checkout-steps .text{display:none}.edit-button{padding:0 .25em;font-size:13px}.cart-buttons .btn{width:100%}.cart-buttons .btn:first-child{margin-bottom:15px}.voucher-code{max-width:250px}.compare-item{margin-top:15px}.compare-item .picture{height:250px;align-items:center}.compare-item .title{padding-top:15px;height:40px;display:block}.compare-item .add-to-basket{height:150px}.compare-products{display:flex;flex-wrap:nowrap}.compare-item-wrapper{width:280px;padding:15px;display:flex;flex-wrap:wrap;align-content:start;justify-content:center}.compare .table-responsive.shadowed{box-shadow:inset 3px 0 7px 1px rgba(0,0,0,.2)}.account-menu .list-group{padding-bottom:15px}.account-menu .list-group-item.active{color:#fff}.account-menu .list-group-item.active:focus,.account-menu .list-group-item.active:hover{color:#fff;background-color:#7952b3}.account-menu .list-group-link{color:inherit;display:block}.cl-account .card{height:auto;margin-bottom:1.5rem}.list-img{display:block;margin-bottom:1.5rem}.breadcrumb{display:none}.boxwrapper .grid-view{text-align:center}.grid-view .card{height:100%;text-decoration:none;border:none;text-align:center}.grid-view .card picture{height:150px;text-align:center;display:flex;align-items:center;justify-content:center}.grid-view .card .product-img{max-height:150px;max-width:100%}.grid-view .card-body{padding:5px 0}.grid-view .card-title{margin:0}.line-view-item{border-bottom:1px dashed #dee2e6;padding-bottom:15px}.line-view-item .title{font-weight:600}.line-view-item .img-responsive{max-height:150px}.line-view-item .form-group{margin-top:10px;margin-bottom:0}.line-view-item .price{margin-bottom:20px;font-size:1rem;line-height:1.4}.line-view-item .price .lead{font-weight:400}.article-list{padding:0 0 3rem 0}.pagination{margin:3rem 0}.filter-form{width:100%}.filter-attributes .list-filter{border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7;background-color:#f2f2f2;padding:20px .75rem;margin:.75rem 0 0 0}.filter-attributes .list-filter .btn-group{width:100%;margin-bottom:5px;background-color:#fff}.filter-attributes .list-filter .btn-group .btn{width:100%;text-align:center}.ratings{margin-top:5px;margin-bottom:20px}.ratings .fa-star{font-size:22px}.ratings-star-filled{color:#f60}.ratings-star-empty{color:#c7c7c7}.rating-star{display:inline-block;padding-right:5px}.reviews{margin-top:20px}.reviews-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee;font-size:30px}@font-face{font-family:icons;src:url(../fonts/icons.woff2?b039c491b69398e44a9de4c35691482a) format("woff2"),url(../fonts/icons.woff?b039c491b69398e44a9de4c35691482a) format("woff");font-weight:400;font-style:normal;font-display:swap}@media (prefers-reduced-motion:reduce){.form-control{transition:none}.form-check-input{transition:none}.form-range::-webkit-slider-thumb{transition:none}.form-range::-moz-range-thumb{transition:none}.form-range::-ms-thumb{transition:none}.btn{transition:none}.fade{transition:none}.collapsing{transition:none}.nav-link{transition:none}.navbar-toggler{transition:none}.modal.fade .modal-dialog{transition:none}.carousel-item{transition:none}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}.carousel-control-next,.carousel-control-prev{transition:none}.carousel-indicators li{transition:none}}@media (min-width:576px){.container,.container-sm{max-width:540px}.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.3333333333%}.col-sm-2{flex:0 0 auto;width:16.6666666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.3333333333%}.col-sm-5{flex:0 0 auto;width:41.6666666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.3333333333%}.col-sm-8{flex:0 0 auto;width:66.6666666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.3333333333%}.col-sm-11{flex:0 0 auto;width:91.6666666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-collapse{display:flex!important}.navbar-expand-sm .navbar-toggler{display:none}.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}.sticky-sm-top{position:sticky;top:0;z-index:1020}.float-sm-left{float:left}.float-sm-right{float:right}.float-sm-none{float:none}.d-sm-none{display:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}.flex-sm-fill{flex:1 1 auto}.flex-sm-row{flex-direction:row}.flex-sm-column{flex-direction:column}.flex-sm-row-reverse{flex-direction:row-reverse}.flex-sm-column-reverse{flex-direction:column-reverse}.flex-sm-grow-0{flex-grow:0}.flex-sm-grow-1{flex-grow:1}.flex-sm-shrink-0{flex-shrink:0}.flex-sm-shrink-1{flex-shrink:1}.flex-sm-wrap{flex-wrap:wrap}.flex-sm-nowrap{flex-wrap:nowrap}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-sm-start{justify-content:flex-start}.justify-content-sm-end{justify-content:flex-end}.justify-content-sm-center{justify-content:center}.justify-content-sm-between{justify-content:space-between}.justify-content-sm-around{justify-content:space-around}.justify-content-sm-evenly{justify-content:space-evenly}.align-items-sm-start{align-items:flex-start}.align-items-sm-end{align-items:flex-end}.align-items-sm-center{align-items:center}.align-items-sm-baseline{align-items:baseline}.align-items-sm-stretch{align-items:stretch}.align-content-sm-start{align-content:flex-start}.align-content-sm-end{align-content:flex-end}.align-content-sm-center{align-content:center}.align-content-sm-between{align-content:space-between}.align-content-sm-around{align-content:space-around}.align-content-sm-stretch{align-content:stretch}.align-self-sm-auto{align-self:auto}.align-self-sm-start{align-self:flex-start}.align-self-sm-end{align-self:flex-end}.align-self-sm-center{align-self:center}.align-self-sm-baseline{align-self:baseline}.align-self-sm-stretch{align-self:stretch}.order-sm-first{order:-1}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-last{order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-right:0;margin-left:0}.mx-sm-1{margin-right:.25rem;margin-left:.25rem}.mx-sm-2{margin-right:.5rem;margin-left:.5rem}.mx-sm-3{margin-right:1rem;margin-left:1rem}.mx-sm-4{margin-right:1.5rem;margin-left:1.5rem}.mx-sm-5{margin-right:3rem;margin-left:3rem}.mx-sm-auto{margin-right:auto;margin-left:auto}.my-sm-0{margin-top:0;margin-bottom:0}.my-sm-1{margin-top:.25rem;margin-bottom:.25rem}.my-sm-2{margin-top:.5rem;margin-bottom:.5rem}.my-sm-3{margin-top:1rem;margin-bottom:1rem}.my-sm-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-sm-5{margin-top:3rem;margin-bottom:3rem}.my-sm-auto{margin-top:auto;margin-bottom:auto}.mt-sm-0{margin-top:0}.mt-sm-1{margin-top:.25rem}.mt-sm-2{margin-top:.5rem}.mt-sm-3{margin-top:1rem}.mt-sm-4{margin-top:1.5rem}.mt-sm-5{margin-top:3rem}.mt-sm-auto{margin-top:auto}.mr-sm-0{margin-right:0}.mr-sm-1{margin-right:.25rem}.mr-sm-2{margin-right:.5rem}.mr-sm-3{margin-right:1rem}.mr-sm-4{margin-right:1.5rem}.mr-sm-5{margin-right:3rem}.mr-sm-auto{margin-right:auto}.mb-sm-0{margin-bottom:0}.mb-sm-1{margin-bottom:.25rem}.mb-sm-2{margin-bottom:.5rem}.mb-sm-3{margin-bottom:1rem}.mb-sm-4{margin-bottom:1.5rem}.mb-sm-5{margin-bottom:3rem}.mb-sm-auto{margin-bottom:auto}.ml-sm-0{margin-left:0}.ml-sm-1{margin-left:.25rem}.ml-sm-2{margin-left:.5rem}.ml-sm-3{margin-left:1rem}.ml-sm-4{margin-left:1.5rem}.ml-sm-5{margin-left:3rem}.ml-sm-auto{margin-left:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-right:0;padding-left:0}.px-sm-1{padding-right:.25rem;padding-left:.25rem}.px-sm-2{padding-right:.5rem;padding-left:.5rem}.px-sm-3{padding-right:1rem;padding-left:1rem}.px-sm-4{padding-right:1.5rem;padding-left:1.5rem}.px-sm-5{padding-right:3rem;padding-left:3rem}.py-sm-0{padding-top:0;padding-bottom:0}.py-sm-1{padding-top:.25rem;padding-bottom:.25rem}.py-sm-2{padding-top:.5rem;padding-bottom:.5rem}.py-sm-3{padding-top:1rem;padding-bottom:1rem}.py-sm-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-sm-5{padding-top:3rem;padding-bottom:3rem}.pt-sm-0{padding-top:0}.pt-sm-1{padding-top:.25rem}.pt-sm-2{padding-top:.5rem}.pt-sm-3{padding-top:1rem}.pt-sm-4{padding-top:1.5rem}.pt-sm-5{padding-top:3rem}.pr-sm-0{padding-right:0}.pr-sm-1{padding-right:.25rem}.pr-sm-2{padding-right:.5rem}.pr-sm-3{padding-right:1rem}.pr-sm-4{padding-right:1.5rem}.pr-sm-5{padding-right:3rem}.pb-sm-0{padding-bottom:0}.pb-sm-1{padding-bottom:.25rem}.pb-sm-2{padding-bottom:.5rem}.pb-sm-3{padding-bottom:1rem}.pb-sm-4{padding-bottom:1.5rem}.pb-sm-5{padding-bottom:3rem}.pl-sm-0{padding-left:0}.pl-sm-1{padding-left:.25rem}.pl-sm-2{padding-left:.5rem}.pl-sm-3{padding-left:1rem}.pl-sm-4{padding-left:1.5rem}.pl-sm-5{padding-left:3rem}.text-sm-left{text-align:left}.text-sm-right{text-align:right}.text-sm-center{text-align:center}}@media screen and (min-width:720px){.breadcrumb{display:flex;flex-wrap:wrap;padding:0 8px;margin-bottom:1rem;list-style:none;background-color:transparent}.breadcrumb-item{display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item.active{color:#6c757d}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.3333333333%}.col-md-2{flex:0 0 auto;width:16.6666666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.3333333333%}.col-md-5{flex:0 0 auto;width:41.6666666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.3333333333%}.col-md-8{flex:0 0 auto;width:66.6666666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.3333333333%}.col-md-11{flex:0 0 auto;width:91.6666666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-collapse{display:flex!important}.navbar-expand-md .navbar-toggler{display:none}.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}.sticky-md-top{position:sticky;top:0;z-index:1020}.float-md-left{float:left}.float-md-right{float:right}.float-md-none{float:none}.d-md-none{display:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}.flex-md-fill{flex:1 1 auto}.flex-md-row{flex-direction:row}.flex-md-column{flex-direction:column}.flex-md-row-reverse{flex-direction:row-reverse}.flex-md-column-reverse{flex-direction:column-reverse}.flex-md-grow-0{flex-grow:0}.flex-md-grow-1{flex-grow:1}.flex-md-shrink-0{flex-shrink:0}.flex-md-shrink-1{flex-shrink:1}.flex-md-wrap{flex-wrap:wrap}.flex-md-nowrap{flex-wrap:nowrap}.flex-md-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-md-start{justify-content:flex-start}.justify-content-md-end{justify-content:flex-end}.justify-content-md-center{justify-content:center}.justify-content-md-between{justify-content:space-between}.justify-content-md-around{justify-content:space-around}.justify-content-md-evenly{justify-content:space-evenly}.align-items-md-start{align-items:flex-start}.align-items-md-end{align-items:flex-end}.align-items-md-center{align-items:center}.align-items-md-baseline{align-items:baseline}.align-items-md-stretch{align-items:stretch}.align-content-md-start{align-content:flex-start}.align-content-md-end{align-content:flex-end}.align-content-md-center{align-content:center}.align-content-md-between{align-content:space-between}.align-content-md-around{align-content:space-around}.align-content-md-stretch{align-content:stretch}.align-self-md-auto{align-self:auto}.align-self-md-start{align-self:flex-start}.align-self-md-end{align-self:flex-end}.align-self-md-center{align-self:center}.align-self-md-baseline{align-self:baseline}.align-self-md-stretch{align-self:stretch}.order-md-first{order:-1}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-last{order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-right:0;margin-left:0}.mx-md-1{margin-right:.25rem;margin-left:.25rem}.mx-md-2{margin-right:.5rem;margin-left:.5rem}.mx-md-3{margin-right:1rem;margin-left:1rem}.mx-md-4{margin-right:1.5rem;margin-left:1.5rem}.mx-md-5{margin-right:3rem;margin-left:3rem}.mx-md-auto{margin-right:auto;margin-left:auto}.my-md-0{margin-top:0;margin-bottom:0}.my-md-1{margin-top:.25rem;margin-bottom:.25rem}.my-md-2{margin-top:.5rem;margin-bottom:.5rem}.my-md-3{margin-top:1rem;margin-bottom:1rem}.my-md-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-md-5{margin-top:3rem;margin-bottom:3rem}.my-md-auto{margin-top:auto;margin-bottom:auto}.mt-md-0{margin-top:0}.mt-md-1{margin-top:.25rem}.mt-md-2{margin-top:.5rem}.mt-md-3{margin-top:1rem}.mt-md-4{margin-top:1.5rem}.mt-md-5{margin-top:3rem}.mt-md-auto{margin-top:auto}.mr-md-0{margin-right:0}.mr-md-1{margin-right:.25rem}.mr-md-2{margin-right:.5rem}.mr-md-3{margin-right:1rem}.mr-md-4{margin-right:1.5rem}.mr-md-5{margin-right:3rem}.mr-md-auto{margin-right:auto}.mb-md-0{margin-bottom:0}.mb-md-1{margin-bottom:.25rem}.mb-md-2{margin-bottom:.5rem}.mb-md-3{margin-bottom:1rem}.mb-md-4{margin-bottom:1.5rem}.mb-md-5{margin-bottom:3rem}.mb-md-auto{margin-bottom:auto}.ml-md-0{margin-left:0}.ml-md-1{margin-left:.25rem}.ml-md-2{margin-left:.5rem}.ml-md-3{margin-left:1rem}.ml-md-4{margin-left:1.5rem}.ml-md-5{margin-left:3rem}.ml-md-auto{margin-left:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-right:0;padding-left:0}.px-md-1{padding-right:.25rem;padding-left:.25rem}.px-md-2{padding-right:.5rem;padding-left:.5rem}.px-md-3{padding-right:1rem;padding-left:1rem}.px-md-4{padding-right:1.5rem;padding-left:1.5rem}.px-md-5{padding-right:3rem;padding-left:3rem}.py-md-0{padding-top:0;padding-bottom:0}.py-md-1{padding-top:.25rem;padding-bottom:.25rem}.py-md-2{padding-top:.5rem;padding-bottom:.5rem}.py-md-3{padding-top:1rem;padding-bottom:1rem}.py-md-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-md-5{padding-top:3rem;padding-bottom:3rem}.pt-md-0{padding-top:0}.pt-md-1{padding-top:.25rem}.pt-md-2{padding-top:.5rem}.pt-md-3{padding-top:1rem}.pt-md-4{padding-top:1.5rem}.pt-md-5{padding-top:3rem}.pr-md-0{padding-right:0}.pr-md-1{padding-right:.25rem}.pr-md-2{padding-right:.5rem}.pr-md-3{padding-right:1rem}.pr-md-4{padding-right:1.5rem}.pr-md-5{padding-right:3rem}.pb-md-0{padding-bottom:0}.pb-md-1{padding-bottom:.25rem}.pb-md-2{padding-bottom:.5rem}.pb-md-3{padding-bottom:1rem}.pb-md-4{padding-bottom:1.5rem}.pb-md-5{padding-bottom:3rem}.pl-md-0{padding-left:0}.pl-md-1{padding-left:.25rem}.pl-md-2{padding-left:.5rem}.pl-md-3{padding-left:1rem}.pl-md-4{padding-left:1.5rem}.pl-md-5{padding-left:3rem}.text-md-left{text-align:left}.text-md-right{text-align:right}.text-md-center{text-align:center}body{font-size:1rem}.footer{text-align:left}.footer-box{margin-bottom:inherit}.form-horizontal .form-group .control-label{text-align:right}.details .tobasket-input-group{width:250px}.btn-staffel{width:250px}.cart_item-list .row.collapse:not(.show){display:flex}.checkout-steps{margin:15px 0 30px 0}.checkout-steps .text{display:block}.cart-buttons .btn{width:auto;margin-bottom:0}.cart-buttons .btn:first-child{margin-bottom:0}.breadcrumb{display:flex}.boxwrapper .grid-view{text-align:left}.grid-view .card picture{height:200px}.grid-view .card .product-img{max-height:200px}.grid-view .card-body{top:100%;left:0;right:0;position:absolute;background:#fff;max-height:0;transition:all 150ms;opacity:0;overflow:hidden}.grid-view .card:hover .card-body{max-height:none;z-index:10;opacity:1}.grid-view .card-title{text-transform:uppercase;font-weight:700}.line-view-item .price{font-size:1.3rem;margin-bottom:0}.filter-attributes .list-filter .btn-group{width:auto;margin-bottom:0}.filter-attributes .list-filter .btn-group .btn{width:auto;text-align:left}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.3333333333%}.col-lg-2{flex:0 0 auto;width:16.6666666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.3333333333%}.col-lg-5{flex:0 0 auto;width:41.6666666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.3333333333%}.col-lg-8{flex:0 0 auto;width:66.6666666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.3333333333%}.col-lg-11{flex:0 0 auto;width:91.6666666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-collapse{display:flex!important}.navbar-expand-lg .navbar-toggler{display:none}.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}.modal-lg,.modal-xl{max-width:800px}.sticky-lg-top{position:sticky;top:0;z-index:1020}.float-lg-left{float:left}.float-lg-right{float:right}.float-lg-none{float:none}.d-lg-none{display:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}.flex-lg-fill{flex:1 1 auto}.flex-lg-row{flex-direction:row}.flex-lg-column{flex-direction:column}.flex-lg-row-reverse{flex-direction:row-reverse}.flex-lg-column-reverse{flex-direction:column-reverse}.flex-lg-grow-0{flex-grow:0}.flex-lg-grow-1{flex-grow:1}.flex-lg-shrink-0{flex-shrink:0}.flex-lg-shrink-1{flex-shrink:1}.flex-lg-wrap{flex-wrap:wrap}.flex-lg-nowrap{flex-wrap:nowrap}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-lg-start{justify-content:flex-start}.justify-content-lg-end{justify-content:flex-end}.justify-content-lg-center{justify-content:center}.justify-content-lg-between{justify-content:space-between}.justify-content-lg-around{justify-content:space-around}.justify-content-lg-evenly{justify-content:space-evenly}.align-items-lg-start{align-items:flex-start}.align-items-lg-end{align-items:flex-end}.align-items-lg-center{align-items:center}.align-items-lg-baseline{align-items:baseline}.align-items-lg-stretch{align-items:stretch}.align-content-lg-start{align-content:flex-start}.align-content-lg-end{align-content:flex-end}.align-content-lg-center{align-content:center}.align-content-lg-between{align-content:space-between}.align-content-lg-around{align-content:space-around}.align-content-lg-stretch{align-content:stretch}.align-self-lg-auto{align-self:auto}.align-self-lg-start{align-self:flex-start}.align-self-lg-end{align-self:flex-end}.align-self-lg-center{align-self:center}.align-self-lg-baseline{align-self:baseline}.align-self-lg-stretch{align-self:stretch}.order-lg-first{order:-1}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-last{order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-right:0;margin-left:0}.mx-lg-1{margin-right:.25rem;margin-left:.25rem}.mx-lg-2{margin-right:.5rem;margin-left:.5rem}.mx-lg-3{margin-right:1rem;margin-left:1rem}.mx-lg-4{margin-right:1.5rem;margin-left:1.5rem}.mx-lg-5{margin-right:3rem;margin-left:3rem}.mx-lg-auto{margin-right:auto;margin-left:auto}.my-lg-0{margin-top:0;margin-bottom:0}.my-lg-1{margin-top:.25rem;margin-bottom:.25rem}.my-lg-2{margin-top:.5rem;margin-bottom:.5rem}.my-lg-3{margin-top:1rem;margin-bottom:1rem}.my-lg-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-lg-5{margin-top:3rem;margin-bottom:3rem}.my-lg-auto{margin-top:auto;margin-bottom:auto}.mt-lg-0{margin-top:0}.mt-lg-1{margin-top:.25rem}.mt-lg-2{margin-top:.5rem}.mt-lg-3{margin-top:1rem}.mt-lg-4{margin-top:1.5rem}.mt-lg-5{margin-top:3rem}.mt-lg-auto{margin-top:auto}.mr-lg-0{margin-right:0}.mr-lg-1{margin-right:.25rem}.mr-lg-2{margin-right:.5rem}.mr-lg-3{margin-right:1rem}.mr-lg-4{margin-right:1.5rem}.mr-lg-5{margin-right:3rem}.mr-lg-auto{margin-right:auto}.mb-lg-0{margin-bottom:0}.mb-lg-1{margin-bottom:.25rem}.mb-lg-2{margin-bottom:.5rem}.mb-lg-3{margin-bottom:1rem}.mb-lg-4{margin-bottom:1.5rem}.mb-lg-5{margin-bottom:3rem}.mb-lg-auto{margin-bottom:auto}.ml-lg-0{margin-left:0}.ml-lg-1{margin-left:.25rem}.ml-lg-2{margin-left:.5rem}.ml-lg-3{margin-left:1rem}.ml-lg-4{margin-left:1.5rem}.ml-lg-5{margin-left:3rem}.ml-lg-auto{margin-left:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-right:0;padding-left:0}.px-lg-1{padding-right:.25rem;padding-left:.25rem}.px-lg-2{padding-right:.5rem;padding-left:.5rem}.px-lg-3{padding-right:1rem;padding-left:1rem}.px-lg-4{padding-right:1.5rem;padding-left:1.5rem}.px-lg-5{padding-right:3rem;padding-left:3rem}.py-lg-0{padding-top:0;padding-bottom:0}.py-lg-1{padding-top:.25rem;padding-bottom:.25rem}.py-lg-2{padding-top:.5rem;padding-bottom:.5rem}.py-lg-3{padding-top:1rem;padding-bottom:1rem}.py-lg-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-lg-5{padding-top:3rem;padding-bottom:3rem}.pt-lg-0{padding-top:0}.pt-lg-1{padding-top:.25rem}.pt-lg-2{padding-top:.5rem}.pt-lg-3{padding-top:1rem}.pt-lg-4{padding-top:1.5rem}.pt-lg-5{padding-top:3rem}.pr-lg-0{padding-right:0}.pr-lg-1{padding-right:.25rem}.pr-lg-2{padding-right:.5rem}.pr-lg-3{padding-right:1rem}.pr-lg-4{padding-right:1.5rem}.pr-lg-5{padding-right:3rem}.pb-lg-0{padding-bottom:0}.pb-lg-1{padding-bottom:.25rem}.pb-lg-2{padding-bottom:.5rem}.pb-lg-3{padding-bottom:1rem}.pb-lg-4{padding-bottom:1.5rem}.pb-lg-5{padding-bottom:3rem}.pl-lg-0{padding-left:0}.pl-lg-1{padding-left:.25rem}.pl-lg-2{padding-left:.5rem}.pl-lg-3{padding-left:1rem}.pl-lg-4{padding-left:1.5rem}.pl-lg-5{padding-left:3rem}.text-lg-left{text-align:left}.text-lg-right{text-align:right}.text-lg-center{text-align:center}body{font-size:1.25rem}.search.search{display:block;order:1;max-width:250px;flex:0 0 250px}.header{padding:10px 0}.header .logo-link{order:2}.header .icon-wrapper,.header .menu-dropdowns{margin:0;max-width:250px;flex:0 0 250px;order:3}.grid-view .card picture{height:300px}.grid-view .card .product-img{max-height:300px}}@media (min-width:1200px){.h1,h1{font-size:2.25rem}.h2,h2{font-size:1.875rem}.h3,h3{font-size:1.5rem}legend{font-size:1.5rem}.display-1{font-size:5rem}.display-2{font-size:4.5rem}.display-3{font-size:4rem}.display-4{font-size:3.5rem}.display-5{font-size:3rem}.display-6{font-size:2.5rem}.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.3333333333%}.col-xl-2{flex:0 0 auto;width:16.6666666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.3333333333%}.col-xl-5{flex:0 0 auto;width:41.6666666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.3333333333%}.col-xl-8{flex:0 0 auto;width:66.6666666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.3333333333%}.col-xl-11{flex:0 0 auto;width:91.6666666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-collapse{display:flex!important}.navbar-expand-xl .navbar-toggler{display:none}.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}.close{font-size:1.5rem}.modal-xl{max-width:1140px}.sticky-xl-top{position:sticky;top:0;z-index:1020}.float-xl-left{float:left}.float-xl-right{float:right}.float-xl-none{float:none}.d-xl-none{display:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}.flex-xl-fill{flex:1 1 auto}.flex-xl-row{flex-direction:row}.flex-xl-column{flex-direction:column}.flex-xl-row-reverse{flex-direction:row-reverse}.flex-xl-column-reverse{flex-direction:column-reverse}.flex-xl-grow-0{flex-grow:0}.flex-xl-grow-1{flex-grow:1}.flex-xl-shrink-0{flex-shrink:0}.flex-xl-shrink-1{flex-shrink:1}.flex-xl-wrap{flex-wrap:wrap}.flex-xl-nowrap{flex-wrap:nowrap}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xl-start{justify-content:flex-start}.justify-content-xl-end{justify-content:flex-end}.justify-content-xl-center{justify-content:center}.justify-content-xl-between{justify-content:space-between}.justify-content-xl-around{justify-content:space-around}.justify-content-xl-evenly{justify-content:space-evenly}.align-items-xl-start{align-items:flex-start}.align-items-xl-end{align-items:flex-end}.align-items-xl-center{align-items:center}.align-items-xl-baseline{align-items:baseline}.align-items-xl-stretch{align-items:stretch}.align-content-xl-start{align-content:flex-start}.align-content-xl-end{align-content:flex-end}.align-content-xl-center{align-content:center}.align-content-xl-between{align-content:space-between}.align-content-xl-around{align-content:space-around}.align-content-xl-stretch{align-content:stretch}.align-self-xl-auto{align-self:auto}.align-self-xl-start{align-self:flex-start}.align-self-xl-end{align-self:flex-end}.align-self-xl-center{align-self:center}.align-self-xl-baseline{align-self:baseline}.align-self-xl-stretch{align-self:stretch}.order-xl-first{order:-1}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-last{order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-right:0;margin-left:0}.mx-xl-1{margin-right:.25rem;margin-left:.25rem}.mx-xl-2{margin-right:.5rem;margin-left:.5rem}.mx-xl-3{margin-right:1rem;margin-left:1rem}.mx-xl-4{margin-right:1.5rem;margin-left:1.5rem}.mx-xl-5{margin-right:3rem;margin-left:3rem}.mx-xl-auto{margin-right:auto;margin-left:auto}.my-xl-0{margin-top:0;margin-bottom:0}.my-xl-1{margin-top:.25rem;margin-bottom:.25rem}.my-xl-2{margin-top:.5rem;margin-bottom:.5rem}.my-xl-3{margin-top:1rem;margin-bottom:1rem}.my-xl-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-xl-5{margin-top:3rem;margin-bottom:3rem}.my-xl-auto{margin-top:auto;margin-bottom:auto}.mt-xl-0{margin-top:0}.mt-xl-1{margin-top:.25rem}.mt-xl-2{margin-top:.5rem}.mt-xl-3{margin-top:1rem}.mt-xl-4{margin-top:1.5rem}.mt-xl-5{margin-top:3rem}.mt-xl-auto{margin-top:auto}.mr-xl-0{margin-right:0}.mr-xl-1{margin-right:.25rem}.mr-xl-2{margin-right:.5rem}.mr-xl-3{margin-right:1rem}.mr-xl-4{margin-right:1.5rem}.mr-xl-5{margin-right:3rem}.mr-xl-auto{margin-right:auto}.mb-xl-0{margin-bottom:0}.mb-xl-1{margin-bottom:.25rem}.mb-xl-2{margin-bottom:.5rem}.mb-xl-3{margin-bottom:1rem}.mb-xl-4{margin-bottom:1.5rem}.mb-xl-5{margin-bottom:3rem}.mb-xl-auto{margin-bottom:auto}.ml-xl-0{margin-left:0}.ml-xl-1{margin-left:.25rem}.ml-xl-2{margin-left:.5rem}.ml-xl-3{margin-left:1rem}.ml-xl-4{margin-left:1.5rem}.ml-xl-5{margin-left:3rem}.ml-xl-auto{margin-left:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-right:0;padding-left:0}.px-xl-1{padding-right:.25rem;padding-left:.25rem}.px-xl-2{padding-right:.5rem;padding-left:.5rem}.px-xl-3{padding-right:1rem;padding-left:1rem}.px-xl-4{padding-right:1.5rem;padding-left:1.5rem}.px-xl-5{padding-right:3rem;padding-left:3rem}.py-xl-0{padding-top:0;padding-bottom:0}.py-xl-1{padding-top:.25rem;padding-bottom:.25rem}.py-xl-2{padding-top:.5rem;padding-bottom:.5rem}.py-xl-3{padding-top:1rem;padding-bottom:1rem}.py-xl-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-xl-5{padding-top:3rem;padding-bottom:3rem}.pt-xl-0{padding-top:0}.pt-xl-1{padding-top:.25rem}.pt-xl-2{padding-top:.5rem}.pt-xl-3{padding-top:1rem}.pt-xl-4{padding-top:1.5rem}.pt-xl-5{padding-top:3rem}.pr-xl-0{padding-right:0}.pr-xl-1{padding-right:.25rem}.pr-xl-2{padding-right:.5rem}.pr-xl-3{padding-right:1rem}.pr-xl-4{padding-right:1.5rem}.pr-xl-5{padding-right:3rem}.pb-xl-0{padding-bottom:0}.pb-xl-1{padding-bottom:.25rem}.pb-xl-2{padding-bottom:.5rem}.pb-xl-3{padding-bottom:1rem}.pb-xl-4{padding-bottom:1.5rem}.pb-xl-5{padding-bottom:3rem}.pl-xl-0{padding-left:0}.pl-xl-1{padding-left:.25rem}.pl-xl-2{padding-left:.5rem}.pl-xl-3{padding-left:1rem}.pl-xl-4{padding-left:1.5rem}.pl-xl-5{padding-left:3rem}.text-xl-left{text-align:left}.text-xl-right{text-align:right}.text-xl-center{text-align:center}.search.search{max-width:300px;flex:0 0 300px}.header .icon-wrapper,.header .menu-dropdowns{max-width:300px;flex:0 0 300px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.3333333333%}.col-xxl-2{flex:0 0 auto;width:16.6666666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.3333333333%}.col-xxl-5{flex:0 0 auto;width:41.6666666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.3333333333%}.col-xxl-8{flex:0 0 auto;width:66.6666666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.3333333333%}.col-xxl-11{flex:0 0 auto;width:91.6666666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.3333333333%}.offset-xxl-2{margin-left:16.6666666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.3333333333%}.offset-xxl-5{margin-left:41.6666666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.3333333333%}.offset-xxl-8{margin-left:66.6666666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.3333333333%}.offset-xxl-11{margin-left:91.6666666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-collapse{display:flex!important}.navbar-expand-xxl .navbar-toggler{display:none}.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}.sticky-xxl-top{position:sticky;top:0;z-index:1020}.float-xxl-left{float:left}.float-xxl-right{float:right}.float-xxl-none{float:none}.d-xxl-none{display:none}.d-xxl-inline{display:inline}.d-xxl-inline-block{display:inline-block}.d-xxl-block{display:block}.d-xxl-table{display:table}.d-xxl-table-row{display:table-row}.d-xxl-table-cell{display:table-cell}.d-xxl-flex{display:flex}.d-xxl-inline-flex{display:inline-flex}.flex-xxl-fill{flex:1 1 auto}.flex-xxl-row{flex-direction:row}.flex-xxl-column{flex-direction:column}.flex-xxl-row-reverse{flex-direction:row-reverse}.flex-xxl-column-reverse{flex-direction:column-reverse}.flex-xxl-grow-0{flex-grow:0}.flex-xxl-grow-1{flex-grow:1}.flex-xxl-shrink-0{flex-shrink:0}.flex-xxl-shrink-1{flex-shrink:1}.flex-xxl-wrap{flex-wrap:wrap}.flex-xxl-nowrap{flex-wrap:nowrap}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse}.justify-content-xxl-start{justify-content:flex-start}.justify-content-xxl-end{justify-content:flex-end}.justify-content-xxl-center{justify-content:center}.justify-content-xxl-between{justify-content:space-between}.justify-content-xxl-around{justify-content:space-around}.justify-content-xxl-evenly{justify-content:space-evenly}.align-items-xxl-start{align-items:flex-start}.align-items-xxl-end{align-items:flex-end}.align-items-xxl-center{align-items:center}.align-items-xxl-baseline{align-items:baseline}.align-items-xxl-stretch{align-items:stretch}.align-content-xxl-start{align-content:flex-start}.align-content-xxl-end{align-content:flex-end}.align-content-xxl-center{align-content:center}.align-content-xxl-between{align-content:space-between}.align-content-xxl-around{align-content:space-around}.align-content-xxl-stretch{align-content:stretch}.align-self-xxl-auto{align-self:auto}.align-self-xxl-start{align-self:flex-start}.align-self-xxl-end{align-self:flex-end}.align-self-xxl-center{align-self:center}.align-self-xxl-baseline{align-self:baseline}.align-self-xxl-stretch{align-self:stretch}.order-xxl-first{order:-1}.order-xxl-0{order:0}.order-xxl-1{order:1}.order-xxl-2{order:2}.order-xxl-3{order:3}.order-xxl-4{order:4}.order-xxl-5{order:5}.order-xxl-last{order:6}.m-xxl-0{margin:0}.m-xxl-1{margin:.25rem}.m-xxl-2{margin:.5rem}.m-xxl-3{margin:1rem}.m-xxl-4{margin:1.5rem}.m-xxl-5{margin:3rem}.m-xxl-auto{margin:auto}.mx-xxl-0{margin-right:0;margin-left:0}.mx-xxl-1{margin-right:.25rem;margin-left:.25rem}.mx-xxl-2{margin-right:.5rem;margin-left:.5rem}.mx-xxl-3{margin-right:1rem;margin-left:1rem}.mx-xxl-4{margin-right:1.5rem;margin-left:1.5rem}.mx-xxl-5{margin-right:3rem;margin-left:3rem}.mx-xxl-auto{margin-right:auto;margin-left:auto}.my-xxl-0{margin-top:0;margin-bottom:0}.my-xxl-1{margin-top:.25rem;margin-bottom:.25rem}.my-xxl-2{margin-top:.5rem;margin-bottom:.5rem}.my-xxl-3{margin-top:1rem;margin-bottom:1rem}.my-xxl-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-xxl-5{margin-top:3rem;margin-bottom:3rem}.my-xxl-auto{margin-top:auto;margin-bottom:auto}.mt-xxl-0{margin-top:0}.mt-xxl-1{margin-top:.25rem}.mt-xxl-2{margin-top:.5rem}.mt-xxl-3{margin-top:1rem}.mt-xxl-4{margin-top:1.5rem}.mt-xxl-5{margin-top:3rem}.mt-xxl-auto{margin-top:auto}.mr-xxl-0{margin-right:0}.mr-xxl-1{margin-right:.25rem}.mr-xxl-2{margin-right:.5rem}.mr-xxl-3{margin-right:1rem}.mr-xxl-4{margin-right:1.5rem}.mr-xxl-5{margin-right:3rem}.mr-xxl-auto{margin-right:auto}.mb-xxl-0{margin-bottom:0}.mb-xxl-1{margin-bottom:.25rem}.mb-xxl-2{margin-bottom:.5rem}.mb-xxl-3{margin-bottom:1rem}.mb-xxl-4{margin-bottom:1.5rem}.mb-xxl-5{margin-bottom:3rem}.mb-xxl-auto{margin-bottom:auto}.ml-xxl-0{margin-left:0}.ml-xxl-1{margin-left:.25rem}.ml-xxl-2{margin-left:.5rem}.ml-xxl-3{margin-left:1rem}.ml-xxl-4{margin-left:1.5rem}.ml-xxl-5{margin-left:3rem}.ml-xxl-auto{margin-left:auto}.p-xxl-0{padding:0}.p-xxl-1{padding:.25rem}.p-xxl-2{padding:.5rem}.p-xxl-3{padding:1rem}.p-xxl-4{padding:1.5rem}.p-xxl-5{padding:3rem}.px-xxl-0{padding-right:0;padding-left:0}.px-xxl-1{padding-right:.25rem;padding-left:.25rem}.px-xxl-2{padding-right:.5rem;padding-left:.5rem}.px-xxl-3{padding-right:1rem;padding-left:1rem}.px-xxl-4{padding-right:1.5rem;padding-left:1.5rem}.px-xxl-5{padding-right:3rem;padding-left:3rem}.py-xxl-0{padding-top:0;padding-bottom:0}.py-xxl-1{padding-top:.25rem;padding-bottom:.25rem}.py-xxl-2{padding-top:.5rem;padding-bottom:.5rem}.py-xxl-3{padding-top:1rem;padding-bottom:1rem}.py-xxl-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-xxl-5{padding-top:3rem;padding-bottom:3rem}.pt-xxl-0{padding-top:0}.pt-xxl-1{padding-top:.25rem}.pt-xxl-2{padding-top:.5rem}.pt-xxl-3{padding-top:1rem}.pt-xxl-4{padding-top:1.5rem}.pt-xxl-5{padding-top:3rem}.pr-xxl-0{padding-right:0}.pr-xxl-1{padding-right:.25rem}.pr-xxl-2{padding-right:.5rem}.pr-xxl-3{padding-right:1rem}.pr-xxl-4{padding-right:1.5rem}.pr-xxl-5{padding-right:3rem}.pb-xxl-0{padding-bottom:0}.pb-xxl-1{padding-bottom:.25rem}.pb-xxl-2{padding-bottom:.5rem}.pb-xxl-3{padding-bottom:1rem}.pb-xxl-4{padding-bottom:1.5rem}.pb-xxl-5{padding-bottom:3rem}.pl-xxl-0{padding-left:0}.pl-xxl-1{padding-left:.25rem}.pl-xxl-2{padding-left:.5rem}.pl-xxl-3{padding-left:1rem}.pl-xxl-4{padding-left:1.5rem}.pl-xxl-5{padding-left:3rem}.text-xxl-left{text-align:left}.text-xxl-right{text-align:right}.text-xxl-center{text-align:center}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.navbar-collapse{display:block!important;z-index:123;position:fixed;top:53px;padding:0 1rem;bottom:0;width:100%;overflow-y:auto;background-color:#fff;transition:transform .3s ease-in-out;transform:translateX(-110%);height:calc(100% - 53px)!important}.navbar-collapse.collapsing,.navbar-collapse.show{transform:translateX(-1rem)}}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media print{.d-print-none{display:none}.d-print-inline{display:inline}.d-print-inline-block{display:inline-block}.d-print-block{display:block}.d-print-table{display:table}.d-print-table-row{display:table-row}.d-print-table-cell{display:table-cell}.d-print-flex{display:flex}.d-print-inline-flex{display:inline-flex}}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}} \ No newline at end of file diff --git a/out/moga/src/fonts/icons.woff b/out/moga/src/fonts/icons.woff new file mode 100644 index 0000000000000000000000000000000000000000..a90435c8f4301e1bfe26edbe1612660e2e5424fc GIT binary patch literal 5784 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 OBbc8bFhIn;4ER6cH;h^U literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/icons.woff2 b/out/moga/src/fonts/icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..28bed68f13415620af30461e52cc615bbf6d9007 GIT binary patch literal 4896 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 SoPP%9mG>w%eBjS;*suXk(@`e? literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/raleway200.woff b/out/moga/src/fonts/raleway200.woff new file mode 100644 index 0000000000000000000000000000000000000000..0464316effacc968c595be46c3998a34d570810a GIT binary patch literal 24724 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 N*8c)vl4$$@001ocdWQf2 literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/raleway200.woff2 b/out/moga/src/fonts/raleway200.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ccac042bc3329df805145a35e2a2c150674027c0 GIT binary patch literal 45448 zcmY(pV~{S*x~<*rr)}G|ZQHhOW43MEoQ>JGZO*oB+uyt2wf1+;$v;(*5m^y;ROPtG zxGFsq#F>GBf&Llw5kTnwT!8ID{<(+w&)oma|Gxt}mK`T>!xlFbSwK=hRR1}@J9kb2iBtoCR4+NAOkT59ti`pgOGwo5P}hcM@mCRpuh&> z>Okr^h3lGpAR!y+pW*6U@yZIZ{HZ~sY~^$0=|nNJoi_}g3`uX{BkYqQW z3T_4URLiwi;WphCxTCmwzin_F^i7~213 z^cu#blFi~%Lw{mG>AZDF#c<&}cTK0q5-3Pcsp@w>bEFpe^_v#I&U&&sh7nBDTGJ05 zoti9h9f$VpH&Gi=(T;E!n>ZPTCPg=;jupJdlq$QiJt1C?v`38`Q{uku;(^8^!BBze zc$r&7P$Q-Ek19WX2t!`RE_=2YSdScMsG1WZq;@Hrk5x5ajuffV2fx`0{Fx>{(MI?n znu1Dq7Od}rnIyApyHPLnVA4zLYQ4>tX_>Nn+)bECNj6$~-^r6nTTUqn^Zp)fd{v;t>! z+X^JwiiqZsl!a8%GOXCMWmo58ZRuX@pCbLq=Fim4*%P%N$aE*6X{GqQf~}9+IGKv% zM_)&9`=56uTQwRrDSCyUv9DiO+%IgWD|2=WEGSq=0TnCpVN;~bu>Or0vtn;YOuF4S zzaVNwKldk6DGrGCi}adouxdY#)@iW(HJEiDMZz?Q3I2ROCF~Vlcik6tQ~vqd&;OeV zF`S6nV780+_7GK?&{HzH(fRURE08|I)!~pC|B~=ku!?#L0|H+-^`_DQvIgB5cr$ zZbGQ!C{yr0=rPdWDUij+}#32 zHr^R>L+>}VXfcv3I}>O#PbW~4mn>Erc0prIg8kkMbgq5`iZbAne29dC(p9~9!fW$q z&#;O4BjB_b^yVQRewR?E?;2fg@Sw?5gtcWRWjrKMG_4gKs!|1b^=uBy@rOX`r4_I=LcrX``lpMa22E}it>PV0JNkRTaH|_nU@1B5tF_V7}Z0P z2>8}BK2R~`0p*~s#qHLmls4sGbJ>_kEDLK{Rsa0VdKEKX%qct>&`LWNhltU>bvuP1 zp~8^%Ju7(w87M`-;Zad~^s5*H{Cwx+FyNR>5K*o$Y{~cPcxz|9UF|WQ%C$&OET#sf z^y+gqhl-&Prea{_(>aL`Wf;D>i_i;3-O-zzv-QEDyu9c|GwA0>i7}^7poC<5x6UyrJT1 z=Vm0vxJ*6S8LF_-RnH4X=Z8R=COsII60x8ZWY{9Gt}?8&E>KorL3CFFvYR{<;V=x7 z$Ftl`f{K#<#l*F42c_PU`_Z=8K@rXUkHhb`D;!>3>~U`0`Artx^1_2f?pPDL3Fom# zE>~!?u`NR&{1}KKYk=}Pu;3MN-;uYdv=6?}xP>G&O12^QurF}Z1%=~af@`07l04C8 zLT**Q@cdWNTW^)W$}qFr7lZW6Qn)CFG|o<+buncL&|SCc8DCR4xMKuZ+Fc?MECS_# z5)igzmM0{KQ)YIC>L6S3Ie|bN zDnyD<7Sw3Dy3QO&w%X8S6q=ui7@Elm3`$=N8DK?d41%_v#=aUeG&htURhUpH;g-1;>XblM6BRq2!_`J8zTM7=wj(s(+zZPn;VVlc{|N#$5QEByn2EhoagM!I($g=t@whAf+(nH!?6F`3xog%>43@!_aAE?^xnnduQj^HeH!qm<9&d^kJ1JGr^M+&(@-_DtpjNIa_x66We|$0{-eHzU}b6nJrF zWrzl2l1L{xJ(QiLt+l2Qo_$LmjZ;z4(o@n>HB{BrFwRlg^z*dUIy>e! z7uJ`z=hv3Dz~%FoE!{f!y5BE3c=()$VisLaf%a-NBzbsJ6c*;Ze68HDgq8C5+YWqVC4=T zH+E_BB`h#ZRJ8P(aqlwCm_o0bzIJTq(lMf=La(+ymBZ^3>uE3_V)AN3W#vs$KHs#{p zW!`Y&)8Fp-!sakqNWp4^-*V+RA(3TX<8nEHL1I>2bwpAoD;;CnA5r*&(`@bYM5EN8 zn%QtActXV@%@V*$y(pX|dg? zx7jJAdD9TjIYi+W9-^#27?MfhtkGR)%5`44aQ^|2*fQd)FrqCoLBiC_9m`JwQ_#o4 zw8hx8MMAzt5CQ@f0kLyX(G@6i#%ZPr+*S$fXUUM1f|)5ISLK;aGVxduOc^qo=vDRT zHjRz6{o`JFFRx4nRF0vFn9z`7d8=qX`e|4$~j_D3Gxrn?y2V@cus2n zS*68C|Dmo-ze@1BcCg<~o zQ9|ent7LHLp!o~MT?dZSwqiQBe-1fVTp5!cp3?&4uRp(ugVVh3bN+gE5(54) zutqms&KA0A`>=a?^jwB}REO0c6h#dAD^jU}?J-=`qUTlIg$xfx2q0JxQOSgU18DGD ziW_2nMD*75NaKqQ>VomcthQ?%VntnfMVviC^ix}@g6lWbg5`26!8hq6!3&X4u~b1B zw53iPYyX>t+`E?FHQbPAtwN>nf2;bXVhfi(E%rgF##pFf-j8eTYphp_J-R*&_ za0CP-S3jqb=Z?|S2X(CIrfF`tlHZ5TY!!9wWGbAQM=I`v5Y#o8`1rCZWA8= z+!fEOENifw5VrMQ0;A6Gi-r`qwzr`>P&m(oL$R=K~N3 zZ%lf2K85VlH>WP2T6ju7Lt(X-^J7kig;12Y2|WxpWduQ^DZ*7zwd~S9?QCT zt1OG6jhhY=qT@e5D-JQcTuD#-q8#zv9)G%kjOJkqf!uD?RNihOK`UMuO=z}EMC&7w zQz4-L6aoF^$O~8uE&fIi@nHP;9LL(Uwj7ms^$h(*#I_)Gr~Vsg+S-{uJ+2{L6=Up| zE&?V07!dReHl(c+oau5HRD3jMa@@!91W-?W7Z8lK3lge*_y{#lgR5%x1NC%jej&OJ z@mlloy!8bM?E034MHh>-&ILj-hik{Cc~}qkHqLn2A}3`{ADHCU>}vF5_GE9$HoI9j z`1_$T!L#fejQNXbp+_Wn{Y)(^Xv|OG38RolfZQ|G@ zd~^a$Qfc8!q%V&X5B+XQ=!jD&w#ikuD@eH+lX#IN54Rk-{c%%?JZHt#0dZc4NFPCS zu5|GO?;McA-fVV)XqaFT353D<5@!v6GyHUtgRg`FYHj^?i3--fz@3IM;J=|NQle27X_oq@9LG%bhlfzlhddmfhnfdK{{41|PidfN+E8kuogGdr8XhX_fa zx(t4E9VMf=0bR68ofn{QFh0a5&jm8fSwYAT?XCs@hzVoviI$8#&*li-hv$9S!#r8Q zp+T7gBt=i3#DP!pc$JGlioXciA#i#d*3k+!^ftOyL`^4MHr#G<3rw%!onKhRw_0uK z)AV5}XOqqgq|b37b3trUh*S(~I6^p4g!9A?T-zIXrfd2M1w+8Fy7nR#$KmCF>ANp@ zGjy{yvR%!@a^bl`bo+JmF|sN&38)=AE;wY>J@%P6No;yjS(p6c6d`91$tf~FRzXXy zg-DrM23>fGhqHL*eis{Q*%}=cgCRsu^HQ9LHd&<}D1U_pyw0sHn!oSXJTBd!;e{~^l z{|pAOywfhKo?h7}h!+Vb_8}3+K@tgt*qy}0A(uU=lFiXf#zK(3xuHr$tB6&{Go1V2 zI)O~JmOIu+V&I&H0npzK>(XH$JPaNQ!CEdl?PST#^60071O%32EZ9WB-0 z6hU5x&$7{irZb7wwg(SMkMB8)z` z4yB4MVa?lF7Pv!2lXEsvMQ&PiE51bEq^h)qXay>lmp8h6DL7UfLt*nV7?Gt>Dzy{fS^0v7hl}`i157PmJsSI)HdGg>n z^aO@i+hL_6X+>C>W0!dYwG)_>tw5(-gy=uYy6k5pU2RY(}mrf6rJ>Tg1-X_6d*45YAi#+SvHs)PSA53v0 za~tS)rG93G*nb%80zKU)2qd4&D!p0Ye^@>Z4D&^iBd< zFsRL^@bI`1Z_TB!Raj#)A16wgcv8n7D-RfucDv*h(;ilgRJFpbbaH~bol%9jlsxK- z(?DV~C>8zJEkrS=*VfeYTLy9~{u$x@3zlV7_@sh2oP4-*0(*JiD!vk0Xd&e=4Ron} zK=@gZ5wYpOywhCP$I24jNW{_ZWh~q5DpW(GJtwuGthiA;&Ky1#VTVOJrN~o1=56gY zAV;N}+;936UC8mmDfM$y2>7DNi@s9mNtz?L(x9??;#!o1$IJHjPRK`l zlqq0&^LWbE#=~P3&6R=_d&@Q#Q3{m)gPk zR7jpEq)S<+7+*?|`{qw|CCPQpXN{aN#!@=(}TB*hb$LW0yxdIV< zmD>n|^eM+S(Ebvqi*T@^>^BP2g%zLZ9?lrIiiQ%O|4bx0S-<-Y+xM5yif^kw^%_ zq0UYffd!w`#R&*l<F9R%n7uCiYr=!K+HKnT#*A zN1NR(=v_^O<bBYQouZyXy(p;HLX;zJi$R< z&i+!2Q*$7I!ZTZ*=W!uaDkfhF@KS;zTs_hYi&V#E<^$K5UYK{o2C+5k(^|9g6{@M# zCHBz;y=3cO6B5UVm=4{K;V=rL+s6(x=eFkdOK{63vQu28aK^g>f+F?GS3N{3&*I79 zD)LpPTa56Gj1?5TAXkF0;0-HM?mKnM9JF?ScD!wOUedz|?}SZ`ik_=V+N`_#u zB^rp3&U7%Os{y~VlE7Aq+aYt3f(eN!Mr168Oshlujl+&BsuMygN4eiemA37dSDE`E zXk$w$$+dDKB4GqzDcf-U`_}j&R;*O zf97Ef9Zl!awTuu3@#`#xSCi94|GfoDf^Id3`l`ft=-dJw(@z*_$E2ucMyA%Svc!tcAyrP?`s;_3;whK5GOMd?QXcqJ%kt(u4=io0 zLF)NYvrdq5mzG<}16s-UjSQDZA#`>S8+pQW^E$}mRqO^gSrKcLhZWjZ&t?b!d^t*r zkdIN061x#L@8{}>-^L_mkX$IG!5l!?Lmb6rDYeyQJ;g}UI-W>j>$*hR4#KCvd5Xod zcW&1q8B;`4QD$ZM^LQ#Nbf&t%5+G}=nk@X#@izo65Ew_-E2_{5x(6w1)1hTol9G1D zF0du-&jtTYO$@@o@7&fjT$w;$m~vx(F&8I~49lJ}m;jJqq$!pNnDwOaw}6N-O69;X zdXf;?&`>!nNDKvj0ID=~RM?3*+KVkX9%MaMCK3@MfHZA>O>>0MI4AbUu&pAjpyF*? z=G4?tC3h1kT}dF$ge=a4CeB1azF-i>Q(r_^a1>pjJHZo);h2mfe@x5Oypu1*wWe{) z%%7;3E>9mG4n>_af@I3pynnMA;W*GX636>hyyy#K01z=X2fu@0y zC$=^A6aC%?~R6dOa$Lu(v{sz;MUo6v1m?=uILy@JChw8eY#yM*PM*_Im2nBg2< z^E%MgjoWSWCR=fP@yhu4LGn3G6rAlszKr$SOZ%j3@VxHHUBLq*nE$$fY2gA>euxzQ zZ^HPgO_A0X{lkfup@%ro`M`|GentIH>>njAQ2G_umK6gs?5gN=1k*1^^N&}fL>>T8 z{EtsVHI!s?-H(i#_PLH^VFigXMJ*mR3GhiZ)i_Ez4)U6^0ETG>&@MB_*O$2x{KXWO zi!#@?%wJ6FeAx#kNFMQ z)}qB1vRgBEAgAj+w1l=^K zMcr!Abwp*}iq!||(fsQ@6Od&{{(2iZsnx3f*VI&@>LU+RKXJ|j@n!2W*kVjK&1u7z z`uaUok;BA0su*Tv4zIKAcft`%>@4egYdu;O<>HUd2jjF-A@eDIR4R=Evi+!qN}U+;`i`2?&biWxSAp zAN|oS>hy*19P4qqaP=2WaT+y7DbJH}3LhxYEuVVjc;T&U0Mz+zRu z`-NoDx$ldx_hTN@k{q_`%es_}Sc4WYo0@3w=QaV7gD+)zG-dbP2%WAmy58xPCJpOR z))Dhj=&WEHw?@UWuzvmfrpCPXQC8;PEVEHo&&YMd%9pl5GvkAn_%Jk3hSZTDJCE5O z9Ox7LbmGD#pqQv?iRE8MShJ#A_uAgs%l|BVw6%E~I*CLAC1^wI_M2&Qk@sYjHSBd8 z$8n3V`rnw^XFj_c<)O-Ve&H&yaW2y#w3n*bEu72Vx2(4XSl~w}G(;p64ubt&pu)Su zZS3?N?p&FIq1JKb#=Ju3yCSgf&A62pklgak?PLRu!?@pew1Ey$Npj(c^$9{CPYw;H zVw{e#-*6*fczGa3;*E|v_4+Ny5S8xT%Yiyvg;3=~3tZ#~AfHs(T1c6@1AtlpbA zp(4*BQsWiE2?sUSK$p_@Z=n7RI~Ua!5nA3QtQgP+723InOf+>~V!{trGtY^RKkr10h@C)Ko7 zly&+yF%~7|PK=}vhMOD(@!nG@7XC}%o_ZuyMx;llPY6C)JnCJsAFyt_TwAa2AI{Wk zB#`p$(EkHmIApy-pvg-?<^$Mlb)5$B;+!Bs5a<;8aC|)EMfnpL5O>3W1_$VEGN#kS zDqV0SG?>6G(n0Y`$klK=IHRl3UwsxS3@YIND!hb4WX>Oh;h;o&WT!^ly^GjA%T2f| zG#DgLYA1qw@P$_-xnJ<_ENbbup3V&J4cPdh$Rg3Gmpk}f#>;14h9}|gd6k9QCIK7A zS6R{gu;KEoMM12YL8<-w@@+k_{7e&Ly*>LE=RaNPENFO2U2$ILXC{U*Xqc_~S8!Wy z(7_>qiAl$H7yk8UL1q8cQ2X*qJy~bwM$K ze<6R%hb_T*F;y^a7C=$>F(23h~#~dA{=zrTzn4+%! z9Ablw$zhH$W!^u$!?<0p@dRCiihXkNtna7$Qds6lGG&77|FGmcMJvV1r_?N3j!HnK za#3m2`4(I0^5PR6_qVkVEAx-8;8z>)>LMF?4f+2Nj$a>fhwcg%Q`CAwHm)bn-h5xC zHQTVW=h3O@H4xA2pmIll@NbB&Xj2BK?+GdU*LoLZ!?%8xdsy2-^uI(2R7mTAf_d#r z@_i}SkcVj}oB{#RnAt!MCI!I%S93+6nqOps>Ot0-adA?<6BGxDly=uHweq^GeVSH@ zz$Z-~BQXFM{g={MML^CubxJ`+R5^v6Wz%2N9WOEB}33Te%5#@tGD=CRO1$Jxb9teJId#pfs;+U*(0st_n|B*(2 zVWZsihpOzqLCv`Gdd4>G$o6f6R4TU49a40+hkn>FM4FLvy!UZ#6&TU z#1XatV`U)`!^NQ0R?H|0Q_=*@F?qULaI3*>_CNjdo?B#z5?uQTsiPZ(Zzl(z-gTMPLJCwA5|7h(j|Qa*R8YKe;nxrs=_-+9Jxd`p=tOuO&cuwShNrRcwk z%7v#!2xDcEDHffap>7)Cq+75LJB;%09}l)vm4+(yFwJo`gA`$ED@sWUkxWyq?1)QV ztRtXOXOaKI;v&PV1(X@XnyS0ORTs8C7vy<}hjXGC= zK2?R8dsZ+xupv!1l`Ja@t>CPT>N$%fYHNy+%qaF#5h0;W5ef$fXm}sKRp%ufDW7w4 zKH<$Yd@W?m)?U(NpHEyAxzw}$N56Z0rPbU`mLV-Q;)6rjfI7rEUd3#u9Wi52FKfn6 zh`0Dw&dLX?xfOdkvj+7{qCG%)4L5(JogfNv%RZf8yc_aGH2p~ta(l4OW~?OcR%2T@-@- zN31`})A~EFNMMSECHCp_G@vI+&S6_K{P~OG-jyZj*N5xc^ydsiHjV&-0m=pZQr^hN z_55{PBs>$y|9<$od*JfA!Mj0LH_ux8ps$(#wky5?c+JSwPeLGkkci%VRl;Wo;2LGC zMVM~|gvl!NnB6j$X-;~rvbY5t+gJ0o(C6AU_hXm9c|44gk%p1o$$ILU{CEYE$DQ-Y^deszIdhmHR{mO~Sf4P~pPrp>mCgn#6fB5H7$gvd z>`pQT=DsVjUgTftO=~~D3#RHFDO9*b$hay?M*Vy}eP$BgH;V=%Z3OA-!2aBGg>s#w z)yFfkMeqvKpDh0}eA7Qu(!?OiCvARILGVe^cC_9QG$&NEbH?l8EfbCMnz*Vu;N+?e zdvbqn0fw><0l`zK_xD~(rm&D|ZiSb>LiMAL(l$m8z-hqdH)zWd*Nu8GZ<&!4*R}RJ zEMIO1flM0DSsi(a$`Jyga-}0OakhU{3TmYk)`;iHAKWPEQWxv; zfLP0%WYdE2?Pjqq1OEhN-_2P1qoA2Xwgah0njfaK9jM9A_o&u*S(Gk?7IBQ?%egbn zrI%#&o_TL|_|eE$_6u*($9(qMiBw@v5$#CC>oDQ$bZ~v| z5bSh4$EzJWq7MP5Y_&IkdGA8}`i{}>O`V5~3n(19-rugYUoB3j0jcRN^TLmF4^XywJ$yWJ`scC$u``5aQ%$N0%`#K5}B!@@na4ga$-9%Vh zq04PQBx?O|VtL?MB4i|KO|1P@_XlkyzhX%&IR-N!ujNem*2Ms5KK~xRfHm-3V_4T4 z$g-*63C8@3DInNvOB+{k_7?_>g{n#xaI(HfV!6CyJy|aEH;9p4>L&}{YfN~}`#q?3 zcm3;>MOU}&3whff&1P=oC{29~M(wTqKBsn72GhkOm%^${phSB<+E7;g?3n-w96R`X zlxKn>&#Kbtv)&6XkwJny`K6PENSGIvqCFegH^~Ne@&SdQ`D>civ-F)q?Dq}n$#dh} z#}v*DcGfpei;Mb<@z-St-E2D_(nuWd3VurO{!+=VVR-z`r2zE_CpmErIp+=yp8nO) z6Vr2JuFdUSESaZvLT|nK(qj#k#dLSNoENkTGLYq$xCnj}OfjU3YD^d7u$)r?C+)@hMis@b zU$s|U{oKe_Re~DEI+>Bbue6~aFFB4clwg<4846i+;_BbEr0o-wWT6*v^(nj+q^Bj? zLz~7*-7{TM3#IJN9*4Ed^p&#EeGFqAAH-R6!wmEuik1n?sRy%S*m|Z8`XWv1Gx4j( z?jfZrLfdabI-6%1-d38*X)M!UY6-nt+x-DsBrPJ(u$-p{{PQ9$Iegl+52}dX<*fjx&Lus7zUUlWvZOoKv*P6yKm- zdKJD;$6;#E2v|BOHL)^ydCjM0vTi2bH2L+WDBFvpJ%G1AX?$+TIxc+P$j_FXCxJh{ zgU{P@z8DV&pLz2Paq)W|V5NMB`5v%O&r|gK_YfP5u_WK$fV^KL0V24LtjOZ{f;X;7 zcc#Adlv;DDh9Mx&D0K`}5wxecqt`)Cs>YM;e|0Ld;VpG`Q+UTF-*#gCqPaM?kmzxv!qjl91}Ff^xk_CZ<3%@JcqZKgul$c988KgT>f9^CdVmY3dft?v;1 zETx_P`_LkGHafJ5-h17HG-}FkVA;*94|nRghXJ>Jt(ewZYld~FjXxGC|B%Zdza)L$R=`YvcU=6^l48fsIN5Mh`<63GQ& z?NR_M*;~NUl{gf7=3Wc*D_xg$8Gt)yGZ_Y@ZGs#*87|lugC^)HMJ5R%k4_JQ^9*_7 zqqAN{#a;0H&XY!YkBJsdbnw!wr6{&X8A+2Cs!OSsBFobivLfqcimF|kRw%|&_650l z@TtIYUa?x6QB9d<1|?gqQne7%t-8k>wF6l|x71bpgmr7#Z=D^ExVpP=x3lGL<+WVP zVt7z&be|1yu3i7E3!}NZ{pJYH|5icqw7m>oG=4XIJ^pgl??H)iuL9T<_^z#lBrOM} zHnhCP?-qC0KSWgBy~gyqP3MI+c-)9^!qWmc(waDfO21rMlkcZpS=oV^{Ed{^#(Df} zS!y`5OcuQEixY}Xn{a$f+-}~MM5{NTWHyP)bmovND4b40)phKvm#|$XRM`bUWxesa z_jKcF$_0o6|GfKw&}yZ~`Hs5f${#{gD@z*{6Qqam=yWx3T^2{l8!r_fZ91w zhAYerwr<|LEe@s+6Q4kK=0QnNx%PAPLH1^eW5d9@vLc^NY)YGh} z2t-$LdoN&El?(1l7xf$?lFh%p8 zj)FG_Ph3%oE(A80b1`RRWrMz2-*a&>@_94kvY*$dLERGbi8@7VJv0Ep;ZN50Ccy*r z{uo8NXjvkfcLbpYNFpe*;nY-?TwY~w+;hDI*OFF&Ry76|Cd}ZEYBlN&q-G-YxROXS zgHZ>tCz7IUbf^6HbVi|6|1m-}xiiH?E$^AIcx{&Q^#}-M%tvQ@ z@$aM7QXjwYa==FCz{T3t>12$m>4bHLS|sff!F`R-uT~;4NkJFg$rAiw!F46SGj2r- zGosdv1KXsl9nbksjICJ9n8HCE3oMC`%vDLF36n%+Nh5}AbGTZ9TEutwZ2RPi8-oKK zva5Rwor9OcgRrq|c|@hcLahHYX@Twp1=$)SN9 zh;^C{8Icb5k@^=NJK`xEXV_YTWZMWA*gtG|>9ewj3_w;Vj|-)0;>OvMM`&Xei_H=a zwT~i01TBXVCV>4S<6FJ#jGM$yEgxqNAMc)K48&+6ga~Vfe{u(0b$x6JuQTRN5CVxX zlQEp+X0axNCsx0Xod&K#yi80nZg~!m-?EXQ&Xl1Uz8kYHQ=hiXoWCjfU!uDj%mOcN z1B@aOyrPVUWf*_L$wOfXX#Ahvi;c0(jnR*Hp`i#8+!}=7D-xnA$?+EC%Eq5p`Bx4* zKUoD(M}*@~(NDxIFvz=x@+X*`$j3`E1x}6zbaQB+)yOIyQw!Pu9);~_dQbS<_2I2T zY!^CN60}R?DVgr)cv1vP`D$mBVzi4nDQSzRSE{+Do`3}k3qCOk`1t}Y`XIg|^p_3R z9WmPSf!N3oyeH3jp^q>OZqu~vIN#SUzUX-x-Y4S3Z~D!=@-}TcZr@MhJ3n`MUFExw zs)98$-&#|mLMLn^t#dfD_XE#hV8&nrmp@*S$HnNG=T7w5!(sO`H)mO=Air_a)=D=@ zW-v**M1(~jfe)W!gG*jtMP;t;-1!14xwvP~nQ9hV+Nf|ZMb^p8Pl{M~r>+)igsvU7 zVmt@%J+B$E1o{diSc{z&hKBjAC{!*ZGr^ZS3fT<^FOE>B+Q#yycm`x`<{`yz*k!9C z%v04tz`naxaj7mdd281+y9=9D+lOu^(xKbT$7{t%AnMZFwClOgS*BlRm3BDtXaYi6 z|H$ikI`f)in|APfu}`R*gEELLYl;1FxK*FWR>fhOE#9M;j?uOb>_Odr1XP*BLF~p# zG7;Bdlw&el^Vi#xN&;oAgJg+i0)ZwyQ3YAeIabY_Im39)wm2dNcVP$A1aCw94HqJG zq$CW7wuJRNmtx!i>WgBiwG2iB1BHp##0>>O!+sJ5qEv((n1;BPh6$l)Q=A@^u3q)lbl?U_G6c#Xu2;!;cajf)SF z==)jRCfOc*$v2LXNCn&kqA1swuXrpI}X=qK>yYxb_ckLb#t^SDCjB(VVCC~Atzsy?Mv zcQ_Wu2kA=BsoQ?Hdks$is|V~8OuJS#1F?`;G9((6PKh@Y>`b{-DWX)BQlWX?~w+LwBx(w|Ze`cajpt9eMJjQiZ}zi|!k zgfTJvbhz^$_SRiI9$;=_b8#M|Ew9k5H+e>)!idZd94+=}(Lp6|@ zrJ~w`UZ_|4mR5norcbC4rQAWF((!P^!Puw>vB3LA;MB~(hsuxqK;*)D+)%GxZ}RWV zEN(}bc*9|K@$AH}hzOU*JWmi#rIMPUrPZ3%+M{3lkh+AJiCT4CH|In2g5dlRywrkY zJ9!T3@XJI&G;Mx66F_ytPoxu@RDvZy;C`OX@TA{7A4#a`S4)Kb18 zfdG3dF))ZE?VPMj9#aBf+*F7$;h7=0?8b2d=YSF8c@`NPJ=TfOhT`OB9atDfE^4Kg z?jN93XXJ`9&9WmVSY$xI>NV>xvNR!Hv&XvWw5evN;G^GO1)65#&I*k%lL`}|48`c9 zJakgonOTLdaIkh7$7G2d2@Q;+lfGcI^QVqky%bn2m@y-Kn`;z>9uX7sB2Lths6k#g z`hnAs4WfcNqV`AM0f!^xhuwCfzC2DQ@%Ns(`@?}W;QqNN@~4+BXZP$#u7mKdJ6?4& znf-jWJzHD!IMO3+jfpL?QUQm`&C2$CfDZkRUzP-5Ckd#*)uU-W2f;#W#cN|<$q&{` zX3Hq{SaMAFmUjC<>HU)40xy5z;%o=d!6Xj`XBsXuJ2O+;MsuIW^y%nA97iweSFFZ6 z2Cl2sCzQlg=PS&ViAen7BjkT!YceinxqLvgvYgnB2U6YhgyO(n)wO#106( zICIh9HH3A@>)R&$bMPtOGLqX!*D#MET7&+#5>gZwI@74pG*lWsw#%w9a3LMk1vNxD za?ZGPJjKHpkF4g@^G@CL@4qcYVMp$IKb@^ts-$BXd)CSvfH@ewqZL?46k5T+I-cnXypwVj4XZc4ysoovkVf$pclL8nF8|mn5c5w z=t!{6wJ3Bh$Wd5!Kod03Xwj}QqYtJPPtdMpTSI-H^}!C1uVmQPibOI!jxqw zoN#LBA%Lz78d$DDuHIgrv!A&(8RvcmEm{jHiU1*pdg;>IXpSvqS<3p_{W>Uo9YozG z^jx_$D6rU_30Y(#^_1tnIJnDf6~%>bJ1ej<9d>;C36ezbYsB2|VT=kd%y4oU`_?45 zi^Qcdmxz{F`c<(4q}e8q>crW<92t zw?K|Fp5hSQVtDT$ydnfa`HVEBTD87sL7q71Kq*bRi`t5UdS)3{`!L=3 zPz&XUVJG0{)Ocd||A3u743j~SBY9ped@D56) z;m34YP$@Q#^+bK3Jzr^1IRgijc|kkbB%5luz8KS>_txMM4XPpeGi?G5SWx9XPcp z-SR%g{Nupch^um_I%7&*++%F28AM0R>^%;wv-5#uS#_HozXY$Z=kE@O!Z2ah0n?T58P^173vHA^I5QjMA_z&1RfQbEzW^M#v z#np*zi4t;Y5XugR+jj-sq@_5vzK%P6#%CPUl+U+XCioF}iL4q2e(i5K8hkm=X!(L7 z$S5fb>=%CB^GL|5Qd@-RL~GN7DBlib6sv86ia_7sMYT*URwneFD?St4p@5xA0`7hR zAH{@CJ=d4<8bFjdGF83pa%H3;TW}&oIcEebs>3cnnY`YE;Anaeg(Q|`PhiRZ$4|{3wwt&Q&Z&uRwhRu#Q zR4Yy0xY=c(#DU?pB^P;CLDhQNg*6S1GDW{>SwYu{5L*JqBdQhOl+8jD4(c&cJh>8u$BoGS_86wc&(RYIx4Bg#iHDvg_~ znNK%6Uek8!898o7XKUP;KHj)?Ddw&Pbt~_x1j*HT_a4F{;I1R!ki{R($H08FsNC*f z379uih@OWJ4Lv=<^}Kc=iW|O2q|GRZL|L^E?Es znm1dc)ibRU#C0-5?ph@~9pL1!Go8>qD`_$Z@8Q z;gmtyE*h~bsFGfE{4&XGtbv@BbgV~hKtGL5Gap!_?~r(gM`1h!BR=CPLqGT7&p~w_ zyo2)h&|Komn;vLMqxGuDTsE9KWBlhsJo6$sRpYA}-IvGpzf+`R*JGZ=;a=C)h?d~i z)Hx0@2v*}ipDhS|fuQ|L7f4ez;Xn2=H~Wrk_P*+qYb-u@%F%n$Z9J~B;B zAFmj6>vNMcz2Rs5%;S$HS5-Nt7a?k``9EnAM3DD72vfTh4D#B5Ux=n)iJ&8ocWGuG z{<~Agj@D4QI7^iCu|wJ)2U^ha4`Ggj63M|Eh)SOML|KWgCCUt%5Y86z1w3{-2t!rJGEW30ZE?OHjz^g9jE1 z!QSp(w&jH7a8c_kh+9eaVmUZ*za-1N)m3xk?$i3{>;Y)8^NTno$b2Rj7&{pICA790$B;VZ^@TlXF?%FOju|EM{z#QiGr_d_tT6fwv?wTe{{%^X2x z?(sD_O?KsdPcl~#h;R4SVu8K0gWN6JF|M&hL@U|}Lm zIfDn@FB~*Hr7$thJ7%}VO2aJuGv3ggoD%Hx7k=ylcAiE~`?lnL&g>S$AErSY+f&u2|wtq3hjVU!P!*!5*itt**PK-O$z|gDdd6X+&5*rv2fn@HCn+ zVk~K{2P@TMcEqBrFzN@*i{44Pb%JCM^~m+CjRwK&g9CETeZ_vRUVW-3?aX>Nc`^;c ze`1My@k9lTot-b7T;^L&Mn;FR%wdf=FkEuf_PIUrm16@bnk^#`3(mh+$<%I5yJ-Zo z_sa-Ba{r-G5DZm?K9pf70sGsDSPjij7Mx)nscYNZd zUWxWXZV8z7PL)Ya@#m2Z)KUMpO;?S2gJ5O+k;6PyB{25S&U*QyYHi^Sb^kd_wuOG} zGI)QI$?I36B-&DRX}`y?omvl!h5qvVatH*|vyulGDl_f*XuA`#W9_l(1oN5;gHm+# zx1kVPexCkvQ0EY_v~bxg`1O!U2i4qvDHXVE{THRM9L94=)+;lh&My=_6fj*S!2V11p&U-Vr6 z&MEFJR5w0GQ%hqZukuiJPFeiyf(+55veP!QP3OkSU+nmKr{?1S(MykOn|k+u{K>^} z#Q0dXg@dkdt-da8wFZ+~;1EThItRxvkSAYu=kJcM&oNF*u0jB*F8SE;midTzGYKHO0+l{_&7rP(%L?1->o?qb?6m23I+@D@&pDuoX7Tzwmdg znil`cHU^*0&z!4-2UjNf?&(0Z^18?}G1>6;X}ddgnB^6KDL3>#X{BlWjyyv(0a+^^ zg54-IW6FY116-a2NU~{zpZ4Z_IEiPq4+0XF2(VP z#!ZW?%^QG`Z1T3W+}cgA=ev4;DC5%czQ!r;CVV^vzH;C(hNX{jMnU(bFg&ch3i-wj z3>-Yg4BAr}2+uGvoNz+fZkRgT2ObI(d%qun4$><$|9z_E!=jJqZ_V25$~czKG^5ODR-g}!r*i2?*;8dK3U+nxA>~t*! zOQYl9(0$IU_xR&^k7qv?)wtWJuPDKcp~(U)XqK02t=78BA5(2kR30L9s55BMPbbh`JV!~3a-o~lk5jftQ2%3y z>j4k^Sf61q$IJkSCcmf;<28>Jef?x|E&vN!SxeHwqpsRc!&2O@TUOn^pfHeFQY|86 zitsXD1vSS}+@c!x5QdSe*q{{;ucTa2{@})T{57z@93Vpzlb~g)1q|u3sWM(X+mqS2 zZ{MeV6hOTZt*ka{aY;AmE}OM7ELMS0x(M?RI^puZ`Sfd8XK_BnH7XjHZP~oHgzGWn{p(tgdaifC>-0 zsyp>d@!;k49C9q`#I++8u|XT*A9R$pXofwwuGnh8hWqC-M#a9Hc$@)%LpLG3u6NWE z438AncHmp7Xv|yF$MoIe)!a}T8F8dVlj))JyD5uLiZnrK6pkouhSn-q0brrP8g(e^ z3?_YTnH8JGs?tCFAW4KV2{!+yd*X!svsSI!;qWu+q*Y_$eQ$Ce+solpW|+3A)K#$^ zVs|Wqp>2xnsybuW{wnAF(@DL1As`&-YmAyswu*~$i*x5G-INCv;a*K6tH9CBsxVaE ze(OmuCy=Eq8!aiZ7``w$Xu^F`8C6;PiF! zmJ)Fg_i{#@&7Jm=((Z!77WS|^4&oHN9B)e$bi#P$vm3IoM>TLV{24aEgb(auTG?_>F8}lGS^dpR7!tr$1FqWJQJyp zs5HU(DWh$)&ZX5k`ivfbfg(XjRYbywnuNXw()1n;!I`9y%nbV@o4=~2yy1$+iBh7$ ztNyE>!2JUOVmOjI1A8ICJ-zL2r?b-;lODQWfoQ#bJ}4YDH?UtSPUnpegkRpu<;KzE zl#q{;Q=?ryahKcG|EJN}n@Z|2noCQb?*k`6(NJfQbkyqH#YmIEB8w5>dX&H_RIY%i zM(4E+wol_Lyoa?m}}7xoAGi!K#`ZL|#(pcn^tWRs~0U!k=@ix)|oK9ldiK@inS zwW(C)2ncHQMscmjU#>6+NcQPr1pdP;YappwrHLHy`4T=%UQG~nGOT#C^tlqa#nU#} zUW>skj(PJ7hw{fxlscX9jzYJ))9dQ>I$X0m>~2@5%hmqqlQDPO(u!vml~u%jVnq`O z+1zRmJ%tI1=VZ3oM7Tv6i_7Z23)8(CYN@ z#?0boPox&L1Ue(+2!Kg%U6;DBv6GyX{gW_x98F4lY2k|0gzqJppZBbdw|{z;sE}*T z<)|$P*JwDfdZKGU)EDdz80vMt(nCRT64W8yg++wwo2{UxkXJbqkQwWvAewVZW?P{J zGETxeY#Q0i1t$37{4)@BBActo*tYU=wT1$>{7$BS*ISz zaIK0-Bb;+OaJRdYa19bYKhQzAU7e)qz4;{Ot!yfiBuRZ9_s}jX+S{{dobpN<+Q5}( zh$&nELw4&StH)sz*|{C!1?B5)ccR6Jy>-#dl{3P*aw zK?d~eBqiZEg8eEF@li{xNlxSBXCI7{V&kvDl-_z! z)NcPOzgkbp9!^S+7HEY<%AVT`Yh<=)3@?;FUCP~BM6pqoSzj(NdTQ0VEPfS&p#jcL zjrhos=`)AmJ6f{4lyxP0D0%tmT8F8sLGQ`~bd6uSM4@^wAk`T|T1C129=PY$HI!pk zQ<+jnX{Cs_5h|zGc9j^!5z-uoeaWyBD=Fy!pS^M=`}GKj>;yX(gT=4&pXEyaN*a`O zNdhE^U~d>}(2}K>!r&ZjgSoBIDDsXJQRS6Gu*z_M_eh|JH(CRFSd4|n`6fNTU2InV zMcj{WED}_I!7O?YgZa=#UZ_pqH!?QXySU$_eS^4{uc2Xcze&EV7`NlgycLxBw75i6 zd`H53H+6gpGJj;>`r6=fJPY8N*t+hu;CZlN?t6h_5*C%Ia*TRSR`|lXtgnZ1o6EjULhiH ztn4W3amfFI*oWBnjV2@M(rPR0KCf6}+-KsxeCboa*5wNayl>6ynh6tWK3l%a%HFtL z)UERKS?|nptz8S-2$fVEL(lC)OAOjFy-`|XfM^yn*tw#N_gQy0> zpA1#68ImuR*1FdvqJaR~!>skBVp5DTYAWqZ+X4jM9>A!?Sb~KUwZ^|A>1_-k0uQE- zHD=~9*t`c)r$El->GLyiq}U(Yv){{kf>I!=fZQhAHNM3>o#Y~tJdLvyRT5I|rsE|4 zD~sDJBwo##2Uw7CJDjezuGiTHwyWKVcGL25wiR+tV{d`4 zdnZ`gxz{rAntr`E&~3BVnJ|4cVj3;FJzJ@ApA0hCuSRS%R7NspRZS(?lx|-55Wta7Wr34@b3n6)72&$~O4LYNEC*FjhU6d{j1W5+L}vOge5v z5MrEhvZ`Cw`yvDFJt>|BEJZcAt=k+ZdsHd)=(Y%NkKC}2TmptCZ>QPiA77vHTR=Sa zB$-$Ci1@a`QM`J?e_?}f<}YSKx$W!1v|9``(6`d9{JCr#yJR*79-D1ihcnB&90jPj zq5oyAYZ96#woP!hPh^w->;V-Sf9;0|Da15a^tH<^Oh|@jke_*hmw~F&=ateZT9_No zrgHp#D&n05yYt`-KxEvh1eMIOv_JFBil1NT_<0@JWIoNboW67H9|YH9u$gzC_%xNly zJWV#611t{Y8qKFN%nV!M4F6q3&M?rM71joTB`SdZDn_7Nn*E)PgT0 z;@xc|G36&eAVs|jf|x=Mj(zlT(B;)3RI4V`Z!$vJD9p?Stp|)BB@-x^V?0(hFEh?7 z6hC(9F=PMqc=0LULVi_<^!*sXW|q_y6!nWuqNs)xk!md(4r?@6wf&*2Ma3qK{Ax_8 z5D}xh5(Y2iqXp1pl6D`9<09xuB`*>xL@^x zrr)zzvp9~fN4tNzn@o@QfsLEN=8ea`d`fK!gKMVN*zIRmuU@lux7V&cd&$bvm-T%~ z+I#5rgmE0|Dv$xGe-dW@c<=c$%*xvWKV5kD?sM7KZ>AW)n#klL?r)gjo2lgdw`G%H+ftBOpFWv+SL-QHl~^xb^WeuA zK=$sJUoMu*i!aM#SB0qb3L=`()CatOJp12c;S&$nq{WVXJjo{h*N|#!eRx?xOP6(h zNnSX|cT*}yZf-?4)~U^SNx*JsFNaWVh(5z+Q}K{l7H0qXVL8gz7(Y0X8IU~%54S;* zQyd~If<#Qq8(T+geqz+r++xo(p&sBSoz}1*A2ube9&G4AC-Q((|7!+#=D3+;){u)FsK!{Q2mzhhXGv z@8e^uzW`JUh-(OfV0H2mE78sfgaY+Ls6XY^$~B4kiH27jB+GVuw@R+ycX@$O*mz`i zlKR{-nNb-LAsXYI5WO_HQeg6#xr}qqBVMJ+?yr=pMXJ_QAF#gQKE+i;gtO4N#)6Q9 z$Zh>Agl{oFXlVOuQ-(i%J!f<JluUcN3<`!c!i~<#j>(EYFXLRyuwm^Nt%Pv zV$#w`5hFNiXs9zSiiEMn^$lZKD6|M`Xu!t8A-5VD`G;7^pu7n77RW2DN_Html&Ea> zCWAbhOn`qB^(+fp%2xf z`o=|A!0~_i>$wuQGn9D#PWHT=TX!)(`oe4u7>rK8@wK02+1pQ~0xSj&fn>-U{M_K{fCLLwUI%>dqBDzUooW2qxrqNelFmG|Eh0{nA_46> zbRbHhwCGeEbf)o7=OTK6P_}awah+-QQs*Mu1VXhI5wE5U%JeiaPTdbW7kP3$G6rPf zyLX-A#AsW`xMSQg?ii=KMX2bR@-H2oAR1(VUhw0^pCDTCI+7>k(NZ8J>QnRLrp^A% zTVmLYgH$_+gHwMAfJnOyhEw&QZ;W2KvEt3C%k(5kqL+rmSn3dMIs%7i2OOeb!J)*3 zUfj0~hiNw)rnPYR)b9fz^f{fYc-maVs|1j@tpl9+Fb_u{c(=|c_}_7HmC-@z*G6_Q zUpPxoZGs^A;cZd@T2W0YEvO{C?r66^bHu0q_k87d;-*g&wfQ4Z^ZTUU<#)gj`unngq5xb8mWtd7a!4IdN-e*n8@7RdQRJZoeUg0h>c6|U z?&JASZQpy|i+`H zhA?OGCeQ5pxNuf#N<(PTDYgv%)Ct5}Qpz|7=!;K42~@_2pqyJ=SVZk^n#DVJ4&$cz z+5_~$q4rmOo8qpH{CROZbDZ!I;svV7)_7mk8R^W8g~Fr?v9vt1cviG*P~uTEu}+@P zW}a7=vP_*aPeiqLHux#}QZq~kzloBunZh7_a)>sLtpHOun*cRpSiaRD065`Z!OChF3N*TuZ#gICqd3#4xM&e!SN0(hhPRPBdc^# znyfsPWN(RBQ`Vu$z~((3?HpK>%8od-8W&-${1Mk3HB{QTpi~Ym6DVzQOa51!7k^=rYBPjTksMWilZRLvs z234jEIvvoZ`BQ7Ra1PUAgz5?P+lx?&WkLhjQp~^vKI;tP>xt2<`lS)v%(sBV8IlmN zN};meoLCyZQj#-6Bt$Ng%h)lf;}-Xa=bD@#i{8v+i-{`)(gGQc%)k$5mj>HM1Mt&} zl$6+)RK{;$yIL%|6i~e_rGA1_UKGC8TTBmTMA|WIxJeq0gx|daP=AM{wy)^BU2z#J z$nNcI_ICHk?A)b6%fQZ<{suS8WT2GX>&?&t3; zNPK+))wkgc;-{{FGC|!*1iCs^*XfZR;rDQrsWH~8F9hHVE z;ykF?Cjiz#4$G^>!b&{7$$On5F(;agex_1m85im{Ik+BoJ9gJIYB;ps_IdM^F_?Mi zR_!lOwx=go<6eI>gm9iFUlaSiqbiIZKnpYy*DmWvU8js{#bu+@u<2wTR5{AWxVg&PYVj#gQvqXofc z5d={`S3~QqM9f^*t5$u|A}ATsj7|BvLR7kpxd=jA9NBH#nK*_y&Lw54SZ*+x8lCAMs%(DCXY*G+tXb&&E|EFX?;)imM=qrkn*1cD{2?`hpuCj zr-d`gYeSqHT}?Vj(JMDr{X=J0&^C;)KsD)JW+9YWvuShfM%*1r>2NUzr_Wu7s%VMN zh6n&5pwzU!neJye2^?C>l@%4E*uiQHH-kv)8mD-QxfKR#3Wj&Q=x6B|nzO6HNN3){ zw{-oVepAAcM<;^%A{%E$lE()#9#EbvcZ_9~rj!XAl&hliUX_$;L>UUI*qm>Lk8>Fi3*>B^U+0uiRrUS31MtBM`aoZ zP*7ASfrFbtza@1;nZoHe?)96C`P_^=+cveuqNc13p(tIZA4g4lV>-t@si6Q?sD!kx zw45gWeh+3XS|QvFlXklu42H%6&xzpLu_rziG9|)U-&O$Sgz9K(9@ob}a8{jWf$t|b z6A)LtpducpcV>dY&GS8eNwk$jbJ4R^E&u|B`NGvXvc?sqsD|9Vf+v$0zU`#o-`QD{ERo1({Jja3sxV6H}Ua9I9 zG`COyk=CbAw=}u3xoO1NS(OZ0hife%q0NLjTO3dtW$3!bgy6Dw8O;vdx;0!bl@wNI z`1;e0D^OoQ>y>w+1JX8O2r5G=S}aT4MJ+i4N2i4OgyfBymXb0{ihc(&rTj|<9kyMq zTGm-By)vW`L`fmC2JN)^ss@b~0LU6rs<_&lL7g@SDWZ+Y--h{HdrF_@p(re~Mp+Qc z0<9Qv=ql>d9W?>iDbl$iQ*iz?DgPRlsDsSVJQrpC?7_J*DBP@g|Hlh@7tm)l}cK>x6!2Lo0_odu{^sb_8j+iy|2Y$XcX z%wF=YtQ^I0#W@q&J~WutAQBu@siJ#Fqbu&8?!LI6zIne|R?Nk{o+{z_#%Ss6)}=b0 z_C6l|6yXIn5Y2#$tdG;#Z1H-K#-7QgYuZSmXJqQynCvd&tE!U6P`s|jK%H7mjlgy+ zs?iK*Sk#sW6U0zU4RLl6K`$mr5s(2uWFw-6wY61F028nnY<2m~6VO|t7}`L#?jt&> zEY^B#==>;T;rNM8gB5SvQ2za)$)syrki(}Ln*54hY@RW5l-tJlZZ%on@0D||D9o{| zA_AV{(1QHajLXl|NB#ex6B*J@{NI}Rsh`dI->jk1SGF37mj@4vi{dYP4bG)kS5TTC`F&#_$E7IvCL zOqZErrv6zE^DKIO&cd7r_-FX{_>WaTs;;UPW)-<>?XGLIbPxSG`Umt+=||}|@>=rd z<+Jja=l{g0WUOWU1Y+PlW-8N~sbCf`qs#>JHRfqZ02v?xYJ>h@J;ttPzso^6FLHk2 znz?hhXL+T(g}fvDa()74zz@ME1UZ6I!S{mSk#b}Ya#&a={7^&_iA9fy{uK+vi^Uhj z_a&<&*QG4!fb^vFzKkc^CHqQtUY;v=mlw!e<%{K8LuFXRBS*R&_+(tbSDenfel%g8HEpI)ZLN$I&zB6nalHEBeyW zX>MrOXn)bI)BUKstZAHW{U-hU`XBXw8AwBeVV{w}#MpbLq&YXuE#~tUrX_9} zvOH{g+cIG}Zu!NUW_7e0ti{$b>mKWU8{MX{#ciXu4YsFkZ`$_RzOr4m{ccaQCu$Ko z+(t0yl7L06;P*EGmG06SxlA|iSW`!IQ^*wMujq|?tfK0p^YyqV@Gau4Ug zTxQHN&58(lhdAml%S(oiAE!o3P5{;2IaP3ed>}r+}`cY_-uBysdwM~ z3=r*V{iG7XBYS7j!HD>d`M^&hXcJM*p%|&a7uHix@I1lkv3w$p0RX~wdi6}eZR7Ez zEQ%fbO`@sx7nm@5$9K=BB&_X(ESNV^?}0sxg?bx8OvA}3IqZr&C5PNEcFtd9SuY3VaJ?p>beDbtj&`I>!v9M+IpbvJe{T2c+o^*9SV$YcVeAB@46_?q z^ebzU?75^`nqlKz6t2UMl$U;KEKXciV4hx@2j$-u;1aX$@tw3es_keFwYY`~$?Q%% z(65Y=f^!CD%yX1m&}nkf0IF1_;ezdr>2uKut=FjsdAVL8J8gWZZmZ!mE@ogR3$4y( zg}NmX2ma!U^rUlelnr@c!GH)e3c{yeM3u?FVx}h493M{at24-6OiFN-83_HJU4Q`M zm(2ub9Jn_lU`awcIMC(@QF-|O&|kJ zISvU0G-xTo2_ZX1J^u^7HY0Nhdj9K}!chp%fK-Emgc#;9F>`(H>D-fk7=OT?;)lWo z!`11el6)ADgc{z)JybTPGK<;nKM{AKE5p$RdZ&O#)$b6d_mxkp(J=UPK8LtV?s7>UP;M7iurJq|2V23to`aux}||277s z$}l$2BkI$lX8C?#Jhl!yrk|lC7Ida&Sx=Jt%#XL7_J&t;VN>4si?Ft@E!n&6_4fXA zP4M2zhd_@ob3;o7zREBOAH7vx?XTY2e1633sC}EH9e)x0Unhnh>(&iY9{PWIVs-W} zE0*B|f#FcvYfLGST3appDQWJD^8@l>h$;|#_)Gx zY?bJ#>2$Zq^0uCrPxb-sVz}|P&Y<=jej^2t!7&lxaQ7VPy8mDESOQQ97`w9O z6Nr&;zfnXj=nA1_wa zoQT{87V*V)!PUKH*SB-|2f_{SfF-FFn8HZ#NoH!44Ob@OdwYS_16-yQ3C6uZy+U+1 z8KqGiOJ{#N+u60HYd)=h!mQPfHu{^>11;&@c-Zeql;Ep>lANv_>CNiZ5fcmGK%m%s&7(tBG-dNTYiHgf|l9j&_(RXLpwuUp#@_YwJQHyHqjd~oE%Uw+GQPjn6RVJS$| zNt`7@U*9cj0ehFb7!qv%+Kc2Cu-yQM&E73!85b}@bPtuF#c2n^U! z0P(<<>_(g4$(F?0xdG**2UnQ#Z?izYIZ)Ur36^(a_dn_r^0{FlW*4==ji5eu7YVUw zhpWp`>tv93skGP#>gr{iJh&ofIJRR74k0&B|LzxNHX63HE%np4^Nk|1)}mWAoQXxB z?7!|WaL%qolFYCl7c<-fuX2ljk)%=|nhj<#lsT*@R0tje{MTlv9Zuqp{9^htm6}x? z&LZ&SZ3aMO>aE4uo<_iQRY#I#j==M@_Dn1Hs&}%Grw$<9YPl8%%ltE z4f}E)3o1%-z_!GxqMNY=HNyS!=ouXuLB$uKmec3!o&nd^%E_ z7Qu_QzIJ78b3w?Rs|HL`X)qC2zs*A~)szoGi8@Zc1~WSVzD5?4JV;xcXMxUggzhL-0K?QI|sU~$kCv!ovcZd!*eLRq z9<2TFtn-1T(ux2idi|Dd5%)XK`~{{1_5_%{3ES+vlIFOwxMY4s*N^hiGZ#Q$nEdg` z@lQyAShZkUw{@HE-^aCqFAI}F|8V%tGZmm1cx|`v8qZVBCxLra_zUcVX<9^@-kR*3 zM|pHRI7V>W0{~Y6iIup96FsGn6-WLI++Vr^1J|=FQCq(sPNNMA$`$xn5FJ8zJ{)oP ze=}jg(wk~jYvb7CC9`bw?P395t>(*oI!`sD#WiRD!`>Zv*`Muz2a*8(3ksuQ6gQ;M zTq?;baKV`p4dCcr?OF`hQ%OBL(w!!NLEPh36IIHx?KzPxPiBss(Jsc}>r^}Iz7X2C zs)OG26~zMlnT&g-mRmyd1$D5Qs%PtX>DKmh@SFqNKWWY72I!zcH>^bg36e6WR*}N?Kn8>bkeb!olqGc3pnL6FS zKnKdxoVJJeB%qPLMDkFi@PQwSBj3l_H`#4W<!L?sxLa=NR2m^9m#4-^iiGN1&ZlgIjVlYPaVmim zIag$$wvCPzQORCun0HZ=v7H`Mj!9$*&W2{!H^UWTwxUxrTHb86P1DqrG2*cvJK1$% z`C{?RFuBMFG=(vZZolfb=Dr-vxfO=!ou=4m#yov@cjgcU5leuIkZCZGp)r9^J%TKT zI?Nogmop=h#MWZ5I5;O8sAiFb{cOZy+$=%0k8C)I-97&GVG-{ zcmZCo7E~&0<+V=iTDl_1s1!vjxcDf-aXs5{8uP+_-M|2apd~s#D@QS6WfVGVLF#HG z72w*Pq~H?KR~y{t^&Y6>jC{$ZoY zFzVIPenV3JSM91!Wd_O{mDRm+c_%|6V48U-fZ!xhO0j_@8N319gf3n+q?}I+I)?YT zn(FbbVE?@Mu7*o%8n@F(N1o@*355LO@7}1hkpdh<0hqD&EJGW~d|?%NFFEEguBHz$ z=3i3-oRVnH~u;nOHsLW7N8yl2qGp?%Pg8P1F zh_LO@MSr-419vPGQfTpUdqu8n)nafySK(-bce+U1$xo|=*5dgN`ZG}%QO#l|V+MJK z#3L7dz87@f3|{Y|e*PcPV4UQ*T8*DBuifS1JJ)ex#e>A={`dr!yM46~mSH79XvyxW zuh=)5b>_?>Nr$}$O;S{n#z~GT1NLpr?8X_hpfar-HC8B96?&G9Etb@>UY$q zRY}%!a3&f|6dzGAoO=h7&&m~;bH?;-Cz>|+^h8Ob20#do6rg#GElj0CA>2|fYjmzX zh;PwyYLnL$;}m#|#u2>rsa&&6`R3+{@6=S(C1>!?(j$OR$q(IvO~|mQ&7f6m$i4u?#&LR@s~$u)BD= zbg%zl{J@`x2X1<96t=4TBoLK7<6wJhreE?=;`l_vh`;D4DDA}Sw*O3R)W*mqYsj6( z)_!$8>O!oHk(rfMC_l5Rb~}M5U=;IctcCXM%~rT%SmJQ%*=wI&OE2)7I^91<_2ms$ z;Rn}tJZ^a;B$g8MO(`^#dWLb5Gm$gf6WZA zOY5zLSW5CCL-1@kHmdvC98zu#k)3iZiU+_Y*uWy+gryDXQsNnPMPjLnKV7upDE5NR zH1*nL8qjnkMh6hB`nn*YQr;9(=!`V8y?)GGzAl}V`1o#YP(7ZMfE}CAB+-z0M7KpUjBrl5%VugmiRWI1nh~ zjbLvb3eTP8jwq(2mxoI+CamWFW_jj&pH`^jn7_D^g6>h~s>=>xDGN22vALnUt<>U% z)9Q2vC1KmQgNkR{fJa#3;~1)f*vO4LmR2G8y$O5x(b7FG=L#BRKpBvZ7+4l#?$4V; zaj)5og$SbVn_>%*+tOE8AZ~@1_v1-U_M9z%E8wqP*6^AOe2^l@07U1Ej*5!33YmNG;(|>+ zwLo?XW@MKF!{|GK2E0etRpzz#g@QJ__J|IJhci!<&l9Na6cDMq10bhYOGWYCqup@U z+Krxda!yO*(IN25h&Ru6N<7vVyFI|Rsc9Yo^4Fnr1HvakH@Z<*D!bwc>@LRW?*vH&saj7{U-A#ptazHvfmkfZ)OCD-%zZ zW><>n-bAzd4rjZs9Jti$eSYxB+Sy9I7q_J&KA(yCA`yc{DdDTM5}L+H4S>5dYCPsO z-Rbrp^=YW^v~u1vI~Tg=A#nRW=Ai{6lh@82+6b9zGX3C@YnpE0Zu}pPPJMz0RKc`@ z8{{qh>5F^5;ZnWS5%bqC#k)15Wa`YJv-rBAE#OoVOA)GEC;8SqCcK^L~c<@<6i z35WubjuPq7M~ZsuoL0M>5X^`$J=*QMXmuxSx7>XDmmQpBfNo)1zM1pX_wXVR< zGu`R+|J%gpP~~SJz4dV|J-}<~bpI^Xl{bWjA6VV>5JSTstZw}Wc)@k>JOzKvEdjx? z0Lh{BEDYqVcMRO^D~#x0G`pwwZ6rGR)buQruVP>qm7f%lvMW6V451&)B+=%??XI5^ z)(=!4qF8+_lMmXk8TK#UwkRgpMYXcE8w8Leoq+_ehffqoC9oK)t(Frt$tt(JF4xzKBF}d6`IIg! z&fUmHEG5_#8Jl%jtng`VSG5Hd`pb>oyP2`4q8uM{Qm}#7ROp~C zX2a+1!ekv%S3N9AZcks#mScOsOKM>#Z^!Jts`N~;Sg7`2ytx)Ms8I0oNc}xFLdKCF7mW>b@f&+QccXVeH+I&9^JVbLL0h0@bfZiga9P+0E&Ar z&Wqg}sX?qxGi}E06H{O6U4AtN(2;JMHnW&-Dpem$7A{F@gPXQ_dUo ztl_vbl|a)}MYj6H+8oW0xGFlJHAcO^mTTD5>*$2Jti7G^Vm~Zu#Q;ZF71%4fC14A* z(Vnv60leRB6UkBcCu2dWR4m~0Vw6C>`{W-^alU%{pi|ycb~7;?^fJpRm|#SFN=omR z!Hy;dIRp1;dD7Ng_Vd4kdz9=C@h>tJVGlgpbpCzW62ZYCz219S-a|a0t)KXUKJ<4s zdm*Zb5L{bKhae7HCAiqtEHpSlhFB>O$o+&0m75~o7B%Pb`P@9~#?we3rw>ze2z@#t z#@d;~sUU1|V>Z<8UftX6!M^%?2EJZhLG9x7BB>(*4;dtiSPAx~U6fS{c1%Pf#CQK= zs^ZsbxtrJ(_U;r7vUp*;NOn(V58&Dn_e)9H>zRm+Z7@H-(ntLoR1PMxvQgK&c5tYZFd~5e!UQ+njs3i>~$>HS~wY|GG-6r~8uAxCX`` zSP&MmvACmj#)UYy)k?+pfQ!1Fa(NEMOGC zk%apqEQQrLElhJO#r!tiBL4Gpn5sj=^#P0X zok(;$iPeU;_fTC-LNPt)*03^AkclMzekLb;2`&B|Tv%VIaD3NOv7P^PzDCRyvg5st zZrxENWcC8CfLrs`ij9O#C|l?pt}nCV*e03v@rbO)Z-dTo z{hwmc|Dut>oek8JQ;sWlcx<%z*XbZH;zplOJ#Jq3XDqZ-#J=temXkc3fW{ATTXviu zK|}qvC-Fx6HRpPNpiaUC7iKL2?p>S!%X>`ebhtbaer$W!b1V;kw!QTpSPmrcE0#N9 zp90_B83U3aA^5nIw}5^+H;Ig@_*B#vOd%jjpAOgDtr*}#y+QKb@n~&g@8k8uOB>uS z#9nP9U>8Ji3cHEyq@4J)$Dx;%drVZfKb-mNz$G7&U+ehgg6U9_+O|^O1?C}2r%(o5 zrz4|{dvY_~rZ0|e5keWF&qsX!Hg$5xk(PJ&I&|vPlfy3fV2DG!O3I@YzrYY5f}HbG z-QOyI8!^<61Icx)N%1R1*#r@q3dAt{M@8l_PEc}lk+o0F z|9#yidSHE-W-35N49f=Xs&5h?MV;P69brODC_sqZ=Z(DyLPl<$pM=MpUq5jbswwQw z@4CNuy9V@3JS1UmrTO42fY{SfHBkEJsvS?5t9Axyzyf5-u+dK8hrLH8(WlT|Mf&fg z@ajiMp1*+>bN_VRagWF?*`$GBwqiMD@mG(rpMCeOFdRPhhi8tYBj&EP36WGebdOmZ zjzgzK)^#~hGitV{H`9dXXaAQ+QQf- zS5ul1f~lE|Y$dWtYc#L0Ivoy?sBsR7sw&d%P0iWUKT5>mw1*QeWn&z^B~0cb5goEF zVK1EcSs)bU3CPB#@-;(1Zyzf?W%ptCQ2~S9Xo5B%Zx;7sW`>v68KgoVGm3W7{34sN zBt|+uI@k;Sh(zXVMaG3#2nyQWCz9?CpO%sl) zRoWo0*Y70qOL_%t!m4490(x;st*PPeIzgpp8+pPY4^Cnc*_K0=rHmO(g4c)5A~8uo za522LKu&9@MY@_DPmc*1^c&~Opxv?2UZ1i?dw(!V3AM7Mq$fhKgQo2Z_L|@@oLJdx zjx$xy>7=vTsX;FGS~uDwMF#7lb$_LqMjHN4v5Fo_RS7!`oV@#cy&>+FaybXc#^aIjpqkk94$4Qs!dS#!4O4r2@0 zAP~%+)EfnENM_c1VL1{R%X)YDlSB-CToHwuvAn414>uIJ=6}l4I<78yowSj;1Qs)N zBlsUheJpYOat0=z*IT&YYL8MZ&q0BDd?}v?K6|Y*LOCSDN(meGO%AFSSm2i?q7sat z_f2S#&|Ga^q0X&b&yk1bId^%$)A=>M=79`#U0@n_B9h$#KdT)`Zi^{I6MGXO(1L{};YWhp*JIXIvzxi=Z*WDG44k@LiTr>Db{0z=8CYM|`|ERw@VHxO zq~O7$+QQXv*oo&WmKvx~!UR>9SwJfbVwKiPPP;_`)79}5e?oXc!pMr!R;WbRq%qQ- zrfkSuykEDK7ocjz$W{eUl7*0~K&~lpMibesB<3^E+H`7ArYj#pckaxA3%C9yb}NVD zfD0G9rGJRMn z^(60D_gp8FZAQ_0Re@>&3`#jbYtnn0$h90x12TJDk%P~44$2eeM{LCp(J>%$giIAj__g@y_m zglLzFgJEAxNTsX08H5l;pZveT5hkZI*GdXpkP3?C58$f^e-5K<$3J>*-il#&|R6W4CVEk9yL=jNLDU6BYT zY=%1&jApWJ2CV%BcXvV7Kv6h+@=6+3;z`)M%t4Z9<}h4qBuQ!*ss)sWT0e4~zG^o= z*Ryde=Vio7)?UC9R%*DmS_cjhh>HBOsg%b}1%XG@1T(0eTgR~@2+A|Q_dyqib8EUs zrSz1ya$^N&S0821E67xzmo`g(gwTJ1AMh#LCG~BQ2VgN{!3;Jg@gx=Bpz(Dz(PXLa zi82_nLDuRcl||avsLhG=O4F0*KV=CO$ik|#5>4A!POoO4H;U-IS%bCw>_FOXGy*t1 zS7YZK1Zs=5b0tk1h3y^JA%60W*dD$7FthF%ig#vtFrNZr?oq!$FEO!4#85j6ki zZ^<_FPj_IDOnx}M9}5{8c8SfVlr^+hqRnxqYt2_t$u6x9dLFtFo6$adyuqd<7tS3| zxM|xb)^vjj(v$E-(NxTP7P2&mjZD+>k}~IzHdo+WmTXcqBc4VAc5SobFmvGgt))yb zR7ZEKBP3=)foPF&C}wy&Y3%EHb@)dcnGo_-wU;%p{X-Pdm;Je>)OJxPr6@FN(UY_* zXDnt?xPN(acH#aZ6;W4IO@%9<5p90>KT~z@TD|P_%G&KTGO>~~2?~TY34^Hh_J8C0${ydP~j_3uCO3q21c7R=BYT@v>A zyB(yYWS6+%z#Hk7q+6CMkZ_Pn#7$08mUY}_mcrp$L!RALD+Z&Ixuk2Dh>++{j~4e7 zJF=)To26t-Ms0nvGPNMywQ(TqH3E(G=e1h#wwvpmKGJA_Kb)A;SW#O9cn6m#v^58Z zpbo}R1(>UOo@K3&7?(NGmsS5CZocAqtCUkwi#Qy`Z=1*)=t1MR1co3F*6OXcr7o&* zSc2VdD<_$7U~=GqRyDAau(dd0O}T6@2s=}~-b(~j!bliRE z!`JH@kfTFqi=jFg^9meJ+JS35Iq17~|00dGdcrXV&P@+iQmNB;{?Xh~Q`QWLfJV-m zYsJ+~{5hm9F-2H8|L{E9~+;mggwm<(v+^4yt^jBX(9$lj1!3=bndr4(?PqlwJ0tWh@Bno7p#DW@h>jW zSuE>JDcF_K7G+pORf=?_?8ywS_50(%E0*FWJaTCQmkr3B2~tVOJg=k>nWqF6E3_mr zAKFP8L-80C@ZkcwD`UCYf@8#tnRZWDZ{{_*3DEJv1K#!|W^%GD8A}>tnOLhQf z7!)^&G@%@u)Fd6jgc)KQ(cQAl!!;a9QqVsO0F0_9o3w3kv4Y82P`{-ptSs}q7WKqMx+tr1oi|y?!RWqK z9WF4-RYnUNOsLXDLwmx?t9*$dP>`sG&Ajl=#A*r(Kvu)?OpOBYNt zD}$|~B^U;j_KX@%XqGJ)4~{jSrvaR9A~V%4&7`5k{9+vCv5?~8+1{qXF{We+lvl$U zDd`3CmB3@SmK^KuL_T~x*k05O+kg9`;@QYO?T%vF;lL`dx3H^6OLp1vQyuwmdkj#n zDr69bb}eNIS{yCz7h(e}-+GkgPm1_IW~-~4*8$NeY$wr23@6HENNj+?d(+^;o^{5>0r$HQ&ui9_(MpAm@FvP*Qg!yr-CR!d7akltjH;z(3*B*txelGSPCU;>x+C!WOgiG@IB;@Arhy;rl% z5Jiy9B-V0N^-O>}!BedQZ74Mmwv?@&sYAsbk?gk%R zLN*}li=7CQ|6xc-qOclqy?wDuMcS=-CnXNUB2**@y~Y85NJsQfI4VP@SM%LU1RjZ2 zda>d9$e>H+aXAt5qS>Up9+}w!NQ>21BFmvonGu_tPzIg8X$U zM8^Z(XC4~EW0;|d#C>9}DjB3TlLGzna4VIrhRR|=fZ5mtlm>{2riFx;tnWlK@=YNH z^u*ZtZ6Q2iMKR4v6xtU#W<+|!GTCZ?0{wePnp`#xa%B*e; zV-}rrHV_I-aBShn+>3M&K@XyedBlpw?nc0?mUf)KBR6j{}$fX!3+=Y5~jBpF;Kc7uPMDj;25@V$YqV^F!OEo?bvcEX{W7ALr3)<_CYTU!vOTa z=Zlj=FaW)A;-uf^$VLADLly%0Mjk#Clz>w;% zV1D&R!*>(U7yRBfZyiG(N@(V3aRY)!vKzIuya^VpjHc>feovD#te<~;Axs`V2jJz; zI~(6T14O{x7$h_~zbpd?35Bfs6fBx;EQ^Z@$ZJ7C3J`H?W~uhrc9#c8qRn^nSN4Gm)b}#_C&i6T;#xDM`x`yGsuvnJhA9-1>#?9cJUsFFB7?_yjK4<( z&3{1C$Fa5aFpjZ|LS4v}@9C_ZgqN`eI_tg0?!h|p37c_W+Wfb;3~M7ZC)h4^ZvOD! z?h#m|yH*+Nsp;M1YxyNs|za% zDKbJwuOGf$6X`W>*zJ~?K2Lm`z&Xe&Yj+;6+1Q=|Cn=pCd8;G#$I_Pw@&dj_e_j)F z^WBsWL0E0n>cU`;6=Z~tUZ)XbQj!p&cv)_CRvzr9m!iObM4=_31n1xoRvH!V*zSfk z1_0UyYOJICp{G#PUGx?P6p7w9&5^afFUvt8p=C%TRe&F?0kA33k_B-?16uFV$zRkK zjLfzie2 zW`c*jjfQW=0-W;AI5wvD_;U>D@$!lHGsb5N+VlXOI?Vgg1~Pa zaf-9RSTU`IMcMDw06u)zv(YJF>vHpm0)xfVlDvgsB?D~SXNzc(77SZu{V12jQCLT= zioj~c)JayExx3~IUdqCERE7&3gkS8~bJ+U|1U~z{KK6L0ze$J3>)$Fo;IiqG;%|1T zIk9@9Fo%n5y>SY}MTcP!4z_S-AM9jP;Ss4u;iV)tPs0r3=m`i3_OVFE({~3gB{XiX zzh$IadJ_E13_%Pj@LcD;uMoh#WAmNPuOoBS@MxW9TjS0?jaua3CUpaZGQ3{v`Qf{d zWb$#?uI?~)6!R$*Hh>COM1IXrT>jljJR7Xeq39p%8_YR*e*!M8RRzQ!Zs0NfLBA8L z&`5d}2XQn2+9rS$p2Rv*%Na5AVn}GzZ{)v2_Tzd}{erQz65v}saFvEYg9u<BN8MjR0$I9 zw9u*Zg)@Kz`-vpf9klGDhD13Ho0_9}$?_F({)_u{F5G;Qr-mZ#%DxWYrPse5%IcDS z5S{sP)4^4&7$BX2N(Ha*0FlS#ReHTT8_E6ovFeRM1Kx#y+lQ94W_Cu)N$gDQExfZ$^_}zNkpNV_RuGeG9xv5ur+E#IP3~i7J5PR>5kqQO{CUJM z_B%4>dFd+b=GhwiNLBkJolAdr0x)5|TmrVgzjgx2?RLw>U;cHJs;UT-Jrgxnp7MDN zRI<%!#FO*ITM5QZN%N2@e))Pr$Ux>Tw@d_4fW@MGcW)?%U?*HxIMM_is8sEq8%OH) zy~_B*h0+!JfWk55BQi^m<14hi+ndEOb}U#gRTGTGMllw9YS40|oR2x@P#sPGB9y7N z^OVKP^#hudc1t;kciW!XvesPX2e0{GeX!IqbPOLp6%VhV(CZ6H{`*kCv+UTS!<42p zEzV~|SI7b>c(D2@{%#oODB`&cykw^;BW7(pYlt>e^@I|@fAh_F$x?_XE+~V9w7gs{ zOrW&P>W9Y`mgZ|Ex!8_~cf}y%wi6PNi96gz1LSqAXNNfx3R2brpPUkAd$Kw08Y36c zRu>oYo&4w^i>FJ_nJd%Xxv0Mdjf2e#IaS{?jKM1I}YR{TOR@ zs8mv&nJ`?F3J{DRwC=@2* z_pD4e;$Pb}QMYudamtr-Hkm6pSMLWeBKF9GTh^0o0FS6pARA{v6-#(uW zflsWZv~A$K{H7#`y@oSA##roe$2Y`hZp-}s8~Uomofqt*w>n_?BD>EK3A2nXpqmp( z^~*?!H(lR22mp693-UIZU> z4~ovm8B>hZXtoMl(@!`hY>*_yX;n>z6Ff%a`8&^l!*7d{;K)y^Y%h!l8r>aw{J)7 zuUM{uFJ0hPEVWaN$LDv`0A-YCdSj5w8ULG7yntG}v0FO_SVhc1@45H3-PikIUpn|` z@X?O+PLLhC_obUZy=rgv=eK`;#&#nBOd`k!espFE1EQ$Z9GR2B;hwaduS_CCP97*! z|COmK-V!p8yC$+-e{SFM)0OkDJ$TPc2}rI((ECZ?DUbrl_l9y(rT))IEJTEv&h7<%rGe+M3p#Z=+m;^Y z?*bCipp)H1Zkf?`Yug81I1Gp?fO3ox}YEE+OPk=GzV(khB1DLgBSK&lz$eYxkuAweIhy-ixHE8urJ z8Tj#2foCjqniR}zrP}R+nMhxT=mnSH6R0*-jaselm-4%TQr1A|E*un2TX0Iel-UQ> zJ*lyD7^L2K2YW@+*2p_CflY9=ZGOKNk5s02smt?ZV#tqSR<(rDEA`GA@Gxk%x=WtD z)a%Y2HXgHGWYZ?kVhGa>0UYSZ8{ z%E}J7J(bZBx7?i@z(Nhrqput=eyDkf{iPIJkWCj%@)K8e_PH{bkX0pNhrTda&Fexl z^1P@y+#*`8$@W;Llkek@<6&)NKUHvLf%R8&bzL56K%5^XSTTUz`I5-V-Ujm=2pW9+ z?!zb*#MK^tLO~R+g-iML}(a7y( z3h^|XhOeiyvt4x09pRZ{Y9IK)t}B$lgNv^+9?IM(-Umb;{0;s#YE&H9un{~XCSSWgL(VbdoF1lQGA2QcM~#ySQNck?kL z*DDzH>mb0S9MFVdiEq*h=CdVORfKXmZ9N+tfy-T4^cIXt67rm_a4H&uV9l~|snHw* zQr0;X%T#u3ox=(%TncdGf*1qyam%H~{v$;}Pt#|!%R_v2(mj5IJwIKNYF(7CF=fWpJsGoxCn zN0H?FT!OyR)Uc<+)E60azN-DW*SV;0fst5Iia24gW>>ac9d$83nW5r@b2X2t?4Q)OA9AfUUXh^>a5?K6#8HW3bPAML%W zyEv9*NVM)HCvaO-G*iWLV#uPdlC%!Zxu6jXmwb-OlP)8@p4(k4e)>-_T{osrjjgsJ zX>HZ7ZI8ED{DD98m2PFOLZj5<`_ltqcR@kY_+@df)gsZ(I}-kSxP2RI^TGNIaV$L` z7L(BK_e~gO6gy?>3y3F$!eBM58+#{_ZW$%&1o#q5=5w%gk{Zk0Zi}g!@eE~j)X0gW zD}&ytey<(dg5ci2qCPKH7-ap_Q-8Q=LyZ-Uq4fve0PjqVnyg{tSg3bz3oDf(gZlH8 zCBq63Y$T5zq7=yyMjr3oN@LSCocqPLG#$6z>6ETjWF&y}Wc8p-6+x4vEp+2(G{A8_ zGSEnmKsy#WD=j4O7$uA;%B5mDS%L^XV27{!f{H2Utd#SoP~Mo9sHpOEIM8jC&LaVh z87W~3sjy$~E{#L#D|bnTGgG==v%aKzy62<^Z(LJzINi`nmZ%jm|Gr!kchO}4D{X9K zSe9UKbG=;PT$Q;N22)OWMnJ7yU=X2?Kj1hC38+> zs8N92q_+yV&{&@3K_1Nc5I`8#%p}3&YKx3qOcba3|D0cXr`R< z(0+Y(uB@TW@3U;~K8tPmYRz zBehs$K%s7qN~s_x^kEAQ4^HEQo6nItiFWv~GTFGV@rsX|`%j}=8Sshprw!tlKpV7rCedUN{IP>coowGWACpM)(%Aro|}funUR zn58yt@C4CLGAPOlg0)hXSt1L34fwv|f!plXV8%J{z*vv9RE{Xtl?Ts{+MEhv=!tN0 z&`|zHp4hfPIE`QxHHPNX@!%bQ*P*(ooAS(!@>Bp6o}SRYTEb_~gS%UA3KXsVtF3zX zGMaCulHz}N`Oqrr*}D=OP)fd2AooyTZUSx=#4NDQf)=S$v^1sc)O}7YAUXj(pIrJUgZ!J7ApXy0*&@M3tO7aBAgU#hTX-RxNeK-MG!MZE1zfOXe)jI~w<;x+z`ZG643mEQbd z4`61?_$2IuvZ{KsYHOQ($9~%*z|~vSVMUZLm_gZ0jzJv*hrbz3<@W1kPDi2h9_((skjh4k00V4hL@^5t z%tz<&8aB1o+gy1gYk$a}WkvZ$Z{%yfsT=v7ZzBEV;41G%<~mD0j-RJJKmao{YvL1t zgBU3}crsQ_cD@L@cB{D3r z5my2~jN@;dwA|6%ipxQv{HQ!D9ne`k5Ttw)%O_G0z+3yob?IL_x*=~{gRt)by!rQC zdjR15k)99xa35dGq1plPp#TtYA1Jp#;HdKO|Nj&sA^b05t&0{A%u$wyQ!ZwU>)#cv zD||-Ao$=y7;5r&b5VDO=*U5`_c@6>hcxL4ptEohfqIQEmogcrm*6(}*E0=nwoK!}f zWOo*CI(ITz&Tlg5h=J7#9U~^w#TNIeYRsVlH?TN-ZIeT>9PlOOy_&*j!twK2j=3#5 zzL1c@b<$e}bPT%%E?5* z!G7UzJ^2P>>{wUH_guyvbGC_m*PELrnJ?@l|IG580>NppBJ;e5Vt?N!fz{aKP8#vp z5==DVL~+kJFaK~&4Ue?)jFv+*+|!2_8D`pfrH@;j^%4#leV#S;@VsF^57{piJi{kl zC^$MOdK7Y~LIC|Ji@u}27+h;{?yLTgYv!;$70-ZkLd>$;7Z@u&s^AT&wTpeH5DT?H z;4RlhC4uGCKSOh7k-%$6fl&f$qpU2W_g;+O#X2D}1lbQ*en4x{S{{nr-`Gz0V=a7@ z;4gf+xg-riE~X zSos=%A?Al0Gy{VDBhcsaJytmX$1komiM%?1jzVj5G3Cu++{SF2lYeT%e`1yh&}rrU z5icEt&Br&b3mRlvBq(#<_5%I0V*~~R)QJiPS)o)$g%Eb`LeYH%!}sGQL?dzt6Nz0! ziOxUC76K4UHz0s#BNQ0f2?J_|4V!DH0uz?sd=z-ult$DXfP;4M&=+!lORXp2-6?jHu~B2Sbm)tcyNlv2}U5%A&5 z2a94Nlys*mRPizz4wag)$mvumGhP%s5~0ov^>lKbS}YzkDpe;?3NK7K60X#xLK=f_ zMpYH@#B;sDAt7cVm8gyA)DPXoSYqJX^o`_wypoerY<6sH`~?h}bWB4VEK#a1flB`P zd5vQ8#4lob7Um44n_RD25O3aU6=kh_pQBfcPyfII8KvFI zE5%5Zp``3u2q{`)M5j>d``G_@QdzP!>QqWAp>pX+RVoz!GuB&s#r%)0NO|HswF*Wd zS`GzT^CnfGNN}ob$tly zPSGgUAC4BSnjO*Ryfi;j_(-}nGGuDksY^#+!v-oXxhi*@a&u-_mA}`l!zOIQF6_f09D^B7;q1EK{O%8?!rZW$6Emj}97AG(?Il4<(3P^U3AIKA;ZEB*KiAWy(W;u(P!sGqx;FvE@N@A%r=Dv zCkD(=$niT72OM^Zat9W(l1tee?=w10UN^eAy*#+*d^`P}(Kw|M4Y!Xjg| zy$q`^L){DGY&@@f8270xJ;ouDrN^N}_oLDDq5p{hTmTRhc#6Oy1Ok9ZD)1D6K;V%z zbAc@~7;wkD8uOU?FoVqu4SuW{-{-Yh7IDH?xk`hN3>mQN)dtf+d+-#ZJZ+!-BNCX= z^4N1N=>tydPv7gZcu&G)u+uCXt#fY6!o_rdE3GB|H@H;Ksxi|#Ux$x2zq_yPq{`f2 z#DbU&n_xI$<7xj<3)k5@y~6CSa?{hRT+07EQ2vV)Dqceh6r<6@YnNLc8Q!+cYmsI& zrEQ2wf>oE)mQlQ|i9!6It0F5Bnzw>@LxDGdEgxQMqT>H&o#$=51h09oIB&Avo5{Rp zLhQJempUhS*bdr#_^U7`zYMM8d&gSw-fXJUl(%QQWJl z=CTWO7-nv^am+IobML$J?mzdxxrOYq@<552Q}aL!dj6=@qftMjY!Pi7iqU=gN6uoE zs`V&-$9HB#wF<94R7TL40zNn5(I~B(8QgrC@KJVX1LB+P$?MnPRN9dBZg}FW1@8?{BP0NL1bLI3~& literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/raleway400.woff b/out/moga/src/fonts/raleway400.woff new file mode 100644 index 0000000000000000000000000000000000000000..67f727e6f28bf16c7737475cac2e88485f9e038c GIT binary patch literal 24900 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 L0$`G8`~Uy|q1>yB literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/raleway400.woff2 b/out/moga/src/fonts/raleway400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ccac042bc3329df805145a35e2a2c150674027c0 GIT binary patch literal 45448 zcmY(pV~{S*x~<*rr)}G|ZQHhOW43MEoQ>JGZO*oB+uyt2wf1+;$v;(*5m^y;ROPtG zxGFsq#F>GBf&Llw5kTnwT!8ID{<(+w&)oma|Gxt}mK`T>!xlFbSwK=hRR1}@J9kb2iBtoCR4+NAOkT59ti`pgOGwo5P}hcM@mCRpuh&> z>Okr^h3lGpAR!y+pW*6U@yZIZ{HZ~sY~^$0=|nNJoi_}g3`uX{BkYqQW z3T_4URLiwi;WphCxTCmwzin_F^i7~213 z^cu#blFi~%Lw{mG>AZDF#c<&}cTK0q5-3Pcsp@w>bEFpe^_v#I&U&&sh7nBDTGJ05 zoti9h9f$VpH&Gi=(T;E!n>ZPTCPg=;jupJdlq$QiJt1C?v`38`Q{uku;(^8^!BBze zc$r&7P$Q-Ek19WX2t!`RE_=2YSdScMsG1WZq;@Hrk5x5ajuffV2fx`0{Fx>{(MI?n znu1Dq7Od}rnIyApyHPLnVA4zLYQ4>tX_>Nn+)bECNj6$~-^r6nTTUqn^Zp)fd{v;t>! z+X^JwiiqZsl!a8%GOXCMWmo58ZRuX@pCbLq=Fim4*%P%N$aE*6X{GqQf~}9+IGKv% zM_)&9`=56uTQwRrDSCyUv9DiO+%IgWD|2=WEGSq=0TnCpVN;~bu>Or0vtn;YOuF4S zzaVNwKldk6DGrGCi}adouxdY#)@iW(HJEiDMZz?Q3I2ROCF~Vlcik6tQ~vqd&;OeV zF`S6nV780+_7GK?&{HzH(fRURE08|I)!~pC|B~=ku!?#L0|H+-^`_DQvIgB5cr$ zZbGQ!C{yr0=rPdWDUij+}#32 zHr^R>L+>}VXfcv3I}>O#PbW~4mn>Erc0prIg8kkMbgq5`iZbAne29dC(p9~9!fW$q z&#;O4BjB_b^yVQRewR?E?;2fg@Sw?5gtcWRWjrKMG_4gKs!|1b^=uBy@rOX`r4_I=LcrX``lpMa22E}it>PV0JNkRTaH|_nU@1B5tF_V7}Z0P z2>8}BK2R~`0p*~s#qHLmls4sGbJ>_kEDLK{Rsa0VdKEKX%qct>&`LWNhltU>bvuP1 zp~8^%Ju7(w87M`-;Zad~^s5*H{Cwx+FyNR>5K*o$Y{~cPcxz|9UF|WQ%C$&OET#sf z^y+gqhl-&Prea{_(>aL`Wf;D>i_i;3-O-zzv-QEDyu9c|GwA0>i7}^7poC<5x6UyrJT1 z=Vm0vxJ*6S8LF_-RnH4X=Z8R=COsII60x8ZWY{9Gt}?8&E>KorL3CFFvYR{<;V=x7 z$Ftl`f{K#<#l*F42c_PU`_Z=8K@rXUkHhb`D;!>3>~U`0`Artx^1_2f?pPDL3Fom# zE>~!?u`NR&{1}KKYk=}Pu;3MN-;uYdv=6?}xP>G&O12^QurF}Z1%=~af@`07l04C8 zLT**Q@cdWNTW^)W$}qFr7lZW6Qn)CFG|o<+buncL&|SCc8DCR4xMKuZ+Fc?MECS_# z5)igzmM0{KQ)YIC>L6S3Ie|bN zDnyD<7Sw3Dy3QO&w%X8S6q=ui7@Elm3`$=N8DK?d41%_v#=aUeG&htURhUpH;g-1;>XblM6BRq2!_`J8zTM7=wj(s(+zZPn;VVlc{|N#$5QEByn2EhoagM!I($g=t@whAf+(nH!?6F`3xog%>43@!_aAE?^xnnduQj^HeH!qm<9&d^kJ1JGr^M+&(@-_DtpjNIa_x66We|$0{-eHzU}b6nJrF zWrzl2l1L{xJ(QiLt+l2Qo_$LmjZ;z4(o@n>HB{BrFwRlg^z*dUIy>e! z7uJ`z=hv3Dz~%FoE!{f!y5BE3c=()$VisLaf%a-NBzbsJ6c*;Ze68HDgq8C5+YWqVC4=T zH+E_BB`h#ZRJ8P(aqlwCm_o0bzIJTq(lMf=La(+ymBZ^3>uE3_V)AN3W#vs$KHs#{p zW!`Y&)8Fp-!sakqNWp4^-*V+RA(3TX<8nEHL1I>2bwpAoD;;CnA5r*&(`@bYM5EN8 zn%QtActXV@%@V*$y(pX|dg? zx7jJAdD9TjIYi+W9-^#27?MfhtkGR)%5`44aQ^|2*fQd)FrqCoLBiC_9m`JwQ_#o4 zw8hx8MMAzt5CQ@f0kLyX(G@6i#%ZPr+*S$fXUUM1f|)5ISLK;aGVxduOc^qo=vDRT zHjRz6{o`JFFRx4nRF0vFn9z`7d8=qX`e|4$~j_D3Gxrn?y2V@cus2n zS*68C|Dmo-ze@1BcCg<~o zQ9|ent7LHLp!o~MT?dZSwqiQBe-1fVTp5!cp3?&4uRp(ugVVh3bN+gE5(54) zutqms&KA0A`>=a?^jwB}REO0c6h#dAD^jU}?J-=`qUTlIg$xfx2q0JxQOSgU18DGD ziW_2nMD*75NaKqQ>VomcthQ?%VntnfMVviC^ix}@g6lWbg5`26!8hq6!3&X4u~b1B zw53iPYyX>t+`E?FHQbPAtwN>nf2;bXVhfi(E%rgF##pFf-j8eTYphp_J-R*&_ za0CP-S3jqb=Z?|S2X(CIrfF`tlHZ5TY!!9wWGbAQM=I`v5Y#o8`1rCZWA8= z+!fEOENifw5VrMQ0;A6Gi-r`qwzr`>P&m(oL$R=K~N3 zZ%lf2K85VlH>WP2T6ju7Lt(X-^J7kig;12Y2|WxpWduQ^DZ*7zwd~S9?QCT zt1OG6jhhY=qT@e5D-JQcTuD#-q8#zv9)G%kjOJkqf!uD?RNihOK`UMuO=z}EMC&7w zQz4-L6aoF^$O~8uE&fIi@nHP;9LL(Uwj7ms^$h(*#I_)Gr~Vsg+S-{uJ+2{L6=Up| zE&?V07!dReHl(c+oau5HRD3jMa@@!91W-?W7Z8lK3lge*_y{#lgR5%x1NC%jej&OJ z@mlloy!8bM?E034MHh>-&ILj-hik{Cc~}qkHqLn2A}3`{ADHCU>}vF5_GE9$HoI9j z`1_$T!L#fejQNXbp+_Wn{Y)(^Xv|OG38RolfZQ|G@ zd~^a$Qfc8!q%V&X5B+XQ=!jD&w#ikuD@eH+lX#IN54Rk-{c%%?JZHt#0dZc4NFPCS zu5|GO?;McA-fVV)XqaFT353D<5@!v6GyHUtgRg`FYHj^?i3--fz@3IM;J=|NQle27X_oq@9LG%bhlfzlhddmfhnfdK{{41|PidfN+E8kuogGdr8XhX_fa zx(t4E9VMf=0bR68ofn{QFh0a5&jm8fSwYAT?XCs@hzVoviI$8#&*li-hv$9S!#r8Q zp+T7gBt=i3#DP!pc$JGlioXciA#i#d*3k+!^ftOyL`^4MHr#G<3rw%!onKhRw_0uK z)AV5}XOqqgq|b37b3trUh*S(~I6^p4g!9A?T-zIXrfd2M1w+8Fy7nR#$KmCF>ANp@ zGjy{yvR%!@a^bl`bo+JmF|sN&38)=AE;wY>J@%P6No;yjS(p6c6d`91$tf~FRzXXy zg-DrM23>fGhqHL*eis{Q*%}=cgCRsu^HQ9LHd&<}D1U_pyw0sHn!oSXJTBd!;e{~^l z{|pAOywfhKo?h7}h!+Vb_8}3+K@tgt*qy}0A(uU=lFiXf#zK(3xuHr$tB6&{Go1V2 zI)O~JmOIu+V&I&H0npzK>(XH$JPaNQ!CEdl?PST#^60071O%32EZ9WB-0 z6hU5x&$7{irZb7wwg(SMkMB8)z` z4yB4MVa?lF7Pv!2lXEsvMQ&PiE51bEq^h)qXay>lmp8h6DL7UfLt*nV7?Gt>Dzy{fS^0v7hl}`i157PmJsSI)HdGg>n z^aO@i+hL_6X+>C>W0!dYwG)_>tw5(-gy=uYy6k5pU2RY(}mrf6rJ>Tg1-X_6d*45YAi#+SvHs)PSA53v0 za~tS)rG93G*nb%80zKU)2qd4&D!p0Ye^@>Z4D&^iBd< zFsRL^@bI`1Z_TB!Raj#)A16wgcv8n7D-RfucDv*h(;ilgRJFpbbaH~bol%9jlsxK- z(?DV~C>8zJEkrS=*VfeYTLy9~{u$x@3zlV7_@sh2oP4-*0(*JiD!vk0Xd&e=4Ron} zK=@gZ5wYpOywhCP$I24jNW{_ZWh~q5DpW(GJtwuGthiA;&Ky1#VTVOJrN~o1=56gY zAV;N}+;936UC8mmDfM$y2>7DNi@s9mNtz?L(x9??;#!o1$IJHjPRK`l zlqq0&^LWbE#=~P3&6R=_d&@Q#Q3{m)gPk zR7jpEq)S<+7+*?|`{qw|CCPQpXN{aN#!@=(}TB*hb$LW0yxdIV< zmD>n|^eM+S(Ebvqi*T@^>^BP2g%zLZ9?lrIiiQ%O|4bx0S-<-Y+xM5yif^kw^%_ zq0UYffd!w`#R&*l<F9R%n7uCiYr=!K+HKnT#*A zN1NR(=v_^O<bBYQouZyXy(p;HLX;zJi$R< z&i+!2Q*$7I!ZTZ*=W!uaDkfhF@KS;zTs_hYi&V#E<^$K5UYK{o2C+5k(^|9g6{@M# zCHBz;y=3cO6B5UVm=4{K;V=rL+s6(x=eFkdOK{63vQu28aK^g>f+F?GS3N{3&*I79 zD)LpPTa56Gj1?5TAXkF0;0-HM?mKnM9JF?ScD!wOUedz|?}SZ`ik_=V+N`_#u zB^rp3&U7%Os{y~VlE7Aq+aYt3f(eN!Mr168Oshlujl+&BsuMygN4eiemA37dSDE`E zXk$w$$+dDKB4GqzDcf-U`_}j&R;*O zf97Ef9Zl!awTuu3@#`#xSCi94|GfoDf^Id3`l`ft=-dJw(@z*_$E2ucMyA%Svc!tcAyrP?`s;_3;whK5GOMd?QXcqJ%kt(u4=io0 zLF)NYvrdq5mzG<}16s-UjSQDZA#`>S8+pQW^E$}mRqO^gSrKcLhZWjZ&t?b!d^t*r zkdIN061x#L@8{}>-^L_mkX$IG!5l!?Lmb6rDYeyQJ;g}UI-W>j>$*hR4#KCvd5Xod zcW&1q8B;`4QD$ZM^LQ#Nbf&t%5+G}=nk@X#@izo65Ew_-E2_{5x(6w1)1hTol9G1D zF0du-&jtTYO$@@o@7&fjT$w;$m~vx(F&8I~49lJ}m;jJqq$!pNnDwOaw}6N-O69;X zdXf;?&`>!nNDKvj0ID=~RM?3*+KVkX9%MaMCK3@MfHZA>O>>0MI4AbUu&pAjpyF*? z=G4?tC3h1kT}dF$ge=a4CeB1azF-i>Q(r_^a1>pjJHZo);h2mfe@x5Oypu1*wWe{) z%%7;3E>9mG4n>_af@I3pynnMA;W*GX636>hyyy#K01z=X2fu@0y zC$=^A6aC%?~R6dOa$Lu(v{sz;MUo6v1m?=uILy@JChw8eY#yM*PM*_Im2nBg2< z^E%MgjoWSWCR=fP@yhu4LGn3G6rAlszKr$SOZ%j3@VxHHUBLq*nE$$fY2gA>euxzQ zZ^HPgO_A0X{lkfup@%ro`M`|GentIH>>njAQ2G_umK6gs?5gN=1k*1^^N&}fL>>T8 z{EtsVHI!s?-H(i#_PLH^VFigXMJ*mR3GhiZ)i_Ez4)U6^0ETG>&@MB_*O$2x{KXWO zi!#@?%wJ6FeAx#kNFMQ z)}qB1vRgBEAgAj+w1l=^K zMcr!Abwp*}iq!||(fsQ@6Od&{{(2iZsnx3f*VI&@>LU+RKXJ|j@n!2W*kVjK&1u7z z`uaUok;BA0su*Tv4zIKAcft`%>@4egYdu;O<>HUd2jjF-A@eDIR4R=Evi+!qN}U+;`i`2?&biWxSAp zAN|oS>hy*19P4qqaP=2WaT+y7DbJH}3LhxYEuVVjc;T&U0Mz+zRu z`-NoDx$ldx_hTN@k{q_`%es_}Sc4WYo0@3w=QaV7gD+)zG-dbP2%WAmy58xPCJpOR z))Dhj=&WEHw?@UWuzvmfrpCPXQC8;PEVEHo&&YMd%9pl5GvkAn_%Jk3hSZTDJCE5O z9Ox7LbmGD#pqQv?iRE8MShJ#A_uAgs%l|BVw6%E~I*CLAC1^wI_M2&Qk@sYjHSBd8 z$8n3V`rnw^XFj_c<)O-Ve&H&yaW2y#w3n*bEu72Vx2(4XSl~w}G(;p64ubt&pu)Su zZS3?N?p&FIq1JKb#=Ju3yCSgf&A62pklgak?PLRu!?@pew1Ey$Npj(c^$9{CPYw;H zVw{e#-*6*fczGa3;*E|v_4+Ny5S8xT%Yiyvg;3=~3tZ#~AfHs(T1c6@1AtlpbA zp(4*BQsWiE2?sUSK$p_@Z=n7RI~Ua!5nA3QtQgP+723InOf+>~V!{trGtY^RKkr10h@C)Ko7 zly&+yF%~7|PK=}vhMOD(@!nG@7XC}%o_ZuyMx;llPY6C)JnCJsAFyt_TwAa2AI{Wk zB#`p$(EkHmIApy-pvg-?<^$Mlb)5$B;+!Bs5a<;8aC|)EMfnpL5O>3W1_$VEGN#kS zDqV0SG?>6G(n0Y`$klK=IHRl3UwsxS3@YIND!hb4WX>Oh;h;o&WT!^ly^GjA%T2f| zG#DgLYA1qw@P$_-xnJ<_ENbbup3V&J4cPdh$Rg3Gmpk}f#>;14h9}|gd6k9QCIK7A zS6R{gu;KEoMM12YL8<-w@@+k_{7e&Ly*>LE=RaNPENFO2U2$ILXC{U*Xqc_~S8!Wy z(7_>qiAl$H7yk8UL1q8cQ2X*qJy~bwM$K ze<6R%hb_T*F;y^a7C=$>F(23h~#~dA{=zrTzn4+%! z9Ablw$zhH$W!^u$!?<0p@dRCiihXkNtna7$Qds6lGG&77|FGmcMJvV1r_?N3j!HnK za#3m2`4(I0^5PR6_qVkVEAx-8;8z>)>LMF?4f+2Nj$a>fhwcg%Q`CAwHm)bn-h5xC zHQTVW=h3O@H4xA2pmIll@NbB&Xj2BK?+GdU*LoLZ!?%8xdsy2-^uI(2R7mTAf_d#r z@_i}SkcVj}oB{#RnAt!MCI!I%S93+6nqOps>Ot0-adA?<6BGxDly=uHweq^GeVSH@ zz$Z-~BQXFM{g={MML^CubxJ`+R5^v6Wz%2N9WOEB}33Te%5#@tGD=CRO1$Jxb9teJId#pfs;+U*(0st_n|B*(2 zVWZsihpOzqLCv`Gdd4>G$o6f6R4TU49a40+hkn>FM4FLvy!UZ#6&TU z#1XatV`U)`!^NQ0R?H|0Q_=*@F?qULaI3*>_CNjdo?B#z5?uQTsiPZ(Zzl(z-gTMPLJCwA5|7h(j|Qa*R8YKe;nxrs=_-+9Jxd`p=tOuO&cuwShNrRcwk z%7v#!2xDcEDHffap>7)Cq+75LJB;%09}l)vm4+(yFwJo`gA`$ED@sWUkxWyq?1)QV ztRtXOXOaKI;v&PV1(X@XnyS0ORTs8C7vy<}hjXGC= zK2?R8dsZ+xupv!1l`Ja@t>CPT>N$%fYHNy+%qaF#5h0;W5ef$fXm}sKRp%ufDW7w4 zKH<$Yd@W?m)?U(NpHEyAxzw}$N56Z0rPbU`mLV-Q;)6rjfI7rEUd3#u9Wi52FKfn6 zh`0Dw&dLX?xfOdkvj+7{qCG%)4L5(JogfNv%RZf8yc_aGH2p~ta(l4OW~?OcR%2T@-@- zN31`})A~EFNMMSECHCp_G@vI+&S6_K{P~OG-jyZj*N5xc^ydsiHjV&-0m=pZQr^hN z_55{PBs>$y|9<$od*JfA!Mj0LH_ux8ps$(#wky5?c+JSwPeLGkkci%VRl;Wo;2LGC zMVM~|gvl!NnB6j$X-;~rvbY5t+gJ0o(C6AU_hXm9c|44gk%p1o$$ILU{CEYE$DQ-Y^deszIdhmHR{mO~Sf4P~pPrp>mCgn#6fB5H7$gvd z>`pQT=DsVjUgTftO=~~D3#RHFDO9*b$hay?M*Vy}eP$BgH;V=%Z3OA-!2aBGg>s#w z)yFfkMeqvKpDh0}eA7Qu(!?OiCvARILGVe^cC_9QG$&NEbH?l8EfbCMnz*Vu;N+?e zdvbqn0fw><0l`zK_xD~(rm&D|ZiSb>LiMAL(l$m8z-hqdH)zWd*Nu8GZ<&!4*R}RJ zEMIO1flM0DSsi(a$`Jyga-}0OakhU{3TmYk)`;iHAKWPEQWxv; zfLP0%WYdE2?Pjqq1OEhN-_2P1qoA2Xwgah0njfaK9jM9A_o&u*S(Gk?7IBQ?%egbn zrI%#&o_TL|_|eE$_6u*($9(qMiBw@v5$#CC>oDQ$bZ~v| z5bSh4$EzJWq7MP5Y_&IkdGA8}`i{}>O`V5~3n(19-rugYUoB3j0jcRN^TLmF4^XywJ$yWJ`scC$u``5aQ%$N0%`#K5}B!@@na4ga$-9%Vh zq04PQBx?O|VtL?MB4i|KO|1P@_XlkyzhX%&IR-N!ujNem*2Ms5KK~xRfHm-3V_4T4 z$g-*63C8@3DInNvOB+{k_7?_>g{n#xaI(HfV!6CyJy|aEH;9p4>L&}{YfN~}`#q?3 zcm3;>MOU}&3whff&1P=oC{29~M(wTqKBsn72GhkOm%^${phSB<+E7;g?3n-w96R`X zlxKn>&#Kbtv)&6XkwJny`K6PENSGIvqCFegH^~Ne@&SdQ`D>civ-F)q?Dq}n$#dh} z#}v*DcGfpei;Mb<@z-St-E2D_(nuWd3VurO{!+=VVR-z`r2zE_CpmErIp+=yp8nO) z6Vr2JuFdUSESaZvLT|nK(qj#k#dLSNoENkTGLYq$xCnj}OfjU3YD^d7u$)r?C+)@hMis@b zU$s|U{oKe_Re~DEI+>Bbue6~aFFB4clwg<4846i+;_BbEr0o-wWT6*v^(nj+q^Bj? zLz~7*-7{TM3#IJN9*4Ed^p&#EeGFqAAH-R6!wmEuik1n?sRy%S*m|Z8`XWv1Gx4j( z?jfZrLfdabI-6%1-d38*X)M!UY6-nt+x-DsBrPJ(u$-p{{PQ9$Iegl+52}dX<*fjx&Lus7zUUlWvZOoKv*P6yKm- zdKJD;$6;#E2v|BOHL)^ydCjM0vTi2bH2L+WDBFvpJ%G1AX?$+TIxc+P$j_FXCxJh{ zgU{P@z8DV&pLz2Paq)W|V5NMB`5v%O&r|gK_YfP5u_WK$fV^KL0V24LtjOZ{f;X;7 zcc#Adlv;DDh9Mx&D0K`}5wxecqt`)Cs>YM;e|0Ld;VpG`Q+UTF-*#gCqPaM?kmzxv!qjl91}Ff^xk_CZ<3%@JcqZKgul$c988KgT>f9^CdVmY3dft?v;1 zETx_P`_LkGHafJ5-h17HG-}FkVA;*94|nRghXJ>Jt(ewZYld~FjXxGC|B%Zdza)L$R=`YvcU=6^l48fsIN5Mh`<63GQ& z?NR_M*;~NUl{gf7=3Wc*D_xg$8Gt)yGZ_Y@ZGs#*87|lugC^)HMJ5R%k4_JQ^9*_7 zqqAN{#a;0H&XY!YkBJsdbnw!wr6{&X8A+2Cs!OSsBFobivLfqcimF|kRw%|&_650l z@TtIYUa?x6QB9d<1|?gqQne7%t-8k>wF6l|x71bpgmr7#Z=D^ExVpP=x3lGL<+WVP zVt7z&be|1yu3i7E3!}NZ{pJYH|5icqw7m>oG=4XIJ^pgl??H)iuL9T<_^z#lBrOM} zHnhCP?-qC0KSWgBy~gyqP3MI+c-)9^!qWmc(waDfO21rMlkcZpS=oV^{Ed{^#(Df} zS!y`5OcuQEixY}Xn{a$f+-}~MM5{NTWHyP)bmovND4b40)phKvm#|$XRM`bUWxesa z_jKcF$_0o6|GfKw&}yZ~`Hs5f${#{gD@z*{6Qqam=yWx3T^2{l8!r_fZ91w zhAYerwr<|LEe@s+6Q4kK=0QnNx%PAPLH1^eW5d9@vLc^NY)YGh} z2t-$LdoN&El?(1l7xf$?lFh%p8 zj)FG_Ph3%oE(A80b1`RRWrMz2-*a&>@_94kvY*$dLERGbi8@7VJv0Ep;ZN50Ccy*r z{uo8NXjvkfcLbpYNFpe*;nY-?TwY~w+;hDI*OFF&Ry76|Cd}ZEYBlN&q-G-YxROXS zgHZ>tCz7IUbf^6HbVi|6|1m-}xiiH?E$^AIcx{&Q^#}-M%tvQ@ z@$aM7QXjwYa==FCz{T3t>12$m>4bHLS|sff!F`R-uT~;4NkJFg$rAiw!F46SGj2r- zGosdv1KXsl9nbksjICJ9n8HCE3oMC`%vDLF36n%+Nh5}AbGTZ9TEutwZ2RPi8-oKK zva5Rwor9OcgRrq|c|@hcLahHYX@Twp1=$)SN9 zh;^C{8Icb5k@^=NJK`xEXV_YTWZMWA*gtG|>9ewj3_w;Vj|-)0;>OvMM`&Xei_H=a zwT~i01TBXVCV>4S<6FJ#jGM$yEgxqNAMc)K48&+6ga~Vfe{u(0b$x6JuQTRN5CVxX zlQEp+X0axNCsx0Xod&K#yi80nZg~!m-?EXQ&Xl1Uz8kYHQ=hiXoWCjfU!uDj%mOcN z1B@aOyrPVUWf*_L$wOfXX#Ahvi;c0(jnR*Hp`i#8+!}=7D-xnA$?+EC%Eq5p`Bx4* zKUoD(M}*@~(NDxIFvz=x@+X*`$j3`E1x}6zbaQB+)yOIyQw!Pu9);~_dQbS<_2I2T zY!^CN60}R?DVgr)cv1vP`D$mBVzi4nDQSzRSE{+Do`3}k3qCOk`1t}Y`XIg|^p_3R z9WmPSf!N3oyeH3jp^q>OZqu~vIN#SUzUX-x-Y4S3Z~D!=@-}TcZr@MhJ3n`MUFExw zs)98$-&#|mLMLn^t#dfD_XE#hV8&nrmp@*S$HnNG=T7w5!(sO`H)mO=Air_a)=D=@ zW-v**M1(~jfe)W!gG*jtMP;t;-1!14xwvP~nQ9hV+Nf|ZMb^p8Pl{M~r>+)igsvU7 zVmt@%J+B$E1o{diSc{z&hKBjAC{!*ZGr^ZS3fT<^FOE>B+Q#yycm`x`<{`yz*k!9C z%v04tz`naxaj7mdd281+y9=9D+lOu^(xKbT$7{t%AnMZFwClOgS*BlRm3BDtXaYi6 z|H$ikI`f)in|APfu}`R*gEELLYl;1FxK*FWR>fhOE#9M;j?uOb>_Odr1XP*BLF~p# zG7;Bdlw&el^Vi#xN&;oAgJg+i0)ZwyQ3YAeIabY_Im39)wm2dNcVP$A1aCw94HqJG zq$CW7wuJRNmtx!i>WgBiwG2iB1BHp##0>>O!+sJ5qEv((n1;BPh6$l)Q=A@^u3q)lbl?U_G6c#Xu2;!;cajf)SF z==)jRCfOc*$v2LXNCn&kqA1swuXrpI}X=qK>yYxb_ckLb#t^SDCjB(VVCC~Atzsy?Mv zcQ_Wu2kA=BsoQ?Hdks$is|V~8OuJS#1F?`;G9((6PKh@Y>`b{-DWX)BQlWX?~w+LwBx(w|Ze`cajpt9eMJjQiZ}zi|!k zgfTJvbhz^$_SRiI9$;=_b8#M|Ew9k5H+e>)!idZd94+=}(Lp6|@ zrJ~w`UZ_|4mR5norcbC4rQAWF((!P^!Puw>vB3LA;MB~(hsuxqK;*)D+)%GxZ}RWV zEN(}bc*9|K@$AH}hzOU*JWmi#rIMPUrPZ3%+M{3lkh+AJiCT4CH|In2g5dlRywrkY zJ9!T3@XJI&G;Mx66F_ytPoxu@RDvZy;C`OX@TA{7A4#a`S4)Kb18 zfdG3dF))ZE?VPMj9#aBf+*F7$;h7=0?8b2d=YSF8c@`NPJ=TfOhT`OB9atDfE^4Kg z?jN93XXJ`9&9WmVSY$xI>NV>xvNR!Hv&XvWw5evN;G^GO1)65#&I*k%lL`}|48`c9 zJakgonOTLdaIkh7$7G2d2@Q;+lfGcI^QVqky%bn2m@y-Kn`;z>9uX7sB2Lths6k#g z`hnAs4WfcNqV`AM0f!^xhuwCfzC2DQ@%Ns(`@?}W;QqNN@~4+BXZP$#u7mKdJ6?4& znf-jWJzHD!IMO3+jfpL?QUQm`&C2$CfDZkRUzP-5Ckd#*)uU-W2f;#W#cN|<$q&{` zX3Hq{SaMAFmUjC<>HU)40xy5z;%o=d!6Xj`XBsXuJ2O+;MsuIW^y%nA97iweSFFZ6 z2Cl2sCzQlg=PS&ViAen7BjkT!YceinxqLvgvYgnB2U6YhgyO(n)wO#106( zICIh9HH3A@>)R&$bMPtOGLqX!*D#MET7&+#5>gZwI@74pG*lWsw#%w9a3LMk1vNxD za?ZGPJjKHpkF4g@^G@CL@4qcYVMp$IKb@^ts-$BXd)CSvfH@ewqZL?46k5T+I-cnXypwVj4XZc4ysoovkVf$pclL8nF8|mn5c5w z=t!{6wJ3Bh$Wd5!Kod03Xwj}QqYtJPPtdMpTSI-H^}!C1uVmQPibOI!jxqw zoN#LBA%Lz78d$DDuHIgrv!A&(8RvcmEm{jHiU1*pdg;>IXpSvqS<3p_{W>Uo9YozG z^jx_$D6rU_30Y(#^_1tnIJnDf6~%>bJ1ej<9d>;C36ezbYsB2|VT=kd%y4oU`_?45 zi^Qcdmxz{F`c<(4q}e8q>crW<92t zw?K|Fp5hSQVtDT$ydnfa`HVEBTD87sL7q71Kq*bRi`t5UdS)3{`!L=3 zPz&XUVJG0{)Ocd||A3u743j~SBY9ped@D56) z;m34YP$@Q#^+bK3Jzr^1IRgijc|kkbB%5luz8KS>_txMM4XPpeGi?G5SWx9XPcp z-SR%g{Nupch^um_I%7&*++%F28AM0R>^%;wv-5#uS#_HozXY$Z=kE@O!Z2ah0n?T58P^173vHA^I5QjMA_z&1RfQbEzW^M#v z#np*zi4t;Y5XugR+jj-sq@_5vzK%P6#%CPUl+U+XCioF}iL4q2e(i5K8hkm=X!(L7 z$S5fb>=%CB^GL|5Qd@-RL~GN7DBlib6sv86ia_7sMYT*URwneFD?St4p@5xA0`7hR zAH{@CJ=d4<8bFjdGF83pa%H3;TW}&oIcEebs>3cnnY`YE;Anaeg(Q|`PhiRZ$4|{3wwt&Q&Z&uRwhRu#Q zR4Yy0xY=c(#DU?pB^P;CLDhQNg*6S1GDW{>SwYu{5L*JqBdQhOl+8jD4(c&cJh>8u$BoGS_86wc&(RYIx4Bg#iHDvg_~ znNK%6Uek8!898o7XKUP;KHj)?Ddw&Pbt~_x1j*HT_a4F{;I1R!ki{R($H08FsNC*f z379uih@OWJ4Lv=<^}Kc=iW|O2q|GRZL|L^E?Es znm1dc)ibRU#C0-5?ph@~9pL1!Go8>qD`_$Z@8Q z;gmtyE*h~bsFGfE{4&XGtbv@BbgV~hKtGL5Gap!_?~r(gM`1h!BR=CPLqGT7&p~w_ zyo2)h&|Komn;vLMqxGuDTsE9KWBlhsJo6$sRpYA}-IvGpzf+`R*JGZ=;a=C)h?d~i z)Hx0@2v*}ipDhS|fuQ|L7f4ez;Xn2=H~Wrk_P*+qYb-u@%F%n$Z9J~B;B zAFmj6>vNMcz2Rs5%;S$HS5-Nt7a?k``9EnAM3DD72vfTh4D#B5Ux=n)iJ&8ocWGuG z{<~Agj@D4QI7^iCu|wJ)2U^ha4`Ggj63M|Eh)SOML|KWgCCUt%5Y86z1w3{-2t!rJGEW30ZE?OHjz^g9jE1 z!QSp(w&jH7a8c_kh+9eaVmUZ*za-1N)m3xk?$i3{>;Y)8^NTno$b2Rj7&{pICA790$B;VZ^@TlXF?%FOju|EM{z#QiGr_d_tT6fwv?wTe{{%^X2x z?(sD_O?KsdPcl~#h;R4SVu8K0gWN6JF|M&hL@U|}Lm zIfDn@FB~*Hr7$thJ7%}VO2aJuGv3ggoD%Hx7k=ylcAiE~`?lnL&g>S$AErSY+f&u2|wtq3hjVU!P!*!5*itt**PK-O$z|gDdd6X+&5*rv2fn@HCn+ zVk~K{2P@TMcEqBrFzN@*i{44Pb%JCM^~m+CjRwK&g9CETeZ_vRUVW-3?aX>Nc`^;c ze`1My@k9lTot-b7T;^L&Mn;FR%wdf=FkEuf_PIUrm16@bnk^#`3(mh+$<%I5yJ-Zo z_sa-Ba{r-G5DZm?K9pf70sGsDSPjij7Mx)nscYNZd zUWxWXZV8z7PL)Ya@#m2Z)KUMpO;?S2gJ5O+k;6PyB{25S&U*QyYHi^Sb^kd_wuOG} zGI)QI$?I36B-&DRX}`y?omvl!h5qvVatH*|vyulGDl_f*XuA`#W9_l(1oN5;gHm+# zx1kVPexCkvQ0EY_v~bxg`1O!U2i4qvDHXVE{THRM9L94=)+;lh&My=_6fj*S!2V11p&U-Vr6 z&MEFJR5w0GQ%hqZukuiJPFeiyf(+55veP!QP3OkSU+nmKr{?1S(MykOn|k+u{K>^} z#Q0dXg@dkdt-da8wFZ+~;1EThItRxvkSAYu=kJcM&oNF*u0jB*F8SE;midTzGYKHO0+l{_&7rP(%L?1->o?qb?6m23I+@D@&pDuoX7Tzwmdg znil`cHU^*0&z!4-2UjNf?&(0Z^18?}G1>6;X}ddgnB^6KDL3>#X{BlWjyyv(0a+^^ zg54-IW6FY116-a2NU~{zpZ4Z_IEiPq4+0XF2(VP z#!ZW?%^QG`Z1T3W+}cgA=ev4;DC5%czQ!r;CVV^vzH;C(hNX{jMnU(bFg&ch3i-wj z3>-Yg4BAr}2+uGvoNz+fZkRgT2ObI(d%qun4$><$|9z_E!=jJqZ_V25$~czKG^5ODR-g}!r*i2?*;8dK3U+nxA>~t*! zOQYl9(0$IU_xR&^k7qv?)wtWJuPDKcp~(U)XqK02t=78BA5(2kR30L9s55BMPbbh`JV!~3a-o~lk5jftQ2%3y z>j4k^Sf61q$IJkSCcmf;<28>Jef?x|E&vN!SxeHwqpsRc!&2O@TUOn^pfHeFQY|86 zitsXD1vSS}+@c!x5QdSe*q{{;ucTa2{@})T{57z@93Vpzlb~g)1q|u3sWM(X+mqS2 zZ{MeV6hOTZt*ka{aY;AmE}OM7ELMS0x(M?RI^puZ`Sfd8XK_BnH7XjHZP~oHgzGWn{p(tgdaifC>-0 zsyp>d@!;k49C9q`#I++8u|XT*A9R$pXofwwuGnh8hWqC-M#a9Hc$@)%LpLG3u6NWE z438AncHmp7Xv|yF$MoIe)!a}T8F8dVlj))JyD5uLiZnrK6pkouhSn-q0brrP8g(e^ z3?_YTnH8JGs?tCFAW4KV2{!+yd*X!svsSI!;qWu+q*Y_$eQ$Ce+solpW|+3A)K#$^ zVs|Wqp>2xnsybuW{wnAF(@DL1As`&-YmAyswu*~$i*x5G-INCv;a*K6tH9CBsxVaE ze(OmuCy=Eq8!aiZ7``w$Xu^F`8C6;PiF! zmJ)Fg_i{#@&7Jm=((Z!77WS|^4&oHN9B)e$bi#P$vm3IoM>TLV{24aEgb(auTG?_>F8}lGS^dpR7!tr$1FqWJQJyp zs5HU(DWh$)&ZX5k`ivfbfg(XjRYbywnuNXw()1n;!I`9y%nbV@o4=~2yy1$+iBh7$ ztNyE>!2JUOVmOjI1A8ICJ-zL2r?b-;lODQWfoQ#bJ}4YDH?UtSPUnpegkRpu<;KzE zl#q{;Q=?ryahKcG|EJN}n@Z|2noCQb?*k`6(NJfQbkyqH#YmIEB8w5>dX&H_RIY%i zM(4E+wol_Lyoa?m}}7xoAGi!K#`ZL|#(pcn^tWRs~0U!k=@ix)|oK9ldiK@inS zwW(C)2ncHQMscmjU#>6+NcQPr1pdP;YappwrHLHy`4T=%UQG~nGOT#C^tlqa#nU#} zUW>skj(PJ7hw{fxlscX9jzYJ))9dQ>I$X0m>~2@5%hmqqlQDPO(u!vml~u%jVnq`O z+1zRmJ%tI1=VZ3oM7Tv6i_7Z23)8(CYN@ z#?0boPox&L1Ue(+2!Kg%U6;DBv6GyX{gW_x98F4lY2k|0gzqJppZBbdw|{z;sE}*T z<)|$P*JwDfdZKGU)EDdz80vMt(nCRT64W8yg++wwo2{UxkXJbqkQwWvAewVZW?P{J zGETxeY#Q0i1t$37{4)@BBActo*tYU=wT1$>{7$BS*ISz zaIK0-Bb;+OaJRdYa19bYKhQzAU7e)qz4;{Ot!yfiBuRZ9_s}jX+S{{dobpN<+Q5}( zh$&nELw4&StH)sz*|{C!1?B5)ccR6Jy>-#dl{3P*aw zK?d~eBqiZEg8eEF@li{xNlxSBXCI7{V&kvDl-_z! z)NcPOzgkbp9!^S+7HEY<%AVT`Yh<=)3@?;FUCP~BM6pqoSzj(NdTQ0VEPfS&p#jcL zjrhos=`)AmJ6f{4lyxP0D0%tmT8F8sLGQ`~bd6uSM4@^wAk`T|T1C129=PY$HI!pk zQ<+jnX{Cs_5h|zGc9j^!5z-uoeaWyBD=Fy!pS^M=`}GKj>;yX(gT=4&pXEyaN*a`O zNdhE^U~d>}(2}K>!r&ZjgSoBIDDsXJQRS6Gu*z_M_eh|JH(CRFSd4|n`6fNTU2InV zMcj{WED}_I!7O?YgZa=#UZ_pqH!?QXySU$_eS^4{uc2Xcze&EV7`NlgycLxBw75i6 zd`H53H+6gpGJj;>`r6=fJPY8N*t+hu;CZlN?t6h_5*C%Ia*TRSR`|lXtgnZ1o6EjULhiH ztn4W3amfFI*oWBnjV2@M(rPR0KCf6}+-KsxeCboa*5wNayl>6ynh6tWK3l%a%HFtL z)UERKS?|nptz8S-2$fVEL(lC)OAOjFy-`|XfM^yn*tw#N_gQy0> zpA1#68ImuR*1FdvqJaR~!>skBVp5DTYAWqZ+X4jM9>A!?Sb~KUwZ^|A>1_-k0uQE- zHD=~9*t`c)r$El->GLyiq}U(Yv){{kf>I!=fZQhAHNM3>o#Y~tJdLvyRT5I|rsE|4 zD~sDJBwo##2Uw7CJDjezuGiTHwyWKVcGL25wiR+tV{d`4 zdnZ`gxz{rAntr`E&~3BVnJ|4cVj3;FJzJ@ApA0hCuSRS%R7NspRZS(?lx|-55Wta7Wr34@b3n6)72&$~O4LYNEC*FjhU6d{j1W5+L}vOge5v z5MrEhvZ`Cw`yvDFJt>|BEJZcAt=k+ZdsHd)=(Y%NkKC}2TmptCZ>QPiA77vHTR=Sa zB$-$Ci1@a`QM`J?e_?}f<}YSKx$W!1v|9``(6`d9{JCr#yJR*79-D1ihcnB&90jPj zq5oyAYZ96#woP!hPh^w->;V-Sf9;0|Da15a^tH<^Oh|@jke_*hmw~F&=ateZT9_No zrgHp#D&n05yYt`-KxEvh1eMIOv_JFBil1NT_<0@JWIoNboW67H9|YH9u$gzC_%xNly zJWV#611t{Y8qKFN%nV!M4F6q3&M?rM71joTB`SdZDn_7Nn*E)PgT0 z;@xc|G36&eAVs|jf|x=Mj(zlT(B;)3RI4V`Z!$vJD9p?Stp|)BB@-x^V?0(hFEh?7 z6hC(9F=PMqc=0LULVi_<^!*sXW|q_y6!nWuqNs)xk!md(4r?@6wf&*2Ma3qK{Ax_8 z5D}xh5(Y2iqXp1pl6D`9<09xuB`*>xL@^x zrr)zzvp9~fN4tNzn@o@QfsLEN=8ea`d`fK!gKMVN*zIRmuU@lux7V&cd&$bvm-T%~ z+I#5rgmE0|Dv$xGe-dW@c<=c$%*xvWKV5kD?sM7KZ>AW)n#klL?r)gjo2lgdw`G%H+ftBOpFWv+SL-QHl~^xb^WeuA zK=$sJUoMu*i!aM#SB0qb3L=`()CatOJp12c;S&$nq{WVXJjo{h*N|#!eRx?xOP6(h zNnSX|cT*}yZf-?4)~U^SNx*JsFNaWVh(5z+Q}K{l7H0qXVL8gz7(Y0X8IU~%54S;* zQyd~If<#Qq8(T+geqz+r++xo(p&sBSoz}1*A2ube9&G4AC-Q((|7!+#=D3+;){u)FsK!{Q2mzhhXGv z@8e^uzW`JUh-(OfV0H2mE78sfgaY+Ls6XY^$~B4kiH27jB+GVuw@R+ycX@$O*mz`i zlKR{-nNb-LAsXYI5WO_HQeg6#xr}qqBVMJ+?yr=pMXJ_QAF#gQKE+i;gtO4N#)6Q9 z$Zh>Agl{oFXlVOuQ-(i%J!f<JluUcN3<`!c!i~<#j>(EYFXLRyuwm^Nt%Pv zV$#w`5hFNiXs9zSiiEMn^$lZKD6|M`Xu!t8A-5VD`G;7^pu7n77RW2DN_Html&Ea> zCWAbhOn`qB^(+fp%2xf z`o=|A!0~_i>$wuQGn9D#PWHT=TX!)(`oe4u7>rK8@wK02+1pQ~0xSj&fn>-U{M_K{fCLLwUI%>dqBDzUooW2qxrqNelFmG|Eh0{nA_46> zbRbHhwCGeEbf)o7=OTK6P_}awah+-QQs*Mu1VXhI5wE5U%JeiaPTdbW7kP3$G6rPf zyLX-A#AsW`xMSQg?ii=KMX2bR@-H2oAR1(VUhw0^pCDTCI+7>k(NZ8J>QnRLrp^A% zTVmLYgH$_+gHwMAfJnOyhEw&QZ;W2KvEt3C%k(5kqL+rmSn3dMIs%7i2OOeb!J)*3 zUfj0~hiNw)rnPYR)b9fz^f{fYc-maVs|1j@tpl9+Fb_u{c(=|c_}_7HmC-@z*G6_Q zUpPxoZGs^A;cZd@T2W0YEvO{C?r66^bHu0q_k87d;-*g&wfQ4Z^ZTUU<#)gj`unngq5xb8mWtd7a!4IdN-e*n8@7RdQRJZoeUg0h>c6|U z?&JASZQpy|i+`H zhA?OGCeQ5pxNuf#N<(PTDYgv%)Ct5}Qpz|7=!;K42~@_2pqyJ=SVZk^n#DVJ4&$cz z+5_~$q4rmOo8qpH{CROZbDZ!I;svV7)_7mk8R^W8g~Fr?v9vt1cviG*P~uTEu}+@P zW}a7=vP_*aPeiqLHux#}QZq~kzloBunZh7_a)>sLtpHOun*cRpSiaRD065`Z!OChF3N*TuZ#gICqd3#4xM&e!SN0(hhPRPBdc^# znyfsPWN(RBQ`Vu$z~((3?HpK>%8od-8W&-${1Mk3HB{QTpi~Ym6DVzQOa51!7k^=rYBPjTksMWilZRLvs z234jEIvvoZ`BQ7Ra1PUAgz5?P+lx?&WkLhjQp~^vKI;tP>xt2<`lS)v%(sBV8IlmN zN};meoLCyZQj#-6Bt$Ng%h)lf;}-Xa=bD@#i{8v+i-{`)(gGQc%)k$5mj>HM1Mt&} zl$6+)RK{;$yIL%|6i~e_rGA1_UKGC8TTBmTMA|WIxJeq0gx|daP=AM{wy)^BU2z#J z$nNcI_ICHk?A)b6%fQZ<{suS8WT2GX>&?&t3; zNPK+))wkgc;-{{FGC|!*1iCs^*XfZR;rDQrsWH~8F9hHVE z;ykF?Cjiz#4$G^>!b&{7$$On5F(;agex_1m85im{Ik+BoJ9gJIYB;ps_IdM^F_?Mi zR_!lOwx=go<6eI>gm9iFUlaSiqbiIZKnpYy*DmWvU8js{#bu+@u<2wTR5{AWxVg&PYVj#gQvqXofc z5d={`S3~QqM9f^*t5$u|A}ATsj7|BvLR7kpxd=jA9NBH#nK*_y&Lw54SZ*+x8lCAMs%(DCXY*G+tXb&&E|EFX?;)imM=qrkn*1cD{2?`hpuCj zr-d`gYeSqHT}?Vj(JMDr{X=J0&^C;)KsD)JW+9YWvuShfM%*1r>2NUzr_Wu7s%VMN zh6n&5pwzU!neJye2^?C>l@%4E*uiQHH-kv)8mD-QxfKR#3Wj&Q=x6B|nzO6HNN3){ zw{-oVepAAcM<;^%A{%E$lE()#9#EbvcZ_9~rj!XAl&hliUX_$;L>UUI*qm>Lk8>Fi3*>B^U+0uiRrUS31MtBM`aoZ zP*7ASfrFbtza@1;nZoHe?)96C`P_^=+cveuqNc13p(tIZA4g4lV>-t@si6Q?sD!kx zw45gWeh+3XS|QvFlXklu42H%6&xzpLu_rziG9|)U-&O$Sgz9K(9@ob}a8{jWf$t|b z6A)LtpducpcV>dY&GS8eNwk$jbJ4R^E&u|B`NGvXvc?sqsD|9Vf+v$0zU`#o-`QD{ERo1({Jja3sxV6H}Ua9I9 zG`COyk=CbAw=}u3xoO1NS(OZ0hife%q0NLjTO3dtW$3!bgy6Dw8O;vdx;0!bl@wNI z`1;e0D^OoQ>y>w+1JX8O2r5G=S}aT4MJ+i4N2i4OgyfBymXb0{ihc(&rTj|<9kyMq zTGm-By)vW`L`fmC2JN)^ss@b~0LU6rs<_&lL7g@SDWZ+Y--h{HdrF_@p(re~Mp+Qc z0<9Qv=ql>d9W?>iDbl$iQ*iz?DgPRlsDsSVJQrpC?7_J*DBP@g|Hlh@7tm)l}cK>x6!2Lo0_odu{^sb_8j+iy|2Y$XcX z%wF=YtQ^I0#W@q&J~WutAQBu@siJ#Fqbu&8?!LI6zIne|R?Nk{o+{z_#%Ss6)}=b0 z_C6l|6yXIn5Y2#$tdG;#Z1H-K#-7QgYuZSmXJqQynCvd&tE!U6P`s|jK%H7mjlgy+ zs?iK*Sk#sW6U0zU4RLl6K`$mr5s(2uWFw-6wY61F028nnY<2m~6VO|t7}`L#?jt&> zEY^B#==>;T;rNM8gB5SvQ2za)$)syrki(}Ln*54hY@RW5l-tJlZZ%on@0D||D9o{| zA_AV{(1QHajLXl|NB#ex6B*J@{NI}Rsh`dI->jk1SGF37mj@4vi{dYP4bG)kS5TTC`F&#_$E7IvCL zOqZErrv6zE^DKIO&cd7r_-FX{_>WaTs;;UPW)-<>?XGLIbPxSG`Umt+=||}|@>=rd z<+Jja=l{g0WUOWU1Y+PlW-8N~sbCf`qs#>JHRfqZ02v?xYJ>h@J;ttPzso^6FLHk2 znz?hhXL+T(g}fvDa()74zz@ME1UZ6I!S{mSk#b}Ya#&a={7^&_iA9fy{uK+vi^Uhj z_a&<&*QG4!fb^vFzKkc^CHqQtUY;v=mlw!e<%{K8LuFXRBS*R&_+(tbSDenfel%g8HEpI)ZLN$I&zB6nalHEBeyW zX>MrOXn)bI)BUKstZAHW{U-hU`XBXw8AwBeVV{w}#MpbLq&YXuE#~tUrX_9} zvOH{g+cIG}Zu!NUW_7e0ti{$b>mKWU8{MX{#ciXu4YsFkZ`$_RzOr4m{ccaQCu$Ko z+(t0yl7L06;P*EGmG06SxlA|iSW`!IQ^*wMujq|?tfK0p^YyqV@Gau4Ug zTxQHN&58(lhdAml%S(oiAE!o3P5{;2IaP3ed>}r+}`cY_-uBysdwM~ z3=r*V{iG7XBYS7j!HD>d`M^&hXcJM*p%|&a7uHix@I1lkv3w$p0RX~wdi6}eZR7Ez zEQ%fbO`@sx7nm@5$9K=BB&_X(ESNV^?}0sxg?bx8OvA}3IqZr&C5PNEcFtd9SuY3VaJ?p>beDbtj&`I>!v9M+IpbvJe{T2c+o^*9SV$YcVeAB@46_?q z^ebzU?75^`nqlKz6t2UMl$U;KEKXciV4hx@2j$-u;1aX$@tw3es_keFwYY`~$?Q%% z(65Y=f^!CD%yX1m&}nkf0IF1_;ezdr>2uKut=FjsdAVL8J8gWZZmZ!mE@ogR3$4y( zg}NmX2ma!U^rUlelnr@c!GH)e3c{yeM3u?FVx}h493M{at24-6OiFN-83_HJU4Q`M zm(2ub9Jn_lU`awcIMC(@QF-|O&|kJ zISvU0G-xTo2_ZX1J^u^7HY0Nhdj9K}!chp%fK-Emgc#;9F>`(H>D-fk7=OT?;)lWo z!`11el6)ADgc{z)JybTPGK<;nKM{AKE5p$RdZ&O#)$b6d_mxkp(J=UPK8LtV?s7>UP;M7iurJq|2V23to`aux}||277s z$}l$2BkI$lX8C?#Jhl!yrk|lC7Ida&Sx=Jt%#XL7_J&t;VN>4si?Ft@E!n&6_4fXA zP4M2zhd_@ob3;o7zREBOAH7vx?XTY2e1633sC}EH9e)x0Unhnh>(&iY9{PWIVs-W} zE0*B|f#FcvYfLGST3appDQWJD^8@l>h$;|#_)Gx zY?bJ#>2$Zq^0uCrPxb-sVz}|P&Y<=jej^2t!7&lxaQ7VPy8mDESOQQ97`w9O z6Nr&;zfnXj=nA1_wa zoQT{87V*V)!PUKH*SB-|2f_{SfF-FFn8HZ#NoH!44Ob@OdwYS_16-yQ3C6uZy+U+1 z8KqGiOJ{#N+u60HYd)=h!mQPfHu{^>11;&@c-Zeql;Ep>lANv_>CNiZ5fcmGK%m%s&7(tBG-dNTYiHgf|l9j&_(RXLpwuUp#@_YwJQHyHqjd~oE%Uw+GQPjn6RVJS$| zNt`7@U*9cj0ehFb7!qv%+Kc2Cu-yQM&E73!85b}@bPtuF#c2n^U! z0P(<<>_(g4$(F?0xdG**2UnQ#Z?izYIZ)Ur36^(a_dn_r^0{FlW*4==ji5eu7YVUw zhpWp`>tv93skGP#>gr{iJh&ofIJRR74k0&B|LzxNHX63HE%np4^Nk|1)}mWAoQXxB z?7!|WaL%qolFYCl7c<-fuX2ljk)%=|nhj<#lsT*@R0tje{MTlv9Zuqp{9^htm6}x? z&LZ&SZ3aMO>aE4uo<_iQRY#I#j==M@_Dn1Hs&}%Grw$<9YPl8%%ltE z4f}E)3o1%-z_!GxqMNY=HNyS!=ouXuLB$uKmec3!o&nd^%E_ z7Qu_QzIJ78b3w?Rs|HL`X)qC2zs*A~)szoGi8@Zc1~WSVzD5?4JV;xcXMxUggzhL-0K?QI|sU~$kCv!ovcZd!*eLRq z9<2TFtn-1T(ux2idi|Dd5%)XK`~{{1_5_%{3ES+vlIFOwxMY4s*N^hiGZ#Q$nEdg` z@lQyAShZkUw{@HE-^aCqFAI}F|8V%tGZmm1cx|`v8qZVBCxLra_zUcVX<9^@-kR*3 zM|pHRI7V>W0{~Y6iIup96FsGn6-WLI++Vr^1J|=FQCq(sPNNMA$`$xn5FJ8zJ{)oP ze=}jg(wk~jYvb7CC9`bw?P395t>(*oI!`sD#WiRD!`>Zv*`Muz2a*8(3ksuQ6gQ;M zTq?;baKV`p4dCcr?OF`hQ%OBL(w!!NLEPh36IIHx?KzPxPiBss(Jsc}>r^}Iz7X2C zs)OG26~zMlnT&g-mRmyd1$D5Qs%PtX>DKmh@SFqNKWWY72I!zcH>^bg36e6WR*}N?Kn8>bkeb!olqGc3pnL6FS zKnKdxoVJJeB%qPLMDkFi@PQwSBj3l_H`#4W<!L?sxLa=NR2m^9m#4-^iiGN1&ZlgIjVlYPaVmim zIag$$wvCPzQORCun0HZ=v7H`Mj!9$*&W2{!H^UWTwxUxrTHb86P1DqrG2*cvJK1$% z`C{?RFuBMFG=(vZZolfb=Dr-vxfO=!ou=4m#yov@cjgcU5leuIkZCZGp)r9^J%TKT zI?Nogmop=h#MWZ5I5;O8sAiFb{cOZy+$=%0k8C)I-97&GVG-{ zcmZCo7E~&0<+V=iTDl_1s1!vjxcDf-aXs5{8uP+_-M|2apd~s#D@QS6WfVGVLF#HG z72w*Pq~H?KR~y{t^&Y6>jC{$ZoY zFzVIPenV3JSM91!Wd_O{mDRm+c_%|6V48U-fZ!xhO0j_@8N319gf3n+q?}I+I)?YT zn(FbbVE?@Mu7*o%8n@F(N1o@*355LO@7}1hkpdh<0hqD&EJGW~d|?%NFFEEguBHz$ z=3i3-oRVnH~u;nOHsLW7N8yl2qGp?%Pg8P1F zh_LO@MSr-419vPGQfTpUdqu8n)nafySK(-bce+U1$xo|=*5dgN`ZG}%QO#l|V+MJK z#3L7dz87@f3|{Y|e*PcPV4UQ*T8*DBuifS1JJ)ex#e>A={`dr!yM46~mSH79XvyxW zuh=)5b>_?>Nr$}$O;S{n#z~GT1NLpr?8X_hpfar-HC8B96?&G9Etb@>UY$q zRY}%!a3&f|6dzGAoO=h7&&m~;bH?;-Cz>|+^h8Ob20#do6rg#GElj0CA>2|fYjmzX zh;PwyYLnL$;}m#|#u2>rsa&&6`R3+{@6=S(C1>!?(j$OR$q(IvO~|mQ&7f6m$i4u?#&LR@s~$u)BD= zbg%zl{J@`x2X1<96t=4TBoLK7<6wJhreE?=;`l_vh`;D4DDA}Sw*O3R)W*mqYsj6( z)_!$8>O!oHk(rfMC_l5Rb~}M5U=;IctcCXM%~rT%SmJQ%*=wI&OE2)7I^91<_2ms$ z;Rn}tJZ^a;B$g8MO(`^#dWLb5Gm$gf6WZA zOY5zLSW5CCL-1@kHmdvC98zu#k)3iZiU+_Y*uWy+gryDXQsNnPMPjLnKV7upDE5NR zH1*nL8qjnkMh6hB`nn*YQr;9(=!`V8y?)GGzAl}V`1o#YP(7ZMfE}CAB+-z0M7KpUjBrl5%VugmiRWI1nh~ zjbLvb3eTP8jwq(2mxoI+CamWFW_jj&pH`^jn7_D^g6>h~s>=>xDGN22vALnUt<>U% z)9Q2vC1KmQgNkR{fJa#3;~1)f*vO4LmR2G8y$O5x(b7FG=L#BRKpBvZ7+4l#?$4V; zaj)5og$SbVn_>%*+tOE8AZ~@1_v1-U_M9z%E8wqP*6^AOe2^l@07U1Ej*5!33YmNG;(|>+ zwLo?XW@MKF!{|GK2E0etRpzz#g@QJ__J|IJhci!<&l9Na6cDMq10bhYOGWYCqup@U z+Krxda!yO*(IN25h&Ru6N<7vVyFI|Rsc9Yo^4Fnr1HvakH@Z<*D!bwc>@LRW?*vH&saj7{U-A#ptazHvfmkfZ)OCD-%zZ zW><>n-bAzd4rjZs9Jti$eSYxB+Sy9I7q_J&KA(yCA`yc{DdDTM5}L+H4S>5dYCPsO z-Rbrp^=YW^v~u1vI~Tg=A#nRW=Ai{6lh@82+6b9zGX3C@YnpE0Zu}pPPJMz0RKc`@ z8{{qh>5F^5;ZnWS5%bqC#k)15Wa`YJv-rBAE#OoVOA)GEC;8SqCcK^L~c<@<6i z35WubjuPq7M~ZsuoL0M>5X^`$J=*QMXmuxSx7>XDmmQpBfNo)1zM1pX_wXVR< zGu`R+|J%gpP~~SJz4dV|J-}<~bpI^Xl{bWjA6VV>5JSTstZw}Wc)@k>JOzKvEdjx? z0Lh{BEDYqVcMRO^D~#x0G`pwwZ6rGR)buQruVP>qm7f%lvMW6V451&)B+=%??XI5^ z)(=!4qF8+_lMmXk8TK#UwkRgpMYXcE8w8Leoq+_ehffqoC9oK)t(Frt$tt(JF4xzKBF}d6`IIg! z&fUmHEG5_#8Jl%jtng`VSG5Hd`pb>oyP2`4q8uM{Qm}#7ROp~C zX2a+1!ekv%S3N9AZcks#mScOsOKM>#Z^!Jts`N~;Sg7`2ytx)Ms8I0oNc}xFLdKCF7mW>b@f&+QccXVeH+I&9^JVbLL0h0@bfZiga9P+0E&Ar z&Wqg}sX?qxGi}E06H{O6U4AtN(2;JMHnW&-Dpem$7A{F@gPXQ_dUo ztl_vbl|a)}MYj6H+8oW0xGFlJHAcO^mTTD5>*$2Jti7G^Vm~Zu#Q;ZF71%4fC14A* z(Vnv60leRB6UkBcCu2dWR4m~0Vw6C>`{W-^alU%{pi|ycb~7;?^fJpRm|#SFN=omR z!Hy;dIRp1;dD7Ng_Vd4kdz9=C@h>tJVGlgpbpCzW62ZYCz219S-a|a0t)KXUKJ<4s zdm*Zb5L{bKhae7HCAiqtEHpSlhFB>O$o+&0m75~o7B%Pb`P@9~#?we3rw>ze2z@#t z#@d;~sUU1|V>Z<8UftX6!M^%?2EJZhLG9x7BB>(*4;dtiSPAx~U6fS{c1%Pf#CQK= zs^ZsbxtrJ(_U;r7vUp*;NOn(V58&Dn_e)9H>zRm+Z7@H-(ntLoR1PMxvQgK&c5tYZFd~5e!UQ+njs3i>~$>HS~wY|GG-6r~8uAxCX`` zSP&MmvACmj#)UYy)k?+pfQ!1Fa(NEMOGC zk%apqEQQrLElhJO#r!tiBL4Gpn5sj=^#P0X zok(;$iPeU;_fTC-LNPt)*03^AkclMzekLb;2`&B|Tv%VIaD3NOv7P^PzDCRyvg5st zZrxENWcC8CfLrs`ij9O#C|l?pt}nCV*e03v@rbO)Z-dTo z{hwmc|Dut>oek8JQ;sWlcx<%z*XbZH;zplOJ#Jq3XDqZ-#J=temXkc3fW{ATTXviu zK|}qvC-Fx6HRpPNpiaUC7iKL2?p>S!%X>`ebhtbaer$W!b1V;kw!QTpSPmrcE0#N9 zp90_B83U3aA^5nIw}5^+H;Ig@_*B#vOd%jjpAOgDtr*}#y+QKb@n~&g@8k8uOB>uS z#9nP9U>8Ji3cHEyq@4J)$Dx;%drVZfKb-mNz$G7&U+ehgg6U9_+O|^O1?C}2r%(o5 zrz4|{dvY_~rZ0|e5keWF&qsX!Hg$5xk(PJ&I&|vPlfy3fV2DG!O3I@YzrYY5f}HbG z-QOyI8!^<61Icx)N%1R1*#r@q3dAt{M@8l_PEc}lk+o0F z|9#yidSHE-W-35N49f=Xs&5h?MV;P69brODC_sqZ=Z(DyLPl<$pM=MpUq5jbswwQw z@4CNuy9V@3JS1UmrTO42fY{SfHBkEJsvS?5t9Axyzyf5-u+dK8hrLH8(WlT|Mf&fg z@ajiMp1*+>bN_VRagWF?*`$GBwqiMD@mG(rpMCeOFdRPhhi8tYBj&EP36WGebdOmZ zjzgzK)^#~hGitV{H`9dXXaAQ+QQf- zS5ul1f~lE|Y$dWtYc#L0Ivoy?sBsR7sw&d%P0iWUKT5>mw1*QeWn&z^B~0cb5goEF zVK1EcSs)bU3CPB#@-;(1Zyzf?W%ptCQ2~S9Xo5B%Zx;7sW`>v68KgoVGm3W7{34sN zBt|+uI@k;Sh(zXVMaG3#2nyQWCz9?CpO%sl) zRoWo0*Y70qOL_%t!m4490(x;st*PPeIzgpp8+pPY4^Cnc*_K0=rHmO(g4c)5A~8uo za522LKu&9@MY@_DPmc*1^c&~Opxv?2UZ1i?dw(!V3AM7Mq$fhKgQo2Z_L|@@oLJdx zjx$xy>7=vTsX;FGS~uDwMF#7lb$_LqMjHN4v5Fo_RS7!`oV@#cy&>+FaybXc#^aIjpqkk94$4Qs!dS#!4O4r2@0 zAP~%+)EfnENM_c1VL1{R%X)YDlSB-CToHwuvAn414>uIJ=6}l4I<78yowSj;1Qs)N zBlsUheJpYOat0=z*IT&YYL8MZ&q0BDd?}v?K6|Y*LOCSDN(meGO%AFSSm2i?q7sat z_f2S#&|Ga^q0X&b&yk1bId^%$)A=>M=79`#U0@n_B9h$#KdT)`Zi^{I6MGXO(1L{};YWhp*JIXIvzxi=Z*WDG44k@LiTr>Db{0z=8CYM|`|ERw@VHxO zq~O7$+QQXv*oo&WmKvx~!UR>9SwJfbVwKiPPP;_`)79}5e?oXc!pMr!R;WbRq%qQ- zrfkSuykEDK7ocjz$W{eUl7*0~K&~lpMibesB<3^E+H`7ArYj#pckaxA3%C9yb}NVD zfD0G9rGJRMn z^(60D_gp8FZAQ_0Re@>&3`#jbYtnn0$h90x12TJDk%P~44$2eeM{LCp(J>%$giIAj__g@y_m zglLzFgJEAxNTsX08H5l;pZveT5hkZI*GdXpkP3?C58$f^e-5K<$3J>*-il#&|R6W4CVEk9yL=jNLDU6BYT zY=%1&jApWJ2CV%BcXvV7Kv6h+@=6+3;z`)M%t4Z9<}h4qBuQ!*ss)sWT0e4~zG^o= z*Ryde=Vio7)?UC9R%*DmS_cjhh>HBOsg%b}1%XG@1T(0eTgR~@2+A|Q_dyqib8EUs zrSz1ya$^N&S0821E67xzmo`g(gwTJ1AMh#LCG~BQ2VgN{!3;Jg@gx=Bpz(Dz(PXLa zi82_nLDuRcl||avsLhG=O4F0*KV=CO$ik|#5>4A!POoO4H;U-IS%bCw>_FOXGy*t1 zS7YZK1Zs=5b0tk1h3y^JA%60W*dD$7FthF%ig#vtFrNZr?oq!$FEO!4#85j6ki zZ^<_FPj_IDOnx}M9}5{8c8SfVlr^+hqRnxqYt2_t$u6x9dLFtFo6$adyuqd<7tS3| zxM|xb)^vjj(v$E-(NxTP7P2&mjZD+>k}~IzHdo+WmTXcqBc4VAc5SobFmvGgt))yb zR7ZEKBP3=)foPF&C}wy&Y3%EHb@)dcnGo_-wU;%p{X-Pdm;Je>)OJxPr6@FN(UY_* zXDnt?xPN(acH#aZ6;W4IO@%9<5p90>KT~z@TD|P_%G&KTGO>~~2?~TY34^Hh_J8C0${ydP~j_3uCO3q21c7R=BYT@v>A zyB(yYWS6+%z#Hk7q+6CMkZ_Pn#7$08mUY}_mcrp$L!RALD+Z&Ixuk2Dh>++{j~4e7 zJF=)To26t-Ms0nvGPNMywQ(TqH3E(G=e1h#wwvpmKGJA_Kb)A;SW#O9cn6m#v^58Z zpbo}R1(>UOo@K3&7?(NGmsS5CZocAqtCUkwi#Qy`Z=1*)=t1MR1co3F*6OXcr7o&* zSc2VdD<_$7U~=GqRyDAau(dd0O}T6@2s=}~-b(~j!bliRE z!`JH@kfTFqi=jFg^9meJ+JS35Iq17~|00dGdcrXV&P@+iQmNB;{?Xh~Q`QWLfJV-m zYsJ+~{5hm9F-2H8|L{E9~+;mggwm<(v+^4yt^jBX(9$lj1!3=bndr4(?PqlwJ0tWh@Bno7p#DW@h>jW zSuE>JDcF_K7G+pORf=?_?8ywS_50(%E0*FWJaTCQmkr3B2~tVOJg=k>nWqF6E3_mr zAKFP8L-80C@ZkcwD`UCYf@8#tnRZWDZ{{_*3DEJv1K#!|W^%GD8A}>tnOLhQf z7!)^&G@%@u)Fd6jgc)KQ(cQAl!!;a9QqVsO0F0_9o3w3kv4Y82P`{-ptSs}q7WKqMx+tr1oi|y?!RWqK z9WF4-RYnUNOsLXDLwmx?t9*$dP>`sG&Ajl=#A*r(Kvu)?OpOBYNt zD}$|~B^U;j_KX@%XqGJ)4~{jSrvaR9A~V%4&7`5k{9+vCv5?~8+1{qXF{We+lvl$U zDd`3CmB3@SmK^KuL_T~x*k05O+kg9`;@QYO?T%vF;lL`dx3H^6OLp1vQyuwmdkj#n zDr69bb}eNIS{yCz7h(e}-+GkgPm1_IW~-~4*8$NeY$wr23@6HENNj+?d(+^;o^{5>0r$HQ&ui9_(MpAm@FvP*Qg!yr-CR!d7akltjH;z(3*B*txelGSPCU;>x+C!WOgiG@IB;@Arhy;rl% z5Jiy9B-V0N^-O>}!BedQZ74Mmwv?@&sYAsbk?gk%R zLN*}li=7CQ|6xc-qOclqy?wDuMcS=-CnXNUB2**@y~Y85NJsQfI4VP@SM%LU1RjZ2 zda>d9$e>H+aXAt5qS>Up9+}w!NQ>21BFmvonGu_tPzIg8X$U zM8^Z(XC4~EW0;|d#C>9}DjB3TlLGzna4VIrhRR|=fZ5mtlm>{2riFx;tnWlK@=YNH z^u*ZtZ6Q2iMKR4v6xtU#W<+|!GTCZ?0{wePnp`#xa%B*e; zV-}rrHV_I-aBShn+>3M&K@XyedBlpw?nc0?mUf)KBR6j{}$fX!3+=Y5~jBpF;Kc7uPMDj;25@V$YqV^F!OEo?bvcEX{W7ALr3)<_CYTU!vOTa z=Zlj=FaW)A;-uf^$VLADLly%0Mjk#Clz>w;% zV1D&R!*>(U7yRBfZyiG(N@(V3aRY)!vKzIuya^VpjHc>feovD#te<~;Axs`V2jJz; zI~(6T14O{x7$h_~zbpd?35Bfs6fBx;EQ^Z@$ZJ7C3J`H?W~uhrc9#c8qRn^nSN4Gm)b}#_C&i6T;#xDM`x`yGsuvnJhA9-1>#?9cJUsFFB7?_yjK4<( z&3{1C$Fa5aFpjZ|LS4v}@9C_ZgqN`eI_tg0?!h|p37c_W+Wfb;3~M7ZC)h4^ZvOD! z?h#m|yH*+Nsp;M1YxyNs|za% zDKbJwuOGf$6X`W>*zJ~?K2Lm`z&Xe&Yj+;6+1Q=|Cn=pCd8;G#$I_Pw@&dj_e_j)F z^WBsWL0E0n>cU`;6=Z~tUZ)XbQj!p&cv)_CRvzr9m!iObM4=_31n1xoRvH!V*zSfk z1_0UyYOJICp{G#PUGx?P6p7w9&5^afFUvt8p=C%TRe&F?0kA33k_B-?16uFV$zRkK zjLfzie2 zW`c*jjfQW=0-W;AI5wvD_;U>D@$!lHGsb5N+VlXOI?Vgg1~Pa zaf-9RSTU`IMcMDw06u)zv(YJF>vHpm0)xfVlDvgsB?D~SXNzc(77SZu{V12jQCLT= zioj~c)JayExx3~IUdqCERE7&3gkS8~bJ+U|1U~z{KK6L0ze$J3>)$Fo;IiqG;%|1T zIk9@9Fo%n5y>SY}MTcP!4z_S-AM9jP;Ss4u;iV)tPs0r3=m`i3_OVFE({~3gB{XiX zzh$IadJ_E13_%Pj@LcD;uMoh#WAmNPuOoBS@MxW9TjS0?jaua3CUpaZGQ3{v`Qf{d zWb$#?uI?~)6!R$*Hh>COM1IXrT>jljJR7Xeq39p%8_YR*e*!M8RRzQ!Zs0NfLBA8L z&`5d}2XQn2+9rS$p2Rv*%Na5AVn}GzZ{)v2_Tzd}{erQz65v}saFvEYg9u<BN8MjR0$I9 zw9u*Zg)@Kz`-vpf9klGDhD13Ho0_9}$?_F({)_u{F5G;Qr-mZ#%DxWYrPse5%IcDS z5S{sP)4^4&7$BX2N(Ha*0FlS#ReHTT8_E6ovFeRM1Kx#y+lQ94W_Cu)N$gDQExfZ$^_}zNkpNV_RuGeG9xv5ur+E#IP3~i7J5PR>5kqQO{CUJM z_B%4>dFd+b=GhwiNLBkJolAdr0x)5|TmrVgzjgx2?RLw>U;cHJs;UT-Jrgxnp7MDN zRI<%!#FO*ITM5QZN%N2@e))Pr$Ux>Tw@d_4fW@MGcW)?%U?*HxIMM_is8sEq8%OH) zy~_B*h0+!JfWk55BQi^m<14hi+ndEOb}U#gRTGTGMllw9YS40|oR2x@P#sPGB9y7N z^OVKP^#hudc1t;kciW!XvesPX2e0{GeX!IqbPOLp6%VhV(CZ6H{`*kCv+UTS!<42p zEzV~|SI7b>c(D2@{%#oODB`&cykw^;BW7(pYlt>e^@I|@fAh_F$x?_XE+~V9w7gs{ zOrW&P>W9Y`mgZ|Ex!8_~cf}y%wi6PNi96gz1LSqAXNNfx3R2brpPUkAd$Kw08Y36c zRu>oYo&4w^i>FJ_nJd%Xxv0Mdjf2e#IaS{?jKM1I}YR{TOR@ zs8mv&nJ`?F3J{DRwC=@2* z_pD4e;$Pb}QMYudamtr-Hkm6pSMLWeBKF9GTh^0o0FS6pARA{v6-#(uW zflsWZv~A$K{H7#`y@oSA##roe$2Y`hZp-}s8~Uomofqt*w>n_?BD>EK3A2nXpqmp( z^~*?!H(lR22mp693-UIZU> z4~ovm8B>hZXtoMl(@!`hY>*_yX;n>z6Ff%a`8&^l!*7d{;K)y^Y%h!l8r>aw{J)7 zuUM{uFJ0hPEVWaN$LDv`0A-YCdSj5w8ULG7yntG}v0FO_SVhc1@45H3-PikIUpn|` z@X?O+PLLhC_obUZy=rgv=eK`;#&#nBOd`k!espFE1EQ$Z9GR2B;hwaduS_CCP97*! z|COmK-V!p8yC$+-e{SFM)0OkDJ$TPc2}rI((ECZ?DUbrl_l9y(rT))IEJTEv&h7<%rGe+M3p#Z=+m;^Y z?*bCipp)H1Zkf?`Yug81I1Gp?fO3ox}YEE+OPk=GzV(khB1DLgBSK&lz$eYxkuAweIhy-ixHE8urJ z8Tj#2foCjqniR}zrP}R+nMhxT=mnSH6R0*-jaselm-4%TQr1A|E*un2TX0Iel-UQ> zJ*lyD7^L2K2YW@+*2p_CflY9=ZGOKNk5s02smt?ZV#tqSR<(rDEA`GA@Gxk%x=WtD z)a%Y2HXgHGWYZ?kVhGa>0UYSZ8{ z%E}J7J(bZBx7?i@z(Nhrqput=eyDkf{iPIJkWCj%@)K8e_PH{bkX0pNhrTda&Fexl z^1P@y+#*`8$@W;Llkek@<6&)NKUHvLf%R8&bzL56K%5^XSTTUz`I5-V-Ujm=2pW9+ z?!zb*#MK^tLO~R+g-iML}(a7y( z3h^|XhOeiyvt4x09pRZ{Y9IK)t}B$lgNv^+9?IM(-Umb;{0;s#YE&H9un{~XCSSWgL(VbdoF1lQGA2QcM~#ySQNck?kL z*DDzH>mb0S9MFVdiEq*h=CdVORfKXmZ9N+tfy-T4^cIXt67rm_a4H&uV9l~|snHw* zQr0;X%T#u3ox=(%TncdGf*1qyam%H~{v$;}Pt#|!%R_v2(mj5IJwIKNYF(7CF=fWpJsGoxCn zN0H?FT!OyR)Uc<+)E60azN-DW*SV;0fst5Iia24gW>>ac9d$83nW5r@b2X2t?4Q)OA9AfUUXh^>a5?K6#8HW3bPAML%W zyEv9*NVM)HCvaO-G*iWLV#uPdlC%!Zxu6jXmwb-OlP)8@p4(k4e)>-_T{osrjjgsJ zX>HZ7ZI8ED{DD98m2PFOLZj5<`_ltqcR@kY_+@df)gsZ(I}-kSxP2RI^TGNIaV$L` z7L(BK_e~gO6gy?>3y3F$!eBM58+#{_ZW$%&1o#q5=5w%gk{Zk0Zi}g!@eE~j)X0gW zD}&ytey<(dg5ci2qCPKH7-ap_Q-8Q=LyZ-Uq4fve0PjqVnyg{tSg3bz3oDf(gZlH8 zCBq63Y$T5zq7=yyMjr3oN@LSCocqPLG#$6z>6ETjWF&y}Wc8p-6+x4vEp+2(G{A8_ zGSEnmKsy#WD=j4O7$uA;%B5mDS%L^XV27{!f{H2Utd#SoP~Mo9sHpOEIM8jC&LaVh z87W~3sjy$~E{#L#D|bnTGgG==v%aKzy62<^Z(LJzINi`nmZ%jm|Gr!kchO}4D{X9K zSe9UKbG=;PT$Q;N22)OWMnJ7yU=X2?Kj1hC38+> zs8N92q_+yV&{&@3K_1Nc5I`8#%p}3&YKx3qOcba3|D0cXr`R< z(0+Y(uB@TW@3U;~K8tPmYRz zBehs$K%s7qN~s_x^kEAQ4^HEQo6nItiFWv~GTFGV@rsX|`%j}=8Sshprw!tlKpV7rCedUN{IP>coowGWACpM)(%Aro|}funUR zn58yt@C4CLGAPOlg0)hXSt1L34fwv|f!plXV8%J{z*vv9RE{Xtl?Ts{+MEhv=!tN0 z&`|zHp4hfPIE`QxHHPNX@!%bQ*P*(ooAS(!@>Bp6o}SRYTEb_~gS%UA3KXsVtF3zX zGMaCulHz}N`Oqrr*}D=OP)fd2AooyTZUSx=#4NDQf)=S$v^1sc)O}7YAUXj(pIrJUgZ!J7ApXy0*&@M3tO7aBAgU#hTX-RxNeK-MG!MZE1zfOXe)jI~w<;x+z`ZG643mEQbd z4`61?_$2IuvZ{KsYHOQ($9~%*z|~vSVMUZLm_gZ0jzJv*hrbz3<@W1kPDi2h9_((skjh4k00V4hL@^5t z%tz<&8aB1o+gy1gYk$a}WkvZ$Z{%yfsT=v7ZzBEV;41G%<~mD0j-RJJKmao{YvL1t zgBU3}crsQ_cD@L@cB{D3r z5my2~jN@;dwA|6%ipxQv{HQ!D9ne`k5Ttw)%O_G0z+3yob?IL_x*=~{gRt)by!rQC zdjR15k)99xa35dGq1plPp#TtYA1Jp#;HdKO|Nj&sA^b05t&0{A%u$wyQ!ZwU>)#cv zD||-Ao$=y7;5r&b5VDO=*U5`_c@6>hcxL4ptEohfqIQEmogcrm*6(}*E0=nwoK!}f zWOo*CI(ITz&Tlg5h=J7#9U~^w#TNIeYRsVlH?TN-ZIeT>9PlOOy_&*j!twK2j=3#5 zzL1c@b<$e}bPT%%E?5* z!G7UzJ^2P>>{wUH_guyvbGC_m*PELrnJ?@l|IG580>NppBJ;e5Vt?N!fz{aKP8#vp z5==DVL~+kJFaK~&4Ue?)jFv+*+|!2_8D`pfrH@;j^%4#leV#S;@VsF^57{piJi{kl zC^$MOdK7Y~LIC|Ji@u}27+h;{?yLTgYv!;$70-ZkLd>$;7Z@u&s^AT&wTpeH5DT?H z;4RlhC4uGCKSOh7k-%$6fl&f$qpU2W_g;+O#X2D}1lbQ*en4x{S{{nr-`Gz0V=a7@ z;4gf+xg-riE~X zSos=%A?Al0Gy{VDBhcsaJytmX$1komiM%?1jzVj5G3Cu++{SF2lYeT%e`1yh&}rrU z5icEt&Br&b3mRlvBq(#<_5%I0V*~~R)QJiPS)o)$g%Eb`LeYH%!}sGQL?dzt6Nz0! ziOxUC76K4UHz0s#BNQ0f2?J_|4V!DH0uz?sd=z-ult$DXfP;4M&=+!lORXp2-6?jHu~B2Sbm)tcyNlv2}U5%A&5 z2a94Nlys*mRPizz4wag)$mvumGhP%s5~0ov^>lKbS}YzkDpe;?3NK7K60X#xLK=f_ zMpYH@#B;sDAt7cVm8gyA)DPXoSYqJX^o`_wypoerY<6sH`~?h}bWB4VEK#a1flB`P zd5vQ8#4lob7Um44n_RD25O3aU6=kh_pQBfcPyfII8KvFI zE5%5Zp``3u2q{`)M5j>d``G_@QdzP!>QqWAp>pX+RVoz!GuB&s#r%)0NO|HswF*Wd zS`GzT^CnfGNN}ob$tly zPSGgUAC4BSnjO*Ryfi;j_(-}nGGuDksY^#+!v-oXxhi*@a&u-_mA}`l!zOIQF6_f09D^B7;q1EK{O%8?!rZW$6Emj}97AG(?Il4<(3P^U3AIKA;ZEB*KiAWy(W;u(P!sGqx;FvE@N@A%r=Dv zCkD(=$niT72OM^Zat9W(l1tee?=w10UN^eAy*#+*d^`P}(Kw|M4Y!Xjg| zy$q`^L){DGY&@@f8270xJ;ouDrN^N}_oLDDq5p{hTmTRhc#6Oy1Ok9ZD)1D6K;V%z zbAc@~7;wkD8uOU?FoVqu4SuW{-{-Yh7IDH?xk`hN3>mQN)dtf+d+-#ZJZ+!-BNCX= z^4N1N=>tydPv7gZcu&G)u+uCXt#fY6!o_rdE3GB|H@H;Ksxi|#Ux$x2zq_yPq{`f2 z#DbU&n_xI$<7xj<3)k5@y~6CSa?{hRT+07EQ2vV)Dqceh6r<6@YnNLc8Q!+cYmsI& zrEQ2wf>oE)mQlQ|i9!6It0F5Bnzw>@LxDGdEgxQMqT>H&o#$=51h09oIB&Avo5{Rp zLhQJempUhS*bdr#_^U7`zYMM8d&gSw-fXJUl(%QQWJl z=CTWO7-nv^am+IobML$J?mzdxxrOYq@<552Q}aL!dj6=@qftMjY!Pi7iqU=gN6uoE zs`V&-$9HB#wF<94R7TL40zNn5(I~B(8QgrC@KJVX1LB+P$?MnPRN9dBZg}FW1@8?{BP0NL1bLI3~& literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/raleway700.woff b/out/moga/src/fonts/raleway700.woff new file mode 100644 index 0000000000000000000000000000000000000000..38e953cc236e73ffd028d872c26ab11c49a51b95 GIT binary patch literal 25212 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 X`J?(f=nB7dtnAkR0$`G8`~Uy|xNik* literal 0 HcmV?d00001 diff --git a/out/moga/src/fonts/raleway700.woff2 b/out/moga/src/fonts/raleway700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ccac042bc3329df805145a35e2a2c150674027c0 GIT binary patch literal 45448 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 literal 0 HcmV?d00001 diff --git a/out/moga/src/js/compare.min.js b/out/moga/src/js/compare.min.js new file mode 100644 index 0000000..772bb2f --- /dev/null +++ b/out/moga/src/js/compare.min.js @@ -0,0 +1,36 @@ +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ + +// Short-Handle für document.ready +$( function () +{ + var oCompPlayground = $( '#comparePlayground' ); + + // Wenn Compare-Seite + if ( oCompPlayground.length > 0 ) + { + $( '#compareLandscape' ).scroll( + function( oEvent ) + { + $( this ).toggleClass( 'shadowed', $( this ).scrollLeft() > 0 ); + } + ); + } +} ); \ No newline at end of file diff --git a/out/moga/src/js/details.min.js b/out/moga/src/js/details.min.js new file mode 100644 index 0000000..c7f0cbe --- /dev/null +++ b/out/moga/src/js/details.min.js @@ -0,0 +1,158 @@ +/** + * Script for Variantselection + */ + +addDropdownLinksEventListeners = () => { + var aVariantDropdownLinks = document.querySelectorAll('#variants .dropDown a'); + aVariantDropdownLinks.forEach((a) => a.addEventListener('click', handleDropdownLinkClick)); + + var ajaxArticleToBasketButton = document.querySelector('.js-oxProductForm #toBasket'); + ajaxArticleToBasketButton.addEventListener('click', handleVariantAddToBasket); + +}; + +handleDropdownLinkClick = (e) => { + e.preventDefault(); + + // update clicked value to input + let dropdownLink = e.target; + let dropdown = dropdownLink.closest('.dropdown'); + let varselidInput = dropdown.querySelector("input[name^=varselid]"); + + // set value + let varselId = dropdownLink.dataset.selectionId; + varselidInput.value = varselId; + + // do ajax stuff + let reloadForm = document.querySelector('.js-oxWidgetReload'); + let formData = serialize(reloadForm); + let aSelectionInputs = document.querySelectorAll( 'input[name^=varselid]','form.js-oxProductForm' ); + + + aSelectionInputs.forEach((inputField, i) => { + formData += '&varselid%5B' + i +'%5D=' + inputField.value; + }); + + + // perform ajax call + var request = new XMLHttpRequest(); + request.open('GET', '/index.php?' + formData, true); + + request.onload = function() { + if (this.status >= 200 && this.status < 400) { + // Success! + let html = this.response; + // replace markup + document.getElementById('details_container').innerHTML = html; + // bind event listeners again + addDropdownLinksEventListeners(); + } + }; + + request.onerror = function() { + // There was a connection error of some sort + console.log('error'); + }; + + request.send(); + +}; + + +/** Replace cl input of form to details **/ +handleVariantAddToBasket = (e) => { + e.preventDefault(); + + // replace cl before submitting + var form = e.target.closest('.js-oxProductForm'); + var cl = form.querySelector('input[name=cl]'); + cl.value = 'details'; + + form.submit(); +}; + + +addDropdownLinksEventListeners(); + + + +/*! + * Serialize all form data into a query string + * (c) 2018 Chris Ferdinandi, MIT License, https://gomakethings.com + * @param {Node} form The form to serialize + * @return {String} The serialized form data + */ +var serialize = function (form) { + + // Setup our serialized data + var serialized = []; + + // Loop through each field in the form + for (var i = 0; i < form.elements.length; i++) { + + var field = form.elements[i]; + + // Don't serialize fields without a name, submits, buttons, file and reset inputs, and disabled fields + if (!field.name || field.disabled || field.type === 'file' || field.type === 'reset' || field.type === 'submit' || field.type === 'button') continue; + + // If a multi-select, get all selections + if (field.type === 'select-multiple') { + for (var n = 0; n < field.options.length; n++) { + if (!field.options[n].selected) continue; + serialized.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.options[n].value)); + } + } + + // Convert field data to a query string + else if ((field.type !== 'checkbox' && field.type !== 'radio') || field.checked) { + serialized.push(encodeURIComponent(field.name) + "=" + encodeURIComponent(field.value)); + } + } + + return serialized.join('&'); + +};; +/** + * This file is part of OXID eSales Wave theme. + * + * OXID eSales Wave theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eSales Wave theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eSales Wave theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ +/* +$( document ).ready( function() + { + var $oReviewRating = $( '#reviewRating' ); + + if( $oReviewRating.length ) + { + var $oRatingForm = $( '#rating' ); + + $oReviewRating.find( '.ox-write-review' ).on( 'click mouseenter touch', function() + { + var $this = $( this ), + $oParent = $this.parent(); + + $oParent.prevAll().find( 'i' ).removeClass( 'far' ).addClass( 'fas' ); + $oParent.nextAll().find( 'i' ).removeClass( 'fas' ).addClass( 'far' ); + $this.find( 'i' ).removeClass( 'far' ).addClass( 'fas' ); + + $oRatingForm.find( '#recommListRating, #productRating' ).val( $oParent.attr( 'data-rate-value' ) ); + } + ); + } + } +); +*/ \ No newline at end of file diff --git a/out/moga/src/js/scripts.min.js b/out/moga/src/js/scripts.min.js new file mode 100644 index 0000000..7b840bd --- /dev/null +++ b/out/moga/src/js/scripts.min.js @@ -0,0 +1,10 @@ +/*! + * Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/) + * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).bootstrap=e()}(this,(function(){"use strict";function t(t,e){for(var n=0;n-1||(r=t),[i,o,r]}function U(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=W(e,n,i),s=r[0],a=r[1],l=r[2],c=R(t),u=c[l]||(c[l]={}),f=F(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=B(a,e.replace(x,"")),d=s?function(t,e,n){return function i(o){for(var r=t.querySelectorAll(e),s=o.target;s&&s!==this;s=s.parentNode)for(var a=r.length;a--;)if(r[a]===s)return i.oneOff&&V.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return n.oneOff&&V.off(t,i.type,e),e.apply(t,[i])}}(t,n);d.delegationSelector=s?n:null,d.originalHandler=a,d.oneOff=o,d.uidEvent=h,u[h]=d,t.addEventListener(l,d,s)}}}function Q(t,e,n,i,o){var r=F(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var V={on:function(t,e,n,i){U(t,e,n,i,!1)},one:function(t,e,n,i){U(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=W(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=R(t),u="."===e.charAt(0);if(void 0===s){u&&Object.keys(c).forEach((function(n){!function(t,e,n,i){var o=e[n]||{};Object.keys(o).forEach((function(r){if(r.indexOf(i)>-1){var s=o[r];Q(t,e,n,s.originalHandler,s.delegationSelector)}}))}(t,c,n,e.slice(1))}));var f=c[a]||{};Object.keys(f).forEach((function(n){var i=n.replace(I,"");if(!l||e.indexOf(i)>-1){var o=f[n];Q(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;Q(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(N,""),r=e!==o,s=H.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&S&&(i=S.Event(e,n),S(t).trigger(i),a=!i.isPropagationStopped(),l=!i.isImmediatePropagationStopped(),c=i.isDefaultPrevented()),s?(u=document.createEvent("HTMLEvents")).initEvent(o,a,!0):u=new CustomEvent(e,{bubbles:a,cancelable:!0}),void 0!==n&&Object.keys(n).forEach((function(t){Object.defineProperty(u,t,{get:function(){return n[t]}})})),c&&(u.preventDefault(),A||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},q="alert",Y=function(){function t(t){this._element=t,this._element&&T(t,"bs.alert",this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){k(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){return h(t)||t.closest(".alert")},n._triggerCloseEvent=function(t){return V.trigger(t,"close.bs.alert")},n._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=d(t);V.one(t,"transitionend",(function(){return e._destroyElement(t)})),g(t,n)}else this._destroyElement(t)},n._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),V.trigger(t,"closed.bs.alert")},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.alert");n||(n=new t(this)),"close"===e&&n[e](this)}))},t.handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},t.getInstance=function(t){return L(t,"bs.alert")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();V.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',Y.handleDismiss(new Y));var z=w();if(z){var K=z.fn[q];z.fn[q]=Y.jQueryInterface,z.fn[q].Constructor=Y,z.fn[q].noConflict=function(){return z.fn[q]=K,Y.jQueryInterface}}var X=function(){function t(t){this._element=t,T(t,"bs.button",this)}var n=t.prototype;return n.toggle=function(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))},n.dispose=function(){k(this._element,"bs.button"),this._element=null},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.button");n||(n=new t(this)),"toggle"===e&&n[e]()}))},t.getInstance=function(t){return L(t,"bs.button")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();V.on(document,"click.bs.button.data-api",'[data-toggle="button"]',(function(t){t.preventDefault();var e=t.target.closest('[data-toggle="button"]'),n=L(e,"bs.button");n||(n=new X(e)),n.toggle()}));var G=w();if(G){var $=G.fn.button;G.fn.button=X.jQueryInterface,G.fn.button.Constructor=X,G.fn.button.noConflict=function(){return G.fn.button=$,X.jQueryInterface}}function Z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function J(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var tt={setDataAttribute:function(t,e,n){t.setAttribute("data-"+J(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+J(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=Z(e[t])})),e},getDataAttribute:function(t,e){return Z(t.getAttribute("data-"+J(e)))},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},position:function(t){return{top:t.offsetTop,left:t.offsetLeft}},toggleClass:function(t,e){t&&(t.classList.contains(e)?t.classList.remove(e):t.classList.add(e))}},et={matches:function(t,e){return t.matches(e)},find:function(t,e){var n;return void 0===e&&(e=document.documentElement),(n=[]).concat.apply(n,O.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),C.call(e,t)},children:function(t,e){var n,i=(n=[]).concat.apply(n,t.children);return i.filter((function(t){return t.matches(e)}))},parents:function(t,e){for(var n=[],i=t.parentNode;i&&i.nodeType===Node.ELEMENT_NODE&&3!==i.nodeType;)this.matches(i,e)&&n.push(i),i=i.parentNode;return n},prev:function(t,e){for(var n=t.previousElementSibling;n;){if(n.matches(e))return[n];n=n.previousElementSibling}return[]},next:function(t,e){for(var n=t.nextElementSibling;n;){if(this.matches(n,e))return[n];n=n.nextElementSibling}return[]}},nt="carousel",it=".bs.carousel",ot={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},rt={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},st={TOUCH:"touch",PEN:"pen"},at=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=et.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners(),T(t,"bs.carousel",this)}var n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),et.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},n.to=function(t){var e=this;this._activeElement=et.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)V.one(this._element,"slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},n.dispose=function(){V.off(this._element,it),k(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},n._getConfig=function(t){return t=o(o({},ot),t),v(nt,t,rt),t},n._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},n._addEventListeners=function(){var t=this;this._config.keyboard&&V.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(V.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),V.on(this._element,"mouseleave.bs.carousel",(function(e){return t.cycle(e)}))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&st[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&st[e.pointerType.toUpperCase()]&&(t.touchDeltaX=e.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};et.find(".carousel-item img",this._element).forEach((function(t){V.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(V.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),V.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(V.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),V.on(this._element,"touchmove.bs.carousel",(function(e){return function(e){e.touches&&e.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.touches[0].clientX-t.touchStartX}(e)})),V.on(this._element,"touchend.bs.carousel",(function(t){return n(t)})))},n._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.key){case"ArrowLeft":t.preventDefault(),this.prev();break;case"ArrowRight":t.preventDefault(),this.next()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?et.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},n._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),r=this._items.length-1;if((i&&0===o||n&&o===r)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(et.findOne(".active.carousel-item",this._element));return V.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=et.find(".active",this._indicatorsElement),n=0;n0)for(var i=0;i=0)return 1;return 0}();var _t=gt&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then((function(){e=!1,t()})))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout((function(){e=!1,t()}),vt))}};function bt(t){return t&&"[object Function]"==={}.toString.call(t)}function yt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function wt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Et(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=yt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Et(wt(t))}function Tt(t){return t&&t.referenceNode?t.referenceNode:t}var Lt=gt&&!(!window.MSInputMethodContext||!document.documentMode),kt=gt&&/MSIE 10/.test(navigator.userAgent);function Ot(t){return 11===t?Lt:10===t?kt:Lt||kt}function Ct(t){if(!t)return document.documentElement;for(var e=Ot(10)?document.body:null,n=t.offsetParent||null;n===e&&t.nextElementSibling;)n=(t=t.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&"BODY"!==i&&"HTML"!==i?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===yt(n,"position")?Ct(n):n:t?t.ownerDocument.documentElement:document.documentElement}function At(t){return null!==t.parentNode?At(t.parentNode):t}function Dt(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var n=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,i=n?t:e,o=n?e:t,r=document.createRange();r.setStart(i,0),r.setEnd(o,0);var s=r.commonAncestorContainer;if(t!==s&&e!==s||i.contains(o))return function(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||Ct(t.firstElementChild)===t)}(s)?s:Ct(s);var a=At(t);return a.host?Dt(a.host,e):Dt(t,At(e).host)}function St(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===e?"scrollTop":"scrollLeft",i=t.nodeName;if("BODY"===i||"HTML"===i){var o=t.ownerDocument.documentElement,r=t.ownerDocument.scrollingElement||o;return r[n]}return t[n]}function xt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=St(e,"top"),o=St(e,"left"),r=n?-1:1;return t.top+=i*r,t.bottom+=i*r,t.left+=o*r,t.right+=o*r,t}function Nt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function It(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Ot(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function jt(t){var e=t.body,n=t.documentElement,i=Ot(10)&&getComputedStyle(n);return{height:It("Height",e,n,i),width:It("Width",e,n,i)}}var Pt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Mt=function(){function t(t,e){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],i=Ot(10),o="HTML"===e.nodeName,r=Ft(t),s=Ft(e),a=Et(t),l=yt(e),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=Rt({top:r.top-s.top-c,left:r.left-s.left-u,width:r.width,height:r.height});if(f.marginTop=0,f.marginLeft=0,!i&&o){var h=parseFloat(l.marginTop,10),d=parseFloat(l.marginLeft,10);f.top-=c-h,f.bottom-=c-h,f.left-=u-d,f.right-=u-d,f.marginTop=h,f.marginLeft=d}return(i&&!n?e.contains(a):e===a&&"BODY"!==a.nodeName)&&(f=xt(f,e)),f}function Ut(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Wt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:St(n),a=e?0:St(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return Rt(l)}function Qt(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===yt(t,"position"))return!0;var n=wt(t);return!!n&&Qt(n)}function Vt(t){if(!t||!t.parentElement||Ot())return document.documentElement;for(var e=t.parentElement;e&&"none"===yt(e,"transform");)e=e.parentElement;return e||document.documentElement}function qt(t,e,n,i){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=o?Vt(t):Dt(t,Tt(e));if("viewport"===i)r=Ut(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=Et(wt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Wt(a,s,o);if("HTML"!==a.nodeName||Qt(s))r=l;else{var c=jt(t.ownerDocument),u=c.height,f=c.width;r.top+=l.top-l.marginTop,r.bottom=u+l.top,r.left+=l.left-l.marginLeft,r.right=f+l.left}}var h="number"==typeof(n=n||0);return r.left+=h?n:n.left||0,r.top+=h?n:n.top||0,r.right-=h?n:n.right||0,r.bottom-=h?n:n.bottom||0,r}function Yt(t){return t.width*t.height}function zt(t,e,n,i,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf("auto"))return t;var s=qt(n,i,r,o),a={top:{width:s.width,height:e.top-s.top},right:{width:s.right-e.right,height:s.height},bottom:{width:s.width,height:s.bottom-e.bottom},left:{width:e.left-s.left,height:s.height}},l=Object.keys(a).map((function(t){return Bt({key:t},a[t],{area:Yt(a[t])})})).sort((function(t,e){return e.area-t.area})),c=l.filter((function(t){var e=t.width,i=t.height;return e>=n.clientWidth&&i>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,f=t.split("-")[1];return u+(f?"-"+f:"")}function Kt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?Vt(e):Dt(e,Tt(n));return Wt(n,o,i)}function Xt(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),n=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),i=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+i,height:t.offsetHeight+n}}function Gt(t){var e={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,(function(t){return e[t]}))}function $t(t,e,n){n=n.split("-")[0];var i=Xt(t),o={width:i.width,height:i.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",c=r?"width":"height";return o[s]=e[s]+e[l]/2-i[l]/2,o[a]=n===a?e[a]-i[c]:e[Gt(a)],o}function Zt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Jt(t,e,n){return(void 0===n?t:t.slice(0,function(t,e,n){if(Array.prototype.findIndex)return t.findIndex((function(t){return t[e]===n}));var i=Zt(t,(function(t){return t[e]===n}));return t.indexOf(i)}(t,"name",n))).forEach((function(t){t.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=t.function||t.fn;t.enabled&&bt(n)&&(e.offsets.popper=Rt(e.offsets.popper),e.offsets.reference=Rt(e.offsets.reference),e=n(e,t))})),e}function te(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Kt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=zt(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=$t(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Jt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function ee(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ne(t){for(var e=[!1,"ms","Webkit","Moz","O"],n=t.charAt(0).toUpperCase()+t.slice(1),i=0;i1&&void 0!==arguments[1]&&arguments[1],n=de.indexOf(t),i=de.slice(n+1).concat(de.slice(0,n));return e?i.reverse():i}var me="flip",ge="clockwise",ve="counterclockwise";function _e(t,e,n,i){var o=[0,0],r=-1!==["right","left"].indexOf(i),s=t.split(/(\+|\-)/).map((function(t){return t.trim()})),a=s.indexOf(Zt(s,(function(t){return-1!==t.search(/,|\s/)})));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(c=c.map((function(t,i){var o=(1===i?!r:r)?"height":"width",s=!1;return t.reduce((function(t,e){return""===t[t.length-1]&&-1!==["+","-"].indexOf(e)?(t[t.length-1]=e,s=!0,t):s?(t[t.length-1]+=e,s=!1,t):t.concat(e)}),[]).map((function(t){return function(t,e,n,i){var o=t.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+o[1],s=o[2];if(!r)return t;if(0===s.indexOf("%")){var a=void 0;switch(s){case"%p":a=n;break;case"%":case"%r":default:a=i}return Rt(a)[e]/100*r}if("vh"===s||"vw"===s){return("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r}return r}(t,o,e,n)}))}))).forEach((function(t,e){t.forEach((function(n,i){le(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var be={placement:"bottom",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,n=e.split("-")[0],i=e.split("-")[1];if(i){var o=t.offsets,r=o.reference,s=o.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",c=a?"width":"height",u={start:Ht({},l,r[l]),end:Ht({},l,r[l]+r[c]-s[c])};t.offsets.popper=Bt({},s,u[i])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var n=e.offset,i=t.placement,o=t.offsets,r=o.popper,s=o.reference,a=i.split("-")[0],l=void 0;return l=le(+n)?[+n,0]:_e(n,r,s,a),"left"===a?(r.top+=l[0],r.left-=l[1]):"right"===a?(r.top+=l[0],r.left+=l[1]):"top"===a?(r.left+=l[0],r.top-=l[1]):"bottom"===a&&(r.left+=l[0],r.top+=l[1]),t.popper=r,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var n=e.boundariesElement||Ct(t.instance.popper);t.instance.reference===n&&(n=Ct(n));var i=ne("transform"),o=t.instance.popper.style,r=o.top,s=o.left,a=o[i];o.top="",o.left="",o[i]="";var l=qt(t.instance.popper,t.instance.reference,e.padding,n,t.positionFixed);o.top=r,o.left=s,o[i]=a,e.boundaries=l;var c=e.priority,u=t.offsets.popper,f={primary:function(t){var n=u[t];return u[t]l[t]&&!e.escapeWithReference&&(i=Math.min(u[n],l[t]-("right"===t?u.width:u.height))),Ht({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=Bt({},u,f[e](t))})),t.offsets.popper=u,t},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,n=e.popper,i=e.reference,o=t.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(o),a=s?"right":"bottom",l=s?"left":"top",c=s?"width":"height";return n[a]r(i[a])&&(t.offsets.popper[l]=r(i[a])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var n;if(!fe(t.instance.modifiers,"arrow","keepTogether"))return t;var i=e.element;if("string"==typeof i){if(!(i=t.instance.popper.querySelector(i)))return t}else if(!t.instance.popper.contains(i))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),t;var o=t.placement.split("-")[0],r=t.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",f=u.toLowerCase(),h=l?"left":"top",d=l?"bottom":"right",p=Xt(i)[c];a[d]-ps[d]&&(t.offsets.popper[f]+=a[f]+p-s[d]),t.offsets.popper=Rt(t.offsets.popper);var m=a[f]+a[c]/2-p/2,g=yt(t.instance.popper),v=parseFloat(g["margin"+u],10),_=parseFloat(g["border"+u+"Width"],10),b=m-t.offsets.popper[f]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Ht(n={},f,Math.round(b)),Ht(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(ee(t.instance.modifiers,"inner"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var n=qt(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),i=t.placement.split("-")[0],o=Gt(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case me:s=[i,o];break;case ge:s=pe(i);break;case ve:s=pe(i,!0);break;default:s=e.behavior}return s.forEach((function(a,l){if(i!==a||s.length===l+1)return t;i=t.placement.split("-")[0],o=Gt(i);var c=t.offsets.popper,u=t.offsets.reference,f=Math.floor,h="left"===i&&f(c.right)>f(u.left)||"right"===i&&f(c.left)f(u.top)||"bottom"===i&&f(c.top)f(n.right),m=f(c.top)f(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&g||!_&&"end"===r&&m),w=b||y;(h||v||w)&&(t.flipped=!0,(h||v)&&(i=s[l+1]),w&&(r=function(t){return"end"===t?"start":"start"===t?"end":t}(r)),t.placement=i+(r?"-"+r:""),t.offsets.popper=Bt({},t.offsets.popper,$t(t.instance.popper,t.offsets.reference,t.placement)),t=Jt(t.instance.modifiers,t,"flip"))})),t},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,n=e.split("-")[0],i=t.offsets,o=i.popper,r=i.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return o[s?"left":"top"]=r[n]-(a?o[s?"width":"height"]:0),t.placement=Gt(e),t.offsets.popper=Rt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Zt(t.instance.modifiers,(function(t){return"preventOverflow"===t.name})).boundaries;if(e.bottomn.right||e.top>n.bottom||e.right2&&void 0!==arguments[2]?arguments[2]:{};Pt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=_t(this.update.bind(this)),this.options=Bt({},t.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(Bt({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Bt({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Bt({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&bt(t.onLoad)&&t.onLoad(i.reference,i.popper,i.options,t,i.state)})),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return Mt(t,[{key:"update",value:function(){return te.call(this)}},{key:"destroy",value:function(){return ie.call(this)}},{key:"enableEventListeners",value:function(){return se.call(this)}},{key:"disableEventListeners",value:function(){return ae.call(this)}}]),t}();ye.Utils=("undefined"!=typeof window?window:global).PopperUtils,ye.placements=he,ye.Defaults=be;var we="dropdown",Ee=new RegExp("ArrowUp|ArrowDown|Escape"),Te={offset:0,flip:!0,boundary:"scrollParent",reference:"toggle",display:"dynamic",popperConfig:null},Le={offset:"(number|string|function)",flip:"boolean",boundary:"(string|element)",reference:"(string|element)",display:"string",popperConfig:"(null|object)"},ke=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners(),T(t,"bs.dropdown",this)}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},n.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};if(!V.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===ye)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:m(this._config.reference)&&(i=this._config.reference,void 0!==this._config.reference.jquery&&(i=this._config.reference[0])),"scrollParent"!==this._config.boundary&&e.classList.add("position-static"),this._popper=new ye(i,this._menu,this._getPopperConfig())}var o;if("ontouchstart"in document.documentElement&&!e.closest(".navbar-nav"))(o=[]).concat.apply(o,document.body.children).forEach((function(t){return V.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),tt.toggleClass(this._menu,"show"),tt.toggleClass(this._element,"show"),V.trigger(e,"shown.bs.dropdown",n)}}},n.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var e=t.getParentFromElement(this._element),n={relatedTarget:this._element};V.trigger(e,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),tt.toggleClass(this._menu,"show"),tt.toggleClass(this._element,"show"),V.trigger(e,"hidden.bs.dropdown",n))}},n.dispose=function(){k(this._element,"bs.dropdown"),V.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;V.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=o(o(o({},this.constructor.Default),tt.getDataAttributes(this._element)),t),v(we,t,this.constructor.DefaultType),t},n._getMenuElement=function(){return et.next(this._element,".dropdown-menu")[0]},n._getPlacement=function(){var t=this._element.parentNode,e="bottom-start";return t.classList.contains("dropup")?(e="top-start",this._menu.classList.contains("dropdown-menu-right")&&(e="top-end")):t.classList.contains("dropright")?e="right-start":t.classList.contains("dropleft")?e="left-start":this._menu.classList.contains("dropdown-menu-right")&&(e="bottom-end"),e},n._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o(o({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),o(o({},t),this._config.popperConfig)},t.dropdownInterface=function(e,n){var i=L(e,"bs.dropdown");if(i||(i=new t(e,"object"==typeof n?n:null)),"string"==typeof n){if(void 0===i[n])throw new TypeError('No method named "'+n+'"');i[n]()}},t.jQueryInterface=function(e){return this.each((function(){t.dropdownInterface(this,e)}))},t.clearMenus=function(e){if(!e||2!==e.button&&("keyup"!==e.type||"Tab"===e.key))for(var n=et.find('[data-toggle="dropdown"]'),i=0,o=n.length;i0&&r--,"ArrowDown"===e.key&&rdocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
      ',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Me,popperConfig:null},Ve={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},qe=function(){function t(t,e){if(void 0===ye)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners(),T(t,this.constructor.DATA_KEY,this)}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=L(t.target,e);n||(n=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(this.getTipElement().classList.contains("show"))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),k(this.element,this.constructor.DATA_KEY),V.off(this.element,this.constructor.EVENT_KEY),V.off(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.tip&&this.tip.parentNode.removeChild(this.tip),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var e=V.trigger(this.element,this.constructor.Event.SHOW),n=function t(e){if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){var n=e.getRootNode();return n instanceof ShadowRoot?n:null}return e instanceof ShadowRoot?e:e.parentNode?t(e.parentNode):null}(this.element),i=null===n?this.element.ownerDocument.documentElement.contains(this.element):n.contains(this.element);if(e.defaultPrevented||!i)return;var o=this.getTipElement(),r=c(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&o.classList.add("fade");var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this._addAttachmentClass(a);var l,u=this._getContainer();if(T(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),V.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new ye(this.element,o,this._getPopperConfig(a)),o.classList.add("show"),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(t){V.on(t,"mouseover",(function(){}))}));var f=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,V.trigger(t.element,t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(this.tip.classList.contains("fade")){var h=d(this.tip);V.one(this.tip,"transitionend",f),g(this.tip,h)}else f()}},n.hide=function(){var t=this,e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),V.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!V.trigger(this.element,this.constructor.Event.HIDE).defaultPrevented){var i;if(e.classList.remove("show"),"ontouchstart"in document.documentElement)(i=[]).concat.apply(i,document.body.children).forEach((function(t){return V.off(t,"mouseover",b)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=d(e);V.one(e,"transitionend",n),g(e,o)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.getTipElement=function(){if(this.tip)return this.tip;var t=document.createElement("div");return t.innerHTML=this.config.template,this.tip=t.children[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(et.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},n.setElementContent=function(t,e){if(null!==t)return"object"==typeof e&&m(e)?(e.jquery&&(e=e[0]),void(this.config.html?e.parentNode!==t&&(t.innerHTML="",t.appendChild(e)):t.textContent=e.textContent)):void(this.config.html?(this.config.sanitize&&(e=He(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},n.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getPopperConfig=function(t){var e=this;return o(o({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:"."+this.constructor.NAME+"-arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),this.config.popperConfig)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o(o({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:m(this.config.container)?this.config.container:et.findOne(this.config.container)},n._getAttachment=function(t){return Ue[t.toUpperCase()]},n._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)V.on(t.element,t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;V.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),V.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},V.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=o(o({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),e.getTipElement().classList.contains("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=tt.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Fe.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o(o(o({},this.constructor.Default),e),"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),v(Be,t,this.constructor.DefaultType),t.sanitize&&(t.template=He(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Re);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(t.classList.remove("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.tooltip"),i="object"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new t(this,i)),"string"==typeof e)){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.tooltip")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Qe}},{key:"NAME",get:function(){return Be}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ve}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return We}}]),t}(),Ye=w();if(Ye){var ze=Ye.fn[Be];Ye.fn[Be]=qe.jQueryInterface,Ye.fn[Be].Constructor=qe,Ye.fn[Be].noConflict=function(){return Ye.fn[Be]=ze,qe.jQueryInterface}}var Ke="popover",Xe=new RegExp("(^|\\s)bs-popover\\S+","g"),Ge=o(o({},qe.Default),{},{placement:"right",trigger:"click",content:"",template:''}),$e=o(o({},qe.DefaultType),{},{content:"(string|element|function)"}),Ze={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},Je=function(t){var n,i;function o(){return t.apply(this,arguments)||this}i=t,(n=o).prototype=Object.create(i.prototype),n.prototype.constructor=n,n.__proto__=i;var r=o.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.setContent=function(){var t=this.getTipElement();this.setElementContent(et.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(et.findOne(".popover-body",t),e),t.classList.remove("fade","show")},r._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-popover-"+t)},r._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},r._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Xe);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},o.jQueryInterface=function(t){return this.each((function(){var e=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T(this,"bs.popover",e)),"string"==typeof t)){if(void 0===e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},o.getInstance=function(t){return L(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Ge}},{key:"NAME",get:function(){return Ke}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Ze}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return $e}}]),o}(qe),tn=w();if(tn){var en=tn.fn[Ke];tn.fn[Ke]=Je.jQueryInterface,tn.fn[Ke].Constructor=Je,tn.fn[Ke].noConflict=function(){return tn.fn[Ke]=en,Je.jQueryInterface}}var nn="scrollspy",on={offset:10,method:"auto",target:""},rn={offset:"number",method:"string",target:"(string|element)"},sn=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,V.on(this._scrollElement,"scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process(),T(t,"bs.scrollspy",this)}var n=t.prototype;return n.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),et.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=et.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[tt[n](e).top+i,o]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},n.dispose=function(){k(this._element,"bs.scrollspy"),V.off(this._scrollElement,".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},n._getConfig=function(t){if("string"!=typeof(t=o(o({},on),"object"==typeof t&&t?t:{})).target&&m(t.target)){var e=t.target.id;e||(e=c(nn),t.target.id=e),t.target="#"+e}return v(nn,t,rn),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&(void 0===this._offsets[o+1]||t li > .active":".active";e=(e=et.find(o,i))[e.length-1]}var r=null;if(e&&(r=V.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(V.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=function(){V.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),V.trigger(t._element,"shown.bs.tab",{relatedTarget:e})};n?this._activate(n,n.parentNode,s):s()}}},n.dispose=function(){k(this._element,"bs.tab"),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?et.children(e,".active"):et.find(":scope > li > .active",e))[0],r=n&&o&&o.classList.contains("fade"),s=function(){return i._transitionComplete(t,o,n)};if(o&&r){var a=d(o);o.classList.remove("show"),V.one(o,"transitionend",s),g(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=et.findOne(":scope > .dropdown-menu .active",e.parentNode);i&&i.classList.remove("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}(t.classList.add("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),y(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&et.find(".dropdown-toggle").forEach((function(t){return t.classList.add("active")})),t.setAttribute("aria-expanded",!0));n&&n()},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.tab")||new t(this);if("string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t.getInstance=function(t){return L(t,"bs.tab")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();V.on(document,"click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),(L(this,"bs.tab")||new cn(this)).show()}));var un=w();if(un){var fn=un.fn.tab;un.fn.tab=cn.jQueryInterface,un.fn.tab.Constructor=cn,un.fn.tab.noConflict=function(){return un.fn.tab=fn,cn.jQueryInterface}}var hn={animation:"boolean",autohide:"boolean",delay:"number"},dn={animation:!0,autohide:!0,delay:500},pn=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T(t,"bs.toast",this)}var n=t.prototype;return n.show=function(){var t=this;if(!V.trigger(this._element,"show.bs.toast").defaultPrevented){this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),V.trigger(t._element,"shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),y(this._element),this._element.classList.add("showing"),this._config.animation){var n=d(this._element);V.one(this._element,"transitionend",e),g(this._element,n)}else e()}},n.hide=function(){var t=this;if(this._element.classList.contains("show")&&!V.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),V.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d(this._element);V.one(this._element,"transitionend",e),g(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),V.off(this._element,"click.dismiss.bs.toast"),k(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=o(o(o({},dn),tt.getDataAttributes(this._element)),"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;V.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},t.jQueryInterface=function(e){return this.each((function(){var n=L(this,"bs.toast");if(n||(n=new t(this,"object"==typeof e&&e)),"string"==typeof e){if(void 0===n[e])throw new TypeError('No method named "'+e+'"');n[e](this)}}))},t.getInstance=function(t){return L(t,"bs.toast")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"DefaultType",get:function(){return hn}},{key:"Default",get:function(){return dn}}]),t}(),mn=w();if(mn){var gn=mn.fn.toast;mn.fn.toast=pn.jQueryInterface,mn.fn.toast.Constructor=pn,mn.fn.toast.noConflict=function(){return mn.fn.toast=gn,pn.jQueryInterface}}return{Alert:Y,Button:X,Carousel:at,Collapse:dt,Dropdown:ke,Modal:Se,Popover:Je,ScrollSpy:sn,Tab:cn,Toast:pn,Tooltip:qe}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map; +/*! lazysizes - v5.2.2 */ + +!function(e){var t=function(u,D,f){"use strict";var k,H;if(function(){var e;var t={lazyClass:"lazyload",loadedClass:"lazyloaded",loadingClass:"lazyloading",preloadClass:"lazypreload",errorClass:"lazyerror",autosizesClass:"lazyautosizes",srcAttr:"data-src",srcsetAttr:"data-srcset",sizesAttr:"data-sizes",minSize:40,customMedia:{},init:true,expFactor:1.5,hFac:.8,loadMode:2,loadHidden:true,ricTimeout:0,throttleDelay:125};H=u.lazySizesConfig||u.lazysizesConfig||{};for(e in t){if(!(e in H)){H[e]=t[e]}}}(),!D||!D.getElementsByClassName){return{init:function(){},cfg:H,noSupport:true}}var O=D.documentElement,a=u.HTMLPictureElement,P="addEventListener",$="getAttribute",q=u[P].bind(u),I=u.setTimeout,U=u.requestAnimationFrame||I,l=u.requestIdleCallback,j=/^picture$/i,r=["load","error","lazyincluded","_lazyloaded"],i={},G=Array.prototype.forEach,J=function(e,t){if(!i[t]){i[t]=new RegExp("(\\s|^)"+t+"(\\s|$)")}return i[t].test(e[$]("class")||"")&&i[t]},K=function(e,t){if(!J(e,t)){e.setAttribute("class",(e[$]("class")||"").trim()+" "+t)}},Q=function(e,t){var i;if(i=J(e,t)){e.setAttribute("class",(e[$]("class")||"").replace(i," "))}},V=function(t,i,e){var a=e?P:"removeEventListener";if(e){V(t,i)}r.forEach(function(e){t[a](e,i)})},X=function(e,t,i,a,r){var n=D.createEvent("Event");if(!i){i={}}i.instance=k;n.initEvent(t,!a,!r);n.detail=i;e.dispatchEvent(n);return n},Y=function(e,t){var i;if(!a&&(i=u.picturefill||H.pf)){if(t&&t.src&&!e[$]("srcset")){e.setAttribute("srcset",t.src)}i({reevaluate:true,elements:[e]})}else if(t&&t.src){e.src=t.src}},Z=function(e,t){return(getComputedStyle(e,null)||{})[t]},s=function(e,t,i){i=i||e.offsetWidth;while(i49?function(){l(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(i){return}i=true;t=r-(f.now()-a);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ae=function(e){var t,i;var a=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-i;if(e0;if(r&&Z(a,"overflow")!="visible"){i=a.getBoundingClientRect();r=C>i.left&&pi.top-1&&g500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;M=0}else if(h>1&&M>1&&N<6){w=u}else{w=_}}if(o!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;o=n}i=d[t].getBoundingClientRect();if((b=i.bottom)>=s&&(g=i.top)<=z&&(C=i.right)>=s*c&&(p=i.left)<=y&&(b||C||p||g)&&(H.loadHidden||W(d[t]))&&(m&&N<3&&!l&&(h<3||M<4)||S(d[t],n))){R(d[t]);r=true;if(N>9){break}}else if(!r&&m&&!a&&N<4&&M<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!l&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){a=v[0]||d[t]}}if(a&&!r){R(a)}}};var i=ie(t);var B=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}x(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,L);X(t,"lazyloaded")};var a=te(B);var L=function(e){a({target:e.target})};var T=function(t,i){try{t.contentWindow.location.replace(i)}catch(e){t.src=i}};var F=function(e){var t;var i=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(i){e.setAttribute("srcset",i)}};var s=te(function(t,e,i,a,r){var n,s,l,o,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(a){if(i){K(t,H.autosizesClass)}else{t.setAttribute("sizes",a)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){l=t.parentNode;o=l&&j.test(l.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||o);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(x,2500);V(t,L,true)}if(o){G.call(l.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!o){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||o)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,"ls-is-cached")}B(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){N--}},true)});var R=function(e){if(e._lazyRace){return}var t;var i=n.test(e.nodeName);var a=i&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=a=="auto";if((r||!m)&&i&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;N++;s(e,t,r,a,i)};var r=ae(function(){H.loadMode=3;i()});var l=function(){if(H.loadMode==3){H.loadMode=2}r()};var o=function(){if(m){return}if(f.now()-e<999){I(o,999);return}m=true;H.loadMode=3;i();q("scroll",l,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",i,true);q("resize",i,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(i).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",i,true);O[P]("DOMAttrModified",i,true);setInterval(i,999)}q("hashchange",i,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,i,true)});if(/d$|^c/.test(D.readyState)){o()}else{q("load",o);D[P]("DOMContentLoaded",i);I(o,2e4)}if(k.elements.length){t();ee._lsFlush()}else{i()}},checkElems:i,unveil:R,_aLSL:l}}(),re=function(){var i;var n=te(function(e,t,i,a){var r,n,s;e._lazysizesWidth=a;a+="px";e.setAttribute("sizes",a);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n. + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2016 + */ +$(window).on('load', function () { + $('#promo-carousel').slick(); + + $('.manufacturer-slider .flexslider').slick({ + dots: false, + infinite: true, + speed: 300, + slidesToShow: 6, + slidesToScroll: 6, + responsive: [ + { + breakpoint: 1024, + settings: { + slidesToShow: 4, + slidesToScroll: 4 + } + }, + { + breakpoint: 600, + settings: { + slidesToShow: 2, + slidesToScroll: 2 + } + }, + { + breakpoint: 480, + settings: { + slidesToShow: 1, + slidesToScroll: 1 + } + } + // You can unslick at a given breakpoint now by adding: + // settings: "unslick" + // instead of a settings object + ] + }); +}); diff --git a/out/moga/src/js/widgets/oxagbcheck.min.js b/out/moga/src/js/widgets/oxagbcheck.min.js new file mode 100644 index 0000000..cdd69ba --- /dev/null +++ b/out/moga/src/js/widgets/oxagbcheck.min.js @@ -0,0 +1 @@ +!function(a){oxAGBCheck={_create:function(){var b=this,c=(b.options,b.element);c.closest("form").submit(function(){return!!c.prop("checked")||(a("p[name='agbError']").show(),!1)}),c.click(function(){c.prop("checked")?(c.prop("checked",!0),a("p[name='agbError']").hide()):c.prop("checked",!1)})}},a.widget("ui.oxAGBCheck",oxAGBCheck)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxajax.min.js b/out/moga/src/js/widgets/oxajax.min.js new file mode 100644 index 0000000..bf38d7c --- /dev/null +++ b/out/moga/src/js/widgets/oxajax.min.js @@ -0,0 +1,89 @@ +!function ($) { + oxAjax = { + loadingScreen: { + start: function (a, b) { + var c = Array(); + return $(a).each(function () { + var a = document.createElement("div"); + if (a.innerHTML = '
      ', $("div", a).css({ + position: "absolute", + left: $(this).offset().left - 10, + top: $(this).offset().top - 10, + width: $(this).width() + 20, + height: $(this).height() + 20 + }), b && b.length) { + var d = Math.round(b.offset().left - 10 - $(this).offset().left + b.width() / 2), + e = b.offset().top, + f = Math.round(e - 10 - $(this).offset().top + (b.last().offset().top - e + b.last().height()) / 2); + $("div.loadingiconbg, div.loadingicon", a).css({"background-position": d + "px " + f + "px"}) + } + $("div.loadingfade", a).css({opacity: 0}).animate({opacity: .55}, 200), $("body").append(a), c.push(a) + }), c + }, stop: function (a) { + $.each(a, function (a, b) { + $("div", b).not(".loadingfade").remove(), $("div.loadingfade", b).stop(!0, !0).animate({opacity: 0}, 100, function () { + $(b).remove() + }) + }) + } + }, updatePageErrors: function (a) { + if (a.length) { + var b = $("#content > .status.error"); + if (0 == b.length && ($("#content").prepend("
      "), b = $("#content > .status.error")), b) { + b.children().remove(); + var c; + for (c = 0; c < a.length; c++) { + var d = document.createElement("p"); + $(d).append(document.createTextNode(a[c])), b.append(d) + } + } + } else $("#content > .status.error").remove() + }, ajax: function (a, b) { + var c = this, d = {}, e = "", f = ""; + "FORM" == a[0].tagName ? ($("input", a).each(function () { + if ("checkbox" == this.type && !this.checked) return !0; + d[this.name] = this.value + }), e = a.attr("action"), f = a.attr("method")) : "A" == a[0].tagName && (e = a.attr("href")), b.additionalData && $.each(b.additionalData, function (a, b) { + d[a] = b + }); + var g = {}, h = Array(); + for (var i in d) d.hasOwnProperty(i) && h.push(i); + h.sort().forEach(function (a) { + g[a] = d[a] + }); + var j = null; + b.targetEl && (j = c.loadingScreen.start(b.targetEl, b.iconPosEl)), f || (f = "get"), jQuery.ajax({ + data: g, + url: e, + type: f, + timeout: 3e4, + beforeSend: function (a, b) { + b.url = b.url.replace("&&", "&") + }, + error: function (a, d, e) { + j && c.loadingScreen.stop(j), b.onError && b.onError(a, d, e) + }, + success: function (a) { + j && c.loadingScreen.stop(j), void 0 != a.debuginfo && a.debuginfo && $("body").append(a.debuginfo), void 0 != a.errors && void 0 != a.errors.default ? c.updatePageErrors(a.errors.default) : c.updatePageErrors([]), b.onSuccess && b.onSuccess(a, d) + } + }) + }, reportJSError: function (a) { + "undefined" != typeof console && void 0 !== console.error && console.error(a) + }, evalScripts: function (container) { + var self = this; + try { + $("script", container).each(function () { + try { + if ("" != this.src && 0 == $('body > script[src="' + this.src + '"]').length) return $("body").append(this), document.body.appendChild(this), !0; + eval(this.innerHTML) + } catch (e) { + self.reportJSError(e) + } + $(this).remove() + }) + } catch (e) { + self.reportJSError(e) + } + } + }, $.widget("ui.oxAjax", oxAjax) +}(jQuery); diff --git a/out/moga/src/js/widgets/oxarticlevariant.min.js b/out/moga/src/js/widgets/oxarticlevariant.min.js new file mode 100644 index 0000000..9dc02ee --- /dev/null +++ b/out/moga/src/js/widgets/oxarticlevariant.min.js @@ -0,0 +1,60 @@ +!function (a) { + function b(b) { + var c = a(this); + if (c.parents().hasClass("js-disabled") ? d() : a("form.js-oxProductForm input[name=anid]").attr("value", a("form.js-oxProductForm input[name=parentid]").attr("value")), c.parents(".js-fnSubmit").length > 0) { + a("input:hidden", c.parents("div.dropDown")).val(c.data("selection-id")); + var e = a("form.js-oxWidgetReload"); + a("input[name=fnc]", e).val(""), e.submit() + } + return !1 + } + + function c(b) { + d(); + var c = a("form.js-oxWidgetReload"); + return a("input[name=fnc]", c).val(""), c.submit(), !1 + } + + function d() { + for (var b = a("form.js-oxProductForm input[name^=varselid], form.js-oxWidgetReload input[name^=varselid]"), c = 0; c < b.length; c++) a(b[c]).attr("value", ""); + a("form.js-oxProductForm input[name=anid]").attr("value", a("form.js-oxProductForm input[name=parentid]").attr("value")) + } + + function e() { + var b = {}, c = a(this); + if (!a("input[name='fnc']", this).val()) { + if (a("input[name=aid]", this).val() == a("input[name=parentid]", this).val()) { + var d = a("input[name^=varselid]", a("form.js-oxProductForm")); + if (d.length) { + var e = ""; + if (d.each(function (c) { + e = e + c + ":" + a(this).val() + "|", b[a(this).attr("name")] = a(this).val() + }), -1 === jQuery.inArray(e, oxVariantSelections)) return g.reload(a(c), a("#details_container"), a("#details_container")[0], b) + } + } + return g.reload(a(c), a("#details_container"), a("#details_container")[0], b) + } + } + + function f() { + a("#zoomModal").remove() + } + + var g = { + _create: function () { + a("ul.vardrop a").click(b), a("div.variantReset a").click(c), a("form.js-oxWidgetReload").submit(e), a("form.js-oxProductForm").submit(e) + }, reload: function (b, c, d, e) { + return f(), oxAjax.ajax(b, { + targetEl: c, + iconPosEl: a("#variants .dropDown"), + additionalData: e, + onSuccess: function (b) { + a(d).parent().html(b), "undefined" != typeof WidgetsHandler && (WidgetsHandler.reloadWidget("oxwarticledetails"), WidgetsHandler.reloadWidget("oxwrating"), WidgetsHandler.reloadWidget("oxwreview")) + } + }), !1 + }, resetVariantSelections: function () { + d() + } + }; + a.widget("ui.oxArticleVariant", g) +}(jQuery); diff --git a/out/moga/src/js/widgets/oxbasketchecks.min.js b/out/moga/src/js/widgets/oxbasketchecks.min.js new file mode 100644 index 0000000..bdc7750 --- /dev/null +++ b/out/moga/src/js/widgets/oxbasketchecks.min.js @@ -0,0 +1 @@ +!function(a){oxBasketChecks={_create:function(){var a=this,b=(a.options,a.element);b.click(function(){return b.is("input")?(a.toggleChecks(b.prop("checked")),!0):(a.toggleChecks(a.toggleMainCheck()),!1)})},toggleChecks:function(b){a(".basketitems .checkbox input").prop("checked",b)},toggleMainCheck:function(){return a("#checkAll").prop("checked")?(a("#checkAll").prop("checked",!1),!1):(a("#checkAll").prop("checked",!0),!0)}},a.widget("ui.oxBasketChecks",oxBasketChecks)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxblockdebug.min.js b/out/moga/src/js/widgets/oxblockdebug.min.js new file mode 100644 index 0000000..594d8a5 --- /dev/null +++ b/out/moga/src/js/widgets/oxblockdebug.min.js @@ -0,0 +1 @@ +!function(a){oxBlockDebug={_create:function(){a("hr.debugBlocksStart").each(function(){for(var b=a(this).attr("title"),c=a(this).attr("id"),d=a(this).next();d.hasClass("debugBlocksStart");)d=d.next();var e=d.offset().left,f=d.offset().left+d.outerWidth(),g=d.offset().top,h=d.offset().top+d.outerHeight(),i=function(){a(this).hasClass("debugBlocksStart")||a(this).hasClass("debugBlocksEnd")||(e=Math.min(e,a(this).offset().left),f=Math.max(f,a(this).offset().left+a(this).outerWidth()),g=Math.min(g,a(this).offset().top),h=Math.max(h,a(this).offset().top+a(this).outerHeight()),a(this).children(":visible").each(i))};a(this).nextUntil("hr.debugBlocksEnd[title="+c+"]").filter(":visible").each(i);var j=f-e,k=h-g,l=a("
      ").html("Block: "+b+"");l.attr("id",c+"_border"),l.css({position:"absolute",top:g,left:e,width:j-4,height:k-4,border:"1px dashed #a33",padding:"2px 1px"}),a("body").append(l),a("#"+c+"_title").hover(function(){a(this).css("z-index",1004),a(this).css("background-color","#000"),a("#"+c+"_border").css({border:"2px solid #f00",padding:"1px 0","z-index":1002})},function(){a(this).css("z-index",1003);try{a(this).css("background-color","rgba(0, 0, 0, 0.7)")}catch(b){a(this).css("background-color","#444")}a("#"+c+"_border").css({border:"1px dashed #a33",padding:"2px 1px","z-index":1001})})}),a("body").append(a("").css({right:0,top:0,position:"fixed",background:"#a33",color:"#fff",border:"1px solid #600",padding:"3px 10px",cursor:"pointer",width:"230px","z-index":1005}).click(function(){a("div.tplDebugBlock").toggle()}).hover(function(){a(this).css("background","#533")},function(){a(this).css("background","#a33")}))}},a.widget("ui.oxBlockDebug",oxBlockDebug)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxcookienote.min.js b/out/moga/src/js/widgets/oxcookienote.min.js new file mode 100644 index 0000000..ba91f83 --- /dev/null +++ b/out/moga/src/js/widgets/oxcookienote.min.js @@ -0,0 +1 @@ +!function(a){oxCookieNote={options:{closeButton:".dismiss"},_create:function(){var b=this;if(a.cookie("displayedCookiesNotification"))return b.element.remove(),!1;a.cookie("displayedCookiesNotification",1,{path:"/",expires:30}),a(b.options.closeButton,b.element).click(function(){return b.element.fadeOut("slow").remove(),!1})}},a.widget("ui.oxCookieNote",oxCookieNote)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxcountrystateselect.min.js b/out/moga/src/js/widgets/oxcountrystateselect.min.js new file mode 100644 index 0000000..59db169 --- /dev/null +++ b/out/moga/src/js/widgets/oxcountrystateselect.min.js @@ -0,0 +1 @@ +!function(a){oxCountryStateSelect={options:{listItem:"li",select:"select",span:"span",selectedStateId:"selectedStateId"},_create:function(){var a=this,b=a.options,c=a.element,d=a.getStateSelect(c);a.manageStateSelect(d,a.getStates(c.val(),allStates,allCountryIds),a.getStatesValues(c.val(),allStateIds,allCountryIds),b.selectedStateId),c.change(function(){a.manageStateSelect(d,a.getStates(c.val(),allStates,allCountryIds),a.getStatesValues(c.val(),allStateIds,allCountryIds),b.selectedStateId)})},manageStateSelect:function(a,b,c,d){this.removeSelectOptions(a);var e=this.getStateSelectSpan(a);return null!=b&&b.length>0?(this.addSelectOptions(a,c,b,d),e.parent().show()):(e.parent().hide(),this.removeSelectOptions(a)),a},getStateSelect:function(b){return oOptions=this.options,a(b).closest(oOptions.listItem).next(oOptions.listItem).children(oOptions.span).children(oOptions.select)},getStateSelectSpan:function(b){return oOptions=this.options,a(b).parent(oOptions.span)},addSelectOptions:function(b,c,d,e){for(var f=0;f').attr("value",c[f]).text(d[f])):b.append(a("").attr("value",c[f]).text(d[f]));return b},removeSelectOptions:function(a){return a.find('option[value!=""]').remove().end(),a},getStates:function(a,b,c){return b[c[a]]},getStatesValues:function(a,b,c){return b[c[a]]}},a.widget("ui.oxCountryStateSelect",oxCountryStateSelect)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxlistremovebutton.min.js b/out/moga/src/js/widgets/oxlistremovebutton.min.js new file mode 100644 index 0000000..800a267 --- /dev/null +++ b/out/moga/src/js/widgets/oxlistremovebutton.min.js @@ -0,0 +1 @@ +!function(a){oxListRemoveButton={_create:function(){this.element.click(function(){var b=a(this).attr("triggerForm");return a("#"+b).submit(),!1})}},a.widget("ui.oxListRemoveButton",oxListRemoveButton)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxpayment.min.js b/out/moga/src/js/widgets/oxpayment.min.js new file mode 100644 index 0000000..539c3d9 --- /dev/null +++ b/out/moga/src/js/widgets/oxpayment.min.js @@ -0,0 +1 @@ +!function(a){oxPayment={_create:function(){var b=this,c=(b.options,b.element);a("dl dt input[type=radio]",c).click(function(){a("dd",c).hide(),a(this).parents("dl").children("dd").toggle()})}},a.widget("ui.oxPayment",oxPayment)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxrating.js b/out/moga/src/js/widgets/oxrating.js new file mode 100644 index 0000000..2237c3c --- /dev/null +++ b/out/moga/src/js/widgets/oxrating.js @@ -0,0 +1,122 @@ +/** + * This file is part of OXID eShop Azure Theme. + * + * OXID eShop Azure Theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Azure Theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Azure Theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2017 + * @version OXID eShop Azure Theme + */ +( function( $ ) { + + oxRating = { + options: { + reviewButton : "writeNewReview", + articleRatingValue : "productRating", + listManiaRatingValue : "recommListRating", + currentRating : "reviewCurrentRating", + reviewForm : "writeReview", + reviewDiv : "review", + hideReviewButton : true, + openReviewForm : true, + ratingElement : "a.ox-write-review" + }, + + _create: function() { + + var self = this; + var options = self.options; + var el = self.element; + + $( options.ratingElement, el ).each( function(i){ + + $(this).click(function(){ + + self.setRatingValue( $('#' + options.articleRatingValue), i + 1 ); + + self.setRatingValue( $('#' + options.listManiaRatingValue), i + 1 ); + + self.setCurrentRating( $('#' + options.currentRating), ( ( i + 1 ) * 20) + '%' ); + + if ( options.openReviewForm ){ + self.openReviewForm( $("#" + options.reviewForm) ); + } + + if ( options.hideReviewButton ){ + self.hideReviewButton( $('#' + options.reviewButton) ); + } + return false; + }); + }); + }, + + /** + * set rating value on form element + * + * @return {Object} + */ + setRatingValue: function( oElement, value ) + { + oElement.val(value); + return oElement; + }, + + /** + * set rating value on stars + * + * @return {Object} + */ + setCurrentRating: function( oElement, value ) + { + oElement.width( value ); + return oElement; + }, + + + /** + * hide review button + * + * @return {Object} + */ + hideReviewButton: function( oButton ) + { + oButton.hide(); + return oButton; + }, + + /** + * open review form + * + * @return {Object} + */ + openReviewForm: function( oForm ) + { + $( "html,body" ).animate( { + scrollTop: $( "#" + this.options.reviewDiv ).offset().top + }, 1000, function(){ + oForm.slideDown(); + } ); + + return oForm; + } + + }; + + /** + * Rating widget + */ + $.widget("ui.oxRating", oxRating ); + + +} )( jQuery ); diff --git a/out/moga/src/js/widgets/oxreview.js b/out/moga/src/js/widgets/oxreview.js new file mode 100644 index 0000000..00db363 --- /dev/null +++ b/out/moga/src/js/widgets/oxreview.js @@ -0,0 +1,49 @@ +/** + * This file is part of OXID eShop Azure Theme. + * + * OXID eShop Azure Theme is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * OXID eShop Azure Theme is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with OXID eShop Azure Theme. If not, see . + * + * @link http://www.oxid-esales.com + * @copyright (C) OXID eSales AG 2003-2017 + * @version OXID eShop Azure Theme + */ +( function( $ ) { + + oxReview = { + options: { + reviewButton : "#writeNewReview", + reviewForm : "#writeReview" + }, + + _create: function() { + + var self = this; + var options = self.options; + var el = self.element; + + $( options.reviewButton ).click(function(){ + $( options.reviewForm ).slideToggle(); + $( options.reviewButton ).hide(); + return false; + }); + } + }; + + /** + * Review widget + */ + $.widget("ui.oxReview", oxReview ); + + +} )( jQuery ); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxusershipingaddressselect.min.js b/out/moga/src/js/widgets/oxusershipingaddressselect.min.js new file mode 100644 index 0000000..42ab4cb --- /dev/null +++ b/out/moga/src/js/widgets/oxusershipingaddressselect.min.js @@ -0,0 +1 @@ +!function(a){oxUserShipingAddressSelect={_create:function(){var b=this;b.options;b.element.change(function(){var c=a(this).val();a("input[name=reloadaddress]")&&a("input[name=reloadaddress]").val(b.getReloadValue(c)),"-1"!==c?(a(".js-oxValidate").unbind("submit"),a("#shippingAddressForm").remove(),b.submitForm()):b.emptyInputFields()})},emptyInputFields:function(){a("input:text").filter(function(){return this.name.match(/address__/)}).val(""),a("#shippingAddressForm").show(),a("#shippingAddressText").hide(),a("select[name='deladr[oxaddress__oxcountryid]']").children("option").prop("selected",null),a("select[name='deladr[oxaddress__oxstateid]']").children('option[value=""]').prop("selected","selected"),a("#delCountrySelect").selectpicker("refresh")},submitForm:function(){a("form[name='order'] input[name=cl]").val(a("input[name=changeClass]").val()),a("form[name='order'] input[name=fnc]").val(""),a("form[name='order']").submit()},getReloadValue:function(a){return"-1"===a?"1":"2"}},a.widget("ui.oxUserShipingAddressSelect",oxUserShipingAddressSelect)}(jQuery); \ No newline at end of file diff --git a/out/moga/src/js/widgets/oxwidgetshandler.js b/out/moga/src/js/widgets/oxwidgetshandler.js new file mode 100644 index 0000000..060c6c5 --- /dev/null +++ b/out/moga/src/js/widgets/oxwidgetshandler.js @@ -0,0 +1,146 @@ +var WidgetsHandler = (function() { + var oRegister = { files: [], functions: [] }, oWidgetRegister = {}, blLoaded = false; + + var obj = { + /** + * Registers function if it was not already registered + * + * @param sFunction function text + * @param sWidget widget name + */ + registerFunction: function( sFunction, sWidget ) { + _register( oRegister, sFunction, 'functions' ); + _initWidget( sWidget ); + _register( oWidgetRegister[ sWidget ], sFunction, 'functions' ); + }, + + /** + * Registers files if it was not already registered + * + * @param sFile file name + * @param sWidget widget name + */ + registerFile: function( sFile, sWidget ) { + _register( oRegister, sFile, 'files' ); + _initWidget( sWidget ); + _register( oWidgetRegister[ sWidget ], sFile, 'files' ); + }, + + /** + * Loads all registered functions + */ + load: function() { + _loadAll(); + }, + + /** + * Loads all registered functions + * + * @param sWidget widget name + */ + reloadWidget: function( sWidget ) { + _loadWidget( sWidget ); + } + } + + /** + * Initiates widget + * @param sWidget + * @private + */ + function _initWidget( sWidget ) + { + if ( !( sWidget in oWidgetRegister ) ) { + oWidgetRegister[ sWidget ] = { files: [], functions: [] }; + } + } + + /** + * Registers given value to given register + * + * @param oRegister + * @param sValue + * @param sGroup + */ + function _register( oRegister, sValue, sGroup ) { + if ( !_isRegistered( oRegister[ sGroup ], sValue ) ) { + oRegister[ sGroup ].push( sValue ); + } + } + + /** + * Checks whether given needle is registered in given register + * + * @param oRegister + * @param sNeedle + * @returns {boolean} + */ + function _isRegistered( oRegister, sNeedle ) { + for ( var i in oRegister ) { + if ( oRegister[i].indexOf( sNeedle ) > -1 ) { + return true; + } + } + return false; + } + + /** + * Loads all functions and files in register + * + * @private + */ + function _loadAll() { + if ( blLoaded ) return; + _load( oRegister ); + blLoaded = true; + } + + /** + * Loads all widget functions and files from register + * + * @private + */ + function _loadWidget( sWidget ) { + if ( sWidget in oWidgetRegister ) { + _load( oWidgetRegister[ sWidget ] ); + } + } + + /** + * + * @param oRegister + * @private + */ + function _load( oRegister ) { + var iFilesLoaded = 0; + var iFilesTotal = oRegister[ 'files' ].length; + $.ajaxSetup( {cache: true} ); + for ( var i in oRegister[ 'files' ] ) { + $.getScript( oRegister[ 'files' ][ i ], function() { + iFilesLoaded++; + if ( iFilesLoaded == iFilesTotal) { + _loadFunctions( oRegister ); + } + }); + } + $.ajaxSetup( {cache: false} ); + } + + /** + * Loads widget functions from register + * + * @private + */ + function _loadFunctions( oRegister ) { + for ( var i in oRegister[ 'functions' ] ) { + $.globalEval( oRegister[ 'functions' ][ i ] ); + } + } + + return obj; +})(); + +// do not change to $.ready(), as widget functions will not yet be registered +window.addEventListener("load", function() { + WidgetsHandler.load(); +}, false ); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..01e2819 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,5146 @@ +{ + "name": "moga", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "body": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", + "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", + "dev": true, + "requires": { + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" + } + }, + "bootstrap": { + "version": "5.0.0-alpha1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-alpha1.tgz", + "integrity": "sha512-iwKneP2pLXl8lN0YpnOuOARiNPTzmh/4cw+Un86u4OqrMLuQpyMC7nO07hvivvcg0B/ektJPjuPnS1s+YmRK9A==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "buffer-shims": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true + }, + "bufferstreams": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.3.tgz", + "integrity": "sha512-HaJnVuslRF4g2kSDeyl++AaVizoitCpL9PglzCYwy0uHHyvWerfvEb8jWmYbF1z4kiVFolGomnxSGl+GUQp2jg==", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", + "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combine-mq": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/combine-mq/-/combine-mq-0.8.1.tgz", + "integrity": "sha1-bhUTLiM7k9Q4vQSGtHuTED4yw3E=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "commander": "^2.3.0", + "css-parse": "^2.0.0", + "css-stringify": "^2.0.0", + "cssbeautify": "^0.3.1", + "dammit": "^0.5.1", + "mkdirp": "^0.5.0", + "superb": "^1.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "continuable-cache": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", + "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=", + "dev": true + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cross-spawn": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz", + "integrity": "sha1-vWf5bAfvtjA7f+lMHpefiEeOCjk=", + "dev": true, + "requires": { + "lru-cache": "^2.5.0" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, + "css-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-2.0.0.tgz", + "integrity": "sha1-LvM9z0mMPT7oK9c9CgGsKGKM0Po=", + "dev": true, + "requires": { + "css": "^2.0.0" + } + }, + "cssbeautify": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cssbeautify/-/cssbeautify-0.3.1.tgz", + "integrity": "sha1-Et0fc0A1wub6ymfcvc73TkKBE5c=", + "dev": true + }, + "csso": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.0.0.tgz", + "integrity": "sha1-F4tDpEYhIhwndWCG9THgL0KQDug=", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + }, + "cubic2quad": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cubic2quad/-/cubic2quad-1.1.1.tgz", + "integrity": "sha1-abGcYaP1tB7PLx1fro+wNBWqixU=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cycle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", + "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", + "dev": true + }, + "dammit": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/dammit/-/dammit-0.5.1.tgz", + "integrity": "sha1-vsJda4AdYv75UhORYq5h122mLN8=", + "dev": true, + "requires": { + "minimist": "^0.2.0", + "unique-random": "^0.1.1" + } + }, + "dargs": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", + "integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "dev": true + }, + "diff": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz", + "integrity": "sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k=", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "each-async": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", + "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", + "dev": true, + "requires": { + "onetime": "^1.0.0", + "set-immediate-shim": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "error": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/error/-/error-7.2.1.tgz", + "integrity": "sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA==", + "dev": true, + "requires": { + "string-template": "~0.2.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "eyes": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", + "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-sync-cmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz", + "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "dev": true, + "requires": { + "glob": "~5.0.0" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", + "dev": true + }, + "fontsource-raleway": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fontsource-raleway/-/fontsource-raleway-3.0.3.tgz", + "integrity": "sha512-ZhtjGOC1OuWJKWtUetJW9aFGWKjHE8/Aj1f4xNSuZDYBo6BmR5lL1fo3H4H96rHHtxxz+J7OU/XajAxAFcYXAw==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "grunt": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", + "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", + "dev": true, + "requires": { + "dateformat": "~3.0.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.2", + "findup-sync": "~0.3.0", + "glob": "~7.1.6", + "grunt-cli": "~1.3.2", + "grunt-known-options": "~1.1.0", + "grunt-legacy-log": "~3.0.0", + "grunt-legacy-util": "~2.0.0", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.14.0", + "minimatch": "~3.0.4", + "mkdirp": "~1.0.4", + "nopt": "~3.0.6", + "rimraf": "~3.0.2" + }, + "dependencies": { + "grunt-cli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", + "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", + "dev": true, + "requires": { + "grunt-known-options": "~1.1.0", + "interpret": "~1.1.0", + "liftoff": "~2.5.0", + "nopt": "~4.0.1", + "v8flags": "~3.1.1" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + } + } + }, + "grunt-combine-mq": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/grunt-combine-mq/-/grunt-combine-mq-0.9.0.tgz", + "integrity": "sha1-nvkrbp+rbZ3AX8wFIrQvdfR0tSY=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "combine-mq": "^0.8.1", + "pretty-bytes": "^1.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-clean": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-1.1.0.tgz", + "integrity": "sha1-Vkq/LQN4qYOhW54/MO51tzjEBjg=", + "dev": true, + "requires": { + "async": "^1.5.2", + "rimraf": "^2.5.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "grunt-contrib-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", + "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "source-map": "^0.5.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-copy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz", + "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "file-sync-cmp": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-cssmin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-3.0.0.tgz", + "integrity": "sha512-eXpooYmVGKMs/xV7DzTLgJFPVOfMuawPD3x0JwhlH0mumq2NtH3xsxaHxp1Y3NKxp0j0tRhFS6kSBRsz6TuTGg==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "clean-css": "~4.2.1", + "maxmin": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "grunt-contrib-sass": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz", + "integrity": "sha1-gGg4JRy8DhqU1k1RXN00z2dNcBs=", + "dev": true, + "requires": { + "async": "^0.9.0", + "chalk": "^1.0.0", + "cross-spawn": "^0.2.3", + "dargs": "^4.0.0", + "which": "^1.0.5" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-contrib-uglify": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.2.4.tgz", + "integrity": "sha1-URE/KKckMlIeNeY/fxiiUf2i/Uk=", + "dev": true, + "requires": { + "grunt-lib-contrib": "~0.6.1", + "uglify-js": "~2.4.0" + } + }, + "grunt-contrib-watch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz", + "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", + "dev": true, + "requires": { + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "grunt-css-url-replace": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/grunt-css-url-replace/-/grunt-css-url-replace-0.2.7.tgz", + "integrity": "sha1-lcZb/x78FTvxfHlf0+EiLH+kp0U=", + "dev": true + }, + "grunt-force-task": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-force-task/-/grunt-force-task-2.0.0.tgz", + "integrity": "sha1-XJkD93QJYemBFz0cCCwYpdcwXUk=", + "dev": true + }, + "grunt-jslint": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/grunt-jslint/-/grunt-jslint-1.1.15.tgz", + "integrity": "sha512-8r75ufVi049gYXl6WRTEoswEOnDTMGZH7vVIeSdmY6ODDCAOeYflB6QtRwhbiUYBEiqVfLFN5hzj8ZNBMnFrMw==", + "dev": true, + "requires": { + "jslint": "^0.10.3" + } + }, + "grunt-known-options": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", + "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==", + "dev": true + }, + "grunt-legacy-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", + "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", + "dev": true, + "requires": { + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.19" + } + }, + "grunt-legacy-log-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", + "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", + "dev": true, + "requires": { + "chalk": "~4.1.0", + "lodash": "~4.17.19" + } + }, + "grunt-legacy-util": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.0.tgz", + "integrity": "sha512-ZEmYFB44bblwPE2oz3q3ygfF6hseQja9tx8I3UZIwbUik32FMWewA+d1qSFicMFB+8dNXDkh35HcDCWlpRsGlA==", + "dev": true, + "requires": { + "async": "~1.5.2", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.20", + "underscore.string": "~3.3.5", + "which": "~1.3.0" + } + }, + "grunt-lib-contrib": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz", + "integrity": "sha1-P1att9oG6BR5XuJBWw6+X7iQPrs=", + "dev": true, + "requires": { + "zlib-browserify": "0.0.1" + } + }, + "grunt-pixrem": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/grunt-pixrem/-/grunt-pixrem-0.1.2.tgz", + "integrity": "sha1-gE9891uYpanIXOZ2qF5qFLSjDYM=", + "dev": true, + "requires": { + "pixrem": "~0.1.4" + } + }, + "grunt-postcss": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/grunt-postcss/-/grunt-postcss-0.8.0.tgz", + "integrity": "sha1-jzCor2B5A84MRfAfC+QsYOMc6w4=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "diff": "^2.0.2", + "postcss": "^5.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "grunt-sass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-2.1.0.tgz", + "integrity": "sha512-XkexnQt/9rhReNd+Y7T0n/2g5FqYOQKfi2iSlpwDqvgs7EgEaGTxNhnWzHnbW5oNRvzL9AHopBG3AgRxL0d+DA==", + "dev": true, + "requires": { + "each-async": "^1.0.0", + "node-sass": "^4.7.2", + "object-assign": "^4.0.1" + } + }, + "grunt-webfont": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/grunt-webfont/-/grunt-webfont-1.7.2.tgz", + "integrity": "sha512-7SNdxCgQY4ADrG2uFTmBS1XneNtoxQSIRwTjkkSIlYv+NlrxFghrlY7jsLGZjkM5ZEXwc6SIlf6DsO+5Yc7wHQ==", + "dev": true, + "requires": { + "async": "~1.5.2", + "chalk": "~1.1.1", + "glob": "~7.0.0", + "lodash": "~4.17.10", + "memorystream": "~0.3.1", + "mkdirp": "~0.5.1", + "svg2ttf": "~2.1.1", + "svgicons2svgfont": "~1.1.0", + "svgo": "~0.6.1", + "temp": "~0.8.3", + "ttf2eot": "~1.3.0", + "ttf2woff": "~1.3.0", + "ttf2woff2": "~2.0.3", + "underscore.string": "~3.2.3", + "winston": "~2.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "underscore.string": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", + "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=", + "dev": true + } + } + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", + "dev": true, + "requires": { + "duplexer": "^0.1.1" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", + "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "http-parser-js": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.2.tgz", + "integrity": "sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ==", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "dev": true, + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "dev": true, + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jslint": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/jslint/-/jslint-0.10.3.tgz", + "integrity": "sha1-iQ2j55ky7fBsX0tSp7W6ZDaGdDY=", + "dev": true, + "requires": { + "exit": "~0.1.2", + "glob": "^7.0.3", + "nopt": "~3.0.1", + "readable-stream": "~2.1.2" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keypress": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", + "integrity": "sha1-SjGI1CkbZrT2XtuZ+AaqmuKTWSo=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "lazysizes": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/lazysizes/-/lazysizes-5.2.2.tgz", + "integrity": "sha512-fYgOv1Y35M86/7qyAdPPqoOhuyZrjxEAPxqwToRY2bO/PoBJ4lSqZYuZoavNp6eyuLpIAdHodpsPfj2Lkt86FQ==", + "dev": true + }, + "liftoff": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", + "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "findup-sync": "^2.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + } + } + }, + "livereload-js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", + "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==", + "dev": true + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "dev": true, + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "dev": true, + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + } + } + }, + "maxmin": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz", + "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "figures": "^1.0.1", + "gzip-size": "^3.0.0", + "pretty-bytes": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "pretty-bytes": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz", + "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + } + } + }, + "microbuffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz", + "integrity": "sha1-izgy7UDIfVH0e7I0kTppinVtGdI=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.1.tgz", + "integrity": "sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==", + "dev": true + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "nan": { + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "dev": true, + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "dev": true, + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "dev": true, + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pixrem": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/pixrem/-/pixrem-0.1.4.tgz", + "integrity": "sha1-aKkrtWFG6pSZ2mAu5HyRpYi/gLA=", + "dev": true, + "requires": { + "postcss": "~0.3.0" + } + }, + "pkginfo": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz", + "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=", + "dev": true + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "dev": true + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-0.3.5.tgz", + "integrity": "sha1-UHOj0GLvPOWSrEpf5rjChiq4POs=", + "dev": true, + "requires": { + "base64-js": "~0.0.6", + "source-map": "~0.1.33" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "pretty-bytes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", + "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.1.0" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", + "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==", + "dev": true + }, + "raw-body": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", + "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", + "dev": true, + "requires": { + "bytes": "1", + "string_decoder": "0.10" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz", + "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=", + "dev": true, + "requires": { + "buffer-shims": "^1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "dev": true, + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safe-json-parse": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", + "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + } + }, + "sax": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=", + "dev": true + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "string-template": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", + "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "superb": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/superb/-/superb-1.3.0.tgz", + "integrity": "sha1-VQcvpSEiDRSHa0Yw4IIgJDUxBro=", + "dev": true, + "requires": { + "meow": "^3.4.0", + "unique-random-array": "^1.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "svg-pathdata": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-1.0.0.tgz", + "integrity": "sha1-kPahyWPNS+E6njAPeaGj3ePIAzQ=", + "dev": true, + "requires": { + "readable-stream": "~1.0.26-3" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "svg2ttf": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/svg2ttf/-/svg2ttf-2.1.1.tgz", + "integrity": "sha1-ED06I29llsR6JJDsIrZ8BR7kaS4=", + "dev": true, + "requires": { + "argparse": "^1.0.3", + "cubic2quad": "^1.0.0", + "lodash": "^3.6.0", + "microbuffer": "^1.0.0", + "svgpath": "^2.1.2", + "xmldom": "~0.1.16" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + } + } + }, + "svgicons2svgfont": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svgicons2svgfont/-/svgicons2svgfont-1.1.0.tgz", + "integrity": "sha1-DHEZyeWRbJ10c8hTubjkQE+gjQs=", + "dev": true, + "requires": { + "readable-stream": "^1.0.33", + "sax": "0.6.x", + "svg-pathdata": "1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "svgo": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.6.6.tgz", + "integrity": "sha1-s0CIkDbyD5tEdUMHfQ9Vc+0ETAg=", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.0.0", + "js-yaml": "~3.6.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "js-yaml": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", + "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + } + } + }, + "svgpath": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/svgpath/-/svgpath-2.3.0.tgz", + "integrity": "sha512-N/4UDu3Y2ICik0daMmFW1tplw0XPs1nVIEVYkTiQfj9/JQZeEtAKaSYwheCwje1I4pQ5r22fGpoaNIvGgsyJyg==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "tiny-lr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", + "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", + "dev": true, + "requires": { + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "ttf2eot": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ttf2eot/-/ttf2eot-1.3.0.tgz", + "integrity": "sha1-lGcerPpa13mc1vn1tgMPUTsDKsI=", + "dev": true, + "requires": { + "argparse": "~0.1.15" + }, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + } + }, + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "ttf2woff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ttf2woff/-/ttf2woff-1.3.0.tgz", + "integrity": "sha1-dqJ6bzDqA3qe1kyf9D7H7UYebSo=", + "dev": true, + "requires": { + "argparse": "~ 0.1.15", + "pako": "~ 0.2.2" + }, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + } + }, + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "ttf2woff2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ttf2woff2/-/ttf2woff2-2.0.3.tgz", + "integrity": "sha1-XgIK/m5kMofzrXaHq+0g/mVOsyk=", + "dev": true, + "requires": { + "bindings": "^1.2.1", + "bufferstreams": "^1.1.0", + "nan": "^2.1.0", + "node-gyp": "^3.0.3" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "uglify": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/uglify/-/uglify-0.1.5.tgz", + "integrity": "sha1-iI1X770b+n+tieEdBpl16WgtVNI=", + "dev": true, + "requires": { + "commander": "*", + "grunt": "0.4.5", + "grunt-contrib-clean": "0.5.0", + "grunt-contrib-concat": "0.3.0", + "grunt-contrib-copy": "0.5.0", + "grunt-contrib-cssmin": "0.6.1", + "grunt-contrib-uglify": "0.2.4", + "grunt-css-url-replace": "*", + "underscore": "1.4.x", + "underscore.string": "2.3.3" + }, + "dependencies": { + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + }, + "dependencies": { + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", + "dev": true + }, + "clean-css": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-1.0.12.tgz", + "integrity": "sha1-5uDZd4YEZjY9kRChdCPSfNaHQwA=", + "dev": true, + "requires": { + "commander": "1.3.x" + }, + "dependencies": { + "commander": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-1.3.2.tgz", + "integrity": "sha1-io8w7GcKb91kr1LxkUuQfXnq1bU=", + "dev": true, + "requires": { + "keypress": "0.1.x" + } + } + } + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", + "dev": true + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "dev": true, + "requires": { + "glob": "~3.2.9", + "lodash": "~2.4.1" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "dev": true, + "requires": { + "async": "~0.1.22", + "coffee-script": "~1.3.3", + "colors": "~0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.1.2", + "getobject": "~0.1.0", + "glob": "~3.1.21", + "grunt-legacy-log": "~0.1.0", + "grunt-legacy-util": "~0.2.0", + "hooker": "~0.2.3", + "iconv-lite": "~0.2.11", + "js-yaml": "~2.0.5", + "lodash": "~0.9.2", + "minimatch": "~0.2.12", + "nopt": "~1.0.10", + "rimraf": "~2.2.8", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "dependencies": { + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "dev": true + } + } + }, + "grunt-contrib-clean": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz", + "integrity": "sha1-9T397ghJsce0Dp67umn0jExgecU=", + "dev": true, + "requires": { + "rimraf": "~2.2.1" + } + }, + "grunt-contrib-concat": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.3.0.tgz", + "integrity": "sha1-SPoNQzbSm2U62CJaa9b4VrRIPjI=", + "dev": true + }, + "grunt-contrib-copy": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz", + "integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=", + "dev": true + }, + "grunt-contrib-cssmin": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.6.1.tgz", + "integrity": "sha1-U05jK/4ZUhshw2RncVe4sR4XPvw=", + "dev": true, + "requires": { + "clean-css": "~1.0.4", + "grunt-lib-contrib": "~0.6.0" + } + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "dev": true, + "requires": { + "colors": "~0.6.2", + "grunt-legacy-log-utils": "~0.1.1", + "hooker": "~0.2.3", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "dev": true, + "requires": { + "colors": "~0.6.2", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "dev": true, + "requires": { + "async": "~0.1.22", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~0.9.2", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + }, + "dependencies": { + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "dev": true + } + } + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "dev": true + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "dev": true, + "requires": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + } + }, + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", + "dev": true + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "underscore": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz", + "integrity": "sha1-YaajIBBiKvoHljvzJSA88SI51gQ=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "dev": true + } + } + }, + "uglify-js": { + "version": "2.4.24", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "0.1.34", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.5.4" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "source-map": { + "version": "0.1.34", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", + "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "yargs": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "decamelize": "^1.0.0", + "window-size": "0.1.0", + "wordwrap": "0.0.2" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "dev": true + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", + "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "dev": true, + "requires": { + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "unique-random": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/unique-random/-/unique-random-0.1.1.tgz", + "integrity": "sha1-xMyqvtqrhTTg9U2vXxB0PuXGkq0=", + "dev": true + }, + "unique-random-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unique-random-array/-/unique-random-array-1.0.1.tgz", + "integrity": "sha512-z9J/SV8CUIhIRROcHe9YUoAT6XthUJt0oUyLGgobiXJprDP9O9dsErNevvSaAv5BkhwFEVPn6nIEOKeNE6Ck1Q==", + "dev": true, + "requires": { + "unique-random": "^1.0.0" + }, + "dependencies": { + "unique-random": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-random/-/unique-random-1.0.0.tgz", + "integrity": "sha1-zj4iTIJCzTOg53sNcYDXfmti0MQ=", + "dev": true + } + } + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8flags": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", + "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "dev": true, + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "winston": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz", + "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=", + "dev": true, + "requires": { + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "pkginfo": "0.3.x", + "stack-trace": "0.0.x" + }, + "dependencies": { + "async": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", + "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + } + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xmldom": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz", + "integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ==", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "zlib-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz", + "integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..6bda5ee --- /dev/null +++ b/package.json @@ -0,0 +1,35 @@ +{ + "name": "moga", + "version": "1.0.0", + "description": "moga new fancy Bootstrap 5 playground.", + "main": "index.js", + "author": "c&c concepts and creations gmbh", + "devDependencies": { + "ajv": "^5.2.5", + "bootstrap": "^5.0.0-alpha1", + "fontsource-raleway": "^3.0.3", + "grunt": "^1.3.0", + "grunt-combine-mq": "^0.9.0", + "grunt-contrib-clean": "^1.1.0", + "grunt-contrib-concat": "^1.0.0", + "grunt-contrib-copy": "*", + "grunt-contrib-cssmin": "^3.0.0", + "grunt-contrib-sass": "^1.0.0", + "grunt-contrib-watch": "^1.0.0", + "grunt-force-task": "^2.0.0", + "grunt-jslint": "^1.1.14", + "grunt-pixrem": "^0.1.2", + "grunt-postcss": "^0.8.0", + "grunt-sass": "^2.0.0", + "grunt-webfont": "^1.7.2", + "lazysizes": "^5.2.2", + "matchdep": "^2.0.0", + "popper.js": "^1.12.6", + "uglify": "^0.1.5" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "license": "ISC", + "dependencies": {} +} diff --git a/setup.sql b/setup.sql new file mode 100644 index 0000000..b329e57 --- /dev/null +++ b/setup.sql @@ -0,0 +1,144 @@ +INSERT INTO `oxconfig` (`OXID`, `OXSHOPID`, `OXMODULE`, `OXVARNAME`, `OXVARTYPE`, `OXVARVALUE`, `OXTIMESTAMP`) VALUES +(uuid(), 1, 'theme:wave', 'sEmailLogo', 'str', 0x942748b21dc5aa40be4dbb4b05b4, NOW()), +(uuid(), 1, 'theme:wave', 'sManufacturerIconsize', 'str', 0x07c4b144c7b838, NOW()), +(uuid(), 1, 'theme:wave', 'sCatIconsize', 'str', 0x070de94ac9b636, NOW()), +(uuid(), 1, 'theme:wave', 'aDetailImageSizes', 'aarr', 0x4dba326a73d2cdcb471b9533d7800b4b898873f7ae9dc29e349deefcb66d850ae01e328b04f76615e932a997c8084dd9ac31e423f22106b7a1dd7cb1451f56975c3fd6159579cd2cab97104f17ae8138a9804be3afb653c4e48881f76289e888a4f8ef570af174e3a150ec63c74cb7ba3fa76665f6a9294d8bf365bf7d3d0d56faf2355d1c38ba2e92bb4eb66100b3f6957ed8ebd700cdae929b8eff817426bf370bb4b92c9468f3d8ca7170cde789d6c1282016056e510050910ce509a25393205f43020972fc45f582c44616b7fea5d92349bc3290f41b221ca302652eabe106a93f9f4d1ed363f2f33c1e29716b955529172573e680701788104c2d0011bff92c28aa6c5fb2503bdde425b5acf963fd4426a6047b0e2bc4896143076e8dbc7dd8a7448ba2a523d3b5db6cbc1bc882194e2a5f96ceacfee4c889593cdefd17faa68394d63465a321d1d774bdb9, NOW()), +(uuid(), 1, 'theme:wave', 'sCatPromotionsize', 'str', 0xb06fb441c2bd94, NOW()), +(uuid(), 1, 'theme:wave', 'sCatThumbnailsize', 'str', 0x071d955c1cd4bda6, NOW()), +(uuid(), 1, 'theme:wave', 'sIconsize', 'str', 0x8064a213b1, NOW()), +(uuid(), 1, 'theme:wave', 'sThumbnailsize', 'str', 0xb0a3ba4f7d95b7, NOW()), +(uuid(), 1, 'theme:wave', 'sZoomImageSize', 'str', 0x170a3340d372be, NOW()), +(uuid(), 1, 'theme:wave', 'bl_showCompareList', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'bl_showListmania', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'bl_showWishlist', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'bl_showVouchers', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'bl_showGiftWrapping', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blShowBirthdayFields', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blShowFinalStep', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'sDefaultListDisplayType', 'select', 0x83cd10b7f09064ed, NOW()), +(uuid(), 1, 'theme:wave', 'sStartPageListDisplayType', 'select', 0x25f9f804, NOW()), +(uuid(), 1, 'theme:wave', 'blShowListDisplayType', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'iNewBasketItemMessage', 'select', 0xb6, NOW()), +(uuid(), 1, 'theme:wave', 'aNrofCatArticles', 'arr', 0x4dbace2972e14bf2cbd3a9a4113b83ad1c8f7b704f710ba39fd1ecd29b438b41809712e316c6f4fdc92741f7876cc6fca127d78994e604dcc99519, NOW()), +(uuid(), 1, 'theme:wave', 'aNrofCatArticlesInGrid', 'arr', 0x4dbace2972e14bf2cbd3a9a4113b83c51e8d79724d7309a19dd3ee6153448c46879015e411c1f3fa250245f38368c2f8a523d58c91546b92cdf6, NOW()), +(uuid(), 1, 'theme:wave', 'bl_showManufacturerSlider', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'sGoogleMapsAddr', 'str', 0xda37080488abb110f9511073d0f569036f9d5a1f6a7fa627afc72fbe810d0563f7edc6bc19e9faae81865ec3b6f865e0ca, NOW()), +(uuid(), 1, 'theme:wave', 'blUseGAPageTracker', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'sGATrackingId', 'str', '', NOW()), +(uuid(), 1, 'theme:wave', 'sFacebookUrl', 'str', 0x00d0e1aeebd778fa49b315d49dbaf2e6c1349106c9da5a31ae0e49a790442dcface2f5, NOW()), +(uuid(), 1, 'theme:wave', 'sTwitterUrl', 'str', 0x00d0e1aeebd778fac2b08d85307f7aa4f33e9c5280c85d8aafda12218a0c65, NOW()), +(uuid(), 1, 'theme:wave', 'sYouTubeUrl', 'str', 0x00d0e1aeebd778fa49b315d40d88f5aff800205639d85f83435eba8889b06c49b6aabdcf29a076, NOW()), +(uuid(), 1, 'theme:wave', 'blGAAnonymizeIPs', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blUseGAEcommerceTracking', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'sLogoWidth', 'str', 0xb6c7b2, NOW()), +(uuid(), 1, 'theme:wave', 'sLogoHeight', 'str', 0xb098, NOW()), +(uuid(), 1, 'theme:wave', 'sFaviconFile', 'str', 0x79000644af5767f4d7dc62, NOW()), +(uuid(), 1, 'theme:wave', 'sFavicon16File', 'str', 0x79000644af5767e6228e5470901b92dbd5, NOW()), +(uuid(), 1, 'theme:wave', 'sFavicon32File', 'str', 0x79000644af5767e6952d52c1351b92dbd5, NOW()), +(uuid(), 1, 'theme:wave', 'sFavicon48File', 'str', 0x79000644af5767e6de1c5f87091b92dbd5, NOW()), +(uuid(), 1, 'theme:wave', 'sFavicon64File', 'str', 0x79000644af5767e6326551657e1b92dbd5, NOW()), +(uuid(), 1, 'theme:wave', 'sFavicon128File', 'str', 0x79000644af5767e6222ffa198d7874d59eb3bd, NOW()), +(uuid(), 1, 'theme:wave', 'sFavicon512File', 'str', 0x79000644af5767e6789acb14dac048d59eb3bd, NOW()), +(uuid(), 1, 'theme:wave', 'sFaviconMSTileColor', 'str', 0xdbe489594ca46c, NOW()), +(uuid(), 1, 'theme:wave', 'sBlogUrl', 'str', 0x00d0e1ae33bb2426d4c13ad686d60fed72df8582c8631c9b461319, NOW()), +(uuid(), 1, 'theme:wave', 'sGooglePlusUrl', 'str', 0x00d0e1aeebd778fa21386b3d78d9f35abace215738d95e823f349b6cf969a88386d9ca3fbf80d7d4ffe0156bb2, NOW()), +(uuid(), 1, 'theme:wave', 'sBackgroundColor', 'str', 0xdb8f89a0725ec3, NOW()), +(uuid(), 1, 'theme:wave', 'sBackgroundPath', 'str', 0x679be558191c478fac1bc75462aa22cbfee85c7bfc417650, NOW()), +(uuid(), 1, 'theme:wave', 'sBackgroundRepeat', 'select', 0x8f25902f58076a32dc, NOW()), +(uuid(), 1, 'theme:wave', 'sBackgroundPosHorizontal', 'select', 0x6c95e74d1a80, NOW()), +(uuid(), 1, 'theme:wave', 'sBackgroundPosVertical', 'select', 0x933f05, NOW()), +(uuid(), 1, 'theme:wave', 'sBackgroundSize', 'select', 0x6c280d1171, NOW()), +(uuid(), 1, 'theme:wave', 'blBackgroundAttachment', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blUseBackground', 'bool', '', NOW()), +(uuid(), 1, 'theme:wave', 'blUseGoogleTS', 'bool', '', NOW()), +(uuid(), 1, 'theme:wave', 'sGoogleVendorId', 'str', '', NOW()), +(uuid(), 1, 'theme:wave', 'sGoogleShoppingAccountId', 'str', '', NOW()), +(uuid(), 1, 'theme:wave', 'sPageLanguage', 'str', 0xce92a204f4, NOW()), +(uuid(), 1, 'theme:wave', 'sShoppingCountry', 'str', 0xec5a, NOW()), +(uuid(), 1, 'theme:wave', 'sShoppingLanguage', 'str', 0xce92, NOW()), +(uuid(), 1, 'theme:wave', 'sShippingDaysOnStock', 'str', 0xb0, NOW()), +(uuid(), 1, 'theme:wave', 'sShippingDaysNotOnStock', 'str', 0x5d, NOW()), +(uuid(), 1, 'theme:wave', 'sDeliveryDaysOnStock', 'str', 0x17, NOW()), +(uuid(), 1, 'theme:wave', 'sDeliveryDaysNotOnStock', 'str', 0x07e1, NOW()), +(uuid(), 1, 'theme:wave', 'blSliderShowImageCaption', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blFooterShowHelp', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blFooterShowLinks', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blFooterShowNewsletter', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blFooterShowNewsletterForm', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'blEmailsShowProductPictures', 'bool', '', NOW()), +(uuid(), 1, 'theme:wave', 'blFooterShowNews', 'bool', 0x07, NOW()), +(uuid(), 1, 'theme:wave', 'sLogoFile', 'str', 0x942748b21d78ed91e41c4cb2b7, NOW()), +(uuid(), 1, 'theme:wave', 'blFullwidthLayout', 'bool', '', NOW()); + + +INSERT INTO `oxconfigdisplay` (`OXID`, `OXCFGMODULE`, `OXCFGVARNAME`, `OXGROUPING`, `OXVARCONSTRAINT`, `OXPOS`, `OXTIMESTAMP`) VALUES +(uuid(), 'theme:wave', 'sIconsize', 'images', '', 1, NOW()), +(uuid(), 'theme:wave', 'sThumbnailsize', 'images', '', 2, NOW()), +(uuid(), 'theme:wave', 'sCatThumbnailsize', 'images', '', 3, NOW()), +(uuid(), 'theme:wave', 'sZoomImageSize', 'images', '', 4, NOW()), +(uuid(), 'theme:wave', 'aDetailImageSizes', 'images', '', 5, NOW()), +(uuid(), 'theme:wave', 'bl_showCompareList', 'features', '', 6, NOW()), +(uuid(), 'theme:wave', 'bl_showListmania', 'features', '', 7, NOW()), +(uuid(), 'theme:wave', 'bl_showWishlist', 'features', '', 8, NOW()), +(uuid(), 'theme:wave', 'bl_showVouchers', 'features', '', 9, NOW()), +(uuid(), 'theme:wave', 'bl_showGiftWrapping', 'features', '', 10, NOW()), +(uuid(), 'theme:wave', 'blShowBirthdayFields', 'display', '', 14, NOW()), +(uuid(), 'theme:wave', 'blShowFinalStep', 'display', '', 16, NOW()), +(uuid(), 'theme:wave', 'sManufacturerIconsize', 'images', '', 6, NOW()), +(uuid(), 'theme:wave', 'sCatIconsize', 'images', '', 7, NOW()), +(uuid(), 'theme:wave', 'sCatPromotionsize', 'images', '', 8, NOW()), +(uuid(), 'theme:wave', 'sDefaultListDisplayType', 'display', 'infogrid|line|grid', 21, NOW()), +(uuid(), 'theme:wave', 'sStartPageListDisplayType', 'display', 'infogrid|line|grid', 22, NOW()), +(uuid(), 'theme:wave', 'blShowListDisplayType', 'display', '', 20, NOW()), +(uuid(), 'theme:wave', 'iNewBasketItemMessage', 'display', '0|1|2|3', 17, NOW()), +(uuid(), 'theme:wave', 'aNrofCatArticles', 'display', '', 23, NOW()), +(uuid(), 'theme:wave', 'aNrofCatArticlesInGrid', 'display', '', 24, NOW()), +(uuid(), 'theme:wave', 'bl_showManufacturerSlider', 'display', '', 25, NOW()), +(uuid(), 'theme:wave', 'sFacebookUrl', 'footer', '', 0, NOW()), +(uuid(), 'theme:wave', 'sTwitterUrl', 'footer', '', 0, NOW()), +(uuid(), 'theme:wave', 'sYouTubeUrl', 'footer', '', 0, NOW()), +(uuid(), 'theme:wave', 'sGoogleMapsAddr', 'contact', '', 0, NOW()), +(uuid(), 'theme:wave', 'blUseGAPageTracker', 'googleanalytics', '', 0, NOW()), +(uuid(), 'theme:wave', 'sGATrackingId', 'googleanalytics', '', 0, NOW()), +(uuid(), 'theme:wave', 'blGAAnonymizeIPs', 'googleanalytics', '', 0, NOW()), +(uuid(), 'theme:wave', 'sLogoFile', 'logo', '', 0, NOW()), +(uuid(), 'theme:wave', 'blUseGAEcommerceTracking', 'googleanalytics', '', 0, NOW()), +(uuid(), 'theme:wave', 'sLogoWidth', 'logo', '', 0, NOW()), +(uuid(), 'theme:wave', 'sLogoHeight', 'logo', '', 0, NOW()), +(uuid(), 'theme:wave', 'sFaviconFile', 'favicons', '', 1, NOW()), +(uuid(), 'theme:wave', 'sFavicon16File', 'favicons', '', 2, NOW()), +(uuid(), 'theme:wave', 'sFavicon32File', 'favicons', '', 3, NOW()), +(uuid(), 'theme:wave', 'sFavicon48File', 'favicons', '', 4, NOW()), +(uuid(), 'theme:wave', 'sFavicon64File', 'favicons', '', 5, NOW()), +(uuid(), 'theme:wave', 'sFavicon128File', 'favicons', '', 6, NOW()), +(uuid(), 'theme:wave', 'sFavicon512File', 'favicons', '', 7, NOW()), +(uuid(), 'theme:wave', 'sFaviconMSTileColor', 'favicons', '', 8, NOW()), +(uuid(), 'theme:wave', 'sEmailLogo', 'logo', '', 3, NOW()), +(uuid(), 'theme:wave', 'sBlogUrl', 'footer', '', 0, NOW()), +(uuid(), 'theme:wave', 'sGooglePlusUrl', 'footer', '', 0, NOW()), +(uuid(), 'theme:wave', 'blUseBackground', 'background', '', 1, NOW()), +(uuid(), 'theme:wave', 'sBackgroundColor', 'background', '', 2, NOW()), +(uuid(), 'theme:wave', 'sBackgroundPath', 'background', '', 3, NOW()), +(uuid(), 'theme:wave', 'sBackgroundRepeat', 'background', 'no-repeat|repeat-x|repeat-y|repeat', 4, NOW()), +(uuid(), 'theme:wave', 'sBackgroundPosHorizontal', 'background', 'left|right|center', 5, NOW()), +(uuid(), 'theme:wave', 'sBackgroundPosVertical', 'background', 'top|bottom|center', 6, NOW()), +(uuid(), 'theme:wave', 'sBackgroundSize', 'background', 'cover|contain|normal', 7, NOW()), +(uuid(), 'theme:wave', 'blBackgroundAttachment', 'background', '', 8, NOW()), +(uuid(), 'theme:wave', 'blUseGoogleTS', 'googlets', '', 1, NOW()), +(uuid(), 'theme:wave', 'sGoogleVendorId', 'googlets', '', 2, NOW()), +(uuid(), 'theme:wave', 'sGoogleShoppingAccountId', 'googlets', '', 4, NOW()), +(uuid(), 'theme:wave', 'sPageLanguage', 'googlets', '', 5, NOW()), +(uuid(), 'theme:wave', 'sShoppingCountry', 'googlets', '', 6, NOW()), +(uuid(), 'theme:wave', 'sShoppingLanguage', 'googlets', '', 7, NOW()), +(uuid(), 'theme:wave', 'sShippingDaysOnStock', 'googlets', '', 8, NOW()), +(uuid(), 'theme:wave', 'sShippingDaysNotOnStock', 'googlets', '', 9, NOW()), +(uuid(), 'theme:wave', 'sDeliveryDaysOnStock', 'googlets', '', 10, NOW()), +(uuid(), 'theme:wave', 'sDeliveryDaysNotOnStock', 'googlets', '', 11, NOW()), +(uuid(), 'theme:wave', 'blSliderShowImageCaption', 'images', '', 9, NOW()), +(uuid(), 'theme:wave', 'blFullwidthLayout', 'display', '', 10, NOW()), +(uuid(), 'theme:wave', 'blFooterShowHelp', 'footer', '', 1, NOW()), +(uuid(), 'theme:wave', 'blFooterShowLinks', 'footer', '', 2, NOW()), +(uuid(), 'theme:wave', 'blFooterShowNewsletter', 'footer', '', 4, NOW()), +(uuid(), 'theme:wave', 'blFooterShowNewsletterForm', 'footer', '', 5, NOW()), +(uuid(), 'theme:wave', 'blEmailsShowProductPictures', 'emails', '', 1, NOW()), +(uuid(), 'theme:wave', 'blFooterShowNews', 'footer', '', 6, NOW()); \ No newline at end of file diff --git a/theme.php b/theme.php new file mode 100644 index 0000000..e3b6a62 --- /dev/null +++ b/theme.php @@ -0,0 +1,499 @@ + 'moga', + 'title' => 'moga', + 'description' => 'moga - Bootstrap 5 playground.', + 'thumbnail' => 'moga.png', + 'version' => '1.0.0', + 'author' => 'concepts and creations', + 'settings' => array( +//DISPLAY + array( + 'group' => 'display', + 'name' => 'aNrofCatArticles', + 'type' => 'arr', + 'value' => array("20"), + ), + array( + 'group' => 'display', + 'name' => 'aNrofCatArticlesInGrid', + 'type' => 'arr', + 'value' => array("20"), + ), + array( + 'group' => 'display', + 'name' => 'blShowBirthdayFields', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'display', + 'name' => 'blShowFinalStep', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'display', + 'name' => 'blShowListDisplayType', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'display', + 'name' => 'iNewBasketItemMessage', + 'type' => 'select', + 'value' => 'str', + 'constraints' => '0|1|2|3', + ), + array( + 'group' => 'display', + 'name' => 'sDefaultListDisplayType', + 'type' => 'select', + 'value' => 'grid', + 'constraints' => 'line|grid', + ), + array( + 'group' => 'display', + 'name' => 'sHeaderWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + ), + array( + 'group' => 'display', + 'name' => 'sFooterWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + ), + +//STARTSEITE + array( + 'group' => 'startpage', + 'name' => 'sStartPageListDisplayType', + 'type' => 'select', + 'value' => 'grid', + 'constraints' => 'line|grid', + 'position' => 0, + ), + array( + 'group' => 'startpage', + 'name' => 'sPromosliderWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + 'position' => 1, + ), + array( + 'group' => 'startpage', + 'name' => 'bl_showManufacturer', + 'type' => 'bool', + 'value' => 1, + 'position' => 10, + ), + array( + 'group' => 'startpage', + 'name' => 'sManufacturerWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + 'position' => 11, + ), + + array( + 'group' => 'startpage', + 'name' => 'sShowBargain', + 'type' => 'bool', + 'value' => 1, + 'position' => 30, + ), + array( + 'group' => 'startpage', + 'name' => 'sBargainWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + 'position' => 31, + ), + array( + 'group' => 'startpage', + 'name' => 'sShowNewest', + 'type' => 'bool', + 'value' => 1, + 'position' => 40, + ), + array( + 'group' => 'startpage', + 'name' => 'sNewestWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + 'position' => 41, + ), + array( + 'group' => 'startpage', + 'name' => 'sShowTop', + 'type' => 'bool', + 'value' => 1, + 'position' => 50, + ), + array( + 'group' => 'startpage', + 'name' => 'sTopWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + 'position' => 51, + ), + +//KATEGORIEN + array( + 'group' => 'pop', + 'name' => 'sHeaderImageWidth', + 'type' => 'select', + 'value' => 'w100c100', + 'constraints' => 'w100c100|container', + 'position' => 1, + ), + array( + 'group' => 'pop', + 'name' => 'sShowPopBreadcrump', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'pop', + 'name' => 'sCategoryWidth', + 'type' => 'select', + 'value' => 'w100cContainer', + 'constraints' => 'w100cContainer|w100c100|container', + 'position' => 2, + ), + + +//FUNKTIONEN + array( + 'group' => 'features', + 'name' => 'bl_showCompareList', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'features', + 'name' => 'bl_showGiftWrapping', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'features', + 'name' => 'bl_showListmania', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'features', + 'name' => 'bl_showVouchers', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'features', + 'name' => 'bl_showWishlist', + 'type' => 'bool', + 'value' => 1, + ), + +//E-MAIL + array( + 'group' => 'emails', + 'name' => 'blEmailsShowProductPictures', + 'type' => 'bool', + 'value' => 0, + ), + +//FOOTER + array( + 'group' => 'footer', + 'name' => 'blFooterShowHelp', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'footer', + 'name' => 'blFooterShowLinks', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'footer', + 'name' => 'blFooterShowNews', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'footer', + 'name' => 'blFooterShowNewsletter', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'footer', + 'name' => 'blFooterShowNewsletterForm', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'footer', + 'name' => 'sBlogUrl', + 'type' => 'str', + 'value' => 'https://wordpress.org', + ), + array( + 'group' => 'footer', + 'name' => 'sFacebookUrl', + 'type' => 'str', + 'value' => 'https://www.facebook.com', + ), + array( + 'group' => 'footer', + 'name' => 'sInstagramUrl', + 'type' => 'str', + 'value' => 'https://instagram.com', + ), + array( + 'group' => 'footer', + 'name' => 'sTwitterUrl', + 'type' => 'str', + 'value' => 'https://twitter.com', + ), + array( + 'group' => 'footer', + 'name' => 'sYouTubeUrl', + 'type' => 'str', + 'value' => 'https://www.youtube.com', + ), + +//BILDER + array( + 'group' => 'images', + 'name' => 'aDetailImageSizes', + 'type' => 'aarr', + 'value' => array( + 'oxpic1' => '800*600', + 'oxpic2' => '800*600', + 'oxpic3' => '800*600', + 'oxpic4' => '800*600', + 'oxpic5' => '800*600', + 'oxpic6' => '800*600', + 'oxpic7' => '800*600', + 'oxpic8' => '800*600', + 'oxpic9' => '800*600', + 'oxpic10' => '800*600', + 'oxpic11' => '800*600', + 'oxpic12' => '800*600', + ), + ), + array( + 'group' => 'images', + 'name' => 'blSliderShowImageCaption', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'images', + 'name' => 'sCatIconsize', + 'type' => 'str', + 'value' => '400*300', + ), + array( + 'group' => 'images', + 'name' => 'sCatPromotionsize', + 'type' => 'str', + 'value' => '370*107', + ), + array( + 'group' => 'images', + 'name' => 'sCatThumbnailsize', + 'type' => 'str', + 'value' => '1600*500', + ), + array( + 'group' => 'images', + 'name' => 'sIconsize', + 'type' => 'str', + 'value' => '100*100', + ), + array( + 'group' => 'images', + 'name' => 'sManufacturerIconsize', + 'type' => 'str', + 'value' => '100*100', + ), + array( + 'group' => 'images', + 'name' => 'sThumbnailsize', + 'type' => 'str', + 'value' => '500*500', + ), + array( + 'group' => 'images', + 'name' => 'sZoomImageSize', + 'type' => 'str', + 'value' => '1200*1200', + ), + +//LOGO + array( + 'group' => 'logo', + 'name' => 'sEmailLogo', + 'type' => 'str', + 'value' => '', + ), + array( + 'group' => 'logo', + 'name' => 'sLogoFile', + 'type' => 'str', + 'value' => '', + ), + array( + 'group' => 'logo', + 'name' => 'sLogoHeight', + 'type' => 'str', + 'value' => '38', + ), + array( + 'group' => 'logo', + 'name' => 'sLogoWidth', + 'type' => 'str', + 'value' => '200', + ), + +//FAVICON + + array( + 'group' => 'favicons', + 'name' => 'sFavicon16File', + 'type' => 'str', + 'value' => 'favicon-16x16.png', + ), + array( + 'group' => 'favicons', + 'name' => 'sFavicon32File', + 'type' => 'str', + 'value' => 'favicon-32x32.png', + ), + array( + 'group' => 'favicons', + 'name' => 'aAppleTouchIcon', + 'type' => 'str', + 'value' => 'apple-icon-310x310.png', + ), + array( + 'group' => 'favicons', + 'name' => 'sFaviconFile', + 'type' => 'str', + 'value' => 'favicon.ico', + ), + array( + 'group' => 'favicons', + 'name' => 'aOGImage', + 'type' => 'str', + 'value' => 'moga.png', + ), + +//ANALYTICS + array( + 'group' => 'googleanalytics', + 'name' => 'blGAAnonymizeIPs', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'googleanalytics', + 'name' => 'blUseGAEcommerceTracking', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'googleanalytics', + 'name' => 'blUseGAPageTracker', + 'type' => 'bool', + 'value' => 1, + ), + array( + 'group' => 'googleanalytics', + 'name' => 'sGATrackingId', + 'type' => 'str', + 'value' => '', + ), + +//GOOGLE + array( + 'group' => 'googlets', + 'name' => 'blUseGoogleTS', + 'type' => 'bool', + 'value' => 0, + ), + array( + 'group' => 'googlets', + 'name' => 'sDeliveryDaysNotOnStock', + 'type' => 'str', + 'value' => '14', + ), + array( + 'group' => 'googlets', + 'name' => 'sDeliveryDaysOnStock', + 'type' => 'str', + 'value' => '6', + ), + array( + 'group' => 'googlets', + 'name' => 'sGoogleShoppingAccountId', + 'type' => 'str', + 'value' => '', + ), + array( + 'group' => 'googlets', + 'name' => 'sGoogleVendorId', + 'type' => 'str', + 'value' => '', + ), + array( + 'group' => 'googlets', + 'name' => 'sPageLanguage', + 'type' => 'str', + 'value' => 'de_DE', + ), + array( + 'group' => 'googlets', + 'name' => 'sShippingDaysNotOnStock', + 'type' => 'str', + 'value' => '5', + ), + array( + 'group' => 'googlets', + 'name' => 'sShippingDaysOnStock', + 'type' => 'str', + 'value' => '3', + ), + array( + 'group' => 'googlets', + 'name' => 'sShoppingCountry', + 'type' => 'str', + 'value' => 'DE', + ), + array( + 'group' => 'googlets', + 'name' => 'sShoppingLanguage', + 'type' => 'str', + 'value' => 'de', + ), +//KONTAKT + array( + 'group' => 'contact', + 'name' => 'sGoogleMapsAddr', + 'type' => 'str', + 'value' => 'OXID eSales AG, Bertoldstraße 48, 79098 Freiburg', + ), + ), +); diff --git a/tpl/custom/ajax_econda_recommendations.tpl b/tpl/custom/ajax_econda_recommendations.tpl new file mode 100644 index 0000000..f2d730a --- /dev/null +++ b/tpl/custom/ajax_econda_recommendations.tpl @@ -0,0 +1,45 @@ +[{assign var="oConfig" value=$oViewConf->getConfig()}] +[{assign var="sAccountId" value=$oViewConf->getViewThemeParam('sEcondaRecommendationsAID')}] +[{assign var="sClassName" value=$oConfig->getRequestParameter('actcl')}] + +[{if $sAccountId}] + [{* Definieren, welches econda-Widget geladen werden soll *}] + [{if $sClassName == 'start' && $oViewConf->getViewThemeParam('blEcondaRecommendationsStart')}] + [{assign var="sListId" value="recommendationsStart"}] + [{assign var="sWidgetId" value=$oViewConf->getViewThemeParam('sEcondaWidgetIdStart')}] + [{elseif $sClassName == 'alist' && $oViewConf->getViewThemeParam('blEcondaRecommendationsList')}] + [{assign var="sListId" value="recommendationsList"}] + [{assign var="sWidgetId" value=$oViewConf->getViewThemeParam('sEcondaWidgetIdList')}] + [{elseif $sClassName == 'details' && $oViewConf->getViewThemeParam('blEcondaRecommendationsDetails')}] + [{assign var="sListId" value="recommendationsDetails"}] + [{assign var="sWidgetId" value=$oViewConf->getViewThemeParam('sEcondaWidgetIdDetails')}] + [{elseif $sClassName == 'basket' && $oViewConf->getViewThemeParam('blEcondaRecommendationsBasket')}] + [{assign var="sListId" value="recommendationsBasket"}] + [{assign var="sWidgetId" value=$oViewConf->getViewThemeParam('sEcondaWidgetIdBasket')}] + [{/if}] + + [{if $sWidgetId}] + [{* econda-Recommendations abholen *}] + [{assign var="sUrl" value="http://widgets.crosssell.info/eps/crosssell/recommendations.do?aid=`$sAccountId`&wid=`$sWidgetId`&csize=20&start=0&type=cs&widgetdetails=true"}] + [{assign var="oResponse" value=$sUrl|@file_get_contents|json_decode}] + + [{* Prüfen, ob Artikel-IDs zurückgekommen sind *}] + [{if $oResponse && count($oResponse->items)}] + [{*
      [{$oResponse|var_dump}]
      *}] + + [{* Array mit Artikeln aus Response bilden*}] + [{foreach from=$oResponse->items item="oItem"}] + [{capture append="aArticles"}][{$oItem->id}][{/capture}] + [{/foreach}] + + [{* ToDo: Prüfen, ob Artikel anhand der OXID oder Artikelnummer geladen werden müssen. *}] + [{*@var oxArticleList $oArtList *}] + [{assign var="sArticles" value="','"|@implode:$aArticles}] + [{assign var="sViewName" value="oxarticles"|@getViewName}] + [{assign var="oArtList" value="oxArticleList"|@oxNew}] + [{$oArtList->selectString("SELECT * FROM `$sViewName` WHERE OXARTNUM IN('`$sArticles`') AND OXACTIVE = 1")}] + + [{include file="widget/product/list.tpl" listId=$sListId head=$oResponse->widgetdetails->title products=$oArtList}] + [{/if}] + [{/if}] +[{/if}] \ No newline at end of file diff --git a/tpl/custom/dir.txt b/tpl/custom/dir.txt new file mode 100644 index 0000000..7008bd7 --- /dev/null +++ b/tpl/custom/dir.txt @@ -0,0 +1 @@ +Custom template directory. diff --git a/tpl/email/html/footer.tpl b/tpl/email/html/footer.tpl new file mode 100644 index 0000000..1043192 --- /dev/null +++ b/tpl/email/html/footer.tpl @@ -0,0 +1,101 @@ + + + + [{if $oViewConf->getViewThemeParam('sFacebookUrl') || $oViewConf->getViewThemeParam('sGooglePlusUrl') || $oViewConf->getViewThemeParam('sTwitterUrl') || $oViewConf->getViewThemeParam('sYouTubeUrl') || $oViewConf->getViewThemeParam('sBlogUrl')}] + + [{/if}] + + + + + + + + +
      + + + + + + +
      + [{*ToDo*}] +
      + +
      + + + + + + + + + + + \ No newline at end of file diff --git a/tpl/email/html/forgotpwd.tpl b/tpl/email/html/forgotpwd.tpl new file mode 100644 index 0000000..986aaac --- /dev/null +++ b/tpl/email/html/forgotpwd.tpl @@ -0,0 +1,10 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="user" value=$oEmailView->getUser()}] + + +[{include file="email/html/header.tpl" title="DD_FORGOT_PASSWORD_HEADING"|oxmultilangassign}] + +

      [{oxcontent ident="oxupdatepassinfoemail"}]

      + +[{include file="email/html/footer.tpl"}] diff --git a/tpl/email/html/header.tpl b/tpl/email/html/header.tpl new file mode 100644 index 0000000..ee72340 --- /dev/null +++ b/tpl/email/html/header.tpl @@ -0,0 +1,855 @@ + + + + + + + + + + [{block name="email_html_header"}][{/block}] + [{assign var="oConfig" value=$oViewConf->getConfig()}] + + +
      +
      + + + + + +
      +
      + + + + +
      + + + + + + + + +
      + [{assign var="sEmailLogo" value=$oViewConf->getViewThemeParam('sEmailLogo')}] + + [{$shop->oxshops__oxname->value}] + + + [{$title}] +
      +
      +
      +
      + + + + + [{if $editable}][{/if}] + + [{if $oView->isWrapping()}][{/if}] + + + [{/if}] + [{/if}] + [{if $oEr->getErrorClassType() == 'oxArticleInputException'}] + [{if $basketitem->getProductId() == $oEr->getValue('productId')}] + + [{if $editable}][{/if}] + + [{if $oView->isWrapping()}][{/if}] + + + [{/if}] + [{/if}] + [{/foreach}] + [{/block}] + [{* basket items end *}] + [{/foreach}] + + [{block name="checkout_basketcontents_giftwrapping"}] + [{if $oViewConf->getShowGiftWrapping()}] + [{assign var="oCard" value=$oxcmp_basket->getCard()}] + [{if $oCard}] + + [{if $editable}][{/if}] + + + + + + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketfunctions"}][{/block}] + diff --git a/tpl/page/checkout/inc/basketcontents_table.tpl b/tpl/page/checkout/inc/basketcontents_table.tpl new file mode 100644 index 0000000..e2fe50b --- /dev/null +++ b/tpl/page/checkout/inc/basketcontents_table.tpl @@ -0,0 +1,299 @@ +
      + +
      \ No newline at end of file diff --git a/tpl/email/html/invite.tpl b/tpl/email/html/invite.tpl new file mode 100644 index 0000000..eda3d4a --- /dev/null +++ b/tpl/email/html/invite.tpl @@ -0,0 +1,41 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="userinfo" value=$oEmailView->getUser()}] + +[{include file="email/html/header.tpl" title="DD_INVITE_HEADING"|oxmultilangassign}] + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + [{oxmultilang ident="FROM"}] + [{$userinfo->send_name|oxescape}]
      + [{oxmultilang ident="EMAIL"}] + [{$userinfo->send_email|oxescape}]
       
      [{$userinfo->send_message|oxescape|nl2br}]
       
      [{oxmultilang ident="DD_INVITE_LINK"}]: [{$shop->oxshops__oxname->value}]
       
      [{oxmultilang ident="MANY_GREETINGS"}] [{$userinfo->send_name|oxescape}]
      +
      + +[{include file="email/html/footer.tpl"}] diff --git a/tpl/email/html/newsletteroptin.tpl b/tpl/email/html/newsletteroptin.tpl new file mode 100644 index 0000000..dea79af --- /dev/null +++ b/tpl/email/html/newsletteroptin.tpl @@ -0,0 +1,9 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{include file="email/html/header.tpl" title="DD_NEWSLETTER_OPTIN_HEADING"|oxmultilangassign}] + +

      [{oxcontent ident="oxnewsletteremail"}]

      + +[{include file="email/html/footer.tpl"}] \ No newline at end of file diff --git a/tpl/email/html/order_cust.tpl b/tpl/email/html/order_cust.tpl new file mode 100644 index 0000000..3772fb5 --- /dev/null +++ b/tpl/email/html/order_cust.tpl @@ -0,0 +1,541 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="oConf" value=$oViewConf->getConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] +[{assign var="oDelSet" value=$order->getDelSet()}] +[{assign var="basket" value=$order->getBasket()}] +[{assign var="payment" value=$order->getPayment()}] +[{assign var="sOrderId" value=$order->getId()}] +[{assign var="oOrderFileList" value=$oEmailView->getOrderFileList($sOrderId)}] + +[{capture assign="style"}] + table.orderarticles th { + white-space: nowrap; + } + + table.orderarticles th, table.orderarticles td { + border: 1px solid #d4d4d4; + font-size: 13px; + padding:5px; + } + + table.orderarticles { + border-collapse: collapse; + } + + table.orderarticles thead th { + background-color: #ebebeb; + } + + table.orderarticles .odd { + background-color: #ebebeb; + } +[{/capture}] + +[{include file="email/html/header.tpl" title="PAGE_TITLE_ORDER"|oxmultilangassign|cat:" #"|cat:$order->oxorder__oxordernr->value style=$style}] + +[{block name="email_html_order_cust_orderemail"}] +

      + [{if $payment->oxuserpayments__oxpaymentsid->value == "oxempty"}] + [{oxcontent ident="oxuserordernpemail"}] + [{else}] + [{oxcontent ident="oxuserorderemail"}] + [{/if}] +

      +[{/block}] + +[{block name="email_html_order_cust_address"}] + + + + + + + + + +
      +[{/block}] + + + + + getViewThemeParam('blEmailsShowProductPictures')}] colspan="2"[{/if}]>[{oxmultilang ident="PRODUCT"}] + + + + + + + + [{assign var="basketitemlist" value=$basket->getBasketArticles()}] + + [{foreach key=basketindex from=$basket->getContents() item=basketitem}] + [{block name="email_html_order_cust_basketitem"}] + [{assign var="basketproduct" value=$basketitemlist.$basketindex}] + + + [{if $oViewConf->getViewThemeParam('blEmailsShowProductPictures')}] + + [{/if}] + + + + + + + [{/block}] + [{/foreach}] + + + [{assign var="iFooterColspan" value=4}] + [{if $oViewConf->getViewThemeParam('blEmailsShowProductPictures')}] + [{assign var="iFooterColspan" value=5}] + [{/if}] + [{block name="email_html_order_cust_voucherdiscount_top"}] + [{if $oViewConf->getShowVouchers() && $basket->getVoucherDiscValue()}] + + + + + [{foreach from=$order->getVoucherList() item=voucher}] + [{assign var="voucherseries" value=$voucher->getSerie()}] + + + + + [{/foreach}] + [{/if}] + [{/block}] + + [{if !$basket->getDiscounts()}] + [{block name="email_html_order_cust_nodiscounttotalnet"}] + + + + + + [{/block}] + [{block name="email_html_order_cust_nodiscountproductvats"}] + + [{foreach from=$basket->getProductVats(false) item=VATitem key=key}] + + + + + [{/foreach}] + [{/block}] + + [{block name="email_html_order_cust_nodiscounttotalgross"}] + + + + + + [{/block}] + [{/if}] + + [{if $basket->getDiscounts()}] + [{if $order->isNettoMode()}] + [{block name="email_html_order_cust_discounttotalnet"}] + + + + + + [{/block}] + [{else}] + [{block name="email_html_order_cust_discounttotalgross"}] + + + + + + [{/block}] + [{/if}] + + [{block name="email_html_order_cust_discounts"}] + + [{foreach from=$basket->getDiscounts() item=oDiscount}] + + + + + [{/foreach}] + [{/block}] + + [{if !$order->isNettoMode()}] + [{block name="email_html_order_cust_totalnet"}] + + + + + + [{/block}] + [{/if}] + + [{block name="email_html_order_cust_productvats"}] + + [{foreach from=$basket->getProductVats() item=VATitem key=key}] + + + + + [{/foreach}] + [{/block}] + + [{if $order->isNettoMode()}] + [{block name="email_html_order_cust_totalbrut"}] + + + + + + [{/block}] + [{/if}] + [{/if}] + + [{block name="email_html_order_cust_voucherdiscount"}] + + [{if $oViewConf->getShowVouchers() && $basket->getVoucherDiscValue()}] + + + + + [{/if}] + [{/block}] + + [{block name="email_html_order_cust_delcosts"}] + + [{assign var="oDeliveryCost" value=$basket->getDeliveryCost()}] + [{if $oDeliveryCost && $oDeliveryCost->getPrice() > 0}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForDelivery')}] + + + + + [{if $oDeliveryCost->getVatValue()}] + + [{if $basket->isProportionalCalculationOn()}] + + [{else}] + + [{/if}] + + + [{/if}] + [{else}] + + + + + [{/if}] + [{/if}] + [{/block}] + + [{block name="email_html_order_cust_paymentcosts"}] + + [{if $basket->getPayCostNet()}] + + + + + + [{if $basket->getPayCostVat()}] + + [{if $basket->isProportionalCalculationOn()}] + + [{else}] + [{assign var="iPayCostVatPercent" value=$basket->getPayCostVatPercent()}] + + [{/if}] + + + [{/if}] + [{elseif $basket->getFPaymentCosts()}] + + + + + [{/if}] + [{/block}] + + [{if $oViewConf->getShowGiftWrapping()}] + [{block name="email_html_order_cust_wrappingcosts"}] + + [{if $basket->getWrappCostNet()}] + + + + + [{if $basket->getWrappCostVat()}] + + + + + [{/if}] + [{elseif $basket->getFWrappingCosts()}] + + + + + [{/if}] + [{/block}] + + [{block name="email_html_order_cust_giftwrapping"}] + + [{if $basket->getGiftCardCostNet()}] + + + + + [{if $basket->getGiftCardCostVat()}] + + [{if $basket->isProportionalCalculationOn()}] + + [{else}] + [{assign var="iGiftCardCostVatPercent" value=$basket->getGiftCardCostVatPercent()}] + + [{/if}] + + + [{/if}] + [{elseif $basket->getFGiftCardCosts()}] + + + + + [{/if}] + [{/block}] + [{/if}] + + [{block name="email_html_order_cust_grandtotal"}] + + + + + + [{/block}] + +
      [{oxmultilang ident="UNIT_PRICE"}][{oxmultilang ident="QUANTITY"}][{oxmultilang ident="VAT"}][{oxmultilang ident="TOTAL"}]
      + [{$basketitem->getTitle()|strip_tags}] + +

      + [{$basketitem->getTitle()}] + [{if $basketitem->getChosenSelList()}] +

        + [{foreach from=$basketitem->getChosenSelList() item=oList}] +
      • [{$oList->name}] [{$oList->value}]
      • + [{/foreach}] +
      + [{/if}] + [{if $basketitem->getPersParams()}] +
        + [{foreach key=sVar from=$basketitem->getPersParams() item=aParam}] +
      • [{$sVar}] : [{$aParam}]
      • + [{/foreach}] +
      + [{/if}] +
      +

      + [{oxmultilang ident="PRODUCT_NO" suffix="COLON"}] [{$basketproduct->oxarticles__oxartnum->value}] +

      + [{if $oViewConf->getShowGiftWrapping()}] + [{assign var="oWrapping" value=$basketitem->getWrapping()}] +

      + [{oxmultilang ident="GIFT_WRAPPING"}]:  + [{if !$basketitem->getWrappingId()}] + [{oxmultilang ident="NONE"}] + [{else}] + [{$oWrapping->oxwrapping__oxname->value}] + [{/if}] +

      + [{/if}] + + [{if $blShowReviewLink}] +

      + [{oxmultilang ident="PRODUCT_REVIEW"}] +

      + [{/if}] +

      +
      +

      + [{if $basketitem->getFUnitPrice()}][{$basketitem->getFUnitPrice()}] [{$currency->sign}][{/if}] + [{if !$basketitem->isBundle()}] + [{assign var=dRegUnitPrice value=$basketitem->getRegularUnitPrice()}] + [{assign var=dUnitPrice value=$basketitem->getUnitPrice()}] + [{if $dRegUnitPrice->getPrice() > $dUnitPrice->getPrice()}] +
      [{$basketitem->getFRegularUnitPrice()}] [{$currency->sign}] + [{/if}] + [{/if}] +

      + + [{if $basketitem->aDiscounts}] +

      + [{oxmultilang ident="DISCOUNT"}] + [{foreach from=$basketitem->aDiscounts item=oDiscount}] +
      [{$oDiscount->sDiscount}] + [{/foreach}] +
      +

      + [{/if}] + + [{if $basketproduct->oxarticles__oxorderinfo->value}] + [{$basketproduct->oxarticles__oxorderinfo->value}] + [{/if}] +
      + [{$basketitem->getAmount()}] + [{$basketitem->getVatPercent()}]% + [{$basketitem->getFTotalPrice()}] [{$currency->sign}] +
      + [{oxmultilang ident="USED_COUPONS"}] + + [{oxmultilang ident="REBATE"}] +
      [{$voucher->oxvouchers__oxvouchernr->value}][{$voucherseries->oxvoucherseries__oxdiscount->value}] [{if $voucherseries->oxvoucherseries__oxdiscounttype->value == "absolute"}][{$currency->sign}][{else}]%[{/if}]
      [{oxmultilang ident="TOTAL_NET"}][{$basket->getProductsNetPrice()}] [{$currency->sign}]
      [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}][{oxprice price=$VATitem currency=$currency}]
      [{oxmultilang ident="TOTAL_GROSS"}][{$basket->getFProductsPrice()}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_NET"}][{$basket->getProductsNetPrice()}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_GROSS"}][{$basket->getFProductsPrice()}] [{$currency->sign}]
      [{if $oDiscount->dDiscount < 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DISCOUNT"}][{/if}] [{$oDiscount->sDiscount}] :[{if $oDiscount->dDiscount < 0}][{$oDiscount->fDiscount|replace:"-":""}][{else}]-[{$oDiscount->fDiscount}][{/if}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_NET"}][{$basket->getProductsNetPrice()}] [{$currency->sign}]
      [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}][{oxprice price=$VATitem currency=$currency}]
      [{oxmultilang ident="TOTAL_GROSS"}][{$basket->getFProductsPrice()}] [{$currency->sign}]
      [{oxmultilang ident="COUPON"}][{if $basket->getFVoucherDiscountValue() > 0}]-[{/if}][{$basket->getFVoucherDiscountValue()|replace:"-":""}] [{$currency->sign}]
      [{oxmultilang ident="SHIPPING_NET" suffix="COLON"}][{oxprice price=$oDeliveryCost->getNettoPrice() currency=$currency}]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT" suffix="COLON"}][{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$oDeliveryCost->getVat()}][{oxprice price=$oDeliveryCost->getVatValue() currency=$currency}]
      [{oxmultilang ident="SHIPPING_COST" suffix="COLON"}][{oxprice price=$oDeliveryCost->getBruttoPrice() currency=$currency}]
      [{if $basket->getPaymentCosts() >= 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DEDUCTION"}][{/if}] [{oxmultilang ident="PAYMENT_METHOD"}][{$basket->getPayCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}]:[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$iPayCostVatPercent}][{$basket->getPayCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="SURCHARGE"}]:[{$basket->getFPaymentCosts()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_WRAPPING_COSTS_NET"}]:[{$basket->getWrappCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="PLUS_VAT"}]:[{$basket->getWrappCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="GIFT_WRAPPING"}]:[{$basket->getFWrappingCosts()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_GIFTCARD_COSTS_NET"}]:[{$basket->getGiftCardCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}]:[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$iGiftCardCostVatPercent}][{$basket->getGiftCardCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="GREETING_CARD"}]:[{$basket->getFGiftCardCosts()}] [{$currency->sign}]
      [{oxmultilang ident="GRAND_TOTAL"}][{$basket->getFPrice()}] [{$currency->sign}]
      +
      + +[{block name="email_html_order_cust_giftwrapping"}] + [{if $oViewConf->getShowGiftWrapping() && $basket->getCard()}] + [{assign var="oCard" value=$basket->getCard()}] + + + + + + + + + +
      + [{oxmultilang ident="YOUR_GREETING_CARD"}] +
      + [{$oCard->oxwrapping__oxname->value}] + [{oxmultilang ident="WHAT_I_WANTED_TO_SAY"}]

      [{$basket->getCardMessage()}]
      + [{/if}] +[{/block}] + +

      + +[{block name="email_html_order_cust_userremark"}] + [{if $order->oxorder__oxremark->value}] +

      [{oxmultilang ident="WHAT_I_WANTED_TO_SAY"}]

      +

      [{$order->oxorder__oxremark->value|oxescape}]

      +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_cust_download_link"}] + [{if $oOrderFileList}] +

      [{oxmultilang ident="MY_DOWNLOADS_DESC"}]

      + [{foreach from=$oOrderFileList item="oOrderFile"}] +

      + [{if $order->oxorder__oxpaid->value || !$oOrderFile->oxorderfiles__oxpurchasedonly->value}] + getId()}]">[{$oOrderFile->oxorderfiles__oxfilename->value}] [{$oOrderFile->getFileSize()|oxfilesize}] + [{else}] + [{$oOrderFile->oxorderfiles__oxfilename->value}] + [{oxmultilang ident="DOWNLOADS_PAYMENT_PENDING"}] + [{/if}] +

      + [{/foreach}] +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_cust_paymentinfo_top"}] + [{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}] +

      [{oxmultilang ident="PAYMENT_METHOD"}]

      +

      + [{$payment->oxpayments__oxdesc->value}] [{if $basket->getPaymentCosts()}]([{$basket->getFPaymentCosts()}] [{$currency->sign}])[{/if}] +

      +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_cust_username"}] +

      [{oxmultilang ident="EMAIL_ADDRESS"}]

      +

      [{$user->oxuser__oxusername->value}]

      +
      +[{/block}] + +[{block name="email_html_order_cust_deliveryinfo"}] + [{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}] +

      [{oxmultilang ident="SELECTED_SHIPPING_CARRIER"}]

      +

      + [{$order->oDelSet->oxdeliveryset__oxtitle->value}] +

      +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_cust_paymentinfo"}] + [{if $payment->oxuserpayments__oxpaymentsid->value == "oxidpayadvance"}] +

      [{oxmultilang ident="BANK_DETAILS"}]

      +

      + [{oxmultilang ident="BANK"}] [{$shop->oxshops__oxbankname->value}]
      + [{oxmultilang ident="BANK_CODE"}] [{$shop->oxshops__oxbankcode->value}]
      + [{oxmultilang ident="BANK_ACCOUNT_NUMBER"}] [{$shop->oxshops__oxbanknumber->value}]
      + [{oxmultilang ident="BIC"}] [{$shop->oxshops__oxbiccode->value}]
      + [{oxmultilang ident="IBAN"}] [{$shop->oxshops__oxibannumber->value}] +

      +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_cust_orderemailend"}] +

      [{oxcontent ident="oxuserorderemailend"}]

      +[{/block}] + +[{include file="email/html/footer.tpl"}] diff --git a/tpl/email/html/order_owner.tpl b/tpl/email/html/order_owner.tpl new file mode 100644 index 0000000..364f752 --- /dev/null +++ b/tpl/email/html/order_owner.tpl @@ -0,0 +1,469 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="oConf" value=$oViewConf->getConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] +[{assign var="basket" value=$order->getBasket()}] +[{assign var="oDelSet" value=$order->getDelSet()}] +[{assign var="payment" value=$order->getPayment()}] + +[{capture assign="style"}] + table.orderarticles th { + white-space: nowrap; + } + + table.orderarticles th, table.orderarticles td { + border: 1px solid #d4d4d4; + font-size: 13px; + padding:5px; + } + + table.orderarticles { + border-collapse: collapse; + } + + table.orderarticles thead th { + background-color: #ebebeb; + } + + table.orderarticles .odd { + background-color: #ebebeb; + white-space: nowrap; + } +[{/capture}] + +[{include file="email/html/header.tpl" title="PAGE_TITLE_ORDER"|oxmultilangassign|cat:" #"|cat:$order->oxorder__oxordernr->value style=$style}] + +[{block name="email_html_order_owner_orderemail"}] +

      + [{if $payment->oxuserpayments__oxpaymentsid->value == "oxempty"}] + [{oxcontent ident="oxadminordernpemail"}] + [{else}] + [{oxcontent ident="oxadminorderemail"}] + [{/if}] +

      +[{/block}] + + +[{block name="email_html_order_owner_address"}] + + + + + + + + + +
      +[{/block}] + + + + + getViewThemeParam('blEmailsShowProductPictures')}] colspan="2"[{/if}]>[{oxmultilang ident="PRODUCT"}] + + + + + + + + + [{assign var="basketitemlist" value=$basket->getBasketArticles()}] + [{foreach key=basketindex from=$basket->getContents() item=basketitem}] + [{block name="email_html_order_owner_basketitem"}] + [{assign var="basketproduct" value=$basketitemlist.$basketindex}] + + [{if $oViewConf->getViewThemeParam('blEmailsShowProductPictures')}] + + [{/if}] + + + + + + + [{/block}] + [{/foreach}] + [{block name="email_html_order_owner_giftwrapping"}] + [{if $basket->oCard}] + + + + + [{/if}] + [{/block}] + + + [{assign var="iFooterColspan" value=4}] + [{if $oViewConf->getViewThemeParam('blEmailsShowProductPictures')}] + [{assign var="iFooterColspan" value=5}] + [{/if}] + [{block name="email_html_order_owner_voucherdiscount_top"}] + [{if $oViewConf->getShowVouchers()}] + [{if $basket->getVoucherDiscValue()}] + + + + + [{/if}] + [{foreach from=$order->getVoucherList() item=voucher}] + [{assign var="voucherseries" value=$voucher->getSerie()}] + + + + + [{/foreach}] + [{/if}] + [{/block}] + [{if !$basket->getDiscounts()}] + [{block name="email_html_order_owner_nodiscounttotalnet"}] + + + + + + [{/block}] + [{block name="email_html_order_owner_nodiscountproductvats"}] + + [{foreach from=$basket->getProductVats() item=VATitem key=key}] + + + + + [{/foreach}] + [{/block}] + + [{block name="email_html_order_owner_nodiscounttotalgross"}] + + + + + + [{/block}] + [{/if}] + + + [{if $basket->getDiscounts()}] + [{if $order->isNettoMode()}] + [{block name="email_html_order_cust_discounttotalnet"}] + + + + 0 + + [{/block}] + [{else}] + [{block name="email_html_order_cust_discounttotalgross"}] + + + + + + [{/block}] + [{/if}] + + [{block name="email_html_order_owner_discounts"}] + + [{foreach from=$basket->getDiscounts() item=oDiscount}] + + + + + [{/foreach}] + [{/block}] + + [{if !$order->isNettoMode()}] + [{block name="email_html_order_cust_totalnet"}] + + + + + + [{/block}] + [{/if}] + + [{block name="email_html_order_owner_productvats"}] + + [{foreach from=$basket->getProductVats() item=VATitem key=key}] + + + + + [{/foreach}] + [{/block}] + + [{if $order->isNettoMode()}] + [{block name="email_html_order_cust_totalbrut"}] + + + + + + [{/block}] + [{/if}] + [{/if}] + + [{block name="email_html_order_owner_voucherdiscount"}] + + [{if $oViewConf->getShowVouchers() && $basket->getVoucherDiscValue()}] + + + + + [{/if}] + [{/block}] + + [{block name="email_html_order_owner_delcosts"}] + + [{if $basket->getDelCostNet()}] + + + + + [{if $basket->getDelCostVat()}] + + [{if $basket->isProportionalCalculationOn()}] + + [{else}] + + [{/if}] + + + [{/if}] + [{elseif $basket->getFDeliveryCosts()}] + + + + + [{/if}] + [{/block}] + + [{block name="email_html_order_owner_paymentcosts"}] + + [{if $basket->getPayCostNet()}] + + + + + + [{if $basket->getPayCostVat()}] + + [{if $basket->isProportionalCalculationOn()}] + + [{else}] + + [{/if}] + + + [{/if}] + [{elseif $basket->getFPaymentCosts()}] + + + + + [{/if}] + [{/block}] + + [{if $oViewConf->getShowGiftWrapping()}] + [{block name="email_html_order_owner_wrappingcosts"}] + + [{if $basket->getWrappCostNet()}] + + + + + [{if $basket->getWrappCostVat()}] + + + + + [{/if}] + [{elseif $basket->getFWrappingCosts()}] + + + + + [{/if}] + [{/block}] + + [{block name="email_html_order_owner_giftwrapping"}] + + [{if $basket->getGiftCardCostNet()}] + + + + + [{if $basket->getGiftCardCostVat()}] + + [{if $basket->isProportionalCalculationOn()}] + + [{else}] + + [{/if}] + + + [{/if}] + [{elseif $basket->getFGiftCardCosts()}] + + + + + [{/if}] + [{/block}] + [{/if}] + + [{block name="email_html_order_owner_grandtotal"}] + + + + + + [{/block}] + +
      [{oxmultilang ident="UNIT_PRICE"}][{oxmultilang ident="QUANTITY"}][{oxmultilang ident="VAT"}][{oxmultilang ident="TOTAL"}]
      + [{$basketitem->getTitle()|strip_tags}] + +

      + [{$basketitem->getTitle()}] + [{if $basketitem->getChosenSelList()}], + [{foreach from=$basketitem->getChosenSelList() item=oList}] + [{$oList->name}] [{$oList->value}]  + [{/foreach}] + [{/if}] + [{if $basketitem->getPersParams()}] + [{foreach key=sVar from=$basketitem->getPersParams() item=aParam}] + , [{$sVar}] : [{$aParam}] + [{/foreach}] + [{/if}] +
      [{oxmultilang ident="PRODUCT_NO" suffix="COLON"}] [{$basketproduct->oxarticles__oxartnum->value}] + + [{if $oViewConf->getShowGiftWrapping()}] + [{assign var="oWrapping" value=$basketitem->getWrapping()}] +
      [{oxmultilang ident="GIFT_WRAPPING"}]: [{if !$basketitem->getWrappingId()}][{oxmultilang ident="NONE"}][{else}][{$oWrapping->oxwrapping__oxname->value}][{/if}] + [{/if}] +

      +
      +

      + [{if $basketitem->getFUnitPrice()}][{$basketitem->getFUnitPrice()}] [{$currency->sign}][{/if}] + [{if !$basketitem->isBundle()}] + [{assign var=dRegUnitPrice value=$basketitem->getRegularUnitPrice()}] + [{assign var=dUnitPrice value=$basketitem->getUnitPrice()}] + [{if $dRegUnitPrice->getPrice() > $dUnitPrice->getPrice()}] +
      [{$basketitem->getFRegularUnitPrice()}] [{$currency->sign}] + [{/if}] + [{/if}] + [{if $basketitem->aDiscounts}]

      + [{oxmultilang ident="DISCOUNT"}] + [{foreach from=$basketitem->aDiscounts item=oDiscount}] +
      [{$oDiscount->sDiscount}] + [{/foreach}] +
      + [{/if}] + [{if $basketproduct->oxarticles__oxorderinfo->value}] + [{$basketproduct->oxarticles__oxorderinfo->value}] + [{/if}] +

      +
      [{$basketitem->getAmount()}][{$basketitem->getVatPercent()}]% + [{$basketitem->getFTotalPrice()}] [{$currency->sign}] +
      + [{$basket->oCard->oxwrapping__oxname->value}] + + [{oxmultilang ident="ATENTION_GREETING_CARD"}]
      + [{oxmultilang ident="WHAT_I_WANTED_TO_SAY"}] +

      + [{$basket->getCardMessage()}] +
      [{oxmultilang ident="USED_COUPONS"}][{oxmultilang ident="REBATE"}]
      [{$voucher->oxvouchers__oxvouchernr->value}][{$voucherseries->oxvoucherseries__oxdiscount->value}] [{if $voucherseries->oxvoucherseries__oxdiscounttype->value == "absolute"}][{$currency->sign}][{else}]%[{/if}]
      [{oxmultilang ident="TOTAL_NET"}][{$basket->getProductsNetPrice()}] [{$currency->sign}]
      [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}][{ $VATitem }] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_GROSS"}][{$basket->getFProductsPrice()}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_NET"}][{$basket->getProductsNetPrice()}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_GROSS"}][{$basket->getFProductsPrice()}] [{$currency->sign}]
      [{if $oDiscount->dDiscount < 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DISCOUNT"}][{/if}] [{$oDiscount->sDiscount}]:[{if $oDiscount->dDiscount < 0}][{$oDiscount->fDiscount|replace:"-":""}][{else}]-[{$oDiscount->fDiscount}][{/if}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_NET"}][{$basket->getProductsNetPrice()}] [{$currency->sign}]
      [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}][{$VATitem}] [{$currency->sign}]
      [{oxmultilang ident="TOTAL_GROSS"}][{$basket->getFProductsPrice()}] [{$currency->sign}]
      [{oxmultilang ident="COUPON"}][{if $basket->getFVoucherDiscountValue() > 0}]-[{/if}][{$basket->getFVoucherDiscountValue()|replace:"-":""}] [{$currency->sign}]
      [{oxmultilang ident="SHIPPING_NET"}][{$basket->getDelCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}]:[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getDelCostVatPercent()}][{$basket->getDelCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="SHIPPING_COST"}][{$basket->getFDeliveryCosts()}] [{$currency->sign}]
      [{if $basket->getPaymentCosts() >= 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DEDUCTION"}][{/if}] [{oxmultilang ident="PAYMENT_METHOD"}][{$basket->getPayCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}]:[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getPayCostVatPercent()}][{$basket->getPayCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="SURCHARGE"}]:[{$basket->getFPaymentCosts()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_WRAPPING_COSTS_NET"}]:[{$basket->getWrappCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="PLUS_VAT"}]:[{$basket->getWrappCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="GIFT_WRAPPING"}]:[{$basket->getFWrappingCosts()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_GIFTCARD_COSTS_NET"}]:[{$basket->getGiftCardCostNet()}] [{$currency->sign}]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}]:[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getGiftCardCostVatPercent()}][{$basket->getGiftCardCostVat()}] [{$currency->sign}]
      [{oxmultilang ident="GREETING_CARD"}]:[{$basket->getFGiftCardCosts()}] [{$currency->sign}]
      + [{oxmultilang ident="GRAND_TOTAL"}] + + [{$basket->getFPrice()}] [{$currency->sign}] +
      + +
      + +[{block name="email_html_order_owner_userremark"}] + [{if $order->oxorder__oxremark->value}] +

      [{oxmultilang ident="MESSAGE"}]

      +

      [{$order->oxorder__oxremark->value|oxescape}]

      +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_owner_paymentinfo"}] + [{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}] +

      [{oxmultilang ident="PAYMENT_INFORMATION"}]

      +

      + [{oxmultilang ident="PAYMENT_METHOD"}] [{$payment->oxpayments__oxdesc->value}] [{if $basket->getPaymentCosts()}]([{$basket->getFPaymentCosts()}] [{$currency->sign}])[{/if}] +

      +
      + [{/if}] +[{/block}] + +[{block name="email_html_order_owner_username"}] +

      [{oxmultilang ident="EMAIL_ADDRESS"}]

      +

      [{$user->oxuser__oxusername->value}]

      +
      +[{/block}] + +[{block name="email_html_order_owner_deliveryinfo"}] + [{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}] +

      [{oxmultilang ident="SELECTED_SHIPPING_CARRIER"}]

      +

      [{$oDelSet->oxdeliveryset__oxtitle->value}]

      +
      + [{/if}] +[{/block}] + +[{include file="email/html/footer.tpl"}] diff --git a/tpl/email/html/ordershipped.tpl b/tpl/email/html/ordershipped.tpl new file mode 100644 index 0000000..ce734cd --- /dev/null +++ b/tpl/email/html/ordershipped.tpl @@ -0,0 +1,103 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] + +[{capture assign="style"}] + table.orderarticles th { + white-space: nowrap; + } + + table.orderarticles th, table.orderarticles td { + border: 1px solid #d4d4d4; + font-size: 13px; + padding:5px; + } + + table.orderarticles { + border-collapse: collapse; + } + + table.orderarticles thead th { + background-color: #ebebeb; + } +[{/capture}] + +[{include file="email/html/header.tpl" title="DD_ORDERSHIPPED_HEADING"|oxmultilangassign|cat:" #"|cat:$order->oxorder__oxordernr->value style=$style}] + + [{block name="email_html_ordershipped_sendemail"}] + [{oxcontent ident="oxordersendemail"}] + [{/block}] + + [{block name="email_html_ordershipped_infoheader"}] +

      [{oxmultilang ident="SHIPPING_ADDRESS"}]

      + [{/block}] + + [{block name="email_html_ordershipped_address"}] +

      + [{if $order->oxorder__oxdellname->value}] + [{$order->oxorder__oxdelcompany->value}]
      + [{$order->oxorder__oxdelfname->value}] [{$order->oxorder__oxdellname->value}]
      + [{$order->oxorder__oxdelstreet->value}] [{$order->oxorder__oxdelstreetnr->value}]
      + [{$order->oxorder__oxdelstateid->value}] + [{$order->oxorder__oxdelzip->value}] [{$order->oxorder__oxdelcity->value}] + [{else}] + [{$order->oxorder__oxbillcompany->value}]
      + [{$order->oxorder__oxbillfname->value}] [{$order->oxorder__oxbilllname->value}]
      + [{$order->oxorder__oxbillstreet->value}] [{$order->oxorder__oxbillstreetnr->value}]
      + [{$order->oxorder__oxbillstateid->value}] + [{$order->oxorder__oxbillzip->value}] [{$order->oxorder__oxbillcity->value}] + [{/if}] +

      +
      + [{/block}] + + [{block name="email_html_ordershipped_oxordernr"}] +

      [{oxmultilang ident="ORDER_NUMBER" suffix="COLON"}] [{$order->oxorder__oxordernr->value}]

      + [{/block}] + + + + + + + [{if $blShowReviewLink}] + + [{/if}] + + + + [{block name="email_html_ordershipped_orderarticles"}] + [{foreach from=$order->getOrderArticles(true) item=oOrderArticle}] + + + + [{if $blShowReviewLink}] + + [{/if}] + + [{/foreach}] + [{/block}] + +
      [{oxmultilang ident="QUANTITY"}][{oxmultilang ident="PRODUCT"}][{oxmultilang ident="PRODUCT_RATING"}]
      [{$oOrderArticle->oxorderarticles__oxamount->value}] + [{$oOrderArticle->oxorderarticles__oxtitle->value}] [{$oOrderArticle->oxorderarticles__oxselvariant->value}] +
      [{oxmultilang ident="PRODUCT_NO" suffix="COLON"}] [{$oOrderArticle->oxorderarticles__oxartnum->value}] +
      +

      + [{oxmultilang ident="REVIEW"}] +

      +
      + +
      + + [{block name="email_html_ordershipped_infofooter"}] +

      [{oxmultilang ident="YOUR_TEAM" args=$shop->oxshops__oxname->value}]

      +
      + [{/block}] + + [{block name="email_html_ordershipped_shipmenttrackingurl"}] + [{if $order->getShipmentTrackingUrl()}] +

      [{oxmultilang ident="SHIPMENT_TRACKING" suffix="COLON"}] [{oxmultilang ident="CLICK_HERE"}]

      +
      + [{/if}] + [{/block}] + +[{include file="email/html/footer.tpl"}] diff --git a/tpl/email/html/owner_reminder.tpl b/tpl/email/html/owner_reminder.tpl new file mode 100644 index 0000000..815e1f7 --- /dev/null +++ b/tpl/email/html/owner_reminder.tpl @@ -0,0 +1,58 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] + +[{capture assign="style"}] + table.orderarticles th { + background-color: #ebebeb; + white-space: nowrap; + } + + table.orderarticles th, table.orderarticles td { + border: 1px solid #d4d4d4; + font-size: 13px; + padding:5px; + } + + table.orderarticles { + border-collapse: collapse; + } +[{/capture}] + +[{include file="email/html/header.tpl" title="STOCK_LOW"|oxmultilangassign style=$style}] + +

      [{oxmultilang ident="MESSAGE_STOCK_LOW"}]

      + + + + + + + + + + [{foreach from=$articles item=oProduct}] + + + + + + [{/foreach}] + +
      [{oxmultilang ident="PRODUCT"}][{oxmultilang ident="QUANTITY"}]
      + [{$oProduct->oxarticles__oxtitle->value|strip_tags}] + +

      + [{$oProduct->oxarticles__oxtitle->value}][{if $oProduct->oxarticles__oxvarselect->value}], [{$oProduct->oxarticles__oxvarselect->value}][{/if}] + [{if $chosen_selectlist}] + , + [{foreach from=$chosen_selectlist item=oList}] + [{$oList->name}] [{$oList->value}]  + [{/foreach}] + [{/if}] +
      + [{oxmultilang ident="PRODUCT_NO" suffix="COLON"}] [{$oProduct->oxarticles__oxartnum->value}] +

      +
      [{$oProduct->oxarticles__oxstock->value}] ([{$oProduct->oxarticles__oxremindamount->value}])
      +
      + +[{include file="email/html/footer.tpl"}] \ No newline at end of file diff --git a/tpl/email/html/pricealarm_owner.tpl b/tpl/email/html/pricealarm_owner.tpl new file mode 100644 index 0000000..9b738f3 --- /dev/null +++ b/tpl/email/html/pricealarm_owner.tpl @@ -0,0 +1,10 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{include file="email/html/header.tpl" title="DD_PRICEALARM_HEADING"|oxmultilangassign}] + +[{oxcontent ident="oxpricealarmemail"}]
      + +[{include file="email/html/footer.tpl"}] \ No newline at end of file diff --git a/tpl/email/html/register.tpl b/tpl/email/html/register.tpl new file mode 100644 index 0000000..fb30203 --- /dev/null +++ b/tpl/email/html/register.tpl @@ -0,0 +1,9 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{include file="email/html/header.tpl" title="DD_REGISTER_HEADING"|oxmultilangassign}] + +[{oxcontent ident=$contentident|default:"oxregisteremail"}]
      + +[{include file="email/html/footer.tpl"}] \ No newline at end of file diff --git a/tpl/email/html/senddownloadlinks.tpl b/tpl/email/html/senddownloadlinks.tpl new file mode 100644 index 0000000..095e245 --- /dev/null +++ b/tpl/email/html/senddownloadlinks.tpl @@ -0,0 +1,41 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="sOrderId" value=$order->getId()}] +[{assign var="oOrderFileList" value=$oEmailView->getOrderFileList($sOrderId)}] + +[{include file="email/html/header.tpl" title="DD_DOWNLOADLINKS_HEADING"|oxmultilangassign|cat:" #"|cat:$order->oxorder__oxordernr->value}] + +[{block name="email_html_senddownloadlinks_infoheader"}] + [{oxmultilang ident="EMAIL_SENDDOWNLOADS_GREETING"}] [{$order->oxorder__oxbillsal->value|oxmultilangsal}] [{$order->oxorder__oxbillfname->value}] [{$order->oxorder__oxbilllname->value}],
      +
      +[{/block}] + +[{block name="email_html_senddownloadlinks_oxordernr"}][{/block}] + +[{if $oOrderFileList}] + [{block name="email_html_senddownloadlinks_download_header"}] +

      [{oxmultilang ident="MY_DOWNLOADS_DESC"}]

      + [{/block}] + [{block name="email_html_senddownloadlinks_download_link"}] + [{foreach from=$oOrderFileList item="oOrderFile"}] +
        +
      • + [{if $order->oxorder__oxpaid->value != "0000-00-00 00:00:00" || !$oOrderFile->oxorderfiles__oxpurchasedonly->value}] + getId()}]">[{$oOrderFile->oxorderfiles__oxfilename->value}] [{$oOrderFile->getFileSize()|oxfilesize}] + [{else}] + [{$oOrderFile->oxorderfiles__oxfilename->value}] + [{oxmultilang ident="DOWNLOADS_PAYMENT_PENDING"}] + [{/if}] +
      • +
      + [{/foreach}] +
      + [{/block}] +[{/if}] + +[{block name="email_html_senddownloadlinks_infofooter"}] +

      [{oxmultilang ident="YOUR_TEAM" args=$shop->oxshops__oxname->value}]

      +
      +[{/block}] + +[{include file="email/html/footer.tpl"}] diff --git a/tpl/email/html/suggest.tpl b/tpl/email/html/suggest.tpl new file mode 100644 index 0000000..d65b3ba --- /dev/null +++ b/tpl/email/html/suggest.tpl @@ -0,0 +1,62 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="userInfo" value=$oEmailView->getUser()}] + +[{include file="email/html/header.tpl" title="DD_INVITE_HEADING"|oxmultilangassign}] + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + [{oxmultilang ident="FROM"}] + [{$userInfo->send_name|oxescape}]
      + [{oxmultilang ident="EMAIL"}] + [{$userInfo->send_email|oxescape}]
       
      + [{oxmultilang ident="TO"}] + [{$userInfo->rec_name|oxescape}]
      + [{oxmultilang ident="EMAIL"}] + [{$userInfo->rec_email|oxescape}]
       
      [{$userInfo->send_message|oxescape|nl2br}]
      +
      + +

      [{oxmultilang ident="MANY_GREETINGS"}] [{$userInfo->send_name|oxescape}]

      +
      + +

      + [{$product->oxarticles__oxtitle->value}] + [{if $product->oxarticles__oxshortdesc->value}] +
      [{$product->oxarticles__oxshortdesc->value}] + [{/if}] +

      +
      + +

      + + [{$product->oxarticles__oxtitle->value|strip_tags}] + +

      +
      + +[{include file="email/html/footer.tpl"}] \ No newline at end of file diff --git a/tpl/email/html/wishlist.tpl b/tpl/email/html/wishlist.tpl new file mode 100644 index 0000000..ac68ea4 --- /dev/null +++ b/tpl/email/html/wishlist.tpl @@ -0,0 +1,18 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="userInfo" value=$oEmailView->getUser()}] + +[{include file="email/html/header.tpl" title="DD_WISHLIST_HEADING"|oxmultilangassign}] + +

      [{$userInfo->send_message|oxescape}]

      +
      + +

      [{oxmultilang ident="TO_MY_WISHLIST"}] [{oxmultilang ident="CLICK_HERE"}]

      +
      + +

      [{oxmultilang ident="WITH_LOVE"}]

      + +

      [{$userInfo->send_name|oxescape}]

      +
      + +[{include file="email/html/footer.tpl"}] \ No newline at end of file diff --git a/tpl/email/plain/forgotpwd.tpl b/tpl/email/plain/forgotpwd.tpl new file mode 100644 index 0000000..dcf8562 --- /dev/null +++ b/tpl/email/plain/forgotpwd.tpl @@ -0,0 +1,3 @@ +[{oxcontent ident="oxupdatepassinfoplainemail"}] + +[{oxcontent ident="oxemailfooterplain"}] \ No newline at end of file diff --git a/tpl/email/plain/invite.tpl b/tpl/email/plain/invite.tpl new file mode 100644 index 0000000..9519319 --- /dev/null +++ b/tpl/email/plain/invite.tpl @@ -0,0 +1,11 @@ +[{oxmultilang ident="INVITE_TO_SHOP"}] [{$userinfo->send_name}], [{oxmultilang ident="EMAIL_INVITE_HTML_INVITETOSHOP2"}] [{$shop->oxshops__oxname->getRawValue()}] [{oxmultilang ident="EMAIL_INVITE_HTML_INVITETOSHOP3"}] +[{oxmultilang ident="FROM"}] [{$userinfo->send_name}] +[{oxmultilang ident="EMAIL"}] [{$userinfo->send_email}] + +[{$userinfo->send_message}] + +[{$sHomeUrl}] + +[{oxmultilang ident="MANY_GREETINGS"}] [{$userinfo->send_name}] + +[{oxcontent ident="oxemailfooterplain"}] \ No newline at end of file diff --git a/tpl/email/plain/newsletteroptin.tpl b/tpl/email/plain/newsletteroptin.tpl new file mode 100644 index 0000000..820447a --- /dev/null +++ b/tpl/email/plain/newsletteroptin.tpl @@ -0,0 +1,7 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{oxcontent ident="oxnewsletterplainemail"}] + +[{oxcontent ident="oxemailfooterplain"}] \ No newline at end of file diff --git a/tpl/email/plain/order_cust.tpl b/tpl/email/plain/order_cust.tpl new file mode 100644 index 0000000..2bf7f78 --- /dev/null +++ b/tpl/email/plain/order_cust.tpl @@ -0,0 +1,256 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] +[{assign var="oDelSet" value=$order->getDelSet()}] +[{assign var="basket" value=$order->getBasket()}] +[{assign var="payment" value=$order->getPayment()}] +[{assign var="sOrderId" value=$order->getId()}] +[{assign var="oOrderFileList" value=$oEmailView->getOrderFileList($sOrderId)}] + +[{block name="email_plain_order_cust_orderemail"}] +[{if $payment->oxuserpayments__oxpaymentsid->value == "oxempty"}] +[{oxcontent ident="oxuserordernpplainemail"}] +[{else}] +[{oxcontent ident="oxuserorderplainemail"}] +[{/if}] +[{/block}] + +[{oxmultilang ident="ORDER_NUMBER"}] [{$order->oxorder__oxordernr->value}] + +[{block name="email_plain_order_cust_voucherdiscount_top"}] +[{if $oViewConf->getShowVouchers()}] +[{foreach from=$order->getVoucherList() item=voucher}] +[{assign var="voucherseries" value=$voucher->getSerie()}] +[{oxmultilang ident="USED_COUPONS"}] [{$voucher->oxvouchers__oxvouchernr->value}] - [{oxmultilang ident="DISCOUNT"}] [{$voucherseries->oxvoucherseries__oxdiscount->value}] [{if $voucherseries->oxvoucherseries__oxdiscounttype->value == "absolute"}][{$currency->sign}][{else}]%[{/if}] +[{/foreach}] +[{/if}] +[{/block}] + +[{assign var="basketitemlist" value=$basket->getBasketArticles()}] +[{foreach key=basketindex from=$basket->getContents() item=basketitem}] +[{block name="email_plain_order_cust_basketitem"}] +[{assign var="basketproduct" value=$basketitemlist.$basketindex}] +[{$basketproduct->oxarticles__oxtitle->getRawValue()|strip_tags}][{if $basketproduct->oxarticles__oxvarselect->value}], [{$basketproduct->oxarticles__oxvarselect->value}][{/if}] +[{if $basketitem->getChosenSelList()}][{foreach from=$basketitem->getChosenSelList() item=oList}] + +[{$oList->name}] [{$oList->value}] + +[{/foreach}][{/if}] +[{if $basketitem->getPersParams()}] +[{foreach key=sVar from=$basketitem->getPersParams() item=aParam}] + +[{$sVar}] : [{$aParam}] +[{/foreach}] +[{/if}] +[{if $oViewConf->getShowGiftWrapping()}] +[{assign var="oWrapping" value=$basketitem->getWrapping()}] + +[{oxmultilang ident="GIFT_WRAPPING"}] [{if !$basketitem->getWrappingId()}][{oxmultilang ident="NONE"}][{else}][{$oWrapping->oxwrapping__oxname->value}][{/if}] +[{/if}] +[{if $basketproduct->oxarticles__oxorderinfo->value}] +[{$basketproduct->oxarticles__oxorderinfo->getRawValue()}] +[{/if}] + +[{assign var=dRegUnitPrice value=$basketitem->getRegularUnitPrice()}] +[{assign var=dUnitPrice value=$basketitem->getUnitPrice()}] +[{oxmultilang ident="UNIT_PRICE"}] [{$basketitem->getFUnitPrice()}] [{$currency->name}] [{if !$basketitem->isBundle()}][{if $dRegUnitPrice->getPrice() > $dUnitPrice->getPrice()}] ([{$basketitem->getFRegularUnitPrice()}] [{$currency->sign}]) [{/if}][{/if}] + +[{oxmultilang ident="QUANTITY"}] [{$basketitem->getAmount()}] +[{oxmultilang ident="VAT"}] [{$basketitem->getVatPercent()}]% +[{oxmultilang ident="TOTAL"}] [{$basketitem->getFTotalPrice()}] [{$currency->name}] +[{/block}] +[{/foreach}] +------------------------------------------------------------------ +[{if !$basket->getDiscounts()}] +[{block name="email_plain_order_cust_nodiscounttotalnet"}] +[{* netto price *}] +[{oxmultilang ident="TOTAL_NET"}] [{$basket->getProductsNetPrice()}] [{$currency->name}] +[{/block}] +[{block name="email_plain_order_cust_nodiscountproductvats"}] +[{* VATs *}] +[{foreach from=$basket->getProductVats() item=VATitem key=key}] +[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}] [{$VATitem}] [{$currency->name}] +[{/foreach}] +[{/block}] +[{block name="email_plain_order_cust_nodiscounttotalgross"}] +[{* brutto price *}] +[{oxmultilang ident="TOTAL_GROSS"}] [{$basket->getFProductsPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{* applied discounts *}] +[{if $basket->getDiscounts()}] +[{if $order->isNettoMode()}] +[{block name="email_plain_order_ownerdiscounttotalnet"}] +[{* netto price *}] +[{oxmultilang ident="TOTAL_NET"}] [{$basket->getProductsNetPrice()}] [{$currency->name}] +[{/block}] +[{else}] +[{block name="email_plain_order_discountownertotalgross"}] +[{* brutto price *}] +[{oxmultilang ident="TOTAL_GROSS"}] [{$basket->getFProductsPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{block name="email_plain_order_cust_discounts"}] +[{foreach from=$basket->getDiscounts() item=oDiscount}] +[{if $oDiscount->dDiscount < 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DISCOUNT"}][{/if}] [{$oDiscount->sDiscount}]: [{if $oDiscount->dDiscount < 0}][{$oDiscount->fDiscount|replace:"-":""}][{else}]-[{$oDiscount->fDiscount}][{/if}] [{$currency->name}] +[{/foreach}] +[{/block}] +[{if !$order->isNettoMode()}] +[{block name="email_plain_order_cust_totalnet"}] +[{* netto price *}] +[{oxmultilang ident="TOTAL_NET"}] [{$basket->getProductsNetPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{block name="email_plain_order_cust_productvats"}] +[{* VATs *}] +[{foreach from=$basket->getProductVats() item=VATitem key=key}] +[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}] [{$VATitem}] [{$currency->name}] +[{/foreach}] +[{/block}] +[{/if}] +[{if $order->isNettoMode()}] +[{block name="email_plain_order_ownertotalgross"}] +[{* brutto price *}] +[{oxmultilang ident="TOTAL_GROSS"}] [{$basket->getFProductsPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{block name="email_plain_order_cust_voucherdiscount"}] +[{* voucher discounts *}] +[{if $oViewConf->getShowVouchers() && $basket->getVoucherDiscValue()}] +[{oxmultilang ident="COUPON"}] [{if $basket->getFVoucherDiscountValue() > 0}]-[{/if}][{$basket->getFVoucherDiscountValue()|replace:"-":""}] [{$currency->name}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_delcosts"}] +[{* delivery costs *}] +[{if $basket->getDelCostNet()}] + [{oxmultilang ident="SHIPPING_NET" suffix="COLON"}] [{$basket->getDelCostNet()}] [{$currency->sign}] + [{if $basket->getDelCostVat()}] [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}] [{else}] [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getDelCostVatPercent()}][{/if}] [{$basket->getDelCostVat()}] [{$currency->sign}] +[{elseif $basket->getFDeliveryCosts()}] + [{oxmultilang ident="SHIPPING_COST"}] [{$basket->getFDeliveryCosts()}] [{$currency->sign}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_paymentcosts"}] +[{* payment sum *}] +[{if $basket->getPayCostNet()}] + [{if $basket->getPaymentCosts() >= 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DEDUCTION"}][{/if}] [{oxmultilang ident="PAYMENT_METHOD"}] [{$basket->getPayCostNet()}] [{$currency->sign}] + [{if $basket->getPayCostVat()}] + [{if $basket->isProportionalCalculationOn()}] [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}][{else}] [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getPayCostVatPercent()}][{/if}] [{$basket->getPayCostVat()}] [{$currency->sign}] + [{/if}] +[{elseif $basket->getFPaymentCosts()}] + [{oxmultilang ident="SURCHARGE"}] [{$basket->getFPaymentCosts()}] [{$currency->sign}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_wrappingcosts"}] +[{* Gift wrapping *}] +[{if $oViewConf->getShowGiftWrapping()}] + [{if $basket->getWrappCostNet()}] + [{oxmultilang ident="BASKET_TOTAL_WRAPPING_COSTS_NET"}] [{$basket->getWrappCostNet()}] [{$currency->sign}] + [{if $basket->getWrappCostVat()}] + [{oxmultilang ident="PLUS_VAT"}] [{$basket->getWrappCostVat()}] [{$currency->sign}] + [{/if}] + [{elseif $basket->getFWrappingCosts()}] + [{oxmultilang ident="GIFT_WRAPPING"}] [{$basket->getFWrappingCosts()}] [{$currency->sign}] + [{/if}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_giftwrapping"}] +[{* Greeting card *}] +[{if $oViewConf->getShowGiftWrapping()}] + [{if $basket->getGiftCardCostNet()}] + [{oxmultilang ident="BASKET_TOTAL_GIFTCARD_COSTS_NET"}] [{$basket->getGiftCardCostNet()}] [{$currency->sign}] + [{if $basket->getGiftCardCostVat()}] + [{if $basket->isProportionalCalculationOn()}][{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}][{else}] [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getGiftCardCostVatPercent()}][{/if}] [{$basket->getGiftCardCostVat()}] [{$currency->sign}] + [{/if}] + [{elseif $basket->getFGiftCardCosts()}] + [{oxmultilang ident="GREETING_CARD"}] [{$basket->getFGiftCardCosts()}] [{$currency->sign}] + [{/if}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_grandtotal"}] +[{* grand total price *}] +[{oxmultilang ident="GRAND_TOTAL"}] [{$basket->getFPrice()}] [{$currency->name}] + +[{if $basket->getCard()}] + [{oxmultilang ident="YOUR_GREETING_CARD"}] + [{$basket->getCardMessage()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_userremark"}] +[{if $order->oxorder__oxremark->value}] + [{oxmultilang ident="WHAT_I_WANTED_TO_SAY"}] [{$order->oxorder__oxremark->getRawValue()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_download_link"}] +[{if $oOrderFileList}] + [{oxmultilang ident="MY_DOWNLOADS_DESC"}] + [{foreach from=$oOrderFileList item="oOrderFile"}] + [{if $order->oxorder__oxpaid->value || !$oOrderFile->oxorderfiles__oxpurchasedonly->value}] + [{oxgetseourl ident=$oViewConf->getSelfLink()|cat:"cl=download" params="sorderfileid="|cat:$oOrderFile->getId()}] + [{else}] + [{$oOrderFile->oxorderfiles__oxfilename->value}] [{oxmultilang ident="DOWNLOADS_PAYMENT_PENDING"}] + [{/if}] + [{/foreach}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_paymentinfo"}] +[{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}] + [{oxmultilang ident="PAYMENT_METHOD"}] [{$payment->oxpayments__oxdesc->getRawValue()}] [{if $basket->getPaymentCosts()}]([{$basket->getFPaymentCosts()}] [{$currency->sign}])[{/if}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_username"}] +[{oxmultilang ident="EMAIL_ADDRESS"}] [{$user->oxuser__oxusername->value}] +[{/block}] + +[{block name="email_plain_order_cust_address"}] +[{oxmultilang ident="BILLING_ADDRESS"}] +[{$order->oxorder__oxbillcompany->getRawValue()}] +[{$order->oxorder__oxbillsal->value|oxmultilangsal}] [{$order->oxorder__oxbillfname->getRawValue()}] [{$order->oxorder__oxbilllname->getRawValue()}] +[{if $order->oxorder__oxbilladdinfo->value}][{$order->oxorder__oxbilladdinfo->getRawValue()}][{/if}] +[{$order->oxorder__oxbillstreet->getRawValue()}] [{$order->oxorder__oxbillstreetnr->value}] +[{$order->oxorder__oxbillstateid->value}] +[{$order->oxorder__oxbillzip->value}] [{$order->oxorder__oxbillcity->getRawValue()}] +[{$order->oxorder__oxbillcountry->getRawValue()}] +[{if $order->oxorder__oxbillustid->value}][{oxmultilang ident="VAT_ID_NUMBER"}] [{$order->oxorder__oxbillustid->value}][{/if}] +[{oxmultilang ident="PHONE"}] [{$order->oxorder__oxbillfon->value}] + +[{if $order->oxorder__oxdellname->value}][{oxmultilang ident="SHIPPING_ADDRESS"}] +[{$order->oxorder__oxdelcompany->getRawValue()}] +[{$order->oxorder__oxdelsal->value|oxmultilangsal}] [{$order->oxorder__oxdelfname->getRawValue()}] [{$order->oxorder__oxdellname->getRawValue()}] +[{if $order->oxorder__oxdeladdinfo->value}][{$order->oxorder__oxdeladdinfo->getRawValue()}][{/if}] +[{$order->oxorder__oxdelstreet->getRawValue()}] [{$order->oxorder__oxdelstreetnr->value}] +[{$order->oxorder__oxdelstateid->getRawValue()}] +[{$order->oxorder__oxdelzip->value}] [{$order->oxorder__oxdelcity->getRawValue()}] +[{$order->oxorder__oxdelcountry->getRawValue()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_deliveryinfo"}] +[{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}][{oxmultilang ident="SHIPPING_CARRIER" suffix="COLON"}] [{$order->oDelSet->oxdeliveryset__oxtitle->getRawValue()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_paymentinfo"}] +[{if $payment->oxuserpayments__oxpaymentsid->value == "oxidpayadvance"}] +[{oxmultilang ident="BANK"}] [{$shop->oxshops__oxbankname->getRawValue()}]
      +[{oxmultilang ident="BANK_CODE"}] [{$shop->oxshops__oxbankcode->value}]
      +[{oxmultilang ident="BANK_ACCOUNT_NUMBER"}] [{$shop->oxshops__oxbanknumber->value}]
      +[{oxmultilang ident="BIC"}] [{$shop->oxshops__oxbiccode->value}]
      +[{oxmultilang ident="IBAN"}] [{$shop->oxshops__oxibannumber->value}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_orderemailend"}] +[{oxcontent ident="oxuserorderemailendplain"}] +[{/block}] + +[{oxcontent ident="oxemailfooterplain"}] diff --git a/tpl/email/plain/order_owner.tpl b/tpl/email/plain/order_owner.tpl new file mode 100644 index 0000000..086a42a --- /dev/null +++ b/tpl/email/plain/order_owner.tpl @@ -0,0 +1,213 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] +[{assign var="basket" value=$order->getBasket()}] +[{assign var="oDelSet" value=$order->getDelSet()}] +[{assign var="payment" value=$order->getPayment()}] + +[{block name="email_plain_order_owner_orderemail"}] +[{if $payment->oxuserpayments__oxpaymentsid->value == "oxempty"}] +[{oxcontent ident="oxadminordernpplainemail"}] +[{else}] +[{oxcontent ident="oxadminorderplainemail"}] +[{/if}] +[{/block}] + +[{oxmultilang ident="ORDER_NUMBER"}] [{$order->oxorder__oxordernr->value}] + +[{block name="email_plain_order_owner_voucherdiscount_top"}] +[{if $oViewConf->getShowVouchers()}] +[{foreach from=$order->getVoucherList() item=voucher}] +[{assign var="voucherseries" value=$voucher->getSerie()}] +[{oxmultilang ident="USED_COUPONS"}] [{$voucher->oxvouchers__oxvouchernr->value}] - [{oxmultilang ident="DISCOUNT"}] [{$voucherseries->oxvoucherseries__oxdiscount->value}] [{if $voucherseries->oxvoucherseries__oxdiscounttype->value == "absolute"}][{$currency->sign}][{else}]%[{/if}] +[{/foreach}] +[{/if}] +[{/block}] + +[{assign var="basketitemlist" value=$basket->getBasketArticles()}] +[{foreach key=basketindex from=$basket->getContents() item=basketitem}] +[{block name="email_plain_order_ownerbasketitem"}] +[{assign var="basketproduct" value=$basketitemlist.$basketindex}] +[{$basketproduct->oxarticles__oxtitle->getRawValue()|strip_tags}][{if $basketproduct->oxarticles__oxvarselect->value}], [{$basketproduct->oxarticles__oxvarselect->value}][{/if}] +[{if $basketitem->getChosenSelList()}][{foreach from=$basketitem->getChosenSelList() item=oList}][{$oList->name}] [{$oList->value}][{/foreach}][{/if}] +[{if $basketitem->getPersParams()}][{foreach key=sVar from=$basketitem->getPersParams() item=aParam}][{$sVar}] : [{$aParam}][{/foreach}][{/if}] +[{if $oViewConf->getShowGiftWrapping()}] +[{assign var="oWrapping" value=$basketitem->getWrapping()}] +[{oxmultilang ident="GIFT_WRAPPING"}] [{if !$basketitem->getWrappingId()}][{oxmultilang ident="NONE"}][{else}][{$oWrapping->oxwrapping__oxname->getRawValue()}][{/if}] +[{/if}] +[{if $basketproduct->oxarticles__oxorderinfo->value}][{$basketproduct->oxarticles__oxorderinfo->getRawValue()}][{/if}] + +[{assign var=dRegUnitPrice value=$basketitem->getRegularUnitPrice()}] +[{assign var=dUnitPrice value=$basketitem->getUnitPrice()}] +[{oxmultilang ident="UNIT_PRICE"}] [{$basketitem->getFUnitPrice()}] [{$currency->name}] [{if !$basketitem->isBundle()}] [{if $dRegUnitPrice->getPrice() > $dUnitPrice->getPrice()}] ([{$basketitem->getFRegularUnitPrice()}] [{$currency->sign}]) [{/if}][{/if}] +[{oxmultilang ident="QUANTITY"}] [{$basketitem->getAmount()}] +[{oxmultilang ident="VAT"}] [{$basketitem->getVatPercent()}]% +[{oxmultilang ident="TOTAL"}] [{$basketitem->getFTotalPrice()}] [{$currency->name}] +[{/block}] +[{/foreach}] +------------------------------------------------------------------ +[{if !$basket->getDiscounts()}] +[{block name="email_plain_order_ownernodiscounttotalnet"}] +[{* netto price *}] +[{oxmultilang ident="TOTAL_NET"}] [{$basket->getProductsNetPrice()}] [{$currency->name}] +[{/block}] +[{block name="email_plain_order_ownernodiscountproductvats"}] +[{* VATs *}] +[{foreach from=$basket->getProductVats() item=VATitem key=key}] +[{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}] [{$VATitem}] [{$currency->name}] +[{/foreach}] +[{/block}] +[{block name="email_plain_order_nodiscountownertotalgross"}] +[{* brutto price *}] +[{oxmultilang ident="TOTAL_GROSS"}] [{$basket->getFProductsPrice()}] [{$currency->name}] +[{/block}] +[{/if}] + +[{* applied discounts *}] +[{if $basket->getDiscounts()}] +[{if $order->isNettoMode()}] +[{block name="email_plain_order_ownerdiscounttotalnet"}] +[{* netto price *}] +[{oxmultilang ident="TOTAL_NET"}] [{$basket->getProductsNetPrice()}] [{$currency->name}] +[{/block}] +[{else}] +[{block name="email_plain_order_discountownertotalgross"}] +[{* brutto price *}] +[{oxmultilang ident="TOTAL_GROSS"}] [{$basket->getFProductsPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{block name="email_plain_order_ownerdiscounts"}] + [{foreach from=$basket->getDiscounts() item=oDiscount}] + [{if $oDiscount->dDiscount < 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DISCOUNT"}][{/if}] [{$oDiscount->sDiscount}]: [{if $oDiscount->dDiscount < 0}][{$oDiscount->fDiscount|replace:"-":""}][{else}]-[{$oDiscount->fDiscount}][{/if}] [{$currency->name}] + [{/foreach}] +[{/block}] +[{if !$order->isNettoMode()}] +[{block name="email_plain_order_ownertotalnet"}] + [{* netto price *}] + [{oxmultilang ident="TOTAL_NET"}] [{$basket->getProductsNetPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{block name="email_plain_order_ownerproductvats"}] + [{* VATs *}] + [{foreach from=$basket->getProductVats() item=VATitem key=key}] + [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}] [{$VATitem}] [{$currency->name}] + [{/foreach}] +[{/block}] +[{/if}] +[{if $order->isNettoMode()}] +[{block name="email_plain_order_ownertotalgross"}] +[{* brutto price *}] +[{oxmultilang ident="TOTAL_GROSS"}] [{$basket->getFProductsPrice()}] [{$currency->name}] +[{/block}] +[{/if}] +[{block name="email_plain_order_owner_voucherdiscount"}] +[{* voucher discounts *}] +[{if $oViewConf->getShowVouchers() && $basket->getVoucherDiscValue()}] +[{oxmultilang ident="COUPON"}] [{if $basket->getFVoucherDiscountValue() > 0}]-[{/if}][{$basket->getFVoucherDiscountValue()|replace:"-":""}] [{$currency->name}] +[{/if}] +[{/block}] +[{block name="email_plain_order_ownerdelcosts"}] +[{* delivery costs *}] +[{if $basket->getDelCostNet()}] + [{oxmultilang ident="SHIPPING_NET" suffix="COLON"}] [{$basket->getDelCostNet()}] [{$currency->sign}] + [{if $basket->getDelCostVat()}] [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}] [{else}] [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getDelCostVatPercent()}][{/if}] [{$basket->getDelCostVat()}] [{$currency->sign}] +[{elseif $basket->getFDeliveryCosts()}] + [{oxmultilang ident="SHIPPING_COST"}] [{$basket->getFDeliveryCosts()}] [{$currency->sign}] +[{/if}] +[{/block}] +[{block name="email_plain_order_ownerpaymentcosts"}] +[{* payment sum *}] +[{if $basket->getPayCostNet()}] + [{if $basket->getPaymentCosts() >= 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DEDUCTION"}][{/if}] [{oxmultilang ident="PAYMENT_METHOD"}] [{$basket->getPayCostNet()}] [{$currency->sign}] + [{if $basket->getPayCostVat()}] + [{if $basket->isProportionalCalculationOn()}] [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}][{else}] [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getPayCostVatPercent()}][{/if}] [{$basket->getPayCostVat()}] [{$currency->sign}] + [{/if}] +[{elseif $basket->getFPaymentCosts()}] + [{oxmultilang ident="SURCHARGE"}] [{$basket->getFPaymentCosts()}] [{$currency->sign}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_giftwrapping"}] +[{* Gift wrapping *}] +[{if $oViewConf->getShowGiftWrapping()}] + [{if $basket->getWrappCostNet()}] + [{oxmultilang ident="BASKET_TOTAL_WRAPPING_COSTS_NET"}] [{$basket->getWrappCostNet()}] [{$currency->sign}] + [{if $basket->getWrappCostVat()}] + [{oxmultilang ident="PLUS_VAT"}] [{$basket->getWrappCostVat()}] [{$currency->sign}] + [{/if}] + [{elseif $basket->getFWrappingCosts()}] + [{oxmultilang ident="GIFT_WRAPPING"}] [{$basket->getFWrappingCosts()}] [{$currency->sign}] + [{/if}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_cust_greetingcard"}] +[{* Greeting card *}] +[{if $oViewConf->getShowGiftWrapping()}] + [{if $basket->getGiftCardCostNet()}] + [{oxmultilang ident="BASKET_TOTAL_GIFTCARD_COSTS_NET"}] [{$basket->getGiftCardCostNet()}] [{$currency->sign}] + [{if $basket->getGiftCardCostVat()}] + [{if $basket->isProportionalCalculationOn()}][{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT"}][{else}] [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$basket->getGiftCardCostVatPercent()}][{/if}] [{$basket->getGiftCardCostVat()}] [{$currency->sign}] + [{/if}] + [{elseif $basket->getFGiftCardCosts()}] + [{oxmultilang ident="GREETING_CARD"}] [{$basket->getFGiftCardCosts()}] [{$currency->sign}] + [{/if}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_ownergrandtotal"}] +[{* grand total price *}] +[{oxmultilang ident="GRAND_TOTAL"}] [{$basket->getFPrice()}] [{$currency->name}] +[{if $basket->oCard}] + [{oxmultilang ident="ATENTION_GREETING_CARD"}] + [{oxmultilang ident="WHAT_I_WANTED_TO_SAY"}] + [{$basket->getCardMessage()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_owneruserremark"}] +[{if $order->oxorder__oxremark->value}] +[{oxmultilang ident="MESSAGE"}] [{$order->oxorder__oxremark->getRawValue()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_ownerpaymentinfo"}] +[{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}][{oxmultilang ident="PAYMENT_INFORMATION"}] +[{oxmultilang ident="PAYMENT_METHOD"}][{$payment->oxpayments__oxdesc->getRawValue()}] [{if $basket->getPaymentCosts()}]([{$basket->getFPaymentCosts()}] [{$currency->sign}])[{/if}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_ownerusername"}] +[{oxmultilang ident="EMAIL_ADDRESS"}] [{$user->oxuser__oxusername->value}] +[{/block}] + +[{block name="email_plain_order_owneraddress"}] +[{oxmultilang ident="BILLING_ADDRESS"}] +[{$order->oxorder__oxbillcompany->getRawValue()}] +[{$order->oxorder__oxbillsal->value|oxmultilangsal}] [{$order->oxorder__oxbillfname->getRawValue()}] [{$order->oxorder__oxbilllname->getRawValue()}] +[{if $order->oxorder__oxbilladdinfo->value}][{$order->oxorder__oxbilladdinfo->getRawValue()}][{/if}] +[{$order->oxorder__oxbillstreet->getRawValue()}] [{$order->oxorder__oxbillstreetnr->value}] +[{$order->oxorder__oxbillstateid->value}] +[{$order->oxorder__oxbillzip->value}] [{$order->oxorder__oxbillcity->getRawValue()}] +[{$order->oxorder__oxbillcountry->getRawValue()}] +[{if $order->oxorder__oxbillustid->value}][{oxmultilang ident="VAT_ID_NUMBER"}] [{$order->oxorder__oxbillustid->value}][{/if}] +[{oxmultilang ident="PHONE"}] [{$order->oxorder__oxbillfon->value}] + +[{if $order->oxorder__oxdellname->value}][{oxmultilang ident="SHIPPING_ADDRESS"}] +[{$order->oxorder__oxdelcompany->getRawValue()}] +[{$order->oxorder__oxdelsal->value|oxmultilangsal}] [{$order->oxorder__oxdelfname->getRawValue()}] [{$order->oxorder__oxdellname->getRawValue()}] +[{if $order->oxorder__oxdeladdinfo->value}][{$order->oxorder__oxdeladdinfo->getRawValue()}][{/if}] +[{$order->oxorder__oxdelstreet->getRawValue()}] [{$order->oxorder__oxdelstreetnr->value}] +[{$order->oxorder__oxdelstateid->getRawValue()}] +[{$order->oxorder__oxdelzip->value}] [{$order->oxorder__oxdelcity->getRawValue()}] +[{$order->oxorder__oxdelcountry->getRawValue()}] +[{/if}] +[{/block}] + +[{block name="email_plain_order_ownerdeliveryinfo"}] +[{if $payment->oxuserpayments__oxpaymentsid->value != "oxempty"}][{oxmultilang ident="SHIPPING_CARRIER" suffix="COLON"}] [{$order->oDelSet->oxdeliveryset__oxtitle->getRawValue()}] +[{/if}] +[{/block}] + +[{oxcontent ident="oxemailfooterplain"}] diff --git a/tpl/email/plain/ordershipped.tpl b/tpl/email/plain/ordershipped.tpl new file mode 100644 index 0000000..335be1e --- /dev/null +++ b/tpl/email/plain/ordershipped.tpl @@ -0,0 +1,46 @@ +[{ assign var="shop" value=$oEmailView->getShop() }] +[{ assign var="oViewConf" value=$oEmailView->getViewConfig() }] + +[{block name="email_plain_ordershipped_sendemail"}] +[{ oxcontent ident="oxordersendplainemail" }] +[{/block}] + +[{block name="email_plain_ordershipped_infoheader"}] +[{ oxmultilang ident="ORDER_SHIPPED_TO" suffix="COLON" }] +[{/block}] + +[{block name="email_plain_ordershipped_address"}] +[{if $order->oxorder__oxdellname->value }] + [{ $order->oxorder__oxdelcompany->getRawValue() }] + [{ $order->oxorder__oxdelfname->getRawValue() }] [{ $order->oxorder__oxdellname->getRawValue() }] + [{ $order->oxorder__oxdelstreet->getRawValue() }] [{ $order->oxorder__oxdelstreetnr->value }] + [{ $order->oxorder__oxdelstateid->value }] + [{ $order->oxorder__oxdelzip->value }] [{ $order->oxorder__oxdelcity->getRawValue() }] +[{else}] + [{ $order->oxorder__oxbillcompany->getRawValue() }] + [{ $order->oxorder__oxbillfname->getRawValue() }] [{ $order->oxorder__oxbilllname->getRawValue() }] + [{ $order->oxorder__oxbillstreet->getRawValue() }] [{ $order->oxorder__oxbillstreetnr->value }] + [{ $order->oxorder__oxbillstateid->value }] + [{ $order->oxorder__oxbillzip->value }] [{ $order->oxorder__oxbillcity->getRawValue() }] +[{/if}] +[{/block}] + +[{block name="email_plain_ordershipped_oxordernr"}] +[{ oxmultilang ident="ORDER_NUMBER" suffix="COLON" }] [{ $order->oxorder__oxordernr->value }] +[{/block}] + +[{block name="email_plain_ordershipped_orderarticles"}] +[{foreach from=$order->getOrderArticles(true) item=oOrderArticle}] +[{ $oOrderArticle->oxorderarticles__oxamount->value }] [{ $oOrderArticle->oxorderarticles__oxtitle->getRawValue() }] [{ $oOrderArticle->oxorderarticles__oxselvariant->getRawValue() }] +[{/foreach}] +[{/block}] + +[{block name="email_plain_ordershipped_infofooter"}] +[{ oxmultilang ident="YOUR_TEAM" args=$shop->oxshops__oxname->getRawValue()}] +[{/block}] + +[{block name="email_html_ordershipped_shipmenttrackingurl"}] +[{if $order->getShipmentTrackingUrl()}][{ oxmultilang ident="SHIPMENT_TRACKING" suffix="COLON" }] [{ $order->getShipmentTrackingUrl()}][{/if}] +[{/block}] + +[{ oxcontent ident="oxemailfooterplain" }] \ No newline at end of file diff --git a/tpl/email/plain/pricealarm_owner.tpl b/tpl/email/plain/pricealarm_owner.tpl new file mode 100644 index 0000000..e9b8c2d --- /dev/null +++ b/tpl/email/plain/pricealarm_owner.tpl @@ -0,0 +1,14 @@ + + + + [{oxmultilang ident="PRICE_ALERT_AT"}] [{$shop->oxshops__oxname->value}] + + + +
      + [{$shop->oxshops__oxname->value}]

      + [{oxcontent ident="oxpricealarmemail"}] +

      + [{oxcontent ident="oxemailfooter"}] + + diff --git a/tpl/email/plain/register.tpl b/tpl/email/plain/register.tpl new file mode 100644 index 0000000..e86455a --- /dev/null +++ b/tpl/email/plain/register.tpl @@ -0,0 +1,3 @@ +[{oxcontent ident=$contentplainident|default:"oxregisterplainemail"}] + +[{oxcontent ident="oxemailfooterplain"}] \ No newline at end of file diff --git a/tpl/email/plain/senddownloadlinks.tpl b/tpl/email/plain/senddownloadlinks.tpl new file mode 100644 index 0000000..f5da3e6 --- /dev/null +++ b/tpl/email/plain/senddownloadlinks.tpl @@ -0,0 +1,32 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="sOrderId" value=$order->getId()}] +[{assign var="oOrderFileList" value=$oEmailView->getOrderFileList($sOrderId)}] + +[{include file="email/html/header.tpl" title=$shop->oxshops__oxname->value}] +[{block name="email_html_senddownloadlinks_infoheader"}] + [{oxmultilang ident="EMAIL_SENDDOWNLOADS_GREETING"}], [{$order->oxorder__oxbillsal->value|oxmultilangsal}] [{$order->oxorder__oxbillfname->value}] [{$order->oxorder__oxbilllname->value}], +[{/block}] + +[{block name="email_html_sendednow_oxordernr"}] + [{oxmultilang ident="ORDER_NUMBER" suffix="COLON"}] [{$order->oxorder__oxordernr->value}] +[{/block}] + +[{if $oOrderFileList}] + [{block name="email_html_senddownloadlinks_download_header"}] + [{oxmultilang ident="MY_DOWNLOADS_DESC"}] + [{/block}] + [{block name="email_html_senddownloadlinks_download_link"}] + [{foreach from=$oOrderFileList item="oOrderFile"}] + [{if $order->oxorder__oxpaid->value || !$oOrderFile->oxorderfiles__oxpurchasedonly->value}] + [{oxgetseourl ident=$oViewConf->getSelfLink()|cat:"cl=download" params="sorderfileid="|cat:$oOrderFile->getId()}] [{$oOrderFile->oxorderfiles__oxfilename->value}] + [{else}] + [{$oOrderFile->oxorderfiles__oxfilename->value}] [{oxmultilang ident="DOWNLOADS_PAYMENT_PENDING"}] + [{/if}] + [{/foreach}] + [{/block}] +[{/if}] + +[{block name="email_html_senddownloadlinks_infofooter"}] + [{oxcontent ident="oxemailfooterplain"}] +[{/block}] diff --git a/tpl/email/plain/suggest.tpl b/tpl/email/plain/suggest.tpl new file mode 100644 index 0000000..1fd1cb8 --- /dev/null +++ b/tpl/email/plain/suggest.tpl @@ -0,0 +1,24 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{oxmultilang ident="PRODUCT_POST_CARD_FROM"}] [{$shop->oxshops__oxname->getRawValue()}] + +[{oxmultilang ident="FROM"}] [{$userinfo->send_name}] +[{oxmultilang ident="EMAIL"}] [{$userinfo->send_email}] + +[{oxmultilang ident="TO"}] [{$userinfo->rec_name}] +[{oxmultilang ident="EMAIL"}] [{$userinfo->rec_email}] + +[{$userinfo->send_message}] + +[{oxmultilang ident="MANY_GREETINGS"}] [{$userinfo->send_name}] + +[{oxmultilang ident="RECOMMENDED_PRODUCTS"}] + +[{$product->oxarticles__oxtitle->getRawValue()|strip_tags}] +[{$product->oxarticles__oxshortdesc->getRawValue()}] + +[{oxmultilang ident="CHECK"}] [{$sArticleUrl}] + +[{oxcontent ident="oxemailfooterplain"}] \ No newline at end of file diff --git a/tpl/email/plain/wishlist.tpl b/tpl/email/plain/wishlist.tpl new file mode 100644 index 0000000..a6070d3 --- /dev/null +++ b/tpl/email/plain/wishlist.tpl @@ -0,0 +1,18 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="user" value=$oEmailView->getUser()}] + + +[{oxmultilang ident="GIFT_REGISTRY_OF"}] [{$shop->oxshops__oxname->getRawValue()}] + +[{$userinfo->send_message}] + +[{oxmultilang ident="TO_MY_WISHLIST"}] [{oxmultilang ident="CLICK_HERE"}] + +[{$oViewConf->getBaseDir()}]index.php?cl=wishlist&wishid=[{$userinfo->send_id}] + +[{oxmultilang ident="WITH_LOVE"}] + +[{$userinfo->send_name}] + +[{oxcontent ident="oxemailfooterplain"}] \ No newline at end of file diff --git a/tpl/form/account_newsletter.tpl b/tpl/form/account_newsletter.tpl new file mode 100644 index 0000000..69de3a2 --- /dev/null +++ b/tpl/form/account_newsletter.tpl @@ -0,0 +1,25 @@ +
      + + +
      + +
      + +
      +
      + +
      +
      +

      [{oxmultilang ident="MESSAGE_NEWSLETTER_SUBSCRIPTION"}]

      + +
      +
      +
      \ No newline at end of file diff --git a/tpl/form/contact.tpl b/tpl/form/contact.tpl new file mode 100644 index 0000000..661539a --- /dev/null +++ b/tpl/form/contact.tpl @@ -0,0 +1,122 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +[{assign var="editval" value=$oView->getUserData()}] +
      + + + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxfname}] + + [{block name="contact_form_fields"}] +
      + +
      + [{include + file="form/fieldset/salutation.tpl" + name="editval[oxuser__oxsal]" + value=$editval.oxuser__oxsal + class="form-control selectpicker show-tick " + required=$contactFormFields.salutation.isRequired + }] +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      + [{/block}] + + [{block name="captcha_form"}][{/block}] + + [{block name="contact_form_buttons"}] +
      +
      +

      [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]

      + +
      +
      + [{/block}] +
      diff --git a/tpl/form/fieldset/delete_shipping_address_modal.tpl b/tpl/form/fieldset/delete_shipping_address_modal.tpl new file mode 100644 index 0000000..7e6276b --- /dev/null +++ b/tpl/form/fieldset/delete_shipping_address_modal.tpl @@ -0,0 +1,59 @@ +[{block name="delete_shipping_address_modal"}] + [{if $oxcmp_user}] + [{assign var="userAddresses" value=$oxcmp_user->getUserAddresses()}] + [{/if}] + [{foreach from=$userAddresses item=shippingAddress name="shippingAdresses"}] + [{assign var="shippingAddressNumber" value=$smarty.foreach.shippingAdresses.iteration}] + + [{/foreach}] +[{/block}] + + + diff --git a/tpl/form/fieldset/order_newsletter.tpl b/tpl/form/fieldset/order_newsletter.tpl new file mode 100644 index 0000000..a99e98a --- /dev/null +++ b/tpl/form/fieldset/order_newsletter.tpl @@ -0,0 +1,15 @@ +[{if $blSubscribeNews}] +
      + [{block name="user_billing_newsletter"}] +
      + +
      + +
      + [{oxmultilang ident="MESSAGE_NEWSLETTER_SUBSCRIPTION"}] +
      + [{/block}] +
      +[{/if}] \ No newline at end of file diff --git a/tpl/form/fieldset/order_remark.tpl b/tpl/form/fieldset/order_remark.tpl new file mode 100644 index 0000000..6010e46 --- /dev/null +++ b/tpl/form/fieldset/order_remark.tpl @@ -0,0 +1,8 @@ +[{if $blOrderRemark}] +
      + +
      + +
      +
      +[{/if}] \ No newline at end of file diff --git a/tpl/form/fieldset/salutation.tpl b/tpl/form/fieldset/salutation.tpl new file mode 100644 index 0000000..98c4b71 --- /dev/null +++ b/tpl/form/fieldset/salutation.tpl @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/tpl/form/fieldset/state.tpl b/tpl/form/fieldset/state.tpl new file mode 100644 index 0000000..a87c54c --- /dev/null +++ b/tpl/form/fieldset/state.tpl @@ -0,0 +1,42 @@ +[{if $selectedStateIdPrim}] + [{assign var="selectedStateId" value=$selectedStateIdPrim}] +[{/if}] + +[{assign var="divId" value=oxStateDiv_$stateSelectName}] +[{assign var="stateSelectId" value=oxStateSelect_$stateSelectName}] + +[{if $currCountry}] + [{assign var=showDiv value='true'}] +[{else}] + [{assign var=showDiv value='false'}] +[{/if}] + +[{oxscript include="js/widgets/oxcountrystateselect.min.js" priority=10}] +[{oxscript add="$( '#`$countrySelectId`' ).oxCountryStateSelect({selectedStateId:'`$selectedStateId`', listItem: '.form-group', span: 'div'});"}] +[{oxscript add="$( '#`$countrySelectId`' ).change( function() { $( 'select[name=\"`$stateSelectName`\"]' ).selectpicker('refresh'); } );"}] + + + diff --git a/tpl/form/fieldset/user_account.tpl b/tpl/form/fieldset/user_account.tpl new file mode 100644 index 0000000..7e1ad47 --- /dev/null +++ b/tpl/form/fieldset/user_account.tpl @@ -0,0 +1,41 @@ +
      + [{block name="user_account_username"}] + +
      + +
      +
      + [{/block}] +
      +
      + [{block name="user_account_password"}] + + +
      + +
      +
      + [{/block}] +
      +
      + [{block name="user_account_confirmpwd"}] + +
      + +
      +
      + [{/block}] +
      +
      + [{block name="user_account_newsletter"}] +
      + +
      + +
      + [{oxmultilang ident="MESSAGE_NEWSLETTER_SUBSCRIPTION"}] +
      + [{/block}] +
      \ No newline at end of file diff --git a/tpl/form/fieldset/user_billing.tpl b/tpl/form/fieldset/user_billing.tpl new file mode 100644 index 0000000..1f9183a --- /dev/null +++ b/tpl/form/fieldset/user_billing.tpl @@ -0,0 +1,226 @@ +[{assign var="invadr" value=$oView->getInvoiceAddress()}] +[{assign var="blBirthdayRequired" value=$oView->isFieldRequired(oxuser__oxbirthdate)}] + +[{if isset( $invadr.oxuser__oxbirthdate.month )}] + [{assign var="iBirthdayMonth" value=$invadr.oxuser__oxbirthdate.month}] +[{elseif $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:"/[-]([0-9]{1,2})$/":""}] +[{else}] + [{assign var="iBirthdayMonth" value=0}] +[{/if}] + +[{if isset( $invadr.oxuser__oxbirthdate.day )}] + [{assign var="iBirthdayDay" value=$invadr.oxuser__oxbirthdate.day}] +[{elseif $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] +[{else}] + [{assign var="iBirthdayDay" value=0}] +[{/if}] + +[{if isset( $invadr.oxuser__oxbirthdate.year )}] + [{assign var="iBirthdayYear" value=$invadr.oxuser__oxbirthdate.year}] +[{elseif $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/[-]([0-9]{1,2})[-]([0-9]{1,2})$/":""}] +[{else}] + [{assign var="iBirthdayYear" value=0}] +[{/if}] +[{if isset( $invadr.oxuser__oxsal )}] + [{assign var="oxuser__oxsal" value=$invadr.oxuser__oxsal}] +[{else}] + [{assign var="oxuser__oxsal" value=$oxcmp_user->oxuser__oxsal->value}] +[{/if}] +
      + +
      + [{include file="form/fieldset/salutation.tpl" name="invadr[oxuser__oxsal]" value=$oxuser__oxsal class="form-control" id="invadr_oxuser__oxfname"}] +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxfname)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxfname}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxlname)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxlname}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxcompany)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxcompany}] +
      +
      +
      + +
      + [{assign var="_address_addinfo_tooltip" value="FORM_FIELDSET_USER_BILLING_ADDITIONALINFO_TOOLTIP"|oxmultilangassign}] + +
      + isFieldRequired(oxuser__oxaddinfo)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxaddinfo}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxstreet)}] required=""[{/if}]> +
      +
      + isFieldRequired(oxuser__oxstreetnr)}] required=""[{/if}]> +
      +
      + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxstreet}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxstreetnr}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxzip)}] required=""[{/if}]> +
      +
      + isFieldRequired(oxuser__oxcity)}] required=""[{/if}]> +
      +
      + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxzip}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxcity}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxustid)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxustid}] +
      +
      +
      + +[{block name="form_user_billing_country"}] +
      + +
      + + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxcountryid}] +
      +
      +
      +
      + +
      + [{include file="form/fieldset/state.tpl" + countrySelectId="invCountrySelect" + stateSelectName="invadr[oxuser__oxstateid]" + selectedStateIdPrim=$invadr.oxuser__oxstateid + selectedStateId=$oxcmp_user->oxuser__oxstateid->value + class="form-control" + }] +
      +
      +[{/block}] + +
      + +
      + isFieldRequired(oxuser__oxfon)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxfon}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxfax)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxfax}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxmobfon)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxmobfon}] +
      +
      +
      + +
      + +
      + isFieldRequired(oxuser__oxprivfon)}] required=""[{/if}]> + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxprivfon}] +
      +
      +
      + +[{if $oViewConf->showBirthdayFields()}] +
      + +
      + isFieldRequired(oxuser__oxbirthdate)}] required=""[{/if}]> +
      +
      + +
      +
      + isFieldRequired(oxuser__oxbirthdate)}] required=""[{/if}]> +
      +
      + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxbirthdate}] +
      +
      +
      +[{/if}] + +
      +
      +

      [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]

      +
      +
      + +[{if !$noFormSubmit}] +
      +
      + +
      +
      +[{/if}] diff --git a/tpl/form/fieldset/user_email.tpl b/tpl/form/fieldset/user_email.tpl new file mode 100644 index 0000000..01031cc --- /dev/null +++ b/tpl/form/fieldset/user_email.tpl @@ -0,0 +1,19 @@ +
      + +
      + + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxusername}] +
      +
      +
      + +[{if $oxcmp_user->oxuser__oxpassword->value}] +
      + +
      + + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxpassword}] +
      +
      +
      +[{/if}] \ No newline at end of file diff --git a/tpl/form/fieldset/user_noaccount.tpl b/tpl/form/fieldset/user_noaccount.tpl new file mode 100644 index 0000000..cd1d0a9 --- /dev/null +++ b/tpl/form/fieldset/user_noaccount.tpl @@ -0,0 +1,24 @@ +
      + [{block name="user_noaccount_email"}] + +
      + +
      + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxusername}] +
      +
      + [{/block}] +
      +
      + [{block name="user_noaccount_newsletter"}] +
      + +
      + +
      + [{oxmultilang ident="MESSAGE_NEWSLETTER_SUBSCRIPTION"}] +
      + [{/block}] +
      \ No newline at end of file diff --git a/tpl/form/fieldset/user_shipping.tpl b/tpl/form/fieldset/user_shipping.tpl new file mode 100644 index 0000000..20fa29e --- /dev/null +++ b/tpl/form/fieldset/user_shipping.tpl @@ -0,0 +1,230 @@ +[{if $oxcmp_user}] + [{assign var="delivadr" value=$oxcmp_user->getSelectedAddress()}] +[{/if}] + +[{if !$deladr}] + [{assign var="oConfig" value=$oView->getConfig()}] + [{assign var="deladr" value=$oConfig->getRequestParameter('deladr')}] +[{/if}] + +[{if $oxcmp_user}] + [{assign var="aUserAddresses" value=$oxcmp_user->getUserAddresses()}] + + [{if $aUserAddresses|@count > 0}] + [{if $onChangeClass == 'user'}] +
      + [{/if}] + + + + [{oxscript include="js/widgets/oxusershipingaddressselect.min.js" priority=10}] + [{oxscript include="js/widgets/oxequalizer.min.js" priority=10}] + [{oxscript add="$( '.dd-add-delivery-address' ).click( function() { $('.dd-available-addresses .dd-action').remove(); $( this ).find( 'label.btn' ).button('toggle'); } );"}] + [{oxscript add="$( 'input[name=\"oxaddressid\"]' ).oxUserShipingAddressSelect();"}] + [{oxscript add="$( window ).load( function() { if( !isMobileDevice() ) { oxEqualizer.equalHeight( $( '.dd-available-addresses .panel .card-body' ) ); } } );"}] + [{oxscript add="$( '.dd-edit-shipping-address' ).click(function(){ $( '#shippingAddressForm' ).show(); $( 'html, body' ).animate( { scrollTop: $( '#shippingAddressForm' ).offset().top - 80 }, 600 ); } );"}] + + [{block name="form_user_shipping_address_select"}] +
      + [{foreach from=$aUserAddresses item=address name="shippingAdresses"}] +
      +
      +
      + [{block name="form_user_shipping_address_actions"}] + [{if $address->isSelected()}] + [{block name="form_user_shipping_address_edit_action"}] + + [{/block}] + [{block name="form_user_shipping_address_delete_action"}] + + [{/block}] + [{/if}] + [{/block}] + [{include file="widget/address/shipping_address.tpl" delivadr=$address}] +
      + +
      +
      + [{/foreach}] + +
      +
      +
      +
      + [{oxmultilang ident="DD_USER_SHIPPING_ADD_DELIVERY_ADDRESS"}] +
      + +
      +
      +
      + [{/block}] + + [{if $onChangeClass == 'user'}] +
      + [{/if}] + [{/if}] +[{/if}] + +
      +
      + +
      + [{include file="form/fieldset/salutation.tpl" name="deladr[oxaddress__oxsal]" value=$delivadr->oxaddress__oxsal->value value2=$deladr.oxaddress__oxsal class="form-control" id="deladr_oxaddress__oxsal"}] +
      +
      +
      + +
      + isFieldRequired(oxaddress__oxfname)}] required=""[{/if}]> + [{if $oView->isFieldRequired(oxaddress__oxfname)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxfname}] +
      + [{/if}] +
      +
      +
      + +
      + isFieldRequired(oxaddress__oxlname)}] required=""[{/if}]> + [{if $oView->isFieldRequired(oxaddress__oxlname)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxlname}] +
      + [{/if}] +
      +
      +
      + +
      + isFieldRequired(oxaddress__oxcompany)}] required=""[{/if}]> + [{if $oView->isFieldRequired(oxaddress__oxcompany)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxcompany}] +
      + [{/if}] +
      +
      +
      + [{assign var="_address_addinfo_tooltip" value="FORM_FIELDSET_USER_SHIPPING_ADDITIONALINFO2_TOOLTIP"|oxmultilangassign}] + +
      + isFieldRequired(oxaddress__oxaddinfo)}] required=""[{/if}]> + [{if $oView->isFieldRequired(oxaddress__oxaddinfo)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxaddinfo}] +
      + [{/if}] +
      +
      +
      + +
      + isFieldRequired(oxaddress__oxstreet)}] required=""[{/if}]> +
      +
      + isFieldRequired(oxaddress__oxstreetnr)}] required=""[{/if}]> +
      +
      + [{if $oView->isFieldRequired(oxaddress__oxstreet) || $oView->isFieldRequired(oxaddress__oxstreetnr)}] +
      + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxstreet}] + [{/if}] +
      +
      +
      + +
      + isFieldRequired(oxaddress__oxzip)}] required=""[{/if}]> +
      +
      + isFieldRequired(oxaddress__oxcity)}] required=""[{/if}]> +
      +
      + [{if $oView->isFieldRequired(oxaddress__oxzip) || $oView->isFieldRequired(oxaddress__oxcity)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxzip}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxcity}] +
      + [{/if}] +
      +
      + [{block name="form_user_shipping_country"}] +
      + +
      + + [{if $oView->isFieldRequired(oxaddress__oxcountryid)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxcountryid}] +
      + [{/if}] +
      +
      +
      + +
      + [{include file="form/fieldset/state.tpl" + countrySelectId="delCountrySelect" + stateSelectName="deladr[oxaddress__oxstateid]" + selectedStateIdPrim=$deladr.oxaddress__oxstateid + selectedStateId=$delivadr->oxaddress__oxstateid->value + class="form-control"}] +
      +
      + [{/block}] +
      + +
      + isFieldRequired(oxaddress__oxfon)}] required=""[{/if}]> + [{if $oView->isFieldRequired(oxaddress__oxfon)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxfon}] +
      + [{/if}] +
      +
      +
      + +
      + isFieldRequired(oxaddress__oxfax)}] required=""[{/if}]> + [{if $oView->isFieldRequired(oxaddress__oxfax)}] + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxaddress__oxfax}] +
      + [{/if}] +
      +
      +
      +[{if !$noFormSubmit}] +
      +
      +

      [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]

      + +
      +
      +[{/if}] diff --git a/tpl/form/forgotpwd_change_pwd.tpl b/tpl/form/forgotpwd_change_pwd.tpl new file mode 100644 index 0000000..67692a3 --- /dev/null +++ b/tpl/form/forgotpwd_change_pwd.tpl @@ -0,0 +1,34 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +
      + [{assign var="aErrors" value=$oView->getFieldValidationErrors()}] + + +
      + +
      + +
      +

      +
      +
      + +
      + +
      +

      +
      +
      +
      + +
      +
      +
      \ No newline at end of file diff --git a/tpl/form/forgotpwd_email.tpl b/tpl/form/forgotpwd_email.tpl new file mode 100644 index 0000000..3bcee49 --- /dev/null +++ b/tpl/form/forgotpwd_email.tpl @@ -0,0 +1,37 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +

      + [{oxmultilang ident="HAVE_YOU_FORGOTTEN_PASSWORD"}]
      + [{oxmultilang ident="HERE_YOU_SET_UP_NEW_PASSWORD"}] +

      + +
      +
      +
      + + +
      + + + +

      +
      +
      + +
      +
      +
      +
      + +[{oxmultilang ident="REQUEST_PASSWORD_AFTERCLICK"}]

      +[{oxifcontent ident="oxforgotpwd" object="oCont"}] + [{$oCont->oxcontents__oxcontent->value}] + [{/oxifcontent}] \ No newline at end of file diff --git a/tpl/form/formparams.tpl b/tpl/form/formparams.tpl new file mode 100644 index 0000000..757398c --- /dev/null +++ b/tpl/form/formparams.tpl @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tpl/form/login.tpl b/tpl/form/login.tpl new file mode 100644 index 0000000..4d6b18c --- /dev/null +++ b/tpl/form/login.tpl @@ -0,0 +1,38 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] +
      +
      + +
      +

      [{oxmultilang ident="ALREADY_CUSTOMER"}]

      +
      +
      + + [{block name="checkout_options_login_text"}] +

      [{oxmultilang ident="LOGIN_DESCRIPTION"}]

      + [{/block}] + [{assign var="aErrors" value=$oView->getFieldValidationErrors()}] +
      + + +
      +
      +
      + +
      + + ? +
      +
      +
      +
      + +
      +
      diff --git a/tpl/form/login_account.tpl b/tpl/form/login_account.tpl new file mode 100644 index 0000000..4ad42fd --- /dev/null +++ b/tpl/form/login_account.tpl @@ -0,0 +1,69 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +[{if $oView->getAccountDeletionStatus() == true}] + [{assign var="statusMessage" value="DD_DELETE_MY_ACCOUNT_SUCCESS"|oxmultilangassign}] + [{include file="message/success.tpl" statusMessage=$statusMessage}] +[{/if}] + +
      +
      +
      [{oxmultilang ident="LOGIN"}]
      +
      +
      + + +

      [{oxmultilang ident="LOGIN_ALREADY_CUSTOMER"}]

      + +
      + + +
      +
      +
      + + +
      +
      + [{if $oView->showRememberMe()}] +
      +
      + +
      +
      + [{/if}] + +
      + +
      + + +
      +
      +
      +
      +
      [{oxmultilang ident="OPEN_ACCOUNT"}]
      +
      +

      [{oxmultilang ident="DD_LOGIN_ACCOUNT_PANEL_CREATE_BODY"}]

      + [{oxmultilang ident="OPEN_ACCOUNT"}]
      +
      +
      +
      diff --git a/tpl/form/newsletter.tpl b/tpl/form/newsletter.tpl new file mode 100644 index 0000000..7540c20 --- /dev/null +++ b/tpl/form/newsletter.tpl @@ -0,0 +1,58 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +[{assign var="aRegParams" value=$oView->getRegParams()}] +
      + + +
      + + +
      + [{include file="form/fieldset/salutation.tpl" name="editval[oxuser__oxsal]" value=$aRegParams.oxuser__oxsal class="form-control show-tick"}] +
      +
      +
      + + +
      + +
      +
      +
      + + +
      + +
      +
      +
      + + +
      + +
      +
      +
      +
      +
      + + +
      +
      +
      +
      +

      [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]

      + +
      +
      +
      \ No newline at end of file diff --git a/tpl/form/pricealarm.tpl b/tpl/form/pricealarm.tpl new file mode 100644 index 0000000..d862294 --- /dev/null +++ b/tpl/form/pricealarm.tpl @@ -0,0 +1,38 @@ +[{*oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"*}] + +[{assign var="currency" value=$oView->getActCurrency()}] +

      [{oxmultilang ident="MESSAGE_PRICE_ALARM_PRICE_CHANGE"}]

      +
      +
      + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + [{if $oDetailsProduct}] + + [{/if}] + +
      +
      + +
      + getFPrice()}][{/if}][{/oxhasrights}]" maxlength="32" required="required"> +
      +
      +
      +
      + +
      + +
      +
      +
      + + [{block name="captcha_form"}][{/block}] + +
      +
      + +
      +
      +
      diff --git a/tpl/form/privatesales/accept_terms.tpl b/tpl/form/privatesales/accept_terms.tpl new file mode 100644 index 0000000..d5e1b97 --- /dev/null +++ b/tpl/form/privatesales/accept_terms.tpl @@ -0,0 +1,31 @@ +
      +
      + +
      + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + + [{if $oView->getArticleId()}] + + [{/if}] + [{if $oView->getProduct()}] + [{assign var="product" value=$oView->getProduct()}] + + [{/if}] + +
      + +
      + +
      + + +
      +
      diff --git a/tpl/form/privatesales/basketexcl.tpl b/tpl/form/privatesales/basketexcl.tpl new file mode 100644 index 0000000..855a4d5 --- /dev/null +++ b/tpl/form/privatesales/basketexcl.tpl @@ -0,0 +1,27 @@ +

      [{oxmultilang ident="ROOT_CATEGORY_CHANGED"}]

      +[{oxmultilang ident="MESSAGE_DENIED_BY_SHOP_RULES"}]

      +
      +[{oxmultilang ident="MESSAGE_BASKET_EXCLUDE_INFO"}]

      +
      +
      +
      + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + + [{if $oView->getArticleId()}] + + [{/if}] + [{if $oView->getProduct()}] + [{assign var="product" value=$oView->getProduct()}] + + [{/if}] + [{oxhasrights ident="TOBASKET"}] + + [{/oxhasrights}] + +
      +
      + diff --git a/tpl/form/privatesales/invite.tpl b/tpl/form/privatesales/invite.tpl new file mode 100644 index 0000000..9332c97 --- /dev/null +++ b/tpl/form/privatesales/invite.tpl @@ -0,0 +1,91 @@ +[{assign var="_oProduct" value=$oView->getProduct()}] +[{assign var="editval" value=$oView->getInviteData()}] +
      +
      + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + +

      [{oxmultilang ident="SEND_INVITE_TO" suffix="COLON"}]

      +
        +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS"}] + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOVALIDEMAIL"}] +

        +
      • +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOVALIDEMAIL"}] +

        +
      • +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOVALIDEMAIL"}] +

        +
      • +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOVALIDEMAIL"}] +

        +
      • +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOVALIDEMAIL"}] +

        +
      • +
      + + +

      [{oxmultilang ident="FROM" suffix="COLON"}]

      +
        +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS"}] +

        +
      • +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS"}] + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOVALIDEMAIL"}] +

        +
      • +
      • + + oxarticles__oxtitle->value|strip_tags}][{/if}]"> +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS"}] +

        +
      • +
      • + + +

        + [{oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS"}] +

        +
      • + + [{block name="captcha_form"}][{/block}] + +
      • + +
      • +
      +
      +
      \ No newline at end of file diff --git a/tpl/form/recommendation_add.tpl b/tpl/form/recommendation_add.tpl new file mode 100644 index 0000000..6097915 --- /dev/null +++ b/tpl/form/recommendation_add.tpl @@ -0,0 +1,35 @@ +[{if !$oxcmp_user->oxuser__oxusername->value}] + [{include file="page/account/login.tpl"}] +[{else}] + [{assign var="product" value=$oView->getProduct()}] + [{if $oxcmp_user->getRecommListsCount()}] +
      +
      + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + +
      +
        +
      • + + +
      • +
      • + +
        +
      • +
      • + +
      • +
      +
      + [{else}] + [{oxmultilang ident="NO_LISTMANIA_LIST"}] [{oxmultilang ident="CLICK_HERE"}] + [{/if}] +[{/if}] diff --git a/tpl/form/recommendation_edit.tpl b/tpl/form/recommendation_edit.tpl new file mode 100644 index 0000000..d19f066 --- /dev/null +++ b/tpl/form/recommendation_edit.tpl @@ -0,0 +1,40 @@ +
      + + +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      +
      + + [{if $_actvrecommlist}] + + [{oxmultilang ident="DD_RECOMMENDATION_EDIT_BACK_TO_LIST"}] + + [{/if}] +
      +
      +
      diff --git a/tpl/form/register.tpl b/tpl/form/register.tpl new file mode 100644 index 0000000..51eb7c9 --- /dev/null +++ b/tpl/form/register.tpl @@ -0,0 +1,79 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] +
      + + +

      [{oxmultilang ident="ACCOUNT_INFORMATION"}]

      + [{include file="form/fieldset/user_account.tpl"}] + + [{if $oView->isActive('PsLogin')}] +
      + +
      + +
      + +
      +
      +
      + [{/if}] + +

      [{oxmultilang ident="BILLING_ADDRESS"}]

      + [{include file="form/fieldset/user_billing.tpl"}] +
      +[{if $oView->isActive('PsLogin')}] + [{oxifcontent ident="oxagb" object="oContent"}] + + [{/oxifcontent}] + + [{oxifcontent ident="oxrightofwithdrawal" object="oContent"}] + + [{/oxifcontent}] +[{/if}] diff --git a/tpl/form/suggest.tpl b/tpl/form/suggest.tpl new file mode 100644 index 0000000..9d41b63 --- /dev/null +++ b/tpl/form/suggest.tpl @@ -0,0 +1,72 @@ +[{assign var="_oProduct" value=$oView->getProduct()}] +[{assign var="editval" value=$oView->getSuggestData()}] +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +
      + + + +
      + +
      + +
      +
      +
      +
      + +
      + +
      +
      +
      + + +
      + +
      + +
      +
      +
      +
      + +
      + +
      +
      +
      +
      + +
      + oxarticles__oxtitle->value|strip_tags}][{/if}]" required="required"> +
      +
      +
      +
      + +
      + +
      +
      +
      + + [{block name="captcha_form"}][{/block}] + +
      +
      +

      [{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]

      + +
      +
      +
      diff --git a/tpl/form/user.tpl b/tpl/form/user.tpl new file mode 100644 index 0000000..233decc --- /dev/null +++ b/tpl/form/user.tpl @@ -0,0 +1,101 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] + +[{capture assign="sValidationJS"}] + [{strip}] + $('input,select,textarea').not('[type=submit]').jqBootstrapValidation( + { + filter: function() + { + if( $( '#shippingAddress' ).css( 'display' ) == 'block' ) + { + return $(this).is(':visible, .selectpicker[required]'); + } + else + { + return $(this).is(':visible, #addressForm .selectpicker[required]'); + } + } + } + ); + [{/strip}] +[{/capture}] + +[{oxscript add=$sValidationJS}] +[{block name="user"}] +
      + [{block name="user_form"}] + [{assign var="aErrors" value=$oView->getFieldValidationErrors()}] +
      + + + [{* Rechnungsadresse *}] +
      +
      + [{block name="user_billing_address_head"}] + [{oxmultilang ident="BILLING_ADDRESS"}] + + [{/block}] +
      +
      + [{block name="user_billing_address"}] + [{block name="user_billing_address_text"}] +
      + [{include file="widget/address/billing_address.tpl"}] +
      + [{/block}] + [{block name="user_billing_address_form"}] + + [{/block}] + [{/block}] +
      +
      + + [{oxscript add="$('#userChangeAddress').click( function() { $('#addressForm, #addressText').toggle();return false;});"}] + + [{* Lieferadresse *}] + [{block name="user_shipping_address"}] +
      +
      + [{block name="user_shipping_address_head"}] + [{oxmultilang ident="SHIPPING_ADDRESSES"}] + [{/block}] +
      +
      +
      + [{block name="user_shipping_address_choice"}] + + [{/block}] +
      + [{block name="user_shipping_address_form"}] +
      showShipAddress()}] style="display: none;" [{/if}]> + [{include file="form/fieldset/user_shipping.tpl" noFormSubmit=true}] +
      + [{/block}] +
      +
      + [{oxscript add="$('#showShipAddress').change( function() { $('#shippingAddress').toggle($(this).is(':not(:checked)')); });"}] + [{/block}] +
      +
      +
      + +
      +
      + [{/block}] +
      + [{include file="form/fieldset/delete_shipping_address_modal.tpl"}] +[{/block}] diff --git a/tpl/form/user_checkout_change.tpl b/tpl/form/user_checkout_change.tpl new file mode 100644 index 0000000..900ace9 --- /dev/null +++ b/tpl/form/user_checkout_change.tpl @@ -0,0 +1,143 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] + +[{capture assign="sValidationJS"}] + [{strip}] + $('input,select,textarea').not('[type=submit]').jqBootstrapValidation( + { + filter: function() + { + if( $( '#shippingAddress' ).css( 'display' ) == 'block' ) + { + return $(this).is(':visible, .selectpicker'); + } + else + { + return $(this).is(':visible, #addressForm .selectpicker'); + } + } + } + ); + [{/strip}] +[{/capture}] + +[{oxscript add=$sValidationJS}] + +[{block name="user_checkout_change"}] +
      + [{block name="user_checkout_change_form"}] + [{assign var="aErrors" value=$oView->getFieldValidationErrors()}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + + + + [{block name="user_checkout_change_next_step_top"}] +
      +
      +
      + +
      + +
      +
      +
      +
      + [{/block}] + +
      +
      + [{block name="user_checkout_billing"}] +
      + [{block name="user_checkout_billing_head"}] +

      + [{oxmultilang ident="BILLING_ADDRESS"}] + +

      + [{oxscript add="$('#userChangeAddress').click( function() { $('#addressForm').show();$('#addressText').hide();$('#userChangeAddress').hide();return false;});"}] + [{/block}] +
      + [{/block}] +
      + [{block name="user_checkout_billing_form"}] +
      + [{if not $oxcmp_user->oxuser__oxpassword->value}] + [{include file="form/fieldset/user_email.tpl"}] + [{/if}] + [{include file="form/fieldset/user_billing.tpl" noFormSubmit=true blSubscribeNews=true blOrderRemark=true}] +
      + [{/block}] + [{block name="user_checkout_billing_feedback"}] +
      + [{include file="widget/address/billing_address.tpl" noFormSubmit=true blSubscribeNews=true blOrderRemark=true}] +
      + [{/block}] +
      +
      + +
      + [{block name="user_checkout_shipping"}] +
      + [{block name="user_checkout_shipping_head"}] +

      + [{oxmultilang ident="SHIPPING_ADDRESS"}] + [{if $oView->showShipAddress() and $oxcmp_user->getSelectedAddress()}] + + [{/if}] +

      + [{oxscript add="$('#userChangeShippingAddress').toggle($(this).is(':not(:checked)'));"}] + [{/block}] +
      + [{/block}] +
      + [{block name="user_checkout_shipping_change"}] +
      +
      +
      + +
      +
      +
      + [{oxscript add="$('#showShipAddress').change( function() { $('#shippingAddress').toggle($(this).is(':not(:checked)'));});"}] + [{/block}] + [{block name="user_checkout_shipping_form"}] +
      showShipAddress()}]style="display: none;"[{/if}]> + [{include file="form/fieldset/user_shipping.tpl" noFormSubmit=true onChangeClass='user'}] +
      + [{/block}] + [{block name="user_checkout_shipping_feedback"}] + [{include file="form/fieldset/order_newsletter.tpl" blSubscribeNews=true}] + [{include file="form/fieldset/order_remark.tpl" blOrderRemark=true}] + [{/block}] +
      +
      +
      + + [{block name="user_checkout_change_next_step_bottom"}] +
      +
      +
      + +
      + +
      +
      +
      +
      + [{/block}] + [{/block}] +
      + [{include file="form/fieldset/delete_shipping_address_modal.tpl"}] +[{/block}] diff --git a/tpl/form/user_checkout_noregistration.tpl b/tpl/form/user_checkout_noregistration.tpl new file mode 100644 index 0000000..4feb40e --- /dev/null +++ b/tpl/form/user_checkout_noregistration.tpl @@ -0,0 +1,113 @@ +[{assign var="aErrors" value=$oView->getFieldValidationErrors()}] + +[{block name="user_checkout_noregistration"}] + [{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] + + [{capture assign="sValidationJS"}] + [{strip}] + $('input,select,textarea').not('[type=submit]').jqBootstrapValidation( + { + filter: function() + { + if( $( '#shippingAddress' ).css( 'display' ) == 'block' ) + { + return $(this).is(':visible, .selectpicker'); + } + else + { + return $(this).is(':visible, #addressForm .selectpicker'); + } + } + } + ); + [{/strip}] + [{/capture}] + + [{oxscript add=$sValidationJS}] + +
      + [{block name="user_checkout_noregistration_form"}] + + + [{block name="user_checkout_noregistration_next_step_top"}] + + [{/block}] + +
      +
      +
      +

      [{oxmultilang ident="NOTREGISTERED_ACCOUNTINFO"}]

      +
      +
      + [{include file="form/fieldset/user_noaccount.tpl"}] +
      +
      +
      +
      +

      [{oxmultilang ident="BILLING_ADDRESS"}]

      +
      +
      + [{include file="form/fieldset/user_billing.tpl" noFormSubmit=true blOrderRemark=true}] +
      +
      +
      +
      +

      [{oxmultilang ident="SHIPPING_ADDRESS"}]

      +
      +
      +
      +
      +
      + +
      +
      +
      + +
      showShipAddress()}] style="display: none;"[{/if}]> + [{include file="form/fieldset/user_shipping.tpl" noFormSubmit=true}] +
      + + [{include file="form/fieldset/order_remark.tpl" blOrderRemark=true}] +
      +
      +
      + + [{oxscript add="$('#showShipAddress').change( function() { $('#shippingAddress').toggle($(this).is(':not(:checked)'));});"}] + + [{block name="user_checkout_noregistration_next_step_bottom"}] +
      +
      +
      + +
      + +
      +
      +
      +
      + [{/block}] + [{/block}] +
      + [{include file="form/fieldset/delete_shipping_address_modal.tpl"}] +[{/block}] diff --git a/tpl/form/user_checkout_registration.tpl b/tpl/form/user_checkout_registration.tpl new file mode 100644 index 0000000..1d45465 --- /dev/null +++ b/tpl/form/user_checkout_registration.tpl @@ -0,0 +1,115 @@ +[{block name="user_checkout_registration"}] + [{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] + + [{capture assign="sValidationJS"}] + [{strip}] + $('input,select,textarea').not('[type=submit]').jqBootstrapValidation( + { + filter: function() + { + if( $( '#shippingAddress' ).css( 'display' ) == 'block' ) + { + return $(this).is(':visible, .selectpicker'); + } + else + { + return $(this).is(':visible, #addressForm .selectpicker'); + } + } + } + ); + [{/strip}] + [{/capture}] + + [{oxscript add=$sValidationJS}] + + [{assign var="aErrors" value=$oView->getFieldValidationErrors()}] + +
      + [{block name="user_checkout_registration_form"}] + + + [{block name="user_checkout_registration_next_step_top"}] + + [{/block}] + +
      +
      +
      +

      [{oxmultilang ident="ACCOUNT_INFORMATION"}]

      +
      +
      + [{include file="form/fieldset/user_account.tpl"}] +
      +
      +
      +
      +

      [{oxmultilang ident="BILLING_ADDRESS"}]

      +
      +
      + [{include file="form/fieldset/user_billing.tpl" noFormSubmit=true blSubscribeNews=false blOrderRemark=true}] +
      +
      + +
      +
      +

      [{oxmultilang ident="SHIPPING_ADDRESS"}]

      +
      +
      +
      +
      +
      + +
      +
      +
      + +
      showShipAddress()}]style="display: none;"[{/if}]> + [{include file="form/fieldset/user_shipping.tpl" noFormSubmit=true}] +
      + + [{include file="form/fieldset/order_remark.tpl" blOrderRemark=true}] + +
      +
      +
      + + [{oxscript add="$('#showShipAddress').change( function() { $('#shippingAddress').toggle($(this).is(':not(:checked)'));});"}] + + [{block name="user_checkout_registration_next_step_bottom"}] +
      +
      +
      + +
      + +
      +
      +
      +
      + [{/block}] + [{/block}] +
      + [{include file="form/fieldset/delete_shipping_address_modal.tpl"}] +[{/block}] diff --git a/tpl/form/user_password.tpl b/tpl/form/user_password.tpl new file mode 100644 index 0000000..c41d62f --- /dev/null +++ b/tpl/form/user_password.tpl @@ -0,0 +1,45 @@ +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] + +
      + [{assign var="aErrors" value=$oView->getFieldValidationErrors()}] + + + +
      + +
      + + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxpassword}] +
      +
      +
      +
      + +
      + + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxpassword}] +
      +
      +
      +
      + +
      + +
      + [{include file="message/inputvalidation.tpl" aErrors=$aErrors.oxuser__oxpassword}] +
      +
      +
      +
      + +
      +
      +
      diff --git a/tpl/form/wishlist_publish.tpl b/tpl/form/wishlist_publish.tpl new file mode 100644 index 0000000..eb8dd0d --- /dev/null +++ b/tpl/form/wishlist_publish.tpl @@ -0,0 +1,30 @@ +[{if $oView->getWishList()}] +
      +
      + + +
      + +
      + +
      +
      +
      + +
      +
      +
      +[{/if}] diff --git a/tpl/form/wishlist_search.tpl b/tpl/form/wishlist_search.tpl new file mode 100644 index 0000000..b7af52c --- /dev/null +++ b/tpl/form/wishlist_search.tpl @@ -0,0 +1,32 @@ +
      + + +
      + +
      +
      + + +
      +
      +
      +
      + +[{if $oView->getWishListUsers()}] +
      + +

      [{oxmultilang ident="GIFT_REGISTRY_SEARCH_RESULTS"}]

      + +[{/if}] diff --git a/tpl/form/wishlist_suggest.tpl b/tpl/form/wishlist_suggest.tpl new file mode 100644 index 0000000..fa58457 --- /dev/null +++ b/tpl/form/wishlist_suggest.tpl @@ -0,0 +1,46 @@ +
      + [{if $oView->getWishList() && $oView->showSuggest()}] + [{if $Errors.account_whishlist|is_array && !empty($Errors.account_whishlist)}] + [{foreach from=$Errors.account_whishlist item=oEr key=key}] +

      [{$oEr->getOxMessage()}]

      + [{/foreach}] + [{/if}] + [{assign var="editval" value=$oView->getEnteredData()}] +
      + + [{oxmultilang ident="SEND_GIFT_REGISTRY"}] + +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      +
      + +
      +
      +
      +
      + [{/if}] +
      \ No newline at end of file diff --git a/tpl/i18n/js_vars.tpl b/tpl/i18n/js_vars.tpl new file mode 100644 index 0000000..fc77ed9 --- /dev/null +++ b/tpl/i18n/js_vars.tpl @@ -0,0 +1,14 @@ + diff --git a/tpl/layout/base.tpl b/tpl/layout/base.tpl new file mode 100644 index 0000000..b7b085f --- /dev/null +++ b/tpl/layout/base.tpl @@ -0,0 +1,213 @@ +[{* Important ! render page head and body to collect scripts and styles *}] +[{capture append="oxidBlock_pageHead"}] + [{strip}] + + + + + + + + + + [{assign var=sPageTitle value=$oView->getPageTitle()}] + [{block name="head_title"}][{$sPageTitle}][{/block}] + + [{block name="head_meta_robots"}] + [{if $oView->noIndex() == 1}] + + [{elseif $oView->noIndex() == 2}] + + [{/if}] + [{/block}] + + [{block name="head_meta_description"}] + [{if $oView->getMetaDescription()}] + + [{/if}] + [{/block}] + + [{block name="head_meta_keywords"}] + [{if $oView->getMetaKeywords()}] + + [{/if}] + [{/block}] + + [{block name="head_meta_open_graph"}] + + + + [{if $oViewConf->getActiveClassName() == 'details'}] + + + + [{else}] + [{assign var="aOGImage" value=$oViewConf->getViewThemeParam('aOGImage')}] + + + + + [{/if}] + [{/block}] + + [{assign var="canonical_url" value=$oView->getCanonicalUrl()}] + [{block name="head_link_canonical"}] + [{if $canonical_url}] + + [{/if}] + [{/block}] + + [{block name="head_link_hreflang"}] + [{if $oView->isLanguageLoaded()}] + [{assign var="oConfig" value=$oViewConf->getConfig()}] + [{foreach from=$oxcmp_lang item=_lng}] + [{if $_lng->id == $oConfig->getConfigParam('sDefaultLang')}] + + [{/if}] + + [{/foreach}] + [{/if}] + [{/block}] + + [{assign var="oPageNavigation" value=$oView->getPageNavigation()}] + [{if $oPageNavigation}] + [{if $oPageNavigation->previousPage}] + + [{/if}] + [{if $oPageNavigation->nextPage}] + + [{/if}] + [{/if}] + + [{block name="head_link_favicon"}] + [{assign var="aAppleTouchIcon" value=$oViewConf->getViewThemeParam('aAppleTouchIcon')}] + [{if $aAppleTouchIcon}] + + + + [{/if}] + + + [{assign var="sFaviconFile" value=$oViewConf->getViewThemeParam('sFaviconFile')}] + [{assign var="sFavicon16File" value=$oViewConf->getViewThemeParam('sFavicon16File')}] + [{assign var="sFavicon32File" value=$oViewConf->getViewThemeParam('sFavicon32File')}] + + [{if $sFaviconFile}] + + [{/if}] + [{if $sFavicon16File}] + + [{/if}] + [{if $sFavicon32File}] + + [{/if}] + [{/block}] + + [{block name="base_style"}] + + [{/block}] + + [{block name="base_fonts"}] + [{/block}] + + [{assign var='rsslinks' value=$oView->getRssLinks()}] + [{block name="head_link_rss"}] + [{if $rsslinks}] + [{foreach from=$rsslinks item='rssentry'}] + + [{/foreach}] + [{/if}] + [{/block}] + + [{block name="head_css"}] + [{foreach from=$oxidBlock_head item="_block"}] + [{$_block}] + [{/foreach}] + [{/block}] + [{/strip}] +[{/capture}] + +[{assign var="blIsCheckout" value=$oView->getIsOrderStep()}] +[{assign var="blFullwidth" value=$oViewConf->getViewThemeParam('blFullwidthLayout')}] +[{assign var="sBackgroundColor" value=$oViewConf->getViewThemeParam('sBackgroundColor')}] + +[{* Fullpage Background *}] +[{if $oViewConf->getViewThemeParam('blUseBackground')}] + + [{if $sBackgroundUrl}] + [{assign var="sStyle" value="background:`$sBackgroundColor` url(`$sBackgroundUrl`) `$sBackgroundRepeat` `$sBackgroundPosHorizontal` `$sBackgroundPosVertical`;"}] + + [{if $sBackgroundSize}] + [{assign var="sStyle" value=$sStyle|cat:"background-size:`$sBackgroundSize`;"}] + [{/if}] + + [{if $blBackgroundAttachment}] + [{assign var="sStyle" value=$sStyle|cat:"background-attachment:fixed;"}] + [{/if}] + [{else}] + [{assign var="sStyle" value="background:`$sBackgroundColor`;"}] + [{/if}] +[{elseif $sBackgroundColor}] + [{assign var="sStyle" value="background:`$sBackgroundColor`;"}] +[{/if}] + + + + + [{foreach from=$oxidBlock_pageHead item="_block"}] + [{$_block}] + [{/foreach}] + [{oxstyle}] + + [{*if $sStyle}] + + [{/if*}] + [{*if $oViewConf->getViewThemeParam('sPrimaryColor')}] + + [{assign var="sPrimary" value=$oViewConf->getViewThemeParam('sPrimaryColor')}] + + [{/if*}] + + + + + [{* Theme SVG icons block *}] + [{block name="theme_svg_icons"}][{/block}] + + [{foreach from=$oxidBlock_pageBody item="_block"}] + [{$_block}] + [{/foreach}] + + [{*if $oViewConf->getTopActiveClassName() == 'details' && $oView->showZoomPics()}] + [{include file="page/details/inc/photoswipe.tpl"}] + [{/if*}] + + [{block name="base_js"}] + [{include file="i18n/js_vars.tpl"}] + + [{/block}] + + [{if $oViewConf->isTplBlocksDebugMode()}] + [{oxscript include="js/widgets/oxblockdebug.min.js"}] + [{oxscript add="$( 'body' ).oxBlockDebug();"}] + [{/if}] + + [{oxscript}] + + [{if !$oView->isDemoShop()}] + [{oxid_include_dynamic file="widget/dynscript.tpl"}] + [{/if}] + + [{foreach from=$oxidBlock_pageScript item="_block"}] + [{$_block}] + [{/foreach}] + + diff --git a/tpl/layout/footer.tpl b/tpl/layout/footer.tpl new file mode 100644 index 0000000..8f0e6b6 --- /dev/null +++ b/tpl/layout/footer.tpl @@ -0,0 +1,177 @@ +[{block name="footer_main"}] + [{assign var="blShowFullFooter" value=$oView->showSearch()}] + + [{$oView->setShowNewsletter($oViewConf->getViewThemeParam('blFooterShowNewsletterForm'))}] + + [{if $oxcmp_user}] + [{assign var="force_sid" value=$oView->getSidForWidget()}] + [{/if}] + [{assign var="footerWidth" value=$oViewConf->getViewThemeParam('sFooterWidth')}] + [{if $footerWidth == 'container'}] +
      + [{/if}] +
      +
      +
      +
      +
      + [{block name="dd_footer_servicelist"}] + + [{/block}] + [{block name="dd_footer_information"}] + + [{/block}] + [{if $blShowFullFooter}] + [{block name="dd_footer_manufacturerlist"}] + + [{/block}] + [{block name="dd_footer_categorytree"}] + + [{/block}] + [{/if}] +
      +
      +
      +
      +
      + [{if $oView->showNewsletter()}] + + [{/if}] + + [{block name="footer_social"}][{/block}] + +
      +
      +
      +
      + + [{* <> Social Links *}] + [{block name="dd_footer_social_links"}] + [{if $oViewConf->getViewThemeParam('sFacebookUrl') || $oViewConf->getViewThemeParam('sGooglePlusUrl') || $oViewConf->getViewThemeParam('sTwitterUrl') || $oViewConf->getViewThemeParam('sYouTubeUrl') || $oViewConf->getViewThemeParam('sBlogUrl')}] + + [{/if}] + [{/block}] + [{* <> Social Links *}] +
      + + [{if $oView->isPriceCalculated()}] + [{block name="layout_page_vatinclude"}] + [{block name="footer_deliveryinfo"}] + [{oxifcontent ident="oxdeliveryinfo" object="oCont"}] +
      +
      + [{if $oView->isVatIncluded()}] + * [{oxmultilang ident="PLUS_SHIPPING"}][{oxmultilang ident="PLUS_SHIPPING2"}] + [{else}] + * [{oxmultilang ident="PLUS"}][{oxmultilang ident="PLUS_SHIPPING2"}] + [{/if}] +
      +
      + + [{/oxifcontent}] + [{/block}] + [{/block}] + [{/if}] +
      + [{if $footerWidth == 'container'}] +
      + [{/if}] +[{/block}] + + [{if $oView->isRootCatChanged()}] + + [{/if}] diff --git a/tpl/layout/header.tpl b/tpl/layout/header.tpl new file mode 100644 index 0000000..ef4dccd --- /dev/null +++ b/tpl/layout/header.tpl @@ -0,0 +1,112 @@ +[{if $oViewConf->getTopActionClassName() != 'clearcookies' && $oViewConf->getTopActionClassName() != 'mallstart'}] + [{oxid_include_widget cl="oxwCookieNote" _parent=$oView->getClassName() nocookie=1}] +[{/if}] +[{block name="header_main"}] + [{assign var="headerWidth" value=$oViewConf->getViewThemeParam('sHeaderWidth')}] + [{if $headerWidth == 'container'}] +
      + [{/if}] + + [{if $headerWidth == 'container'}] +
      + [{/if}] +[{/block}] + +[{insert name="oxid_newbasketitem" tpl="widget/minibasket/newbasketitemmsg.tpl" type="message"}] +[{oxid_include_dynamic file="widget/minibasket/minibasketmodal.tpl"}] diff --git a/tpl/layout/page.tpl b/tpl/layout/page.tpl new file mode 100644 index 0000000..1a07e16 --- /dev/null +++ b/tpl/layout/page.tpl @@ -0,0 +1,41 @@ +[{capture append="oxidBlock_pageBody"}] + [{if $oView->showRDFa()}] + [{include file="rdfa/rdfa.tpl"}] + [{/if}] + + [{block name="layout_header"}] + [{include file="layout/header.tpl"}] + [{/block}] + +
      + [{$smarty.capture.loginErrors}] + + [{if $sidebar && $sidebar != "Right"}] + + [{/if}] + +
      + [{block name="content_main"}] + [{include file="message/errors.tpl"}] + + [{foreach from=$oxidBlock_content item="_block"}] + [{$_block}] + [{/foreach}] + [{/block}] +
      + + [{if $sidebar && $sidebar == "Right"}] + + [{/if}] +
      + + [{include file="layout/footer.tpl"}] + + [{block name="layout_init_social"}] + [{/block}] +[{/capture}] +[{include file="layout/base.tpl"}] diff --git a/tpl/layout/popup.tpl b/tpl/layout/popup.tpl new file mode 100644 index 0000000..52a95eb --- /dev/null +++ b/tpl/layout/popup.tpl @@ -0,0 +1,10 @@ +[{capture append="oxidBlock_pageBody"}] +
      +
      +
      + [{foreach from=$oxidBlock_content item="_block"}][{$_block}][{/foreach}] +
      +
      +
      +[{/capture}] +[{include file="layout/base.tpl"}] \ No newline at end of file diff --git a/tpl/layout/sidebar.tpl b/tpl/layout/sidebar.tpl new file mode 100644 index 0000000..f51d050 --- /dev/null +++ b/tpl/layout/sidebar.tpl @@ -0,0 +1,58 @@ +[{foreach from=$oxidBlock_sidebar item="_block"}] + [{$_block}] +[{/foreach}] + +[{block name="sidebar"}] + [{block name="sidebar_categoriestree"}] + [{if $oView->getClassName() == 'alist' }] +
      +
      + + [{oxid_include_widget cl="oxwCategoryTree" cnid=$oView->getCategoryId() deepLevel=0 noscript=1 nocookie=1}] +
      +
      + [{/if}] + [{/block}] + + [{block name="sidebar_tags"}] + [{/block}] + + [{block name="sidebar_partners"}] + [{if $oView->getClassName() eq "start"}] + [{include file="widget/sidebar/partners.tpl"}] + [{/if}] + [{/block}] + + [{block name="sidebar_boxproducts"}][{/block}] + + [{block name="sidebar_recommendation"}] + [{if $oViewConf->getShowListmania() && $oView->getSimilarRecommListIds()}] + [{oxid_include_widget nocookie=1 cl="oxwRecommendation" aArticleIds=$oView->getSimilarRecommListIds() searchrecomm=$oView->getRecommSearch()}] + [{elseif $oViewConf->getShowListmania() && $oView->getRecommSearch()}] + [{oxid_include_widget nocookie=1 cl="oxwRecommendation" _parent=$oView->getClassName() searchrecomm=$oView->getRecommSearch()}] + [{/if}] + [{/block}] + + [{block name="sidebar_news"}] + [{if $oxcmp_news}] + [{if $oxcmp_news|count}] + [{include file="widget/sidebar/news.tpl" oNews=$oxcmp_news}] + [{/if}] + [{/if}] + [{/block}] + + [{block name="sidebar_social"}] + [{/block}] + + [{block name="sidebar_shopluperatings"}] + [{if $oView->getClassName() eq "start"}] + [{include file="widget/shoplupe/ratings.tpl"}] + [{/if}] + [{/block}] +[{/block}] + diff --git a/tpl/message/err_404.tpl b/tpl/message/err_404.tpl new file mode 100644 index 0000000..f61939f --- /dev/null +++ b/tpl/message/err_404.tpl @@ -0,0 +1,37 @@ +[{capture append="oxidBlock_content"}] +
      +

      [{oxmultilang ident="ERROR"}]

      +
      +
      +

      + [{if $sUrl}] + [{assign var="sModifiedUrl" value=$sUrl|escape }] + [{assign var="sModifiedUrl" value="'"|cat:$sModifiedUrl|cat:"'"}] + [{ oxmultilang ident="ERROR_404" args=$sModifiedUrl }] + [{else}] + [{oxmultilang ident="ERROR_404"}] + [{/if}] +

      + +

      + [{oxmultilang ident="DD_ERR_404_START_TEXT"}]
      + [{oxmultilang ident="DD_ERR_404_START_BUTTON"}] +

      + +

      + [{oxmultilang ident="DD_ERR_404_CONTACT_TEXT"}]
      + [{oxmultilang ident="DD_ERR_404_CONTACT_BUTTON"}] +

      +
      +
      + +
      +
      +
      +[{/capture}] +[{include file="layout/page.tpl" blHideBreadcrumb=true}] diff --git a/tpl/message/err_accessdenied.tpl b/tpl/message/err_accessdenied.tpl new file mode 100644 index 0000000..2d0f48c --- /dev/null +++ b/tpl/message/err_accessdenied.tpl @@ -0,0 +1,7 @@ +[{capture append="oxidBlock_content"}] +

      [{ oxmultilang ident="ERROR" }]

      + +[{include file="message/error.tpl" statusMessage="ERROR_MESSAGE_ACCESS_DENIED"|oxmultilangassign}]. + +[{/capture}] +[{include file="layout/page.tpl" blHideBreadcrumb=true}] diff --git a/tpl/message/err_setup.tpl b/tpl/message/err_setup.tpl new file mode 100644 index 0000000..4e4c8c0 --- /dev/null +++ b/tpl/message/err_setup.tpl @@ -0,0 +1,11 @@ +[{capture append="oxidBlock_pageBody"}] +

      [{oxmultilang ident="ERROR_MESSAGE_OXID_SHOP_ERROR"}]

      + [{capture append="_error_content"}] +
      +
      [{oxmultilang ident="ERROR_MESSAGE_OXID_SHOP_ERROR"}]
      +
      [{oxmultilang ident="MESSAGE_PLEASE_DELETE_FOLLOWING_DIRECTORY" suffix="COLON"}] [{$oViewConf->getBaseDir()}]/setup!
      +
      + [{/capture}] + [{include file="message/error.tpl" statusMessage=""|implode:$_error_content}] +[{/capture}] +[{include file="layout/base.tpl"}] diff --git a/tpl/message/err_unknown.tpl b/tpl/message/err_unknown.tpl new file mode 100644 index 0000000..88e28d9 --- /dev/null +++ b/tpl/message/err_unknown.tpl @@ -0,0 +1,9 @@ +[{capture append="oxidBlock_pageBody"}] + +
      +
      [{oxmultilang ident="[{oxmultilang ident="ERROR_MESSAGE_UNKNOWN_ERROR"}] #[{$oView->getErrorNumber()}] !
      +
      [{oxmultilang ident="MESSAGE_PLEASE_CONTACT_SUPPORT"}]
      +
      + +[{/capture}] +[{include file="layout/base.tpl"}] \ No newline at end of file diff --git a/tpl/message/error.tpl b/tpl/message/error.tpl new file mode 100644 index 0000000..648b774 --- /dev/null +++ b/tpl/message/error.tpl @@ -0,0 +1 @@ +

      [{$statusMessage}]

      \ No newline at end of file diff --git a/tpl/message/errors.tpl b/tpl/message/errors.tpl new file mode 100644 index 0000000..54a3fb3 --- /dev/null +++ b/tpl/message/errors.tpl @@ -0,0 +1,8 @@ +[{if $Errors|is_array && $Errors.default|is_array && !empty($Errors.default)}] + [{foreach from=$Errors.default item=oEr key=key}] +

      [{$oEr->getOxMessage()}]

      + [{/foreach}] +[{/if}] +[{if $Errors.popup|is_array && !empty($Errors.popup)}] + [{include file="message/errors_modal.tpl"}] +[{/if}] \ No newline at end of file diff --git a/tpl/message/errors_modal.tpl b/tpl/message/errors_modal.tpl new file mode 100644 index 0000000..426470b --- /dev/null +++ b/tpl/message/errors_modal.tpl @@ -0,0 +1,21 @@ + +[{oxscript add="$('#error-popup').modal('show');"}] \ No newline at end of file diff --git a/tpl/message/exception.tpl b/tpl/message/exception.tpl new file mode 100644 index 0000000..8e20ebb --- /dev/null +++ b/tpl/message/exception.tpl @@ -0,0 +1,21 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="MY_DOWNLOADS"|oxmultilangassign}] +
      + [{if $Errors|is_array && $Errors.default|is_array && !empty($Errors.default)}] +
      + [{foreach from=$Errors.default item=oEr key=key}] +

      [{$oEr->getOxMessage()}]

      + +

      [{$oEr->getStackTrace()|nl2br}];

      + [{/foreach}] +
      + [{/if}] +
      + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="downloads"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] \ No newline at end of file diff --git a/tpl/message/inputvalidation.tpl b/tpl/message/inputvalidation.tpl new file mode 100644 index 0000000..5decd02 --- /dev/null +++ b/tpl/message/inputvalidation.tpl @@ -0,0 +1,3 @@ +[{foreach from=$aErrors item="oError"}] +
      [{$oError->getMessage()}]
      +[{/foreach}] \ No newline at end of file diff --git a/tpl/message/notice.tpl b/tpl/message/notice.tpl new file mode 100644 index 0000000..c373019 --- /dev/null +++ b/tpl/message/notice.tpl @@ -0,0 +1 @@ +
      [{$statusMessage}]
      \ No newline at end of file diff --git a/tpl/message/success.tpl b/tpl/message/success.tpl new file mode 100644 index 0000000..22192d8 --- /dev/null +++ b/tpl/message/success.tpl @@ -0,0 +1 @@ +

      [{$statusMessage}]

      \ No newline at end of file diff --git a/tpl/message/user_blocked.tpl b/tpl/message/user_blocked.tpl new file mode 100644 index 0000000..a96499c --- /dev/null +++ b/tpl/message/user_blocked.tpl @@ -0,0 +1,8 @@ +[{capture append="oxidBlock_content"}] +

      [{oxifcontent ident="oxblocked" object="oCont"}] + [{$oCont->oxcontents__oxcontent->value}] + [{/oxifcontent}]

      + [{insert name="oxid_tracker"}] +[{/capture}] + +[{include file="layout/page.tpl"}] \ No newline at end of file diff --git a/tpl/page/account/dashboard.tpl b/tpl/page/account/dashboard.tpl new file mode 100644 index 0000000..2ae22af --- /dev/null +++ b/tpl/page/account/dashboard.tpl @@ -0,0 +1,154 @@ +[{assign var="template_title" value="MY_ACCOUNT"|oxmultilangassign}] +[{capture append="oxidBlock_content"}] +
      +

      [{oxmultilang ident="MY_ACCOUNT"}] + "[{$oxcmp_user->oxuser__oxusername->value}]"

      + + [{if $oView->getAccountDeletionStatus() === false}] + [{assign var="statusMessage" value="DD_DELETE_MY_ACCOUNT_ERROR"|oxmultilangassign}] + [{include file="message/error.tpl" statusMessage=$statusMessage}] + [{/if}] + +
      +
      + [{block name="account_dashboard_col1"}] +
      + +
      [{oxmultilang ident="CHANGE_PASSWORD"}]
      +
      +
      + +
      [{oxmultilang ident="NEWSLETTER_SUBSCRIBE_CANCEL"}]
      +
      +
      + +
      [{oxmultilang ident="UPDATE_YOUR_BILLING_SHIPPING_SETTINGS"}]
      +
      +
      + +
      [{oxmultilang ident="ORDERS"}] [{$oView->getOrderCnt()}]
      +
      + [{if $oView->isEnabledDownloadableFiles()}] +
      + +
      [{oxmultilang ident="MY_DOWNLOADS_DESC"}]
      +
      + [{/if}] + [{/block}] +
      +
      + [{block name="account_dashboard_col2"}] +
      + +
      [{oxmultilang ident="PRODUCT"}] [{if $oxcmp_user}][{$oxcmp_user->getNoticeListArtCnt()}][{else}]0[{/if}]
      +
      + [{if $oViewConf->getShowWishlist()}] +
      + +
      [{oxmultilang ident="PRODUCT"}] [{if $oxcmp_user}][{$oxcmp_user->getWishListArtCnt()}][{else}]0[{/if}]
      +
      + [{/if}] + [{if $oViewConf->getShowCompareList()}] +
      + +
      [{oxmultilang ident="PRODUCT"}] [{if $oView->getCompareItemsCnt()}][{$oView->getCompareItemsCnt()}][{else}]0[{/if}]
      +
      + [{/if}] + [{if $oViewConf->getShowListmania()}] +
      + +
      [{oxmultilang ident="LISTS"}] [{if $oxcmp_user->getRecommListsCount()}][{$oxcmp_user->getRecommListsCount()}][{else}]0[{/if}]
      +
      + [{/if}] + [{if $oView->isUserAllowedToManageOwnReviews()}] +
      + +
      [{oxmultilang ident="MY_REVIEWS"}] [{if $oView->getReviewAndRatingItemsCount()}][{$oView->getReviewAndRatingItemsCount()}][{else}]0[{/if}]
      +
      + [{/if}] + [{/block}] +
      +
      +
      + +
      + [{block name="account_dashboard_delete_my_account"}] +
      + [{if $oView->isUserAllowedToDeleteOwnAccount()}] + + [{include file="page/account/delete_my_account_confirmation.tpl"}] + [{/if}] +
      + [{/block}] + +

       

      +
      + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + + +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] diff --git a/tpl/page/account/delete_my_account_confirmation.tpl b/tpl/page/account/delete_my_account_confirmation.tpl new file mode 100644 index 0000000..8961580 --- /dev/null +++ b/tpl/page/account/delete_my_account_confirmation.tpl @@ -0,0 +1,50 @@ +[{block name="account_delete_my_account_confirmation"}] + +[{/block}] diff --git a/tpl/page/account/delete_review_confirmation.tpl b/tpl/page/account/delete_review_confirmation.tpl new file mode 100644 index 0000000..d408e2b --- /dev/null +++ b/tpl/page/account/delete_review_confirmation.tpl @@ -0,0 +1,51 @@ +[{block name="delete_review_confirmation_modal"}] + +[{/block}] diff --git a/tpl/page/account/downloads.tpl b/tpl/page/account/downloads.tpl new file mode 100644 index 0000000..7d46229 --- /dev/null +++ b/tpl/page/account/downloads.tpl @@ -0,0 +1,52 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="MY_DOWNLOADS"|oxmultilangassign}] +

      [{oxmultilang ident="MY_DOWNLOADS"}]

      + [{if $oView->getOrderFilesList()|count}] +
        + [{foreach from=$oView->getOrderFilesList() item="oOrderArticle"}] +
      1. + [{foreach from=$oOrderArticle.oxorderfiles item="oOrderFile"}] +
        +
        +
        +
        + [{$oOrderArticle.oxarticletitle}] – [{oxmultilang ident="ORDER_NUMBER"}]: [{$oOrderArticle.oxordernr}], [{$oOrderArticle.oxorderdate|date_format:"%d.%m.%Y"}] +
        + +
        +
        +
        + [{if $oOrderFile->isPaid() || !$oOrderFile->oxorderfiles__oxpurchasedonly->value }] + [{if $oOrderFile->isValid()}] + [{oxmultilang ident="DD_FILE_ATTRIBUTES_FILENAME" suffix="COLON"}] [{$oOrderFile->oxorderfiles__oxfilename->value}]
        + [{include file="page/account/inc/file_attributes.tpl"}] + [{else}] + [{$oOrderFile->oxorderfiles__oxfilename->value}] + [{oxmultilang ident="DOWNLOAD_LINK_EXPIRED_OR_MAX_COUNT_RECEIVED"}] + [{/if}] + [{else}] + [{$oOrderFile->oxorderfiles__oxfilename->value}] + [{oxmultilang ident="DOWNLOADS_PAYMENT_PENDING"}] + [{/if}] +
        +
        + [{/foreach}] +
      2. + [{/foreach}] +
      + [{else}] +

      [{oxmultilang ident="DOWNLOADS_EMPTY"}]

      + [{/if}] + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="downloads"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] diff --git a/tpl/page/account/forgotpwd.tpl b/tpl/page/account/forgotpwd.tpl new file mode 100644 index 0000000..dc612a7 --- /dev/null +++ b/tpl/page/account/forgotpwd.tpl @@ -0,0 +1,62 @@ +[{capture append="oxidBlock_pageBody"}] + [{if $oView->isEnabledPrivateSales()}] + [{oxid_include_widget cl="oxwCookieNote" _parent=$oView->getClassName() nocookie=1}] + [{/if}] +[{/capture}] +[{capture append="oxidBlock_content"}] + + [{if $oView->showUpdateScreen()}] + [{assign var="template_title" value="NEW_PASSWORD"|oxmultilangassign}] + [{elseif $oView->updateSuccess()}] + [{assign var="template_title" value="CHANGE_PASSWORD"|oxmultilangassign}] + [{else}] + [{assign var="template_title" value="FORGOT_PASSWORD"|oxmultilangassign}] + [{/if}] + +

      [{$template_title}]

      + + [{if $oView->isExpiredLink()}] +
      [{oxmultilang ident="ERROR_MESSAGE_PASSWORD_LINK_EXPIRED"}]
      + [{elseif $oView->showUpdateScreen()}] + [{include file="form/forgotpwd_change_pwd.tpl"}] + [{elseif $oView->updateSuccess()}] +
      [{oxmultilang ident="PASSWORD_CHANGED"}]
      + +
      +
      + [{$oViewConf->getHiddenSid()}] + + +
      +
      + [{else}] + [{if $oView->getForgotEmail()}] +
      [{oxmultilang ident="PASSWORD_WAS_SEND_TO"}] [{$oView->getForgotEmail()}]
      +
      +
      +
      + [{$oViewConf->getHiddenSid()}] + + +
      +
      +
      + [{else}] + [{include file="form/forgotpwd_email.tpl"}] + [{/if}] + [{/if}] + + [{if !$oView->isActive('PsLogin')}] + [{insert name="oxid_tracker" title=$template_title}] + [{/if}] +[{/capture}] +[{if $oView->isActive('PsLogin')}] + [{include file="layout/popup.tpl"}] +[{else}] + [{include file="layout/page.tpl"}] +[{/if}] + diff --git a/tpl/page/account/inc/account_menu.tpl b/tpl/page/account/inc/account_menu.tpl new file mode 100644 index 0000000..3201da4 --- /dev/null +++ b/tpl/page/account/inc/account_menu.tpl @@ -0,0 +1,47 @@ + diff --git a/tpl/page/account/inc/file_attributes.tpl b/tpl/page/account/inc/file_attributes.tpl new file mode 100644 index 0000000..8ea2de6 --- /dev/null +++ b/tpl/page/account/inc/file_attributes.tpl @@ -0,0 +1,19 @@ +[{oxmultilang ident="DD_FILE_ATTRIBUTES_FILESIZE" suffix="COLON"}] [{$oOrderFile->getFileSize()|oxfilesize}] + +[{if $oOrderFile->oxorderfiles__oxdownloadcount->value == 0 && $oOrderFile->getValidUntil() != "0000-00-00 00:00" }] + [{if $oOrderFile->oxorderfiles__oxlinkexpirationtime->value || $oOrderFile->oxorderfiles__oxdownloadxpirationtime->value}] +
      [{oxmultilang ident="START_DOWNLOADING_UNTIL"}] [{$oOrderFile->getValidUntil()|date_format:"%d.%m.%Y"}] [{$oOrderFile->getValidUntil()|date_format:"%H:%M:%S"}] [{oxmultilang ident="DD_FILE_ATTRIBUTES_OCLOCK"}]. + [{/if}] + [{if $oOrderFile->oxorderfiles__oxmaxdownloadcount->value != 0}] +
      [{oxmultilang ident="LEFT_DOWNLOADS"}]: [{$oOrderFile->getLeftDownloadCount()}] + [{/if}] +[{else}] + [{if $oOrderFile->getValidUntil() != "0000-00-00 00:00" }] + [{if $oOrderFile->oxorderfiles__oxlinkexpirationtime->value || $oOrderFile->oxorderfiles__oxdownloadxpirationtime->value}] +
      [{oxmultilang ident="LINK_VALID_UNTIL"}]: [{$oOrderFile->getValidUntil()|date_format:"%d.%m.%Y"}] [{$oOrderFile->getValidUntil()|date_format:"%H:%M:%S"}] [{oxmultilang ident="DD_FILE_ATTRIBUTES_OCLOCK"}]. + [{/if}] + [{/if}] + [{if $oOrderFile->oxorderfiles__oxmaxdownloadcount->value != 0}] +
      [{oxmultilang ident="LEFT_DOWNLOADS"}]: [{$oOrderFile->getLeftDownloadCount()}] + [{/if}] +[{/if}] \ No newline at end of file diff --git a/tpl/page/account/login.tpl b/tpl/page/account/login.tpl new file mode 100644 index 0000000..b93260f --- /dev/null +++ b/tpl/page/account/login.tpl @@ -0,0 +1,10 @@ +[{assign var="template_title" value="REGISTER"|oxmultilangassign}] +[{capture append="oxidBlock_content"}] +
      +

      [{oxmultilang ident="LOGIN"}]

      + [{include file="form/login_account.tpl"}] +
      + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{include file="layout/page.tpl"}] \ No newline at end of file diff --git a/tpl/page/account/newsletter.tpl b/tpl/page/account/newsletter.tpl new file mode 100644 index 0000000..8e39755 --- /dev/null +++ b/tpl/page/account/newsletter.tpl @@ -0,0 +1,20 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="NEWSLETTER_SETTINGS"|oxmultilangassign}] + [{if $oView->getSubscriptionStatus() != 0}] + [{if $oView->getSubscriptionStatus() == 1}] +
      [{oxmultilang ident="MESSAGE_NEWSLETTER_SUBSCRIPTION_SUCCESS"}]
      + [{else}] +
      [{oxmultilang ident="MESSAGE_NEWSLETTER_SUBSCRIPTION_CANCELED"}]
      + [{/if}] + [{/if}] + +

      [{oxmultilang ident="NEWSLETTER_SETTINGS"}]

      + + [{include file="form/account_newsletter.tpl"}] + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="newsletter"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] \ No newline at end of file diff --git a/tpl/page/account/noticelist.tpl b/tpl/page/account/noticelist.tpl new file mode 100644 index 0000000..3567faf --- /dev/null +++ b/tpl/page/account/noticelist.tpl @@ -0,0 +1,16 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="MY_WISH_LIST"|oxmultilangassign}] +

      [{oxmultilang ident="MY_WISH_LIST"}]

      + + [{if $oView->getNoticeProductList()}] + [{include file="widget/product/list.tpl" type="line" listId="noticelistProductList" title="" products=$oView->getNoticeProductList() removeFunction="tonoticelist" owishid=$oxcmp_user->oxuser__oxid->value}] + [{else}] +

      [{oxmultilang ident="WISH_LIST_EMPTY"}]

      + [{/if}] + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="noticelist"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] \ No newline at end of file diff --git a/tpl/page/account/order.tpl b/tpl/page/account/order.tpl new file mode 100644 index 0000000..3f6b97f --- /dev/null +++ b/tpl/page/account/order.tpl @@ -0,0 +1,108 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="ORDER_HISTORY"|oxmultilangassign}] +

      [{oxmultilang ident="ORDER_HISTORY"}]

      + + [{assign var=oOrders value=$oView->getOrderList()}] + + [{block name="account_order_history"}] + [{if $oOrders && !empty($oOrders)}] + [{assign var=oArticleList value=$oView->getOrderArticleList()}] +
        + [{foreach from=$oOrders item=order}] +
      1. +
        +
        +
        +
        + [{oxmultilang ident="DATE" suffix="COLON"}] + [{$order->oxorder__oxorderdate->value|date_format:"%d.%m.%Y"}] + [{$order->oxorder__oxorderdate->value|date_format:"%H:%M:%S"}] +
        +
        + [{oxmultilang ident="STATUS"}] + + [{if $order->oxorder__oxstorno->value}] + [{oxmultilang ident="ORDER_IS_CANCELED"}] + [{elseif $order->oxorder__oxsenddate->value !="-"}] + [{oxmultilang ident="SHIPPED"}] + [{else}] + [{oxmultilang ident="NOT_SHIPPED_YET"}] + [{/if}] + +
        +
        + [{oxmultilang ident="ORDER_NUMBER"}] + [{$order->oxorder__oxordernr->value}] +
        +
        + [{oxmultilang ident="SHIPMENT_TO"}] + + [{if $order->oxorder__oxdellname->value}] + [{$order->oxorder__oxdelfname->value}] + [{$order->oxorder__oxdellname->value}] + [{else}] + [{$order->oxorder__oxbillfname->value}] + [{$order->oxorder__oxbilllname->value}] + [{/if}] + + [{if $order->getShipmentTrackingUrl()}] +  | [{oxmultilang ident="TRACKING_ID"}] + + [{oxmultilang ident="TRACK_SHIPMENT"}] + + [{/if}] +
        +
        +
        +
        + [{oxmultilang ident="CART"}] + [{block name="account_order_history_cart_items"}] +
          + [{foreach from=$order->getOrderArticles(true) item=orderitem name=testOrderItem}] + [{assign var=sArticleId value=$orderitem->oxorderarticles__oxartid->value}] + [{assign var=oArticle value=$oArticleList[$sArticleId]}] +
        1. + [{$orderitem->oxorderarticles__oxamount->value}] [{oxmultilang ident="QNT"}] + [{if $oArticle->oxarticles__oxid->value && $oArticle->isVisible()}] + + [{/if}] + [{$orderitem->oxorderarticles__oxtitle->value}] [{$orderitem->oxorderarticles__oxselvariant->value}] + [{if $oArticle->oxarticles__oxid->value && $oArticle->isVisible()}] + + [{/if}] + [{foreach key=sVar from=$orderitem->getPersParams() item=aParam}] + [{if $aParam}] +
          [{oxmultilang ident="DETAILS"}]: [{$aParam}] + [{/if}] + [{/foreach}] + [{* Commented due to Trusted Shops precertification. Enable if needed *}] + [{* + [{oxhasrights ident="TOBASKET"}] + [{if $oArticle->isBuyable()}] + [{if $oArticle->oxarticles__oxid->value}] + [{oxmultilang ident="TO_CART"}] + [{/if}] + [{/if}] + [{/oxhasrights}] + *}] +
        2. + [{/foreach}] +
        + [{/block}] +
        +
        +
      2. + [{/foreach}] +
      + [{include file="widget/locator/listlocator.tpl" locator=$oView->getPageNavigation() place="bottom"}] + [{else}] + [{oxmultilang ident="ORDER_EMPTY_HISTORY"}] + [{/if}] + [{/block}] + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="orderhistory"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] \ No newline at end of file diff --git a/tpl/page/account/password.tpl b/tpl/page/account/password.tpl new file mode 100644 index 0000000..1685dff --- /dev/null +++ b/tpl/page/account/password.tpl @@ -0,0 +1,28 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="CHANGE_PASSWORD"|oxmultilangassign}] + + [{if $oView->isPasswordChanged()}] +
      + [{oxmultilang ident="MESSAGE_PASSWORD_CHANGED"}] +
      + [{/if}] + [{if $Errors|is_array && $Errors.user|is_array && !empty($Errors.user)}] +
      + [{foreach from=$Errors.user item=oEr key=key}] +

      [{$oEr->getOxMessage()}]

      + [{/foreach}] +
      + [{/if}] + +

      [{oxmultilang ident="CHANGE_PASSWORD"}]

      + + [{include file="form/user_password.tpl"}] + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="password"}] +[{/capture}] + +[{include file="layout/page.tpl" sidebar="Left"}] diff --git a/tpl/page/account/recommendationadd.tpl b/tpl/page/account/recommendationadd.tpl new file mode 100644 index 0000000..659cde0 --- /dev/null +++ b/tpl/page/account/recommendationadd.tpl @@ -0,0 +1,12 @@ +[{capture append="oxidBlock_content"}] +[{assign var="product" value=$oView->getProduct()}] +[{assign var="template_title" value=$product->oxarticles__oxtitle->value|cat:" "|cat:$product->oxarticles__oxvarselect->value}] + +

      [{$template_title}]

      + +[{oxid_include_dynamic file="form/recommendation_add.tpl" testid=""}] +[{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{include file="layout/page.tpl" sidebar="Left"}] + diff --git a/tpl/page/account/recommendationedit.tpl b/tpl/page/account/recommendationedit.tpl new file mode 100644 index 0000000..4b4cd83 --- /dev/null +++ b/tpl/page/account/recommendationedit.tpl @@ -0,0 +1,22 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="LISTMANIA"|oxmultilangassign}] + [{if $oView->getActiveRecommList()}] + [{assign var="_actvrecommlist" value=$oView->getActiveRecommList()}] + [{assign var="recommendation_head" value=$_actvrecommlist->oxrecommlists__oxtitle->value}] + +

      [{$recommendation_head}]

      +
      + [{include file="form/recommendation_edit.tpl" actvrecommlist=$_actvrecommlist}] +
      + [{if $oView->getArticleList()}] + [{assign var="blEdit" value=true}] + [{include file="widget/product/list.tpl" type="line" listId="recommendProductList" products=$oView->getArticleList() recommid=$_actvrecommlist->getId() removeFunction="removeArticle"}] + [{include file="widget/locator/listlocator.tpl" locator=$oView->getPageNavigation() place="bottom"}] + [{/if}] + [{/if}] + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="recommendationlist"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] diff --git a/tpl/page/account/recommendationlist.tpl b/tpl/page/account/recommendationlist.tpl new file mode 100644 index 0000000..ab32f63 --- /dev/null +++ b/tpl/page/account/recommendationlist.tpl @@ -0,0 +1,30 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="LISTMANIA"|oxmultilangassign}] + [{assign var="_actvrecommlist" value=$oView->getActiveRecommList()}] + +

      [{oxmultilang ident="LISTMANIA"}]

      + + [{if $oView->isSavedList()}] + [{assign var="_statusMessage" value="LISTMANIA_LIST_SAVED"|oxmultilangassign}] + [{include file="message/success.tpl" statusMessage=$_statusMessage}] + [{/if}] + + [{block name="account_redommendationlist_content"}] + + [{include file="form/recommendation_edit.tpl" actvrecommlist=$_actvrecommlist}] + +
      + + [{if !$oView->getActiveRecommList()}] + [{assign var="blEdit" value=true}] + [{include file="page/recommendations/inc/list.tpl"}] + [{/if}] + [{/block}] + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="recommendationlist"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] + diff --git a/tpl/page/account/register.tpl b/tpl/page/account/register.tpl new file mode 100644 index 0000000..ea6926a --- /dev/null +++ b/tpl/page/account/register.tpl @@ -0,0 +1,23 @@ +[{capture append="oxidBlock_pageBody"}] + [{if $oView->isEnabledPrivateSales()}] + [{oxid_include_widget cl="oxwCookieNote" _parent=$oView->getClassName() nocookie=1}] + [{/if}] +[{/capture}] + +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="OPEN_ACCOUNT"|oxmultilangassign}] + [{if $oView->isActive('PsLogin')}] + [{include file="message/errors.tpl"}] + [{/if}] + +

      [{oxmultilang ident="OPEN_ACCOUNT"}]

      + [{include file="form/register.tpl"}] + + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{if $oView->isActive('PsLogin')}] + [{include file="layout/popup.tpl"}] +[{else}] + [{include file="layout/page.tpl" sidebar="Right"}] +[{/if}] \ No newline at end of file diff --git a/tpl/page/account/register_confirm.tpl b/tpl/page/account/register_confirm.tpl new file mode 100644 index 0000000..de6839a --- /dev/null +++ b/tpl/page/account/register_confirm.tpl @@ -0,0 +1,10 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="MESSAGE_WELCOME_REGISTERED_USER"|oxmultilangassign}] +

      [{oxmultilang ident="MESSAGE_WELCOME_REGISTERED_USER"}]

      +
      + [{oxmultilang ident="MESSAGE_ACCOUNT_REGISTRATION_CONFIRMED"}] +
      + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] + diff --git a/tpl/page/account/register_success.tpl b/tpl/page/account/register_success.tpl new file mode 100644 index 0000000..ff01bd4 --- /dev/null +++ b/tpl/page/account/register_success.tpl @@ -0,0 +1,23 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="MESSAGE_WELCOME_REGISTERED_USER"|oxmultilangassign}] +

      [{oxmultilang ident="MESSAGE_WELCOME_REGISTERED_USER"}]

      +
      + [{if $oView->getRegistrationStatus() == 1}] + [{oxmultilang ident="MESSAGE_CONFIRMING_REGISTRATION"}] + [{elseif $oView->getRegistrationStatus() == 2}] + [{oxmultilang ident="MESSAGE_SENT_CONFIRMATION_EMAIL"}] + [{/if}] + + [{if $oView->getRegistrationError() == 4}] +
      + [{oxmultilang ident="MESSAGE_NOT_ABLE_TO_SEND_EMAIL"}] +
      + [{/if}] +
      + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{if $oView->isActive('PsLogin')}] + [{include file="layout/popup.tpl"}] +[{else}] + [{include file="layout/page.tpl" sidebar="Left"}] +[{/if}] \ No newline at end of file diff --git a/tpl/page/account/reviews.tpl b/tpl/page/account/reviews.tpl new file mode 100644 index 0000000..11db362 --- /dev/null +++ b/tpl/page/account/reviews.tpl @@ -0,0 +1,93 @@ +[{capture append="oxidBlock_content"}] + + [{oxscript include="js/widgets/oxlistremovebutton.min.js" priority=10}] + + [{block name="account_reviewlist_header"}] + [{assign var="template_title" value="MY_REVIEWS"|oxmultilangassign}] +

      [{oxmultilang ident="MY_REVIEWS"}]

      + [{/block}] + + [{block name="account_reviewlist_list"}] +
      + [{if $oView->getReviewAndRatingItemsCount() }] +
      +
      + [{foreach from=$oView->getReviewList() item=review name=ReviewsCounter}] + [{block name="account_reviewlist_item"}] +
      +
      +
      +
      + + + +
      +
      + [{$review->getObjectTitle()|truncate:60}] +
      +
      + [{if $review->getRating()}] +
      + [{section name="starRatings" start=0 loop=5}] + [{if $review->getRating() >= $smarty.section.starRatings.iteration}] + + [{else}] + + [{/if}] + [{/section}] +
      + [{/if}] +
      + [{block name="account_reviewlist_item_action"}] +
      +
      +
      + +
      +
      +
      + [{/block}] +
      +
      + [{if $review->getReviewText()}] +
      [{$review->getReviewText()}]
      + [{/if}] +
      + [{/block}] + [{include + file="page/account/delete_review_confirmation.tpl" + reviewId=$review->getReviewId() + ratingId=$review->getRatingId() + reviewCounterIteration=$smarty.foreach.ReviewsCounter.iteration + }] + [{/foreach}] +
      + [{else}] + [{block name="account_reviewlist_no_reviews_available"}] +
      + [{oxmultilang ident="DD_REVIEWS_NOT_AVAILABLE"}] +
      + [{/block}] + [{/if}] +
      + [{/block}] + + [{block name="account_reviewlist_locator"}] + [{include file="widget/locator/listlocator.tpl" locator=$oView->getPageNavigation() place="bottom"}] + [{/block}] + + [{insert name="oxid_tracker" title=$template_title}] + +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="reviewlist"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] diff --git a/tpl/page/account/user.tpl b/tpl/page/account/user.tpl new file mode 100644 index 0000000..222ee66 --- /dev/null +++ b/tpl/page/account/user.tpl @@ -0,0 +1,12 @@ +[{capture append="oxidBlock_content"}] +

      [{$oView->getTitle()}]

      + + [{block name="account_user_form"}] + [{include file="form/user.tpl"}] + [{/block}] + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="billship"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] \ No newline at end of file diff --git a/tpl/page/account/wishlist.tpl b/tpl/page/account/wishlist.tpl new file mode 100644 index 0000000..67e9f9b --- /dev/null +++ b/tpl/page/account/wishlist.tpl @@ -0,0 +1,41 @@ +[{capture append="oxidBlock_content"}] + [{assign var="template_title" value="MY_GIFT_REGISTRY"|oxmultilangassign}] + [{if !$oView->getWishListUsers() && $oView->getWishListSearchParam()}] + [{assign var="_statusMessage" value="MESSAGE_SORRY_NO_GIFT_REGISTRY"|oxmultilangassign}] + [{include file="message/error.tpl" statusMessage=$_statusMessage}] + [{/if}] + [{assign var="editval" value=$oView->getEnteredData()}] + [{if $oView->isWishListEmailSent()}] + [{assign var="_statusMessage" value="GIFT_REGISTRY_SENT_SUCCESSFULLY"|oxmultilangassign:$editval->rec_email}] + [{include file="message/notice.tpl" statusMessage=$_statusMessage}] + [{/if}] + +

      [{$oView->getTitle()}]

      + + + +
      + +
      + [{if $oView->getWishList()}] + [{include file="form/wishlist_publish.tpl"}] +
      + [{include file="form/wishlist_suggest.tpl"}] + [{/if}] +
      + + [{if $oView->getWishList()}] + [{include file="widget/product/list.tpl" type="line" listId="wishlistProductList" title="" products=$oView->getWishProductList() removeFunction="towishlist" toBasketFunction="tobasket" owishid=$oxcmp_user->oxuser__oxid->value}] + [{else}] +

      + [{oxmultilang ident="GIFT_REGISTRY_EMPTY"}] +

      + [{/if}] + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{capture append="oxidBlock_sidebar"}] + [{include file="page/account/inc/account_menu.tpl" active_link="wishlist"}] +[{/capture}] +[{include file="layout/page.tpl" sidebar="Left"}] \ No newline at end of file diff --git a/tpl/page/checkout/basket.tpl b/tpl/page/checkout/basket.tpl new file mode 100644 index 0000000..dcaabfe --- /dev/null +++ b/tpl/page/checkout/basket.tpl @@ -0,0 +1,127 @@ +[{assign var="oConfig" value=$oViewConf->getConfig()}] +[{capture append="oxidBlock_content"}] + + [{* ordering steps *}] + [{include file="page/checkout/inc/steps.tpl" active=1}] + + [{block name="checkout_basket_main"}] + [{assign var="currency" value=$oView->getActCurrency()}] + + [{if $oView->isLowOrderPrice()}] + [{block name="checkout_basket_loworderprice_top"}] +
      [{oxmultilang ident="MIN_ORDER_PRICE"}] [{$oView->getMinOrderPrice()}] [{$currency->sign}]
      +
      + [{/block}] + [{/if}] + + [{if !$oxcmp_basket->getProductsCount()}] + [{block name="checkout_basket_emptyshippingcart"}] +
      +
      + [{oxmultilang ident="DD_BASKET_BACK_TO_SHOP"}] + [{oxmultilang ident="BASKET_EMPTY"}] +
      + [{/block}] + [{else}] + [{block name="checkout_basket_next_step_top"}] +
      +
      +
      +
      + [{block name="checkout_basket_backtoshop_top"}] + [{if $oView->showBackToShop()}] +
      + + +
      + [{else}] + + [{oxmultilang ident="CONTINUE_SHOPPING"}] + + [{/if}] + [{/block}] +
      +
      + [{if !$oView->isLowOrderPrice()}] + [{block name="basket_btn_next_top"}] +
      + + +
      + [{/block}] + [{/if}] +
      +
      +
      +
      + [{/block}] + +
      + [{include file="page/checkout/inc/basketcontents.tpl" editable=true}] +
      + + [{block name="checkout_basket_next_step_bottom"}] +
      +
      +
      +
      + [{block name="checkout_basket_loworderprice_bottom"}][{/block}] + + [{block name="checkout_basket_backtoshop_bottom"}] + [{if $oView->showBackToShop()}] +
      +
      + [{$oViewConf->getHiddenSid()}] + + + +
      +
      + [{else}] + + [{oxmultilang ident="CONTINUE_SHOPPING"}] + + [{/if}] + [{/block}] +
      +
      + [{if !$oView->isLowOrderPrice()}] + [{block name="basket_btn_next_bottom"}] +
      + + +
      + [{/block}] + [{/if}] +
      +
      +
      +
      + [{/block}] + [{/if}] + [{if $oView->isWrapping()}] + [{include file="page/checkout/inc/wrapping.tpl"}] + [{/if}] + [{/block}] + [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] + +[{include file="layout/page.tpl"}] diff --git a/tpl/page/checkout/inc/agb.tpl b/tpl/page/checkout/inc/agb.tpl new file mode 100644 index 0000000..7e8764c --- /dev/null +++ b/tpl/page/checkout/inc/agb.tpl @@ -0,0 +1,80 @@ +
      + [{if !$hideButtons}] + + [{if !$oView->isActive('PsLogin')}] + [{if $oView->isConfirmAGBActive()}] + [{oxifcontent ident="oxrighttocancellegend" object="oContent"}] +
      +

      [{$oContent->oxcontents__oxtitle->value}]

      +
      + [{/oxifcontent}] + [{else}] + [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}] +
      +

      [{$oContent->oxcontents__oxtitle->value}]

      +
      + [{/oxifcontent}] + [{/if}] + [{/if}] + +
      + [{if !$oView->isActive('PsLogin')}] + [{if $oView->isConfirmAGBActive()}] + [{oxifcontent ident="oxrighttocancellegend" object="oContent"}] +

      + +

      + [{/oxifcontent}] + [{else}] + [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}] +

      + [{$oContent->oxcontents__oxcontent->value}] +

      + [{/oxifcontent}] + [{/if}] + [{/if}] + + [{if $oViewConf->isFunctionalityEnabled('blEnableIntangibleProdAgreement') }] + [{assign var="oExplanationMarks" value=$oView->getBasketContentMarkGenerator() }] + [{if $oxcmp_basket->hasArticlesWithDownloadableAgreement() }] + [{oxifcontent ident="oxdownloadableproductsagreement" object="oContent"}] +

      + +

      + [{/oxifcontent}] + [{/if}] + [{if $oxcmp_basket->hasArticlesWithIntangibleAgreement() }] + [{oxifcontent ident="oxserviceproductsagreement" object="oContent"}] +

      + +

      + [{/oxifcontent}] + [{/if}] + [{/if}] + + [{if $oViewConf->isFunctionalityEnabled("blShowTSInternationalFeesMessage")}] + [{oxifcontent ident="oxtsinternationalfees" object="oTSIFContent"}] +
      [{$oTSIFContent->oxcontents__oxcontent->value}] + [{/oxifcontent}] + [{/if}] + + [{if $payment->oxpayments__oxid->value eq "oxidcashondel" && $oViewConf->isFunctionalityEnabled("blShowTSCODMessage")}] + [{oxifcontent ident="oxtscodmessage" object="oTSCODContent"}] +
      [{$oTSCODContent->oxcontents__oxcontent->value}] + [{/oxifcontent}] + [{/if}] +
      + [{/if}] +
      + +[{oxscript add="$('#checkAgbTop').click(function(){ $('input[name=ord_agb]').val($(this).is(':checked') ? '1' : '0');});"}] +[{oxscript add="$('#oxdownloadableproductsagreement').click(function(){ $('input[name=oxdownloadableproductsagreement]').val($(this).is(':checked') ? '1' : '0');});"}] +[{oxscript add="$('#oxserviceproductsagreement').click(function(){ $('input[name=oxserviceproductsagreement]').val($(this).is(':checked') ? '1' : '0');});"}] \ No newline at end of file diff --git a/tpl/page/checkout/inc/basketcontents.tpl b/tpl/page/checkout/inc/basketcontents.tpl new file mode 100644 index 0000000..7b5ee5b --- /dev/null +++ b/tpl/page/checkout/inc/basketcontents.tpl @@ -0,0 +1,280 @@ +[{* basket contents *}] +[{*oxscript include="js/widgets/oxbasketchecks.min.js" priority=10*}] +[{oxscript include="js/libs/jqBootstrapValidation.min.js" priority=10}] +[{*oxscript add="$('#checkAll, #basketRemoveAll').oxBasketChecks();"*}] +[{oxscript add="$('input,select,textarea').not('[type=submit]').jqBootstrapValidation();"}] +[{assign var="currency" value=$oView->getActCurrency()}] + +
      + [{$oViewConf->getHiddenSid()}] + + + + +
      + [{include file="page/checkout/inc/basketcontents_list.tpl"}] +
      + +
      +
      +[{if $oViewConf->getShowVouchers() && $oViewConf->getActiveClassName() == 'basket'}] + [{block name="checkout_basket_vouchers"}] +
      +
      +
      + + +
      + +
      + + +
      +
      +
      + + + [{foreach from=$Errors.basket item=oEr key=key}] + [{if $oEr->getErrorClassType() == 'oxVoucherException'}] +
      + [{oxmultilang ident="COUPON_NOT_ACCEPTED" args=$oEr->getValue('voucherNr')}] + [{oxmultilang ident="REASON" suffix="COLON"}] + [{$oEr->getOxMessage()}] +
      + [{/if}] + [{/foreach}] +
      +
      +
      + [{/block}] +[{/if}] + +[{block name="checkout_basketcontents_summary"}] + +
      + [{* basket summary *}] + + [{block name="checkout_basketcontents_summary_table_inner"}] + [{if !$oxcmp_basket->getDiscounts()}] + [{block name="checkout_basketcontents_nodiscounttotalnet"}] + + + + + [{/block}] + + [{block name="checkout_basketcontents_nodiscountproductvats"}] + [{foreach from=$oxcmp_basket->getProductVats(false) item=VATitem key=key}] + + + + + [{/foreach}] + [{/block}] + + [{block name="checkout_basketcontents_nodiscounttotalgross"}] + + + + + [{/block}] + [{else}] + [{if $oxcmp_basket->isPriceViewModeNetto()}] + [{block name="checkout_basketcontents_discounttotalnet"}] + + + + + [{/block}] + [{else}] + [{block name="checkout_basketcontents_discounttotalgross"}] + + + + + [{/block}] + [{/if}] + + [{block name="checkout_basketcontents_discounts"}] + [{foreach from=$oxcmp_basket->getDiscounts() item=oDiscount name=test_Discounts}] + + + + + [{/foreach}] + [{/block}] + + [{if !$oxcmp_basket->isPriceViewModeNetto()}] + [{block name="checkout_basketcontents_totalnet"}] + + + + + [{/block}] + [{/if}] + + [{block name="checkout_basketcontents_productvats"}] + [{foreach from=$oxcmp_basket->getProductVats(false) item=VATitem key=key}] + + + + + [{/foreach}] + [{/block}] + + [{if $oxcmp_basket->isPriceViewModeNetto()}] + [{block name="checkout_basketcontents_totalgross"}] + + + + + [{/block}] + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_voucherdiscount"}] + [{if $oViewConf->getShowVouchers() && $oxcmp_basket->getVoucherDiscValue()}] + [{foreach from=$oxcmp_basket->getVouchers() item=sVoucher key=key name=Voucher}] + + + + + [{/foreach}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_delcosts"}] + [{assign var="deliveryCost" value=$oxcmp_basket->getDeliveryCost()}] + [{if $deliveryCost && ($oxcmp_basket->getBasketUser() || $oViewConf->isFunctionalityEnabled('blCalculateDelCostIfNotLoggedIn') ) }] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForDelivery') }] + + + + + [{if $deliveryCost->getVatValue()}] + + [{if $oxcmp_basket->isProportionalCalculationOn() }] + + [{else}] + + [{/if}] + + + [{/if}] + [{else}] + + + + + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_paymentcosts"}] + [{assign var="paymentCost" value=$oxcmp_basket->getPaymentCost()}] + [{if $paymentCost && $paymentCost->getPrice() }] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge') }] + + + + + [{if $paymentCost->getVatValue()}] + + [{if $oxcmp_basket->isProportionalCalculationOn() }] + + [{else}] + + [{/if}] + + + [{/if}] + [{else}] + + + + + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_wrappingcosts"}] + [{if $oViewConf->getShowGiftWrapping() }] + + [{assign var="wrappingCost" value=$oxcmp_basket->getWrappingCost()}] + [{if $wrappingCost && $wrappingCost->getPrice() > 0 }] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForWrapping') }] + + + + + [{if $oxcmp_basket->getWrappCostVat() }] + + + + + [{/if}] + [{else}] + + + + + [{/if}] + [{/if}] + + [{assign var="giftCardCost" value=$oxcmp_basket->getGiftCardCost()}] + [{if $giftCardCost && $giftCardCost->getPrice() > 0 }] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForWrapping') }] + + + + + + [{if $oxcmp_basket->isProportionalCalculationOn() }] + + [{else}] + + [{/if}] + + + [{else}] + + + + + [{/if}] + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_grandtotal"}] + + + + + [{/block}] + + [{if $oxcmp_basket->hasSkipedDiscount()}] + + + + + [{/if}] +
      [{oxmultilang ident="TOTAL_NET"}][{oxprice price=$oxcmp_basket->getNettoSum() currency=$currency}]
      [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}][{oxprice price=$VATitem currency=$currency}]
      [{oxmultilang ident="TOTAL_GROSS" suffix="COLON"}][{oxprice price=$oxcmp_basket->getBruttoSum() currency=$currency}]
      [{oxmultilang ident="TOTAL_NET"}][{oxprice price=$oxcmp_basket->getNettoSum() currency=$currency}]
      [{oxmultilang ident="TOTAL_GROSS" suffix="COLON"}][{oxprice price=$oxcmp_basket->getBruttoSum() currency=$currency}]
      + [{if $oDiscount->dDiscount < 0}][{oxmultilang ident="SURCHARGE"}][{else}][{oxmultilang ident="DISCOUNT"}][{/if}]  + [{$oDiscount->sDiscount}] + + [{oxprice price=$oDiscount->dDiscount*-1 currency=$currency}] +
      [{oxmultilang ident="TOTAL_NET"}][{oxprice price=$oxcmp_basket->getNettoSum() currency=$currency}]
      [{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$key}][{oxprice price=$VATitem currency=$currency}]
      [{oxmultilang ident="TOTAL_GROSS" suffix="COLON"}][{oxprice price=$oxcmp_basket->getBruttoSum() currency=$currency}]
      [{oxmultilang ident="COUPON"}] ([{oxmultilang ident="NUMBER"}] [{$sVoucher->sVoucherNr}]) + [{if $editable}] + [{oxmultilang ident="REMOVE"}] + [{/if}] + [{oxprice price=$sVoucher->dVoucherdiscount*-1 currency=$currency}]
      [{ oxmultilang ident="SHIPPING_NET" suffix="COLON" }][{oxprice price=$deliveryCost->getNettoPrice() currency=$currency }]
      [{oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT" suffix="COLON"}][{oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$deliveryCost->getVat()}][{oxprice price=$deliveryCost->getVatValue() currency=$currency}]
      [{ oxmultilang ident="SHIPPING_COST" suffix="COLON" }][{oxprice price=$deliveryCost->getBruttoPrice() currency=$currency}]
      [{if $paymentCost->getPrice() >= 0}][{ oxmultilang ident="SURCHARGE" }][{else}][{ oxmultilang ident="DEDUCTION" }][{/if}] [{ oxmultilang ident="PAYMENT_METHOD" suffix="COLON"}][{oxprice price=$paymentCost->getNettoPrice() currency=$currency }]
      [{ oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT" suffix="COLON" }][{ oxmultilang ident="SURCHARGE_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$paymentCost->getVat() }][{oxprice price=$paymentCost->getVatValue() currency=$currency }]
      [{if $paymentCost->getPrice() >= 0}][{ oxmultilang ident="SURCHARGE" }][{else}][{ oxmultilang ident="DEDUCTION" }][{/if}] [{ oxmultilang ident="PAYMENT_METHOD" suffix="COLON" }][{oxprice price=$paymentCost->getBruttoPrice() currency=$currency }]
      [{ oxmultilang ident="BASKET_TOTAL_WRAPPING_COSTS_NET" suffix="COLON" }][{oxprice price=$wrappingCost->getNettoPrice() currency=$currency}]
      [{ oxmultilang ident="PLUS_VAT" suffix="COLON" }][{oxprice price=$wrappingCost->getVatValue() currency=$currency}]
      [{ oxmultilang ident="GIFT_WRAPPING" suffix="COLON" }][{oxprice price=$wrappingCost->getBruttoPrice() currency=$currency }]
      [{ oxmultilang ident="BASKET_TOTAL_GIFTCARD_COSTS_NET" suffix="COLON" }][{oxprice price=$giftCardCost->getNettoPrice() currency=$currency }]
      [{ oxmultilang ident="BASKET_TOTAL_PLUS_PROPORTIONAL_VAT" suffix="COLON" }][{ oxmultilang ident="VAT_PLUS_PERCENT_AMOUNT" suffix="COLON" args=$giftCardCost->getVat() }] [{oxprice price=$giftCardCost->getVatValue() currency=$currency}]
      [{ oxmultilang ident="GREETING_CARD" suffix="COLON" }][{oxprice price=$giftCardCost->getBruttoPrice() currency=$currency}]
      [{oxmultilang ident="GRAND_TOTAL" suffix="COLON"}][{oxprice price=$oxcmp_basket->getPrice() currency=$currency}]
      ** [{oxmultilang ident="MESSAGE_COUPON_NOT_APPLIED_FOR_ARTICLES"}]
      +
      +[{/block}] +
      diff --git a/tpl/page/checkout/inc/basketcontents_list.tpl b/tpl/page/checkout/inc/basketcontents_list.tpl new file mode 100644 index 0000000..2c38e91 --- /dev/null +++ b/tpl/page/checkout/inc/basketcontents_list.tpl @@ -0,0 +1,296 @@ +
        + [{* basket items *}] + [{assign var="basketitemlist" value=$oView->getBasketArticles()}] + [{foreach key=basketindex from=$oxcmp_basket->getContents() item=basketitem name=basketContents}] + [{block name="checkout_basketcontents_basketitem"}] + [{assign var="basketproduct" value=$basketitemlist.$basketindex}] + [{assign var="oArticle" value=$basketitem->getArticle()}] + [{assign var="oAttributes" value=$oArticle->getAttributesDisplayableInBasket()}] + +
      • + +
        +
        + [{block name="checkout_basketcontents_basketitem_image"}] + [{* product image *}] + [{if $editable}][{/if}] + [{$basketitem->getTitle()|strip_tags}] + [{if $editable}][{/if}] + [{/block}] +
        + + + +
        +
        +
        + [{block name="checkout_basketcontents_basketitem_titlenumber"}] + [{block name="checkout_basketcontents_basketitem_title"}] + [{if $editable}][{/if}] + [{$basketitem->getTitle()}] + [{if $editable}][{/if}] + [{if $basketitem->isSkipDiscount()}] **[{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_artnum"}] +
        + [{oxmultilang ident="PRODUCT_NO"}] [{$basketproduct->oxarticles__oxartnum->value}] +
        + [{/block}] + + [{block name="checkout_basketcontents_basketitem_attributes"}] +
        + [{assign var=sep value=", "}] + [{assign var=result value=""}] + [{foreach key="oArtAttributes" from=$oAttributes->getArray() item="oAttr" name="attributeContents"}] + [{assign var=temp value=$oAttr->oxattribute__oxvalue->value}] + [{assign var=result value=$result|cat:$temp|cat:$sep}] + [{/foreach}] + [{$result|trim:$sep}] +
        + [{/block}] + + [{block name="checkout_basketcontents_basketitem_selectlists"}] + [{if !$basketitem->isBundle() || !$basketitem->isDiscountArticle()}] + [{assign var="oSelections" value=$basketproduct->getSelections(null,$basketitem->getSelList())}] + [{if $oSelections}] +
        + [{foreach from=$oSelections item=oList name=selections}] + [{if $oViewConf->showSelectListsInList()}] + [{include file="widget/product/selectbox.tpl" oSelectionList=$oList sFieldName="aproducts[`$basketindex`][sel]" iKey=$smarty.foreach.selections.index blHideDefault=true sSelType="seldrop"}] + [{else}] + [{assign var="oActiveSelection" value=$oList->getActiveSelection()}] + [{if $oActiveSelection}] + +
        [{$oList->getLabel()}]: [{$oActiveSelection->getName()}]
        + [{/if}] + [{/if}] + [{/foreach}] +
        + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_persparams"}] + [{if !$editable}] +

        + + [{foreach key=sVar from=$basketitem->getPersParams() item=aParam name=persparams}] + [{if !$smarty.foreach.persparams.first}]
        [{/if}] + [{if $smarty.foreach.persparams.first && $smarty.foreach.persparams.last}] + [{oxmultilang ident="LABEL"}] + [{else}] + [{$sVar}] : + [{/if}] + [{$aParam}] + [{/foreach}] +
        +

        + [{else}] + [{if $basketproduct->oxarticles__oxisconfigurable->value}] + [{if $basketitem->getPersParams()}] +
        + [{foreach key=sVar from=$basketitem->getPersParams() item=aParam name=persparams}] +

        + +

        + [{/foreach}] + [{else}] +

        + +

        + [{/if}] + [{/if}] + [{/if}] + [{/block}] + [{/block}] +
        +
        + [{block name="checkout_basketcontents_basketitem_wrapping"}] + [{* product wrapping *}] + [{if $oView->isWrapping()}] +
        + [{if !$basketitem->getWrappingId()}] + [{if $editable}] + [{oxmultilang ident="WRAPPING"}] [{oxmultilang ident="ADD"}] + [{else}] + [{oxmultilang ident="WRAPPING"}]: [{oxmultilang ident="NONE"}] + [{/if}] + [{else}] + [{assign var="oWrap" value=$basketitem->getWrapping()}] + [{if $editable}] + [{oxmultilang ident="WRAPPING"}]: [{$oWrap->oxwrapping__oxname->value}] + [{else}] + [{oxmultilang ident="WRAPPING"}]: [{$oWrap->oxwrapping__oxname->value}] + [{/if}] + [{/if}] +
        + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_unitprice"}] + [{* product price *}] + + [{if $basketitem->getUnitPrice()}] + [{oxmultilang ident="UNIT_PRICE"}]: [{oxprice price=$basketitem->getUnitPrice() currency=$currency}] + [{/if}] + + [{/block}] + + [{block name="checkout_basketcontents_basketitem_amount"}] + [{* product price *}] + + + [{if $basketitem->getFUnitPrice()}] | [{/if}] + [{if $basketitem->oxarticles__oxunitname->value}] + [{$basketitem->getAmount()}] [{$basketitem->oxarticles__oxunitname->value}] + [{else}] + [{$basketitem->getAmount()}] [{oxmultilang ident="PCS"}] + [{/if}] + + + [{/block}] + [{block name="checkout_basketcontents_basketitem_vat"}] +
        + [{$basketitem->getVatPercent()}]% [{oxmultilang ident="VAT"}] +
        + [{/block}] +
        +
        +
        + + + +
        + [{if $editable}] +
        + + + + +
        + [{/if}] + [{block name="checkout_basketcontents_basketitem_totalprice"}] + [{* product quantity * price *}] +
        + [{oxprice price=$basketitem->getPrice() currency=$currency}] +
        + [{/block}] +
        +
        + +
        +
        + [{block name="checkout_basketcontents_basketitem_removecheckbox"}] + [{if $editable}] + + + [{/if}] + [{/block}] +
        +
        + [{block name="checkout_basketcontents_basketitem_quantity"}] + [{* product quantity manager *}] +
        + [{if $editable}] + + + + [{if $basketitem->isBundle()}] + + [{/if}] + + [{if !$basketitem->isBundle() || !$basketitem->isDiscountArticle()}] +
        + getConfigParam('blAllowUnevenAmounts')}] step="any"[{/if}]> + + [{if $basketitem->oxarticles__oxunitname->value}] + [{$basketitem->oxarticles__oxunitname->value}] + [{else}] + [{oxmultilang ident="PCS"}] + [{/if}] + + +
        + [{/if}] + [{else}] + [{$basketitem->getAmount()}] + [{/if}] + [{if $basketitem->getdBundledAmount() > 0 && ($basketitem->isBundle() || $basketitem->isDiscountArticle())}] + +[{$basketitem->getdBundledAmount()}] + [{/if}] +
        + [{/block}] +
        +
        + +
        +
      • + [{/block}] + + [{* packing unit *}] + + [{block name="checkout_basketcontents_itemerror"}] + [{foreach from=$Errors.basket item=oEr key=key}] + [{if $oEr->getErrorClassType() == 'oxOutOfStockException'}] + [{* display only the exceptions for the current article *}] + [{if $basketindex == $oEr->getValue('basketIndex')}] +
      + [{$oEr->getOxMessage()}] [{$oEr->getValue('remainingAmount')}] +
      + [{$oEr->getOxMessage()}] +
      [{oxmultilang ident="GREETING_CARD"}] "[{$oCard->oxwrapping__oxname->value}]" +
      + [{oxmultilang ident="YOUR_MESSAGE"}] +
      +
      [{$oxcmp_basket->getCardMessage()|nl2br}]
      +
      [{$oCard->getFPrice()}] [{$currency->sign}] + [{if $oxcmp_basket->isProportionalCalculationOn()}] + [{oxmultilang ident="PROPORTIONALLY_CALCULATED"}] + [{else}] + [{if $oxcmp_basket->getGiftCardCostVat()}][{$oxcmp_basket->getGiftCardCostVatPercent()}]%[{/if}] + [{/if}] + [{$oCard->getFPrice()}] [{$currency->sign}]
      + + [{if $editable}][{/if}] + + [{if $oView->isWrapping()}][{/if}] + + + + + + [{* basket header *}] + + + [{if $editable}][{/if}] + + [{if $oView->isWrapping()}] + + [{/if}] + + + + + + + + [{* basket items *}] + + [{assign var="basketitemlist" value=$oView->getBasketArticles()}] + [{foreach key=basketindex from=$oxcmp_basket->getContents() item=basketitem name=basketContents}] + [{block name="checkout_basketcontents_basketitem"}] + [{assign var="basketproduct" value=$basketitemlist.$basketindex}] + [{assign var="oArticle" value=$basketitem->getArticle()}] + [{assign var="oAttributes" value=$oArticle->getAttributesDisplayableInBasket()}] + + + + [{block name="checkout_basketcontents_basketitem_removecheckbox"}] + [{if $editable}] + + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_titlenumber"}] + [{* product title & number *}] + + [{/block}] + + [{block name="checkout_basketcontents_basketitem_wrapping"}] + [{* product wrapping *}] + [{if $oView->isWrapping()}] + + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_quantity"}] + [{* product quantity manager *}] + + [{/block}] + + [{block name="checkout_basketcontents_basketitem_unitprice"}] + [{* product price *}] + + [{/block}] + + [{block name="checkout_basketcontents_basketitem_vat"}] + [{* product VAT percent *}] + + [{/block}] + + [{block name="checkout_basketcontents_basketitem_totalprice"}] + [{* product quantity * price *}] + + [{/block}] + + [{/block}] + + [{* packing unit *}] + + [{block name="checkout_basketcontents_itemerror"}] + [{foreach from=$Errors.basket item=oEr key=key}] + [{if $oEr->getErrorClassType() == 'oxOutOfStockException'}] + [{* display only the exceptions for the current article *}] + [{if $basketindex == $oEr->getValue('basketIndex')}] + + [{if $editable}][{/if}] + + [{if $oView->isWrapping()}][{/if}] + + + [{/if}] + [{/if}] + [{if $oEr->getErrorClassType() == 'oxArticleInputException'}] + [{if $basketitem->getProductId() == $oEr->getValue('productId')}] + + [{if $editable}][{/if}] + + [{if $oView->isWrapping()}][{/if}] + + + [{/if}] + [{/if}] + [{/foreach}] + [{/block}] + [{* basket items end *}] + [{/foreach}] + + [{block name="checkout_basketcontents_giftwrapping"}] + [{if $oViewConf->getShowGiftWrapping()}] + [{assign var="oCard" value=$oxcmp_basket->getCard()}] + [{if $oCard}] + + [{if $editable}][{/if}] + + + + + + [{/if}] + [{/if}] + [{/block}] + + + [{block name="checkout_basketcontents_basketfunctions"}] + [{if $editable}] + + + + + + + [{/if}] + [{/block}] +
      [{oxmultilang ident="PRODUCT"}][{oxmultilang ident="WRAPPING"}][{oxmultilang ident="QUANTITY"}][{oxmultilang ident="UNIT_PRICE"}][{oxmultilang ident="VAT"}][{oxmultilang ident="TOTAL"}]
      + + + [{block name="checkout_basketcontents_basketitem_image"}] + [{* product image *}] +
      + [{if $editable}][{/if}] + [{$basketitem->getTitle()|strip_tags}] + [{if $editable}][{/if}] +
      + [{/block}] +
      + [{block name="dd_checkout_inc_basketcontents_table_item_desc"}] + [{block name="checkout_basketcontents_basketitem_title"}] + [{if $editable}][{/if}] + [{$basketitem->getTitle()}] + [{if $editable}][{/if}] + [{if $basketitem->isSkipDiscount()}] **[{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_artnum"}] +
      + [{oxmultilang ident="PRODUCT_NO"}] [{$basketproduct->oxarticles__oxartnum->value}] +
      + [{/block}] + + [{block name="checkout_basketcontents_basketitem_attributes"}] +
      + [{assign var=sep value=", "}] + [{assign var=result value=""}] + [{foreach key=oArtAttributes from=$oAttributes->getArray() item=oAttr name=attributeContents}] + [{assign var=temp value=$oAttr->oxattribute__oxvalue->value}] + [{assign var=result value=$result$temp$sep}] + [{/foreach}] + [{$result|trim:$sep}] +
      + [{/block}] + + [{block name="checkout_basketcontents_basketitem_selectlists"}] + [{if !$basketitem->isBundle() || !$basketitem->isDiscountArticle()}] + [{assign var="oSelections" value=$basketproduct->getSelections(null,$basketitem->getSelList())}] + [{if $oSelections}] +
      + [{foreach from=$oSelections item=oList name=selections}] + [{if $oViewConf->showSelectListsInList()}] + [{include file="widget/product/selectbox.tpl" oSelectionList=$oList sFieldName="aproducts[`$basketindex`][sel]" iKey=$smarty.foreach.selections.index blHideDefault=true sSelType="seldrop"}] + [{else}] + [{assign var="oActiveSelection" value=$oList->getActiveSelection()}] + [{if $oActiveSelection}] + +
      [{$oList->getLabel()}]: [{$oActiveSelection->getName()}]
      + [{/if}] + [{/if}] + [{/foreach}] +
      + [{/if}] + [{/if}] + [{/block}] + + [{block name="checkout_basketcontents_basketitem_persparams"}] + [{if !$editable}] +

      + [{foreach key=sVar from=$basketitem->getPersParams() item=aParam name=persparams}] + [{if !$smarty.foreach.persparams.first}]
      [{/if}] + + [{if $smarty.foreach.persparams.first && $smarty.foreach.persparams.last}] + [{oxmultilang ident="LABEL"}] + [{else}] + [{$sVar}] : + [{/if}] + [{$aParam}] + [{/foreach}] +

      + [{else}] + [{if $basketproduct->oxarticles__oxisconfigurable->value}] + [{if $basketitem->getPersParams()}] +
      + [{foreach key=sVar from=$basketitem->getPersParams() item=aParam name=persparams}] +

      + + +

      + [{/foreach}] + [{else}] +

      [{oxmultilang ident="LABEL"}]

      + [{/if}] + [{/if}] + [{/if}] + [{/block}] + [{/block}] +
      +
      + [{if !$basketitem->getWrappingId()}] + [{if $editable}] + [{oxmultilang ident="ADD"}] + [{else}] + [{oxmultilang ident="NONE"}] + [{/if}] + [{else}] + [{assign var="oWrap" value=$basketitem->getWrapping()}] + [{if $editable}] + [{$oWrap->oxwrapping__oxname->value}] + [{else}] + [{$oWrap->oxwrapping__oxname->value}] + [{/if}] + [{/if}] + + [{if $editable}] + + + + [{if $basketitem->isBundle()}] + + [{/if}] + + [{if !$basketitem->isBundle() || !$basketitem->isDiscountArticle()}] +

      + getConfigParam('blAllowUnevenAmounts')}] step="any"[{/if}]> +

      + [{/if}] + [{else}] + [{$basketitem->getAmount()}] + [{/if}] + [{if $basketitem->getdBundledAmount() > 0 && ($basketitem->isBundle() || $basketitem->isDiscountArticle())}] + +[{$basketitem->getdBundledAmount()}] + [{/if}] +
      + [{if $basketitem->getUnitPrice()}][{oxprice price=$basketitem->getUnitPrice() currency=$currency}][{/if}] + [{if !$basketitem->isBundle()}] + [{assign var=dRegUnitPrice value=$basketitem->getRegularUnitPrice()}] + [{assign var=dUnitPrice value=$basketitem->getUnitPrice()}] + [{if $dRegUnitPrice->getPrice() > $dUnitPrice->getPrice()}] +
      [{oxprice price=$basketitem->getRegularUnitPrice() currency=$currency}] + [{/if}] + [{/if}] +
      + [{$basketitem->getVatPercent()}]% + + [{oxprice price=$basketitem->getPrice() currency=$currency}] +
      + [{$oEr->getOxMessage()}] [{$oEr->getValue('remainingAmount')}] +
      + [{$oEr->getOxMessage()}] +
      [{oxmultilang ident="GREETING_CARD"}] "[{$oCard->oxwrapping__oxname->value}]" +
      + [{oxmultilang ident="YOUR_MESSAGE"}] +
      +
      [{$oxcmp_basket->getCardMessage()|nl2br}]
      +
      [{$oCard->getFPrice()}] [{$currency->sign}] + [{if $oxcmp_basket->isProportionalCalculationOn()}] + [{oxmultilang ident="PROPORTIONALLY_CALCULATED"}] + [{else}] + [{if $oxcmp_basket->getGiftCardCostVat()}][{$oxcmp_basket->getGiftCardCostVatPercent()}]%[{/if}] + [{/if}] + [{$oCard->getFPrice()}] [{$currency->sign}]
      + + + + + +
      diff --git a/tpl/page/checkout/inc/options.tpl b/tpl/page/checkout/inc/options.tpl new file mode 100644 index 0000000..9050394 --- /dev/null +++ b/tpl/page/checkout/inc/options.tpl @@ -0,0 +1,76 @@ +[{block name="checkout_user_options"}] + [{oxscript include="js/widgets/oxequalizer.min.js" priority=10}] + [{oxscript add="$(window).on('load', function(){ if( !isMobileDevice() ) { oxEqualizer.equalHeight( $( '.checkoutOptions .card-body' ) ); } });"}] + + [{assign var="sColClass" value="col-lg-6"}] + [{if $oView->getShowNoRegOption()}] + [{assign var="sColClass" value="col-lg-4"}] + [{/if}] + +
      +
      + [{block name="checkout_options_noreg"}] + [{if $oView->getShowNoRegOption()}] +
      +
      +
      +

      [{oxmultilang ident="PURCHASE_WITHOUT_REGISTRATION"}]

      +
      +
      + + [{block name="checkout_options_noreg_text"}] +

      [{oxmultilang ident="DO_NOT_WANT_CREATE_ACCOUNT"}]

      + [{if $oView->isDownloadableProductWarning()}] +

      [{oxmultilang ident="MESSAGE_DOWNLOADABLE_PRODUCT"}]

      + [{/if}] + [{/block}] +
      + +
      +
      + [{/if}] + [{/block}] + + [{block name="checkout_options_reg"}] +
      +
      + +
      +

      [{oxmultilang ident="OPEN_ACCOUNT"}]

      +
      +
      + + + [{block name="checkout_options_reg_text"}] + [{oxifcontent ident="oxregistrationdescription" object="oCont"}] + [{$oCont->oxcontents__oxcontent->value}] + [{/oxifcontent}] + [{/block}] +
      + +
      +
      + [{/block}] + + [{block name="checkout_options_login"}] + [{include file="form/login.tpl"}] + [{/block}] +
      +
      +[{/block}] diff --git a/tpl/page/checkout/inc/payment_other.tpl b/tpl/page/checkout/inc/payment_other.tpl new file mode 100644 index 0000000..82b5756 --- /dev/null +++ b/tpl/page/checkout/inc/payment_other.tpl @@ -0,0 +1,38 @@ +
      +
      + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
      +
      + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice() }] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge') }] + [{strip}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{/strip}] + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{foreach from=$paymentmethod->getDynValues() item=value name=PaymentDynValues}] +
      + +
      + +
      +
      + [{/foreach}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|strip_tags|trim}] +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      + [{/if}] + [{/block}] +
      +
      diff --git a/tpl/page/checkout/inc/payment_oxidcashondel.tpl b/tpl/page/checkout/inc/payment_oxidcashondel.tpl new file mode 100644 index 0000000..3d278c8 --- /dev/null +++ b/tpl/page/checkout/inc/payment_oxidcashondel.tpl @@ -0,0 +1,27 @@ +
      +
      + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
      +
      + [{if $paymentmethod->getPrice()}] + [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      + [{/if}] + [{/block}] +
      +
      \ No newline at end of file diff --git a/tpl/page/checkout/inc/payment_oxidcreditcard.tpl b/tpl/page/checkout/inc/payment_oxidcreditcard.tpl new file mode 100644 index 0000000..fbc415f --- /dev/null +++ b/tpl/page/checkout/inc/payment_oxidcreditcard.tpl @@ -0,0 +1,91 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +
      +
      + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
      +
      + +
      + +
      + +
      +
      + +
      + +
      + +
      +
      + +
      + +
      + + [{oxmultilang ident="IF_DIFFERENT_FROM_BILLING_ADDRESS"}] +
      +
      + +
      + +
      + +
      +
      + +
      +
      +
      + +
      + +
      + + [{oxmultilang ident="CARD_SECURITY_CODE_DESCRIPTION"}] +
      +
      + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
      +
      +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
      +
      + [{/if}] + [{/block}] +
      +
      diff --git a/tpl/page/checkout/inc/payment_oxiddebitnote.tpl b/tpl/page/checkout/inc/payment_oxiddebitnote.tpl new file mode 100644 index 0000000..bad5028 --- /dev/null +++ b/tpl/page/checkout/inc/payment_oxiddebitnote.tpl @@ -0,0 +1,45 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +
      +
      + getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      +
      + +
      + +
      +
      + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
      +
      +
      + [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
      +
      +
      + [{/if}] + [{/block}] +
      +
      \ No newline at end of file diff --git a/tpl/page/checkout/inc/steps.tpl b/tpl/page/checkout/inc/steps.tpl new file mode 100644 index 0000000..bbbebb6 --- /dev/null +++ b/tpl/page/checkout/inc/steps.tpl @@ -0,0 +1,77 @@ +[{block name="checkout_steps_main"}] +
        + [{if $oxcmp_basket->getProductsCount()}] + [{assign var=showStepLinks value=true}] + [{/if}] + + [{block name="checkout_steps_basket"}] +
      1. + [{if $showStepLinks}][{/if}] +
        1
        +
        + [{oxmultilang ident="STEPS_BASKET"}] +
        + [{if $showStepLinks}]
        [{/if}] +
      2. + [{/block}] + + [{assign var=showStepLinks value=false}] + [{if !$oView->isLowOrderPrice() && $oxcmp_basket->getProductsCount()}] + [{assign var=showStepLinks value=true}] + [{/if}] + + [{block name="checkout_steps_send"}] +
      3. + [{if $showStepLinks}][{/if}] +
        2
        +
        + [{oxmultilang ident="STEPS_SEND"}] +
        + [{if $showStepLinks}]
        [{/if}] +
      4. + [{/block}] + + [{assign var=showStepLinks value=false}] + [{if $active != 1 && $oxcmp_user && !$oView->isLowOrderPrice() && $oxcmp_basket->getProductsCount()}] + [{assign var=showStepLinks value=true}] + [{/if}] + + [{block name="checkout_steps_pay"}] +
      5. + [{if $showStepLinks}]getActiveClassName() == "user"}]id="paymentStep"[{/if}] href="[{oxgetseourl ident=$oViewConf->getPaymentLink()}]">[{/if}] +
        3
        +
        + [{oxmultilang ident="STEPS_PAY"}] +
        + [{if $showStepLinks}]
        [{/if}] +
      6. + [{*[{oxscript add="$('#paymentStep').click( function() { $('#userNextStepBottom').click();return false;});"}]*}] + [{/block}] + + [{assign var=showStepLinks value=false}] + [{if $active != 1 && $oxcmp_user && $oxcmp_basket->getProductsCount() && $oView->getPaymentList() && !$oView->isLowOrderPrice()}] + [{assign var=showStepLinks value=true}] + [{/if}] + + [{block name="checkout_steps_order"}] +
      7. + [{if $showStepLinks}]getActiveClassName() == "payment"}]id="orderStep"[{/if}] href="[{if $oViewConf->getActiveClassName() == "payment"}]javascript:document.forms.order.submit();[{else}][{oxgetseourl ident=$oViewConf->getOrderConfirmLink()}][{/if}]">[{/if}] +
        4
        +
        + [{oxmultilang ident="STEPS_ORDER"}] +
        + [{if $showStepLinks}]
        [{/if}] +
      8. + [{*[{oxscript add="$('#orderStep').click( function() { $('#paymentNextStepBottom').click();return false;});"}]*}] + [{/block}] + + [{block name="checkout_steps_laststep"}] +
      9. +
        5
        +
        + [{oxmultilang ident="READY"}] +
        +
      10. + [{/block}] +
      +[{/block}] diff --git a/tpl/page/checkout/inc/wrapping.tpl b/tpl/page/checkout/inc/wrapping.tpl new file mode 100644 index 0000000..7a52b53 --- /dev/null +++ b/tpl/page/checkout/inc/wrapping.tpl @@ -0,0 +1,181 @@ +[{assign var="currency" value=$oView->getActCurrency()}] + +