From 4ccd255fe537f2289588c80af855528ea7c44746 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Tue, 11 May 2021 13:32:48 +0300 Subject: [PATCH] [mobile] removed framework7 ver 1.5 sources --- .../framework7/css/framework7.ios.colors.css | 2930 --- .../css/framework7.ios.colors.min.css | 15 - vendor/framework7/css/framework7.ios.css | 7086 ------- vendor/framework7/css/framework7.ios.min.css | 15 - vendor/framework7/css/framework7.ios.rtl.css | 574 - .../framework7/css/framework7.ios.rtl.min.css | 15 - .../css/framework7.material.colors.css | 8180 -------- .../css/framework7.material.colors.min.css | 15 - vendor/framework7/css/framework7.material.css | 7349 ------- .../css/framework7.material.min.css | 15 - .../css/framework7.material.rtl.css | 571 - .../css/framework7.material.rtl.min.css | 15 - vendor/framework7/js/framework7.js | 17517 ---------------- vendor/framework7/js/framework7.js.map | 1 - vendor/framework7/js/framework7.min.js | 25 - vendor/framework7/js/framework7.min.js.map | 1 - vendor/framework7/src/js/accordion.js | 60 - vendor/framework7/src/js/animate7.js | 182 - vendor/framework7/src/js/autocomplete.js | 626 - vendor/framework7/src/js/calendar.js | 996 - vendor/framework7/src/js/clicks.js | 336 - vendor/framework7/src/js/dom7-ajax.js | 280 - vendor/framework7/src/js/dom7-intro.js | 66 - vendor/framework7/src/js/dom7-methods.js | 783 - vendor/framework7/src/js/dom7-outro.js | 11 - vendor/framework7/src/js/dom7-utils.js | 393 - vendor/framework7/src/js/f7-intro.js | 173 - vendor/framework7/src/js/f7-outro.js | 3 - vendor/framework7/src/js/fast-clicks.js | 537 - vendor/framework7/src/js/forms-ajax.js | 36 - vendor/framework7/src/js/forms-storage.js | 167 - vendor/framework7/src/js/forms-textarea.js | 54 - vendor/framework7/src/js/infinite-scroll.js | 52 - vendor/framework7/src/js/init.js | 52 - vendor/framework7/src/js/lazy-load.js | 146 - vendor/framework7/src/js/material-inputs.js | 66 - .../framework7/src/js/material-preloader.js | 10 - vendor/framework7/src/js/material-tabbar.js | 40 - vendor/framework7/src/js/messagebar.js | 140 - vendor/framework7/src/js/messages.js | 233 - vendor/framework7/src/js/modals.js | 671 - vendor/framework7/src/js/navbars.js | 220 - vendor/framework7/src/js/notifications.js | 163 - vendor/framework7/src/js/pages.js | 348 - vendor/framework7/src/js/panels.js | 328 - vendor/framework7/src/js/photo-browser.js | 428 - vendor/framework7/src/js/picker.js | 607 - vendor/framework7/src/js/plugins.js | 40 - vendor/framework7/src/js/progressbar.js | 78 - vendor/framework7/src/js/proto-device.js | 104 - vendor/framework7/src/js/proto-plugins.js | 4 - vendor/framework7/src/js/proto-support.js | 23 - vendor/framework7/src/js/pull-to-refresh.js | 222 - vendor/framework7/src/js/push-state.js | 112 - vendor/framework7/src/js/resize.js | 27 - vendor/framework7/src/js/router.js | 1268 -- vendor/framework7/src/js/scroll-toolbars.js | 117 - vendor/framework7/src/js/searchbar.js | 345 - vendor/framework7/src/js/smart-select.js | 519 - vendor/framework7/src/js/sortable.js | 129 - vendor/framework7/src/js/swipeout.js | 405 - vendor/framework7/src/js/swiper-init.js | 53 - vendor/framework7/src/js/swiper.js | 4000 ---- vendor/framework7/src/js/tabs.js | 98 - .../framework7/src/js/template7-templates.js | 21 - vendor/framework7/src/js/template7.js | 473 - vendor/framework7/src/js/views.js | 637 - vendor/framework7/src/js/virtual-list.js | 468 - vendor/framework7/src/js/wrap-end.js | 1 - vendor/framework7/src/js/wrap-start.js | 1 - vendor/framework7/src/js/xhr.js | 65 - vendor/framework7/src/less/css/_mixins.css | 0 vendor/framework7/src/less/css/badges.css | 28 - .../src/less/css/framework7.ios.colors.css | 2914 --- .../src/less/css/framework7.ios.css | 7070 ------- .../less/css/framework7.material.colors.css | 8164 ------- .../src/less/css/framework7.material.css | 7333 ------- vendor/framework7/src/less/css/preloader.css | 325 - .../framework7/src/less/ios/_colors-vars.less | 12 - vendor/framework7/src/less/ios/_mixins.less | 302 - vendor/framework7/src/less/ios/accordion.less | 72 - .../framework7/src/less/ios/autocomplete.less | 80 - vendor/framework7/src/less/ios/badges.less | 28 - vendor/framework7/src/less/ios/calendar.less | 188 - vendor/framework7/src/less/ios/cards.less | 102 - vendor/framework7/src/less/ios/chips.less | 74 - vendor/framework7/src/less/ios/contacts.less | 24 - .../src/less/ios/content-block.less | 59 - vendor/framework7/src/less/ios/disabled.less | 8 - .../src/less/ios/floating-button.less | 172 - vendor/framework7/src/less/ios/forms.less | 446 - .../src/less/ios/framework7.ios.colors.less | 637 - .../src/less/ios/framework7.ios.less | 38 - .../src/less/ios/framework7.ios.rtl.less | 414 - vendor/framework7/src/less/ios/grid.less | 87 - vendor/framework7/src/less/ios/icons.less | 66 - .../src/less/ios/infinite-scroll.less | 5 - vendor/framework7/src/less/ios/intro.less | 49 - vendor/framework7/src/less/ios/lazy-load.less | 20 - vendor/framework7/src/less/ios/lists.less | 401 - .../framework7/src/less/ios/login-screen.less | 20 - .../framework7/src/less/ios/messagebar.less | 56 - vendor/framework7/src/less/ios/messages.less | 255 - vendor/framework7/src/less/ios/modals.less | 594 - .../src/less/ios/notifications.less | 159 - vendor/framework7/src/less/ios/pages.less | 205 - vendor/framework7/src/less/ios/panels.less | 99 - .../src/less/ios/photo-browser.less | 247 - vendor/framework7/src/less/ios/picker.less | 112 - vendor/framework7/src/less/ios/preloader.less | 22 - .../framework7/src/less/ios/progressbar.less | 158 - .../src/less/ios/pull-to-refresh.less | 71 - vendor/framework7/src/less/ios/searchbar.less | 124 - vendor/framework7/src/less/ios/statusbar.less | 22 - vendor/framework7/src/less/ios/swiper.less | 466 - vendor/framework7/src/less/ios/tabs.less | 31 - .../src/less/ios/toolbars-pages.less | 85 - vendor/framework7/src/less/ios/toolbars.less | 374 - vendor/framework7/src/less/ios/views.less | 14 - .../src/less/material/_colors-vars.less | 24 - .../framework7/src/less/material/_mixins.less | 352 - .../src/less/material/accordion.less | 70 - .../src/less/material/autocomplete.less | 70 - .../framework7/src/less/material/badges.less | 19 - .../src/less/material/calendar.less | 197 - .../framework7/src/less/material/cards.less | 94 - .../framework7/src/less/material/chips.less | 71 - .../src/less/material/contacts.less | 30 - .../src/less/material/content-block.less | 63 - .../src/less/material/disabled.less | 8 - .../src/less/material/floating-button.less | 153 - .../framework7/src/less/material/forms.less | 474 - .../material/framework7.material.colors.less | 529 - .../less/material/framework7.material.less | 39 - .../material/framework7.material.rtl.less | 281 - vendor/framework7/src/less/material/grid.less | 87 - .../framework7/src/less/material/icons.less | 59 - .../src/less/material/infinite-scroll.less | 5 - .../framework7/src/less/material/intro.less | 37 - .../src/less/material/lazy-load.less | 20 - .../framework7/src/less/material/lists.less | 394 - .../src/less/material/login-screen.less | 23 - .../src/less/material/messagebar.less | 56 - .../src/less/material/messages.less | 206 - .../framework7/src/less/material/modals.less | 552 - .../src/less/material/notifications.less | 75 - .../framework7/src/less/material/pages.less | 137 - .../framework7/src/less/material/panels.less | 112 - .../src/less/material/photo-browser.less | 253 - .../framework7/src/less/material/picker.less | 115 - .../src/less/material/preloader.less | 346 - .../src/less/material/progressbar.less | 290 - .../src/less/material/pull-to-refresh.less | 70 - .../framework7/src/less/material/ripple.less | 42 - .../src/less/material/searchbar.less | 117 - .../src/less/material/statusbar.less | 22 - .../framework7/src/less/material/swiper.less | 466 - vendor/framework7/src/less/material/tabs.less | 31 - .../src/less/material/toolbars-pages.less | 149 - .../src/less/material/toolbars.less | 291 - .../framework7/src/less/material/views.less | 14 - 161 files changed, 100416 deletions(-) delete mode 100644 vendor/framework7/css/framework7.ios.colors.css delete mode 100644 vendor/framework7/css/framework7.ios.colors.min.css delete mode 100644 vendor/framework7/css/framework7.ios.css delete mode 100644 vendor/framework7/css/framework7.ios.min.css delete mode 100644 vendor/framework7/css/framework7.ios.rtl.css delete mode 100644 vendor/framework7/css/framework7.ios.rtl.min.css delete mode 100644 vendor/framework7/css/framework7.material.colors.css delete mode 100644 vendor/framework7/css/framework7.material.colors.min.css delete mode 100644 vendor/framework7/css/framework7.material.css delete mode 100644 vendor/framework7/css/framework7.material.min.css delete mode 100644 vendor/framework7/css/framework7.material.rtl.css delete mode 100644 vendor/framework7/css/framework7.material.rtl.min.css delete mode 100644 vendor/framework7/js/framework7.js delete mode 100644 vendor/framework7/js/framework7.js.map delete mode 100644 vendor/framework7/js/framework7.min.js delete mode 100644 vendor/framework7/js/framework7.min.js.map delete mode 100644 vendor/framework7/src/js/accordion.js delete mode 100644 vendor/framework7/src/js/animate7.js delete mode 100644 vendor/framework7/src/js/autocomplete.js delete mode 100644 vendor/framework7/src/js/calendar.js delete mode 100644 vendor/framework7/src/js/clicks.js delete mode 100644 vendor/framework7/src/js/dom7-ajax.js delete mode 100644 vendor/framework7/src/js/dom7-intro.js delete mode 100644 vendor/framework7/src/js/dom7-methods.js delete mode 100644 vendor/framework7/src/js/dom7-outro.js delete mode 100644 vendor/framework7/src/js/dom7-utils.js delete mode 100644 vendor/framework7/src/js/f7-intro.js delete mode 100644 vendor/framework7/src/js/f7-outro.js delete mode 100644 vendor/framework7/src/js/fast-clicks.js delete mode 100644 vendor/framework7/src/js/forms-ajax.js delete mode 100644 vendor/framework7/src/js/forms-storage.js delete mode 100644 vendor/framework7/src/js/forms-textarea.js delete mode 100644 vendor/framework7/src/js/infinite-scroll.js delete mode 100644 vendor/framework7/src/js/init.js delete mode 100644 vendor/framework7/src/js/lazy-load.js delete mode 100644 vendor/framework7/src/js/material-inputs.js delete mode 100644 vendor/framework7/src/js/material-preloader.js delete mode 100644 vendor/framework7/src/js/material-tabbar.js delete mode 100644 vendor/framework7/src/js/messagebar.js delete mode 100644 vendor/framework7/src/js/messages.js delete mode 100644 vendor/framework7/src/js/modals.js delete mode 100644 vendor/framework7/src/js/navbars.js delete mode 100644 vendor/framework7/src/js/notifications.js delete mode 100644 vendor/framework7/src/js/pages.js delete mode 100644 vendor/framework7/src/js/panels.js delete mode 100644 vendor/framework7/src/js/photo-browser.js delete mode 100644 vendor/framework7/src/js/picker.js delete mode 100644 vendor/framework7/src/js/plugins.js delete mode 100644 vendor/framework7/src/js/progressbar.js delete mode 100644 vendor/framework7/src/js/proto-device.js delete mode 100644 vendor/framework7/src/js/proto-plugins.js delete mode 100644 vendor/framework7/src/js/proto-support.js delete mode 100644 vendor/framework7/src/js/pull-to-refresh.js delete mode 100644 vendor/framework7/src/js/push-state.js delete mode 100644 vendor/framework7/src/js/resize.js delete mode 100644 vendor/framework7/src/js/router.js delete mode 100644 vendor/framework7/src/js/scroll-toolbars.js delete mode 100644 vendor/framework7/src/js/searchbar.js delete mode 100644 vendor/framework7/src/js/smart-select.js delete mode 100644 vendor/framework7/src/js/sortable.js delete mode 100644 vendor/framework7/src/js/swipeout.js delete mode 100644 vendor/framework7/src/js/swiper-init.js delete mode 100644 vendor/framework7/src/js/swiper.js delete mode 100644 vendor/framework7/src/js/tabs.js delete mode 100644 vendor/framework7/src/js/template7-templates.js delete mode 100644 vendor/framework7/src/js/template7.js delete mode 100644 vendor/framework7/src/js/views.js delete mode 100644 vendor/framework7/src/js/virtual-list.js delete mode 100644 vendor/framework7/src/js/wrap-end.js delete mode 100644 vendor/framework7/src/js/wrap-start.js delete mode 100644 vendor/framework7/src/js/xhr.js delete mode 100644 vendor/framework7/src/less/css/_mixins.css delete mode 100644 vendor/framework7/src/less/css/badges.css delete mode 100644 vendor/framework7/src/less/css/framework7.ios.colors.css delete mode 100644 vendor/framework7/src/less/css/framework7.ios.css delete mode 100644 vendor/framework7/src/less/css/framework7.material.colors.css delete mode 100644 vendor/framework7/src/less/css/framework7.material.css delete mode 100644 vendor/framework7/src/less/css/preloader.css delete mode 100644 vendor/framework7/src/less/ios/_colors-vars.less delete mode 100644 vendor/framework7/src/less/ios/_mixins.less delete mode 100644 vendor/framework7/src/less/ios/accordion.less delete mode 100644 vendor/framework7/src/less/ios/autocomplete.less delete mode 100644 vendor/framework7/src/less/ios/badges.less delete mode 100644 vendor/framework7/src/less/ios/calendar.less delete mode 100644 vendor/framework7/src/less/ios/cards.less delete mode 100644 vendor/framework7/src/less/ios/chips.less delete mode 100644 vendor/framework7/src/less/ios/contacts.less delete mode 100644 vendor/framework7/src/less/ios/content-block.less delete mode 100644 vendor/framework7/src/less/ios/disabled.less delete mode 100644 vendor/framework7/src/less/ios/floating-button.less delete mode 100644 vendor/framework7/src/less/ios/forms.less delete mode 100644 vendor/framework7/src/less/ios/framework7.ios.colors.less delete mode 100644 vendor/framework7/src/less/ios/framework7.ios.less delete mode 100644 vendor/framework7/src/less/ios/framework7.ios.rtl.less delete mode 100644 vendor/framework7/src/less/ios/grid.less delete mode 100644 vendor/framework7/src/less/ios/icons.less delete mode 100644 vendor/framework7/src/less/ios/infinite-scroll.less delete mode 100644 vendor/framework7/src/less/ios/intro.less delete mode 100644 vendor/framework7/src/less/ios/lazy-load.less delete mode 100644 vendor/framework7/src/less/ios/lists.less delete mode 100644 vendor/framework7/src/less/ios/login-screen.less delete mode 100644 vendor/framework7/src/less/ios/messagebar.less delete mode 100644 vendor/framework7/src/less/ios/messages.less delete mode 100644 vendor/framework7/src/less/ios/modals.less delete mode 100644 vendor/framework7/src/less/ios/notifications.less delete mode 100644 vendor/framework7/src/less/ios/pages.less delete mode 100644 vendor/framework7/src/less/ios/panels.less delete mode 100644 vendor/framework7/src/less/ios/photo-browser.less delete mode 100644 vendor/framework7/src/less/ios/picker.less delete mode 100644 vendor/framework7/src/less/ios/preloader.less delete mode 100644 vendor/framework7/src/less/ios/progressbar.less delete mode 100644 vendor/framework7/src/less/ios/pull-to-refresh.less delete mode 100644 vendor/framework7/src/less/ios/searchbar.less delete mode 100644 vendor/framework7/src/less/ios/statusbar.less delete mode 100644 vendor/framework7/src/less/ios/swiper.less delete mode 100644 vendor/framework7/src/less/ios/tabs.less delete mode 100644 vendor/framework7/src/less/ios/toolbars-pages.less delete mode 100644 vendor/framework7/src/less/ios/toolbars.less delete mode 100644 vendor/framework7/src/less/ios/views.less delete mode 100644 vendor/framework7/src/less/material/_colors-vars.less delete mode 100644 vendor/framework7/src/less/material/_mixins.less delete mode 100644 vendor/framework7/src/less/material/accordion.less delete mode 100644 vendor/framework7/src/less/material/autocomplete.less delete mode 100644 vendor/framework7/src/less/material/badges.less delete mode 100644 vendor/framework7/src/less/material/calendar.less delete mode 100644 vendor/framework7/src/less/material/cards.less delete mode 100644 vendor/framework7/src/less/material/chips.less delete mode 100644 vendor/framework7/src/less/material/contacts.less delete mode 100644 vendor/framework7/src/less/material/content-block.less delete mode 100644 vendor/framework7/src/less/material/disabled.less delete mode 100644 vendor/framework7/src/less/material/floating-button.less delete mode 100644 vendor/framework7/src/less/material/forms.less delete mode 100644 vendor/framework7/src/less/material/framework7.material.colors.less delete mode 100644 vendor/framework7/src/less/material/framework7.material.less delete mode 100644 vendor/framework7/src/less/material/framework7.material.rtl.less delete mode 100644 vendor/framework7/src/less/material/grid.less delete mode 100644 vendor/framework7/src/less/material/icons.less delete mode 100644 vendor/framework7/src/less/material/infinite-scroll.less delete mode 100644 vendor/framework7/src/less/material/intro.less delete mode 100644 vendor/framework7/src/less/material/lazy-load.less delete mode 100644 vendor/framework7/src/less/material/lists.less delete mode 100644 vendor/framework7/src/less/material/login-screen.less delete mode 100644 vendor/framework7/src/less/material/messagebar.less delete mode 100644 vendor/framework7/src/less/material/messages.less delete mode 100644 vendor/framework7/src/less/material/modals.less delete mode 100644 vendor/framework7/src/less/material/notifications.less delete mode 100644 vendor/framework7/src/less/material/pages.less delete mode 100644 vendor/framework7/src/less/material/panels.less delete mode 100644 vendor/framework7/src/less/material/photo-browser.less delete mode 100644 vendor/framework7/src/less/material/picker.less delete mode 100644 vendor/framework7/src/less/material/preloader.less delete mode 100644 vendor/framework7/src/less/material/progressbar.less delete mode 100644 vendor/framework7/src/less/material/pull-to-refresh.less delete mode 100644 vendor/framework7/src/less/material/ripple.less delete mode 100644 vendor/framework7/src/less/material/searchbar.less delete mode 100644 vendor/framework7/src/less/material/statusbar.less delete mode 100644 vendor/framework7/src/less/material/swiper.less delete mode 100644 vendor/framework7/src/less/material/tabs.less delete mode 100644 vendor/framework7/src/less/material/toolbars-pages.less delete mode 100644 vendor/framework7/src/less/material/toolbars.less delete mode 100644 vendor/framework7/src/less/material/views.less diff --git a/vendor/framework7/css/framework7.ios.colors.css b/vendor/framework7/css/framework7.ios.colors.css deleted file mode 100644 index f0453f585..000000000 --- a/vendor/framework7/css/framework7.ios.colors.css +++ /dev/null @@ -1,2930 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * iOS Theme - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -/*========================== -Framework7 Color Themes -==========================*/ -.theme-gray .button:not(.button-fill) { - border-color: #8e8e93; -} -html:not(.watch-active-state) .theme-gray .button:not(.button-fill):active, -.theme-gray .button:not(.button-fill).active-state { - background-color: rgba(142, 142, 147, 0.15); -} -.theme-gray .button:not(.button-fill).active { - background-color: #8e8e93; - color: #fff; -} -.theme-gray .button.button-fill { - background: #8e8e93; - color: #fff; -} -.progressbar.theme-gray span, -.theme-gray .progressbar span { - background-color: #8e8e93; -} -.progressbar-infinite.theme-gray:before, -.theme-gray .progressbar-infinite:before { - background-color: #8e8e93; -} -.theme-gray i.icon, -i.icon.theme-gray { - color: #8e8e93; -} -i.icon-next.color-gray, -i.icon-next.theme-gray, -.theme-gray i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-gray, -i.icon-prev.theme-gray, -.theme-gray i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-gray, -i.icon-back.theme-gray, -.theme-gray i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-gray, -i.icon-forward.theme-gray, -.theme-gray i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-gray, -i.icon-bars.theme-gray, -.theme-gray i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-gray, - i.icon-bars.theme-gray, - .theme-gray i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-gray a, -.theme-gray .item-link.list-button { - color: #8e8e93; -} -.theme-gray .tabbar a, -.tabbar.theme-gray a, -.theme-gray .tabbar a i, -.tabbar.theme-gray a i { - color: inherit; -} -.theme-gray .tabbar a.active, -.tabbar.theme-gray a.active, -.theme-gray .tabbar a.active i, -.tabbar.theme-gray a.active i { - color: #8e8e93; -} -.theme-gray .messagebar .messagebar-send-link { - background-color: #8e8e93; -} -.theme-gray label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #8e8e93; -} -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%238e8e93'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray .picker-calendar-day.picker-calendar-day-selected span { - background-color: #8e8e93 !important; -} -.swiper-pagination.color-gray .swiper-pagination-bullet-active, -.theme-gray .swiper-pagination .swiper-pagination-bullet-active { - background-color: #8e8e93; -} -.swiper-pagination.color-gray .swiper-pagination-progressbar, -.theme-gray .swiper-pagination .swiper-pagination-progressbar { - background-color: #8e8e93; -} -.swiper-pagination.swiper-pagination-progress.bg-gray { - background-color: rgba(142, 142, 147, 0.25); -} -.swiper-button-next.color-gray, -.swiper-container-rtl .swiper-button-prev.color-gray, -.theme-gray .swiper-button-next, -.theme-gray .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-gray, -.swiper-container-rtl .swiper-button-next.color-gray, -.theme-gray .swiper-button-prev, -.theme-gray .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray .floating-button, -.theme-gray .speed-dial-buttons a, -.floating-button.theme-gray, -.speed-dial-buttons a.theme-gray { - color: #fff; - background: #8e8e93; -} -html:not(.watch-active-state) .theme-gray .floating-button:active, -html:not(.watch-active-state) .theme-gray .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-gray:active, -.theme-gray .floating-button.active-state, -.theme-gray .speed-dial-buttons a.active-state, -.floating-button.theme-gray.active-state, -.speed-dial-buttons a.theme-gray.active-state { - background: #79797f; -} -.theme-gray .floating-button i, -.theme-gray .speed-dial-buttons a i, -.floating-button.theme-gray i, -.speed-dial-buttons a.theme-gray i { - color: inherit; -} -.theme-gray .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #8e8e93; -} -.theme-gray .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-gray input[type="range"]::-ms-fill-lower { - background-color: #8e8e93; -} -.badge.theme-gray { - background-color: #8e8e93; - color: #fff; -} -.theme-white .button:not(.button-fill) { - border-color: #ffffff; -} -html:not(.watch-active-state) .theme-white .button:not(.button-fill):active, -.theme-white .button:not(.button-fill).active-state { - background-color: rgba(255, 255, 255, 0.15); -} -.theme-white .button:not(.button-fill).active { - background-color: #ffffff; - color: #fff; -} -.theme-white .button.button-fill { - background: #ffffff; - color: #fff; -} -.progressbar.theme-white span, -.theme-white .progressbar span { - background-color: #ffffff; -} -.progressbar-infinite.theme-white:before, -.theme-white .progressbar-infinite:before { - background-color: #ffffff; -} -.theme-white i.icon, -i.icon.theme-white { - color: #ffffff; -} -i.icon-next.color-white, -i.icon-next.theme-white, -.theme-white i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-white, -i.icon-prev.theme-white, -.theme-white i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-white, -i.icon-back.theme-white, -.theme-white i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-white, -i.icon-forward.theme-white, -.theme-white i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-white, -i.icon-bars.theme-white, -.theme-white i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-white, - i.icon-bars.theme-white, - .theme-white i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-white a, -.theme-white .item-link.list-button { - color: #ffffff; -} -.theme-white .tabbar a, -.tabbar.theme-white a, -.theme-white .tabbar a i, -.tabbar.theme-white a i { - color: inherit; -} -.theme-white .tabbar a.active, -.tabbar.theme-white a.active, -.theme-white .tabbar a.active i, -.tabbar.theme-white a.active i { - color: #ffffff; -} -.theme-white .messagebar .messagebar-send-link { - background-color: #ffffff; -} -.theme-white label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ffffff; -} -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ffffff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffffff !important; -} -.swiper-pagination.color-white .swiper-pagination-bullet-active, -.theme-white .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffffff; -} -.swiper-pagination.color-white .swiper-pagination-progressbar, -.theme-white .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffffff; -} -.swiper-pagination.swiper-pagination-progress.bg-white { - background-color: rgba(255, 255, 255, 0.25); -} -.swiper-button-next.color-white, -.swiper-container-rtl .swiper-button-prev.color-white, -.theme-white .swiper-button-next, -.theme-white .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-white, -.swiper-container-rtl .swiper-button-next.color-white, -.theme-white .swiper-button-prev, -.theme-white .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white .floating-button, -.theme-white .speed-dial-buttons a, -.floating-button.theme-white, -.speed-dial-buttons a.theme-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .theme-white .floating-button:active, -html:not(.watch-active-state) .theme-white .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-white:active, -.theme-white .floating-button.active-state, -.theme-white .speed-dial-buttons a.active-state, -.floating-button.theme-white.active-state, -.speed-dial-buttons a.theme-white.active-state { - background: #ebebeb; -} -.theme-white .floating-button i, -.theme-white .speed-dial-buttons a i, -.floating-button.theme-white i, -.speed-dial-buttons a.theme-white i { - color: inherit; -} -.theme-white .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.badge.theme-white { - background-color: #ffffff; - color: #fff; -} -.theme-black .button:not(.button-fill) { - border-color: #000000; -} -html:not(.watch-active-state) .theme-black .button:not(.button-fill):active, -.theme-black .button:not(.button-fill).active-state { - background-color: rgba(0, 0, 0, 0.15); -} -.theme-black .button:not(.button-fill).active { - background-color: #000000; - color: #fff; -} -.theme-black .button.button-fill { - background: #000000; - color: #fff; -} -.progressbar.theme-black span, -.theme-black .progressbar span { - background-color: #000000; -} -.progressbar-infinite.theme-black:before, -.theme-black .progressbar-infinite:before { - background-color: #000000; -} -.theme-black i.icon, -i.icon.theme-black { - color: #000000; -} -i.icon-next.color-black, -i.icon-next.theme-black, -.theme-black i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-black, -i.icon-prev.theme-black, -.theme-black i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-black, -i.icon-back.theme-black, -.theme-black i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-black, -i.icon-forward.theme-black, -.theme-black i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-black, -i.icon-bars.theme-black, -.theme-black i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-black, - i.icon-bars.theme-black, - .theme-black i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-black a, -.theme-black .item-link.list-button { - color: #000000; -} -.theme-black .tabbar a, -.tabbar.theme-black a, -.theme-black .tabbar a i, -.tabbar.theme-black a i { - color: inherit; -} -.theme-black .tabbar a.active, -.tabbar.theme-black a.active, -.theme-black .tabbar a.active i, -.tabbar.theme-black a.active i { - color: #000000; -} -.theme-black .messagebar .messagebar-send-link { - background-color: #000000; -} -.theme-black label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #000000; -} -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23000000'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black .picker-calendar-day.picker-calendar-day-selected span { - background-color: #000000 !important; -} -.swiper-pagination.color-black .swiper-pagination-bullet-active, -.theme-black .swiper-pagination .swiper-pagination-bullet-active { - background-color: #000000; -} -.swiper-pagination.color-black .swiper-pagination-progressbar, -.theme-black .swiper-pagination .swiper-pagination-progressbar { - background-color: #000000; -} -.swiper-pagination.swiper-pagination-progress.bg-black { - background-color: rgba(0, 0, 0, 0.25); -} -.swiper-button-next.color-black, -.swiper-container-rtl .swiper-button-prev.color-black, -.theme-black .swiper-button-next, -.theme-black .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-black, -.swiper-container-rtl .swiper-button-next.color-black, -.theme-black .swiper-button-prev, -.theme-black .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black .floating-button, -.theme-black .speed-dial-buttons a, -.floating-button.theme-black, -.speed-dial-buttons a.theme-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .theme-black .floating-button:active, -html:not(.watch-active-state) .theme-black .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-black:active, -.theme-black .floating-button.active-state, -.theme-black .speed-dial-buttons a.active-state, -.floating-button.theme-black.active-state, -.speed-dial-buttons a.theme-black.active-state { - background: #000000; -} -.theme-black .floating-button i, -.theme-black .speed-dial-buttons a i, -.floating-button.theme-black i, -.speed-dial-buttons a.theme-black i { - color: inherit; -} -.theme-black .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.badge.theme-black { - background-color: #000000; - color: #fff; -} -.theme-lightblue .button:not(.button-fill) { - border-color: #5ac8fa; -} -html:not(.watch-active-state) .theme-lightblue .button:not(.button-fill):active, -.theme-lightblue .button:not(.button-fill).active-state { - background-color: rgba(90, 200, 250, 0.15); -} -.theme-lightblue .button:not(.button-fill).active { - background-color: #5ac8fa; - color: #fff; -} -.theme-lightblue .button.button-fill { - background: #5ac8fa; - color: #fff; -} -.progressbar.theme-lightblue span, -.theme-lightblue .progressbar span { - background-color: #5ac8fa; -} -.progressbar-infinite.theme-lightblue:before, -.theme-lightblue .progressbar-infinite:before { - background-color: #5ac8fa; -} -.theme-lightblue i.icon, -i.icon.theme-lightblue { - color: #5ac8fa; -} -i.icon-next.color-lightblue, -i.icon-next.theme-lightblue, -.theme-lightblue i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightblue, -i.icon-prev.theme-lightblue, -.theme-lightblue i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightblue, -i.icon-back.theme-lightblue, -.theme-lightblue i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightblue, -i.icon-forward.theme-lightblue, -.theme-lightblue i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lightblue, -i.icon-bars.theme-lightblue, -.theme-lightblue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-lightblue, - i.icon-bars.theme-lightblue, - .theme-lightblue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-lightblue a, -.theme-lightblue .item-link.list-button { - color: #5ac8fa; -} -.theme-lightblue .tabbar a, -.tabbar.theme-lightblue a, -.theme-lightblue .tabbar a i, -.tabbar.theme-lightblue a i { - color: inherit; -} -.theme-lightblue .tabbar a.active, -.tabbar.theme-lightblue a.active, -.theme-lightblue .tabbar a.active i, -.tabbar.theme-lightblue a.active i { - color: #5ac8fa; -} -.theme-lightblue .messagebar .messagebar-send-link { - background-color: #5ac8fa; -} -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #5ac8fa; -} -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%235ac8fa'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #5ac8fa !important; -} -.swiper-pagination.color-lightblue .swiper-pagination-bullet-active, -.theme-lightblue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #5ac8fa; -} -.swiper-pagination.color-lightblue .swiper-pagination-progressbar, -.theme-lightblue .swiper-pagination .swiper-pagination-progressbar { - background-color: #5ac8fa; -} -.swiper-pagination.swiper-pagination-progress.bg-lightblue { - background-color: rgba(90, 200, 250, 0.25); -} -.swiper-button-next.color-lightblue, -.swiper-container-rtl .swiper-button-prev.color-lightblue, -.theme-lightblue .swiper-button-next, -.theme-lightblue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lightblue, -.swiper-container-rtl .swiper-button-next.color-lightblue, -.theme-lightblue .swiper-button-prev, -.theme-lightblue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue .floating-button, -.theme-lightblue .speed-dial-buttons a, -.floating-button.theme-lightblue, -.speed-dial-buttons a.theme-lightblue { - color: #fff; - background: #5ac8fa; -} -html:not(.watch-active-state) .theme-lightblue .floating-button:active, -html:not(.watch-active-state) .theme-lightblue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lightblue:active, -.theme-lightblue .floating-button.active-state, -.theme-lightblue .speed-dial-buttons a.active-state, -.floating-button.theme-lightblue.active-state, -.speed-dial-buttons a.theme-lightblue.active-state { - background: #32bbf9; -} -.theme-lightblue .floating-button i, -.theme-lightblue .speed-dial-buttons a i, -.floating-button.theme-lightblue i, -.speed-dial-buttons a.theme-lightblue i { - color: inherit; -} -.theme-lightblue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #5ac8fa; -} -.theme-lightblue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lightblue input[type="range"]::-ms-fill-lower { - background-color: #5ac8fa; -} -.badge.theme-lightblue { - background-color: #5ac8fa; - color: #fff; -} -.theme-yellow .button:not(.button-fill) { - border-color: #ffcc00; -} -html:not(.watch-active-state) .theme-yellow .button:not(.button-fill):active, -.theme-yellow .button:not(.button-fill).active-state { - background-color: rgba(255, 204, 0, 0.15); -} -.theme-yellow .button:not(.button-fill).active { - background-color: #ffcc00; - color: #fff; -} -.theme-yellow .button.button-fill { - background: #ffcc00; - color: #fff; -} -.progressbar.theme-yellow span, -.theme-yellow .progressbar span { - background-color: #ffcc00; -} -.progressbar-infinite.theme-yellow:before, -.theme-yellow .progressbar-infinite:before { - background-color: #ffcc00; -} -.theme-yellow i.icon, -i.icon.theme-yellow { - color: #ffcc00; -} -i.icon-next.color-yellow, -i.icon-next.theme-yellow, -.theme-yellow i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-yellow, -i.icon-prev.theme-yellow, -.theme-yellow i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-yellow, -i.icon-back.theme-yellow, -.theme-yellow i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-yellow, -i.icon-forward.theme-yellow, -.theme-yellow i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-yellow, -i.icon-bars.theme-yellow, -.theme-yellow i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-yellow, - i.icon-bars.theme-yellow, - .theme-yellow i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-yellow a, -.theme-yellow .item-link.list-button { - color: #ffcc00; -} -.theme-yellow .tabbar a, -.tabbar.theme-yellow a, -.theme-yellow .tabbar a i, -.tabbar.theme-yellow a i { - color: inherit; -} -.theme-yellow .tabbar a.active, -.tabbar.theme-yellow a.active, -.theme-yellow .tabbar a.active i, -.tabbar.theme-yellow a.active i { - color: #ffcc00; -} -.theme-yellow .messagebar .messagebar-send-link { - background-color: #ffcc00; -} -.theme-yellow label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ffcc00; -} -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ffcc00'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffcc00 !important; -} -.swiper-pagination.color-yellow .swiper-pagination-bullet-active, -.theme-yellow .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffcc00; -} -.swiper-pagination.color-yellow .swiper-pagination-progressbar, -.theme-yellow .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffcc00; -} -.swiper-pagination.swiper-pagination-progress.bg-yellow { - background-color: rgba(255, 204, 0, 0.25); -} -.swiper-button-next.color-yellow, -.swiper-container-rtl .swiper-button-prev.color-yellow, -.theme-yellow .swiper-button-next, -.theme-yellow .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-yellow, -.swiper-container-rtl .swiper-button-next.color-yellow, -.theme-yellow .swiper-button-prev, -.theme-yellow .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow .floating-button, -.theme-yellow .speed-dial-buttons a, -.floating-button.theme-yellow, -.speed-dial-buttons a.theme-yellow { - color: #fff; - background: #ffcc00; -} -html:not(.watch-active-state) .theme-yellow .floating-button:active, -html:not(.watch-active-state) .theme-yellow .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-yellow:active, -.theme-yellow .floating-button.active-state, -.theme-yellow .speed-dial-buttons a.active-state, -.floating-button.theme-yellow.active-state, -.speed-dial-buttons a.theme-yellow.active-state { - background: #d6ab00; -} -.theme-yellow .floating-button i, -.theme-yellow .speed-dial-buttons a i, -.floating-button.theme-yellow i, -.speed-dial-buttons a.theme-yellow i { - color: inherit; -} -.theme-yellow .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffcc00; -} -.theme-yellow .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffcc00; -} -.badge.theme-yellow { - background-color: #ffcc00; - color: #fff; -} -.theme-orange .button:not(.button-fill) { - border-color: #ff9500; -} -html:not(.watch-active-state) .theme-orange .button:not(.button-fill):active, -.theme-orange .button:not(.button-fill).active-state { - background-color: rgba(255, 149, 0, 0.15); -} -.theme-orange .button:not(.button-fill).active { - background-color: #ff9500; - color: #fff; -} -.theme-orange .button.button-fill { - background: #ff9500; - color: #fff; -} -.progressbar.theme-orange span, -.theme-orange .progressbar span { - background-color: #ff9500; -} -.progressbar-infinite.theme-orange:before, -.theme-orange .progressbar-infinite:before { - background-color: #ff9500; -} -.theme-orange i.icon, -i.icon.theme-orange { - color: #ff9500; -} -i.icon-next.color-orange, -i.icon-next.theme-orange, -.theme-orange i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-orange, -i.icon-prev.theme-orange, -.theme-orange i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-orange, -i.icon-back.theme-orange, -.theme-orange i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-orange, -i.icon-forward.theme-orange, -.theme-orange i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-orange, -i.icon-bars.theme-orange, -.theme-orange i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-orange, - i.icon-bars.theme-orange, - .theme-orange i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-orange a, -.theme-orange .item-link.list-button { - color: #ff9500; -} -.theme-orange .tabbar a, -.tabbar.theme-orange a, -.theme-orange .tabbar a i, -.tabbar.theme-orange a i { - color: inherit; -} -.theme-orange .tabbar a.active, -.tabbar.theme-orange a.active, -.theme-orange .tabbar a.active i, -.tabbar.theme-orange a.active i { - color: #ff9500; -} -.theme-orange .messagebar .messagebar-send-link { - background-color: #ff9500; -} -.theme-orange label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ff9500; -} -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff9500'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff9500 !important; -} -.swiper-pagination.color-orange .swiper-pagination-bullet-active, -.theme-orange .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff9500; -} -.swiper-pagination.color-orange .swiper-pagination-progressbar, -.theme-orange .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff9500; -} -.swiper-pagination.swiper-pagination-progress.bg-orange { - background-color: rgba(255, 149, 0, 0.25); -} -.swiper-button-next.color-orange, -.swiper-container-rtl .swiper-button-prev.color-orange, -.theme-orange .swiper-button-next, -.theme-orange .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-orange, -.swiper-container-rtl .swiper-button-next.color-orange, -.theme-orange .swiper-button-prev, -.theme-orange .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange .floating-button, -.theme-orange .speed-dial-buttons a, -.floating-button.theme-orange, -.speed-dial-buttons a.theme-orange { - color: #fff; - background: #ff9500; -} -html:not(.watch-active-state) .theme-orange .floating-button:active, -html:not(.watch-active-state) .theme-orange .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-orange:active, -.theme-orange .floating-button.active-state, -.theme-orange .speed-dial-buttons a.active-state, -.floating-button.theme-orange.active-state, -.speed-dial-buttons a.theme-orange.active-state { - background: #d67d00; -} -.theme-orange .floating-button i, -.theme-orange .speed-dial-buttons a i, -.floating-button.theme-orange i, -.speed-dial-buttons a.theme-orange i { - color: inherit; -} -.theme-orange .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9500; -} -.theme-orange .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9500; -} -.badge.theme-orange { - background-color: #ff9500; - color: #fff; -} -.theme-pink .button:not(.button-fill) { - border-color: #ff2d55; -} -html:not(.watch-active-state) .theme-pink .button:not(.button-fill):active, -.theme-pink .button:not(.button-fill).active-state { - background-color: rgba(255, 45, 85, 0.15); -} -.theme-pink .button:not(.button-fill).active { - background-color: #ff2d55; - color: #fff; -} -.theme-pink .button.button-fill { - background: #ff2d55; - color: #fff; -} -.progressbar.theme-pink span, -.theme-pink .progressbar span { - background-color: #ff2d55; -} -.progressbar-infinite.theme-pink:before, -.theme-pink .progressbar-infinite:before { - background-color: #ff2d55; -} -.theme-pink i.icon, -i.icon.theme-pink { - color: #ff2d55; -} -i.icon-next.color-pink, -i.icon-next.theme-pink, -.theme-pink i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-pink, -i.icon-prev.theme-pink, -.theme-pink i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-pink, -i.icon-back.theme-pink, -.theme-pink i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-pink, -i.icon-forward.theme-pink, -.theme-pink i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-pink, -i.icon-bars.theme-pink, -.theme-pink i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-pink, - i.icon-bars.theme-pink, - .theme-pink i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-pink a, -.theme-pink .item-link.list-button { - color: #ff2d55; -} -.theme-pink .tabbar a, -.tabbar.theme-pink a, -.theme-pink .tabbar a i, -.tabbar.theme-pink a i { - color: inherit; -} -.theme-pink .tabbar a.active, -.tabbar.theme-pink a.active, -.theme-pink .tabbar a.active i, -.tabbar.theme-pink a.active i { - color: #ff2d55; -} -.theme-pink .messagebar .messagebar-send-link { - background-color: #ff2d55; -} -.theme-pink label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ff2d55; -} -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff2d55'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff2d55 !important; -} -.swiper-pagination.color-pink .swiper-pagination-bullet-active, -.theme-pink .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff2d55; -} -.swiper-pagination.color-pink .swiper-pagination-progressbar, -.theme-pink .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff2d55; -} -.swiper-pagination.swiper-pagination-progress.bg-pink { - background-color: rgba(255, 45, 85, 0.25); -} -.swiper-button-next.color-pink, -.swiper-container-rtl .swiper-button-prev.color-pink, -.theme-pink .swiper-button-next, -.theme-pink .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-pink, -.swiper-container-rtl .swiper-button-next.color-pink, -.theme-pink .swiper-button-prev, -.theme-pink .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink .floating-button, -.theme-pink .speed-dial-buttons a, -.floating-button.theme-pink, -.speed-dial-buttons a.theme-pink { - color: #fff; - background: #ff2d55; -} -html:not(.watch-active-state) .theme-pink .floating-button:active, -html:not(.watch-active-state) .theme-pink .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-pink:active, -.theme-pink .floating-button.active-state, -.theme-pink .speed-dial-buttons a.active-state, -.floating-button.theme-pink.active-state, -.speed-dial-buttons a.theme-pink.active-state { - background: #ff0434; -} -.theme-pink .floating-button i, -.theme-pink .speed-dial-buttons a i, -.floating-button.theme-pink i, -.speed-dial-buttons a.theme-pink i { - color: inherit; -} -.theme-pink .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff2d55; -} -.theme-pink .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-pink input[type="range"]::-ms-fill-lower { - background-color: #ff2d55; -} -.badge.theme-pink { - background-color: #ff2d55; - color: #fff; -} -.theme-blue .button:not(.button-fill) { - border-color: #007aff; -} -html:not(.watch-active-state) .theme-blue .button:not(.button-fill):active, -.theme-blue .button:not(.button-fill).active-state { - background-color: rgba(0, 122, 255, 0.15); -} -.theme-blue .button:not(.button-fill).active { - background-color: #007aff; - color: #fff; -} -.theme-blue .button.button-fill { - background: #007aff; - color: #fff; -} -.progressbar.theme-blue span, -.theme-blue .progressbar span { - background-color: #007aff; -} -.progressbar-infinite.theme-blue:before, -.theme-blue .progressbar-infinite:before { - background-color: #007aff; -} -.theme-blue i.icon, -i.icon.theme-blue { - color: #007aff; -} -i.icon-next.color-blue, -i.icon-next.theme-blue, -.theme-blue i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-blue, -i.icon-prev.theme-blue, -.theme-blue i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-blue, -i.icon-back.theme-blue, -.theme-blue i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-blue, -i.icon-forward.theme-blue, -.theme-blue i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-blue, -i.icon-bars.theme-blue, -.theme-blue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-blue, - i.icon-bars.theme-blue, - .theme-blue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-blue a, -.theme-blue .item-link.list-button { - color: #007aff; -} -.theme-blue .tabbar a, -.tabbar.theme-blue a, -.theme-blue .tabbar a i, -.tabbar.theme-blue a i { - color: inherit; -} -.theme-blue .tabbar a.active, -.tabbar.theme-blue a.active, -.theme-blue .tabbar a.active i, -.tabbar.theme-blue a.active i { - color: #007aff; -} -.theme-blue .messagebar .messagebar-send-link { - background-color: #007aff; -} -.theme-blue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #007aff; -} -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23007aff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #007aff !important; -} -.swiper-pagination.color-blue .swiper-pagination-bullet-active, -.theme-blue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #007aff; -} -.swiper-pagination.color-blue .swiper-pagination-progressbar, -.theme-blue .swiper-pagination .swiper-pagination-progressbar { - background-color: #007aff; -} -.swiper-pagination.swiper-pagination-progress.bg-blue { - background-color: rgba(0, 122, 255, 0.25); -} -.swiper-button-next.color-blue, -.swiper-container-rtl .swiper-button-prev.color-blue, -.theme-blue .swiper-button-next, -.theme-blue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-blue, -.swiper-container-rtl .swiper-button-next.color-blue, -.theme-blue .swiper-button-prev, -.theme-blue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue .floating-button, -.theme-blue .speed-dial-buttons a, -.floating-button.theme-blue, -.speed-dial-buttons a.theme-blue { - color: #fff; - background: #007aff; -} -html:not(.watch-active-state) .theme-blue .floating-button:active, -html:not(.watch-active-state) .theme-blue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-blue:active, -.theme-blue .floating-button.active-state, -.theme-blue .speed-dial-buttons a.active-state, -.floating-button.theme-blue.active-state, -.speed-dial-buttons a.theme-blue.active-state { - background: #0066d6; -} -.theme-blue .floating-button i, -.theme-blue .speed-dial-buttons a i, -.floating-button.theme-blue i, -.speed-dial-buttons a.theme-blue i { - color: inherit; -} -.theme-blue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #007aff; -} -.theme-blue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-blue input[type="range"]::-ms-fill-lower { - background-color: #007aff; -} -.badge.theme-blue { - background-color: #007aff; - color: #fff; -} -.theme-green .button:not(.button-fill) { - border-color: #4cd964; -} -html:not(.watch-active-state) .theme-green .button:not(.button-fill):active, -.theme-green .button:not(.button-fill).active-state { - background-color: rgba(76, 217, 100, 0.15); -} -.theme-green .button:not(.button-fill).active { - background-color: #4cd964; - color: #fff; -} -.theme-green .button.button-fill { - background: #4cd964; - color: #fff; -} -.progressbar.theme-green span, -.theme-green .progressbar span { - background-color: #4cd964; -} -.progressbar-infinite.theme-green:before, -.theme-green .progressbar-infinite:before { - background-color: #4cd964; -} -.theme-green i.icon, -i.icon.theme-green { - color: #4cd964; -} -i.icon-next.color-green, -i.icon-next.theme-green, -.theme-green i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-green, -i.icon-prev.theme-green, -.theme-green i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-green, -i.icon-back.theme-green, -.theme-green i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-green, -i.icon-forward.theme-green, -.theme-green i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-green, -i.icon-bars.theme-green, -.theme-green i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-green, - i.icon-bars.theme-green, - .theme-green i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-green a, -.theme-green .item-link.list-button { - color: #4cd964; -} -.theme-green .tabbar a, -.tabbar.theme-green a, -.theme-green .tabbar a i, -.tabbar.theme-green a i { - color: inherit; -} -.theme-green .tabbar a.active, -.tabbar.theme-green a.active, -.theme-green .tabbar a.active i, -.tabbar.theme-green a.active i { - color: #4cd964; -} -.theme-green .messagebar .messagebar-send-link { - background-color: #4cd964; -} -.theme-green label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #4cd964; -} -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%234cd964'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green .picker-calendar-day.picker-calendar-day-selected span { - background-color: #4cd964 !important; -} -.swiper-pagination.color-green .swiper-pagination-bullet-active, -.theme-green .swiper-pagination .swiper-pagination-bullet-active { - background-color: #4cd964; -} -.swiper-pagination.color-green .swiper-pagination-progressbar, -.theme-green .swiper-pagination .swiper-pagination-progressbar { - background-color: #4cd964; -} -.swiper-pagination.swiper-pagination-progress.bg-green { - background-color: rgba(76, 217, 100, 0.25); -} -.swiper-button-next.color-green, -.swiper-container-rtl .swiper-button-prev.color-green, -.theme-green .swiper-button-next, -.theme-green .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-green, -.swiper-container-rtl .swiper-button-next.color-green, -.theme-green .swiper-button-prev, -.theme-green .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green .floating-button, -.theme-green .speed-dial-buttons a, -.floating-button.theme-green, -.speed-dial-buttons a.theme-green { - color: #fff; - background: #4cd964; -} -html:not(.watch-active-state) .theme-green .floating-button:active, -html:not(.watch-active-state) .theme-green .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-green:active, -.theme-green .floating-button.active-state, -.theme-green .speed-dial-buttons a.active-state, -.floating-button.theme-green.active-state, -.speed-dial-buttons a.theme-green.active-state { - background: #2cd048; -} -.theme-green .floating-button i, -.theme-green .speed-dial-buttons a i, -.floating-button.theme-green i, -.speed-dial-buttons a.theme-green i { - color: inherit; -} -.theme-green .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4cd964; -} -.theme-green .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-green input[type="range"]::-ms-fill-lower { - background-color: #4cd964; -} -.badge.theme-green { - background-color: #4cd964; - color: #fff; -} -.theme-red .button:not(.button-fill) { - border-color: #ff3b30; -} -html:not(.watch-active-state) .theme-red .button:not(.button-fill):active, -.theme-red .button:not(.button-fill).active-state { - background-color: rgba(255, 59, 48, 0.15); -} -.theme-red .button:not(.button-fill).active { - background-color: #ff3b30; - color: #fff; -} -.theme-red .button.button-fill { - background: #ff3b30; - color: #fff; -} -.progressbar.theme-red span, -.theme-red .progressbar span { - background-color: #ff3b30; -} -.progressbar-infinite.theme-red:before, -.theme-red .progressbar-infinite:before { - background-color: #ff3b30; -} -.theme-red i.icon, -i.icon.theme-red { - color: #ff3b30; -} -i.icon-next.color-red, -i.icon-next.theme-red, -.theme-red i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-red, -i.icon-prev.theme-red, -.theme-red i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-red, -i.icon-back.theme-red, -.theme-red i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-red, -i.icon-forward.theme-red, -.theme-red i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-red, -i.icon-bars.theme-red, -.theme-red i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-red, - i.icon-bars.theme-red, - .theme-red i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-red a, -.theme-red .item-link.list-button { - color: #ff3b30; -} -.theme-red .tabbar a, -.tabbar.theme-red a, -.theme-red .tabbar a i, -.tabbar.theme-red a i { - color: inherit; -} -.theme-red .tabbar a.active, -.tabbar.theme-red a.active, -.theme-red .tabbar a.active i, -.tabbar.theme-red a.active i { - color: #ff3b30; -} -.theme-red .messagebar .messagebar-send-link { - background-color: #ff3b30; -} -.theme-red label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ff3b30; -} -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff3b30'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff3b30 !important; -} -.swiper-pagination.color-red .swiper-pagination-bullet-active, -.theme-red .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff3b30; -} -.swiper-pagination.color-red .swiper-pagination-progressbar, -.theme-red .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff3b30; -} -.swiper-pagination.swiper-pagination-progress.bg-red { - background-color: rgba(255, 59, 48, 0.25); -} -.swiper-button-next.color-red, -.swiper-container-rtl .swiper-button-prev.color-red, -.theme-red .swiper-button-next, -.theme-red .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-red, -.swiper-container-rtl .swiper-button-next.color-red, -.theme-red .swiper-button-prev, -.theme-red .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red .floating-button, -.theme-red .speed-dial-buttons a, -.floating-button.theme-red, -.speed-dial-buttons a.theme-red { - color: #fff; - background: #ff3b30; -} -html:not(.watch-active-state) .theme-red .floating-button:active, -html:not(.watch-active-state) .theme-red .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-red:active, -.theme-red .floating-button.active-state, -.theme-red .speed-dial-buttons a.active-state, -.floating-button.theme-red.active-state, -.speed-dial-buttons a.theme-red.active-state { - background: #ff1407; -} -.theme-red .floating-button i, -.theme-red .speed-dial-buttons a i, -.floating-button.theme-red i, -.speed-dial-buttons a.theme-red i { - color: inherit; -} -.theme-red .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff3b30; -} -.theme-red .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-red input[type="range"]::-ms-fill-lower { - background-color: #ff3b30; -} -.badge.theme-red { - background-color: #ff3b30; - color: #fff; -} -/*========================== -Framework7 Color + Bg + Border -==========================*/ -.color-gray { - color: #8e8e93; -} -.list-block .item-link.list-button.color-gray, -.tabbar a.active.color-gray, -a.color-gray { - color: #8e8e93; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-gray, -.label-switch.color-gray input[type="checkbox"]:checked + .checkbox { - background-color: #8e8e93; -} -.color-gray.button:not(.button-fill), -.color-gray.buttons-row .button { - border-color: #8e8e93; -} -html:not(.watch-active-state) .color-gray.button:not(.button-fill):active, -html:not(.watch-active-state) .color-gray.buttons-row .button:active, -.color-gray.button:not(.button-fill).active-state, -.color-gray.buttons-row .button.active-state { - background-color: rgba(142, 142, 147, 0.15); -} -.color-gray.button:not(.button-fill).active, -.color-gray.buttons-row .button.active { - background-color: #8e8e93; - color: #fff; -} -.button.button-fill.color-gray { - background: #8e8e93; - color: #fff; -} -.progressbar.color-gray span, -.progressbar.bg-gray span { - background-color: #8e8e93; -} -.progressbar-infinite.color-gray:before, -.progressbar-infinite.bg-gray:before { - background-color: #8e8e93; -} -.color-gray i.icon, -i.icon.color-gray { - color: #8e8e93; -} -.preloader.color-gray, -.preloader.preloader-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%238e8e93'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-gray, -.button.button-fill.bg-gray, -a.bg-gray, -.list-block .swipeout-actions-left a.bg-gray, -.list-block .swipeout-actions-right a.bg-gray { - background-color: #8e8e93; -} -.border-gray { - border-color: #8e8e93; -} -.list-block .border-gray.item-inner:after, -.list-block ul.border-gray:after, -.border-gray:after, -.list-block .border-gray.item-inner:before, -.list-block ul.border-gray:before, -.border-gray:before { - background-color: #8e8e93; -} -.floating-button.color-gray, -.speed-dial-buttons a.color-gray, -.floating-button.bg-gray, -.speed-dial-buttons a.bg-gray { - color: #fff; - background: #8e8e93; -} -html:not(.watch-active-state) .floating-button.color-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-gray:active, -html:not(.watch-active-state) .floating-button.bg-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-gray:active, -.floating-button.color-gray.active-state, -.speed-dial-buttons a.color-gray.active-state, -.floating-button.bg-gray.active-state, -.speed-dial-buttons a.bg-gray.active-state { - background: #79797f; -} -.floating-button.color-gray i, -.speed-dial-buttons a.color-gray i, -.floating-button.bg-gray i, -.speed-dial-buttons a.bg-gray i { - color: inherit; -} -.range-slider.color-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #8e8e93; -} -.range-slider.color-gray input[type="range"]::-ms-fill-lower { - background-color: #8e8e93; -} -.badge.color-gray { - background-color: #8e8e93; - color: #fff; -} -.color-white { - color: #ffffff; -} -.list-block .item-link.list-button.color-white, -.tabbar a.active.color-white, -a.color-white { - color: #ffffff; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-white, -.label-switch.color-white input[type="checkbox"]:checked + .checkbox { - background-color: #ffffff; -} -.color-white.button:not(.button-fill), -.color-white.buttons-row .button { - border-color: #ffffff; -} -html:not(.watch-active-state) .color-white.button:not(.button-fill):active, -html:not(.watch-active-state) .color-white.buttons-row .button:active, -.color-white.button:not(.button-fill).active-state, -.color-white.buttons-row .button.active-state { - background-color: rgba(255, 255, 255, 0.15); -} -.color-white.button:not(.button-fill).active, -.color-white.buttons-row .button.active { - background-color: #ffffff; - color: #fff; -} -.button.button-fill.color-white { - background: #ffffff; - color: #fff; -} -.progressbar.color-white span, -.progressbar.bg-white span { - background-color: #ffffff; -} -.progressbar-infinite.color-white:before, -.progressbar-infinite.bg-white:before { - background-color: #ffffff; -} -.color-white i.icon, -i.icon.color-white { - color: #ffffff; -} -.preloader.color-white, -.preloader.preloader-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ffffff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-white, -.button.button-fill.bg-white, -a.bg-white, -.list-block .swipeout-actions-left a.bg-white, -.list-block .swipeout-actions-right a.bg-white { - background-color: #ffffff; -} -.border-white { - border-color: #ffffff; -} -.list-block .border-white.item-inner:after, -.list-block ul.border-white:after, -.border-white:after, -.list-block .border-white.item-inner:before, -.list-block ul.border-white:before, -.border-white:before { - background-color: #ffffff; -} -.floating-button.color-white, -.speed-dial-buttons a.color-white, -.floating-button.bg-white, -.speed-dial-buttons a.bg-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .floating-button.color-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-white:active, -html:not(.watch-active-state) .floating-button.bg-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-white:active, -.floating-button.color-white.active-state, -.speed-dial-buttons a.color-white.active-state, -.floating-button.bg-white.active-state, -.speed-dial-buttons a.bg-white.active-state { - background: #ebebeb; -} -.floating-button.color-white i, -.speed-dial-buttons a.color-white i, -.floating-button.bg-white i, -.speed-dial-buttons a.bg-white i { - color: inherit; -} -.range-slider.color-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.badge.color-white { - background-color: #ffffff; - color: #fff; -} -.color-black { - color: #000000; -} -.list-block .item-link.list-button.color-black, -.tabbar a.active.color-black, -a.color-black { - color: #000000; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-black, -.label-switch.color-black input[type="checkbox"]:checked + .checkbox { - background-color: #000000; -} -.color-black.button:not(.button-fill), -.color-black.buttons-row .button { - border-color: #000000; -} -html:not(.watch-active-state) .color-black.button:not(.button-fill):active, -html:not(.watch-active-state) .color-black.buttons-row .button:active, -.color-black.button:not(.button-fill).active-state, -.color-black.buttons-row .button.active-state { - background-color: rgba(0, 0, 0, 0.15); -} -.color-black.button:not(.button-fill).active, -.color-black.buttons-row .button.active { - background-color: #000000; - color: #fff; -} -.button.button-fill.color-black { - background: #000000; - color: #fff; -} -.progressbar.color-black span, -.progressbar.bg-black span { - background-color: #000000; -} -.progressbar-infinite.color-black:before, -.progressbar-infinite.bg-black:before { - background-color: #000000; -} -.color-black i.icon, -i.icon.color-black { - color: #000000; -} -.preloader.color-black, -.preloader.preloader-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23000000'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-black, -.button.button-fill.bg-black, -a.bg-black, -.list-block .swipeout-actions-left a.bg-black, -.list-block .swipeout-actions-right a.bg-black { - background-color: #000000; -} -.border-black { - border-color: #000000; -} -.list-block .border-black.item-inner:after, -.list-block ul.border-black:after, -.border-black:after, -.list-block .border-black.item-inner:before, -.list-block ul.border-black:before, -.border-black:before { - background-color: #000000; -} -.floating-button.color-black, -.speed-dial-buttons a.color-black, -.floating-button.bg-black, -.speed-dial-buttons a.bg-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .floating-button.color-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-black:active, -html:not(.watch-active-state) .floating-button.bg-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-black:active, -.floating-button.color-black.active-state, -.speed-dial-buttons a.color-black.active-state, -.floating-button.bg-black.active-state, -.speed-dial-buttons a.bg-black.active-state { - background: #000000; -} -.floating-button.color-black i, -.speed-dial-buttons a.color-black i, -.floating-button.bg-black i, -.speed-dial-buttons a.bg-black i { - color: inherit; -} -.range-slider.color-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.badge.color-black { - background-color: #000000; - color: #fff; -} -.color-lightblue { - color: #5ac8fa; -} -.list-block .item-link.list-button.color-lightblue, -.tabbar a.active.color-lightblue, -a.color-lightblue { - color: #5ac8fa; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lightblue, -.label-switch.color-lightblue input[type="checkbox"]:checked + .checkbox { - background-color: #5ac8fa; -} -.color-lightblue.button:not(.button-fill), -.color-lightblue.buttons-row .button { - border-color: #5ac8fa; -} -html:not(.watch-active-state) .color-lightblue.button:not(.button-fill):active, -html:not(.watch-active-state) .color-lightblue.buttons-row .button:active, -.color-lightblue.button:not(.button-fill).active-state, -.color-lightblue.buttons-row .button.active-state { - background-color: rgba(90, 200, 250, 0.15); -} -.color-lightblue.button:not(.button-fill).active, -.color-lightblue.buttons-row .button.active { - background-color: #5ac8fa; - color: #fff; -} -.button.button-fill.color-lightblue { - background: #5ac8fa; - color: #fff; -} -.progressbar.color-lightblue span, -.progressbar.bg-lightblue span { - background-color: #5ac8fa; -} -.progressbar-infinite.color-lightblue:before, -.progressbar-infinite.bg-lightblue:before { - background-color: #5ac8fa; -} -.color-lightblue i.icon, -i.icon.color-lightblue { - color: #5ac8fa; -} -.preloader.color-lightblue, -.preloader.preloader-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%235ac8fa'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-lightblue, -.button.button-fill.bg-lightblue, -a.bg-lightblue, -.list-block .swipeout-actions-left a.bg-lightblue, -.list-block .swipeout-actions-right a.bg-lightblue { - background-color: #5ac8fa; -} -.border-lightblue { - border-color: #5ac8fa; -} -.list-block .border-lightblue.item-inner:after, -.list-block ul.border-lightblue:after, -.border-lightblue:after, -.list-block .border-lightblue.item-inner:before, -.list-block ul.border-lightblue:before, -.border-lightblue:before { - background-color: #5ac8fa; -} -.floating-button.color-lightblue, -.speed-dial-buttons a.color-lightblue, -.floating-button.bg-lightblue, -.speed-dial-buttons a.bg-lightblue { - color: #fff; - background: #5ac8fa; -} -html:not(.watch-active-state) .floating-button.color-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lightblue:active, -html:not(.watch-active-state) .floating-button.bg-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lightblue:active, -.floating-button.color-lightblue.active-state, -.speed-dial-buttons a.color-lightblue.active-state, -.floating-button.bg-lightblue.active-state, -.speed-dial-buttons a.bg-lightblue.active-state { - background: #32bbf9; -} -.floating-button.color-lightblue i, -.speed-dial-buttons a.color-lightblue i, -.floating-button.bg-lightblue i, -.speed-dial-buttons a.bg-lightblue i { - color: inherit; -} -.range-slider.color-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #5ac8fa; -} -.range-slider.color-lightblue input[type="range"]::-ms-fill-lower { - background-color: #5ac8fa; -} -.badge.color-lightblue { - background-color: #5ac8fa; - color: #fff; -} -.color-yellow { - color: #ffcc00; -} -.list-block .item-link.list-button.color-yellow, -.tabbar a.active.color-yellow, -a.color-yellow { - color: #ffcc00; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-yellow, -.label-switch.color-yellow input[type="checkbox"]:checked + .checkbox { - background-color: #ffcc00; -} -.color-yellow.button:not(.button-fill), -.color-yellow.buttons-row .button { - border-color: #ffcc00; -} -html:not(.watch-active-state) .color-yellow.button:not(.button-fill):active, -html:not(.watch-active-state) .color-yellow.buttons-row .button:active, -.color-yellow.button:not(.button-fill).active-state, -.color-yellow.buttons-row .button.active-state { - background-color: rgba(255, 204, 0, 0.15); -} -.color-yellow.button:not(.button-fill).active, -.color-yellow.buttons-row .button.active { - background-color: #ffcc00; - color: #fff; -} -.button.button-fill.color-yellow { - background: #ffcc00; - color: #fff; -} -.progressbar.color-yellow span, -.progressbar.bg-yellow span { - background-color: #ffcc00; -} -.progressbar-infinite.color-yellow:before, -.progressbar-infinite.bg-yellow:before { - background-color: #ffcc00; -} -.color-yellow i.icon, -i.icon.color-yellow { - color: #ffcc00; -} -.preloader.color-yellow, -.preloader.preloader-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ffcc00'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-yellow, -.button.button-fill.bg-yellow, -a.bg-yellow, -.list-block .swipeout-actions-left a.bg-yellow, -.list-block .swipeout-actions-right a.bg-yellow { - background-color: #ffcc00; -} -.border-yellow { - border-color: #ffcc00; -} -.list-block .border-yellow.item-inner:after, -.list-block ul.border-yellow:after, -.border-yellow:after, -.list-block .border-yellow.item-inner:before, -.list-block ul.border-yellow:before, -.border-yellow:before { - background-color: #ffcc00; -} -.floating-button.color-yellow, -.speed-dial-buttons a.color-yellow, -.floating-button.bg-yellow, -.speed-dial-buttons a.bg-yellow { - color: #fff; - background: #ffcc00; -} -html:not(.watch-active-state) .floating-button.color-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-yellow:active, -html:not(.watch-active-state) .floating-button.bg-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-yellow:active, -.floating-button.color-yellow.active-state, -.speed-dial-buttons a.color-yellow.active-state, -.floating-button.bg-yellow.active-state, -.speed-dial-buttons a.bg-yellow.active-state { - background: #d6ab00; -} -.floating-button.color-yellow i, -.speed-dial-buttons a.color-yellow i, -.floating-button.bg-yellow i, -.speed-dial-buttons a.bg-yellow i { - color: inherit; -} -.range-slider.color-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffcc00; -} -.range-slider.color-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffcc00; -} -.badge.color-yellow { - background-color: #ffcc00; - color: #fff; -} -.color-orange { - color: #ff9500; -} -.list-block .item-link.list-button.color-orange, -.tabbar a.active.color-orange, -a.color-orange { - color: #ff9500; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-orange, -.label-switch.color-orange input[type="checkbox"]:checked + .checkbox { - background-color: #ff9500; -} -.color-orange.button:not(.button-fill), -.color-orange.buttons-row .button { - border-color: #ff9500; -} -html:not(.watch-active-state) .color-orange.button:not(.button-fill):active, -html:not(.watch-active-state) .color-orange.buttons-row .button:active, -.color-orange.button:not(.button-fill).active-state, -.color-orange.buttons-row .button.active-state { - background-color: rgba(255, 149, 0, 0.15); -} -.color-orange.button:not(.button-fill).active, -.color-orange.buttons-row .button.active { - background-color: #ff9500; - color: #fff; -} -.button.button-fill.color-orange { - background: #ff9500; - color: #fff; -} -.progressbar.color-orange span, -.progressbar.bg-orange span { - background-color: #ff9500; -} -.progressbar-infinite.color-orange:before, -.progressbar-infinite.bg-orange:before { - background-color: #ff9500; -} -.color-orange i.icon, -i.icon.color-orange { - color: #ff9500; -} -.preloader.color-orange, -.preloader.preloader-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff9500'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-orange, -.button.button-fill.bg-orange, -a.bg-orange, -.list-block .swipeout-actions-left a.bg-orange, -.list-block .swipeout-actions-right a.bg-orange { - background-color: #ff9500; -} -.border-orange { - border-color: #ff9500; -} -.list-block .border-orange.item-inner:after, -.list-block ul.border-orange:after, -.border-orange:after, -.list-block .border-orange.item-inner:before, -.list-block ul.border-orange:before, -.border-orange:before { - background-color: #ff9500; -} -.floating-button.color-orange, -.speed-dial-buttons a.color-orange, -.floating-button.bg-orange, -.speed-dial-buttons a.bg-orange { - color: #fff; - background: #ff9500; -} -html:not(.watch-active-state) .floating-button.color-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-orange:active, -html:not(.watch-active-state) .floating-button.bg-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-orange:active, -.floating-button.color-orange.active-state, -.speed-dial-buttons a.color-orange.active-state, -.floating-button.bg-orange.active-state, -.speed-dial-buttons a.bg-orange.active-state { - background: #d67d00; -} -.floating-button.color-orange i, -.speed-dial-buttons a.color-orange i, -.floating-button.bg-orange i, -.speed-dial-buttons a.bg-orange i { - color: inherit; -} -.range-slider.color-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9500; -} -.range-slider.color-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9500; -} -.badge.color-orange { - background-color: #ff9500; - color: #fff; -} -.color-pink { - color: #ff2d55; -} -.list-block .item-link.list-button.color-pink, -.tabbar a.active.color-pink, -a.color-pink { - color: #ff2d55; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-pink, -.label-switch.color-pink input[type="checkbox"]:checked + .checkbox { - background-color: #ff2d55; -} -.color-pink.button:not(.button-fill), -.color-pink.buttons-row .button { - border-color: #ff2d55; -} -html:not(.watch-active-state) .color-pink.button:not(.button-fill):active, -html:not(.watch-active-state) .color-pink.buttons-row .button:active, -.color-pink.button:not(.button-fill).active-state, -.color-pink.buttons-row .button.active-state { - background-color: rgba(255, 45, 85, 0.15); -} -.color-pink.button:not(.button-fill).active, -.color-pink.buttons-row .button.active { - background-color: #ff2d55; - color: #fff; -} -.button.button-fill.color-pink { - background: #ff2d55; - color: #fff; -} -.progressbar.color-pink span, -.progressbar.bg-pink span { - background-color: #ff2d55; -} -.progressbar-infinite.color-pink:before, -.progressbar-infinite.bg-pink:before { - background-color: #ff2d55; -} -.color-pink i.icon, -i.icon.color-pink { - color: #ff2d55; -} -.preloader.color-pink, -.preloader.preloader-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff2d55'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-pink, -.button.button-fill.bg-pink, -a.bg-pink, -.list-block .swipeout-actions-left a.bg-pink, -.list-block .swipeout-actions-right a.bg-pink { - background-color: #ff2d55; -} -.border-pink { - border-color: #ff2d55; -} -.list-block .border-pink.item-inner:after, -.list-block ul.border-pink:after, -.border-pink:after, -.list-block .border-pink.item-inner:before, -.list-block ul.border-pink:before, -.border-pink:before { - background-color: #ff2d55; -} -.floating-button.color-pink, -.speed-dial-buttons a.color-pink, -.floating-button.bg-pink, -.speed-dial-buttons a.bg-pink { - color: #fff; - background: #ff2d55; -} -html:not(.watch-active-state) .floating-button.color-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-pink:active, -html:not(.watch-active-state) .floating-button.bg-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-pink:active, -.floating-button.color-pink.active-state, -.speed-dial-buttons a.color-pink.active-state, -.floating-button.bg-pink.active-state, -.speed-dial-buttons a.bg-pink.active-state { - background: #ff0434; -} -.floating-button.color-pink i, -.speed-dial-buttons a.color-pink i, -.floating-button.bg-pink i, -.speed-dial-buttons a.bg-pink i { - color: inherit; -} -.range-slider.color-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff2d55; -} -.range-slider.color-pink input[type="range"]::-ms-fill-lower { - background-color: #ff2d55; -} -.badge.color-pink { - background-color: #ff2d55; - color: #fff; -} -.color-blue { - color: #007aff; -} -.list-block .item-link.list-button.color-blue, -.tabbar a.active.color-blue, -a.color-blue { - color: #007aff; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-blue, -.label-switch.color-blue input[type="checkbox"]:checked + .checkbox { - background-color: #007aff; -} -.color-blue.button:not(.button-fill), -.color-blue.buttons-row .button { - border-color: #007aff; -} -html:not(.watch-active-state) .color-blue.button:not(.button-fill):active, -html:not(.watch-active-state) .color-blue.buttons-row .button:active, -.color-blue.button:not(.button-fill).active-state, -.color-blue.buttons-row .button.active-state { - background-color: rgba(0, 122, 255, 0.15); -} -.color-blue.button:not(.button-fill).active, -.color-blue.buttons-row .button.active { - background-color: #007aff; - color: #fff; -} -.button.button-fill.color-blue { - background: #007aff; - color: #fff; -} -.progressbar.color-blue span, -.progressbar.bg-blue span { - background-color: #007aff; -} -.progressbar-infinite.color-blue:before, -.progressbar-infinite.bg-blue:before { - background-color: #007aff; -} -.color-blue i.icon, -i.icon.color-blue { - color: #007aff; -} -.preloader.color-blue, -.preloader.preloader-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23007aff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-blue, -.button.button-fill.bg-blue, -a.bg-blue, -.list-block .swipeout-actions-left a.bg-blue, -.list-block .swipeout-actions-right a.bg-blue { - background-color: #007aff; -} -.border-blue { - border-color: #007aff; -} -.list-block .border-blue.item-inner:after, -.list-block ul.border-blue:after, -.border-blue:after, -.list-block .border-blue.item-inner:before, -.list-block ul.border-blue:before, -.border-blue:before { - background-color: #007aff; -} -.floating-button.color-blue, -.speed-dial-buttons a.color-blue, -.floating-button.bg-blue, -.speed-dial-buttons a.bg-blue { - color: #fff; - background: #007aff; -} -html:not(.watch-active-state) .floating-button.color-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-blue:active, -html:not(.watch-active-state) .floating-button.bg-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-blue:active, -.floating-button.color-blue.active-state, -.speed-dial-buttons a.color-blue.active-state, -.floating-button.bg-blue.active-state, -.speed-dial-buttons a.bg-blue.active-state { - background: #0066d6; -} -.floating-button.color-blue i, -.speed-dial-buttons a.color-blue i, -.floating-button.bg-blue i, -.speed-dial-buttons a.bg-blue i { - color: inherit; -} -.range-slider.color-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #007aff; -} -.range-slider.color-blue input[type="range"]::-ms-fill-lower { - background-color: #007aff; -} -.badge.color-blue { - background-color: #007aff; - color: #fff; -} -.color-green { - color: #4cd964; -} -.list-block .item-link.list-button.color-green, -.tabbar a.active.color-green, -a.color-green { - color: #4cd964; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-green, -.label-switch.color-green input[type="checkbox"]:checked + .checkbox { - background-color: #4cd964; -} -.color-green.button:not(.button-fill), -.color-green.buttons-row .button { - border-color: #4cd964; -} -html:not(.watch-active-state) .color-green.button:not(.button-fill):active, -html:not(.watch-active-state) .color-green.buttons-row .button:active, -.color-green.button:not(.button-fill).active-state, -.color-green.buttons-row .button.active-state { - background-color: rgba(76, 217, 100, 0.15); -} -.color-green.button:not(.button-fill).active, -.color-green.buttons-row .button.active { - background-color: #4cd964; - color: #fff; -} -.button.button-fill.color-green { - background: #4cd964; - color: #fff; -} -.progressbar.color-green span, -.progressbar.bg-green span { - background-color: #4cd964; -} -.progressbar-infinite.color-green:before, -.progressbar-infinite.bg-green:before { - background-color: #4cd964; -} -.color-green i.icon, -i.icon.color-green { - color: #4cd964; -} -.preloader.color-green, -.preloader.preloader-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%234cd964'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-green, -.button.button-fill.bg-green, -a.bg-green, -.list-block .swipeout-actions-left a.bg-green, -.list-block .swipeout-actions-right a.bg-green { - background-color: #4cd964; -} -.border-green { - border-color: #4cd964; -} -.list-block .border-green.item-inner:after, -.list-block ul.border-green:after, -.border-green:after, -.list-block .border-green.item-inner:before, -.list-block ul.border-green:before, -.border-green:before { - background-color: #4cd964; -} -.floating-button.color-green, -.speed-dial-buttons a.color-green, -.floating-button.bg-green, -.speed-dial-buttons a.bg-green { - color: #fff; - background: #4cd964; -} -html:not(.watch-active-state) .floating-button.color-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-green:active, -html:not(.watch-active-state) .floating-button.bg-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-green:active, -.floating-button.color-green.active-state, -.speed-dial-buttons a.color-green.active-state, -.floating-button.bg-green.active-state, -.speed-dial-buttons a.bg-green.active-state { - background: #2cd048; -} -.floating-button.color-green i, -.speed-dial-buttons a.color-green i, -.floating-button.bg-green i, -.speed-dial-buttons a.bg-green i { - color: inherit; -} -.range-slider.color-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4cd964; -} -.range-slider.color-green input[type="range"]::-ms-fill-lower { - background-color: #4cd964; -} -.badge.color-green { - background-color: #4cd964; - color: #fff; -} -.color-red { - color: #ff3b30; -} -.list-block .item-link.list-button.color-red, -.tabbar a.active.color-red, -a.color-red { - color: #ff3b30; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-red, -.label-switch.color-red input[type="checkbox"]:checked + .checkbox { - background-color: #ff3b30; -} -.color-red.button:not(.button-fill), -.color-red.buttons-row .button { - border-color: #ff3b30; -} -html:not(.watch-active-state) .color-red.button:not(.button-fill):active, -html:not(.watch-active-state) .color-red.buttons-row .button:active, -.color-red.button:not(.button-fill).active-state, -.color-red.buttons-row .button.active-state { - background-color: rgba(255, 59, 48, 0.15); -} -.color-red.button:not(.button-fill).active, -.color-red.buttons-row .button.active { - background-color: #ff3b30; - color: #fff; -} -.button.button-fill.color-red { - background: #ff3b30; - color: #fff; -} -.progressbar.color-red span, -.progressbar.bg-red span { - background-color: #ff3b30; -} -.progressbar-infinite.color-red:before, -.progressbar-infinite.bg-red:before { - background-color: #ff3b30; -} -.color-red i.icon, -i.icon.color-red { - color: #ff3b30; -} -.preloader.color-red, -.preloader.preloader-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff3b30'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-red, -.button.button-fill.bg-red, -a.bg-red, -.list-block .swipeout-actions-left a.bg-red, -.list-block .swipeout-actions-right a.bg-red { - background-color: #ff3b30; -} -.border-red { - border-color: #ff3b30; -} -.list-block .border-red.item-inner:after, -.list-block ul.border-red:after, -.border-red:after, -.list-block .border-red.item-inner:before, -.list-block ul.border-red:before, -.border-red:before { - background-color: #ff3b30; -} -.floating-button.color-red, -.speed-dial-buttons a.color-red, -.floating-button.bg-red, -.speed-dial-buttons a.bg-red { - color: #fff; - background: #ff3b30; -} -html:not(.watch-active-state) .floating-button.color-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-red:active, -html:not(.watch-active-state) .floating-button.bg-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-red:active, -.floating-button.color-red.active-state, -.speed-dial-buttons a.color-red.active-state, -.floating-button.bg-red.active-state, -.speed-dial-buttons a.bg-red.active-state { - background: #ff1407; -} -.floating-button.color-red i, -.speed-dial-buttons a.color-red i, -.floating-button.bg-red i, -.speed-dial-buttons a.bg-red i { - color: inherit; -} -.range-slider.color-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff3b30; -} -.range-slider.color-red input[type="range"]::-ms-fill-lower { - background-color: #ff3b30; -} -.badge.color-red { - background-color: #ff3b30; - color: #fff; -} -/*========================== -Framework7 Layouts Themes -==========================*/ -/* === Dark layout === */ -.layout-dark .navbar, -.navbar.layout-dark, -.layout-dark .subnavbar, -.subnavbar.layout-dark { - background-color: #131313; - color: #fff; -} -.layout-dark .navbar:after, -.navbar.layout-dark:after, -.layout-dark .subnavbar:after, -.subnavbar.layout-dark:after { - background-color: #333; -} -.layout-dark .toolbar, -.toolbar.layout-dark { - background-color: #131313; - color: #fff; -} -.layout-dark .toolbar:before, -.toolbar.layout-dark:before { - background-color: #333; -} -.layout-dark .picker-modal .toolbar { - background-color: #131313; -} -.layout-dark .popover .picker-modal .toolbar { - background: none; -} -.layout-dark .picker-calendar-week-days { - color: #fff; - background-color: #131313; -} -.layout-dark .popover .picker-modal .picker-center-highlight:before, -.layout-dark .picker-modal.picker-modal-inline .picker-center-highlight:before { - background-color: #333; -} -.layout-dark .popover .picker-modal .picker-center-highlight:after, -.layout-dark .picker-modal.picker-modal-inline .picker-center-highlight:after { - background-color: #333; -} -.layout-dark .popover .picker-modal .picker-item.picker-selected, -.layout-dark .picker-modal.picker-modal-inline .picker-item.picker-selected { - color: #fff; -} -.layout-dark .popover .picker-modal .picker-calendar-week-days, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days { - color: #fff; -} -.layout-dark .popover .picker-modal .picker-calendar-day, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day { - color: #fff; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-prev, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-prev, -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-next, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-next { - color: #777; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-disabled, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-disabled { - color: #555; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-today span, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-today span { - background: #333; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-has-events span:after, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-has-events span:after { - background: #555; -} -.layout-dark .popover .picker-modal .picker-calendar-week-days:after, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days:after, -.layout-dark .popover .picker-modal .picker-calendar-row:after, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-row:after { - background-color: #333; -} -.layout-dark .popover .picker-modal .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-dark .picker-modal.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-dark .popover .picker-modal .picker-calendar-week-days ~ .picker-calendar-months:before, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - background-color: #333; -} -.layout-dark .popover .picker-modal .toolbar:after { - background-color: #333; -} -.layout-dark .photo-browser .navbar, -.layout-dark .views .view[data-page="photo-browser-slides"] .navbar, -.layout-dark .photo-browser .toolbar, -.layout-dark .views .view[data-page="photo-browser-slides"] .toolbar { - color: #000; - background: rgba(247, 247, 247, 0.95); -} -.layout-dark .photo-browser-dark .navbar, -.layout-dark .photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.layout-dark .tabbar a:not(.active) { - color: #fff; -} -.layout-dark .page, -.layout-dark .login-screen-content, -.page.layout-dark, -.layout-dark .panel, -.panel.layout-dark { - background-color: #222426; - color: #ddd; -} -.layout-dark .content-block-title { - color: #fff; -} -.layout-dark .content-block, -.content-block.layout-dark { - color: #bbb; -} -.layout-dark .content-block-inner { - background: #1c1d1f; - color: #ddd; -} -.layout-dark .content-block-inner:before { - background-color: #393939; -} -.layout-dark .content-block-inner:after { - background-color: #393939; -} -.layout-dark .list-block ul, -.list-block.layout-dark ul { - background: #1c1d1f; -} -.layout-dark .list-block ul:before, -.list-block.layout-dark ul:before { - background-color: #393939; -} -.layout-dark .list-block ul:after, -.list-block.layout-dark ul:after { - background-color: #393939; -} -.layout-dark .list-block.inset ul, -.list-block.layout-dark.inset ul { - background: #1c1d1f; -} -.layout-dark .list-block.notifications > ul, -.list-block.layout-dark.notifications > ul { - background: none; -} -.layout-dark .autocomplete-dropdown { - background: #1c1d1f; -} -.layout-dark .autocomplete-dropdown .list-block b { - color: #fff; -} -.layout-dark .card { - background: #1c1d1f; -} -.layout-dark .card-header:after { - background-color: #393939; -} -.layout-dark .card-footer { - color: #bbb; -} -.layout-dark .card-footer:before { - background-color: #393939; -} -.layout-dark .popover, -.popover.layout-dark { - background: rgba(0, 0, 0, 0.8); -} -.layout-dark .popover .popover-angle:after, -.popover.layout-dark .popover-angle:after { - background: rgba(0, 0, 0, 0.8); -} -.layout-dark .popover .list-block ul, -.popover.layout-dark .list-block ul { - background: none; -} -.layout-dark .actions-popover .list-block ul:before { - background-color: #393939; -} -.layout-dark .actions-popover .list-block ul:after { - background-color: #393939; -} -.layout-dark .actions-popover .actions-popover-label:after { - background-color: #393939; -} -.layout-dark li.sorting { - background-color: #29292f; -} -.layout-dark .swipeout-actions-left a, -.layout-dark .swipeout-actions-right a { - background-color: #444; -} -.layout-dark .item-inner:after, -.layout-dark .list-block ul ul li:last-child .item-inner:after { - background-color: #393939; -} -.layout-dark .item-after { - color: #bbb; -} -html:not(.watch-active-state) .layout-dark .item-link:active, -html:not(.watch-active-state) .layout-dark label.label-checkbox:active, -html:not(.watch-active-state) .layout-dark label.label-radio:active, -.layout-dark .item-link.active-state, -.layout-dark label.label-checkbox.active-state, -.layout-dark label.label-radio.active-state { - background-color: #29292f; -} -.layout-dark .item-link.list-button:after { - background-color: #393939; -} -.layout-dark .list-block-label { - color: #bbb; -} -.layout-dark .item-divider, -.layout-dark .list-group-title { - background: #1a1a1a; - color: #bbb; -} -.layout-dark .item-divider:before, -.layout-dark .list-group-title:before { - background-color: #393939; -} -.layout-dark .searchbar { - background: #333; -} -.layout-dark .searchbar:after { - background-color: #333; -} -.layout-dark .list-block input[type="text"], -.list-block.layout-dark input[type="text"], -.layout-dark .list-block input[type="password"], -.list-block.layout-dark input[type="password"], -.layout-dark .list-block input[type="email"], -.list-block.layout-dark input[type="email"], -.layout-dark .list-block input[type="tel"], -.list-block.layout-dark input[type="tel"], -.layout-dark .list-block input[type="url"], -.list-block.layout-dark input[type="url"], -.layout-dark .list-block input[type="date"], -.list-block.layout-dark input[type="date"], -.layout-dark .list-block input[type="datetime-local"], -.list-block.layout-dark input[type="datetime-local"], -.layout-dark .list-block input[type="number"], -.list-block.layout-dark input[type="number"], -.layout-dark .list-block select, -.list-block.layout-dark select, -.layout-dark .list-block textarea, -.list-block.layout-dark textarea { - color: #fff; -} -.layout-dark .label-switch .checkbox { - background-color: #393939; -} -.layout-dark .label-switch .checkbox:before { - background-color: #1c1d1f; -} -.layout-dark .range-slider input[type="range"]:after { - background: #1c1d1f; -} -.layout-dark .range-slider input[type="range"]::-ms-thumb { - border: none; -} -/* === White layout === */ -.layout-white .navbar, -.navbar.layout-white, -.layout-white .subnavbar, -.subnavbar.layout-white { - background-color: #fff; - color: #000; -} -.layout-white .navbar:after, -.navbar.layout-white:after, -.layout-white .subnavbar:after, -.subnavbar.layout-white:after { - background-color: #ddd; -} -.layout-white .toolbar, -.toolbar.layout-white { - background-color: #fff; - color: #000; -} -.layout-white .toolbar:before, -.toolbar.layout-white:before { - background-color: #ddd; -} -.layout-white .picker-modal .toolbar { - background-color: #fff; -} -.layout-white .popover .picker-modal .toolbar { - background: none; -} -.layout-white .popover .picker-modal .picker-center-highlight:before, -.layout-white .picker-modal.picker-modal-inline .picker-center-highlight:before { - background-color: #ddd; -} -.layout-white .popover .picker-modal .picker-center-highlight:after, -.layout-white .picker-modal.picker-modal-inline .picker-center-highlight:after { - background-color: #ddd; -} -.layout-white .popover .picker-modal .picker-calendar-week-days:after, -.layout-white .picker-modal.picker-modal-inline .picker-calendar-week-days:after, -.layout-white .popover .picker-modal .picker-calendar-row:after, -.layout-white .picker-modal.picker-modal-inline .picker-calendar-row:after { - background-color: #ddd; -} -.layout-white .popover .picker-modal .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-white .picker-modal.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-white .popover .picker-modal .picker-calendar-week-days ~ .picker-calendar-months:before, -.layout-white .picker-modal.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - background-color: #ddd; -} -.layout-white .popover .picker-modal .toolbar:after { - background-color: #ddd; -} -.layout-white .photo-browser .navbar, -.layout-white .views .view[data-page="photo-browser-slides"] .navbar, -.layout-white .photo-browser .toolbar, -.layout-white .views .view[data-page="photo-browser-slides"] .toolbar { - color: #000; - background: rgba(247, 247, 247, 0.95); -} -.layout-white .photo-browser-dark .navbar, -.layout-white .photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.layout-white .tabbar a:not(.active) { - color: #777; -} -.layout-white .page, -.layout-white .login-screen-content, -.page.layout-white, -.layout-white .panel, -.panel.layout-white { - background-color: #fff; - color: #000; -} -.layout-white .content-block-title { - color: #777; -} -.layout-white .content-block, -.content-block.layout-white { - color: #777; -} -.layout-white .content-block-inner { - background: #fafafa; - color: #000; -} -.layout-white .content-block-inner:after { - background-color: #ddd; -} -.layout-white .content-block-inner:before { - background-color: #ddd; -} -.layout-white .list-block ul, -.list-block.layout-white ul { - background: #fff; -} -.layout-white .list-block ul:after, -.list-block.layout-white ul:after { - background-color: #ddd; -} -.layout-white .list-block ul:before, -.list-block.layout-white ul:before { - background-color: #ddd; -} -.layout-white .list-block.inset ul, -.list-block.layout-white.inset ul { - background: #fafafa; -} -.layout-white .list-block.notifications > ul, -.list-block.layout-white.notifications > ul { - background: none; -} -.layout-white .popover-inner > .list-block ul { - background: none; -} -.layout-white li.sorting { - background-color: #eee; -} -.layout-white .swipeout-actions-left a, -.layout-white .swipeout-actions-right a { - background-color: #c7c7cc; -} -.layout-white .item-inner, -.layout-white .list-block ul ul li:last-child .item-inner { - border-color: #ddd; -} -.layout-white .item-inner:after, -.layout-white .list-block ul ul li:last-child .item-inner:after { - background-color: #ddd; -} -.layout-white .item-after { - color: #8e8e93; -} -html:not(.watch-active-state) .layout-white .item-link:active, -html:not(.watch-active-state) .layout-white label.label-checkbox:active, -html:not(.watch-active-state) .layout-white label.label-radio:active, -.layout-white .item-link.active-state, -.layout-white label.label-checkbox.active-state, -.layout-white label.label-radio.active-state { - background-color: #eee; -} -.layout-white .item-link.list-button:after { - background-color: #ddd; -} -.layout-white .list-block-label { - color: #777; -} -.layout-white .item-divider, -.layout-white .list-group-title { - background: #f7f7f7; - color: #777; -} -.layout-white .item-divider:before, -.layout-white .list-group-title:before { - background-color: #ddd; -} -.layout-white .searchbar { - background: #c9c9ce; -} -.layout-white .searchbar:after { - background-color: #b4b4b4; -} -.layout-white .list-block input[type="text"], -.list-block.layout-white input[type="text"], -.layout-white .list-block input[type="password"], -.list-block.layout-white input[type="password"], -.layout-white .list-block input[type="email"], -.list-block.layout-white input[type="email"], -.layout-white .list-block input[type="tel"], -.list-block.layout-white input[type="tel"], -.layout-white .list-block input[type="url"], -.list-block.layout-white input[type="url"], -.layout-white .list-block input[type="date"], -.list-block.layout-white input[type="date"], -.layout-white .list-block input[type="datetime-local"], -.list-block.layout-white input[type="datetime-local"], -.layout-white .list-block input[type="number"], -.list-block.layout-white input[type="number"], -.layout-white .list-block select, -.list-block.layout-white select, -.layout-white .list-block textarea, -.list-block.layout-white textarea { - color: #777; -} -.layout-white .label-switch .checkbox { - background-color: #e5e5e5; -} -.layout-white .label-switch .checkbox:before { - background-color: #fff; -} -.layout-white .range-slider input[type="range"]:after { - background: #fff; -} diff --git a/vendor/framework7/css/framework7.ios.colors.min.css b/vendor/framework7/css/framework7.ios.colors.min.css deleted file mode 100644 index da125d307..000000000 --- a/vendor/framework7/css/framework7.ios.colors.min.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -.theme-gray .button:not(.button-fill){border-color:#8e8e93}.theme-gray .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-gray .button:not(.button-fill):active{background-color:rgba(142,142,147,.15)}.theme-gray .button:not(.button-fill).active{background-color:#8e8e93;color:#fff}.theme-gray .button.button-fill{background:#8e8e93;color:#fff}.progressbar.theme-gray span,.theme-gray .progressbar span{background-color:#8e8e93}.progressbar-infinite.theme-gray:before,.theme-gray .progressbar-infinite:before{background-color:#8e8e93}.theme-gray i.icon,i.icon.theme-gray{color:#8e8e93}.theme-gray i.icon-next,i.icon-next.color-gray,i.icon-next.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-gray i.icon-prev,i.icon-prev.color-gray,i.icon-prev.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-gray i.icon-back,i.icon-back.color-gray,i.icon-back.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E")}.theme-gray i.icon-forward,i.icon-forward.color-gray,i.icon-forward.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E")}.theme-gray i.icon-bars,i.icon-bars.color-gray,i.icon-bars.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-gray i.icon-bars,i.icon-bars.color-gray,i.icon-bars.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-gray .item-link.list-button,.theme-gray a{color:#8e8e93}.tabbar.theme-gray a,.tabbar.theme-gray a i,.theme-gray .tabbar a,.theme-gray .tabbar a i{color:inherit}.tabbar.theme-gray a.active,.tabbar.theme-gray a.active i,.theme-gray .tabbar a.active,.theme-gray .tabbar a.active i{color:#8e8e93}.theme-gray .messagebar .messagebar-send-link{background-color:#8e8e93}.theme-gray label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-gray label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#8e8e93}.theme-gray label.label-radio input[type=checkbox]:checked~.item-inner,.theme-gray label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%238e8e93'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-gray .picker-calendar-day.picker-calendar-day-selected span{background-color:#8e8e93!important}.swiper-pagination.color-gray .swiper-pagination-bullet-active,.theme-gray .swiper-pagination .swiper-pagination-bullet-active{background-color:#8e8e93}.swiper-pagination.color-gray .swiper-pagination-progressbar,.theme-gray .swiper-pagination .swiper-pagination-progressbar{background-color:#8e8e93}.swiper-pagination.swiper-pagination-progress.bg-gray{background-color:rgba(142,142,147,.25)}.swiper-button-next.color-gray,.swiper-container-rtl .swiper-button-prev.color-gray,.theme-gray .swiper-button-next,.theme-gray .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-gray,.swiper-container-rtl .swiper-button-next.color-gray,.theme-gray .swiper-button-prev,.theme-gray .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-gray,.speed-dial-buttons a.theme-gray,.theme-gray .floating-button,.theme-gray .speed-dial-buttons a{color:#fff;background:#8e8e93}.floating-button.theme-gray.active-state,.speed-dial-buttons a.theme-gray.active-state,.theme-gray .floating-button.active-state,.theme-gray .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-gray:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-gray:active,html:not(.watch-active-state) .theme-gray .floating-button:active,html:not(.watch-active-state) .theme-gray .speed-dial-buttons a:active{background:#79797f}.floating-button.theme-gray i,.speed-dial-buttons a.theme-gray i,.theme-gray .floating-button i,.theme-gray .speed-dial-buttons a i{color:inherit}.range-slider.theme-gray input[type=range]::-webkit-slider-thumb:before,.theme-gray .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#8e8e93}.range-slider.theme-gray input[type=range]::-ms-fill-lower,.theme-gray .range-slider input[type=range]::-ms-fill-lower{background-color:#8e8e93}.badge.theme-gray{background-color:#8e8e93;color:#fff}.theme-white .button:not(.button-fill){border-color:#fff}.theme-white .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-white .button:not(.button-fill):active{background-color:rgba(255,255,255,.15)}.theme-white .button:not(.button-fill).active{background-color:#fff;color:#fff}.theme-white .button.button-fill{background:#fff;color:#fff}.progressbar.theme-white span,.theme-white .progressbar span{background-color:#fff}.progressbar-infinite.theme-white:before,.theme-white .progressbar-infinite:before{background-color:#fff}.theme-white i.icon,i.icon.theme-white{color:#fff}.theme-white i.icon-next,i.icon-next.color-white,i.icon-next.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-white i.icon-prev,i.icon-prev.color-white,i.icon-prev.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-white i.icon-back,i.icon-back.color-white,i.icon-back.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.theme-white i.icon-forward,i.icon-forward.color-white,i.icon-forward.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.theme-white i.icon-bars,i.icon-bars.color-white,i.icon-bars.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-white i.icon-bars,i.icon-bars.color-white,i.icon-bars.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-white .item-link.list-button,.theme-white a{color:#fff}.tabbar.theme-white a,.tabbar.theme-white a i,.theme-white .tabbar a,.theme-white .tabbar a i{color:inherit}.tabbar.theme-white a.active,.tabbar.theme-white a.active i,.theme-white .tabbar a.active,.theme-white .tabbar a.active i{color:#fff}.theme-white .messagebar .messagebar-send-link{background-color:#fff}.theme-white label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-white label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#fff}.theme-white label.label-radio input[type=checkbox]:checked~.item-inner,.theme-white label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ffffff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-white .picker-calendar-day.picker-calendar-day-selected span{background-color:#fff!important}.swiper-pagination.color-white .swiper-pagination-bullet-active,.theme-white .swiper-pagination .swiper-pagination-bullet-active{background-color:#fff}.swiper-pagination.color-white .swiper-pagination-progressbar,.theme-white .swiper-pagination .swiper-pagination-progressbar{background-color:#fff}.swiper-pagination.swiper-pagination-progress.bg-white{background-color:rgba(255,255,255,.25)}.swiper-button-next.color-white,.swiper-container-rtl .swiper-button-prev.color-white,.theme-white .swiper-button-next,.theme-white .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-white,.swiper-container-rtl .swiper-button-next.color-white,.theme-white .swiper-button-prev,.theme-white .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-white,.speed-dial-buttons a.theme-white,.theme-white .floating-button,.theme-white .speed-dial-buttons a{color:#fff;background:#fff}.floating-button.theme-white.active-state,.speed-dial-buttons a.theme-white.active-state,.theme-white .floating-button.active-state,.theme-white .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-white:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-white:active,html:not(.watch-active-state) .theme-white .floating-button:active,html:not(.watch-active-state) .theme-white .speed-dial-buttons a:active{background:#ebebeb}.floating-button.theme-white i,.speed-dial-buttons a.theme-white i,.theme-white .floating-button i,.theme-white .speed-dial-buttons a i{color:inherit}.range-slider.theme-white input[type=range]::-webkit-slider-thumb:before,.theme-white .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#fff}.range-slider.theme-white input[type=range]::-ms-fill-lower,.theme-white .range-slider input[type=range]::-ms-fill-lower{background-color:#fff}.badge.theme-white{background-color:#fff;color:#fff}.theme-black .button:not(.button-fill){border-color:#000}.theme-black .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-black .button:not(.button-fill):active{background-color:rgba(0,0,0,.15)}.theme-black .button:not(.button-fill).active{background-color:#000;color:#fff}.theme-black .button.button-fill{background:#000;color:#fff}.progressbar.theme-black span,.theme-black .progressbar span{background-color:#000}.progressbar-infinite.theme-black:before,.theme-black .progressbar-infinite:before{background-color:#000}.theme-black i.icon,i.icon.theme-black{color:#000}.theme-black i.icon-next,i.icon-next.color-black,i.icon-next.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-black i.icon-prev,i.icon-prev.color-black,i.icon-prev.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-black i.icon-back,i.icon-back.color-black,i.icon-back.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.theme-black i.icon-forward,i.icon-forward.color-black,i.icon-forward.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.theme-black i.icon-bars,i.icon-bars.color-black,i.icon-bars.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-black i.icon-bars,i.icon-bars.color-black,i.icon-bars.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-black .item-link.list-button,.theme-black a{color:#000}.tabbar.theme-black a,.tabbar.theme-black a i,.theme-black .tabbar a,.theme-black .tabbar a i{color:inherit}.tabbar.theme-black a.active,.tabbar.theme-black a.active i,.theme-black .tabbar a.active,.theme-black .tabbar a.active i{color:#000}.theme-black .messagebar .messagebar-send-link{background-color:#000}.theme-black label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-black label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#000}.theme-black label.label-radio input[type=checkbox]:checked~.item-inner,.theme-black label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23000000'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-black .picker-calendar-day.picker-calendar-day-selected span{background-color:#000!important}.swiper-pagination.color-black .swiper-pagination-bullet-active,.theme-black .swiper-pagination .swiper-pagination-bullet-active{background-color:#000}.swiper-pagination.color-black .swiper-pagination-progressbar,.theme-black .swiper-pagination .swiper-pagination-progressbar{background-color:#000}.swiper-pagination.swiper-pagination-progress.bg-black{background-color:rgba(0,0,0,.25)}.swiper-button-next.color-black,.swiper-container-rtl .swiper-button-prev.color-black,.theme-black .swiper-button-next,.theme-black .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-black,.swiper-container-rtl .swiper-button-next.color-black,.theme-black .swiper-button-prev,.theme-black .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-black,.speed-dial-buttons a.theme-black,.theme-black .floating-button,.theme-black .speed-dial-buttons a{color:#fff;background:#000}.floating-button.theme-black.active-state,.speed-dial-buttons a.theme-black.active-state,.theme-black .floating-button.active-state,.theme-black .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-black:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-black:active,html:not(.watch-active-state) .theme-black .floating-button:active,html:not(.watch-active-state) .theme-black .speed-dial-buttons a:active{background:#000}.floating-button.theme-black i,.speed-dial-buttons a.theme-black i,.theme-black .floating-button i,.theme-black .speed-dial-buttons a i{color:inherit}.range-slider.theme-black input[type=range]::-webkit-slider-thumb:before,.theme-black .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#000}.range-slider.theme-black input[type=range]::-ms-fill-lower,.theme-black .range-slider input[type=range]::-ms-fill-lower{background-color:#000}.badge.theme-black{background-color:#000;color:#fff}.theme-lightblue .button:not(.button-fill){border-color:#5ac8fa}.theme-lightblue .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-lightblue .button:not(.button-fill):active{background-color:rgba(90,200,250,.15)}.theme-lightblue .button:not(.button-fill).active{background-color:#5ac8fa;color:#fff}.theme-lightblue .button.button-fill{background:#5ac8fa;color:#fff}.progressbar.theme-lightblue span,.theme-lightblue .progressbar span{background-color:#5ac8fa}.progressbar-infinite.theme-lightblue:before,.theme-lightblue .progressbar-infinite:before{background-color:#5ac8fa}.theme-lightblue i.icon,i.icon.theme-lightblue{color:#5ac8fa}.theme-lightblue i.icon-next,i.icon-next.color-lightblue,i.icon-next.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-prev,i.icon-prev.color-lightblue,i.icon-prev.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-back,i.icon-back.color-lightblue,i.icon-back.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-forward,i.icon-forward.color-lightblue,i.icon-forward.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-bars,i.icon-bars.color-lightblue,i.icon-bars.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-lightblue i.icon-bars,i.icon-bars.color-lightblue,i.icon-bars.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-lightblue .item-link.list-button,.theme-lightblue a{color:#5ac8fa}.tabbar.theme-lightblue a,.tabbar.theme-lightblue a i,.theme-lightblue .tabbar a,.theme-lightblue .tabbar a i{color:inherit}.tabbar.theme-lightblue a.active,.tabbar.theme-lightblue a.active i,.theme-lightblue .tabbar a.active,.theme-lightblue .tabbar a.active i{color:#5ac8fa}.theme-lightblue .messagebar .messagebar-send-link{background-color:#5ac8fa}.theme-lightblue label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-lightblue label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#5ac8fa}.theme-lightblue label.label-radio input[type=checkbox]:checked~.item-inner,.theme-lightblue label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%235ac8fa'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue .picker-calendar-day.picker-calendar-day-selected span{background-color:#5ac8fa!important}.swiper-pagination.color-lightblue .swiper-pagination-bullet-active,.theme-lightblue .swiper-pagination .swiper-pagination-bullet-active{background-color:#5ac8fa}.swiper-pagination.color-lightblue .swiper-pagination-progressbar,.theme-lightblue .swiper-pagination .swiper-pagination-progressbar{background-color:#5ac8fa}.swiper-pagination.swiper-pagination-progress.bg-lightblue{background-color:rgba(90,200,250,.25)}.swiper-button-next.color-lightblue,.swiper-container-rtl .swiper-button-prev.color-lightblue,.theme-lightblue .swiper-button-next,.theme-lightblue .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-lightblue,.swiper-container-rtl .swiper-button-next.color-lightblue,.theme-lightblue .swiper-button-prev,.theme-lightblue .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-lightblue,.speed-dial-buttons a.theme-lightblue,.theme-lightblue .floating-button,.theme-lightblue .speed-dial-buttons a{color:#fff;background:#5ac8fa}.floating-button.theme-lightblue.active-state,.speed-dial-buttons a.theme-lightblue.active-state,.theme-lightblue .floating-button.active-state,.theme-lightblue .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-lightblue:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-lightblue:active,html:not(.watch-active-state) .theme-lightblue .floating-button:active,html:not(.watch-active-state) .theme-lightblue .speed-dial-buttons a:active{background:#32bbf9}.floating-button.theme-lightblue i,.speed-dial-buttons a.theme-lightblue i,.theme-lightblue .floating-button i,.theme-lightblue .speed-dial-buttons a i{color:inherit}.range-slider.theme-lightblue input[type=range]::-webkit-slider-thumb:before,.theme-lightblue .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#5ac8fa}.range-slider.theme-lightblue input[type=range]::-ms-fill-lower,.theme-lightblue .range-slider input[type=range]::-ms-fill-lower{background-color:#5ac8fa}.badge.theme-lightblue{background-color:#5ac8fa;color:#fff}.theme-yellow .button:not(.button-fill){border-color:#fc0}.theme-yellow .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-yellow .button:not(.button-fill):active{background-color:rgba(255,204,0,.15)}.theme-yellow .button:not(.button-fill).active{background-color:#fc0;color:#fff}.theme-yellow .button.button-fill{background:#fc0;color:#fff}.progressbar.theme-yellow span,.theme-yellow .progressbar span{background-color:#fc0}.progressbar-infinite.theme-yellow:before,.theme-yellow .progressbar-infinite:before{background-color:#fc0}.theme-yellow i.icon,i.icon.theme-yellow{color:#fc0}.theme-yellow i.icon-next,i.icon-next.color-yellow,i.icon-next.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-prev,i.icon-prev.color-yellow,i.icon-prev.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-back,i.icon-back.color-yellow,i.icon-back.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-forward,i.icon-forward.color-yellow,i.icon-forward.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-bars,i.icon-bars.color-yellow,i.icon-bars.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-yellow i.icon-bars,i.icon-bars.color-yellow,i.icon-bars.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-yellow .item-link.list-button,.theme-yellow a{color:#fc0}.tabbar.theme-yellow a,.tabbar.theme-yellow a i,.theme-yellow .tabbar a,.theme-yellow .tabbar a i{color:inherit}.tabbar.theme-yellow a.active,.tabbar.theme-yellow a.active i,.theme-yellow .tabbar a.active,.theme-yellow .tabbar a.active i{color:#fc0}.theme-yellow .messagebar .messagebar-send-link{background-color:#fc0}.theme-yellow label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-yellow label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#fc0}.theme-yellow label.label-radio input[type=checkbox]:checked~.item-inner,.theme-yellow label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ffcc00'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-yellow .picker-calendar-day.picker-calendar-day-selected span{background-color:#fc0!important}.swiper-pagination.color-yellow .swiper-pagination-bullet-active,.theme-yellow .swiper-pagination .swiper-pagination-bullet-active{background-color:#fc0}.swiper-pagination.color-yellow .swiper-pagination-progressbar,.theme-yellow .swiper-pagination .swiper-pagination-progressbar{background-color:#fc0}.swiper-pagination.swiper-pagination-progress.bg-yellow{background-color:rgba(255,204,0,.25)}.swiper-button-next.color-yellow,.swiper-container-rtl .swiper-button-prev.color-yellow,.theme-yellow .swiper-button-next,.theme-yellow .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-yellow,.swiper-container-rtl .swiper-button-next.color-yellow,.theme-yellow .swiper-button-prev,.theme-yellow .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-yellow,.speed-dial-buttons a.theme-yellow,.theme-yellow .floating-button,.theme-yellow .speed-dial-buttons a{color:#fff;background:#fc0}.floating-button.theme-yellow.active-state,.speed-dial-buttons a.theme-yellow.active-state,.theme-yellow .floating-button.active-state,.theme-yellow .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-yellow:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-yellow:active,html:not(.watch-active-state) .theme-yellow .floating-button:active,html:not(.watch-active-state) .theme-yellow .speed-dial-buttons a:active{background:#d6ab00}.floating-button.theme-yellow i,.speed-dial-buttons a.theme-yellow i,.theme-yellow .floating-button i,.theme-yellow .speed-dial-buttons a i{color:inherit}.range-slider.theme-yellow input[type=range]::-webkit-slider-thumb:before,.theme-yellow .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#fc0}.range-slider.theme-yellow input[type=range]::-ms-fill-lower,.theme-yellow .range-slider input[type=range]::-ms-fill-lower{background-color:#fc0}.badge.theme-yellow{background-color:#fc0;color:#fff}.theme-orange .button:not(.button-fill){border-color:#ff9500}.theme-orange .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-orange .button:not(.button-fill):active{background-color:rgba(255,149,0,.15)}.theme-orange .button:not(.button-fill).active{background-color:#ff9500;color:#fff}.theme-orange .button.button-fill{background:#ff9500;color:#fff}.progressbar.theme-orange span,.theme-orange .progressbar span{background-color:#ff9500}.progressbar-infinite.theme-orange:before,.theme-orange .progressbar-infinite:before{background-color:#ff9500}.theme-orange i.icon,i.icon.theme-orange{color:#ff9500}.theme-orange i.icon-next,i.icon-next.color-orange,i.icon-next.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-orange i.icon-prev,i.icon-prev.color-orange,i.icon-prev.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-orange i.icon-back,i.icon-back.color-orange,i.icon-back.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E")}.theme-orange i.icon-forward,i.icon-forward.color-orange,i.icon-forward.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E")}.theme-orange i.icon-bars,i.icon-bars.color-orange,i.icon-bars.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-orange i.icon-bars,i.icon-bars.color-orange,i.icon-bars.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-orange .item-link.list-button,.theme-orange a{color:#ff9500}.tabbar.theme-orange a,.tabbar.theme-orange a i,.theme-orange .tabbar a,.theme-orange .tabbar a i{color:inherit}.tabbar.theme-orange a.active,.tabbar.theme-orange a.active i,.theme-orange .tabbar a.active,.theme-orange .tabbar a.active i{color:#ff9500}.theme-orange .messagebar .messagebar-send-link{background-color:#ff9500}.theme-orange label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-orange label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#ff9500}.theme-orange label.label-radio input[type=checkbox]:checked~.item-inner,.theme-orange label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff9500'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-orange .picker-calendar-day.picker-calendar-day-selected span{background-color:#ff9500!important}.swiper-pagination.color-orange .swiper-pagination-bullet-active,.theme-orange .swiper-pagination .swiper-pagination-bullet-active{background-color:#ff9500}.swiper-pagination.color-orange .swiper-pagination-progressbar,.theme-orange .swiper-pagination .swiper-pagination-progressbar{background-color:#ff9500}.swiper-pagination.swiper-pagination-progress.bg-orange{background-color:rgba(255,149,0,.25)}.swiper-button-next.color-orange,.swiper-container-rtl .swiper-button-prev.color-orange,.theme-orange .swiper-button-next,.theme-orange .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-orange,.swiper-container-rtl .swiper-button-next.color-orange,.theme-orange .swiper-button-prev,.theme-orange .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-orange,.speed-dial-buttons a.theme-orange,.theme-orange .floating-button,.theme-orange .speed-dial-buttons a{color:#fff;background:#ff9500}.floating-button.theme-orange.active-state,.speed-dial-buttons a.theme-orange.active-state,.theme-orange .floating-button.active-state,.theme-orange .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-orange:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-orange:active,html:not(.watch-active-state) .theme-orange .floating-button:active,html:not(.watch-active-state) .theme-orange .speed-dial-buttons a:active{background:#d67d00}.floating-button.theme-orange i,.speed-dial-buttons a.theme-orange i,.theme-orange .floating-button i,.theme-orange .speed-dial-buttons a i{color:inherit}.range-slider.theme-orange input[type=range]::-webkit-slider-thumb:before,.theme-orange .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ff9500}.range-slider.theme-orange input[type=range]::-ms-fill-lower,.theme-orange .range-slider input[type=range]::-ms-fill-lower{background-color:#ff9500}.badge.theme-orange{background-color:#ff9500;color:#fff}.theme-pink .button:not(.button-fill){border-color:#ff2d55}.theme-pink .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-pink .button:not(.button-fill):active{background-color:rgba(255,45,85,.15)}.theme-pink .button:not(.button-fill).active{background-color:#ff2d55;color:#fff}.theme-pink .button.button-fill{background:#ff2d55;color:#fff}.progressbar.theme-pink span,.theme-pink .progressbar span{background-color:#ff2d55}.progressbar-infinite.theme-pink:before,.theme-pink .progressbar-infinite:before{background-color:#ff2d55}.theme-pink i.icon,i.icon.theme-pink{color:#ff2d55}.theme-pink i.icon-next,i.icon-next.color-pink,i.icon-next.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-pink i.icon-prev,i.icon-prev.color-pink,i.icon-prev.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-pink i.icon-back,i.icon-back.color-pink,i.icon-back.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E")}.theme-pink i.icon-forward,i.icon-forward.color-pink,i.icon-forward.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E")}.theme-pink i.icon-bars,i.icon-bars.color-pink,i.icon-bars.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-pink i.icon-bars,i.icon-bars.color-pink,i.icon-bars.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-pink .item-link.list-button,.theme-pink a{color:#ff2d55}.tabbar.theme-pink a,.tabbar.theme-pink a i,.theme-pink .tabbar a,.theme-pink .tabbar a i{color:inherit}.tabbar.theme-pink a.active,.tabbar.theme-pink a.active i,.theme-pink .tabbar a.active,.theme-pink .tabbar a.active i{color:#ff2d55}.theme-pink .messagebar .messagebar-send-link{background-color:#ff2d55}.theme-pink label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-pink label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#ff2d55}.theme-pink label.label-radio input[type=checkbox]:checked~.item-inner,.theme-pink label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff2d55'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-pink .picker-calendar-day.picker-calendar-day-selected span{background-color:#ff2d55!important}.swiper-pagination.color-pink .swiper-pagination-bullet-active,.theme-pink .swiper-pagination .swiper-pagination-bullet-active{background-color:#ff2d55}.swiper-pagination.color-pink .swiper-pagination-progressbar,.theme-pink .swiper-pagination .swiper-pagination-progressbar{background-color:#ff2d55}.swiper-pagination.swiper-pagination-progress.bg-pink{background-color:rgba(255,45,85,.25)}.swiper-button-next.color-pink,.swiper-container-rtl .swiper-button-prev.color-pink,.theme-pink .swiper-button-next,.theme-pink .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-pink,.swiper-container-rtl .swiper-button-next.color-pink,.theme-pink .swiper-button-prev,.theme-pink .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-pink,.speed-dial-buttons a.theme-pink,.theme-pink .floating-button,.theme-pink .speed-dial-buttons a{color:#fff;background:#ff2d55}.floating-button.theme-pink.active-state,.speed-dial-buttons a.theme-pink.active-state,.theme-pink .floating-button.active-state,.theme-pink .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-pink:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-pink:active,html:not(.watch-active-state) .theme-pink .floating-button:active,html:not(.watch-active-state) .theme-pink .speed-dial-buttons a:active{background:#ff0434}.floating-button.theme-pink i,.speed-dial-buttons a.theme-pink i,.theme-pink .floating-button i,.theme-pink .speed-dial-buttons a i{color:inherit}.range-slider.theme-pink input[type=range]::-webkit-slider-thumb:before,.theme-pink .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ff2d55}.range-slider.theme-pink input[type=range]::-ms-fill-lower,.theme-pink .range-slider input[type=range]::-ms-fill-lower{background-color:#ff2d55}.badge.theme-pink{background-color:#ff2d55;color:#fff}.theme-blue .button:not(.button-fill){border-color:#007aff}.theme-blue .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-blue .button:not(.button-fill):active{background-color:rgba(0,122,255,.15)}.theme-blue .button:not(.button-fill).active{background-color:#007aff;color:#fff}.theme-blue .button.button-fill{background:#007aff;color:#fff}.progressbar.theme-blue span,.theme-blue .progressbar span{background-color:#007aff}.progressbar-infinite.theme-blue:before,.theme-blue .progressbar-infinite:before{background-color:#007aff}.theme-blue i.icon,i.icon.theme-blue{color:#007aff}.theme-blue i.icon-next,i.icon-next.color-blue,i.icon-next.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-blue i.icon-prev,i.icon-prev.color-blue,i.icon-prev.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-blue i.icon-back,i.icon-back.color-blue,i.icon-back.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.theme-blue i.icon-forward,i.icon-forward.color-blue,i.icon-forward.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.theme-blue i.icon-bars,i.icon-bars.color-blue,i.icon-bars.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-blue i.icon-bars,i.icon-bars.color-blue,i.icon-bars.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-blue .item-link.list-button,.theme-blue a{color:#007aff}.tabbar.theme-blue a,.tabbar.theme-blue a i,.theme-blue .tabbar a,.theme-blue .tabbar a i{color:inherit}.tabbar.theme-blue a.active,.tabbar.theme-blue a.active i,.theme-blue .tabbar a.active,.theme-blue .tabbar a.active i{color:#007aff}.theme-blue .messagebar .messagebar-send-link{background-color:#007aff}.theme-blue label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-blue label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#007aff}.theme-blue label.label-radio input[type=checkbox]:checked~.item-inner,.theme-blue label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23007aff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-blue .picker-calendar-day.picker-calendar-day-selected span{background-color:#007aff!important}.swiper-pagination.color-blue .swiper-pagination-bullet-active,.theme-blue .swiper-pagination .swiper-pagination-bullet-active{background-color:#007aff}.swiper-pagination.color-blue .swiper-pagination-progressbar,.theme-blue .swiper-pagination .swiper-pagination-progressbar{background-color:#007aff}.swiper-pagination.swiper-pagination-progress.bg-blue{background-color:rgba(0,122,255,.25)}.swiper-button-next.color-blue,.swiper-container-rtl .swiper-button-prev.color-blue,.theme-blue .swiper-button-next,.theme-blue .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-blue,.swiper-container-rtl .swiper-button-next.color-blue,.theme-blue .swiper-button-prev,.theme-blue .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-blue,.speed-dial-buttons a.theme-blue,.theme-blue .floating-button,.theme-blue .speed-dial-buttons a{color:#fff;background:#007aff}.floating-button.theme-blue.active-state,.speed-dial-buttons a.theme-blue.active-state,.theme-blue .floating-button.active-state,.theme-blue .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-blue:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-blue:active,html:not(.watch-active-state) .theme-blue .floating-button:active,html:not(.watch-active-state) .theme-blue .speed-dial-buttons a:active{background:#0066d6}.floating-button.theme-blue i,.speed-dial-buttons a.theme-blue i,.theme-blue .floating-button i,.theme-blue .speed-dial-buttons a i{color:inherit}.range-slider.theme-blue input[type=range]::-webkit-slider-thumb:before,.theme-blue .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#007aff}.range-slider.theme-blue input[type=range]::-ms-fill-lower,.theme-blue .range-slider input[type=range]::-ms-fill-lower{background-color:#007aff}.badge.theme-blue{background-color:#007aff;color:#fff}.theme-green .button:not(.button-fill){border-color:#4cd964}.theme-green .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-green .button:not(.button-fill):active{background-color:rgba(76,217,100,.15)}.theme-green .button:not(.button-fill).active{background-color:#4cd964;color:#fff}.theme-green .button.button-fill{background:#4cd964;color:#fff}.progressbar.theme-green span,.theme-green .progressbar span{background-color:#4cd964}.progressbar-infinite.theme-green:before,.theme-green .progressbar-infinite:before{background-color:#4cd964}.theme-green i.icon,i.icon.theme-green{color:#4cd964}.theme-green i.icon-next,i.icon-next.color-green,i.icon-next.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-green i.icon-prev,i.icon-prev.color-green,i.icon-prev.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-green i.icon-back,i.icon-back.color-green,i.icon-back.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E")}.theme-green i.icon-forward,i.icon-forward.color-green,i.icon-forward.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E")}.theme-green i.icon-bars,i.icon-bars.color-green,i.icon-bars.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-green i.icon-bars,i.icon-bars.color-green,i.icon-bars.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-green .item-link.list-button,.theme-green a{color:#4cd964}.tabbar.theme-green a,.tabbar.theme-green a i,.theme-green .tabbar a,.theme-green .tabbar a i{color:inherit}.tabbar.theme-green a.active,.tabbar.theme-green a.active i,.theme-green .tabbar a.active,.theme-green .tabbar a.active i{color:#4cd964}.theme-green .messagebar .messagebar-send-link{background-color:#4cd964}.theme-green label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-green label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#4cd964}.theme-green label.label-radio input[type=checkbox]:checked~.item-inner,.theme-green label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%234cd964'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-green .picker-calendar-day.picker-calendar-day-selected span{background-color:#4cd964!important}.swiper-pagination.color-green .swiper-pagination-bullet-active,.theme-green .swiper-pagination .swiper-pagination-bullet-active{background-color:#4cd964}.swiper-pagination.color-green .swiper-pagination-progressbar,.theme-green .swiper-pagination .swiper-pagination-progressbar{background-color:#4cd964}.swiper-pagination.swiper-pagination-progress.bg-green{background-color:rgba(76,217,100,.25)}.swiper-button-next.color-green,.swiper-container-rtl .swiper-button-prev.color-green,.theme-green .swiper-button-next,.theme-green .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-green,.swiper-container-rtl .swiper-button-next.color-green,.theme-green .swiper-button-prev,.theme-green .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-green,.speed-dial-buttons a.theme-green,.theme-green .floating-button,.theme-green .speed-dial-buttons a{color:#fff;background:#4cd964}.floating-button.theme-green.active-state,.speed-dial-buttons a.theme-green.active-state,.theme-green .floating-button.active-state,.theme-green .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-green:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-green:active,html:not(.watch-active-state) .theme-green .floating-button:active,html:not(.watch-active-state) .theme-green .speed-dial-buttons a:active{background:#2cd048}.floating-button.theme-green i,.speed-dial-buttons a.theme-green i,.theme-green .floating-button i,.theme-green .speed-dial-buttons a i{color:inherit}.range-slider.theme-green input[type=range]::-webkit-slider-thumb:before,.theme-green .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#4cd964}.range-slider.theme-green input[type=range]::-ms-fill-lower,.theme-green .range-slider input[type=range]::-ms-fill-lower{background-color:#4cd964}.badge.theme-green{background-color:#4cd964;color:#fff}.theme-red .button:not(.button-fill){border-color:#ff3b30}.theme-red .button:not(.button-fill).active-state,html:not(.watch-active-state) .theme-red .button:not(.button-fill):active{background-color:rgba(255,59,48,.15)}.theme-red .button:not(.button-fill).active{background-color:#ff3b30;color:#fff}.theme-red .button.button-fill{background:#ff3b30;color:#fff}.progressbar.theme-red span,.theme-red .progressbar span{background-color:#ff3b30}.progressbar-infinite.theme-red:before,.theme-red .progressbar-infinite:before{background-color:#ff3b30}.theme-red i.icon,i.icon.theme-red{color:#ff3b30}.theme-red i.icon-next,i.icon-next.color-red,i.icon-next.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-red i.icon-prev,i.icon-prev.color-red,i.icon-prev.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-red i.icon-back,i.icon-back.color-red,i.icon-back.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E")}.theme-red i.icon-forward,i.icon-forward.color-red,i.icon-forward.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E")}.theme-red i.icon-bars,i.icon-bars.color-red,i.icon-bars.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2){.theme-red i.icon-bars,i.icon-bars.color-red,i.icon-bars.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E")}}.theme-red .item-link.list-button,.theme-red a{color:#ff3b30}.tabbar.theme-red a,.tabbar.theme-red a i,.theme-red .tabbar a,.theme-red .tabbar a i{color:inherit}.tabbar.theme-red a.active,.tabbar.theme-red a.active i,.theme-red .tabbar a.active,.theme-red .tabbar a.active i{color:#ff3b30}.theme-red .messagebar .messagebar-send-link{background-color:#ff3b30}.theme-red label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-red label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{background-color:#ff3b30}.theme-red label.label-radio input[type=checkbox]:checked~.item-inner,.theme-red label.label-radio input[type=radio]:checked~.item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff3b30'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E")}.theme-red .picker-calendar-day.picker-calendar-day-selected span{background-color:#ff3b30!important}.swiper-pagination.color-red .swiper-pagination-bullet-active,.theme-red .swiper-pagination .swiper-pagination-bullet-active{background-color:#ff3b30}.swiper-pagination.color-red .swiper-pagination-progressbar,.theme-red .swiper-pagination .swiper-pagination-progressbar{background-color:#ff3b30}.swiper-pagination.swiper-pagination-progress.bg-red{background-color:rgba(255,59,48,.25)}.swiper-button-next.color-red,.swiper-container-rtl .swiper-button-prev.color-red,.theme-red .swiper-button-next,.theme-red .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-red,.swiper-container-rtl .swiper-button-next.color-red,.theme-red .swiper-button-prev,.theme-red .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-red,.speed-dial-buttons a.theme-red,.theme-red .floating-button,.theme-red .speed-dial-buttons a{color:#fff;background:#ff3b30}.floating-button.theme-red.active-state,.speed-dial-buttons a.theme-red.active-state,.theme-red .floating-button.active-state,.theme-red .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-red:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-red:active,html:not(.watch-active-state) .theme-red .floating-button:active,html:not(.watch-active-state) .theme-red .speed-dial-buttons a:active{background:#ff1407}.floating-button.theme-red i,.speed-dial-buttons a.theme-red i,.theme-red .floating-button i,.theme-red .speed-dial-buttons a i{color:inherit}.range-slider.theme-red input[type=range]::-webkit-slider-thumb:before,.theme-red .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ff3b30}.range-slider.theme-red input[type=range]::-ms-fill-lower,.theme-red .range-slider input[type=range]::-ms-fill-lower{background-color:#ff3b30}.badge.theme-red{background-color:#ff3b30;color:#fff}.color-gray{color:#8e8e93}.list-block .item-link.list-button.color-gray,.tabbar a.active.color-gray,a.color-gray{color:#8e8e93}.label-switch input[type=checkbox]:checked+.checkbox.color-gray,.label-switch.color-gray input[type=checkbox]:checked+.checkbox{background-color:#8e8e93}.color-gray.button:not(.button-fill),.color-gray.buttons-row .button{border-color:#8e8e93}.color-gray.button:not(.button-fill).active-state,.color-gray.buttons-row .button.active-state,html:not(.watch-active-state) .color-gray.button:not(.button-fill):active,html:not(.watch-active-state) .color-gray.buttons-row .button:active{background-color:rgba(142,142,147,.15)}.color-gray.button:not(.button-fill).active,.color-gray.buttons-row .button.active{background-color:#8e8e93;color:#fff}.button.button-fill.color-gray{background:#8e8e93;color:#fff}.progressbar.bg-gray span,.progressbar.color-gray span{background-color:#8e8e93}.progressbar-infinite.bg-gray:before,.progressbar-infinite.color-gray:before{background-color:#8e8e93}.color-gray i.icon,i.icon.color-gray{color:#8e8e93}.preloader.color-gray,.preloader.preloader-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%238e8e93'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-gray,.button.button-fill.bg-gray,.list-block .swipeout-actions-left a.bg-gray,.list-block .swipeout-actions-right a.bg-gray,a.bg-gray{background-color:#8e8e93}.border-gray{border-color:#8e8e93}.border-gray:after,.border-gray:before,.list-block .border-gray.item-inner:after,.list-block .border-gray.item-inner:before,.list-block ul.border-gray:after,.list-block ul.border-gray:before{background-color:#8e8e93}.floating-button.bg-gray,.floating-button.color-gray,.speed-dial-buttons a.bg-gray,.speed-dial-buttons a.color-gray{color:#fff;background:#8e8e93}.floating-button.bg-gray.active-state,.floating-button.color-gray.active-state,.speed-dial-buttons a.bg-gray.active-state,.speed-dial-buttons a.color-gray.active-state,html:not(.watch-active-state) .floating-button.bg-gray:active,html:not(.watch-active-state) .floating-button.color-gray:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-gray:active,html:not(.watch-active-state) .speed-dial-buttons a.color-gray:active{background:#79797f}.floating-button.bg-gray i,.floating-button.color-gray i,.speed-dial-buttons a.bg-gray i,.speed-dial-buttons a.color-gray i{color:inherit}.range-slider.color-gray input[type=range]::-webkit-slider-thumb:before{background-color:#8e8e93}.range-slider.color-gray input[type=range]::-ms-fill-lower{background-color:#8e8e93}.badge.color-gray{background-color:#8e8e93;color:#fff}.color-white{color:#fff}.list-block .item-link.list-button.color-white,.tabbar a.active.color-white,a.color-white{color:#fff}.label-switch input[type=checkbox]:checked+.checkbox.color-white,.label-switch.color-white input[type=checkbox]:checked+.checkbox{background-color:#fff}.color-white.button:not(.button-fill),.color-white.buttons-row .button{border-color:#fff}.color-white.button:not(.button-fill).active-state,.color-white.buttons-row .button.active-state,html:not(.watch-active-state) .color-white.button:not(.button-fill):active,html:not(.watch-active-state) .color-white.buttons-row .button:active{background-color:rgba(255,255,255,.15)}.color-white.button:not(.button-fill).active,.color-white.buttons-row .button.active{background-color:#fff;color:#fff}.button.button-fill.color-white{background:#fff;color:#fff}.progressbar.bg-white span,.progressbar.color-white span{background-color:#fff}.progressbar-infinite.bg-white:before,.progressbar-infinite.color-white:before{background-color:#fff}.color-white i.icon,i.icon.color-white{color:#fff}.preloader.color-white,.preloader.preloader-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ffffff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-white,.button.button-fill.bg-white,.list-block .swipeout-actions-left a.bg-white,.list-block .swipeout-actions-right a.bg-white,a.bg-white{background-color:#fff}.border-white{border-color:#fff}.border-white:after,.border-white:before,.list-block .border-white.item-inner:after,.list-block .border-white.item-inner:before,.list-block ul.border-white:after,.list-block ul.border-white:before{background-color:#fff}.floating-button.bg-white,.floating-button.color-white,.speed-dial-buttons a.bg-white,.speed-dial-buttons a.color-white{color:#fff;background:#fff}.floating-button.bg-white.active-state,.floating-button.color-white.active-state,.speed-dial-buttons a.bg-white.active-state,.speed-dial-buttons a.color-white.active-state,html:not(.watch-active-state) .floating-button.bg-white:active,html:not(.watch-active-state) .floating-button.color-white:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-white:active,html:not(.watch-active-state) .speed-dial-buttons a.color-white:active{background:#ebebeb}.floating-button.bg-white i,.floating-button.color-white i,.speed-dial-buttons a.bg-white i,.speed-dial-buttons a.color-white i{color:inherit}.range-slider.color-white input[type=range]::-webkit-slider-thumb:before{background-color:#fff}.range-slider.color-white input[type=range]::-ms-fill-lower{background-color:#fff}.badge.color-white{background-color:#fff;color:#fff}.color-black{color:#000}.list-block .item-link.list-button.color-black,.tabbar a.active.color-black,a.color-black{color:#000}.label-switch input[type=checkbox]:checked+.checkbox.color-black,.label-switch.color-black input[type=checkbox]:checked+.checkbox{background-color:#000}.color-black.button:not(.button-fill),.color-black.buttons-row .button{border-color:#000}.color-black.button:not(.button-fill).active-state,.color-black.buttons-row .button.active-state,html:not(.watch-active-state) .color-black.button:not(.button-fill):active,html:not(.watch-active-state) .color-black.buttons-row .button:active{background-color:rgba(0,0,0,.15)}.color-black.button:not(.button-fill).active,.color-black.buttons-row .button.active{background-color:#000;color:#fff}.button.button-fill.color-black{background:#000;color:#fff}.progressbar.bg-black span,.progressbar.color-black span{background-color:#000}.progressbar-infinite.bg-black:before,.progressbar-infinite.color-black:before{background-color:#000}.color-black i.icon,i.icon.color-black{color:#000}.preloader.color-black,.preloader.preloader-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23000000'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-black,.button.button-fill.bg-black,.list-block .swipeout-actions-left a.bg-black,.list-block .swipeout-actions-right a.bg-black,a.bg-black{background-color:#000}.border-black{border-color:#000}.border-black:after,.border-black:before,.list-block .border-black.item-inner:after,.list-block .border-black.item-inner:before,.list-block ul.border-black:after,.list-block ul.border-black:before{background-color:#000}.floating-button.bg-black,.floating-button.color-black,.speed-dial-buttons a.bg-black,.speed-dial-buttons a.color-black{color:#fff;background:#000}.floating-button.bg-black.active-state,.floating-button.color-black.active-state,.speed-dial-buttons a.bg-black.active-state,.speed-dial-buttons a.color-black.active-state,html:not(.watch-active-state) .floating-button.bg-black:active,html:not(.watch-active-state) .floating-button.color-black:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-black:active,html:not(.watch-active-state) .speed-dial-buttons a.color-black:active{background:#000}.floating-button.bg-black i,.floating-button.color-black i,.speed-dial-buttons a.bg-black i,.speed-dial-buttons a.color-black i{color:inherit}.range-slider.color-black input[type=range]::-webkit-slider-thumb:before{background-color:#000}.range-slider.color-black input[type=range]::-ms-fill-lower{background-color:#000}.badge.color-black{background-color:#000;color:#fff}.color-lightblue{color:#5ac8fa}.list-block .item-link.list-button.color-lightblue,.tabbar a.active.color-lightblue,a.color-lightblue{color:#5ac8fa}.label-switch input[type=checkbox]:checked+.checkbox.color-lightblue,.label-switch.color-lightblue input[type=checkbox]:checked+.checkbox{background-color:#5ac8fa}.color-lightblue.button:not(.button-fill),.color-lightblue.buttons-row .button{border-color:#5ac8fa}.color-lightblue.button:not(.button-fill).active-state,.color-lightblue.buttons-row .button.active-state,html:not(.watch-active-state) .color-lightblue.button:not(.button-fill):active,html:not(.watch-active-state) .color-lightblue.buttons-row .button:active{background-color:rgba(90,200,250,.15)}.color-lightblue.button:not(.button-fill).active,.color-lightblue.buttons-row .button.active{background-color:#5ac8fa;color:#fff}.button.button-fill.color-lightblue{background:#5ac8fa;color:#fff}.progressbar.bg-lightblue span,.progressbar.color-lightblue span{background-color:#5ac8fa}.progressbar-infinite.bg-lightblue:before,.progressbar-infinite.color-lightblue:before{background-color:#5ac8fa}.color-lightblue i.icon,i.icon.color-lightblue{color:#5ac8fa}.preloader.color-lightblue,.preloader.preloader-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%235ac8fa'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-lightblue,.button.button-fill.bg-lightblue,.list-block .swipeout-actions-left a.bg-lightblue,.list-block .swipeout-actions-right a.bg-lightblue,a.bg-lightblue{background-color:#5ac8fa}.border-lightblue{border-color:#5ac8fa}.border-lightblue:after,.border-lightblue:before,.list-block .border-lightblue.item-inner:after,.list-block .border-lightblue.item-inner:before,.list-block ul.border-lightblue:after,.list-block ul.border-lightblue:before{background-color:#5ac8fa}.floating-button.bg-lightblue,.floating-button.color-lightblue,.speed-dial-buttons a.bg-lightblue,.speed-dial-buttons a.color-lightblue{color:#fff;background:#5ac8fa}.floating-button.bg-lightblue.active-state,.floating-button.color-lightblue.active-state,.speed-dial-buttons a.bg-lightblue.active-state,.speed-dial-buttons a.color-lightblue.active-state,html:not(.watch-active-state) .floating-button.bg-lightblue:active,html:not(.watch-active-state) .floating-button.color-lightblue:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-lightblue:active,html:not(.watch-active-state) .speed-dial-buttons a.color-lightblue:active{background:#32bbf9}.floating-button.bg-lightblue i,.floating-button.color-lightblue i,.speed-dial-buttons a.bg-lightblue i,.speed-dial-buttons a.color-lightblue i{color:inherit}.range-slider.color-lightblue input[type=range]::-webkit-slider-thumb:before{background-color:#5ac8fa}.range-slider.color-lightblue input[type=range]::-ms-fill-lower{background-color:#5ac8fa}.badge.color-lightblue{background-color:#5ac8fa;color:#fff}.color-yellow{color:#fc0}.list-block .item-link.list-button.color-yellow,.tabbar a.active.color-yellow,a.color-yellow{color:#fc0}.label-switch input[type=checkbox]:checked+.checkbox.color-yellow,.label-switch.color-yellow input[type=checkbox]:checked+.checkbox{background-color:#fc0}.color-yellow.button:not(.button-fill),.color-yellow.buttons-row .button{border-color:#fc0}.color-yellow.button:not(.button-fill).active-state,.color-yellow.buttons-row .button.active-state,html:not(.watch-active-state) .color-yellow.button:not(.button-fill):active,html:not(.watch-active-state) .color-yellow.buttons-row .button:active{background-color:rgba(255,204,0,.15)}.color-yellow.button:not(.button-fill).active,.color-yellow.buttons-row .button.active{background-color:#fc0;color:#fff}.button.button-fill.color-yellow{background:#fc0;color:#fff}.progressbar.bg-yellow span,.progressbar.color-yellow span{background-color:#fc0}.progressbar-infinite.bg-yellow:before,.progressbar-infinite.color-yellow:before{background-color:#fc0}.color-yellow i.icon,i.icon.color-yellow{color:#fc0}.preloader.color-yellow,.preloader.preloader-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ffcc00'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-yellow,.button.button-fill.bg-yellow,.list-block .swipeout-actions-left a.bg-yellow,.list-block .swipeout-actions-right a.bg-yellow,a.bg-yellow{background-color:#fc0}.border-yellow{border-color:#fc0}.border-yellow:after,.border-yellow:before,.list-block .border-yellow.item-inner:after,.list-block .border-yellow.item-inner:before,.list-block ul.border-yellow:after,.list-block ul.border-yellow:before{background-color:#fc0}.floating-button.bg-yellow,.floating-button.color-yellow,.speed-dial-buttons a.bg-yellow,.speed-dial-buttons a.color-yellow{color:#fff;background:#fc0}.floating-button.bg-yellow.active-state,.floating-button.color-yellow.active-state,.speed-dial-buttons a.bg-yellow.active-state,.speed-dial-buttons a.color-yellow.active-state,html:not(.watch-active-state) .floating-button.bg-yellow:active,html:not(.watch-active-state) .floating-button.color-yellow:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-yellow:active,html:not(.watch-active-state) .speed-dial-buttons a.color-yellow:active{background:#d6ab00}.floating-button.bg-yellow i,.floating-button.color-yellow i,.speed-dial-buttons a.bg-yellow i,.speed-dial-buttons a.color-yellow i{color:inherit}.range-slider.color-yellow input[type=range]::-webkit-slider-thumb:before{background-color:#fc0}.range-slider.color-yellow input[type=range]::-ms-fill-lower{background-color:#fc0}.badge.color-yellow{background-color:#fc0;color:#fff}.color-orange{color:#ff9500}.list-block .item-link.list-button.color-orange,.tabbar a.active.color-orange,a.color-orange{color:#ff9500}.label-switch input[type=checkbox]:checked+.checkbox.color-orange,.label-switch.color-orange input[type=checkbox]:checked+.checkbox{background-color:#ff9500}.color-orange.button:not(.button-fill),.color-orange.buttons-row .button{border-color:#ff9500}.color-orange.button:not(.button-fill).active-state,.color-orange.buttons-row .button.active-state,html:not(.watch-active-state) .color-orange.button:not(.button-fill):active,html:not(.watch-active-state) .color-orange.buttons-row .button:active{background-color:rgba(255,149,0,.15)}.color-orange.button:not(.button-fill).active,.color-orange.buttons-row .button.active{background-color:#ff9500;color:#fff}.button.button-fill.color-orange{background:#ff9500;color:#fff}.progressbar.bg-orange span,.progressbar.color-orange span{background-color:#ff9500}.progressbar-infinite.bg-orange:before,.progressbar-infinite.color-orange:before{background-color:#ff9500}.color-orange i.icon,i.icon.color-orange{color:#ff9500}.preloader.color-orange,.preloader.preloader-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff9500'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-orange,.button.button-fill.bg-orange,.list-block .swipeout-actions-left a.bg-orange,.list-block .swipeout-actions-right a.bg-orange,a.bg-orange{background-color:#ff9500}.border-orange{border-color:#ff9500}.border-orange:after,.border-orange:before,.list-block .border-orange.item-inner:after,.list-block .border-orange.item-inner:before,.list-block ul.border-orange:after,.list-block ul.border-orange:before{background-color:#ff9500}.floating-button.bg-orange,.floating-button.color-orange,.speed-dial-buttons a.bg-orange,.speed-dial-buttons a.color-orange{color:#fff;background:#ff9500}.floating-button.bg-orange.active-state,.floating-button.color-orange.active-state,.speed-dial-buttons a.bg-orange.active-state,.speed-dial-buttons a.color-orange.active-state,html:not(.watch-active-state) .floating-button.bg-orange:active,html:not(.watch-active-state) .floating-button.color-orange:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-orange:active,html:not(.watch-active-state) .speed-dial-buttons a.color-orange:active{background:#d67d00}.floating-button.bg-orange i,.floating-button.color-orange i,.speed-dial-buttons a.bg-orange i,.speed-dial-buttons a.color-orange i{color:inherit}.range-slider.color-orange input[type=range]::-webkit-slider-thumb:before{background-color:#ff9500}.range-slider.color-orange input[type=range]::-ms-fill-lower{background-color:#ff9500}.badge.color-orange{background-color:#ff9500;color:#fff}.color-pink{color:#ff2d55}.list-block .item-link.list-button.color-pink,.tabbar a.active.color-pink,a.color-pink{color:#ff2d55}.label-switch input[type=checkbox]:checked+.checkbox.color-pink,.label-switch.color-pink input[type=checkbox]:checked+.checkbox{background-color:#ff2d55}.color-pink.button:not(.button-fill),.color-pink.buttons-row .button{border-color:#ff2d55}.color-pink.button:not(.button-fill).active-state,.color-pink.buttons-row .button.active-state,html:not(.watch-active-state) .color-pink.button:not(.button-fill):active,html:not(.watch-active-state) .color-pink.buttons-row .button:active{background-color:rgba(255,45,85,.15)}.color-pink.button:not(.button-fill).active,.color-pink.buttons-row .button.active{background-color:#ff2d55;color:#fff}.button.button-fill.color-pink{background:#ff2d55;color:#fff}.progressbar.bg-pink span,.progressbar.color-pink span{background-color:#ff2d55}.progressbar-infinite.bg-pink:before,.progressbar-infinite.color-pink:before{background-color:#ff2d55}.color-pink i.icon,i.icon.color-pink{color:#ff2d55}.preloader.color-pink,.preloader.preloader-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff2d55'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-pink,.button.button-fill.bg-pink,.list-block .swipeout-actions-left a.bg-pink,.list-block .swipeout-actions-right a.bg-pink,a.bg-pink{background-color:#ff2d55}.border-pink{border-color:#ff2d55}.border-pink:after,.border-pink:before,.list-block .border-pink.item-inner:after,.list-block .border-pink.item-inner:before,.list-block ul.border-pink:after,.list-block ul.border-pink:before{background-color:#ff2d55}.floating-button.bg-pink,.floating-button.color-pink,.speed-dial-buttons a.bg-pink,.speed-dial-buttons a.color-pink{color:#fff;background:#ff2d55}.floating-button.bg-pink.active-state,.floating-button.color-pink.active-state,.speed-dial-buttons a.bg-pink.active-state,.speed-dial-buttons a.color-pink.active-state,html:not(.watch-active-state) .floating-button.bg-pink:active,html:not(.watch-active-state) .floating-button.color-pink:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-pink:active,html:not(.watch-active-state) .speed-dial-buttons a.color-pink:active{background:#ff0434}.floating-button.bg-pink i,.floating-button.color-pink i,.speed-dial-buttons a.bg-pink i,.speed-dial-buttons a.color-pink i{color:inherit}.range-slider.color-pink input[type=range]::-webkit-slider-thumb:before{background-color:#ff2d55}.range-slider.color-pink input[type=range]::-ms-fill-lower{background-color:#ff2d55}.badge.color-pink{background-color:#ff2d55;color:#fff}.color-blue{color:#007aff}.list-block .item-link.list-button.color-blue,.tabbar a.active.color-blue,a.color-blue{color:#007aff}.label-switch input[type=checkbox]:checked+.checkbox.color-blue,.label-switch.color-blue input[type=checkbox]:checked+.checkbox{background-color:#007aff}.color-blue.button:not(.button-fill),.color-blue.buttons-row .button{border-color:#007aff}.color-blue.button:not(.button-fill).active-state,.color-blue.buttons-row .button.active-state,html:not(.watch-active-state) .color-blue.button:not(.button-fill):active,html:not(.watch-active-state) .color-blue.buttons-row .button:active{background-color:rgba(0,122,255,.15)}.color-blue.button:not(.button-fill).active,.color-blue.buttons-row .button.active{background-color:#007aff;color:#fff}.button.button-fill.color-blue{background:#007aff;color:#fff}.progressbar.bg-blue span,.progressbar.color-blue span{background-color:#007aff}.progressbar-infinite.bg-blue:before,.progressbar-infinite.color-blue:before{background-color:#007aff}.color-blue i.icon,i.icon.color-blue{color:#007aff}.preloader.color-blue,.preloader.preloader-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23007aff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-blue,.button.button-fill.bg-blue,.list-block .swipeout-actions-left a.bg-blue,.list-block .swipeout-actions-right a.bg-blue,a.bg-blue{background-color:#007aff}.border-blue{border-color:#007aff}.border-blue:after,.border-blue:before,.list-block .border-blue.item-inner:after,.list-block .border-blue.item-inner:before,.list-block ul.border-blue:after,.list-block ul.border-blue:before{background-color:#007aff}.floating-button.bg-blue,.floating-button.color-blue,.speed-dial-buttons a.bg-blue,.speed-dial-buttons a.color-blue{color:#fff;background:#007aff}.floating-button.bg-blue.active-state,.floating-button.color-blue.active-state,.speed-dial-buttons a.bg-blue.active-state,.speed-dial-buttons a.color-blue.active-state,html:not(.watch-active-state) .floating-button.bg-blue:active,html:not(.watch-active-state) .floating-button.color-blue:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-blue:active,html:not(.watch-active-state) .speed-dial-buttons a.color-blue:active{background:#0066d6}.floating-button.bg-blue i,.floating-button.color-blue i,.speed-dial-buttons a.bg-blue i,.speed-dial-buttons a.color-blue i{color:inherit}.range-slider.color-blue input[type=range]::-webkit-slider-thumb:before{background-color:#007aff}.range-slider.color-blue input[type=range]::-ms-fill-lower{background-color:#007aff}.badge.color-blue{background-color:#007aff;color:#fff}.color-green{color:#4cd964}.list-block .item-link.list-button.color-green,.tabbar a.active.color-green,a.color-green{color:#4cd964}.label-switch input[type=checkbox]:checked+.checkbox.color-green,.label-switch.color-green input[type=checkbox]:checked+.checkbox{background-color:#4cd964}.color-green.button:not(.button-fill),.color-green.buttons-row .button{border-color:#4cd964}.color-green.button:not(.button-fill).active-state,.color-green.buttons-row .button.active-state,html:not(.watch-active-state) .color-green.button:not(.button-fill):active,html:not(.watch-active-state) .color-green.buttons-row .button:active{background-color:rgba(76,217,100,.15)}.color-green.button:not(.button-fill).active,.color-green.buttons-row .button.active{background-color:#4cd964;color:#fff}.button.button-fill.color-green{background:#4cd964;color:#fff}.progressbar.bg-green span,.progressbar.color-green span{background-color:#4cd964}.progressbar-infinite.bg-green:before,.progressbar-infinite.color-green:before{background-color:#4cd964}.color-green i.icon,i.icon.color-green{color:#4cd964}.preloader.color-green,.preloader.preloader-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%234cd964'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-green,.button.button-fill.bg-green,.list-block .swipeout-actions-left a.bg-green,.list-block .swipeout-actions-right a.bg-green,a.bg-green{background-color:#4cd964}.border-green{border-color:#4cd964}.border-green:after,.border-green:before,.list-block .border-green.item-inner:after,.list-block .border-green.item-inner:before,.list-block ul.border-green:after,.list-block ul.border-green:before{background-color:#4cd964}.floating-button.bg-green,.floating-button.color-green,.speed-dial-buttons a.bg-green,.speed-dial-buttons a.color-green{color:#fff;background:#4cd964}.floating-button.bg-green.active-state,.floating-button.color-green.active-state,.speed-dial-buttons a.bg-green.active-state,.speed-dial-buttons a.color-green.active-state,html:not(.watch-active-state) .floating-button.bg-green:active,html:not(.watch-active-state) .floating-button.color-green:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-green:active,html:not(.watch-active-state) .speed-dial-buttons a.color-green:active{background:#2cd048}.floating-button.bg-green i,.floating-button.color-green i,.speed-dial-buttons a.bg-green i,.speed-dial-buttons a.color-green i{color:inherit}.range-slider.color-green input[type=range]::-webkit-slider-thumb:before{background-color:#4cd964}.range-slider.color-green input[type=range]::-ms-fill-lower{background-color:#4cd964}.badge.color-green{background-color:#4cd964;color:#fff}.color-red{color:#ff3b30}.list-block .item-link.list-button.color-red,.tabbar a.active.color-red,a.color-red{color:#ff3b30}.label-switch input[type=checkbox]:checked+.checkbox.color-red,.label-switch.color-red input[type=checkbox]:checked+.checkbox{background-color:#ff3b30}.color-red.button:not(.button-fill),.color-red.buttons-row .button{border-color:#ff3b30}.color-red.button:not(.button-fill).active-state,.color-red.buttons-row .button.active-state,html:not(.watch-active-state) .color-red.button:not(.button-fill):active,html:not(.watch-active-state) .color-red.buttons-row .button:active{background-color:rgba(255,59,48,.15)}.color-red.button:not(.button-fill).active,.color-red.buttons-row .button.active{background-color:#ff3b30;color:#fff}.button.button-fill.color-red{background:#ff3b30;color:#fff}.progressbar.bg-red span,.progressbar.color-red span{background-color:#ff3b30}.progressbar-infinite.bg-red:before,.progressbar-infinite.color-red:before{background-color:#ff3b30}.color-red i.icon,i.icon.color-red{color:#ff3b30}.preloader.color-red,.preloader.preloader-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff3b30'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.bg-red,.button.button-fill.bg-red,.list-block .swipeout-actions-left a.bg-red,.list-block .swipeout-actions-right a.bg-red,a.bg-red{background-color:#ff3b30}.border-red{border-color:#ff3b30}.border-red:after,.border-red:before,.list-block .border-red.item-inner:after,.list-block .border-red.item-inner:before,.list-block ul.border-red:after,.list-block ul.border-red:before{background-color:#ff3b30}.floating-button.bg-red,.floating-button.color-red,.speed-dial-buttons a.bg-red,.speed-dial-buttons a.color-red{color:#fff;background:#ff3b30}.floating-button.bg-red.active-state,.floating-button.color-red.active-state,.speed-dial-buttons a.bg-red.active-state,.speed-dial-buttons a.color-red.active-state,html:not(.watch-active-state) .floating-button.bg-red:active,html:not(.watch-active-state) .floating-button.color-red:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-red:active,html:not(.watch-active-state) .speed-dial-buttons a.color-red:active{background:#ff1407}.floating-button.bg-red i,.floating-button.color-red i,.speed-dial-buttons a.bg-red i,.speed-dial-buttons a.color-red i{color:inherit}.range-slider.color-red input[type=range]::-webkit-slider-thumb:before{background-color:#ff3b30}.range-slider.color-red input[type=range]::-ms-fill-lower{background-color:#ff3b30}.badge.color-red{background-color:#ff3b30;color:#fff}.layout-dark .navbar,.layout-dark .subnavbar,.navbar.layout-dark,.subnavbar.layout-dark{background-color:#131313;color:#fff}.layout-dark .navbar:after,.layout-dark .subnavbar:after,.navbar.layout-dark:after,.subnavbar.layout-dark:after{background-color:#333}.layout-dark .toolbar,.toolbar.layout-dark{background-color:#131313;color:#fff}.layout-dark .toolbar:before,.toolbar.layout-dark:before{background-color:#333}.layout-dark .picker-modal .toolbar{background-color:#131313}.layout-dark .popover .picker-modal .toolbar{background:0 0}.layout-dark .picker-calendar-week-days{color:#fff;background-color:#131313}.layout-dark .picker-modal.picker-modal-inline .picker-center-highlight:before,.layout-dark .popover .picker-modal .picker-center-highlight:before{background-color:#333}.layout-dark .picker-modal.picker-modal-inline .picker-center-highlight:after,.layout-dark .popover .picker-modal .picker-center-highlight:after{background-color:#333}.layout-dark .picker-modal.picker-modal-inline .picker-item.picker-selected,.layout-dark .popover .picker-modal .picker-item.picker-selected{color:#fff}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days,.layout-dark .popover .picker-modal .picker-calendar-week-days{color:#fff}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day,.layout-dark .popover .picker-modal .picker-calendar-day{color:#fff}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-next,.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-prev,.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-next,.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-prev{color:#777}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-disabled,.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-disabled{color:#555}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-today span,.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-today span{background:#333}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-has-events span:after,.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-has-events span:after{background:#555}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-row:after,.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days:after,.layout-dark .popover .picker-modal .picker-calendar-row:after,.layout-dark .popover .picker-modal .picker-calendar-week-days:after{background-color:#333}.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,.layout-dark .picker-modal.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,.layout-dark .popover .picker-modal .picker-calendar-week-days~.picker-calendar-months:before,.layout-dark .popover .picker-modal .toolbar~.picker-modal-inner .picker-calendar-months:before{background-color:#333}.layout-dark .popover .picker-modal .toolbar:after{background-color:#333}.layout-dark .photo-browser .navbar,.layout-dark .photo-browser .toolbar,.layout-dark .views .view[data-page=photo-browser-slides] .navbar,.layout-dark .views .view[data-page=photo-browser-slides] .toolbar{color:#000;background:rgba(247,247,247,.95)}.layout-dark .photo-browser-dark .navbar,.layout-dark .photo-browser-dark .toolbar{background:rgba(30,30,30,.8);color:#fff}.layout-dark .tabbar a:not(.active){color:#fff}.layout-dark .login-screen-content,.layout-dark .page,.layout-dark .panel,.page.layout-dark,.panel.layout-dark{background-color:#222426;color:#ddd}.layout-dark .content-block-title{color:#fff}.content-block.layout-dark,.layout-dark .content-block{color:#bbb}.layout-dark .content-block-inner{background:#1c1d1f;color:#ddd}.layout-dark .content-block-inner:before{background-color:#393939}.layout-dark .content-block-inner:after{background-color:#393939}.layout-dark .list-block ul,.list-block.layout-dark ul{background:#1c1d1f}.layout-dark .list-block ul:before,.list-block.layout-dark ul:before{background-color:#393939}.layout-dark .list-block ul:after,.list-block.layout-dark ul:after{background-color:#393939}.layout-dark .list-block.inset ul,.list-block.layout-dark.inset ul{background:#1c1d1f}.layout-dark .list-block.notifications>ul,.list-block.layout-dark.notifications>ul{background:0 0}.layout-dark .autocomplete-dropdown{background:#1c1d1f}.layout-dark .autocomplete-dropdown .list-block b{color:#fff}.layout-dark .card{background:#1c1d1f}.layout-dark .card-header:after{background-color:#393939}.layout-dark .card-footer{color:#bbb}.layout-dark .card-footer:before{background-color:#393939}.layout-dark .popover,.popover.layout-dark{background:rgba(0,0,0,.8)}.layout-dark .popover .popover-angle:after,.popover.layout-dark .popover-angle:after{background:rgba(0,0,0,.8)}.layout-dark .popover .list-block ul,.popover.layout-dark .list-block ul{background:0 0}.layout-dark .actions-popover .list-block ul:before{background-color:#393939}.layout-dark .actions-popover .list-block ul:after{background-color:#393939}.layout-dark .actions-popover .actions-popover-label:after{background-color:#393939}.layout-dark li.sorting{background-color:#29292f}.layout-dark .swipeout-actions-left a,.layout-dark .swipeout-actions-right a{background-color:#444}.layout-dark .item-inner:after,.layout-dark .list-block ul ul li:last-child .item-inner:after{background-color:#393939}.layout-dark .item-after{color:#bbb}.layout-dark .item-link.active-state,.layout-dark label.label-checkbox.active-state,.layout-dark label.label-radio.active-state,html:not(.watch-active-state) .layout-dark .item-link:active,html:not(.watch-active-state) .layout-dark label.label-checkbox:active,html:not(.watch-active-state) .layout-dark label.label-radio:active{background-color:#29292f}.layout-dark .item-link.list-button:after{background-color:#393939}.layout-dark .list-block-label{color:#bbb}.layout-dark .item-divider,.layout-dark .list-group-title{background:#1a1a1a;color:#bbb}.layout-dark .item-divider:before,.layout-dark .list-group-title:before{background-color:#393939}.layout-dark .searchbar{background:#333}.layout-dark .searchbar:after{background-color:#333}.layout-dark .list-block input[type=datetime-local],.layout-dark .list-block input[type=number],.layout-dark .list-block input[type=text],.layout-dark .list-block input[type=password],.layout-dark .list-block input[type=email],.layout-dark .list-block input[type=tel],.layout-dark .list-block input[type=url],.layout-dark .list-block input[type=date],.layout-dark .list-block select,.layout-dark .list-block textarea,.list-block.layout-dark input[type=datetime-local],.list-block.layout-dark input[type=number],.list-block.layout-dark input[type=text],.list-block.layout-dark input[type=password],.list-block.layout-dark input[type=email],.list-block.layout-dark input[type=tel],.list-block.layout-dark input[type=url],.list-block.layout-dark input[type=date],.list-block.layout-dark select,.list-block.layout-dark textarea{color:#fff}.layout-dark .label-switch .checkbox{background-color:#393939}.layout-dark .label-switch .checkbox:before{background-color:#1c1d1f}.layout-dark .range-slider input[type=range]:after{background:#1c1d1f}.layout-dark .range-slider input[type=range]::-ms-thumb{border:none}.layout-white .navbar,.layout-white .subnavbar,.navbar.layout-white,.subnavbar.layout-white{background-color:#fff;color:#000}.layout-white .navbar:after,.layout-white .subnavbar:after,.navbar.layout-white:after,.subnavbar.layout-white:after{background-color:#ddd}.layout-white .toolbar,.toolbar.layout-white{background-color:#fff;color:#000}.layout-white .toolbar:before,.toolbar.layout-white:before{background-color:#ddd}.layout-white .picker-modal .toolbar{background-color:#fff}.layout-white .popover .picker-modal .toolbar{background:0 0}.layout-white .picker-modal.picker-modal-inline .picker-center-highlight:before,.layout-white .popover .picker-modal .picker-center-highlight:before{background-color:#ddd}.layout-white .picker-modal.picker-modal-inline .picker-center-highlight:after,.layout-white .popover .picker-modal .picker-center-highlight:after{background-color:#ddd}.layout-white .picker-modal.picker-modal-inline .picker-calendar-row:after,.layout-white .picker-modal.picker-modal-inline .picker-calendar-week-days:after,.layout-white .popover .picker-modal .picker-calendar-row:after,.layout-white .popover .picker-modal .picker-calendar-week-days:after{background-color:#ddd}.layout-white .picker-modal.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,.layout-white .picker-modal.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,.layout-white .popover .picker-modal .picker-calendar-week-days~.picker-calendar-months:before,.layout-white .popover .picker-modal .toolbar~.picker-modal-inner .picker-calendar-months:before{background-color:#ddd}.layout-white .popover .picker-modal .toolbar:after{background-color:#ddd}.layout-white .photo-browser .navbar,.layout-white .photo-browser .toolbar,.layout-white .views .view[data-page=photo-browser-slides] .navbar,.layout-white .views .view[data-page=photo-browser-slides] .toolbar{color:#000;background:rgba(247,247,247,.95)}.layout-white .photo-browser-dark .navbar,.layout-white .photo-browser-dark .toolbar{background:rgba(30,30,30,.8);color:#fff}.layout-white .tabbar a:not(.active){color:#777}.layout-white .login-screen-content,.layout-white .page,.layout-white .panel,.page.layout-white,.panel.layout-white{background-color:#fff;color:#000}.layout-white .content-block-title{color:#777}.content-block.layout-white,.layout-white .content-block{color:#777}.layout-white .content-block-inner{background:#fafafa;color:#000}.layout-white .content-block-inner:after{background-color:#ddd}.layout-white .content-block-inner:before{background-color:#ddd}.layout-white .list-block ul,.list-block.layout-white ul{background:#fff}.layout-white .list-block ul:after,.list-block.layout-white ul:after{background-color:#ddd}.layout-white .list-block ul:before,.list-block.layout-white ul:before{background-color:#ddd}.layout-white .list-block.inset ul,.list-block.layout-white.inset ul{background:#fafafa}.layout-white .list-block.notifications>ul,.list-block.layout-white.notifications>ul{background:0 0}.layout-white .popover-inner>.list-block ul{background:0 0}.layout-white li.sorting{background-color:#eee}.layout-white .swipeout-actions-left a,.layout-white .swipeout-actions-right a{background-color:#c7c7cc}.layout-white .item-inner,.layout-white .list-block ul ul li:last-child .item-inner{border-color:#ddd}.layout-white .item-inner:after,.layout-white .list-block ul ul li:last-child .item-inner:after{background-color:#ddd}.layout-white .item-after{color:#8e8e93}.layout-white .item-link.active-state,.layout-white label.label-checkbox.active-state,.layout-white label.label-radio.active-state,html:not(.watch-active-state) .layout-white .item-link:active,html:not(.watch-active-state) .layout-white label.label-checkbox:active,html:not(.watch-active-state) .layout-white label.label-radio:active{background-color:#eee}.layout-white .item-link.list-button:after{background-color:#ddd}.layout-white .list-block-label{color:#777}.layout-white .item-divider,.layout-white .list-group-title{background:#f7f7f7;color:#777}.layout-white .item-divider:before,.layout-white .list-group-title:before{background-color:#ddd}.layout-white .searchbar{background:#c9c9ce}.layout-white .searchbar:after{background-color:#b4b4b4}.layout-white .list-block input[type=datetime-local],.layout-white .list-block input[type=number],.layout-white .list-block input[type=text],.layout-white .list-block input[type=password],.layout-white .list-block input[type=email],.layout-white .list-block input[type=tel],.layout-white .list-block input[type=url],.layout-white .list-block input[type=date],.layout-white .list-block select,.layout-white .list-block textarea,.list-block.layout-white input[type=datetime-local],.list-block.layout-white input[type=number],.list-block.layout-white input[type=text],.list-block.layout-white input[type=password],.list-block.layout-white input[type=email],.list-block.layout-white input[type=tel],.list-block.layout-white input[type=url],.list-block.layout-white input[type=date],.list-block.layout-white select,.list-block.layout-white textarea{color:#777}.layout-white .label-switch .checkbox{background-color:#e5e5e5}.layout-white .label-switch .checkbox:before{background-color:#fff}.layout-white .range-slider input[type=range]:after{background:#fff} \ No newline at end of file diff --git a/vendor/framework7/css/framework7.ios.css b/vendor/framework7/css/framework7.ios.css deleted file mode 100644 index f4f2b304b..000000000 --- a/vendor/framework7/css/framework7.ios.css +++ /dev/null @@ -1,7086 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * iOS Theme - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -html, -body, -.framework7-root { - position: relative; - height: 100%; - width: 100%; - overflow-x: hidden; -} -body { - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; - color: #000; - font-size: 14px; - line-height: 1.4; - width: 100%; - -webkit-text-size-adjust: 100%; - background: #fff; - overflow: hidden; -} -.framework7-root { - overflow: hidden; -} -@media all and (width: 1024px) and (height: 691px) and (orientation: landscape) { - html, - body, - .framework7-root { - height: 671px; - } -} -@media all and (width: 1024px) and (height: 692px) and (orientation: landscape) { - html, - body, - .framework7-root { - height: 672px; - } -} -* { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-touch-callout: none; -} -a, -input, -textarea, -select { - outline: 0; -} -a { - text-decoration: none; - color: #007aff; -} -p { - margin: 1em 0; -} -/* === Grid === */ -.row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.row > [class*="col-"] { - box-sizing: border-box; -} -.row .col-auto { - width: 100%; -} -.row .col-100 { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); -} -.row.no-gutter .col-100 { - width: 100%; -} -.row .col-95 { - width: 95%; - width: -webkit-calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); -} -.row.no-gutter .col-95 { - width: 95%; -} -.row .col-90 { - width: 90%; - width: -webkit-calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); -} -.row.no-gutter .col-90 { - width: 90%; -} -.row .col-85 { - width: 85%; - width: -webkit-calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); -} -.row.no-gutter .col-85 { - width: 85%; -} -.row .col-80 { - width: 80%; - width: -webkit-calc((100% - 15px*0.25) / 1.25); - width: calc((100% - 15px*0.25) / 1.25); -} -.row.no-gutter .col-80 { - width: 80%; -} -.row .col-75 { - width: 75%; - width: -webkit-calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); -} -.row.no-gutter .col-75 { - width: 75%; -} -.row .col-70 { - width: 70%; - width: -webkit-calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); -} -.row.no-gutter .col-70 { - width: 70%; -} -.row .col-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); -} -.row.no-gutter .col-66 { - width: 66.66666666666666%; -} -.row .col-65 { - width: 65%; - width: -webkit-calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); -} -.row.no-gutter .col-65 { - width: 65%; -} -.row .col-60 { - width: 60%; - width: -webkit-calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); -} -.row.no-gutter .col-60 { - width: 60%; -} -.row .col-55 { - width: 55%; - width: -webkit-calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); -} -.row.no-gutter .col-55 { - width: 55%; -} -.row .col-50 { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); -} -.row.no-gutter .col-50 { - width: 50%; -} -.row .col-45 { - width: 45%; - width: -webkit-calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); -} -.row.no-gutter .col-45 { - width: 45%; -} -.row .col-40 { - width: 40%; - width: -webkit-calc((100% - 15px*1.5) / 2.5); - width: calc((100% - 15px*1.5) / 2.5); -} -.row.no-gutter .col-40 { - width: 40%; -} -.row .col-35 { - width: 35%; - width: -webkit-calc((100% - 15px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 15px*1.8571428571428572) / 2.857142857142857); -} -.row.no-gutter .col-35 { - width: 35%; -} -.row .col-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); -} -.row.no-gutter .col-33 { - width: 33.333333333333336%; -} -.row .col-30 { - width: 30%; - width: -webkit-calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); -} -.row.no-gutter .col-30 { - width: 30%; -} -.row .col-25 { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); -} -.row.no-gutter .col-25 { - width: 25%; -} -.row .col-20 { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); -} -.row.no-gutter .col-20 { - width: 20%; -} -.row .col-15 { - width: 15%; - width: -webkit-calc((100% - 15px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 15px*5.666666666666667) / 6.666666666666667); -} -.row.no-gutter .col-15 { - width: 15%; -} -.row .col-10 { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); -} -.row.no-gutter .col-10 { - width: 10%; -} -.row .col-5 { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); -} -.row.no-gutter .col-5 { - width: 5%; -} -.row .col-auto:nth-last-child(1), -.row .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); -} -.row.no-gutter .col-auto:nth-last-child(1), -.row.no-gutter .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; -} -.row .col-auto:nth-last-child(2), -.row .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); -} -.row.no-gutter .col-auto:nth-last-child(2), -.row.no-gutter .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; -} -.row .col-auto:nth-last-child(3), -.row .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); -} -.row.no-gutter .col-auto:nth-last-child(3), -.row.no-gutter .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; -} -.row .col-auto:nth-last-child(4), -.row .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); -} -.row.no-gutter .col-auto:nth-last-child(4), -.row.no-gutter .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; -} -.row .col-auto:nth-last-child(5), -.row .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); -} -.row.no-gutter .col-auto:nth-last-child(5), -.row.no-gutter .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; -} -.row .col-auto:nth-last-child(6), -.row .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 15px*5) / 6); - width: calc((100% - 15px*5) / 6); -} -.row.no-gutter .col-auto:nth-last-child(6), -.row.no-gutter .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; -} -.row .col-auto:nth-last-child(7), -.row .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 15px*6) / 7); - width: calc((100% - 15px*6) / 7); -} -.row.no-gutter .col-auto:nth-last-child(7), -.row.no-gutter .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; -} -.row .col-auto:nth-last-child(8), -.row .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 15px*7) / 8); - width: calc((100% - 15px*7) / 8); -} -.row.no-gutter .col-auto:nth-last-child(8), -.row.no-gutter .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; -} -.row .col-auto:nth-last-child(9), -.row .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 15px*8) / 9); - width: calc((100% - 15px*8) / 9); -} -.row.no-gutter .col-auto:nth-last-child(9), -.row.no-gutter .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; -} -.row .col-auto:nth-last-child(10), -.row .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); -} -.row.no-gutter .col-auto:nth-last-child(10), -.row.no-gutter .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; -} -.row .col-auto:nth-last-child(11), -.row .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 15px*10) / 11); - width: calc((100% - 15px*10) / 11); -} -.row.no-gutter .col-auto:nth-last-child(11), -.row.no-gutter .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; -} -.row .col-auto:nth-last-child(12), -.row .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 15px*11) / 12); - width: calc((100% - 15px*11) / 12); -} -.row.no-gutter .col-auto:nth-last-child(12), -.row.no-gutter .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; -} -.row .col-auto:nth-last-child(13), -.row .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 15px*12) / 13); - width: calc((100% - 15px*12) / 13); -} -.row.no-gutter .col-auto:nth-last-child(13), -.row.no-gutter .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; -} -.row .col-auto:nth-last-child(14), -.row .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 15px*13) / 14); - width: calc((100% - 15px*13) / 14); -} -.row.no-gutter .col-auto:nth-last-child(14), -.row.no-gutter .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; -} -.row .col-auto:nth-last-child(15), -.row .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 15px*14) / 15); - width: calc((100% - 15px*14) / 15); -} -.row.no-gutter .col-auto:nth-last-child(15), -.row.no-gutter .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; -} -.row .col-auto:nth-last-child(16), -.row .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 15px*15) / 16); - width: calc((100% - 15px*15) / 16); -} -.row.no-gutter .col-auto:nth-last-child(16), -.row.no-gutter .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; -} -.row .col-auto:nth-last-child(17), -.row .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 15px*16) / 17); - width: calc((100% - 15px*16) / 17); -} -.row.no-gutter .col-auto:nth-last-child(17), -.row.no-gutter .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; -} -.row .col-auto:nth-last-child(18), -.row .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 15px*17) / 18); - width: calc((100% - 15px*17) / 18); -} -.row.no-gutter .col-auto:nth-last-child(18), -.row.no-gutter .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; -} -.row .col-auto:nth-last-child(19), -.row .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 15px*18) / 19); - width: calc((100% - 15px*18) / 19); -} -.row.no-gutter .col-auto:nth-last-child(19), -.row.no-gutter .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; -} -.row .col-auto:nth-last-child(20), -.row .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); -} -.row.no-gutter .col-auto:nth-last-child(20), -.row.no-gutter .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; -} -.row .col-auto:nth-last-child(21), -.row .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 15px*20) / 21); - width: calc((100% - 15px*20) / 21); -} -.row.no-gutter .col-auto:nth-last-child(21), -.row.no-gutter .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; -} -@media all and (min-width: 768px) { - .row .tablet-100 { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); - } - .row.no-gutter .tablet-100 { - width: 100%; - } - .row .tablet-95 { - width: 95%; - width: -webkit-calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); - } - .row.no-gutter .tablet-95 { - width: 95%; - } - .row .tablet-90 { - width: 90%; - width: -webkit-calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); - } - .row.no-gutter .tablet-90 { - width: 90%; - } - .row .tablet-85 { - width: 85%; - width: -webkit-calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); - } - .row.no-gutter .tablet-85 { - width: 85%; - } - .row .tablet-80 { - width: 80%; - width: -webkit-calc((100% - 15px*0.25) / 1.25); - width: calc((100% - 15px*0.25) / 1.25); - } - .row.no-gutter .tablet-80 { - width: 80%; - } - .row .tablet-75 { - width: 75%; - width: -webkit-calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); - } - .row.no-gutter .tablet-75 { - width: 75%; - } - .row .tablet-70 { - width: 70%; - width: -webkit-calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); - } - .row.no-gutter .tablet-70 { - width: 70%; - } - .row .tablet-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); - } - .row.no-gutter .tablet-66 { - width: 66.66666666666666%; - } - .row .tablet-65 { - width: 65%; - width: -webkit-calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); - } - .row.no-gutter .tablet-65 { - width: 65%; - } - .row .tablet-60 { - width: 60%; - width: -webkit-calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); - } - .row.no-gutter .tablet-60 { - width: 60%; - } - .row .tablet-55 { - width: 55%; - width: -webkit-calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); - } - .row.no-gutter .tablet-55 { - width: 55%; - } - .row .tablet-50 { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); - } - .row.no-gutter .tablet-50 { - width: 50%; - } - .row .tablet-45 { - width: 45%; - width: -webkit-calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); - } - .row.no-gutter .tablet-45 { - width: 45%; - } - .row .tablet-40 { - width: 40%; - width: -webkit-calc((100% - 15px*1.5) / 2.5); - width: calc((100% - 15px*1.5) / 2.5); - } - .row.no-gutter .tablet-40 { - width: 40%; - } - .row .tablet-35 { - width: 35%; - width: -webkit-calc((100% - 15px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 15px*1.8571428571428572) / 2.857142857142857); - } - .row.no-gutter .tablet-35 { - width: 35%; - } - .row .tablet-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); - } - .row.no-gutter .tablet-33 { - width: 33.333333333333336%; - } - .row .tablet-30 { - width: 30%; - width: -webkit-calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); - } - .row.no-gutter .tablet-30 { - width: 30%; - } - .row .tablet-25 { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); - } - .row.no-gutter .tablet-25 { - width: 25%; - } - .row .tablet-20 { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); - } - .row.no-gutter .tablet-20 { - width: 20%; - } - .row .tablet-15 { - width: 15%; - width: -webkit-calc((100% - 15px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 15px*5.666666666666667) / 6.666666666666667); - } - .row.no-gutter .tablet-15 { - width: 15%; - } - .row .tablet-10 { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); - } - .row.no-gutter .tablet-10 { - width: 10%; - } - .row .tablet-5 { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); - } - .row.no-gutter .tablet-5 { - width: 5%; - } - .row .tablet-auto:nth-last-child(1), - .row .tablet-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); - } - .row.no-gutter .tablet-auto:nth-last-child(1), - .row.no-gutter .tablet-auto:nth-last-child(1) ~ .tablet-auto { - width: 100%; - } - .row .tablet-auto:nth-last-child(2), - .row .tablet-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); - } - .row.no-gutter .tablet-auto:nth-last-child(2), - .row.no-gutter .tablet-auto:nth-last-child(2) ~ .tablet-auto { - width: 50%; - } - .row .tablet-auto:nth-last-child(3), - .row .tablet-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); - } - .row.no-gutter .tablet-auto:nth-last-child(3), - .row.no-gutter .tablet-auto:nth-last-child(3) ~ .tablet-auto { - width: 33.33333333%; - } - .row .tablet-auto:nth-last-child(4), - .row .tablet-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); - } - .row.no-gutter .tablet-auto:nth-last-child(4), - .row.no-gutter .tablet-auto:nth-last-child(4) ~ .tablet-auto { - width: 25%; - } - .row .tablet-auto:nth-last-child(5), - .row .tablet-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); - } - .row.no-gutter .tablet-auto:nth-last-child(5), - .row.no-gutter .tablet-auto:nth-last-child(5) ~ .tablet-auto { - width: 20%; - } - .row .tablet-auto:nth-last-child(6), - .row .tablet-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 15px*5) / 6); - width: calc((100% - 15px*5) / 6); - } - .row.no-gutter .tablet-auto:nth-last-child(6), - .row.no-gutter .tablet-auto:nth-last-child(6) ~ .tablet-auto { - width: 16.66666667%; - } - .row .tablet-auto:nth-last-child(7), - .row .tablet-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 15px*6) / 7); - width: calc((100% - 15px*6) / 7); - } - .row.no-gutter .tablet-auto:nth-last-child(7), - .row.no-gutter .tablet-auto:nth-last-child(7) ~ .tablet-auto { - width: 14.28571429%; - } - .row .tablet-auto:nth-last-child(8), - .row .tablet-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 15px*7) / 8); - width: calc((100% - 15px*7) / 8); - } - .row.no-gutter .tablet-auto:nth-last-child(8), - .row.no-gutter .tablet-auto:nth-last-child(8) ~ .tablet-auto { - width: 12.5%; - } - .row .tablet-auto:nth-last-child(9), - .row .tablet-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 15px*8) / 9); - width: calc((100% - 15px*8) / 9); - } - .row.no-gutter .tablet-auto:nth-last-child(9), - .row.no-gutter .tablet-auto:nth-last-child(9) ~ .tablet-auto { - width: 11.11111111%; - } - .row .tablet-auto:nth-last-child(10), - .row .tablet-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); - } - .row.no-gutter .tablet-auto:nth-last-child(10), - .row.no-gutter .tablet-auto:nth-last-child(10) ~ .tablet-auto { - width: 10%; - } - .row .tablet-auto:nth-last-child(11), - .row .tablet-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 15px*10) / 11); - width: calc((100% - 15px*10) / 11); - } - .row.no-gutter .tablet-auto:nth-last-child(11), - .row.no-gutter .tablet-auto:nth-last-child(11) ~ .tablet-auto { - width: 9.09090909%; - } - .row .tablet-auto:nth-last-child(12), - .row .tablet-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 15px*11) / 12); - width: calc((100% - 15px*11) / 12); - } - .row.no-gutter .tablet-auto:nth-last-child(12), - .row.no-gutter .tablet-auto:nth-last-child(12) ~ .tablet-auto { - width: 8.33333333%; - } - .row .tablet-auto:nth-last-child(13), - .row .tablet-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 15px*12) / 13); - width: calc((100% - 15px*12) / 13); - } - .row.no-gutter .tablet-auto:nth-last-child(13), - .row.no-gutter .tablet-auto:nth-last-child(13) ~ .tablet-auto { - width: 7.69230769%; - } - .row .tablet-auto:nth-last-child(14), - .row .tablet-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 15px*13) / 14); - width: calc((100% - 15px*13) / 14); - } - .row.no-gutter .tablet-auto:nth-last-child(14), - .row.no-gutter .tablet-auto:nth-last-child(14) ~ .tablet-auto { - width: 7.14285714%; - } - .row .tablet-auto:nth-last-child(15), - .row .tablet-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 15px*14) / 15); - width: calc((100% - 15px*14) / 15); - } - .row.no-gutter .tablet-auto:nth-last-child(15), - .row.no-gutter .tablet-auto:nth-last-child(15) ~ .tablet-auto { - width: 6.66666667%; - } - .row .tablet-auto:nth-last-child(16), - .row .tablet-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 15px*15) / 16); - width: calc((100% - 15px*15) / 16); - } - .row.no-gutter .tablet-auto:nth-last-child(16), - .row.no-gutter .tablet-auto:nth-last-child(16) ~ .tablet-auto { - width: 6.25%; - } - .row .tablet-auto:nth-last-child(17), - .row .tablet-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 15px*16) / 17); - width: calc((100% - 15px*16) / 17); - } - .row.no-gutter .tablet-auto:nth-last-child(17), - .row.no-gutter .tablet-auto:nth-last-child(17) ~ .tablet-auto { - width: 5.88235294%; - } - .row .tablet-auto:nth-last-child(18), - .row .tablet-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 15px*17) / 18); - width: calc((100% - 15px*17) / 18); - } - .row.no-gutter .tablet-auto:nth-last-child(18), - .row.no-gutter .tablet-auto:nth-last-child(18) ~ .tablet-auto { - width: 5.55555556%; - } - .row .tablet-auto:nth-last-child(19), - .row .tablet-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 15px*18) / 19); - width: calc((100% - 15px*18) / 19); - } - .row.no-gutter .tablet-auto:nth-last-child(19), - .row.no-gutter .tablet-auto:nth-last-child(19) ~ .tablet-auto { - width: 5.26315789%; - } - .row .tablet-auto:nth-last-child(20), - .row .tablet-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); - } - .row.no-gutter .tablet-auto:nth-last-child(20), - .row.no-gutter .tablet-auto:nth-last-child(20) ~ .tablet-auto { - width: 5%; - } - .row .tablet-auto:nth-last-child(21), - .row .tablet-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 15px*20) / 21); - width: calc((100% - 15px*20) / 21); - } - .row.no-gutter .tablet-auto:nth-last-child(21), - .row.no-gutter .tablet-auto:nth-last-child(21) ~ .tablet-auto { - width: 4.76190476%; - } -} -/* === Views === */ -.views, -.view { - position: relative; - width: 100%; - height: 100%; - z-index: 5000; -} -.views { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.view { - overflow: hidden; - box-sizing: border-box; -} -/* === Pages === */ -.pages { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; - background: #000; -} -.page { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #efeff4; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.page.cached { - display: none; -} -.page-on-left { - opacity: 0.9; - -webkit-transform: translate3d(-20%, 0, 0); - transform: translate3d(-20%, 0, 0); -} -.page-on-center .swipeback-page-shadow { - opacity: 1; -} -.page-on-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); -} -.page-on-right .swipeback-page-shadow { - opacity: 0; -} -.page-content { - overflow: auto; - -webkit-overflow-scrolling: touch; - box-sizing: border-box; - height: 100%; - position: relative; - z-index: 1; -} -.swipeback-page-shadow { - position: absolute; - right: 100%; - top: 0; - width: 16px; - height: 100%; - background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - z-index: -1; - content: ''; -} -html.android .swipeback-page-shadow { - display: none; - -webkit-animation: none; - animation: none; -} -.page-transitioning, -.page-transitioning .swipeback-page-shadow { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.page-from-right-to-center:before, -.page-from-center-to-right:before { - position: absolute; - right: 100%; - top: 0; - width: 16px; - height: 100%; - background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - z-index: -1; - content: ''; -} -html.android .page-from-right-to-center:before, -html.android .page-from-center-to-right:before { - display: none; - -webkit-animation: none; - animation: none; -} -.page-from-right-to-center { - -webkit-animation: pageFromRightToCenter 400ms forwards; - animation: pageFromRightToCenter 400ms forwards; -} -.page-from-right-to-center:before { - -webkit-animation: pageFromRightToCenterShadow 400ms forwards; - animation: pageFromRightToCenterShadow 400ms forwards; -} -.page-from-center-to-right { - -webkit-animation: pageFromCenterToRight 400ms forwards; - animation: pageFromCenterToRight 400ms forwards; -} -.page-from-center-to-right:before { - -webkit-animation: pageFromCenterToRightShadow 400ms forwards; - animation: pageFromCenterToRightShadow 400ms forwards; -} -@-webkit-keyframes pageFromRightToCenter { - from { - -webkit-transform: translate3d(100%, 0, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromRightToCenter { - from { - transform: translate3d(100%, 0, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes pageFromRightToCenterShadow { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes pageFromRightToCenterShadow { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - -webkit-transform: translate3d(0, 0, 0); - } - to { - -webkit-transform: translate3d(100%, 0, 0); - } -} -@keyframes pageFromCenterToRight { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(100%, 0, 0); - } -} -@-webkit-keyframes pageFromCenterToRightShadow { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes pageFromCenterToRightShadow { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.page-from-center-to-left { - -webkit-animation: pageFromCenterToLeft 400ms forwards; - animation: pageFromCenterToLeft 400ms forwards; -} -.page-from-left-to-center { - -webkit-animation: pageFromLeftToCenter 400ms forwards; - animation: pageFromLeftToCenter 400ms forwards; -} -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } - to { - opacity: 0.9; - -webkit-transform: translate3d(-20%, 0, 0); - } -} -@keyframes pageFromCenterToLeft { - from { - transform: translate3d(0, 0, 0); - } - to { - opacity: 0.9; - transform: translate3d(-20%, 0, 0); - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - -webkit-transform: translate3d(-20%, 0, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromLeftToCenter { - from { - transform: translate3d(-20%, 0, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -/* === Toolbars === */ -.navbar-inner, -.toolbar-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0 8px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.navbar-inner.cached { - display: none; -} -.navbar, -.toolbar { - height: 44px; - width: 100%; - box-sizing: border-box; - font-size: 17px; - position: relative; - margin: 0; - z-index: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -.navbar b, -.toolbar b { - font-weight: 500; -} -html.ios-gt-8 .navbar b, -html.ios-gt-8 .toolbar b { - font-weight: 600; -} -.navbar, -.toolbar, -.subnavbar { - background: #f7f7f8; -} -.navbar a.link, -.toolbar a.link, -.subnavbar a.link { - line-height: 44px; - height: 44px; - text-decoration: none; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translateZ(0px); - transform: translateZ(0px); -} -html:not(.watch-active-state) .navbar a.link:active, -html:not(.watch-active-state) .toolbar a.link:active, -html:not(.watch-active-state) .subnavbar a.link:active, -.navbar a.link.active-state, -.toolbar a.link.active-state, -.subnavbar a.link.active-state { - opacity: 0.3; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.navbar a.link i + span, -.toolbar a.link i + span, -.subnavbar a.link i + span, -.navbar a.link i + i, -.toolbar a.link i + i, -.subnavbar a.link i + i, -.navbar a.link span + i, -.toolbar a.link span + i, -.subnavbar a.link span + i, -.navbar a.link span + span, -.toolbar a.link span + span, -.subnavbar a.link span + span { - margin-left: 7px; -} -.navbar a.icon-only, -.toolbar a.icon-only, -.subnavbar a.icon-only { - min-width: 44px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 0; -} -.navbar i.icon, -.toolbar i.icon, -.subnavbar i.icon { - display: block; -} -.navbar { - left: 0; - top: 0; -} -.navbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .navbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .navbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.navbar:after { - backface-visibility: hidden; -} -.navbar.no-border:after { - display: none; -} -.navbar .center { - font-size: 17px; - font-weight: 500; - text-align: center; - margin: 0; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 44px; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -html.ios-gt-8 .navbar .center { - font-weight: 600; -} -.navbar .left, -.navbar .right { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar .left a + a, -.navbar .right a + a { - margin-left: 15px; -} -.navbar .left { - margin-right: 10px; -} -.navbar .right { - margin-left: 10px; -} -.navbar .right:first-child { - position: absolute; - right: 8px; - height: 100%; -} -.popup .navbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.subnavbar { - height: 44px; - width: 100%; - position: absolute; - left: 0; - top: 100%; - margin-top: -1px; - z-index: 20; - box-sizing: border-box; - padding: 0 8px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.subnavbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .subnavbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .subnavbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.subnavbar.no-border:after { - display: none; -} -.navbar.no-border .subnavbar { - margin-top: 0; -} -.navbar-on-left .subnavbar, -.navbar-on-right .subnavbar { - pointer-events: none; -} -.navbar .subnavbar, -.page .subnavbar { - position: absolute; -} -.page > .subnavbar { - top: 0; - margin-top: 0; -} -.subnavbar > .buttons-row { - width: 100%; -} -.subnavbar .searchbar, -.subnavbar.searchbar { - position: absolute; -} -.subnavbar.searchbar, -.subnavbar .searchbar { - position: absolute; -} -.subnavbar .searchbar { - left: 0; - top: 0; -} -.toolbar { - left: 0; - bottom: 0; -} -.toolbar:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .toolbar:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .toolbar:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.toolbar.no-border:before { - display: none; -} -.toolbar a { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.tabbar { - color: #929292; - z-index: 5001; -} -.tabbar a { - color: #929292; -} -.tabbar a.active { - color: #007aff; -} -.tabbar a.link { - line-height: 1.4; -} -.tabbar a.tab-link, -.tabbar a.link { - height: 100%; - width: 100%; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - overflow: visible; - -webkit-box-flex: 1; - -ms-flex: 1; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.tabbar i.icon { - height: 30px; -} -.tabbar-labels { - height: 50px; -} -.tabbar-labels a.tab-link, -.tabbar-labels a.link { - padding-top: 4px; - padding-bottom: 4px; - height: 100%; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.tabbar-labels a.tab-link i + span, -.tabbar-labels a.link i + span { - margin: 0; -} -.tabbar-labels span.tabbar-label { - line-height: 1; - display: block; - margin: 0; - letter-spacing: 0.01em; - font-size: 10px; - position: relative; - text-overflow: ellipsis; - white-space: nowrap; -} -.subnavbar input[type="text"], -.navbar input[type="text"], -.subnavbar input[type="password"], -.navbar input[type="password"], -.subnavbar input[type="search"], -.navbar input[type="search"], -.subnavbar input[type="email"], -.navbar input[type="email"], -.subnavbar input[type="tel"], -.navbar input[type="tel"], -.subnavbar input[type="url"], -.navbar input[type="url"] { - box-sizing: border-box; - width: 100%; - height: 28px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 5px; - font-family: inherit; - color: #000; - font-size: 14px; - font-weight: normal; - padding: 0 8px; - background-color: #fff; -} -@media all and (min-width: 768px) { - .tabbar .toolbar-inner { - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - } - .tabbar a.tab-link, - .tabbar a.link { - width: auto; - min-width: 105px; - } - .tabbar-labels { - height: 56px; - } - .tabbar-labels span.tabbar-label { - font-size: 14px; - } -} -.navbar-from-right-to-center .left, -.navbar-from-right-to-center .right, -.navbar-from-right-to-center .center, -.navbar-from-right-to-center .subnavbar, -.navbar-from-right-to-center .fading { - -webkit-animation: navbarElementFadeIn 400ms forwards; - animation: navbarElementFadeIn 400ms forwards; -} -.navbar-from-right-to-center .sliding { - opacity: 1; -} -.navbar-from-center-to-right .left, -.navbar-from-center-to-right .right, -.navbar-from-center-to-right .center, -.navbar-from-center-to-right .subnavbar, -.navbar-from-center-to-right .fading { - -webkit-animation: navbarElementFadeOut 400ms forwards; - animation: navbarElementFadeOut 400ms forwards; -} -.navbar-from-center-to-right .sliding { - opacity: 0; -} -.navbar-from-center-to-right .subnavbar.sliding { - opacity: 1; -} -@-webkit-keyframes navbarElementFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes navbarElementFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -.navbar-from-center-to-left .left, -.navbar-from-center-to-left .right, -.navbar-from-center-to-left .center, -.navbar-from-center-to-left .subnavbar, -.navbar-from-center-to-left .fading { - -webkit-animation: navbarElementFadeOut 400ms forwards; - animation: navbarElementFadeOut 400ms forwards; -} -.navbar-from-center-to-left .sliding { - opacity: 0; -} -.navbar-from-center-to-left .subnavbar.sliding { - opacity: 1; -} -.navbar-from-left-to-center .left, -.navbar-from-left-to-center .right, -.navbar-from-left-to-center .center, -.navbar-from-left-to-center .subnavbar, -.navbar-from-left-to-center .fading { - -webkit-animation: navbarElementFadeIn 400ms forwards; - animation: navbarElementFadeIn 400ms forwards; -} -.navbar-from-left-to-center .sliding { - opacity: 1; -} -.navbar-on-left .left, -.navbar-on-left .right, -.navbar-on-left .center, -.navbar-on-left .subnavbar, -.navbar-on-left .fading { - opacity: 0; -} -.navbar-on-left .sliding { - opacity: 0; -} -.navbar-on-left .subnavbar.sliding { - opacity: 1; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); -} -.navbar-on-right .left, -.navbar-on-right .right, -.navbar-on-right .center, -.navbar-on-right .subnavbar, -.navbar-on-right .fading { - opacity: 0; -} -.navbar-on-right .sliding { - opacity: 0; -} -.navbar-on-right .subnavbar.sliding { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); -} -@-webkit-keyframes navbarElementFadeOut { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes navbarElementFadeOut { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.navbar-from-right-to-center .left.sliding .back.link .icon, -.navbar-from-center-to-right .left.sliding .back.link .icon, -.navbar-from-center-to-left .left.sliding .back.link .icon, -.navbar-from-left-to-center .left.sliding .back.link .icon { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar-from-right-to-center .sliding, -.navbar-from-center-to-right .sliding, -.navbar-from-center-to-left .sliding, -.navbar-from-left-to-center .sliding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-animation: none; - animation: none; -} -/* === Relation between toolbar/navbar types and pages === */ -.page > .navbar, -.view > .navbar, -.views > .navbar, -.page > .toolbar, -.view > .toolbar, -.views > .toolbar { - position: absolute; -} -.subnavbar ~ .page-content { - padding-top: 44px; -} -.navbar-through .page-content, -.navbar-fixed .page-content { - padding-top: 44px; -} -.navbar-through .with-subnavbar .page-content, -.navbar-fixed .with-subnavbar .page-content, -.navbar-through .page-content.with-subnavbar, -.navbar-fixed .page-content.with-subnavbar, -.navbar-through .subnavbar ~ .page-content, -.navbar-fixed .subnavbar ~ .page-content { - padding-top: 88px; -} -.navbar-through .page .subnavbar, -.navbar-fixed .page .subnavbar, -.navbar-through.page .subnavbar, -.navbar-fixed.page .subnavbar { - top: 44px; -} -.toolbar-through .page-content, -.toolbar-fixed .page-content, -.tabbar-through .page-content, -.tabbar-fixed .page-content { - padding-bottom: 44px; -} -.tabbar-labels-fixed .page-content, -.tabbar-labels-through .page-content { - padding-bottom: 50px; -} -@media all and (min-width: 768px) { - .tabbar-labels-fixed .page-content, - .tabbar-labels-through .page-content { - padding-bottom: 56px; - } -} -.navbar.navbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar.navbar-hiding ~ .page-content .list-group-title, -.navbar.navbar-hiding ~ .pages .list-group-title, -.navbar.navbar-hiding ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hiding ~ .page-content .subnavbar, -.navbar.navbar-hiding ~ .pages .subnavbar, -.navbar.navbar-hiding ~ .page .subnavbar { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} -.navbar.navbar-hidden ~ .page-content .list-group-title, -.navbar.navbar-hidden ~ .pages .list-group-title, -.navbar.navbar-hidden ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - top: -44px; -} -.navbar.navbar-hidden ~ .page-content .subnavbar, -.navbar.navbar-hidden ~ .pages .subnavbar, -.navbar.navbar-hidden ~ .page .subnavbar { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.page.no-navbar .page-content { - padding-top: 0; -} -.page.no-navbar.with-subnavbar .page-content, -.with-subnavbar .page.no-navbar .page-content, -.page.no-navbar .page-content.with-subnavbar { - padding-top: 44px; -} -.toolbar.toolbar-hiding, -.tabbar.toolbar-hiding, -.toolbar.tabbar-hiding, -.tabbar.tabbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.toolbar.toolbar-hidden, -.tabbar.toolbar-hidden, -.toolbar.tabbar-hidden, -.tabbar.tabbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.page.no-toolbar .page-content, -.page.no-tabbar .page-content { - padding-bottom: 0; -} -/* === Search Bar === */ -.searchbar { - height: 44px; - width: 100%; - background: #c9c9ce; - box-sizing: border-box; - padding: 0 8px; - overflow: hidden; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.searchbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #b4b4b4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .searchbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .searchbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.searchbar .searchbar-input { - width: 100%; - height: 28px; - position: relative; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.searchbar input[type="search"] { - box-sizing: border-box; - width: 100%; - height: 28px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 5px; - font-family: inherit; - color: #000; - font-size: 14px; - font-weight: normal; - padding: 0 8px; - background-color: #fff; - padding: 0 28px; - height: 100%; - background-repeat: no-repeat; - background-position: 8px center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2013'%20enable-background%3D'new%200%200%2013%2013'%3E%3Cg%3E%3Cpath%20fill%3D'%23939398'%20d%3D'M5%2C1c2.2%2C0%2C4%2C1.8%2C4%2C4S7.2%2C9%2C5%2C9S1%2C7.2%2C1%2C5S2.8%2C1%2C5%2C1%20M5%2C0C2.2%2C0%2C0%2C2.2%2C0%2C5s2.2%2C5%2C5%2C5s5-2.2%2C5-5S7.8%2C0%2C5%2C0%20L5%2C0z'%2F%3E%3C%2Fg%3E%3Cline%20stroke%3D'%23939398'%20stroke-miterlimit%3D'10'%20x1%3D'12.6'%20y1%3D'12.6'%20x2%3D'8.2'%20y2%3D'8.2'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 13px 13px; - background-size: 13px 13px; -} -.searchbar input[type="search"]::-webkit-input-placeholder { - color: #939398; - opacity: 1; -} -.searchbar input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} -.searchbar .searchbar-clear { - position: absolute; - width: 28px; - height: 28px; - right: 0; - top: 0; - opacity: 0; - pointer-events: none; - background-position: center; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'14'%20cy%3D'14'%20r%3D'14'%20fill%3D'%238e8e93'%2F%3E%3Cline%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'8'%20y1%3D'8'%20x2%3D'20'%20y2%3D'20'%2F%3E%3Cline%20fill%3D'none'%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'20'%20y1%3D'8'%20x2%3D'8'%20y2%3D'20'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 14px 14px; - background-size: 14px 14px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - cursor: pointer; -} -.searchbar .searchbar-cancel { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - font-size: 17px; - cursor: pointer; - opacity: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - margin-left: 0; - pointer-events: none; - display: none; -} -.searchbar.searchbar-active .searchbar-cancel { - margin-left: 8px; - opacity: 1; - pointer-events: auto; -} -html:not(.watch-active-state) .searchbar.searchbar-active .searchbar-cancel:active, -.searchbar.searchbar-active .searchbar-cancel.active-state { - opacity: 0.3; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.searchbar.searchbar-not-empty .searchbar-clear { - pointer-events: auto; - opacity: 1; -} -.searchbar-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 100; - opacity: 0; - pointer-events: none; - background: rgba(0, 0, 0, 0.4); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.searchbar-overlay.searchbar-overlay-active { - opacity: 1; - pointer-events: auto; -} -.searchbar-not-found { - display: none; -} -.hidden-by-searchbar, -.list-block .hidden-by-searchbar, -.list-block li.hidden-by-searchbar { - display: none; -} -.page > .searchbar { - position: absolute; - width: 100%; - left: 0; - top: 0; - z-index: 200; -} -.page > .searchbar ~ .page-content { - padding-top: 44px; -} -.navbar-fixed .page > .searchbar, -.navbar-through .page > .searchbar, -.navbar-fixed > .searchbar, -.navbar-through > .searchbar { - top: 44px; -} -.navbar-fixed .page > .searchbar ~ .page-content, -.navbar-through .page > .searchbar ~ .page-content, -.navbar-fixed > .searchbar ~ .page-content, -.navbar-through > .searchbar ~ .page-content { - padding-top: 88px; -} -/* === Message Bar === */ -.messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background: #fff; -} -.messagebar:before { - display: none; -} -.messagebar textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #c8c8cd; - background: #fff; - border-radius: 17px; - box-shadow: none; - display: block; - padding: 6px 15px; - margin: 0; - width: 100%; - height: 34px; - color: #000; - font-size: 17px; - line-height: 20px; - font-family: inherit; - resize: none; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.messagebar .link { - -ms-flex-item-align: flex-end; - -webkit-align-self: flex-end; - align-self: flex-end; -} -.messagebar .link.icon-only:first-child { - margin-left: -6px; -} -.messagebar .link:not(.icon-only) + textarea { - margin-left: 8px; -} -.messagebar textarea + .link { - margin-left: 8px; -} -.messagebar .link { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.messagebar ~ .page-content { - padding-bottom: 44px; -} -.page.no-toolbar .messagebar ~ .page-content { - padding-bottom: 44px; -} -.hidden-toolbar .messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -/* === Icons === */ -i.icon { - display: inline-block; - vertical-align: middle; - background-size: 100% auto; - background-position: center; - background-repeat: no-repeat; - font-style: normal; - position: relative; -} -i.icon.icon-back { - width: 12px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-forward { - width: 12px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-bars { - width: 21px; - height: 14px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2ddpx) { - i.icon.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - height: 13px; - } -} -i.icon.icon-camera { - width: 25px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20x%3D'0px'%20y%3D'0px'%20viewBox%3D'0%200%2025%2020'%3E%3Cpath%20fill%3D'%238C8D92'%20d%3D'M13.3%2C5.5c-2.7%2C0-5%2C2.2-5%2C5s2.2%2C5%2C5%2C5c2.7%2C0%2C5-2.2%2C5-5S16%2C5.5%2C13.3%2C5.5z'%2F%3E%3Cpath%20fill%3D'%238C8D92'%20d%3D'M22.8%2C1.8h-3.3c-0.2-1.3-1-1.8-2-1.8H8.1c-1%2C0-1.8%2C0.4-2%2C1.8H2.8C1.4%2C1.8%2C0%2C2.8%2C0%2C4.2v12.6%20c0%2C1.4%2C1.4%2C2.5%2C2.8%2C2.5h20c1.4%2C0%2C2.2-1.1%2C2.2-2.5V4.2C25%2C2.8%2C24.2%2C1.8%2C22.8%2C1.8z%20M3.5%2C6.4C2.6%2C6.4%2C2%2C5.8%2C2%2C5c0-0.8%2C0.7-1.5%2C1.5-1.5%20S5%2C4.1%2C5%2C5C5%2C5.8%2C4.3%2C6.4%2C3.5%2C6.4z%20M13.3%2C16.8c-3.5%2C0-6.3-2.7-6.3-6.2c0-3.3%2C2.5-6.2%2C5.7-6.2h1.2c3.2%2C0%2C5.7%2C2.9%2C5.7%2C6.2%20C19.6%2C14.1%2C16.7%2C16.8%2C13.3%2C16.8z'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-f7 { - width: 29px; - height: 29px; - background-image: url("../img/i-f7-ios.png"); - border-radius: 6px; -} -i.icon.icon-next, -i.icon.icon-prev { - width: 15px; - height: 15px; -} -i.icon.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon.icon-plus { - width: 25px; - height: 25px; - font-size: 31px; - line-height: 20px; - text-align: center; - font-weight: 100; -} -.navbar .framework7-icons, -.navbar .f7-icons, -.toolbar .framework7-icons, -.toolbar .f7-icons { - font-size: 22px; -} -.tabbar .framework7-icons, -.tabbar .f7-icons, -.tabbar-labels .framework7-icons, -.tabbar-labels .f7-icons { - font-size: 25px; -} -.badge { - font-size: 13px; - display: inline-block; - color: #fff; - background: #8e8e93; - border-radius: 20px; - padding: 0px 6px; - height: 20px; - line-height: 20px; - box-sizing: border-box; - text-align: center; -} -.item-after .badge { - min-width: 20px; -} -.icon .badge { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 16px; - height: 16px; - border-radius: 16px; - padding: 0px 4px; - min-width: 16px; - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; -} -/* === Chips === */ -.chip { - font-size: 14px; - font-weight: normal; - color: #fff; - background: rgba(0, 0, 0, 0.37); - display: inline-block; - height: 23px; - line-height: 23px; - border-radius: 5px; - padding: 0 6px; - box-sizing: border-box; - vertical-align: middle; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 2px 0; -} -.chip-media { - width: 16px; - height: 16px; - vertical-align: middle; - border-radius: 50%; - text-align: center; - line-height: 16px; - color: #fff; - font-size: 12px; - box-sizing: border-box; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.chip-media img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - border-radius: 50%; - display: block; -} -.chip-media + .chip-label { - margin-left: 4px; -} -.chip-media i.icon { - font-size: 16px; - height: 16px; -} -.chip-label { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - min-width: 0; -} -.chip-delete { - margin-right: -6px; - width: 23px; - height: 23px; - text-align: center; - line-height: 23px; - cursor: pointer; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'14'%20cy%3D'14'%20r%3D'14'%20fill%3D'%23fff'%2F%3E%3Cline%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'8'%20y1%3D'8'%20x2%3D'20'%20y2%3D'20'%2F%3E%3Cline%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'20'%20y1%3D'8'%20x2%3D'8'%20y2%3D'20'%2F%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-position: center; - -webkit-background-size: 13px 13px; - background-size: 13px 13px; - opacity: 0.7; -} -html:not(.watch-active-state) .chip-delete:active, -.chip-delete.active-state { - opacity: 1; -} -/* === Content Block === */ -.content-block { - margin: 35px 0; - padding: 0 15px; - color: #6d6d72; - box-sizing: border-box; -} -.content-block.no-hairlines:before, -.content-block.no-hairlines ul:before, -.content-block.no-hairlines .content-block-inner:before { - display: none; -} -.content-block.no-hairlines:after, -.content-block.no-hairlines ul:after, -.content-block.no-hairlines .content-block-inner:after { - display: none; -} -.content-block-title { - position: relative; - overflow: hidden; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - line-height: 1; - color: #6d6d72; - margin: 35px 15px 10px; -} -.content-block-title + .list-block, -.content-block-title + .content-block, -.content-block-title + .card { - margin-top: 10px; -} -.content-block-inner { - background: #fff; - padding: 10px 15px; - margin-left: -15px; - width: 100%; - position: relative; - color: #000; -} -.content-block-inner:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .content-block-inner:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .content-block-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block.inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; -} -.content-block.inset .content-block-inner { - border-radius: 7px; -} -.content-block.inset .content-block-inner:before { - display: none; -} -.content-block.inset .content-block-inner:after { - display: none; -} -@media all and (min-width: 768px) { - .content-block.tablet-inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; - } - .content-block.tablet-inset .content-block-inner { - border-radius: 7px; - } - .content-block.tablet-inset .content-block-inner:before { - display: none; - } - .content-block.tablet-inset .content-block-inner:after { - display: none; - } -} -/* === Lists === */ -.list-block { - margin: 35px 0; - font-size: 17px; -} -.list-block ul { - background: #fff; - list-style: none; - padding: 0; - margin: 0; - position: relative; -} -.list-block ul:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .list-block ul:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block ul:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul ul { - padding-left: 45px; -} -.list-block ul ul:before { - display: none; -} -.list-block ul ul:after { - display: none; -} -.list-block .align-top, -.list-block .align-top .item-content, -.list-block .align-top .item-inner { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.list-block.inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; -} -.list-block.inset .content-block-title { - margin-left: 0; - margin-right: 0; -} -.list-block.inset ul { - border-radius: 7px; -} -.list-block.inset ul:before { - display: none; -} -.list-block.inset ul:after { - display: none; -} -.list-block.inset li:first-child > a { - border-radius: 7px 7px 0 0; -} -.list-block.inset li:last-child > a { - border-radius: 0 0 7px 7px; -} -.list-block.inset li:first-child:last-child > a { - border-radius: 7px; -} -@media all and (min-width: 768px) { - .list-block.tablet-inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 7px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 7px 7px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 7px 7px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 7px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 7px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 7px 7px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 7px 7px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 7px; - } -} -.list-block li { - box-sizing: border-box; - position: relative; -} -.list-block .item-media { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - box-sizing: border-box; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - padding-top: 7px; - padding-bottom: 8px; -} -.list-block .item-media i + i { - margin-left: 5px; -} -.list-block .item-media i + img { - margin-left: 5px; -} -.list-block .item-media + .item-inner { - margin-left: 15px; -} -.list-block .item-inner { - padding-right: 15px; - position: relative; - width: 100%; - padding-top: 8px; - padding-bottom: 7px; - min-height: 44px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1; - overflow: hidden; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .item-title { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - min-width: 0; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -.list-block .item-after { - white-space: nowrap; - color: #8e8e93; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - margin-left: 5px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - max-height: 28px; -} -.list-block .smart-select .item-after, -.list-block .autocomplete-opener .item-after { - max-width: 70%; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - display: block; -} -.list-block .item-link { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: block; - color: inherit; -} -.list-block .item-link .item-inner { - padding-right: 35px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; - background-repeat: no-repeat; - background-position: 95% center; - background-position: -webkit-calc(100% - 15px) center; - background-position: calc(100% - 15px) center; -} -html:not(.watch-active-state) .list-block .item-link:active, -.list-block .item-link.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) .list-block .item-link:active .item-inner:after, -.list-block .item-link.active-state .item-inner:after { - background-color: transparent; -} -.list-block .item-link.list-button { - padding: 0 15px; - text-align: center; - color: #007aff; - display: block; - line-height: 43px; -} -.list-block .item-link.list-button:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block .item-link.list-button:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-link.list-button:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .item-content { - box-sizing: border-box; - padding-left: 15px; - min-height: 44px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.list-block .list-block-label { - margin: 10px 0 35px; - padding: 0 15px; - font-size: 14px; - color: #8f8f94; -} -.list-block .swipeout { - overflow: hidden; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.list-block .swipeout.deleting { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .swipeout.deleting .swipeout-content { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout.transitioning .swipeout-content, -.list-block .swipeout.transitioning .swipeout-actions-right a, -.list-block .swipeout.transitioning .swipeout-actions-left a, -.list-block .swipeout.transitioning .swipeout-overswipe { - -webkit-transition: 300ms; - transition: 300ms; -} -.list-block .swipeout-content { - position: relative; - z-index: 10; -} -.list-block .swipeout-overswipe { - -webkit-transition: 200ms left; - transition: 200ms left; -} -.list-block .swipeout-actions-left, -.list-block .swipeout-actions-right { - position: absolute; - top: 0; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.list-block .swipeout-actions-left a, -.list-block .swipeout-actions-right a { - padding: 0 30px; - color: #fff; - background: #c7c7cc; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - position: relative; - left: 0; -} -.list-block .swipeout-actions-left a:after, -.list-block .swipeout-actions-right a:after { - content: ''; - position: absolute; - top: 0; - width: 600%; - height: 100%; - background: inherit; - z-index: -1; -} -.list-block .swipeout-actions-left a.swipeout-delete, -.list-block .swipeout-actions-right a.swipeout-delete { - background: #ff3b30; -} -.list-block .swipeout-actions-right { - right: 0%; - -webkit-transform: translateX(100%); - transform: translateX(100%); -} -.list-block .swipeout-actions-right a:after { - left: 100%; - margin-left: -1px; -} -.list-block .swipeout-actions-left { - left: 0%; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout-actions-left a:after { - right: 100%; - margin-right: -1px; -} -.list-block .item-subtitle { - font-size: 15px; - position: relative; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - text-overflow: ellipsis; -} -.list-block .item-text { - font-size: 15px; - color: #8e8e93; - line-height: 21px; - position: relative; - overflow: hidden; - height: 42px; - text-overflow: ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - display: -webkit-box; -} -.list-block.media-list .item-title, -.list-block li.media-item .item-title { - font-weight: 500; -} -html.ios-gt-8 .list-block.media-list .item-title, -html.ios-gt-8 .list-block li.media-item .item-title { - font-weight: 600; -} -.list-block.media-list .item-inner, -.list-block li.media-item .item-inner { - display: block; - padding-top: 10px; - padding-bottom: 9px; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block.media-list .item-link .item-inner, -.list-block li.media-item .item-link .item-inner { - background: none; - padding-right: 15px; -} -.list-block.media-list .item-link .item-title-row, -.list-block li.media-item .item-link .item-title-row { - padding-right: 20px; - background: no-repeat right center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -.list-block.media-list .item-media, -.list-block li.media-item .item-media { - padding-top: 9px; - padding-bottom: 10px; -} -.list-block.media-list .item-media img, -.list-block li.media-item .item-media img { - display: block; -} -.list-block.media-list .item-title-row, -.list-block li.media-item .item-title-row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.list-block.media-list .item-content > .item-after, -.list-block li.media-item .item-content > .item-after { - margin-right: 15px; - margin-left: 15px; -} -.list-block .list-group ul:after, -.list-block .list-group ul:before { - z-index: 25; -} -.list-block .list-group + .list-group ul:before { - display: none; -} -.list-block .item-divider, -.list-block .list-group-title { - background: #F7F7F7; - margin-top: -1px; - padding: 4px 15px; - white-space: nowrap; - position: relative; - max-width: 100%; - text-overflow: ellipsis; - overflow: hidden; - color: #8e8e93; - z-index: 15; -} -.list-block .item-divider:before, -.list-block .list-group-title:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .list-block .item-divider:before, -html.pixel-ratio-2 .list-block .list-group-title:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-divider:before, -html.pixel-ratio-3 .list-block .list-group-title:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .list-group-title { - position: relative; - position: -webkit-sticky; - position: -moz-sticky; - position: sticky; - top: 0px; - z-index: 20; - margin-top: 0; -} -.list-block .list-group-title:before { - display: none; -} -.list-block .sortable-handler { - position: absolute; - right: 0; - top: 0; - bottom: 1px; - z-index: 10; - background-repeat: no-repeat; - background-size: 18px 12px; - background-position: center; - width: 35px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2018%2012'%20fill%3D'%23c7c7cc'%3E%3Cpath%20d%3D'M0%2C2V0h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C7V5h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C12v-2h22v2H0z'%2F%3E%3C%2Fsvg%3E"); - opacity: 0; - visibility: hidden; - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable-opened .sortable-handler { - visibility: visible; - opacity: 1; -} -.list-block.sortable-opened .item-inner, -.list-block.sortable-opened .item-link .item-inner { - padding-right: 35px; -} -.list-block.sortable-opened .item-link .item-inner, -.list-block.sortable-opened .item-link .item-title-row { - background-image: none; -} -.list-block.sortable-sorting li { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block li.sorting { - z-index: 50; - background: rgba(255, 255, 255, 0.8); - box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.6); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.list-block li.sorting .item-inner:after { - display: none; -} -.list-block li:last-child .list-button:after { - display: none; -} -.list-block li:last-child .item-inner:after, -.list-block li:last-child li:last-child .item-inner:after { - display: none; -} -.list-block li li:last-child .item-inner:after, -.list-block li:last-child li .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-2 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-3 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block.no-hairlines:before, -.list-block.no-hairlines ul:before, -.list-block.no-hairlines .content-block-inner:before { - display: none; -} -.list-block.no-hairlines:after, -.list-block.no-hairlines ul:after, -.list-block.no-hairlines .content-block-inner:after { - display: none; -} -.list-block.no-hairlines-between .item-inner:after, -.list-block.no-hairlines-between .list-button:after, -.list-block.no-hairlines-between .item-divider:after, -.list-block.no-hairlines-between .list-group-title:after, -.list-block.no-hairlines-between .list-group-title:after { - display: none; -} -/* === Contacts === */ -.contacts-content { - background: #fff; -} -.contacts-block { - margin: 0; -} -.contacts-block .list-group-title { - padding: 0 15px; - background: #f7f7f7; - color: #000; - font-weight: 500; - line-height: 22px; - height: 22px; -} -html.ios-gt-8 .contacts-block .list-group-title { - font-weight: 600; -} -.contacts-block .list-group:first-child ul:before { - display: none; -} -.contacts-block .list-group:last-child ul:after { - display: none; -} -/* === Forms === */ -.list-block input[type="text"], -.list-block input[type="password"], -.list-block input[type="search"], -.list-block input[type="email"], -.list-block input[type="tel"], -.list-block input[type="url"], -.list-block input[type="date"], -.list-block input[type="datetime-local"], -.list-block input[type="time"], -.list-block input[type="number"], -.list-block select, -.list-block textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0 0 0 0; - box-shadow: none; - display: block; - padding: 0px; - margin: 0; - width: 100%; - height: 43px; - color: #000; - font-size: 17px; - font-family: inherit; -} -.list-block .item-title.label { - vertical-align: top; -} -.list-block .item-title.label + .item-input { - margin-left: 5px; -} -.list-block input[type="date"], -.list-block input[type="datetime-local"] { - line-height: 44px; -} -.list-block select { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; -} -.list-block textarea { - height: 100px; - resize: none; - line-height: 1.4; - padding-top: 8px; - padding-bottom: 7px; -} -.list-block textarea.resizable { - height: 43px; -} -.list-block .item-input { - width: 100%; - margin-top: -8px; - margin-bottom: -7px; - -webkit-box-flex: 1; - -ms-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.list-block .item-title.label { - width: 35%; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.label-switch { - display: inline-block; - vertical-align: middle; - width: 52px; - border-radius: 16px; - box-sizing: border-box; - height: 32px; - position: relative; - cursor: pointer; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.label-switch .checkbox { - width: 52px; - border-radius: 16px; - box-sizing: border-box; - height: 32px; - background: #e5e5e5; - z-index: 0; - margin: 0; - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - cursor: pointer; - position: relative; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch .checkbox:before { - content: ' '; - position: absolute; - left: 2px; - top: 2px; - width: 48px; - border-radius: 16px; - box-sizing: border-box; - height: 28px; - background: #fff; - z-index: 1; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: scale(1); - transform: scale(1); -} -.label-switch .checkbox:after { - content: ' '; - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - position: absolute; - z-index: 2; - top: 2px; - left: 2px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - -webkit-transform: translateX(0px); - transform: translateX(0px); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch input[type="checkbox"] { - display: none; -} -.label-switch input[type="checkbox"]:checked + .checkbox { - background: #4cd964; -} -.label-switch input[type="checkbox"]:checked + .checkbox:before { - -webkit-transform: scale(0); - transform: scale(0); -} -.label-switch input[type="checkbox"]:checked + .checkbox:after { - -webkit-transform: translateX(20px); - transform: translateX(20px); -} -html.android .label-switch input[type="checkbox"] + .checkbox { - -webkit-transition-duration: 0; - transition-duration: 0; -} -html.android .label-switch input[type="checkbox"] + .checkbox:after, -html.android .label-switch input[type="checkbox"] + .checkbox:before { - -webkit-transition-duration: 0; - transition-duration: 0; -} -.button { - border: 1px solid #007aff; - color: #007aff; - text-decoration: none; - text-align: center; - display: block; - border-radius: 5px; - line-height: 27px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 29px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - font-size: 14px; - font-family: inherit; - cursor: pointer; - outline: 0; -} -input[type="submit"].button, -input[type="button"].button { - width: 100%; -} -html:not(.watch-active-state) .button:active, -.button.active-state { - background: rgba(0, 122, 255, 0.15); -} -.button.button-round { - border-radius: 27px; -} -.button.active { - background: #007aff; - color: #fff; -} -.button.button-big { - font-size: 17px; - height: 44px; - line-height: 42px; -} -.button.button-fill { - color: #fff; - background: #007aff; - border-color: transparent; -} -html:not(.watch-active-state) .button.button-fill:active, -.button.button-fill.active-state { - opacity: 0.8; -} -.button i.icon:first-child { - margin-right: 10px; -} -.button i.icon:last-child { - margin-left: 10px; -} -.button i.icon:first-child:last-child { - margin-left: 0; - margin-right: 0; -} -.buttons-row { - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.buttons-row .button { - border-radius: 0 0 0 0; - border-left-width: 0; - width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1; -} -.buttons-row .button:first-child { - border-radius: 5px 0 0 5px; - border-left-width: 1px; - border-left-style: solid; -} -.buttons-row .button:last-child { - border-radius: 0 5px 5px 0; -} -.buttons-row .button:first-child:last-child { - border-radius: 5px; -} -.buttons-row .button.button-round:first-child { - border-radius: 27px 0 0 27px; -} -.buttons-row .button.button-round:last-child { - border-radius: 0 27px 27px 0; -} -.range-slider { - width: 100%; - position: relative; - overflow: hidden; - padding-left: 3px; - padding-right: 3px; - margin-left: -1px; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.range-slider input[type="range"] { - position: relative; - height: 28px; - width: 100%; - margin: 4px 0 5px 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #b7b8b7), color-stop(100%, #b7b8b7)); - background: linear-gradient(to right, #b7b8b7 0, #b7b8b7 100%); - background-position: center; - background-size: 100% 2px; - background-repeat: no-repeat; - outline: 0; - border: none; - box-sizing: content-box; - -ms-background-position-y: 500px; -} -.range-slider input[type="range"]:focus, -.range-slider input[type="range"]:active { - border: 0; - outline: 0; -} -.range-slider input[type="range"]:after { - height: 2px; - background: #fff; - content: ' '; - width: 5px; - top: 50%; - margin-top: -1px; - left: -5px; - z-index: 1; - position: absolute; -} -.range-slider input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - height: 28px; - width: 28px; - position: relative; - background: none; -} -.range-slider input[type="range"]::-webkit-slider-thumb:after { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); - border: 0; - outline: 0; - position: absolute; - box-sizing: border-box; - content: ' '; - left: 0; - top: 0; -} -.range-slider input[type="range"]::-webkit-slider-thumb:before { - position: absolute; - top: 50%; - right: 100%; - width: 2000px; - height: 2px; - margin-top: -1px; - z-index: 1; - background: #007aff; - content: ' '; -} -.range-slider input[type="range"]::-moz-range-track { - width: 100%; - height: 2px; - background: #b7b8b7; - border: none; - outline: 0; -} -.range-slider input[type="range"]::-moz-range-thumb { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); - border: 0; - outline: 0; - position: absolute; - box-sizing: border-box; - content: ' '; -} -.range-slider input[type="range"]::-ms-track { - width: 100%; - height: 2px; - cursor: pointer; - background: transparent; - border-color: transparent; - color: transparent; -} -.range-slider input[type="range"]::-ms-thumb { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); - border: 0; - outline: 0; - position: absolute; - content: ' '; - box-shadow: none; - border: 1px solid rgba(0, 0, 0, 0.2); - box-sizing: border-box; - margin-top: 0; - top: 50%; -} -.range-slider input[type="range"]::-ms-fill-lower { - background: #007aff; -} -.range-slider input[type="range"]::-ms-fill-upper { - background: #b7b8b7; -} -label.label-checkbox { - cursor: pointer; -} -label.label-checkbox i.icon-form-checkbox { - width: 22px; - height: 22px; - position: relative; - border-radius: 22px; - border: 1px solid #c7c7cc; - box-sizing: border-box; -} -label.label-checkbox i.icon-form-checkbox:after { - content: ' '; - position: absolute; - left: 50%; - margin-left: -6px; - top: 50%; - margin-top: -4px; - width: 12px; - height: 9px; -} -label.label-checkbox input[type="checkbox"], -label.label-checkbox input[type="radio"] { - display: none; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - border: none; - background-color: #007aff; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox:after { - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20x%3D'0px'%20y%3D'0px'%20viewBox%3D'0%200%2012%209'%20xml%3Aspace%3D'preserve'%3E%3Cpolygon%20fill%3D'%23ffffff'%20points%3D'12%2C0.7%2011.3%2C0%203.9%2C7.4%200.7%2C4.2%200%2C4.9%203.9%2C8.8%203.9%2C8.8%203.9%2C8.8%20'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 12px 9px; - background-size: 12px 9px; -} -label.label-radio { - cursor: pointer; -} -label.label-radio input[type="checkbox"], -label.label-radio input[type="radio"] { - display: none; -} -label.label-radio input[type="checkbox"] ~ .item-inner, -label.label-radio input[type="radio"] ~ .item-inner { - padding-right: 35px; -} -label.label-radio input[type="checkbox"]:checked ~ .item-inner, -label.label-radio input[type="radio"]:checked ~ .item-inner { - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23007aff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); - background-position: 90% center; - background-position: -webkit-calc(100% - 15px) center; - background-position: calc(100% - 15px) center; - -webkit-background-size: 13px 10px; - background-size: 13px 10px; -} -label.label-checkbox, -label.label-radio { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -html:not(.watch-active-state) label.label-checkbox:active, -html:not(.watch-active-state) label.label-radio:active, -label.label-checkbox.active-state, -label.label-radio.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) label.label-checkbox:active .item-inner:after, -html:not(.watch-active-state) label.label-radio:active .item-inner:after, -label.label-checkbox.active-state .item-inner:after, -label.label-radio.active-state .item-inner:after { - background-color: transparent; -} -.smart-select select { - display: none; -} -/* === Floating Action Button === */ -.floating-button { - position: absolute; - right: 15px; - bottom: 15px; - width: 50px; - height: 50px; - border-radius: 50%; - z-index: 1500; - background-color: #007aff; - color: #fff; - overflow: hidden; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -html:not(.watch-active-state) .floating-button:active, -.floating-button.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background: #0066d6; -} -.toolbar-fixed .floating-button, -.toolbar-through .floating-button { - bottom: 59px; -} -.tabbar-labels-fixed .floating-button, -.tabbar-labels-through .floating-button { - bottom: 65px; -} -@media (min-width: 768px) { - .tabbar-labels-fixed .floating-button, - .tabbar-labels-through .floating-button { - bottom: 71px; - } -} -.floating-button-toolbar, -.speed-dial { - position: absolute; - right: 15px; - bottom: 15px; - z-index: 1500; -} -.toolbar-fixed .floating-button-toolbar, -.toolbar-fixed .speed-dial, -.toolbar-through .floating-button-toolbar, -.toolbar-through .speed-dial { - bottom: 59px; -} -.tabbar-labels-fixed .floating-button-toolbar, -.tabbar-labels-fixed .speed-dial, -.tabbar-labels-through .floating-button-toolbar, -.tabbar-labels-through .speed-dial { - bottom: 65px; -} -@media (min-width: 768px) { - .tabbar-labels-fixed .floating-button-toolbar, - .tabbar-labels-fixed .speed-dial, - .tabbar-labels-through .floating-button-toolbar, - .tabbar-labels-through .speed-dial { - bottom: 71px; - } -} -.floating-button-toolbar .floating-button, -.speed-dial .floating-button { - right: 0; - bottom: 0; - position: relative; -} -.speed-dial .floating-button i { - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.speed-dial .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - opacity: 1; -} -.speed-dial-buttons { - position: absolute; - width: 40px; - left: 50%; - margin-left: -20px; - bottom: 100%; - margin-bottom: 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -moz-box-orient: vertical; - -moz-box-direction: reverse; - -ms-flex-direction: column-reverse; - -webkit-flex-direction: column-reverse; - flex-direction: column-reverse; - visibility: hidden; - pointer-events: none; -} -.speed-dial-buttons a { - width: 40px; - height: 40px; - opacity: 0; - color: #fff; - border-radius: 50%; - position: relative; - z-index: 1; - overflow: hidden; - background-color: #007aff; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-transform: translate3d(0, 8px, 0) scale(0.3); - transform: translate3d(0, 8px, 0) scale(0.3); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} -.speed-dial-buttons a + a { - margin-bottom: 16px; -} -html:not(.watch-active-state) .speed-dial-buttons a:active, -.speed-dial-buttons a.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background: #0066d6; -} -.speed-dial-opened .speed-dial-buttons { - visibility: visible; - pointer-events: auto; -} -.speed-dial-opened .speed-dial-buttons a { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scaleY(1); - transform: translate3d(0, 0, 0) scaleY(1); -} -.speed-dial-opened .speed-dial-buttons a:nth-child(2) { - -webkit-transition-delay: 50ms; - transition-delay: 50ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(3) { - -webkit-transition-delay: 100ms; - transition-delay: 100ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(4) { - -webkit-transition-delay: 150ms; - transition-delay: 150ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(5) { - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(6) { - -webkit-transition-delay: 250ms; - transition-delay: 250ms; -} -.floating-button-to-popover.floating-button-to-popover { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-in { - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-in i { - opacity: 0; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-scale { - border-radius: 0; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - box-shadow: none; -} -.floating-button-to-popover.floating-button-to-popover-out { - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-out i { - opacity: 1; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -/* === Accordion === */ -.list-block .accordion-item-toggle { - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .accordion-item-toggle .item-inner { - padding-right: 35px; - background: no-repeat -webkit-calc(100% - 15px) center; - background: no-repeat calc(100% - 15px) center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active, -.list-block .accordion-item-toggle.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active > .item-inner:after, -.list-block .accordion-item-toggle.active-state > .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item-toggle .item-inner, -.list-block .accordion-item > .item-link .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: background-color; - transition-property: background-color; -} -.list-block .accordion-item-toggle .item-inner:after, -.list-block .accordion-item > .item-link .item-inner:after { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, -.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, -.list-block.media-list .accordion-item-expanded > .item-link .item-title-row, -.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, -.list-block .accordion-item-expanded.media-item > .item-link .item-title-row { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(115%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 20px 20px; -} -.list-block .accordion-item-expanded .accordion-item-toggle .item-inner:after, -.list-block .accordion-item-expanded > .item-link .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item .content-block, -.list-block .accordion-item .list-block { - margin-top: 0; - margin-bottom: 0; -} -.list-block .accordion-item ul { - padding-left: 0; -} -.accordion-item-content { - position: relative; - overflow: hidden; - height: 0; - font-size: 14px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.accordion-item-expanded > .accordion-item-content { - height: auto; -} -html.android-4 .accordion-item-content { - -webkit-transform: none; - transform: none; -} -/* === Cards === */ -.cards-list ul, -.card .list-block ul { - background: none; -} -.cards-list > ul:before, -.card .list-block > ul:before { - display: none; -} -.cards-list > ul:after, -.card .list-block > ul:after { - display: none; -} -.card { - background: #fff; - box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); - margin: 10px; - position: relative; - border-radius: 2px; - font-size: 14px; -} -.card .list-block, -.card .content-block { - margin: 0; -} -.row:not(.no-gutter) .col > .card { - margin-left: 0; - margin-right: 0; -} -.card-content { - position: relative; -} -.card-content-inner { - padding: 15px; - position: relative; -} -.card-content-inner > p:first-child { - margin-top: 0; -} -.card-content-inner > p:last-child { - margin-bottom: 0; -} -.card-content-inner > .list-block, -.card-content-inner > .content-block { - margin: -15px; -} -.card-header, -.card-footer { - min-height: 44px; - position: relative; - padding: 10px 15px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.card-header[valign="top"], -.card-footer[valign="top"] { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.card-header[valign="bottom"], -.card-footer[valign="bottom"] { - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.card-header a.link, -.card-footer a.link { - line-height: 44px; - height: 44px; - text-decoration: none; - position: relative; - margin-top: -10px; - margin-bottom: -10px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -html:not(.watch-active-state) .card-header a.link:active, -html:not(.watch-active-state) .card-footer a.link:active, -.card-header a.link.active-state, -.card-footer a.link.active-state { - opacity: 0.3; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.card-header a.link i + span, -.card-footer a.link i + span, -.card-header a.link i + i, -.card-footer a.link i + i, -.card-header a.link span + i, -.card-footer a.link span + i, -.card-header a.link span + span, -.card-footer a.link span + span { - margin-left: 7px; -} -.card-header a.link i.icon, -.card-footer a.link i.icon { - display: block; -} -.card-header a.icon-only, -.card-footer a.icon-only { - min-width: 44px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 0; -} -.card-header { - border-radius: 2px 2px 0 0; - font-size: 17px; -} -.card-header:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .card-header:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-header:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-header.no-border:after { - display: none; -} -.card-footer { - border-radius: 0 0 2px 2px; - color: #6d6d72; -} -.card-footer:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .card-footer:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-footer:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-footer.no-border:before { - display: none; -} -/* === Modals === */ -.modal-overlay, -.preloader-indicator-overlay, -.popup-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.4); - z-index: 13000; - visibility: hidden; - opacity: 0; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.modal-overlay.modal-overlay-visible, -.preloader-indicator-overlay.modal-overlay-visible, -.popup-overlay.modal-overlay-visible { - visibility: visible; - opacity: 1; -} -.popup-overlay { - z-index: 10500; -} -.modal { - width: 270px; - position: absolute; - z-index: 13500; - left: 50%; - margin-left: -135px; - margin-top: 0; - top: 50%; - text-align: center; - border-radius: 13px; - overflow: hidden; - opacity: 0; - -webkit-transform: translate3d(0, 0, 0) scale(1.185); - transform: translate3d(0, 0, 0) scale(1.185); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -ms-transition-property: -ms-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - color: #000; - display: none; -} -.modal.modal-in { - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} -.modal.modal-out { - opacity: 0; - z-index: 13499; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} -.modal-inner { - padding: 15px; - border-radius: 13px 13px 0 0; - position: relative; - background: rgba(255, 255, 255, 0.95); -} -.modal-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .modal-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .modal-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.modal-title { - font-weight: 500; - font-size: 18px; - text-align: center; -} -html.ios-gt-8 .modal-title { - font-weight: 600; -} -.modal-title + .modal-text { - margin-top: 5px; -} -.modal-buttons { - height: 44px; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.modal-buttons.modal-buttons-vertical { - display: block; - height: auto; -} -.modal-button { - width: 100%; - padding: 0 5px; - height: 44px; - font-size: 17px; - line-height: 44px; - text-align: center; - color: #007aff; - display: block; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - cursor: pointer; - box-sizing: border-box; - -webkit-box-flex: 1; - -ms-flex: 1; - background: rgba(255, 255, 255, 0.95); -} -.modal-button:after { - content: ''; - position: absolute; - right: 0; - top: 0; - left: auto; - bottom: auto; - width: 1px; - height: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 100% 50%; - transform-origin: 100% 50%; -} -html.pixel-ratio-2 .modal-button:after { - -webkit-transform: scaleX(0.5); - transform: scaleX(0.5); -} -html.pixel-ratio-3 .modal-button:after { - -webkit-transform: scaleX(0.33); - transform: scaleX(0.33); -} -.modal-button:first-child { - border-radius: 0 0 0 13px; -} -.modal-button:last-child { - border-radius: 0 0 13px 0; -} -.modal-button:last-child:after { - display: none; -} -.modal-button:first-child:last-child { - border-radius: 0 0 13px 13px; -} -.modal-button.modal-button-bold { - font-weight: 500; -} -html.ios-gt-8 .modal-button.modal-button-bold { - font-weight: 600; -} -html:not(.watch-active-state) .modal-button:active, -.modal-button.active-state { - background: rgba(230, 230, 230, 0.95); -} -.modal-buttons-vertical .modal-button { - border-radius: 0; -} -.modal-buttons-vertical .modal-button:after { - display: none; -} -.modal-buttons-vertical .modal-button:before { - display: none; -} -.modal-buttons-vertical .modal-button:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .modal-buttons-vertical .modal-button:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .modal-buttons-vertical .modal-button:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.modal-buttons-vertical .modal-button:last-child { - border-radius: 0 0 13px 13px; -} -.modal-buttons-vertical .modal-button:last-child:after { - display: none; -} -.modal-no-buttons .modal-inner { - border-radius: 13px; -} -.modal-no-buttons .modal-inner:after { - display: none; -} -.modal-no-buttons .modal-buttons { - display: none; -} -.actions-modal { - position: absolute; - left: 0; - bottom: 0; - z-index: 13500; - width: 100%; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - max-height: 100%; - overflow: auto; - -webkit-overflow-scrolling: touch; -} -@media (min-width: 496px) { - .actions-modal { - width: 480px; - left: 50%; - margin-left: -240px; - } -} -.actions-modal.modal-in { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.actions-modal.modal-out { - z-index: 13499; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.actions-modal-group { - margin: 8px; - position: relative; - border-radius: 13px; - overflow: hidden; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.actions-modal-button, -.actions-modal-label { - width: 100%; - text-align: center; - font-weight: normal; - margin: 0; - background: rgba(255, 255, 255, 0.95); - box-sizing: border-box; - display: block; - position: relative; - overflow: hidden; -} -.actions-modal-button:after, -.actions-modal-label:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-modal-button:after, -html.pixel-ratio-2 .actions-modal-label:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-modal-button:after, -html.pixel-ratio-3 .actions-modal-label:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-modal-button a, -.actions-modal-label a { - text-decoration: none; - color: inherit; - display: block; -} -.actions-modal-button b, -.actions-modal-label b { - font-weight: 500; -} -html.ios-gt-8 .actions-modal-button b, -html.ios-gt-8 .actions-modal-label b { - font-weight: 600; -} -.actions-modal-button.actions-modal-button-bold, -.actions-modal-label.actions-modal-button-bold { - font-weight: 500; -} -html.ios-gt-8 .actions-modal-button.actions-modal-button-bold, -html.ios-gt-8 .actions-modal-label.actions-modal-button-bold { - font-weight: 600; -} -.actions-modal-button.actions-modal-button-red, -.actions-modal-label.actions-modal-button-red { - color: #ff3b30; -} -.actions-modal-button:first-child, -.actions-modal-label:first-child { - border-radius: 13px 13px 0 0; -} -.actions-modal-button:last-child, -.actions-modal-label:last-child { - border-radius: 0 0 13px 13px; -} -.actions-modal-button:last-child:after, -.actions-modal-label:last-child:after { - display: none; -} -.actions-modal-button:first-child:last-child, -.actions-modal-label:first-child:last-child { - border-radius: 13px; -} -.actions-modal-button.disabled, -.actions-modal-label.disabled { - opacity: 0.9; - color: #8e8e93; -} -.actions-modal-button { - cursor: pointer; - height: 57px; - line-height: 57px; - font-size: 20px; - color: #007aff; - white-space: normal; - text-overflow: ellipsis; -} -html:not(.watch-active-state) .actions-modal-button:active, -.actions-modal-button.active-state { - background: rgba(230, 230, 230, 0.9); -} -.actions-modal-label { - font-size: 13px; - line-height: 1.3; - min-height: 57px; - padding: 8px 10px; - color: #8a8a8a; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -@media (orientation: landscape) { - .actions-modal-label { - min-height: 44px; - } - .actions-modal-button { - height: 44px; - line-height: 44px; - } -} -input.modal-text-input { - box-sizing: border-box; - height: 26px; - background: #fff; - margin: 0; - margin-top: 15px; - padding: 0 5px; - border: 1px solid rgba(0, 0, 0, 0.3); - border-radius: 0; - width: 100%; - font-size: 14px; - font-family: inherit; - display: block; - box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; -} -input.modal-text-input + input.modal-text-input { - margin-top: 5px; -} -.modal-input-double + .modal-input-double input.modal-text-input { - border-top: 0; - margin-top: 0; -} -.popover { - width: 320px; - background: rgba(255, 255, 255, 0.95); - z-index: 13500; - margin: 0; - top: 0; - opacity: 0; - left: 0; - border-radius: 13px; - position: absolute; - display: none; - -webkit-transform: none; - transform: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -ms-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; -} -.popover.modal-in { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 1; -} -.popover .list-block { - margin: 0; -} -.popover .list-block ul { - background: none; -} -.popover .list-block:first-child ul { - border-radius: 13px 13px 0 0; -} -.popover .list-block:first-child ul:before { - display: none; -} -.popover .list-block:first-child li:first-child a { - border-radius: 13px 13px 0 0; -} -.popover .list-block:last-child ul { - border-radius: 0 0 13px 13px; -} -.popover .list-block:last-child ul:after { - display: none; -} -.popover .list-block:last-child li:last-child a { - border-radius: 0 0 13px 13px; -} -.popover .list-block:first-child:last-child li:first-child:last-child a, -.popover .list-block:first-child:last-child ul:first-child:last-child { - border-radius: 13px; -} -.popover .list-block + .list-block { - margin-top: 35px; -} -.popover-angle { - width: 26px; - height: 26px; - position: absolute; - left: -26px; - top: 0; - z-index: 100; - overflow: hidden; -} -.popover-angle:after { - content: ' '; - background: rgba(255, 255, 255, 0.95); - width: 26px; - height: 26px; - position: absolute; - left: 0; - top: 0; - border-radius: 3px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -.popover-angle.on-left { - left: -26px; -} -.popover-angle.on-left:after { - left: 19px; - top: 0; -} -.popover-angle.on-right { - left: 100%; -} -.popover-angle.on-right:after { - left: -19px; - top: 0; -} -.popover-angle.on-top { - left: 0; - top: -26px; -} -.popover-angle.on-top:after { - left: 0; - top: 19px; -} -.popover-angle.on-bottom { - left: 0; - top: 100%; -} -.popover-angle.on-bottom:after { - left: 0; - top: -19px; -} -.popover-inner { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.actions-popover .list-block + .list-block { - margin-top: 20px; -} -.actions-popover .list-block ul { - background: #fff; -} -.actions-popover-label { - padding: 8px 10px; - color: #8a8a8a; - font-size: 13px; - line-height: 1.3; - text-align: center; - position: relative; -} -.actions-popover-label:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-popover-label:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-popover-label:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-popover-label:last-child:after { - display: none; -} -.popup, -.login-screen { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11000; - background: #fff; - box-sizing: border-box; - display: none; - overflow: auto; - -webkit-overflow-scrolling: touch; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.popup.modal-in, -.login-screen.modal-in, -.popup.modal-out, -.login-screen.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.popup.modal-in, -.login-screen.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.popup.modal-out, -.login-screen.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.login-screen.modal-in, -.login-screen.modal-out { - display: block; -} -@media all and (min-width: 630px) and (min-height: 630px) { - .popup:not(.tablet-fullscreen) { - width: 630px; - height: 630px; - left: 50%; - top: 50%; - margin-left: -315px; - margin-top: -315px; - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } - .popup:not(.tablet-fullscreen).modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .popup:not(.tablet-fullscreen).modal-out { - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } -} -@media all and (max-width: 629px), (max-height: 629px) { - html.with-statusbar-overlay .popup { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; - } - html.with-statusbar-overlay .popup-overlay { - z-index: 9500; - } -} -html.with-statusbar-overlay .login-screen, -html.with-statusbar-overlay .popup.tablet-fullscreen { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.modal .preloader { - width: 34px; - height: 34px; -} -.preloader-indicator-overlay { - visibility: visible; - opacity: 0; - background: none; -} -.preloader-indicator-modal { - position: absolute; - left: 50%; - top: 50%; - padding: 8px; - margin-left: -25px; - margin-top: -25px; - background: rgba(0, 0, 0, 0.8); - z-index: 13500; - border-radius: 5px; -} -.preloader-indicator-modal .preloader { - display: block; - width: 34px; - height: 34px; -} -.picker-modal { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 260px; - z-index: 12500; - display: none; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - background: #cfd5da; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal.modal-in, -.picker-modal.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.picker-modal.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal .picker-modal-inner { - height: 100%; - position: relative; -} -.picker-modal .toolbar { - position: relative; - width: 100%; - background: #f7f7f8; -} -.picker-modal .toolbar:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #929499; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .picker-modal .toolbar:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-modal .toolbar:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-modal .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 44px); - height: -moz-calc(100% - 44px); - height: calc(100% - 44px); -} -.picker-modal.picker-modal-inline, -.popover .picker-modal { - display: block; - position: relative; - background: none; - z-index: inherit; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.picker-modal-inline .toolbar:before, -.popover .picker-modal .toolbar:before { - display: none; -} -.picker-modal.picker-modal-inline .toolbar:after, -.popover .picker-modal .toolbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #929499; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-modal.picker-modal-inline .toolbar:after, -html.pixel-ratio-2 .popover .picker-modal .toolbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-modal.picker-modal-inline .toolbar:after, -html.pixel-ratio-3 .popover .picker-modal .toolbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.popover .picker-modal { - width: auto; -} -.popover .picker-modal .toolbar { - background: none; -} -.picker-modal.smart-select-picker .page { - background: #fff; -} -.picker-modal.smart-select-picker .toolbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-modal.smart-select-picker .toolbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-modal.smart-select-picker .toolbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-modal.smart-select-picker .list-block { - margin: 0; -} -.picker-modal.smart-select-picker .list-block ul:before { - display: none; -} -.picker-modal.smart-select-picker .list-block ul:after { - display: none; -} -/* === Panels === */ -.panel-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0); - opacity: 0; - z-index: 5999; - display: none; -} -.panel { - z-index: 1000; - display: none; - background: #111; - box-sizing: border-box; - overflow: auto; - -webkit-overflow-scrolling: touch; - position: absolute; - width: 260px; - top: 0; - height: 100%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.panel.panel-left.panel-cover { - z-index: 6000; - left: -260px; -} -.panel.panel-left.panel-reveal { - left: 0; -} -.panel.panel-right.panel-cover { - z-index: 6000; - right: -260px; -} -.panel.panel-right.panel-reveal { - right: 0; -} -body.with-panel-left-cover .views, -body.with-panel-right-cover .views { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body.with-panel-left-cover .panel-overlay, -body.with-panel-right-cover .panel-overlay { - display: block; -} -body.with-panel-left-reveal .views, -body.with-panel-right-reveal .views { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; -} -body.with-panel-left-reveal .panel-overlay, -body.with-panel-right-reveal .panel-overlay { - display: block; -} -body.with-panel-left-reveal .views { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-left-reveal .panel-overlay { - margin-left: 260px; -} -body.with-panel-left-cover .panel-left { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-right-reveal .views { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.with-panel-right-reveal .panel-overlay { - margin-left: -260px; -} -body.with-panel-right-cover .panel-right { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.panel-closing .views { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; -} -/* === Images Lazy Loading === */ -.lazy-loaded.lazy-fadeIn { - -webkit-animation: lazyFadeIn 600ms; - animation: lazyFadeIn 600ms; -} -@-webkit-keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -/* === Tabs === */ -.tabs .tab { - display: none; -} -.tabs .tab.active { - display: block; -} -.tabs-animated-wrap { - position: relative; - width: 100%; - overflow: hidden; - height: 100%; -} -.tabs-animated-wrap > .tabs { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.tabs-animated-wrap > .tabs > .tab { - width: 100%; - display: block; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.tabs-swipeable-wrap { - height: 100%; -} -.tabs-swipeable-wrap > .tabs > .tab { - display: block; -} -/* === Messages === */ -.messages-content { - background: #fff; -} -.messages { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.messages-date { - text-align: center; - font-weight: 500; - font-size: 11px; - line-height: 1; - margin: 10px 15px; - color: #8e8e93; -} -html.ios-gt-8 .messages-date { - font-weight: 600; -} -.messages-date span { - font-weight: 400; -} -.message { - box-sizing: border-box; - margin: 1px 10px 0; - max-width: 70%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.message:first-child { - margin-top: 10px; -} -.message .message-text { - box-sizing: border-box; - border-radius: 16px; - padding: 6px 16px 9px; - min-width: 48px; - min-height: 35px; - font-size: 17px; - line-height: 1.2; - word-break: break-word; -} -.message .message-text img { - max-width: 100%; - height: auto; -} -.message.message-pic .message-text { - padding: 0; - background: none; -} -.message.message-pic img { - display: block; - border-radius: 16px; -} -.message-name { - font-size: 12px; - line-height: 1; - color: #8e8e93; - margin-bottom: 2px; - margin-top: 7px; -} -.message-hide-name .message-name { - display: none; -} -.message-label { - font-size: 12px; - line-height: 1; - color: #8e8e93; - margin-top: 4px; -} -.message-hide-label .message-label { - display: none; -} -.message-avatar { - width: 29px; - height: 29px; - border-radius: 100%; - margin-top: -29px; - position: relative; - top: 1px; - background-size: cover; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.message-hide-avatar .message-avatar { - opacity: 0; -} -.message-date { - font-size: 12px; - margin-top: 4px; - opacity: 0.8; -} -.message-pic img + .message-date { - margin-top: 8px; -} -.message-sent .message-date { - text-align: right; -} -.message-sent { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.message-sent .message-name { - margin-right: 16px; -} -.message-sent .message-label { - margin-right: 6px; -} -.message-sent.message-with-avatar .message-text { - margin-right: 29px; -} -.message-sent.message-with-avatar .message-name { - margin-right: 45px; -} -.message-sent.message-with-avatar .message-label { - margin-right: 34px; -} -.message-sent .message-text { - padding-right: 22px; - background-color: #00d449; - color: white; - margin-left: auto; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%; -} -.message-sent.message-last .message-text, -.message-sent.message-with-tail .message-text { - border-radius: 16px 16px 0 16px; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%; -} -.message-sent.message-last.message-pic img, -.message-sent.message-with-tail.message-pic img { - border-radius: 16px 16px 0 16px; -} -.message-received { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.message-received .message-text { - padding-left: 22px; - background-color: #e5e5ea; - color: #000; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%; -} -.message-received .message-name { - margin-left: 16px; -} -.message-received .message-label { - margin-left: 6px; -} -.message-received.message-with-avatar .message-text { - margin-left: 29px; -} -.message-received.message-with-avatar .message-name { - margin-left: 45px; -} -.message-received.message-with-avatar .message-label { - margin-left: 34px; -} -.message-received.message-last .message-text, -.message-received.message-with-tail .message-text { - border-radius: 16px 16px 16px 0; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%; -} -.message-received.message-last.message-pic img, -.message-received.message-with-tail.message-pic img { - border-radius: 16px 16px 16px 0; -} -.message-last { - margin-bottom: 8px; -} -.message-appear-from-bottom { - -webkit-animation: messageAppearFromBottom 400ms; - animation: messageAppearFromBottom 400ms; -} -.message-appear-from-top { - -webkit-animation: messageAppearFromTop 400ms; - animation: messageAppearFromTop 400ms; -} -.messages-auto-layout .message-name, -.messages-auto-layout .message-label { - display: none; -} -.messages-auto-layout .message-avatar { - opacity: 0; -} -.messages-auto-layout .message-first .message-name { - display: block; -} -.messages-auto-layout .message-last .message-avatar { - opacity: 1; -} -.messages-auto-layout .message-last .message-label { - display: block; -} -html.retina.ios-6 .message, -html.retina.ios-6 .message.message-pic img { - -webkit-mask-box-image: none; - border-radius: 16px; -} -@-webkit-keyframes messageAppearFromBottom { - from { - -webkit-transform: translate3d(0, 100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromBottom { - from { - transform: translate3d(0, 100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes messageAppearFromTop { - from { - -webkit-transform: translate3d(0, -100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromTop { - from { - transform: translate3d(0, -100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -/* === Statusbar overlay === */ -html.with-statusbar-overlay body { - padding-top: 20px; - box-sizing: border-box; -} -html.with-statusbar-overlay body .statusbar-overlay { - display: block; -} -html.with-statusbar-overlay body .panel { - padding-top: 20px; -} -.statusbar-overlay { - background: #f7f7f8; - z-index: 10000; - position: absolute; - left: 0; - top: 0; - height: 20px; - width: 100%; - display: none; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -/* === Preloader === */ -.preloader { - display: inline-block; - width: 20px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - background-position: 50%; - background-size: 100%; - background-repeat: no-repeat; - -webkit-animation: preloader-spin 1s steps(12, end) infinite; - animation: preloader-spin 1s steps(12, end) infinite; -} -@-webkit-keyframes preloader-spin { - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes preloader-spin { - 100% { - transform: rotate(360deg); - } -} -/* === Progress Bar === */ -.progressbar, -.progressbar-infinite { - height: 2px; - width: 100%; - overflow: hidden; - position: relative; - display: block; - background: #b6b6b6; - border-radius: 2px; - -webkit-transform-origin: center top; - transform-origin: center top; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.progressbar { - vertical-align: middle; -} -.progressbar span { - width: 100%; - background: #007aff; - height: 100%; - position: absolute; - left: 0; - top: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.progressbar-infinite:before { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #007aff; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - -webkit-animation: progressbar-infinite 1s linear infinite; - animation: progressbar-infinite 1s linear infinite; -} -html.with-statusbar-overlay body > .progressbar-infinite, -html.with-statusbar-overlay .framework7-root > .progressbar-infinite { - top: 20px; -} -.progressbar-infinite.color-multi { - background: none; -} -.progressbar-infinite.color-multi:before { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 400%; - height: 100%; - background-image: -webkit-linear-gradient(left, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964); - background-image: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964); - background-size: 25% 100%; - background-repeat: repeat-x; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-animation: progressbar-infinite-multicolor 3s linear infinite; - animation: progressbar-infinite-multicolor 3s linear infinite; -} -html.with-statusbar-overlay body > .progressbar-infinite.color-multi, -html.with-statusbar-overlay .framework7-root > .progressbar-infinite.color-multi { - top: 20px; -} -body > .progressbar, -.view > .progressbar, -.views > .progressbar, -.page > .progressbar, -.panel > .progressbar, -.popup > .progressbar, -.framework7-root > .progressbar, -body > .progressbar-infinite, -.view > .progressbar-infinite, -.views > .progressbar-infinite, -.page > .progressbar-infinite, -.panel > .progressbar-infinite, -.popup > .progressbar-infinite, -.framework7-root > .progressbar-infinite { - position: absolute; - left: 0; - top: 0; - z-index: 15000; - border-radius: 0; -} -.progressbar-in { - -webkit-animation: progressbar-in 300ms forwards; - animation: progressbar-in 300ms forwards; -} -.progressbar-out { - -webkit-animation: progressbar-out 300ms forwards; - animation: progressbar-out 300ms forwards; -} -html.with-statusbar-overlay body > .progressbar { - top: 20px; -} -@-webkit-keyframes progressbar-in { - from { - opacity: 0; - -webkit-transform: scaleY(0); - } - to { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes progressbar-in { - from { - opacity: 0; - transform: scaleY(0); - } - to { - opacity: 1; - transform: scaleY(1); - } -} -@-webkit-keyframes progressbar-out { - from { - opacity: 1; - -webkit-transform: scaleY(1); - } - to { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes progressbar-out { - from { - opacity: 1; - transform: scaleY(1); - } - to { - opacity: 0; - transform: scaleY(0); - } -} -@-webkit-keyframes progressbar-infinite { - 0% { - -webkit-transform: translate3d(-50%, 0, 0) scaleX(0.5); - } - 100% { - -webkit-transform: translate3d(100%, 0, 0) scaleX(0.5); - } -} -@keyframes progressbar-infinite { - 0% { - transform: translate3d(-50%, 0, 0) scaleX(0.5); - } - 100% { - transform: translate3d(100%, 0, 0) scaleX(0.5); - } -} -@-webkit-keyframes progressbar-infinite-multicolor { - from { - -webkit-transform: translate3d(0%, 0, 0); - } - to { - -webkit-transform: translate3d(-50%, 0, 0); - } -} -@keyframes progressbar-infinite-multicolor { - from { - transform: translate3d(0%, 0, 0); - } - to { - transform: translate3d(-50%, 0, 0); - } -} -/* === Pull To Refresh === */ -.pull-to-refresh-layer { - position: absolute; - position: relative; - margin-top: -44px; - left: 0; - top: 0; - width: 100%; - height: 44px; -} -.pull-to-refresh-layer .preloader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -10px; - margin-top: -10px; - visibility: hidden; -} -.pull-to-refresh-layer .pull-to-refresh-arrow { - width: 13px; - height: 20px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -6px; - margin-top: -10px; - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2026%2040'%3E%3Cpolygon%20points%3D'9%2C22%209%2C0%2017%2C0%2017%2C22%2026%2C22%2013.5%2C40%200%2C22'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E"); - background-size: 13px 20px; - z-index: 10; - -webkit-transform: rotate(0deg) translate3d(0, 0, 0); - transform: rotate(0deg) translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.pull-to-refresh-content.pull-to-refresh-no-navbar { - margin-top: -44px; - height: -webkit-calc(100% + 44px); - height: -moz-calc(100% + 44px); - height: calc(100% + 44px); -} -.pull-to-refresh-content.pull-to-refresh-no-navbar .pull-to-refresh-layer { - margin-top: 0; -} -.pull-to-refresh-content.transitioning, -.pull-to-refresh-content.refreshing { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.pull-to-refresh-content:not(.refreshing) .pull-to-refresh-layer .preloader { - -webkit-animation: none; - animation: none; -} -.pull-to-refresh-content.refreshing { - -webkit-transform: translate3d(0, 44px, 0); - transform: translate3d(0, 44px, 0); -} -.pull-to-refresh-content.refreshing .pull-to-refresh-arrow { - visibility: hidden; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.pull-to-refresh-content.refreshing .preloader { - visibility: visible; -} -.pull-to-refresh-content.pull-up .pull-to-refresh-arrow { - -webkit-transform: rotate(180deg) translate3d(0, 0, 0); - transform: rotate(180deg) translate3d(0, 0, 0); -} -/* === Infinite Scroll Preloader === */ -.infinite-scroll-preloader { - text-align: center; - padding: 5px 0; -} -/* === Autocomplete === */ -.autocomplete-page .autocomplete-found { - display: block; -} -.autocomplete-page .autocomplete-not-found { - display: none; -} -.autocomplete-page .autocomplete-values { - display: block; -} -.autocomplete-page .list-block ul:empty { - display: none; -} -.autocomplete-preloader:not(.autocomplete-preloader-visible) { - -webkit-animation: none; - animation: none; - visibility: hidden; -} -.autocomplete-dropdown { - background: #fff; - box-sizing: border-box; - position: absolute; - z-index: 500; - box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.2); - width: 100%; - left: 0; -} -.autocomplete-dropdown .autocomplete-dropdown-inner { - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; - height: 100%; - z-index: 1; -} -.autocomplete-dropdown .autocomplete-preloader { - display: none; - position: absolute; - right: 15px; - bottom: 100%; - margin-bottom: 12px; - width: 20px; - height: 20px; -} -.autocomplete-dropdown .autocomplete-preloader-visible { - display: block; -} -.autocomplete-dropdown .autocomplete-dropdown-placeholder { - color: #a9a9a9; -} -.autocomplete-dropdown .list-block { - margin: 0; -} -.autocomplete-dropdown .list-block ul { - background: none !important; -} -.autocomplete-dropdown .list-block ul:before { - display: none; -} -.autocomplete-dropdown .list-block ul:after { - display: none; -} -.autocomplete-dropdown .list-block b { - font-weight: 500; -} -html.ios-gt-8 .autocomplete-dropdown .list-block b { - font-weight: 600; -} -.list-block .item-content-dropdown-expand .item-title.label { - width: 0; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; -} -.list-block .item-content-dropdown-expand .item-title.label + .item-input { - margin-left: 0; -} -.list-block .item-content-dropdown-expand .item-input { - width: 100%; -} -/* === Swiper === */ -.swiper-container { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - /* Fix of Webkit flickering */ - z-index: 1; -} -.swiper-container-no-flexbox .swiper-slide { - float: left; -} -.swiper-container-vertical > .swiper-wrapper { - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-container-android .swiper-slide, -.swiper-wrapper { - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate(0px, 0px); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); -} -.swiper-container-multirow > .swiper-wrapper { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -ms-flex-wrap: wrap; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -.swiper-container-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-slide { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; -} -/* Auto Height */ -.swiper-container-autoheight, -.swiper-container-autoheight .swiper-slide { - height: auto; -} -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-transition-property: -webkit-transform, height; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform, height; -} -/* a11y */ -.swiper-container .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} -/* Arrows */ -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: 50%; - width: 27px; - height: 44px; - margin-top: -22px; - z-index: 10; - cursor: pointer; - -moz-background-size: 27px 44px; - -webkit-background-size: 27px 44px; - background-size: 27px 44px; - background-position: center; - background-repeat: no-repeat; -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev, -.swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - left: 10px; - right: auto; -} -.swiper-button-next, -.swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - right: 10px; - left: auto; -} -/* Pagination Styles */ -.swiper-pagination { - position: absolute; - text-align: center; - -webkit-transition: 300ms; - -moz-transition: 300ms; - -o-transition: 300ms; - transition: 300ms; - -webkit-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-container-horizontal > .swiper-pagination-bullets { - bottom: 10px; - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullet { - width: 8px; - height: 8px; - display: inline-block; - border-radius: 100%; - background: #000; - opacity: 0.2; -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet-active { - opacity: 1; - background: #007aff; -} -.swiper-container-vertical > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform: translate3d(0px, -50%, 0); - -moz-transform: translate3d(0px, -50%, 0); - -o-transform: translate(0px, -50%); - -ms-transform: translate3d(0px, -50%, 0); - transform: translate3d(0px, -50%, 0); -} -.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 5px 0; - display: block; -} -.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 5px; -} -/* Progress */ -.swiper-pagination-progress { - background: rgba(0, 0, 0, 0.25); - position: absolute; -} -.swiper-pagination-progress .swiper-pagination-progressbar { - background: #007aff; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: left top; - -moz-transform-origin: left top; - -ms-transform-origin: left top; - -o-transform-origin: left top; - transform-origin: left top; -} -.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - -moz-transform-origin: right top; - -ms-transform-origin: right top; - -o-transform-origin: right top; - transform-origin: right top; -} -.swiper-container-horizontal > .swiper-pagination-progress { - width: 100%; - height: 4px; - left: 0; - top: 0; -} -.swiper-container-vertical > .swiper-pagination-progress { - width: 4px; - height: 100%; - left: 0; - top: 0; -} -/* 3D Container */ -.swiper-container-3d { - -webkit-perspective: 1200px; - -moz-perspective: 1200px; - -o-perspective: 1200px; - perspective: 1200px; -} -.swiper-container-3d .swiper-wrapper, -.swiper-container-3d .swiper-slide, -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom, -.swiper-container-3d .swiper-cube-shadow { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; -} -.swiper-container-3d .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -/* Coverflow */ -.swiper-container-coverflow .swiper-wrapper, -.swiper-container-flip .swiper-wrapper { - /* Windows 8 IE 10 fix */ - -ms-perspective: 1200px; -} -/* Cube + Flip */ -.swiper-container-cube, -.swiper-container-flip { - overflow: visible; -} -.swiper-container-cube .swiper-slide, -.swiper-container-flip .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-container-cube .swiper-slide .swiper-slide, -.swiper-container-flip .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-flip .swiper-slide-active, -.swiper-container-cube .swiper-slide-active .swiper-slide-active, -.swiper-container-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-container-cube .swiper-slide-shadow-top, -.swiper-container-flip .swiper-slide-shadow-top, -.swiper-container-cube .swiper-slide-shadow-bottom, -.swiper-container-flip .swiper-slide-shadow-bottom, -.swiper-container-cube .swiper-slide-shadow-left, -.swiper-container-flip .swiper-slide-shadow-left, -.swiper-container-cube .swiper-slide-shadow-right, -.swiper-container-flip .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Cube */ -.swiper-container-cube .swiper-slide { - visibility: hidden; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-container-cube.swiper-container-rtl .swiper-slide { - -webkit-transform-origin: 100% 0; - -moz-transform-origin: 100% 0; - -ms-transform-origin: 100% 0; - transform-origin: 100% 0; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-cube .swiper-slide-next, -.swiper-container-cube .swiper-slide-prev, -.swiper-container-cube .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; -} -.swiper-container-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - background: #000; - opacity: 0.6; - -webkit-filter: blur(50px); - filter: blur(50px); - z-index: 0; -} -/* Fade */ -.swiper-container-fade.swiper-container-free-mode .swiper-slide { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.swiper-container-fade .swiper-slide { - pointer-events: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; -} -.swiper-container-fade .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-fade .swiper-slide-active, -.swiper-container-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-zoom-container { - width: 100%; - height: 100%; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -moz-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -moz-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - text-align: center; -} -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; -} -/* Scrollbar */ -.swiper-scrollbar { - border-radius: 10px; - position: relative; - -ms-touch-action: none; - background: rgba(0, 0, 0, 0.1); -} -.swiper-container-horizontal > .swiper-scrollbar { - position: absolute; - left: 1%; - bottom: 3px; - z-index: 50; - height: 5px; - width: 98%; -} -.swiper-container-vertical > .swiper-scrollbar { - position: absolute; - right: 3px; - top: 1%; - z-index: 50; - width: 5px; - height: 98%; -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: rgba(0, 0, 0, 0.5); - border-radius: 10px; - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -/* Preloader */ -.swiper-slide .preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; -} -/* === Photo Browser === */ -.photo-browser { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11500; -} -body > .photo-browser, -.framework7-root > .photo-browser { - opacity: 0; - display: none; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body > .photo-browser.photo-browser-in, -.framework7-root > .photo-browser.photo-browser-in { - display: block; - -webkit-animation: photoBrowserIn 400ms forwards; - animation: photoBrowserIn 400ms forwards; -} -body > .photo-browser.photo-browser-out, -.framework7-root > .photo-browser.photo-browser-out { - display: block; - -webkit-animation: photoBrowserOut 400ms forwards; - animation: photoBrowserOut 400ms forwards; -} -html.with-statusbar-overlay body > .photo-browser, -html.with-statusbar-overlay .framework7-root > .photo-browser { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.popup > .photo-browser .navbar, -body > .photo-browser .navbar, -.framework7-root > .photo-browser .navbar, -.popup > .photo-browser .toolbar, -body > .photo-browser .toolbar, -.framework7-root > .photo-browser .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.photo-browser .page[data-page="photo-browser-slides"] { - background: none; -} -.photo-browser-popup { - background: none; -} -.photo-browser .navbar, -.views .view[data-page="photo-browser-slides"] .navbar, -.photo-browser .toolbar, -.views .view[data-page="photo-browser-slides"] .toolbar { - background: rgba(247, 247, 247, 0.95); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .navbar, -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.photo-browser-exposed .navbar, -.photo-browser-exposed .toolbar { - opacity: 0; - visibility: hidden; - pointer-events: none; -} -.photo-browser-exposed .photo-browser-swiper-container { - background: #000; -} -.photo-browser-of { - margin: 0 5px; -} -.photo-browser-captions { - pointer-events: none; - position: absolute; - left: 0; - width: 100%; - bottom: 0; - z-index: 10; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-captions.photo-browser-captions-exposed { - opacity: 0; -} -.toolbar ~ .photo-browser-captions { - bottom: 44px; - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-exposed .toolbar ~ .photo-browser-captions { - -webkit-transform: translate3d(0, 44px, 0); - transform: translate3d(0, 44px, 0); -} -.toolbar ~ .photo-browser-captions.photo-browser-captions-exposed { - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-caption { - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - position: absolute; - bottom: 0; - left: 0; - opacity: 0; - padding: 4px 5px; - width: 100%; - text-align: center; - color: #fff; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-caption:empty { - display: none; -} -.photo-browser-caption.photo-browser-caption-active { - opacity: 1; -} -.photo-browser-captions-light .photo-browser-caption { - background: rgba(255, 255, 255, 0.8); - color: #000; -} -.photo-browser-exposed .photo-browser-caption { - color: #fff; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-swiper-container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: #fff; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-swiper-wrapper { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-link-inactive { - opacity: 0.3; -} -.photo-browser-slide { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - box-sizing: border-box; -} -.photo-browser-slide.transitioning { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-slide span.swiper-zoom-container { - display: none; -} -.photo-browser-slide img { - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - display: none; -} -.photo-browser-slide.swiper-slide-active span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-next span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-slide.swiper-slide-active img, -.photo-browser-slide.swiper-slide-next img, -.photo-browser-slide.swiper-slide-prev img { - display: inline; -} -.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader { - display: block; -} -.photo-browser-slide iframe { - width: 100%; - height: 100%; -} -.photo-browser-slide .preloader { - display: none; - position: absolute; - width: 42px; - height: 42px; - margin-left: -21px; - margin-top: -21px; - left: 50%; - top: 50%; -} -.photo-browser-dark .navbar, -.photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.photo-browser-dark .navbar:before, -.photo-browser-dark .toolbar:before { - display: none; -} -.photo-browser-dark .navbar:after, -.photo-browser-dark .toolbar:after { - display: none; -} -.photo-browser-dark .navbar a, -.photo-browser-dark .toolbar a { - color: #fff; -} -.photo-browser-dark .photo-browser-swiper-container { - background: #000; -} -@-webkit-keyframes photoBrowserIn { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@keyframes photoBrowserIn { - 0% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@-webkit-keyframes photoBrowserOut { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -@keyframes photoBrowserOut { - 0% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -/* === Columns Picker === */ -.picker-columns { - width: 100%; - height: 260px; - z-index: 11500; -} -.picker-columns.picker-modal-inline, -.popover .picker-columns { - height: 200px; -} -@media (orientation: landscape) and (max-height: 415px) { - .picker-columns:not(.picker-modal-inline) { - height: 200px; - } -} -.popover.popover-picker-columns { - width: 280px; -} -.picker-items { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - padding: 0; - text-align: right; - font-size: 24px; - -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); - -webkit-mask-box-image: linear-gradient(to top, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); -} -.picker-items-col { - overflow: hidden; - position: relative; - max-height: 100%; -} -.picker-items-col.picker-items-col-left { - text-align: left; -} -.picker-items-col.picker-items-col-center { - text-align: center; -} -.picker-items-col.picker-items-col-right { - text-align: right; -} -.picker-items-col.picker-items-col-divider { - color: #000; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.picker-items-col-wrapper { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.picker-item { - height: 36px; - line-height: 36px; - padding: 0 10px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - color: #707274; - left: 0; - top: 0; - width: 100%; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-items-col-absolute .picker-item { - position: absolute; -} -.picker-item.picker-item-far { - pointer-events: none; -} -.picker-item.picker-selected { - color: #000; - -webkit-transform: translate3d(0, 0, 0) rotateX(0deg); - transform: translate3d(0, 0, 0) rotateX(0deg); -} -.picker-center-highlight { - height: 36px; - box-sizing: border-box; - position: absolute; - left: 0; - width: 100%; - top: 50%; - margin-top: -18px; - pointer-events: none; -} -.picker-center-highlight:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #a8abb0; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .picker-center-highlight:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-center-highlight:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #a8abb0; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-center-highlight:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-3d .picker-items { - overflow: hidden; - -webkit-perspective: 1200px; - perspective: 1200px; -} -.picker-3d .picker-items-col, -.picker-3d .picker-items-col-wrapper, -.picker-3d .picker-item { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.picker-3d .picker-items-col { - overflow: visible; -} -.picker-3d .picker-item { - -webkit-transform-origin: center center -110px; - transform-origin: center center -110px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -/* === Calendar === */ -.picker-calendar { - background: #fff; - height: 320px; - width: 100%; - overflow: hidden; -} -@media (orientation: landscape) and (max-height: 415px) { - .picker-calendar:not(.picker-modal-inline) { - height: 220px; - } -} -.picker-calendar .picker-modal-inner { - overflow: hidden; -} -.popover-picker-calendar .picker-calendar { - height: 320px; -} -.popover.popover-picker-calendar { - width: 320px; -} -.picker-calendar-week-days { - height: 18px; - background: #f7f7f8; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - font-size: 11px; - box-sizing: border-box; - position: relative; -} -.picker-calendar-week-days:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-calendar-week-days:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-calendar-week-days:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-calendar-week-days .picker-calendar-week-day { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - line-height: 17px; - text-align: center; -} -.picker-calendar-week-days + .picker-calendar-months { - height: -webkit-calc(100% - 18px); - height: -moz-calc(100% - 18px); - height: calc(100% - 18px); -} -.picker-calendar-months { - width: 100%; - height: 100%; - overflow: hidden; - position: relative; -} -.picker-calendar-months-wrapper { - position: relative; - width: 100%; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-calendar-month { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.picker-calendar-row { - height: 16.66666667%; - height: -webkit-calc(100% / 6); - height: -moz-calc(100% / 6); - height: calc(100% / 6); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 100%; - position: relative; -} -.picker-calendar-row:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #ccc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-calendar-row:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-calendar-row:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-calendar-row:last-child:after { - display: none; -} -.picker-calendar-day { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - box-sizing: border-box; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - text-align: center; - color: #000; - font-size: 15px; - cursor: pointer; - z-index: 20; - height: 100%; -} -.picker-calendar-day.picker-calendar-day-prev, -.picker-calendar-day.picker-calendar-day-next { - color: #b8b8b8; -} -.picker-calendar-day.picker-calendar-day-disabled { - color: #d4d4d4; - cursor: auto; -} -.picker-calendar-day.picker-calendar-day-today span { - background: #e3e3e3; -} -.picker-calendar-day.picker-calendar-day-selected span { - background: #007aff; - color: #fff; -} -.picker-calendar-day.picker-calendar-day-has-events span:after { - content: ''; - width: 4px; - height: 4px; - border-radius: 50%; - background: #ccc; - position: absolute; - margin-left: -2px; - left: 50%; - bottom: 1px; -} -.picker-calendar-day.picker-calendar-day-has-events.picker-calendar-day-selected span:after { - display: none; -} -.picker-calendar-day span { - display: inline-block; - border-radius: 100%; - width: 30px; - height: 30px; - line-height: 30px; - position: relative; -} -.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - -webkit-align-items: stretch; - align-items: stretch; - -ms-flex-line-pack: stretch; - -webkit-align-content: stretch; - align-content: stretch; -} -.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected span { - width: 100%; - border-radius: 0; - height: auto; - text-align: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.picker-calendar-month-picker, -.picker-calendar-year-picker { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - width: 50%; - max-width: 200px; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; -} -.picker-calendar-month-picker a.icon-only, -.picker-calendar-year-picker a.icon-only { - min-width: 36px; -} -.picker-calendar-month-picker span, -.picker-calendar-year-picker span { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - overflow: hidden; - text-overflow: ellipsis; -} -.popover .picker-calendar .picker-calendar-week-days, -.picker-calendar.picker-modal-inline .picker-calendar-week-days { - background: none; -} -.popover .picker-calendar .toolbar:before, -.picker-calendar.picker-modal-inline .toolbar:before, -.popover .picker-calendar .picker-calendar-week-days:before, -.picker-calendar.picker-modal-inline .picker-calendar-week-days:before { - display: none; -} -.popover .picker-calendar .toolbar:after, -.picker-calendar.picker-modal-inline .toolbar:after, -.popover .picker-calendar .picker-calendar-week-days:after, -.picker-calendar.picker-modal-inline .picker-calendar-week-days:after { - display: none; -} -.popover .picker-calendar .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.picker-calendar.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.popover .picker-calendar .picker-calendar-week-days ~ .picker-calendar-months:before, -.picker-calendar.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .popover .picker-calendar .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-2 .picker-calendar.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-2 .popover .picker-calendar .picker-calendar-week-days ~ .picker-calendar-months:before, -html.pixel-ratio-2 .picker-calendar.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .popover .picker-calendar .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-3 .picker-calendar.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-3 .popover .picker-calendar .picker-calendar-week-days ~ .picker-calendar-months:before, -html.pixel-ratio-3 .picker-calendar.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -/* === Notifications === */ -.notifications { - position: absolute; - left: 0; - top: 0; - width: 100%; - z-index: 20000; - font-size: 14px; - margin: 0; - border: none; - display: none; - box-sizing: border-box; - max-height: 100%; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-perspective: 1200px; - perspective: 1200px; - padding-top: 8px; - padding-bottom: 8px; -} -.notifications.list-block > ul { - background: none; - margin: 0 auto; - max-width: 584px; -} -.notifications.list-block > ul:before { - display: none; -} -.notifications.list-block > ul:after { - display: none; -} -.with-statusbar-overlay .notifications { - padding-top: 20px; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); -} -.notifications .item-content { - padding-left: 8px; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.notifications .item-title-row { - margin-bottom: 8px; -} -.notifications .item-title-row:before { - position: absolute; - left: 0; - top: 0; - height: 36px; - border-radius: 12px 12px 0 0; - z-index: -1; - background: #fff; - content: ''; - width: 100%; -} -.notifications .item-title { - font-weight: 400 !important; - height: 36px; - text-transform: uppercase; - line-height: 35px; - font-size: 13px; -} -html.ios-gt-8 .notifications .item-title { - font-weight: 400 !important; -} -.notifications .item-subtitle { - font-size: 15px; - font-weight: 500; -} -html.ios-gt-8 .notifications .item-subtitle { - font-weight: 600; -} -.notifications .item-text { - font-size: 14px; - color: inherit; - height: auto; - line-height: inherit; -} -.notifications .item-subtitle:first-child, -.notifications .item-text:first-child { - margin-top: 8px; -} -.notifications .item-content, -.notifications .item-inner { - min-height: 0; -} -.notifications .item-inner { - position: static; -} -.notifications .item-inner:after { - display: none; -} -.notifications .item-media { - width: 20px; -} -.notifications .item-media img { - max-width: 20px; - max-height: 20px; -} -.notifications .item-media i.icon { - width: 20px; - height: 20px; - -webkit-background-size: cover; - background-size: cover; - background-position: center; - background-repeat: no-repeat; -} -.notifications .item-media + .item-inner { - margin-left: 8px; - overflow: visible; -} -.notifications li.notification-item { - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15); -} -.notifications li.notification-item .item-inner { - padding-top: 0; -} -.notifications li.notification-item .item-media { - padding-top: 8px; -} -.notifications .item-after { - margin-top: auto; - margin-bottom: auto; -} -.notifications .close-notification { - width: 22px; - height: 22px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2044%2044'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cg%20stroke%3D'none'%20stroke-width%3D'1'%20fill%3D'none'%20fill-rule%3D'evenodd'%3E%3Cpath%20d%3D'M22.5%2C20.3786797%20L14.7218254%2C12.6005051%20L12.6005051%2C14.7218254%20L20.3786797%2C22.5%20L12.6005051%2C30.2781746%20L14.7218254%2C32.3994949%20L22.5%2C24.6213203%20L30.2781746%2C32.3994949%20L32.3994949%2C30.2781746%20L24.6213203%2C22.5%20L32.3994949%2C14.7218254%20L30.2781746%2C12.6005051%20L22.5%2C20.3786797%20Z%20M22%2C44%20C34.1502645%2C44%2044%2C34.1502645%2044%2C22%20C44%2C9.8497355%2034.1502645%2C0%2022%2C0%20C9.8497355%2C0%200%2C9.8497355%200%2C22%20C0%2C34.1502645%209.8497355%2C44%2022%2C44%20Z'%20fill%3D'%23000000'%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - background-position: center top; - background-repeat: no-repeat; - -webkit-background-size: 100% auto; - background-size: 100% auto; - position: relative; - opacity: 0.2; -} -.notifications .close-notification span { - position: absolute; - width: 44px; - height: 44px; - left: 50%; - top: 50%; - margin-left: -22px; - margin-top: -22px; -} -.notifications .notification-item { - max-width: 568px; - margin: 0 auto 8px; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - background: rgba(250, 250, 250, 0.95); - border-radius: 12px; - width: -webkit-calc(100% - 16px); - width: -moz-calc(100% - 16px); - width: calc(100% - 16px); - position: absolute; - left: 8px; - top: 0; -} -.notifications .notification-item:last-child { - margin-bottom: 0; -} -.notifications .notification-hidden { - opacity: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -/* === Login screen === */ -.login-screen-content { - background: #fff; -} -.login-screen-content .login-screen-title, -.login-screen-content .list-block, -.login-screen-content .content-block, -.login-screen-content .list-block-label { - max-width: 480px; - margin: 25px auto; -} -.login-screen-content .list-block ul { - background: none; -} -.login-screen-content .list-block ul:before { - display: none; -} -.login-screen-content .list-block ul:after { - display: none; -} -.login-screen-content .list-block-label { - text-align: center; -} -.login-screen-title { - text-align: center; - font-size: 30px; -} -/* === Disabled elements === */ -.disabled, -[disabled] { - opacity: 0.55; - pointer-events: none; -} -.disabled .disabled, -.disabled [disabled], -[disabled] .disabled, -[disabled] [disabled] { - opacity: 1; -} diff --git a/vendor/framework7/css/framework7.ios.min.css b/vendor/framework7/css/framework7.ios.min.css deleted file mode 100644 index 056ce9269..000000000 --- a/vendor/framework7/css/framework7.ios.min.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -.framework7-root,body,html{position:relative;height:100%;width:100%;overflow-x:hidden}body{font-family:-apple-system,SF UI Text,Helvetica Neue,Helvetica,Arial,sans-serif;margin:0;padding:0;color:#000;font-size:14px;line-height:1.4;width:100%;-webkit-text-size-adjust:100%;background:#fff;overflow:hidden}.framework7-root{overflow:hidden}@media all and (width:1024px) and (height:691px) and (orientation:landscape){.framework7-root,body,html{height:671px}}@media all and (width:1024px) and (height:692px) and (orientation:landscape){.framework7-root,body,html{height:672px}}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a,input,select,textarea{outline:0}a{text-decoration:none;color:#007aff}p{margin:1em 0}.row{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.row>[class*=col-]{box-sizing:border-box}.row .col-auto{width:100%}.row .col-100{width:100%;width:-webkit-calc((100% - 15px*0)/ 1);width:calc((100% - 15px*0)/ 1)}.row.no-gutter .col-100{width:100%}.row .col-95{width:95%;width:-webkit-calc((100% - 15px*.05263157894736836)/ 1.0526315789473684);width:calc((100% - 15px*.05263157894736836)/ 1.0526315789473684)}.row.no-gutter .col-95{width:95%}.row .col-90{width:90%;width:-webkit-calc((100% - 15px*.11111111111111116)/ 1.1111111111111112);width:calc((100% - 15px*.11111111111111116)/ 1.1111111111111112)}.row.no-gutter .col-90{width:90%}.row .col-85{width:85%;width:-webkit-calc((100% - 15px*.17647058823529416)/ 1.1764705882352942);width:calc((100% - 15px*.17647058823529416)/ 1.1764705882352942)}.row.no-gutter .col-85{width:85%}.row .col-80{width:80%;width:-webkit-calc((100% - 15px*.25)/ 1.25);width:calc((100% - 15px*.25)/ 1.25)}.row.no-gutter .col-80{width:80%}.row .col-75{width:75%;width:-webkit-calc((100% - 15px*.33333333333333326)/ 1.3333333333333333);width:calc((100% - 15px*.33333333333333326)/ 1.3333333333333333)}.row.no-gutter .col-75{width:75%}.row .col-70{width:70%;width:-webkit-calc((100% - 15px*.4285714285714286)/ 1.4285714285714286);width:calc((100% - 15px*.4285714285714286)/ 1.4285714285714286)}.row.no-gutter .col-70{width:70%}.row .col-66{width:66.66666666666666%;width:-webkit-calc((100% - 15px*.5000000000000002)/ 1.5000000000000002);width:calc((100% - 15px*.5000000000000002)/ 1.5000000000000002)}.row.no-gutter .col-66{width:66.66666666666666%}.row .col-65{width:65%;width:-webkit-calc((100% - 15px*.5384615384615385)/ 1.5384615384615385);width:calc((100% - 15px*.5384615384615385)/ 1.5384615384615385)}.row.no-gutter .col-65{width:65%}.row .col-60{width:60%;width:-webkit-calc((100% - 15px*.6666666666666667)/ 1.6666666666666667);width:calc((100% - 15px*.6666666666666667)/ 1.6666666666666667)}.row.no-gutter .col-60{width:60%}.row .col-55{width:55%;width:-webkit-calc((100% - 15px*.8181818181818181)/ 1.8181818181818181);width:calc((100% - 15px*.8181818181818181)/ 1.8181818181818181)}.row.no-gutter .col-55{width:55%}.row .col-50{width:50%;width:-webkit-calc((100% - 15px*1)/ 2);width:calc((100% - 15px*1)/ 2)}.row.no-gutter .col-50{width:50%}.row .col-45{width:45%;width:-webkit-calc((100% - 15px*1.2222222222222223)/ 2.2222222222222223);width:calc((100% - 15px*1.2222222222222223)/ 2.2222222222222223)}.row.no-gutter .col-45{width:45%}.row .col-40{width:40%;width:-webkit-calc((100% - 15px*1.5)/ 2.5);width:calc((100% - 15px*1.5)/ 2.5)}.row.no-gutter .col-40{width:40%}.row .col-35{width:35%;width:-webkit-calc((100% - 15px*1.8571428571428572)/ 2.857142857142857);width:calc((100% - 15px*1.8571428571428572)/ 2.857142857142857)}.row.no-gutter .col-35{width:35%}.row .col-33{width:33.333333333333336%;width:-webkit-calc((100% - 15px*2)/ 3);width:calc((100% - 15px*2)/ 3)}.row.no-gutter .col-33{width:33.333333333333336%}.row .col-30{width:30%;width:-webkit-calc((100% - 15px*2.3333333333333335)/ 3.3333333333333335);width:calc((100% - 15px*2.3333333333333335)/ 3.3333333333333335)}.row.no-gutter .col-30{width:30%}.row .col-25{width:25%;width:-webkit-calc((100% - 15px*3)/ 4);width:calc((100% - 15px*3)/ 4)}.row.no-gutter .col-25{width:25%}.row .col-20{width:20%;width:-webkit-calc((100% - 15px*4)/ 5);width:calc((100% - 15px*4)/ 5)}.row.no-gutter .col-20{width:20%}.row .col-15{width:15%;width:-webkit-calc((100% - 15px*5.666666666666667)/ 6.666666666666667);width:calc((100% - 15px*5.666666666666667)/ 6.666666666666667)}.row.no-gutter .col-15{width:15%}.row .col-10{width:10%;width:-webkit-calc((100% - 15px*9)/ 10);width:calc((100% - 15px*9)/ 10)}.row.no-gutter .col-10{width:10%}.row .col-5{width:5%;width:-webkit-calc((100% - 15px*19)/ 20);width:calc((100% - 15px*19)/ 20)}.row.no-gutter .col-5{width:5%}.row .col-auto:nth-last-child(1),.row .col-auto:nth-last-child(1)~.col-auto{width:100%;width:-webkit-calc((100% - 15px*0)/ 1);width:calc((100% - 15px*0)/ 1)}.row.no-gutter .col-auto:nth-last-child(1),.row.no-gutter .col-auto:nth-last-child(1)~.col-auto{width:100%}.row .col-auto:nth-last-child(2),.row .col-auto:nth-last-child(2)~.col-auto{width:50%;width:-webkit-calc((100% - 15px*1)/ 2);width:calc((100% - 15px*1)/ 2)}.row.no-gutter .col-auto:nth-last-child(2),.row.no-gutter .col-auto:nth-last-child(2)~.col-auto{width:50%}.row .col-auto:nth-last-child(3),.row .col-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:-webkit-calc((100% - 15px*2)/ 3);width:calc((100% - 15px*2)/ 3)}.row.no-gutter .col-auto:nth-last-child(3),.row.no-gutter .col-auto:nth-last-child(3)~.col-auto{width:33.33333333%}.row .col-auto:nth-last-child(4),.row .col-auto:nth-last-child(4)~.col-auto{width:25%;width:-webkit-calc((100% - 15px*3)/ 4);width:calc((100% - 15px*3)/ 4)}.row.no-gutter .col-auto:nth-last-child(4),.row.no-gutter .col-auto:nth-last-child(4)~.col-auto{width:25%}.row .col-auto:nth-last-child(5),.row .col-auto:nth-last-child(5)~.col-auto{width:20%;width:-webkit-calc((100% - 15px*4)/ 5);width:calc((100% - 15px*4)/ 5)}.row.no-gutter .col-auto:nth-last-child(5),.row.no-gutter .col-auto:nth-last-child(5)~.col-auto{width:20%}.row .col-auto:nth-last-child(6),.row .col-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:-webkit-calc((100% - 15px*5)/ 6);width:calc((100% - 15px*5)/ 6)}.row.no-gutter .col-auto:nth-last-child(6),.row.no-gutter .col-auto:nth-last-child(6)~.col-auto{width:16.66666667%}.row .col-auto:nth-last-child(7),.row .col-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:-webkit-calc((100% - 15px*6)/ 7);width:calc((100% - 15px*6)/ 7)}.row.no-gutter .col-auto:nth-last-child(7),.row.no-gutter .col-auto:nth-last-child(7)~.col-auto{width:14.28571429%}.row .col-auto:nth-last-child(8),.row .col-auto:nth-last-child(8)~.col-auto{width:12.5%;width:-webkit-calc((100% - 15px*7)/ 8);width:calc((100% - 15px*7)/ 8)}.row.no-gutter .col-auto:nth-last-child(8),.row.no-gutter .col-auto:nth-last-child(8)~.col-auto{width:12.5%}.row .col-auto:nth-last-child(9),.row .col-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:-webkit-calc((100% - 15px*8)/ 9);width:calc((100% - 15px*8)/ 9)}.row.no-gutter .col-auto:nth-last-child(9),.row.no-gutter .col-auto:nth-last-child(9)~.col-auto{width:11.11111111%}.row .col-auto:nth-last-child(10),.row .col-auto:nth-last-child(10)~.col-auto{width:10%;width:-webkit-calc((100% - 15px*9)/ 10);width:calc((100% - 15px*9)/ 10)}.row.no-gutter .col-auto:nth-last-child(10),.row.no-gutter .col-auto:nth-last-child(10)~.col-auto{width:10%}.row .col-auto:nth-last-child(11),.row .col-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:-webkit-calc((100% - 15px*10)/ 11);width:calc((100% - 15px*10)/ 11)}.row.no-gutter .col-auto:nth-last-child(11),.row.no-gutter .col-auto:nth-last-child(11)~.col-auto{width:9.09090909%}.row .col-auto:nth-last-child(12),.row .col-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:-webkit-calc((100% - 15px*11)/ 12);width:calc((100% - 15px*11)/ 12)}.row.no-gutter .col-auto:nth-last-child(12),.row.no-gutter .col-auto:nth-last-child(12)~.col-auto{width:8.33333333%}.row .col-auto:nth-last-child(13),.row .col-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:-webkit-calc((100% - 15px*12)/ 13);width:calc((100% - 15px*12)/ 13)}.row.no-gutter .col-auto:nth-last-child(13),.row.no-gutter .col-auto:nth-last-child(13)~.col-auto{width:7.69230769%}.row .col-auto:nth-last-child(14),.row .col-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:-webkit-calc((100% - 15px*13)/ 14);width:calc((100% - 15px*13)/ 14)}.row.no-gutter .col-auto:nth-last-child(14),.row.no-gutter .col-auto:nth-last-child(14)~.col-auto{width:7.14285714%}.row .col-auto:nth-last-child(15),.row .col-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:-webkit-calc((100% - 15px*14)/ 15);width:calc((100% - 15px*14)/ 15)}.row.no-gutter .col-auto:nth-last-child(15),.row.no-gutter .col-auto:nth-last-child(15)~.col-auto{width:6.66666667%}.row .col-auto:nth-last-child(16),.row .col-auto:nth-last-child(16)~.col-auto{width:6.25%;width:-webkit-calc((100% - 15px*15)/ 16);width:calc((100% - 15px*15)/ 16)}.row.no-gutter .col-auto:nth-last-child(16),.row.no-gutter .col-auto:nth-last-child(16)~.col-auto{width:6.25%}.row .col-auto:nth-last-child(17),.row .col-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:-webkit-calc((100% - 15px*16)/ 17);width:calc((100% - 15px*16)/ 17)}.row.no-gutter .col-auto:nth-last-child(17),.row.no-gutter .col-auto:nth-last-child(17)~.col-auto{width:5.88235294%}.row .col-auto:nth-last-child(18),.row .col-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:-webkit-calc((100% - 15px*17)/ 18);width:calc((100% - 15px*17)/ 18)}.row.no-gutter .col-auto:nth-last-child(18),.row.no-gutter .col-auto:nth-last-child(18)~.col-auto{width:5.55555556%}.row .col-auto:nth-last-child(19),.row .col-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:-webkit-calc((100% - 15px*18)/ 19);width:calc((100% - 15px*18)/ 19)}.row.no-gutter .col-auto:nth-last-child(19),.row.no-gutter .col-auto:nth-last-child(19)~.col-auto{width:5.26315789%}.row .col-auto:nth-last-child(20),.row .col-auto:nth-last-child(20)~.col-auto{width:5%;width:-webkit-calc((100% - 15px*19)/ 20);width:calc((100% - 15px*19)/ 20)}.row.no-gutter .col-auto:nth-last-child(20),.row.no-gutter .col-auto:nth-last-child(20)~.col-auto{width:5%}.row .col-auto:nth-last-child(21),.row .col-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:-webkit-calc((100% - 15px*20)/ 21);width:calc((100% - 15px*20)/ 21)}.row.no-gutter .col-auto:nth-last-child(21),.row.no-gutter .col-auto:nth-last-child(21)~.col-auto{width:4.76190476%}@media all and (min-width:768px){.row .tablet-100{width:100%;width:-webkit-calc((100% - 15px*0)/ 1);width:calc((100% - 15px*0)/ 1)}.row.no-gutter .tablet-100{width:100%}.row .tablet-95{width:95%;width:-webkit-calc((100% - 15px*.05263157894736836)/ 1.0526315789473684);width:calc((100% - 15px*.05263157894736836)/ 1.0526315789473684)}.row.no-gutter .tablet-95{width:95%}.row .tablet-90{width:90%;width:-webkit-calc((100% - 15px*.11111111111111116)/ 1.1111111111111112);width:calc((100% - 15px*.11111111111111116)/ 1.1111111111111112)}.row.no-gutter .tablet-90{width:90%}.row .tablet-85{width:85%;width:-webkit-calc((100% - 15px*.17647058823529416)/ 1.1764705882352942);width:calc((100% - 15px*.17647058823529416)/ 1.1764705882352942)}.row.no-gutter .tablet-85{width:85%}.row .tablet-80{width:80%;width:-webkit-calc((100% - 15px*.25)/ 1.25);width:calc((100% - 15px*.25)/ 1.25)}.row.no-gutter .tablet-80{width:80%}.row .tablet-75{width:75%;width:-webkit-calc((100% - 15px*.33333333333333326)/ 1.3333333333333333);width:calc((100% - 15px*.33333333333333326)/ 1.3333333333333333)}.row.no-gutter .tablet-75{width:75%}.row .tablet-70{width:70%;width:-webkit-calc((100% - 15px*.4285714285714286)/ 1.4285714285714286);width:calc((100% - 15px*.4285714285714286)/ 1.4285714285714286)}.row.no-gutter .tablet-70{width:70%}.row .tablet-66{width:66.66666666666666%;width:-webkit-calc((100% - 15px*.5000000000000002)/ 1.5000000000000002);width:calc((100% - 15px*.5000000000000002)/ 1.5000000000000002)}.row.no-gutter .tablet-66{width:66.66666666666666%}.row .tablet-65{width:65%;width:-webkit-calc((100% - 15px*.5384615384615385)/ 1.5384615384615385);width:calc((100% - 15px*.5384615384615385)/ 1.5384615384615385)}.row.no-gutter .tablet-65{width:65%}.row .tablet-60{width:60%;width:-webkit-calc((100% - 15px*.6666666666666667)/ 1.6666666666666667);width:calc((100% - 15px*.6666666666666667)/ 1.6666666666666667)}.row.no-gutter .tablet-60{width:60%}.row .tablet-55{width:55%;width:-webkit-calc((100% - 15px*.8181818181818181)/ 1.8181818181818181);width:calc((100% - 15px*.8181818181818181)/ 1.8181818181818181)}.row.no-gutter .tablet-55{width:55%}.row .tablet-50{width:50%;width:-webkit-calc((100% - 15px*1)/ 2);width:calc((100% - 15px*1)/ 2)}.row.no-gutter .tablet-50{width:50%}.row .tablet-45{width:45%;width:-webkit-calc((100% - 15px*1.2222222222222223)/ 2.2222222222222223);width:calc((100% - 15px*1.2222222222222223)/ 2.2222222222222223)}.row.no-gutter .tablet-45{width:45%}.row .tablet-40{width:40%;width:-webkit-calc((100% - 15px*1.5)/ 2.5);width:calc((100% - 15px*1.5)/ 2.5)}.row.no-gutter .tablet-40{width:40%}.row .tablet-35{width:35%;width:-webkit-calc((100% - 15px*1.8571428571428572)/ 2.857142857142857);width:calc((100% - 15px*1.8571428571428572)/ 2.857142857142857)}.row.no-gutter .tablet-35{width:35%}.row .tablet-33{width:33.333333333333336%;width:-webkit-calc((100% - 15px*2)/ 3);width:calc((100% - 15px*2)/ 3)}.row.no-gutter .tablet-33{width:33.333333333333336%}.row .tablet-30{width:30%;width:-webkit-calc((100% - 15px*2.3333333333333335)/ 3.3333333333333335);width:calc((100% - 15px*2.3333333333333335)/ 3.3333333333333335)}.row.no-gutter .tablet-30{width:30%}.row .tablet-25{width:25%;width:-webkit-calc((100% - 15px*3)/ 4);width:calc((100% - 15px*3)/ 4)}.row.no-gutter .tablet-25{width:25%}.row .tablet-20{width:20%;width:-webkit-calc((100% - 15px*4)/ 5);width:calc((100% - 15px*4)/ 5)}.row.no-gutter .tablet-20{width:20%}.row .tablet-15{width:15%;width:-webkit-calc((100% - 15px*5.666666666666667)/ 6.666666666666667);width:calc((100% - 15px*5.666666666666667)/ 6.666666666666667)}.row.no-gutter .tablet-15{width:15%}.row .tablet-10{width:10%;width:-webkit-calc((100% - 15px*9)/ 10);width:calc((100% - 15px*9)/ 10)}.row.no-gutter .tablet-10{width:10%}.row .tablet-5{width:5%;width:-webkit-calc((100% - 15px*19)/ 20);width:calc((100% - 15px*19)/ 20)}.row.no-gutter .tablet-5{width:5%}.row .tablet-auto:nth-last-child(1),.row .tablet-auto:nth-last-child(1)~.col-auto{width:100%;width:-webkit-calc((100% - 15px*0)/ 1);width:calc((100% - 15px*0)/ 1)}.row.no-gutter .tablet-auto:nth-last-child(1),.row.no-gutter .tablet-auto:nth-last-child(1)~.tablet-auto{width:100%}.row .tablet-auto:nth-last-child(2),.row .tablet-auto:nth-last-child(2)~.col-auto{width:50%;width:-webkit-calc((100% - 15px*1)/ 2);width:calc((100% - 15px*1)/ 2)}.row.no-gutter .tablet-auto:nth-last-child(2),.row.no-gutter .tablet-auto:nth-last-child(2)~.tablet-auto{width:50%}.row .tablet-auto:nth-last-child(3),.row .tablet-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:-webkit-calc((100% - 15px*2)/ 3);width:calc((100% - 15px*2)/ 3)}.row.no-gutter .tablet-auto:nth-last-child(3),.row.no-gutter .tablet-auto:nth-last-child(3)~.tablet-auto{width:33.33333333%}.row .tablet-auto:nth-last-child(4),.row .tablet-auto:nth-last-child(4)~.col-auto{width:25%;width:-webkit-calc((100% - 15px*3)/ 4);width:calc((100% - 15px*3)/ 4)}.row.no-gutter .tablet-auto:nth-last-child(4),.row.no-gutter .tablet-auto:nth-last-child(4)~.tablet-auto{width:25%}.row .tablet-auto:nth-last-child(5),.row .tablet-auto:nth-last-child(5)~.col-auto{width:20%;width:-webkit-calc((100% - 15px*4)/ 5);width:calc((100% - 15px*4)/ 5)}.row.no-gutter .tablet-auto:nth-last-child(5),.row.no-gutter .tablet-auto:nth-last-child(5)~.tablet-auto{width:20%}.row .tablet-auto:nth-last-child(6),.row .tablet-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:-webkit-calc((100% - 15px*5)/ 6);width:calc((100% - 15px*5)/ 6)}.row.no-gutter .tablet-auto:nth-last-child(6),.row.no-gutter .tablet-auto:nth-last-child(6)~.tablet-auto{width:16.66666667%}.row .tablet-auto:nth-last-child(7),.row .tablet-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:-webkit-calc((100% - 15px*6)/ 7);width:calc((100% - 15px*6)/ 7)}.row.no-gutter .tablet-auto:nth-last-child(7),.row.no-gutter .tablet-auto:nth-last-child(7)~.tablet-auto{width:14.28571429%}.row .tablet-auto:nth-last-child(8),.row .tablet-auto:nth-last-child(8)~.col-auto{width:12.5%;width:-webkit-calc((100% - 15px*7)/ 8);width:calc((100% - 15px*7)/ 8)}.row.no-gutter .tablet-auto:nth-last-child(8),.row.no-gutter .tablet-auto:nth-last-child(8)~.tablet-auto{width:12.5%}.row .tablet-auto:nth-last-child(9),.row .tablet-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:-webkit-calc((100% - 15px*8)/ 9);width:calc((100% - 15px*8)/ 9)}.row.no-gutter .tablet-auto:nth-last-child(9),.row.no-gutter .tablet-auto:nth-last-child(9)~.tablet-auto{width:11.11111111%}.row .tablet-auto:nth-last-child(10),.row .tablet-auto:nth-last-child(10)~.col-auto{width:10%;width:-webkit-calc((100% - 15px*9)/ 10);width:calc((100% - 15px*9)/ 10)}.row.no-gutter .tablet-auto:nth-last-child(10),.row.no-gutter .tablet-auto:nth-last-child(10)~.tablet-auto{width:10%}.row .tablet-auto:nth-last-child(11),.row .tablet-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:-webkit-calc((100% - 15px*10)/ 11);width:calc((100% - 15px*10)/ 11)}.row.no-gutter .tablet-auto:nth-last-child(11),.row.no-gutter .tablet-auto:nth-last-child(11)~.tablet-auto{width:9.09090909%}.row .tablet-auto:nth-last-child(12),.row .tablet-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:-webkit-calc((100% - 15px*11)/ 12);width:calc((100% - 15px*11)/ 12)}.row.no-gutter .tablet-auto:nth-last-child(12),.row.no-gutter .tablet-auto:nth-last-child(12)~.tablet-auto{width:8.33333333%}.row .tablet-auto:nth-last-child(13),.row .tablet-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:-webkit-calc((100% - 15px*12)/ 13);width:calc((100% - 15px*12)/ 13)}.row.no-gutter .tablet-auto:nth-last-child(13),.row.no-gutter .tablet-auto:nth-last-child(13)~.tablet-auto{width:7.69230769%}.row .tablet-auto:nth-last-child(14),.row .tablet-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:-webkit-calc((100% - 15px*13)/ 14);width:calc((100% - 15px*13)/ 14)}.row.no-gutter .tablet-auto:nth-last-child(14),.row.no-gutter .tablet-auto:nth-last-child(14)~.tablet-auto{width:7.14285714%}.row .tablet-auto:nth-last-child(15),.row .tablet-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:-webkit-calc((100% - 15px*14)/ 15);width:calc((100% - 15px*14)/ 15)}.row.no-gutter .tablet-auto:nth-last-child(15),.row.no-gutter .tablet-auto:nth-last-child(15)~.tablet-auto{width:6.66666667%}.row .tablet-auto:nth-last-child(16),.row .tablet-auto:nth-last-child(16)~.col-auto{width:6.25%;width:-webkit-calc((100% - 15px*15)/ 16);width:calc((100% - 15px*15)/ 16)}.row.no-gutter .tablet-auto:nth-last-child(16),.row.no-gutter .tablet-auto:nth-last-child(16)~.tablet-auto{width:6.25%}.row .tablet-auto:nth-last-child(17),.row .tablet-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:-webkit-calc((100% - 15px*16)/ 17);width:calc((100% - 15px*16)/ 17)}.row.no-gutter .tablet-auto:nth-last-child(17),.row.no-gutter .tablet-auto:nth-last-child(17)~.tablet-auto{width:5.88235294%}.row .tablet-auto:nth-last-child(18),.row .tablet-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:-webkit-calc((100% - 15px*17)/ 18);width:calc((100% - 15px*17)/ 18)}.row.no-gutter .tablet-auto:nth-last-child(18),.row.no-gutter .tablet-auto:nth-last-child(18)~.tablet-auto{width:5.55555556%}.row .tablet-auto:nth-last-child(19),.row .tablet-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:-webkit-calc((100% - 15px*18)/ 19);width:calc((100% - 15px*18)/ 19)}.row.no-gutter .tablet-auto:nth-last-child(19),.row.no-gutter .tablet-auto:nth-last-child(19)~.tablet-auto{width:5.26315789%}.row .tablet-auto:nth-last-child(20),.row .tablet-auto:nth-last-child(20)~.col-auto{width:5%;width:-webkit-calc((100% - 15px*19)/ 20);width:calc((100% - 15px*19)/ 20)}.row.no-gutter .tablet-auto:nth-last-child(20),.row.no-gutter .tablet-auto:nth-last-child(20)~.tablet-auto{width:5%}.row .tablet-auto:nth-last-child(21),.row .tablet-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:-webkit-calc((100% - 15px*20)/ 21);width:calc((100% - 15px*20)/ 21)}.row.no-gutter .tablet-auto:nth-last-child(21),.row.no-gutter .tablet-auto:nth-last-child(21)~.tablet-auto{width:4.76190476%}}.view,.views{position:relative;width:100%;height:100%;z-index:5000}.views{overflow:auto;-webkit-overflow-scrolling:touch}.view{overflow:hidden;box-sizing:border-box}.pages{position:relative;width:100%;height:100%;overflow:hidden;background:#000}.page{box-sizing:border-box;position:absolute;left:0;top:0;width:100%;height:100%;background:#efeff4;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.page.cached{display:none}.page-on-left{opacity:.9;-webkit-transform:translate3d(-20%,0,0);transform:translate3d(-20%,0,0)}.page-on-center .swipeback-page-shadow{opacity:1}.page-on-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.page-on-right .swipeback-page-shadow{opacity:0}.page-content{overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;height:100%;position:relative;z-index:1}.swipeback-page-shadow{position:absolute;right:100%;top:0;width:16px;height:100%;background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);z-index:-1;content:''}html.android .swipeback-page-shadow{display:none;-webkit-animation:none;animation:none}.page-transitioning,.page-transitioning .swipeback-page-shadow{-webkit-transition-duration:.4s;transition-duration:.4s}.page-from-center-to-right:before,.page-from-right-to-center:before{position:absolute;right:100%;top:0;width:16px;height:100%;background:-webkit-linear-gradient(left,rgba(0,0,0,0) 0,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);background:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);z-index:-1;content:''}html.android .page-from-center-to-right:before,html.android .page-from-right-to-center:before{display:none;-webkit-animation:none;animation:none}.page-from-right-to-center{-webkit-animation:pageFromRightToCenter .4s forwards;animation:pageFromRightToCenter .4s forwards}.page-from-right-to-center:before{-webkit-animation:pageFromRightToCenterShadow .4s forwards;animation:pageFromRightToCenterShadow .4s forwards}.page-from-center-to-right{-webkit-animation:pageFromCenterToRight .4s forwards;animation:pageFromCenterToRight .4s forwards}.page-from-center-to-right:before{-webkit-animation:pageFromCenterToRightShadow .4s forwards;animation:pageFromCenterToRightShadow .4s forwards}@-webkit-keyframes pageFromRightToCenter{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes pageFromRightToCenter{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}@-webkit-keyframes pageFromRightToCenterShadow{from{opacity:0}to{opacity:1}}@keyframes pageFromRightToCenterShadow{from{opacity:0}to{opacity:1}}@-webkit-keyframes pageFromCenterToRight{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@keyframes pageFromCenterToRight{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}@-webkit-keyframes pageFromCenterToRightShadow{from{opacity:1}to{opacity:0}}@keyframes pageFromCenterToRightShadow{from{opacity:1}to{opacity:0}}.page-from-center-to-left{-webkit-animation:pageFromCenterToLeft .4s forwards;animation:pageFromCenterToLeft .4s forwards}.page-from-left-to-center{-webkit-animation:pageFromLeftToCenter .4s forwards;animation:pageFromLeftToCenter .4s forwards}@-webkit-keyframes pageFromCenterToLeft{from{opacity:1;-webkit-transform:translate3d(0,0,0)}to{opacity:.9;-webkit-transform:translate3d(-20%,0,0)}}@keyframes pageFromCenterToLeft{from{transform:translate3d(0,0,0)}to{opacity:.9;transform:translate3d(-20%,0,0)}}@-webkit-keyframes pageFromLeftToCenter{from{opacity:.9;-webkit-transform:translate3d(-20%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0)}}@keyframes pageFromLeftToCenter{from{transform:translate3d(-20%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}.navbar-inner,.toolbar-inner{position:absolute;left:0;top:0;width:100%;height:100%;padding:0 8px;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.navbar-inner.cached{display:none}.navbar,.toolbar{height:44px;width:100%;box-sizing:border-box;font-size:17px;position:relative;margin:0;z-index:500;-webkit-backface-visibility:hidden;backface-visibility:hidden}.navbar b,.toolbar b{font-weight:500}html.ios-gt-8 .navbar b,html.ios-gt-8 .toolbar b{font-weight:600}.navbar,.subnavbar,.toolbar{background:#f7f7f8}.navbar a.link,.subnavbar a.link,.toolbar a.link{line-height:44px;height:44px;text-decoration:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translateZ(0);transform:translateZ(0)}.navbar a.link.active-state,.subnavbar a.link.active-state,.toolbar a.link.active-state,html:not(.watch-active-state) .navbar a.link:active,html:not(.watch-active-state) .subnavbar a.link:active,html:not(.watch-active-state) .toolbar a.link:active{opacity:.3;-webkit-transition-duration:0s;transition-duration:0s}.navbar a.link i+i,.navbar a.link i+span,.navbar a.link span+i,.navbar a.link span+span,.subnavbar a.link i+i,.subnavbar a.link i+span,.subnavbar a.link span+i,.subnavbar a.link span+span,.toolbar a.link i+i,.toolbar a.link i+span,.toolbar a.link span+i,.toolbar a.link span+span{margin-left:7px}.navbar a.icon-only,.subnavbar a.icon-only,.toolbar a.icon-only{min-width:44px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin:0}.navbar i.icon,.subnavbar i.icon,.toolbar i.icon{display:block}.navbar{left:0;top:0}.navbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .navbar:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .navbar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.navbar:after{backface-visibility:hidden}.navbar.no-border:after{display:none}.navbar .center{font-size:17px;font-weight:500;text-align:center;margin:0;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:44px;-webkit-flex-shrink:10;-ms-flex:0 10 auto;flex-shrink:10;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}html.ios-gt-8 .navbar .center{font-weight:600}.navbar .left,.navbar .right{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar .left a+a,.navbar .right a+a{margin-left:15px}.navbar .left{margin-right:10px}.navbar .right{margin-left:10px}.navbar .right:first-child{position:absolute;right:8px;height:100%}.popup .navbar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.subnavbar{height:44px;width:100%;position:absolute;left:0;top:100%;margin-top:-1px;z-index:20;box-sizing:border-box;padding:0 8px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.subnavbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .subnavbar:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .subnavbar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.subnavbar.no-border:after{display:none}.navbar.no-border .subnavbar{margin-top:0}.navbar-on-left .subnavbar,.navbar-on-right .subnavbar{pointer-events:none}.navbar .subnavbar,.page .subnavbar{position:absolute}.page>.subnavbar{top:0;margin-top:0}.subnavbar>.buttons-row{width:100%}.subnavbar .searchbar,.subnavbar.searchbar{position:absolute}.subnavbar .searchbar,.subnavbar.searchbar{position:absolute}.subnavbar .searchbar{left:0;top:0}.toolbar{left:0;bottom:0}.toolbar:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .toolbar:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .toolbar:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.toolbar.no-border:before{display:none}.toolbar a{-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tabbar{color:#929292;z-index:5001}.tabbar a{color:#929292}.tabbar a.active{color:#007aff}.tabbar a.link{line-height:1.4}.tabbar a.link,.tabbar a.tab-link{height:100%;width:100%;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;overflow:visible;-webkit-box-flex:1;-ms-flex:1;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.tabbar i.icon{height:30px}.tabbar-labels{height:50px}.tabbar-labels a.link,.tabbar-labels a.tab-link{padding-top:4px;padding-bottom:4px;height:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.tabbar-labels a.link i+span,.tabbar-labels a.tab-link i+span{margin:0}.tabbar-labels span.tabbar-label{line-height:1;display:block;margin:0;letter-spacing:.01em;font-size:10px;position:relative;text-overflow:ellipsis;white-space:nowrap}.navbar input[type=text],.navbar input[type=password],.navbar input[type=search],.navbar input[type=email],.navbar input[type=tel],.navbar input[type=url],.subnavbar input[type=text],.subnavbar input[type=password],.subnavbar input[type=search],.subnavbar input[type=email],.subnavbar input[type=tel],.subnavbar input[type=url]{box-sizing:border-box;width:100%;height:28px;display:block;border:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-radius:5px;font-family:inherit;color:#000;font-size:14px;font-weight:400;padding:0 8px;background-color:#fff}@media all and (min-width:768px){.tabbar .toolbar-inner{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.tabbar a.link,.tabbar a.tab-link{width:auto;min-width:105px}.tabbar-labels{height:56px}.tabbar-labels span.tabbar-label{font-size:14px}}.navbar-from-right-to-center .center,.navbar-from-right-to-center .fading,.navbar-from-right-to-center .left,.navbar-from-right-to-center .right,.navbar-from-right-to-center .subnavbar{-webkit-animation:navbarElementFadeIn .4s forwards;animation:navbarElementFadeIn .4s forwards}.navbar-from-right-to-center .sliding{opacity:1}.navbar-from-center-to-right .center,.navbar-from-center-to-right .fading,.navbar-from-center-to-right .left,.navbar-from-center-to-right .right,.navbar-from-center-to-right .subnavbar{-webkit-animation:navbarElementFadeOut .4s forwards;animation:navbarElementFadeOut .4s forwards}.navbar-from-center-to-right .sliding{opacity:0}.navbar-from-center-to-right .subnavbar.sliding{opacity:1}@-webkit-keyframes navbarElementFadeIn{from{opacity:0}to{opacity:1}}@keyframes navbarElementFadeIn{from{opacity:0}to{opacity:1}}.navbar-from-center-to-left .center,.navbar-from-center-to-left .fading,.navbar-from-center-to-left .left,.navbar-from-center-to-left .right,.navbar-from-center-to-left .subnavbar{-webkit-animation:navbarElementFadeOut .4s forwards;animation:navbarElementFadeOut .4s forwards}.navbar-from-center-to-left .sliding{opacity:0}.navbar-from-center-to-left .subnavbar.sliding{opacity:1}.navbar-from-left-to-center .center,.navbar-from-left-to-center .fading,.navbar-from-left-to-center .left,.navbar-from-left-to-center .right,.navbar-from-left-to-center .subnavbar{-webkit-animation:navbarElementFadeIn .4s forwards;animation:navbarElementFadeIn .4s forwards}.navbar-from-left-to-center .sliding{opacity:1}.navbar-on-left .center,.navbar-on-left .fading,.navbar-on-left .left,.navbar-on-left .right,.navbar-on-left .subnavbar{opacity:0}.navbar-on-left .sliding{opacity:0}.navbar-on-left .subnavbar.sliding{opacity:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.navbar-on-right .center,.navbar-on-right .fading,.navbar-on-right .left,.navbar-on-right .right,.navbar-on-right .subnavbar{opacity:0}.navbar-on-right .sliding{opacity:0}.navbar-on-right .subnavbar.sliding{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}@-webkit-keyframes navbarElementFadeOut{from{opacity:1}to{opacity:0}}@keyframes navbarElementFadeOut{from{opacity:1}to{opacity:0}}.navbar-from-center-to-left .left.sliding .back.link .icon,.navbar-from-center-to-right .left.sliding .back.link .icon,.navbar-from-left-to-center .left.sliding .back.link .icon,.navbar-from-right-to-center .left.sliding .back.link .icon{-webkit-transition-duration:.4s;transition-duration:.4s}.navbar-from-center-to-left .sliding,.navbar-from-center-to-right .sliding,.navbar-from-left-to-center .sliding,.navbar-from-right-to-center .sliding{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-animation:none;animation:none}.page>.navbar,.page>.toolbar,.view>.navbar,.view>.toolbar,.views>.navbar,.views>.toolbar{position:absolute}.subnavbar~.page-content{padding-top:44px}.navbar-fixed .page-content,.navbar-through .page-content{padding-top:44px}.navbar-fixed .page-content.with-subnavbar,.navbar-fixed .subnavbar~.page-content,.navbar-fixed .with-subnavbar .page-content,.navbar-through .page-content.with-subnavbar,.navbar-through .subnavbar~.page-content,.navbar-through .with-subnavbar .page-content{padding-top:88px}.navbar-fixed .page .subnavbar,.navbar-fixed.page .subnavbar,.navbar-through .page .subnavbar,.navbar-through.page .subnavbar{top:44px}.tabbar-fixed .page-content,.tabbar-through .page-content,.toolbar-fixed .page-content,.toolbar-through .page-content{padding-bottom:44px}.tabbar-labels-fixed .page-content,.tabbar-labels-through .page-content{padding-bottom:50px}@media all and (min-width:768px){.tabbar-labels-fixed .page-content,.tabbar-labels-through .page-content{padding-bottom:56px}}.navbar.navbar-hiding{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar.navbar-hiding~.page .list-group-title,.navbar.navbar-hiding~.page-content .list-group-title,.navbar.navbar-hiding~.pages .list-group-title{-webkit-transition-duration:.4s;transition-duration:.4s}.navbar.navbar-hiding~.page .subnavbar,.navbar.navbar-hiding~.page-content .subnavbar,.navbar.navbar-hiding~.pages .subnavbar{-webkit-transition-duration:.4s;transition-duration:.4s}.navbar.navbar-hidden{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.navbar.navbar-hidden~.page .list-group-title,.navbar.navbar-hidden~.page-content .list-group-title,.navbar.navbar-hidden~.pages .list-group-title{-webkit-transition-duration:.4s;transition-duration:.4s;top:-44px}.navbar.navbar-hidden~.page .subnavbar,.navbar.navbar-hidden~.page-content .subnavbar,.navbar.navbar-hidden~.pages .subnavbar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);-webkit-transition-duration:.4s;transition-duration:.4s}.page.no-navbar .page-content{padding-top:0}.page.no-navbar .page-content.with-subnavbar,.page.no-navbar.with-subnavbar .page-content,.with-subnavbar .page.no-navbar .page-content{padding-top:44px}.tabbar.tabbar-hiding,.tabbar.toolbar-hiding,.toolbar.tabbar-hiding,.toolbar.toolbar-hiding{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.tabbar.tabbar-hidden,.tabbar.toolbar-hidden,.toolbar.tabbar-hidden,.toolbar.toolbar-hidden{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.page.no-tabbar .page-content,.page.no-toolbar .page-content{padding-bottom:0}.searchbar{height:44px;width:100%;background:#c9c9ce;box-sizing:border-box;padding:0 8px;overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.searchbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#b4b4b4;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .searchbar:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .searchbar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.searchbar .searchbar-input{width:100%;height:28px;position:relative;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1}.searchbar input[type=search]{box-sizing:border-box;width:100%;height:28px;display:block;border:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-radius:5px;font-family:inherit;color:#000;font-size:14px;font-weight:400;padding:0 8px;background-color:#fff;padding:0 28px;height:100%;background-repeat:no-repeat;background-position:8px center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2013'%20enable-background%3D'new%200%200%2013%2013'%3E%3Cg%3E%3Cpath%20fill%3D'%23939398'%20d%3D'M5%2C1c2.2%2C0%2C4%2C1.8%2C4%2C4S7.2%2C9%2C5%2C9S1%2C7.2%2C1%2C5S2.8%2C1%2C5%2C1%20M5%2C0C2.2%2C0%2C0%2C2.2%2C0%2C5s2.2%2C5%2C5%2C5s5-2.2%2C5-5S7.8%2C0%2C5%2C0%20L5%2C0z'%2F%3E%3C%2Fg%3E%3Cline%20stroke%3D'%23939398'%20stroke-miterlimit%3D'10'%20x1%3D'12.6'%20y1%3D'12.6'%20x2%3D'8.2'%20y2%3D'8.2'%2F%3E%3C%2Fsvg%3E");-webkit-background-size:13px 13px;background-size:13px 13px}.searchbar input[type=search]::-webkit-input-placeholder{color:#939398;opacity:1}.searchbar input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.searchbar .searchbar-clear{position:absolute;width:28px;height:28px;right:0;top:0;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'14'%20cy%3D'14'%20r%3D'14'%20fill%3D'%238e8e93'%2F%3E%3Cline%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'8'%20y1%3D'8'%20x2%3D'20'%20y2%3D'20'%2F%3E%3Cline%20fill%3D'none'%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'20'%20y1%3D'8'%20x2%3D'8'%20y2%3D'20'%2F%3E%3C%2Fsvg%3E");-webkit-background-size:14px 14px;background-size:14px 14px;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.searchbar .searchbar-cancel{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);font-size:17px;cursor:pointer;opacity:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;margin-left:0;pointer-events:none;display:none}.searchbar.searchbar-active .searchbar-cancel{margin-left:8px;opacity:1;pointer-events:auto}.searchbar.searchbar-active .searchbar-cancel.active-state,html:not(.watch-active-state) .searchbar.searchbar-active .searchbar-cancel:active{opacity:.3;-webkit-transition-duration:0s;transition-duration:0s}.searchbar.searchbar-not-empty .searchbar-clear{pointer-events:auto;opacity:1}.searchbar-overlay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;opacity:0;pointer-events:none;background:rgba(0,0,0,.4);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.searchbar-overlay.searchbar-overlay-active{opacity:1;pointer-events:auto}.searchbar-not-found{display:none}.hidden-by-searchbar,.list-block .hidden-by-searchbar,.list-block li.hidden-by-searchbar{display:none}.page>.searchbar{position:absolute;width:100%;left:0;top:0;z-index:200}.page>.searchbar~.page-content{padding-top:44px}.navbar-fixed .page>.searchbar,.navbar-fixed>.searchbar,.navbar-through .page>.searchbar,.navbar-through>.searchbar{top:44px}.navbar-fixed .page>.searchbar~.page-content,.navbar-fixed>.searchbar~.page-content,.navbar-through .page>.searchbar~.page-content,.navbar-through>.searchbar~.page-content{padding-top:88px}.messagebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:0s;transition-duration:0s;background:#fff}.messagebar:before{display:none}.messagebar textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #c8c8cd;background:#fff;border-radius:17px;box-shadow:none;display:block;padding:6px 15px;margin:0;width:100%;height:34px;color:#000;font-size:17px;line-height:20px;font-family:inherit;resize:none;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1}.messagebar .link{-ms-flex-item-align:flex-end;-webkit-align-self:flex-end;align-self:flex-end}.messagebar .link.icon-only:first-child{margin-left:-6px}.messagebar .link:not(.icon-only)+textarea{margin-left:8px}.messagebar textarea+.link{margin-left:8px}.messagebar .link{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.messagebar~.page-content{padding-bottom:44px}.page.no-toolbar .messagebar~.page-content{padding-bottom:44px}.hidden-toolbar .messagebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:0s;transition-duration:0s}i.icon{display:inline-block;vertical-align:middle;background-size:100% auto;background-position:center;background-repeat:no-repeat;font-style:normal;position:relative}i.icon.icon-back{width:12px;height:20px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-forward{width:12px;height:20px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-bars{width:21px;height:14px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E")}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2ddpx){i.icon.icon-bars{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E");height:13px}}i.icon.icon-camera{width:25px;height:20px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20x%3D'0px'%20y%3D'0px'%20viewBox%3D'0%200%2025%2020'%3E%3Cpath%20fill%3D'%238C8D92'%20d%3D'M13.3%2C5.5c-2.7%2C0-5%2C2.2-5%2C5s2.2%2C5%2C5%2C5c2.7%2C0%2C5-2.2%2C5-5S16%2C5.5%2C13.3%2C5.5z'%2F%3E%3Cpath%20fill%3D'%238C8D92'%20d%3D'M22.8%2C1.8h-3.3c-0.2-1.3-1-1.8-2-1.8H8.1c-1%2C0-1.8%2C0.4-2%2C1.8H2.8C1.4%2C1.8%2C0%2C2.8%2C0%2C4.2v12.6%20c0%2C1.4%2C1.4%2C2.5%2C2.8%2C2.5h20c1.4%2C0%2C2.2-1.1%2C2.2-2.5V4.2C25%2C2.8%2C24.2%2C1.8%2C22.8%2C1.8z%20M3.5%2C6.4C2.6%2C6.4%2C2%2C5.8%2C2%2C5c0-0.8%2C0.7-1.5%2C1.5-1.5%20S5%2C4.1%2C5%2C5C5%2C5.8%2C4.3%2C6.4%2C3.5%2C6.4z%20M13.3%2C16.8c-3.5%2C0-6.3-2.7-6.3-6.2c0-3.3%2C2.5-6.2%2C5.7-6.2h1.2c3.2%2C0%2C5.7%2C2.9%2C5.7%2C6.2%20C19.6%2C14.1%2C16.7%2C16.8%2C13.3%2C16.8z'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-f7{width:29px;height:29px;background-image:url(../img/i-f7-ios.png);border-radius:6px}i.icon.icon-next,i.icon.icon-prev{width:15px;height:15px}i.icon.icon-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}i.icon.icon-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}i.icon.icon-plus{width:25px;height:25px;font-size:31px;line-height:20px;text-align:center;font-weight:100}.navbar .f7-icons,.navbar .framework7-icons,.toolbar .f7-icons,.toolbar .framework7-icons{font-size:22px}.tabbar .f7-icons,.tabbar .framework7-icons,.tabbar-labels .f7-icons,.tabbar-labels .framework7-icons{font-size:25px}.badge{font-size:13px;display:inline-block;color:#fff;background:#8e8e93;border-radius:20px;padding:0 6px;height:20px;line-height:20px;box-sizing:border-box;text-align:center}.item-after .badge{min-width:20px}.icon .badge{position:absolute;left:100%;margin-left:-10px;top:-2px;font-size:10px;line-height:16px;height:16px;border-radius:16px;padding:0 4px;min-width:16px;font-family:-apple-system,SF UI Text,Helvetica Neue,Helvetica,Arial,sans-serif}.chip{font-size:14px;font-weight:400;color:#fff;background:rgba(0,0,0,.37);display:inline-block;height:23px;line-height:23px;border-radius:5px;padding:0 6px;box-sizing:border-box;vertical-align:middle;display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin:2px 0}.chip-media{width:16px;height:16px;vertical-align:middle;border-radius:50%;text-align:center;line-height:16px;color:#fff;font-size:12px;box-sizing:border-box;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.chip-media img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:50%;display:block}.chip-media+.chip-label{margin-left:4px}.chip-media i.icon{font-size:16px;height:16px}.chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;min-width:0}.chip-delete{margin-right:-6px;width:23px;height:23px;text-align:center;line-height:23px;cursor:pointer;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'14'%20cy%3D'14'%20r%3D'14'%20fill%3D'%23fff'%2F%3E%3Cline%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'8'%20y1%3D'8'%20x2%3D'20'%20y2%3D'20'%2F%3E%3Cline%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'20'%20y1%3D'8'%20x2%3D'8'%20y2%3D'20'%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:center;-webkit-background-size:13px 13px;background-size:13px 13px;opacity:.7}.chip-delete.active-state,html:not(.watch-active-state) .chip-delete:active{opacity:1}.content-block{margin:35px 0;padding:0 15px;color:#6d6d72;box-sizing:border-box}.content-block.no-hairlines .content-block-inner:before,.content-block.no-hairlines ul:before,.content-block.no-hairlines:before{display:none}.content-block.no-hairlines .content-block-inner:after,.content-block.no-hairlines ul:after,.content-block.no-hairlines:after{display:none}.content-block-title{position:relative;overflow:hidden;margin:0;white-space:nowrap;text-overflow:ellipsis;font-size:14px;text-transform:uppercase;line-height:1;color:#6d6d72;margin:35px 15px 10px}.content-block-title+.card,.content-block-title+.content-block,.content-block-title+.list-block{margin-top:10px}.content-block-inner{background:#fff;padding:10px 15px;margin-left:-15px;width:100%;position:relative;color:#000}.content-block-inner:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .content-block-inner:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .content-block-inner:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.content-block-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .content-block-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .content-block-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.content-block.inset{margin-left:15px;margin-right:15px;border-radius:7px}.content-block.inset .content-block-inner{border-radius:7px}.content-block.inset .content-block-inner:before{display:none}.content-block.inset .content-block-inner:after{display:none}@media all and (min-width:768px){.content-block.tablet-inset{margin-left:15px;margin-right:15px;border-radius:7px}.content-block.tablet-inset .content-block-inner{border-radius:7px}.content-block.tablet-inset .content-block-inner:before{display:none}.content-block.tablet-inset .content-block-inner:after{display:none}}.list-block{margin:35px 0;font-size:17px}.list-block ul{background:#fff;list-style:none;padding:0;margin:0;position:relative}.list-block ul:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .list-block ul:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block ul:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block ul:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block ul:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block ul:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block ul ul{padding-left:45px}.list-block ul ul:before{display:none}.list-block ul ul:after{display:none}.list-block .align-top,.list-block .align-top .item-content,.list-block .align-top .item-inner{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.list-block.inset{margin-left:15px;margin-right:15px;border-radius:7px}.list-block.inset .content-block-title{margin-left:0;margin-right:0}.list-block.inset ul{border-radius:7px}.list-block.inset ul:before{display:none}.list-block.inset ul:after{display:none}.list-block.inset li:first-child>a{border-radius:7px 7px 0 0}.list-block.inset li:last-child>a{border-radius:0 0 7px 7px}.list-block.inset li:first-child:last-child>a{border-radius:7px}@media all and (min-width:768px){.list-block.tablet-inset{margin-left:15px;margin-right:15px;border-radius:7px}.list-block.tablet-inset .content-block-title{margin-left:0;margin-right:0}.list-block.tablet-inset ul{border-radius:7px}.list-block.tablet-inset ul:before{display:none}.list-block.tablet-inset ul:after{display:none}.list-block.tablet-inset li:first-child>a{border-radius:7px 7px 0 0}.list-block.tablet-inset li:last-child>a{border-radius:0 0 7px 7px}.list-block.tablet-inset li:first-child:last-child>a{border-radius:7px}.list-block.tablet-inset .content-block-title{margin-left:0;margin-right:0}.list-block.tablet-inset ul{border-radius:7px}.list-block.tablet-inset ul:before{display:none}.list-block.tablet-inset ul:after{display:none}.list-block.tablet-inset li:first-child>a{border-radius:7px 7px 0 0}.list-block.tablet-inset li:last-child>a{border-radius:0 0 7px 7px}.list-block.tablet-inset li:first-child:last-child>a{border-radius:7px}}.list-block li{box-sizing:border-box;position:relative}.list-block .item-media{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-wrap:nowrap;-ms-flex-wrap:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap;box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;padding-top:7px;padding-bottom:8px}.list-block .item-media i+i{margin-left:5px}.list-block .item-media i+img{margin-left:5px}.list-block .item-media+.item-inner{margin-left:15px}.list-block .item-inner{padding-right:15px;position:relative;width:100%;padding-top:8px;padding-bottom:7px;min-height:44px;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:1;-ms-flex:1;overflow:hidden;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.list-block .item-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block .item-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block .item-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block .item-title{-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;min-width:0;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;max-width:100%}.list-block .item-after{white-space:nowrap;color:#8e8e93;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;margin-left:5px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;max-height:28px}.list-block .autocomplete-opener .item-after,.list-block .smart-select .item-after{max-width:70%;overflow:hidden;text-overflow:ellipsis;position:relative;display:block}.list-block .item-link{-webkit-transition-duration:.3s;transition-duration:.3s;display:block;color:inherit}.list-block .item-link .item-inner{padding-right:35px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:10px 20px;background-repeat:no-repeat;background-position:95% center;background-position:-webkit-calc(100% - 15px) center;background-position:calc(100% - 15px) center}.list-block .item-link.active-state,html:not(.watch-active-state) .list-block .item-link:active{-webkit-transition-duration:0s;transition-duration:0s;background-color:#d9d9d9}.list-block .item-link.active-state .item-inner:after,html:not(.watch-active-state) .list-block .item-link:active .item-inner:after{background-color:transparent}.list-block .item-link.list-button{padding:0 15px;text-align:center;color:#007aff;display:block;line-height:43px}.list-block .item-link.list-button:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block .item-link.list-button:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block .item-link.list-button:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block .item-content{box-sizing:border-box;padding-left:15px;min-height:44px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.list-block .list-block-label{margin:10px 0 35px;padding:0 15px;font-size:14px;color:#8f8f94}.list-block .swipeout{overflow:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.list-block .swipeout.deleting{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block .swipeout.deleting .swipeout-content{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.list-block .swipeout.transitioning .swipeout-actions-left a,.list-block .swipeout.transitioning .swipeout-actions-right a,.list-block .swipeout.transitioning .swipeout-content,.list-block .swipeout.transitioning .swipeout-overswipe{-webkit-transition:.3s;transition:.3s}.list-block .swipeout-content{position:relative;z-index:10}.list-block .swipeout-overswipe{-webkit-transition:.2s left;transition:.2s left}.list-block .swipeout-actions-left,.list-block .swipeout-actions-right{position:absolute;top:0;height:100%;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.list-block .swipeout-actions-left a,.list-block .swipeout-actions-right a{padding:0 30px;color:#fff;background:#c7c7cc;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;position:relative;left:0}.list-block .swipeout-actions-left a:after,.list-block .swipeout-actions-right a:after{content:'';position:absolute;top:0;width:600%;height:100%;background:inherit;z-index:-1}.list-block .swipeout-actions-left a.swipeout-delete,.list-block .swipeout-actions-right a.swipeout-delete{background:#ff3b30}.list-block .swipeout-actions-right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.list-block .swipeout-actions-right a:after{left:100%;margin-left:-1px}.list-block .swipeout-actions-left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.list-block .swipeout-actions-left a:after{right:100%;margin-right:-1px}.list-block .item-subtitle{font-size:15px;position:relative;overflow:hidden;white-space:nowrap;max-width:100%;text-overflow:ellipsis}.list-block .item-text{font-size:15px;color:#8e8e93;line-height:21px;position:relative;overflow:hidden;height:42px;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.list-block li.media-item .item-title,.list-block.media-list .item-title{font-weight:500}html.ios-gt-8 .list-block li.media-item .item-title,html.ios-gt-8 .list-block.media-list .item-title{font-weight:600}.list-block li.media-item .item-inner,.list-block.media-list .item-inner{display:block;padding-top:10px;padding-bottom:9px;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.list-block li.media-item .item-link .item-inner,.list-block.media-list .item-link .item-inner{background:0 0;padding-right:15px}.list-block li.media-item .item-link .item-title-row,.list-block.media-list .item-link .item-title-row{padding-right:20px;background:no-repeat right center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:10px 20px}.list-block li.media-item .item-media,.list-block.media-list .item-media{padding-top:9px;padding-bottom:10px}.list-block li.media-item .item-media img,.list-block.media-list .item-media img{display:block}.list-block li.media-item .item-title-row,.list-block.media-list .item-title-row{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.list-block li.media-item .item-content>.item-after,.list-block.media-list .item-content>.item-after{margin-right:15px;margin-left:15px}.list-block .list-group ul:after,.list-block .list-group ul:before{z-index:25}.list-block .list-group+.list-group ul:before{display:none}.list-block .item-divider,.list-block .list-group-title{background:#F7F7F7;margin-top:-1px;padding:4px 15px;white-space:nowrap;position:relative;max-width:100%;text-overflow:ellipsis;overflow:hidden;color:#8e8e93;z-index:15}.list-block .item-divider:before,.list-block .list-group-title:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .list-block .item-divider:before,html.pixel-ratio-2 .list-block .list-group-title:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block .item-divider:before,html.pixel-ratio-3 .list-block .list-group-title:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block .list-group-title{position:relative;position:-webkit-sticky;position:-moz-sticky;position:sticky;top:0;z-index:20;margin-top:0}.list-block .list-group-title:before{display:none}.list-block .sortable-handler{position:absolute;right:0;top:0;bottom:1px;z-index:10;background-repeat:no-repeat;background-size:18px 12px;background-position:center;width:35px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2018%2012'%20fill%3D'%23c7c7cc'%3E%3Cpath%20d%3D'M0%2C2V0h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C7V5h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C12v-2h22v2H0z'%2F%3E%3C%2Fsvg%3E");opacity:0;visibility:hidden;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.list-block.sortable .item-inner{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block.sortable-opened .sortable-handler{visibility:visible;opacity:1}.list-block.sortable-opened .item-inner,.list-block.sortable-opened .item-link .item-inner{padding-right:35px}.list-block.sortable-opened .item-link .item-inner,.list-block.sortable-opened .item-link .item-title-row{background-image:none}.list-block.sortable-sorting li{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block li.sorting{z-index:50;background:rgba(255,255,255,.8);box-shadow:0 2px 8px rgba(0,0,0,.6);-webkit-transition-duration:0s;transition-duration:0s}.list-block li.sorting .item-inner:after{display:none}.list-block li:last-child .list-button:after{display:none}.list-block li:last-child .item-inner:after,.list-block li:last-child li:last-child .item-inner:after{display:none}.list-block li li:last-child .item-inner:after,.list-block li:last-child li .item-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c8c7cc;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block li li:last-child .item-inner:after,html.pixel-ratio-2 .list-block li:last-child li .item-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block li li:last-child .item-inner:after,html.pixel-ratio-3 .list-block li:last-child li .item-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block.no-hairlines .content-block-inner:before,.list-block.no-hairlines ul:before,.list-block.no-hairlines:before{display:none}.list-block.no-hairlines .content-block-inner:after,.list-block.no-hairlines ul:after,.list-block.no-hairlines:after{display:none}.list-block.no-hairlines-between .item-divider:after,.list-block.no-hairlines-between .item-inner:after,.list-block.no-hairlines-between .list-button:after,.list-block.no-hairlines-between .list-group-title:after{display:none}.contacts-content{background:#fff}.contacts-block{margin:0}.contacts-block .list-group-title{padding:0 15px;background:#f7f7f7;color:#000;font-weight:500;line-height:22px;height:22px}html.ios-gt-8 .contacts-block .list-group-title{font-weight:600}.contacts-block .list-group:first-child ul:before{display:none}.contacts-block .list-group:last-child ul:after{display:none}.list-block input[type=time],.list-block input[type=number],.list-block input[type=text],.list-block input[type=password],.list-block input[type=search],.list-block input[type=email],.list-block input[type=tel],.list-block input[type=url],.list-block input[type=date],.list-block input[type=datetime-local],.list-block select,.list-block textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;box-sizing:border-box;border:none;background:0 0;border-radius:0;box-shadow:none;display:block;padding:0;margin:0;width:100%;height:43px;color:#000;font-size:17px;font-family:inherit}.list-block .item-title.label{vertical-align:top}.list-block .item-title.label+.item-input{margin-left:5px}.list-block input[type=date],.list-block input[type=datetime-local]{line-height:44px}.list-block select{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}.list-block textarea{height:100px;resize:none;line-height:1.4;padding-top:8px;padding-bottom:7px}.list-block textarea.resizable{height:43px}.list-block .item-input{width:100%;margin-top:-8px;margin-bottom:-7px;-webkit-box-flex:1;-ms-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1}.list-block .item-title.label{width:35%;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.label-switch{display:inline-block;vertical-align:middle;width:52px;border-radius:16px;box-sizing:border-box;height:32px;position:relative;cursor:pointer;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.label-switch .checkbox{width:52px;border-radius:16px;box-sizing:border-box;height:32px;background:#e5e5e5;z-index:0;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;cursor:pointer;position:relative;-webkit-transition-duration:.3s;transition-duration:.3s}.label-switch .checkbox:before{content:' ';position:absolute;left:2px;top:2px;width:48px;border-radius:16px;box-sizing:border-box;height:28px;background:#fff;z-index:1;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:scale(1);transform:scale(1)}.label-switch .checkbox:after{content:' ';height:28px;width:28px;border-radius:28px;background:#fff;position:absolute;z-index:2;top:2px;left:2px;box-shadow:0 2px 5px rgba(0,0,0,.4);-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.3s;transition-duration:.3s}.label-switch input[type=checkbox]{display:none}.label-switch input[type=checkbox]:checked+.checkbox{background:#4cd964}.label-switch input[type=checkbox]:checked+.checkbox:before{-webkit-transform:scale(0);transform:scale(0)}.label-switch input[type=checkbox]:checked+.checkbox:after{-webkit-transform:translateX(20px);transform:translateX(20px)}html.android .label-switch input[type=checkbox]+.checkbox{-webkit-transition-duration:0;transition-duration:0}html.android .label-switch input[type=checkbox]+.checkbox:after,html.android .label-switch input[type=checkbox]+.checkbox:before{-webkit-transition-duration:0;transition-duration:0}.button{border:1px solid #007aff;color:#007aff;text-decoration:none;text-align:center;display:block;border-radius:5px;line-height:27px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:0 0;padding:0 10px;margin:0;height:29px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-family:inherit;cursor:pointer;outline:0}input[type=submit].button,input[type=button].button{width:100%}.button.active-state,html:not(.watch-active-state) .button:active{background:rgba(0,122,255,.15)}.button.button-round{border-radius:27px}.button.active{background:#007aff;color:#fff}.button.button-big{font-size:17px;height:44px;line-height:42px}.button.button-fill{color:#fff;background:#007aff;border-color:transparent}.button.button-fill.active-state,html:not(.watch-active-state) .button.button-fill:active{opacity:.8}.button i.icon:first-child{margin-right:10px}.button i.icon:last-child{margin-left:10px}.button i.icon:first-child:last-child{margin-left:0;margin-right:0}.buttons-row{-ms-flex-item-align:center;-webkit-align-self:center;align-self:center;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-wrap:nowrap;-ms-flex-wrap:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.buttons-row .button{border-radius:0;border-left-width:0;width:100%;-webkit-box-flex:1;-ms-flex:1}.buttons-row .button:first-child{border-radius:5px 0 0 5px;border-left-width:1px;border-left-style:solid}.buttons-row .button:last-child{border-radius:0 5px 5px 0}.buttons-row .button:first-child:last-child{border-radius:5px}.buttons-row .button.button-round:first-child{border-radius:27px 0 0 27px}.buttons-row .button.button-round:last-child{border-radius:0 27px 27px 0}.range-slider{width:100%;position:relative;overflow:hidden;padding-left:3px;padding-right:3px;margin-left:-1px;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.range-slider input[type=range]{position:relative;height:28px;width:100%;margin:4px 0 5px 0;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0,#b7b8b7),color-stop(100%,#b7b8b7));background:linear-gradient(to right,#b7b8b7 0,#b7b8b7 100%);background-position:center;background-size:100% 2px;background-repeat:no-repeat;outline:0;border:none;box-sizing:content-box;-ms-background-position-y:500px}.range-slider input[type=range]:active,.range-slider input[type=range]:focus{border:0;outline:0}.range-slider input[type=range]:after{height:2px;background:#fff;content:' ';width:5px;top:50%;margin-top:-1px;left:-5px;z-index:1;position:absolute}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;height:28px;width:28px;position:relative;background:0 0}.range-slider input[type=range]::-webkit-slider-thumb:after{height:28px;width:28px;border-radius:28px;background:#fff;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.4);border:0;outline:0;position:absolute;box-sizing:border-box;content:' ';left:0;top:0}.range-slider input[type=range]::-webkit-slider-thumb:before{position:absolute;top:50%;right:100%;width:2000px;height:2px;margin-top:-1px;z-index:1;background:#007aff;content:' '}.range-slider input[type=range]::-moz-range-track{width:100%;height:2px;background:#b7b8b7;border:none;outline:0}.range-slider input[type=range]::-moz-range-thumb{height:28px;width:28px;border-radius:28px;background:#fff;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.4);border:0;outline:0;position:absolute;box-sizing:border-box;content:' '}.range-slider input[type=range]::-ms-track{width:100%;height:2px;cursor:pointer;background:0 0;border-color:transparent;color:transparent}.range-slider input[type=range]::-ms-thumb{height:28px;width:28px;border-radius:28px;background:#fff;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.4);border:0;outline:0;position:absolute;content:' ';box-shadow:none;border:1px solid rgba(0,0,0,.2);box-sizing:border-box;margin-top:0;top:50%}.range-slider input[type=range]::-ms-fill-lower{background:#007aff}.range-slider input[type=range]::-ms-fill-upper{background:#b7b8b7}label.label-checkbox{cursor:pointer}label.label-checkbox i.icon-form-checkbox{width:22px;height:22px;position:relative;border-radius:22px;border:1px solid #c7c7cc;box-sizing:border-box}label.label-checkbox i.icon-form-checkbox:after{content:' ';position:absolute;left:50%;margin-left:-6px;top:50%;margin-top:-4px;width:12px;height:9px}label.label-checkbox input[type=checkbox],label.label-checkbox input[type=radio]{display:none}label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox{border:none;background-color:#007aff}label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox:after,label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox:after{background:no-repeat center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20x%3D'0px'%20y%3D'0px'%20viewBox%3D'0%200%2012%209'%20xml%3Aspace%3D'preserve'%3E%3Cpolygon%20fill%3D'%23ffffff'%20points%3D'12%2C0.7%2011.3%2C0%203.9%2C7.4%200.7%2C4.2%200%2C4.9%203.9%2C8.8%203.9%2C8.8%203.9%2C8.8%20'%2F%3E%3C%2Fsvg%3E");-webkit-background-size:12px 9px;background-size:12px 9px}label.label-radio{cursor:pointer}label.label-radio input[type=checkbox],label.label-radio input[type=radio]{display:none}label.label-radio input[type=checkbox]~.item-inner,label.label-radio input[type=radio]~.item-inner{padding-right:35px}label.label-radio input[type=checkbox]:checked~.item-inner,label.label-radio input[type=radio]:checked~.item-inner{background:no-repeat center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23007aff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E");background-position:90% center;background-position:-webkit-calc(100% - 15px) center;background-position:calc(100% - 15px) center;-webkit-background-size:13px 10px;background-size:13px 10px}label.label-checkbox,label.label-radio{-webkit-transition-duration:.3s;transition-duration:.3s}html:not(.watch-active-state) label.label-checkbox:active,html:not(.watch-active-state) label.label-radio:active,label.label-checkbox.active-state,label.label-radio.active-state{-webkit-transition-duration:0s;transition-duration:0s;background-color:#d9d9d9}html:not(.watch-active-state) label.label-checkbox:active .item-inner:after,html:not(.watch-active-state) label.label-radio:active .item-inner:after,label.label-checkbox.active-state .item-inner:after,label.label-radio.active-state .item-inner:after{background-color:transparent}.smart-select select{display:none}.floating-button{position:absolute;right:15px;bottom:15px;width:50px;height:50px;border-radius:50%;z-index:1500;background-color:#007aff;color:#fff;overflow:hidden;-webkit-transition-duration:.3s;transition-duration:.3s;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.floating-button.active-state,html:not(.watch-active-state) .floating-button:active{-webkit-transition-duration:0s;transition-duration:0s;background:#0066d6}.toolbar-fixed .floating-button,.toolbar-through .floating-button{bottom:59px}.tabbar-labels-fixed .floating-button,.tabbar-labels-through .floating-button{bottom:65px}@media (min-width:768px){.tabbar-labels-fixed .floating-button,.tabbar-labels-through .floating-button{bottom:71px}}.floating-button-toolbar,.speed-dial{position:absolute;right:15px;bottom:15px;z-index:1500}.toolbar-fixed .floating-button-toolbar,.toolbar-fixed .speed-dial,.toolbar-through .floating-button-toolbar,.toolbar-through .speed-dial{bottom:59px}.tabbar-labels-fixed .floating-button-toolbar,.tabbar-labels-fixed .speed-dial,.tabbar-labels-through .floating-button-toolbar,.tabbar-labels-through .speed-dial{bottom:65px}@media (min-width:768px){.tabbar-labels-fixed .floating-button-toolbar,.tabbar-labels-fixed .speed-dial,.tabbar-labels-through .floating-button-toolbar,.tabbar-labels-through .speed-dial{bottom:71px}}.floating-button-toolbar .floating-button,.speed-dial .floating-button{right:0;bottom:0;position:relative}.speed-dial .floating-button i{position:absolute;left:50%;top:50%;-webkit-transform:translate3d(-50%,-50%,0) rotate(0) scale(1);transform:translate3d(-50%,-50%,0) rotate(0) scale(1);-webkit-transition-duration:.3s;transition-duration:.3s}.speed-dial .floating-button i+i{-webkit-transform:translate3d(-50%,-50%,0) rotate(-90deg) scale(.5);transform:translate3d(-50%,-50%,0) rotate(-90deg) scale(.5);opacity:0}.speed-dial.speed-dial-opened .floating-button i{-webkit-transform:translate3d(-50%,-50%,0) rotate(90deg) scale(.5);transform:translate3d(-50%,-50%,0) rotate(90deg) scale(.5);opacity:0}.speed-dial.speed-dial-opened .floating-button i+i{-webkit-transform:translate3d(-50%,-50%,0) rotate(0) scale(1);transform:translate3d(-50%,-50%,0) rotate(0) scale(1);opacity:1}.speed-dial-buttons{position:absolute;width:40px;left:50%;margin-left:-20px;bottom:100%;margin-bottom:16px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-moz-box-orient:vertical;-moz-box-direction:reverse;-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;visibility:hidden;pointer-events:none}.speed-dial-buttons a{width:40px;height:40px;opacity:0;color:#fff;border-radius:50%;position:relative;z-index:1;overflow:hidden;background-color:#007aff;-webkit-transition-duration:.3s;transition-duration:.3s;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transform:translate3d(0,8px,0) scale(.3);transform:translate3d(0,8px,0) scale(.3);-webkit-transform-origin:center bottom;transform-origin:center bottom}.speed-dial-buttons a+a{margin-bottom:16px}.speed-dial-buttons a.active-state,html:not(.watch-active-state) .speed-dial-buttons a:active{-webkit-transition-duration:0s;transition-duration:0s;background:#0066d6}.speed-dial-opened .speed-dial-buttons{visibility:visible;pointer-events:auto}.speed-dial-opened .speed-dial-buttons a{opacity:1;-webkit-transform:translate3d(0,0,0) scaleY(1);transform:translate3d(0,0,0) scaleY(1)}.speed-dial-opened .speed-dial-buttons a:nth-child(2){-webkit-transition-delay:50ms;transition-delay:50ms}.speed-dial-opened .speed-dial-buttons a:nth-child(3){-webkit-transition-delay:.1s;transition-delay:.1s}.speed-dial-opened .speed-dial-buttons a:nth-child(4){-webkit-transition-delay:150ms;transition-delay:150ms}.speed-dial-opened .speed-dial-buttons a:nth-child(5){-webkit-transition-delay:.2s;transition-delay:.2s}.speed-dial-opened .speed-dial-buttons a:nth-child(6){-webkit-transition-delay:250ms;transition-delay:250ms}.floating-button-to-popover.floating-button-to-popover{-webkit-transition-duration:.3s;transition-duration:.3s}.floating-button-to-popover.floating-button-to-popover-in{-webkit-transition-duration:.1s;transition-duration:.1s}.floating-button-to-popover.floating-button-to-popover-in i{opacity:0;-webkit-transition-duration:.1s;transition-duration:.1s}.floating-button-to-popover.floating-button-to-popover-scale{border-radius:0;-webkit-transition-duration:.3s;transition-duration:.3s;box-shadow:none}.floating-button-to-popover.floating-button-to-popover-out{-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:.3s;transition-duration:.3s}.floating-button-to-popover.floating-button-to-popover-out i{opacity:1;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-delay:.2s;transition-delay:.2s}.list-block .accordion-item-toggle{cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.list-block .accordion-item-toggle .item-inner{padding-right:35px;background:no-repeat -webkit-calc(100% - 15px) center;background:no-repeat calc(100% - 15px) center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:10px 20px}.list-block .accordion-item-toggle.active-state,html:not(.watch-active-state) .list-block .accordion-item-toggle:active{-webkit-transition-duration:0s;transition-duration:0s;background-color:#d9d9d9}.list-block .accordion-item-toggle.active-state>.item-inner:after,html:not(.watch-active-state) .list-block .accordion-item-toggle:active>.item-inner:after{background-color:transparent}.list-block .accordion-item-toggle .item-inner,.list-block .accordion-item>.item-link .item-inner{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color;transition-property:background-color}.list-block .accordion-item-toggle .item-inner:after,.list-block .accordion-item>.item-link .item-inner:after{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row,.list-block .accordion-item-expanded.media-item>.item-link .item-title-row,.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row,.list-block.media-list .accordion-item-expanded>.item-link .item-title-row,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item)>.item-link .item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(115%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:20px 20px}.list-block .accordion-item-expanded .accordion-item-toggle .item-inner:after,.list-block .accordion-item-expanded>.item-link .item-inner:after{background-color:transparent}.list-block .accordion-item .content-block,.list-block .accordion-item .list-block{margin-top:0;margin-bottom:0}.list-block .accordion-item ul{padding-left:0}.accordion-item-content{position:relative;overflow:hidden;height:0;font-size:14px;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.accordion-item-expanded>.accordion-item-content{height:auto}html.android-4 .accordion-item-content{-webkit-transform:none;transform:none}.card .list-block ul,.cards-list ul{background:0 0}.card .list-block>ul:before,.cards-list>ul:before{display:none}.card .list-block>ul:after,.cards-list>ul:after{display:none}.card{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);margin:10px;position:relative;border-radius:2px;font-size:14px}.card .content-block,.card .list-block{margin:0}.row:not(.no-gutter) .col>.card{margin-left:0;margin-right:0}.card-content{position:relative}.card-content-inner{padding:15px;position:relative}.card-content-inner>p:first-child{margin-top:0}.card-content-inner>p:last-child{margin-bottom:0}.card-content-inner>.content-block,.card-content-inner>.list-block{margin:-15px}.card-footer,.card-header{min-height:44px;position:relative;padding:10px 15px;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.card-footer[valign=top],.card-header[valign=top]{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.card-footer[valign=bottom],.card-header[valign=bottom]{-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.card-footer a.link,.card-header a.link{line-height:44px;height:44px;text-decoration:none;position:relative;margin-top:-10px;margin-bottom:-10px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-transition-duration:.3s;transition-duration:.3s}.card-footer a.link.active-state,.card-header a.link.active-state,html:not(.watch-active-state) .card-footer a.link:active,html:not(.watch-active-state) .card-header a.link:active{opacity:.3;-webkit-transition-duration:0s;transition-duration:0s}.card-footer a.link i+i,.card-footer a.link i+span,.card-footer a.link span+i,.card-footer a.link span+span,.card-header a.link i+i,.card-header a.link i+span,.card-header a.link span+i,.card-header a.link span+span{margin-left:7px}.card-footer a.link i.icon,.card-header a.link i.icon{display:block}.card-footer a.icon-only,.card-header a.icon-only{min-width:44px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin:0}.card-header{border-radius:2px 2px 0 0;font-size:17px}.card-header:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#e1e1e1;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .card-header:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .card-header:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.card-header.no-border:after{display:none}.card-footer{border-radius:0 0 2px 2px;color:#6d6d72}.card-footer:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#e1e1e1;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .card-footer:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .card-footer:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.card-footer.no-border:before{display:none}.modal-overlay,.popup-overlay,.preloader-indicator-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:13000;visibility:hidden;opacity:0;-webkit-transition-duration:.4s;transition-duration:.4s}.modal-overlay.modal-overlay-visible,.popup-overlay.modal-overlay-visible,.preloader-indicator-overlay.modal-overlay-visible{visibility:visible;opacity:1}.popup-overlay{z-index:10500}.modal{width:270px;position:absolute;z-index:13500;left:50%;margin-left:-135px;margin-top:0;top:50%;text-align:center;border-radius:13px;overflow:hidden;opacity:0;-webkit-transform:translate3d(0,0,0) scale(1.185);transform:translate3d(0,0,0) scale(1.185);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-ms-transition-property:-ms-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;color:#000;display:none}.modal.modal-in{opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.modal.modal-out{opacity:0;z-index:13499;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.modal-inner{padding:15px;border-radius:13px 13px 0 0;position:relative;background:rgba(255,255,255,.95)}.modal-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.2);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .modal-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .modal-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.modal-title{font-weight:500;font-size:18px;text-align:center}html.ios-gt-8 .modal-title{font-weight:600}.modal-title+.modal-text{margin-top:5px}.modal-buttons{height:44px;position:relative;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.modal-buttons.modal-buttons-vertical{display:block;height:auto}.modal-button{width:100%;padding:0 5px;height:44px;font-size:17px;line-height:44px;text-align:center;color:#007aff;display:block;position:relative;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;background:rgba(255,255,255,.95)}.modal-button:after{content:'';position:absolute;right:0;top:0;left:auto;bottom:auto;width:1px;height:100%;background-color:rgba(0,0,0,.2);display:block;z-index:15;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}html.pixel-ratio-2 .modal-button:after{-webkit-transform:scaleX(.5);transform:scaleX(.5)}html.pixel-ratio-3 .modal-button:after{-webkit-transform:scaleX(.33);transform:scaleX(.33)}.modal-button:first-child{border-radius:0 0 0 13px}.modal-button:last-child{border-radius:0 0 13px 0}.modal-button:last-child:after{display:none}.modal-button:first-child:last-child{border-radius:0 0 13px 13px}.modal-button.modal-button-bold{font-weight:500}html.ios-gt-8 .modal-button.modal-button-bold{font-weight:600}.modal-button.active-state,html:not(.watch-active-state) .modal-button:active{background:rgba(230,230,230,.95)}.modal-buttons-vertical .modal-button{border-radius:0}.modal-buttons-vertical .modal-button:after{display:none}.modal-buttons-vertical .modal-button:before{display:none}.modal-buttons-vertical .modal-button:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.2);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .modal-buttons-vertical .modal-button:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .modal-buttons-vertical .modal-button:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.modal-buttons-vertical .modal-button:last-child{border-radius:0 0 13px 13px}.modal-buttons-vertical .modal-button:last-child:after{display:none}.modal-no-buttons .modal-inner{border-radius:13px}.modal-no-buttons .modal-inner:after{display:none}.modal-no-buttons .modal-buttons{display:none}.actions-modal{position:absolute;left:0;bottom:0;z-index:13500;width:100%;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);max-height:100%;overflow:auto;-webkit-overflow-scrolling:touch}@media (min-width:496px){.actions-modal{width:480px;left:50%;margin-left:-240px}}.actions-modal.modal-in{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.actions-modal.modal-out{z-index:13499;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.actions-modal-group{margin:8px;position:relative;border-radius:13px;overflow:hidden;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.actions-modal-button,.actions-modal-label{width:100%;text-align:center;font-weight:400;margin:0;background:rgba(255,255,255,.95);box-sizing:border-box;display:block;position:relative;overflow:hidden}.actions-modal-button:after,.actions-modal-label:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.2);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .actions-modal-button:after,html.pixel-ratio-2 .actions-modal-label:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .actions-modal-button:after,html.pixel-ratio-3 .actions-modal-label:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.actions-modal-button a,.actions-modal-label a{text-decoration:none;color:inherit;display:block}.actions-modal-button b,.actions-modal-label b{font-weight:500}html.ios-gt-8 .actions-modal-button b,html.ios-gt-8 .actions-modal-label b{font-weight:600}.actions-modal-button.actions-modal-button-bold,.actions-modal-label.actions-modal-button-bold{font-weight:500}html.ios-gt-8 .actions-modal-button.actions-modal-button-bold,html.ios-gt-8 .actions-modal-label.actions-modal-button-bold{font-weight:600}.actions-modal-button.actions-modal-button-red,.actions-modal-label.actions-modal-button-red{color:#ff3b30}.actions-modal-button:first-child,.actions-modal-label:first-child{border-radius:13px 13px 0 0}.actions-modal-button:last-child,.actions-modal-label:last-child{border-radius:0 0 13px 13px}.actions-modal-button:last-child:after,.actions-modal-label:last-child:after{display:none}.actions-modal-button:first-child:last-child,.actions-modal-label:first-child:last-child{border-radius:13px}.actions-modal-button.disabled,.actions-modal-label.disabled{opacity:.9;color:#8e8e93}.actions-modal-button{cursor:pointer;height:57px;line-height:57px;font-size:20px;color:#007aff;white-space:normal;text-overflow:ellipsis}.actions-modal-button.active-state,html:not(.watch-active-state) .actions-modal-button:active{background:rgba(230,230,230,.9)}.actions-modal-label{font-size:13px;line-height:1.3;min-height:57px;padding:8px 10px;color:#8a8a8a;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}@media (orientation:landscape){.actions-modal-label{min-height:44px}.actions-modal-button{height:44px;line-height:44px}}input.modal-text-input{box-sizing:border-box;height:26px;background:#fff;margin:0;margin-top:15px;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;width:100%;font-size:14px;font-family:inherit;display:block;box-shadow:0 0 0 transparent;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}input.modal-text-input+input.modal-text-input{margin-top:5px}.modal-input-double+.modal-input-double input.modal-text-input{border-top:0;margin-top:0}.popover{width:320px;background:rgba(255,255,255,.95);z-index:13500;margin:0;top:0;opacity:0;left:0;border-radius:13px;position:absolute;display:none;-webkit-transform:none;transform:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-ms-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.popover.modal-in{-webkit-transition-duration:.3s;transition-duration:.3s;opacity:1}.popover .list-block{margin:0}.popover .list-block ul{background:0 0}.popover .list-block:first-child ul{border-radius:13px 13px 0 0}.popover .list-block:first-child ul:before{display:none}.popover .list-block:first-child li:first-child a{border-radius:13px 13px 0 0}.popover .list-block:last-child ul{border-radius:0 0 13px 13px}.popover .list-block:last-child ul:after{display:none}.popover .list-block:last-child li:last-child a{border-radius:0 0 13px 13px}.popover .list-block:first-child:last-child li:first-child:last-child a,.popover .list-block:first-child:last-child ul:first-child:last-child{border-radius:13px}.popover .list-block+.list-block{margin-top:35px}.popover-angle{width:26px;height:26px;position:absolute;left:-26px;top:0;z-index:100;overflow:hidden}.popover-angle:after{content:' ';background:rgba(255,255,255,.95);width:26px;height:26px;position:absolute;left:0;top:0;border-radius:3px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.popover-angle.on-left{left:-26px}.popover-angle.on-left:after{left:19px;top:0}.popover-angle.on-right{left:100%}.popover-angle.on-right:after{left:-19px;top:0}.popover-angle.on-top{left:0;top:-26px}.popover-angle.on-top:after{left:0;top:19px}.popover-angle.on-bottom{left:0;top:100%}.popover-angle.on-bottom:after{left:0;top:-19px}.popover-inner{overflow:auto;-webkit-overflow-scrolling:touch}.actions-popover .list-block+.list-block{margin-top:20px}.actions-popover .list-block ul{background:#fff}.actions-popover-label{padding:8px 10px;color:#8a8a8a;font-size:13px;line-height:1.3;text-align:center;position:relative}.actions-popover-label:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.2);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .actions-popover-label:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .actions-popover-label:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.actions-popover-label:last-child:after{display:none}.login-screen,.popup{position:absolute;left:0;top:0;width:100%;height:100%;z-index:11000;background:#fff;box-sizing:border-box;display:none;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-ms-transition-property:-ms-transform;-o-transition-property:-o-transform;transition-property:transform;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.login-screen.modal-in,.login-screen.modal-out,.popup.modal-in,.popup.modal-out{-webkit-transition-duration:.4s;transition-duration:.4s}.login-screen.modal-in,.popup.modal-in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.login-screen.modal-out,.popup.modal-out{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.login-screen.modal-in,.login-screen.modal-out{display:block}@media all and (min-width:630px) and (min-height:630px){.popup:not(.tablet-fullscreen){width:630px;height:630px;left:50%;top:50%;margin-left:-315px;margin-top:-315px;-webkit-transform:translate3d(0,1024px,0);transform:translate3d(0,1024px,0)}.popup:not(.tablet-fullscreen).modal-in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.popup:not(.tablet-fullscreen).modal-out{-webkit-transform:translate3d(0,1024px,0);transform:translate3d(0,1024px,0)}}@media all and (max-width:629px),(max-height:629px){html.with-statusbar-overlay .popup{height:-webkit-calc(100% - 20px);height:calc(100% - 20px);top:20px}html.with-statusbar-overlay .popup-overlay{z-index:9500}}html.with-statusbar-overlay .login-screen,html.with-statusbar-overlay .popup.tablet-fullscreen{height:-webkit-calc(100% - 20px);height:calc(100% - 20px);top:20px}.modal .preloader{width:34px;height:34px}.preloader-indicator-overlay{visibility:visible;opacity:0;background:0 0}.preloader-indicator-modal{position:absolute;left:50%;top:50%;padding:8px;margin-left:-25px;margin-top:-25px;background:rgba(0,0,0,.8);z-index:13500;border-radius:5px}.preloader-indicator-modal .preloader{display:block;width:34px;height:34px}.picker-modal{position:absolute;left:0;bottom:0;width:100%;height:260px;z-index:12500;display:none;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-ms-transition-property:-ms-transform;-o-transition-property:-o-transform;transition-property:transform;background:#cfd5da;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.picker-modal.modal-in,.picker-modal.modal-out{-webkit-transition-duration:.4s;transition-duration:.4s}.picker-modal.modal-in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.picker-modal.modal-out{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.picker-modal .picker-modal-inner{height:100%;position:relative}.picker-modal .toolbar{position:relative;width:100%;background:#f7f7f8}.picker-modal .toolbar:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#929499;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .picker-modal .toolbar:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-modal .toolbar:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-modal .toolbar+.picker-modal-inner{height:-webkit-calc(100% - 44px);height:-moz-calc(100% - 44px);height:calc(100% - 44px)}.picker-modal.picker-modal-inline,.popover .picker-modal{display:block;position:relative;background:0 0;z-index:inherit;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.picker-modal.picker-modal-inline .toolbar:before,.popover .picker-modal .toolbar:before{display:none}.picker-modal.picker-modal-inline .toolbar:after,.popover .picker-modal .toolbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#929499;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-modal.picker-modal-inline .toolbar:after,html.pixel-ratio-2 .popover .picker-modal .toolbar:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-modal.picker-modal-inline .toolbar:after,html.pixel-ratio-3 .popover .picker-modal .toolbar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.popover .picker-modal{width:auto}.popover .picker-modal .toolbar{background:0 0}.picker-modal.smart-select-picker .page{background:#fff}.picker-modal.smart-select-picker .toolbar:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-modal.smart-select-picker .toolbar:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-modal.smart-select-picker .toolbar:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-modal.smart-select-picker .list-block{margin:0}.picker-modal.smart-select-picker .list-block ul:before{display:none}.picker-modal.smart-select-picker .list-block ul:after{display:none}.panel-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,0);opacity:0;z-index:5999;display:none}.panel{z-index:1000;display:none;background:#111;box-sizing:border-box;overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;width:260px;top:0;height:100%;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:.4s;transition-duration:.4s}.panel.panel-left.panel-cover{z-index:6000;left:-260px}.panel.panel-left.panel-reveal{left:0}.panel.panel-right.panel-cover{z-index:6000;right:-260px}.panel.panel-right.panel-reveal{right:0}body.with-panel-left-cover .views,body.with-panel-right-cover .views{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}body.with-panel-left-cover .panel-overlay,body.with-panel-right-cover .panel-overlay{display:block}body.with-panel-left-reveal .views,body.with-panel-right-reveal .views{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform}body.with-panel-left-reveal .panel-overlay,body.with-panel-right-reveal .panel-overlay{display:block}body.with-panel-left-reveal .views{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}body.with-panel-left-reveal .panel-overlay{margin-left:260px}body.with-panel-left-cover .panel-left{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}body.with-panel-right-reveal .views{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}body.with-panel-right-reveal .panel-overlay{margin-left:-260px}body.with-panel-right-cover .panel-right{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}body.panel-closing .views{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform}.lazy-loaded.lazy-fadeIn{-webkit-animation:lazyFadeIn .6s;animation:lazyFadeIn .6s}@-webkit-keyframes lazyFadeIn{from{opacity:0}to{opacity:1}}@keyframes lazyFadeIn{from{opacity:0}to{opacity:1}}.tabs .tab{display:none}.tabs .tab.active{display:block}.tabs-animated-wrap{position:relative;width:100%;overflow:hidden;height:100%}.tabs-animated-wrap>.tabs{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:100%;-webkit-transition-duration:.3s;transition-duration:.3s}.tabs-animated-wrap>.tabs>.tab{width:100%;display:block;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.tabs-swipeable-wrap{height:100%}.tabs-swipeable-wrap>.tabs>.tab{display:block}.messages-content{background:#fff}.messages{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.messages-date{text-align:center;font-weight:500;font-size:11px;line-height:1;margin:10px 15px;color:#8e8e93}html.ios-gt-8 .messages-date{font-weight:600}.messages-date span{font-weight:400}.message{box-sizing:border-box;margin:1px 10px 0;max-width:70%;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.message:first-child{margin-top:10px}.message .message-text{box-sizing:border-box;border-radius:16px;padding:6px 16px 9px;min-width:48px;min-height:35px;font-size:17px;line-height:1.2;word-break:break-word}.message .message-text img{max-width:100%;height:auto}.message.message-pic .message-text{padding:0;background:0 0}.message.message-pic img{display:block;border-radius:16px}.message-name{font-size:12px;line-height:1;color:#8e8e93;margin-bottom:2px;margin-top:7px}.message-hide-name .message-name{display:none}.message-label{font-size:12px;line-height:1;color:#8e8e93;margin-top:4px}.message-hide-label .message-label{display:none}.message-avatar{width:29px;height:29px;border-radius:100%;margin-top:-29px;position:relative;top:1px;background-size:cover;opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s}.message-hide-avatar .message-avatar{opacity:0}.message-date{font-size:12px;margin-top:4px;opacity:.8}.message-pic img+.message-date{margin-top:8px}.message-sent .message-date{text-align:right}.message-sent{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end;-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.message-sent .message-name{margin-right:16px}.message-sent .message-label{margin-right:6px}.message-sent.message-with-avatar .message-text{margin-right:29px}.message-sent.message-with-avatar .message-name{margin-right:45px}.message-sent.message-with-avatar .message-label{margin-right:34px}.message-sent .message-text{padding-right:22px;background-color:#00d449;color:#fff;margin-left:auto;-webkit-mask-box-image:url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%}.message-sent.message-last .message-text,.message-sent.message-with-tail .message-text{border-radius:16px 16px 0 16px;-webkit-mask-box-image:url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%}.message-sent.message-last.message-pic img,.message-sent.message-with-tail.message-pic img{border-radius:16px 16px 0 16px}.message-received{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.message-received .message-text{padding-left:22px;background-color:#e5e5ea;color:#000;-webkit-mask-box-image:url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%}.message-received .message-name{margin-left:16px}.message-received .message-label{margin-left:6px}.message-received.message-with-avatar .message-text{margin-left:29px}.message-received.message-with-avatar .message-name{margin-left:45px}.message-received.message-with-avatar .message-label{margin-left:34px}.message-received.message-last .message-text,.message-received.message-with-tail .message-text{border-radius:16px 16px 16px 0;-webkit-mask-box-image:url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%}.message-received.message-last.message-pic img,.message-received.message-with-tail.message-pic img{border-radius:16px 16px 16px 0}.message-last{margin-bottom:8px}.message-appear-from-bottom{-webkit-animation:messageAppearFromBottom .4s;animation:messageAppearFromBottom .4s}.message-appear-from-top{-webkit-animation:messageAppearFromTop .4s;animation:messageAppearFromTop .4s}.messages-auto-layout .message-label,.messages-auto-layout .message-name{display:none}.messages-auto-layout .message-avatar{opacity:0}.messages-auto-layout .message-first .message-name{display:block}.messages-auto-layout .message-last .message-avatar{opacity:1}.messages-auto-layout .message-last .message-label{display:block}html.retina.ios-6 .message,html.retina.ios-6 .message.message-pic img{-webkit-mask-box-image:none;border-radius:16px}@-webkit-keyframes messageAppearFromBottom{from{-webkit-transform:translate3d(0,100%,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes messageAppearFromBottom{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}@-webkit-keyframes messageAppearFromTop{from{-webkit-transform:translate3d(0,-100%,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes messageAppearFromTop{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,0,0)}}html.with-statusbar-overlay body{padding-top:20px;box-sizing:border-box}html.with-statusbar-overlay body .statusbar-overlay{display:block}html.with-statusbar-overlay body .panel{padding-top:20px}.statusbar-overlay{background:#f7f7f8;z-index:10000;position:absolute;left:0;top:0;height:20px;width:100%;display:none;-webkit-transition-duration:.4s;transition-duration:.4s}.preloader{display:inline-block;width:20px;height:20px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat;-webkit-animation:preloader-spin 1s steps(12,end) infinite;animation:preloader-spin 1s steps(12,end) infinite}@-webkit-keyframes preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes preloader-spin{100%{transform:rotate(360deg)}}.progressbar,.progressbar-infinite{height:2px;width:100%;overflow:hidden;position:relative;display:block;background:#b6b6b6;border-radius:2px;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.progressbar{vertical-align:middle}.progressbar span{width:100%;background:#007aff;height:100%;position:absolute;left:0;top:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition-duration:150ms;transition-duration:150ms}.progressbar-infinite:before{content:'';position:absolute;left:0;top:0;width:100%;height:100%;background:#007aff;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:progressbar-infinite 1s linear infinite;animation:progressbar-infinite 1s linear infinite}html.with-statusbar-overlay .framework7-root>.progressbar-infinite,html.with-statusbar-overlay body>.progressbar-infinite{top:20px}.progressbar-infinite.color-multi{background:0 0}.progressbar-infinite.color-multi:before{content:'';position:absolute;left:0;top:0;width:400%;height:100%;background-image:-webkit-linear-gradient(left,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55,#5856d6,#34aadc,#007aff,#5ac8fa,#4cd964);background-image:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55,#5856d6,#34aadc,#007aff,#5ac8fa,#4cd964);background-size:25% 100%;background-repeat:repeat-x;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-animation:progressbar-infinite-multicolor 3s linear infinite;animation:progressbar-infinite-multicolor 3s linear infinite}html.with-statusbar-overlay .framework7-root>.progressbar-infinite.color-multi,html.with-statusbar-overlay body>.progressbar-infinite.color-multi{top:20px}.framework7-root>.progressbar,.framework7-root>.progressbar-infinite,.page>.progressbar,.page>.progressbar-infinite,.panel>.progressbar,.panel>.progressbar-infinite,.popup>.progressbar,.popup>.progressbar-infinite,.view>.progressbar,.view>.progressbar-infinite,.views>.progressbar,.views>.progressbar-infinite,body>.progressbar,body>.progressbar-infinite{position:absolute;left:0;top:0;z-index:15000;border-radius:0}.progressbar-in{-webkit-animation:progressbar-in .3s forwards;animation:progressbar-in .3s forwards}.progressbar-out{-webkit-animation:progressbar-out .3s forwards;animation:progressbar-out .3s forwards}html.with-statusbar-overlay body>.progressbar{top:20px}@-webkit-keyframes progressbar-in{from{opacity:0;-webkit-transform:scaleY(0)}to{opacity:1;-webkit-transform:scaleY(1)}}@keyframes progressbar-in{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@-webkit-keyframes progressbar-out{from{opacity:1;-webkit-transform:scaleY(1)}to{opacity:0;-webkit-transform:scaleY(0)}}@keyframes progressbar-out{from{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}@-webkit-keyframes progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}@-webkit-keyframes progressbar-infinite-multicolor{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-50%,0,0)}}@keyframes progressbar-infinite-multicolor{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}.pull-to-refresh-layer{position:absolute;position:relative;margin-top:-44px;left:0;top:0;width:100%;height:44px}.pull-to-refresh-layer .preloader{position:absolute;left:50%;top:50%;margin-left:-10px;margin-top:-10px;visibility:hidden}.pull-to-refresh-layer .pull-to-refresh-arrow{width:13px;height:20px;position:absolute;left:50%;top:50%;margin-left:-6px;margin-top:-10px;background:no-repeat center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2026%2040'%3E%3Cpolygon%20points%3D'9%2C22%209%2C0%2017%2C0%2017%2C22%2026%2C22%2013.5%2C40%200%2C22'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E");background-size:13px 20px;z-index:10;-webkit-transform:rotate(0) translate3d(0,0,0);transform:rotate(0) translate3d(0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.pull-to-refresh-content.pull-to-refresh-no-navbar{margin-top:-44px;height:-webkit-calc(100% + 44px);height:-moz-calc(100% + 44px);height:calc(100% + 44px)}.pull-to-refresh-content.pull-to-refresh-no-navbar .pull-to-refresh-layer{margin-top:0}.pull-to-refresh-content.refreshing,.pull-to-refresh-content.transitioning{-webkit-transition-duration:.4s;transition-duration:.4s}.pull-to-refresh-content:not(.refreshing) .pull-to-refresh-layer .preloader{-webkit-animation:none;animation:none}.pull-to-refresh-content.refreshing{-webkit-transform:translate3d(0,44px,0);transform:translate3d(0,44px,0)}.pull-to-refresh-content.refreshing .pull-to-refresh-arrow{visibility:hidden;-webkit-transition-duration:0s;transition-duration:0s}.pull-to-refresh-content.refreshing .preloader{visibility:visible}.pull-to-refresh-content.pull-up .pull-to-refresh-arrow{-webkit-transform:rotate(180deg) translate3d(0,0,0);transform:rotate(180deg) translate3d(0,0,0)}.infinite-scroll-preloader{text-align:center;padding:5px 0}.autocomplete-page .autocomplete-found{display:block}.autocomplete-page .autocomplete-not-found{display:none}.autocomplete-page .autocomplete-values{display:block}.autocomplete-page .list-block ul:empty{display:none}.autocomplete-preloader:not(.autocomplete-preloader-visible){-webkit-animation:none;animation:none;visibility:hidden}.autocomplete-dropdown{background:#fff;box-sizing:border-box;position:absolute;z-index:500;box-shadow:0 3px 3px rgba(0,0,0,.2);width:100%;left:0}.autocomplete-dropdown .autocomplete-dropdown-inner{position:relative;overflow:auto;-webkit-overflow-scrolling:touch;height:100%;z-index:1}.autocomplete-dropdown .autocomplete-preloader{display:none;position:absolute;right:15px;bottom:100%;margin-bottom:12px;width:20px;height:20px}.autocomplete-dropdown .autocomplete-preloader-visible{display:block}.autocomplete-dropdown .autocomplete-dropdown-placeholder{color:#a9a9a9}.autocomplete-dropdown .list-block{margin:0}.autocomplete-dropdown .list-block ul{background:0 0!important}.autocomplete-dropdown .list-block ul:before{display:none}.autocomplete-dropdown .list-block ul:after{display:none}.autocomplete-dropdown .list-block b{font-weight:500}html.ios-gt-8 .autocomplete-dropdown .list-block b{font-weight:600}.list-block .item-content-dropdown-expand .item-title.label{width:0;-webkit-flex-shrink:10;-ms-flex:0 10 auto;flex-shrink:10}.list-block .item-content-dropdown-expand .item-title.label+.item-input{margin-left:0}.list-block .item-content-dropdown-expand .item-input{width:100%}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-moz-transform-origin:right top;-ms-transform-origin:right top;-o-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-slide .preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10}.photo-browser{position:absolute;left:0;top:0;width:100%;height:100%;z-index:11500}.framework7-root>.photo-browser,body>.photo-browser{opacity:0;display:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.framework7-root>.photo-browser.photo-browser-in,body>.photo-browser.photo-browser-in{display:block;-webkit-animation:photoBrowserIn .4s forwards;animation:photoBrowserIn .4s forwards}.framework7-root>.photo-browser.photo-browser-out,body>.photo-browser.photo-browser-out{display:block;-webkit-animation:photoBrowserOut .4s forwards;animation:photoBrowserOut .4s forwards}html.with-statusbar-overlay .framework7-root>.photo-browser,html.with-statusbar-overlay body>.photo-browser{height:-webkit-calc(100% - 20px);height:calc(100% - 20px);top:20px}.framework7-root>.photo-browser .navbar,.framework7-root>.photo-browser .toolbar,.popup>.photo-browser .navbar,.popup>.photo-browser .toolbar,body>.photo-browser .navbar,body>.photo-browser .toolbar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser .page[data-page=photo-browser-slides]{background:0 0}.photo-browser-popup{background:0 0}.photo-browser .navbar,.photo-browser .toolbar,.views .view[data-page=photo-browser-slides] .navbar,.views .view[data-page=photo-browser-slides] .toolbar{background:rgba(247,247,247,.95);-webkit-transition-duration:.4s;transition-duration:.4s}.view[data-page=photo-browser-slides] .page[data-page=photo-browser-slides] .navbar,.view[data-page=photo-browser-slides] .page[data-page=photo-browser-slides] .toolbar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser-exposed .navbar,.photo-browser-exposed .toolbar{opacity:0;visibility:hidden;pointer-events:none}.photo-browser-exposed .photo-browser-swiper-container{background:#000}.photo-browser-of{margin:0 5px}.photo-browser-captions{pointer-events:none;position:absolute;left:0;width:100%;bottom:0;z-index:10;opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s}.photo-browser-captions.photo-browser-captions-exposed{opacity:0}.toolbar~.photo-browser-captions{bottom:44px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser-exposed .toolbar~.photo-browser-captions{-webkit-transform:translate3d(0,44px,0);transform:translate3d(0,44px,0)}.toolbar~.photo-browser-captions.photo-browser-captions-exposed{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser-caption{box-sizing:border-box;-webkit-transition-duration:.3s;transition-duration:.3s;position:absolute;bottom:0;left:0;opacity:0;padding:4px 5px;width:100%;text-align:center;color:#fff;background:rgba(0,0,0,.8)}.photo-browser-caption:empty{display:none}.photo-browser-caption.photo-browser-caption-active{opacity:1}.photo-browser-captions-light .photo-browser-caption{background:rgba(255,255,255,.8);color:#000}.photo-browser-exposed .photo-browser-caption{color:#fff;background:rgba(0,0,0,.8)}.photo-browser-swiper-container{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background:#fff;-webkit-transition-duration:.4s;transition-duration:.4s}.photo-browser-swiper-wrapper{position:absolute;left:0;top:0;width:100%;height:100%;padding:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.photo-browser-link-inactive{opacity:.3}.photo-browser-slide{width:100%;height:100%;position:relative;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;box-sizing:border-box}.photo-browser-slide.transitioning{-webkit-transition-duration:.4s;transition-duration:.4s}.photo-browser-slide span.swiper-zoom-container{display:none}.photo-browser-slide img{width:auto;height:auto;max-width:100%;max-height:100%;display:none}.photo-browser-slide.swiper-slide-active span.swiper-zoom-container,.photo-browser-slide.swiper-slide-next span.swiper-zoom-container,.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.photo-browser-slide.swiper-slide-active img,.photo-browser-slide.swiper-slide-next img,.photo-browser-slide.swiper-slide-prev img{display:inline}.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader,.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader,.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader{display:block}.photo-browser-slide iframe{width:100%;height:100%}.photo-browser-slide .preloader{display:none;position:absolute;width:42px;height:42px;margin-left:-21px;margin-top:-21px;left:50%;top:50%}.photo-browser-dark .navbar,.photo-browser-dark .toolbar{background:rgba(30,30,30,.8);color:#fff}.photo-browser-dark .navbar:before,.photo-browser-dark .toolbar:before{display:none}.photo-browser-dark .navbar:after,.photo-browser-dark .toolbar:after{display:none}.photo-browser-dark .navbar a,.photo-browser-dark .toolbar a{color:#fff}.photo-browser-dark .photo-browser-swiper-container{background:#000}@-webkit-keyframes photoBrowserIn{0%{-webkit-transform:translate3d(0,0,0) scale(.5);opacity:0}100%{-webkit-transform:translate3d(0,0,0) scale(1);opacity:1}}@keyframes photoBrowserIn{0%{transform:translate3d(0,0,0) scale(.5);opacity:0}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}@-webkit-keyframes photoBrowserOut{0%{-webkit-transform:translate3d(0,0,0) scale(1);opacity:1}100%{-webkit-transform:translate3d(0,0,0) scale(.5);opacity:0}}@keyframes photoBrowserOut{0%{transform:translate3d(0,0,0) scale(1);opacity:1}100%{transform:translate3d(0,0,0) scale(.5);opacity:0}}.picker-columns{width:100%;height:260px;z-index:11500}.picker-columns.picker-modal-inline,.popover .picker-columns{height:200px}@media (orientation:landscape) and (max-height:415px){.picker-columns:not(.picker-modal-inline){height:200px}}.popover.popover-picker-columns{width:280px}.picker-items{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0;text-align:right;font-size:24px;-webkit-mask-box-image:-webkit-linear-gradient(bottom,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent);-webkit-mask-box-image:linear-gradient(to top,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent)}.picker-items-col{overflow:hidden;position:relative;max-height:100%}.picker-items-col.picker-items-col-left{text-align:left}.picker-items-col.picker-items-col-center{text-align:center}.picker-items-col.picker-items-col-right{text-align:right}.picker-items-col.picker-items-col-divider{color:#000;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.picker-items-col-wrapper{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.picker-item{height:36px;line-height:36px;padding:0 10px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;color:#707274;left:0;top:0;width:100%;box-sizing:border-box;-webkit-transition-duration:.3s;transition-duration:.3s}.picker-items-col-absolute .picker-item{position:absolute}.picker-item.picker-item-far{pointer-events:none}.picker-item.picker-selected{color:#000;-webkit-transform:translate3d(0,0,0) rotateX(0);transform:translate3d(0,0,0) rotateX(0)}.picker-center-highlight{height:36px;box-sizing:border-box;position:absolute;left:0;width:100%;top:50%;margin-top:-18px;pointer-events:none}.picker-center-highlight:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#a8abb0;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .picker-center-highlight:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-center-highlight:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-center-highlight:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#a8abb0;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-center-highlight:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-center-highlight:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-3d .picker-items{overflow:hidden;-webkit-perspective:1200px;perspective:1200px}.picker-3d .picker-item,.picker-3d .picker-items-col,.picker-3d .picker-items-col-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-3d .picker-items-col{overflow:visible}.picker-3d .picker-item{-webkit-transform-origin:center center -110px;transform-origin:center center -110px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.picker-calendar{background:#fff;height:320px;width:100%;overflow:hidden}@media (orientation:landscape) and (max-height:415px){.picker-calendar:not(.picker-modal-inline){height:220px}}.picker-calendar .picker-modal-inner{overflow:hidden}.popover-picker-calendar .picker-calendar{height:320px}.popover.popover-picker-calendar{width:320px}.picker-calendar-week-days{height:18px;background:#f7f7f8;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;font-size:11px;box-sizing:border-box;position:relative}.picker-calendar-week-days:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-calendar-week-days:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-calendar-week-days:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-calendar-week-days .picker-calendar-week-day{-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;width:14.28571429%;width:-webkit-calc(100% / 7);width:-moz-calc(100% / 7);width:calc(100% / 7);line-height:17px;text-align:center}.picker-calendar-week-days+.picker-calendar-months{height:-webkit-calc(100% - 18px);height:-moz-calc(100% - 18px);height:calc(100% - 18px)}.picker-calendar-months{width:100%;height:100%;overflow:hidden;position:relative}.picker-calendar-months-wrapper{position:relative;width:100%;height:100%;-webkit-transition-duration:.3s;transition-duration:.3s}.picker-calendar-month{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;width:100%;height:100%;position:absolute;left:0;top:0}.picker-calendar-row{height:16.66666667%;height:-webkit-calc(100% / 6);height:-moz-calc(100% / 6);height:calc(100% / 6);display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;width:100%;position:relative}.picker-calendar-row:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#ccc;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-calendar-row:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-calendar-row:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-calendar-row:last-child:after{display:none}.picker-calendar-day{-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:14.28571429%;width:-webkit-calc(100% / 7);width:-moz-calc(100% / 7);width:calc(100% / 7);text-align:center;color:#000;font-size:15px;cursor:pointer;z-index:20;height:100%}.picker-calendar-day.picker-calendar-day-next,.picker-calendar-day.picker-calendar-day-prev{color:#b8b8b8}.picker-calendar-day.picker-calendar-day-disabled{color:#d4d4d4;cursor:auto}.picker-calendar-day.picker-calendar-day-today span{background:#e3e3e3}.picker-calendar-day.picker-calendar-day-selected span{background:#007aff;color:#fff}.picker-calendar-day.picker-calendar-day-has-events span:after{content:'';width:4px;height:4px;border-radius:50%;background:#ccc;position:absolute;margin-left:-2px;left:50%;bottom:1px}.picker-calendar-day.picker-calendar-day-has-events.picker-calendar-day-selected span:after{display:none}.picker-calendar-day span{display:inline-block;border-radius:100%;width:30px;height:30px;line-height:30px;position:relative}.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected{-webkit-box-align:stretch;-ms-flex-align:stretch;-webkit-align-items:stretch;align-items:stretch;-ms-flex-line-pack:stretch;-webkit-align-content:stretch;align-content:stretch}.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected span{width:100%;border-radius:0;height:auto;text-align:center;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.picker-calendar-month-picker,.picker-calendar-year-picker{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:50%;max-width:200px;-webkit-flex-shrink:10;-ms-flex:0 10 auto;flex-shrink:10}.picker-calendar-month-picker a.icon-only,.picker-calendar-year-picker a.icon-only{min-width:36px}.picker-calendar-month-picker span,.picker-calendar-year-picker span{-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;position:relative;overflow:hidden;text-overflow:ellipsis}.picker-calendar.picker-modal-inline .picker-calendar-week-days,.popover .picker-calendar .picker-calendar-week-days{background:0 0}.picker-calendar.picker-modal-inline .picker-calendar-week-days:before,.picker-calendar.picker-modal-inline .toolbar:before,.popover .picker-calendar .picker-calendar-week-days:before,.popover .picker-calendar .toolbar:before{display:none}.picker-calendar.picker-modal-inline .picker-calendar-week-days:after,.picker-calendar.picker-modal-inline .toolbar:after,.popover .picker-calendar .picker-calendar-week-days:after,.popover .picker-calendar .toolbar:after{display:none}.picker-calendar.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,.picker-calendar.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,.popover .picker-calendar .picker-calendar-week-days~.picker-calendar-months:before,.popover .picker-calendar .toolbar~.picker-modal-inner .picker-calendar-months:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .picker-calendar.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,html.pixel-ratio-2 .picker-calendar.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,html.pixel-ratio-2 .popover .picker-calendar .picker-calendar-week-days~.picker-calendar-months:before,html.pixel-ratio-2 .popover .picker-calendar .toolbar~.picker-modal-inner .picker-calendar-months:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-calendar.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,html.pixel-ratio-3 .picker-calendar.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,html.pixel-ratio-3 .popover .picker-calendar .picker-calendar-week-days~.picker-calendar-months:before,html.pixel-ratio-3 .popover .picker-calendar .toolbar~.picker-modal-inner .picker-calendar-months:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.notifications{position:absolute;left:0;top:0;width:100%;z-index:20000;font-size:14px;margin:0;border:none;display:none;box-sizing:border-box;max-height:100%;-webkit-transition-duration:450ms;transition-duration:450ms;-webkit-perspective:1200px;perspective:1200px;padding-top:8px;padding-bottom:8px}.notifications.list-block>ul{background:0 0;margin:0 auto;max-width:584px}.notifications.list-block>ul:before{display:none}.notifications.list-block>ul:after{display:none}.with-statusbar-overlay .notifications{padding-top:20px;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}.notifications .item-content{padding-left:8px;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.notifications .item-title-row{margin-bottom:8px}.notifications .item-title-row:before{position:absolute;left:0;top:0;height:36px;border-radius:12px 12px 0 0;z-index:-1;background:#fff;content:'';width:100%}.notifications .item-title{font-weight:400!important;height:36px;text-transform:uppercase;line-height:35px;font-size:13px}html.ios-gt-8 .notifications .item-title{font-weight:400!important}.notifications .item-subtitle{font-size:15px;font-weight:500}html.ios-gt-8 .notifications .item-subtitle{font-weight:600}.notifications .item-text{font-size:14px;color:inherit;height:auto;line-height:inherit}.notifications .item-subtitle:first-child,.notifications .item-text:first-child{margin-top:8px}.notifications .item-content,.notifications .item-inner{min-height:0}.notifications .item-inner{position:static}.notifications .item-inner:after{display:none}.notifications .item-media{width:20px}.notifications .item-media img{max-width:20px;max-height:20px}.notifications .item-media i.icon{width:20px;height:20px;-webkit-background-size:cover;background-size:cover;background-position:center;background-repeat:no-repeat}.notifications .item-media+.item-inner{margin-left:8px;overflow:visible}.notifications li.notification-item{box-shadow:0 0 10px rgba(0,0,0,.15)}.notifications li.notification-item .item-inner{padding-top:0}.notifications li.notification-item .item-media{padding-top:8px}.notifications .item-after{margin-top:auto;margin-bottom:auto}.notifications .close-notification{width:22px;height:22px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2044%2044'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cg%20stroke%3D'none'%20stroke-width%3D'1'%20fill%3D'none'%20fill-rule%3D'evenodd'%3E%3Cpath%20d%3D'M22.5%2C20.3786797%20L14.7218254%2C12.6005051%20L12.6005051%2C14.7218254%20L20.3786797%2C22.5%20L12.6005051%2C30.2781746%20L14.7218254%2C32.3994949%20L22.5%2C24.6213203%20L30.2781746%2C32.3994949%20L32.3994949%2C30.2781746%20L24.6213203%2C22.5%20L32.3994949%2C14.7218254%20L30.2781746%2C12.6005051%20L22.5%2C20.3786797%20Z%20M22%2C44%20C34.1502645%2C44%2044%2C34.1502645%2044%2C22%20C44%2C9.8497355%2034.1502645%2C0%2022%2C0%20C9.8497355%2C0%200%2C9.8497355%200%2C22%20C0%2C34.1502645%209.8497355%2C44%2022%2C44%20Z'%20fill%3D'%23000000'%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:center top;background-repeat:no-repeat;-webkit-background-size:100% auto;background-size:100% auto;position:relative;opacity:.2}.notifications .close-notification span{position:absolute;width:44px;height:44px;left:50%;top:50%;margin-left:-22px;margin-top:-22px}.notifications .notification-item{max-width:568px;margin:0 auto 8px;-webkit-transition-duration:450ms;transition-duration:450ms;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1;background:rgba(250,250,250,.95);border-radius:12px;width:-webkit-calc(100% - 16px);width:-moz-calc(100% - 16px);width:calc(100% - 16px);position:absolute;left:8px;top:0}.notifications .notification-item:last-child{margin-bottom:0}.notifications .notification-hidden{opacity:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.login-screen-content{background:#fff}.login-screen-content .content-block,.login-screen-content .list-block,.login-screen-content .list-block-label,.login-screen-content .login-screen-title{max-width:480px;margin:25px auto}.login-screen-content .list-block ul{background:0 0}.login-screen-content .list-block ul:before{display:none}.login-screen-content .list-block ul:after{display:none}.login-screen-content .list-block-label{text-align:center}.login-screen-title{text-align:center;font-size:30px}.disabled,[disabled]{opacity:.55;pointer-events:none}.disabled .disabled,.disabled [disabled],[disabled] .disabled,[disabled] [disabled]{opacity:1} \ No newline at end of file diff --git a/vendor/framework7/css/framework7.ios.rtl.css b/vendor/framework7/css/framework7.ios.rtl.css deleted file mode 100644 index 1e845dc47..000000000 --- a/vendor/framework7/css/framework7.ios.rtl.css +++ /dev/null @@ -1,574 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * iOS Theme - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -/*============= - Framework 7 RTL Additions -=============*/ -html { - direction: rtl; -} -/* === Lists === */ -.list-block ul ul { - padding-left: 0; - padding-right: 45px; -} -.list-block .item-content { - padding-left: 0; - padding-right: 15px; -} -.list-block .item-inner { - padding-right: 0; - padding-left: 15px; -} -.list-block .item-after { - margin-left: 0; - margin-right: 5px; -} -.list-block .item-media i + i, -.list-block .item-media i + img { - margin-left: 0; - margin-right: 5px; -} -.list-block .item-media + .item-inner { - margin-left: 0; - margin-right: 15px; -} -.list-block .item-link .item-inner { - padding-right: 0; - padding-left: 35px; - background-position: 15px center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E"); -} -.list-block.media-list .item-link .item-inner, -.list-block li.media-item .item-link .item-inner { - padding-right: 0; - padding-left: 15px; -} -.list-block.media-list .item-link .item-title-row, -.list-block li.media-item .item-link .item-title-row { - padding-right: 0; - padding-left: 20px; - background-position: center left; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E"); -} -.list-block .sortable-handler { - right: auto; - left: 0; -} -.list-block.sortable-opened .item-inner, -.list-block.sortable-opened .item-link .item-inner { - padding-right: 0; - padding-left: 35px; -} -.list-block.sortable-opened .item-link .item-inner, -.list-block.sortable-opened .item-link .item-title-row { - background-image: none; -} -.list-block .swipeout-actions-left, -.list-block .swipeout-actions-right { - direction: ltr; -} -/* === Toolbars === */ -.navbar a.link i + span, -.toolbar a.link i + span, -.navbar a.link i + i, -.toolbar a.link i + i, -.navbar a.link span + i, -.toolbar a.link span + i, -.navbar a.link span + span, -.toolbar a.link span + span { - margin-left: 0; - margin-right: 7px; -} -.navbar .left a + a, -.navbar .right a + a { - margin-left: 0; - margin-right: 15px; -} -.navbar .left { - margin-right: 0px; - margin-left: 10px; -} -.navbar .right { - margin-left: 0px; - margin-right: 10px; -} -.navbar .right:first-child { - right: auto; - left: 8px; -} -/* === Forms === */ -.list-block input[type="text"], -.list-block input[type="password"], -.list-block input[type="email"], -.list-block input[type="tel"], -.list-block input[type="url"], -.list-block input[type="date"], -.list-block input[type="datetime-local"], -.list-block input[type="number"], -.list-block select, -.list-block textarea { - padding-left: 0; - padding-right: 5px; -} -.buttons-row .button:first-child { - border-radius: 0 5px 5px 0; - border-left: none; -} -.buttons-row .button:last-child { - border-radius: 5px 0 0 5px; - border-left-width: 1px; - border-left-style: solid; -} -.buttons-row .button.button-round:first-child { - border-radius: 0 27px 27px 0; -} -.buttons-row .button.button-round:last-child { - border-radius: 27px 0 0 27px; -} -.label-switch input[type="checkbox"] + .checkbox:before { - left: auto; - right: 2px; -} -.label-switch input[type="checkbox"] + .checkbox:after { - right: 2px; - left: auto; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.label-switch input[type="checkbox"]:checked + .checkbox:after { - left: auto; - -webkit-transform: translateX(-20px); - transform: translateX(-20px); -} -.range-slider { - padding-left: 0; - padding-right: 0; - margin-left: 0; - padding-right: 3px; - padding-left: 3px; - margin-right: -1px; -} -.range-slider input[type="range"]:after { - left: auto; - right: -5px; -} -.range-slider input[type="range"]::-webkit-slider-thumb:after { - left: auto; - right: 0; -} -.range-slider input[type="range"]::-webkit-slider-thumb:before { - right: auto; - left: 100%; -} -label.label-radio input[type="checkbox"] ~ .item-inner, -label.label-radio input[type="radio"] ~ .item-inner { - padding-left: 35px; - padding-right: 0; -} -label.label-radio input[type="checkbox"]:checked ~ .item-inner, -label.label-radio input[type="radio"]:checked ~ .item-inner { - background-position: 15px center; -} -/* === Search Bar === */ -.searchbar input[type="search"] { - background-position: right center; - background-position: -webkit-calc(100% - 8px) center; - background-position: calc(100% - 8px) center; -} -.searchbar .searchbar-clear { - right: auto; - left: 0; -} -.searchbar.searchbar-active .searchbar-cancel { - margin-left: 0; - margin-right: 8px; -} -/* === Message Bar === */ -.messagebar .link + textarea { - margin-left: 0; - margin-right: 8px; -} -.messagebar textarea + .link { - margin-left: 0; - margin-right: 8px; -} -/* === Modals === */ -.modal-button:first-child { - border-radius: 0 0 7px 0; - border-right: none; -} -.modal-button:last-child { - border-right: 1px solid #b5b5b5; - border-radius: 0 0 0 7px; -} -.modal-button:first-child:last-child { - border-radius: 0 0 7px 7px; -} -/* === Content Block === */ -.content-block-inner { - margin-left: 0; - margin-right: -15px; -} -/* === Pages === */ -.page-from-right-to-center:before, -.page-from-center-to-right:before, -.page-fake-shadow { - right: auto; - left: 100%; - background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - background: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); -} -.page-on-left { - -webkit-transform: translate3d(20%, 0, 0); - transform: translate3d(20%, 0, 0); -} -.page-on-right { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); -} -@-webkit-keyframes pageFromRightToCenter { - from { - -webkit-transform: translate3d(-100%, 0, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - -webkit-transform: translate3d(0, 0, 0); - } - to { - -webkit-transform: translate3d(-100%, 0, 0); - } -} -@keyframes pageFromRightToCenter { - from { - transform: translate3d(-100%, 0, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromCenterToRight { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(-100%, 0, 0); - } -} -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } - to { - opacity: 0.9; - -webkit-transform: translate3d(20%, 0, 0); - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - -webkit-transform: translate3d(20%, 0, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromCenterToLeft { - from { - opacity: 1; - transform: translate3d(0, 0, 0); - } - to { - opacity: 0.9; - transform: translate3d(20%, 0, 0); - } -} -@keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - transform: translate3d(20%, 0, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -/* === Messages === */ -.message-received { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.message-sent { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -/* === Chips === */ -.chip-media + .chip-label { - margin-left: 0px; - margin-right: 4px; -} -.chip-delete { - margin-right: 0; - margin-left: -6px; -} -/* === Back Icons === */ -i.icon.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-gray, -i.icon-back.theme-gray, -.theme-gray i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-gray, -i.icon-forward.theme-gray, -.theme-gray i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-gray, -i.icon-next.theme-gray, -.theme-gray i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-gray, -i.icon-prev.theme-gray, -.theme-gray i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-white, -i.icon-back.theme-white, -.theme-white i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-white, -i.icon-forward.theme-white, -.theme-white i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-white, -i.icon-next.theme-white, -.theme-white i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-white, -i.icon-prev.theme-white, -.theme-white i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-black, -i.icon-back.theme-black, -.theme-black i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-black, -i.icon-forward.theme-black, -.theme-black i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-black, -i.icon-next.theme-black, -.theme-black i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-black, -i.icon-prev.theme-black, -.theme-black i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightblue, -i.icon-back.theme-lightblue, -.theme-lightblue i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightblue, -i.icon-forward.theme-lightblue, -.theme-lightblue i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-lightblue, -i.icon-next.theme-lightblue, -.theme-lightblue i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightblue, -i.icon-prev.theme-lightblue, -.theme-lightblue i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-yellow, -i.icon-back.theme-yellow, -.theme-yellow i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-yellow, -i.icon-forward.theme-yellow, -.theme-yellow i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-yellow, -i.icon-next.theme-yellow, -.theme-yellow i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-yellow, -i.icon-prev.theme-yellow, -.theme-yellow i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-orange, -i.icon-back.theme-orange, -.theme-orange i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-orange, -i.icon-forward.theme-orange, -.theme-orange i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-orange, -i.icon-next.theme-orange, -.theme-orange i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-orange, -i.icon-prev.theme-orange, -.theme-orange i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-pink, -i.icon-back.theme-pink, -.theme-pink i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-pink, -i.icon-forward.theme-pink, -.theme-pink i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-pink, -i.icon-next.theme-pink, -.theme-pink i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-pink, -i.icon-prev.theme-pink, -.theme-pink i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-blue, -i.icon-back.theme-blue, -.theme-blue i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-blue, -i.icon-forward.theme-blue, -.theme-blue i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-blue, -i.icon-next.theme-blue, -.theme-blue i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-blue, -i.icon-prev.theme-blue, -.theme-blue i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-green, -i.icon-back.theme-green, -.theme-green i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-green, -i.icon-forward.theme-green, -.theme-green i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-green, -i.icon-next.theme-green, -.theme-green i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-green, -i.icon-prev.theme-green, -.theme-green i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-red, -i.icon-back.theme-red, -.theme-red i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-red, -i.icon-forward.theme-red, -.theme-red i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-red, -i.icon-next.theme-red, -.theme-red i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-red, -i.icon-prev.theme-red, -.theme-red i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -/* === Accordion === */ -.list-block .accordion-toggle .item-inner { - padding-right: 0; - padding-left: 35px; - background-position: 15px center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E"); -} -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, -.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, -.list-block.media-list .accordion-item-expanded > .item-link .item-title-row, -.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, -.list-block .accordion-item-expanded.media-item > .item-link .item-title-row { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(70%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 20px 20px; -} -.list-block .accordion-item ul { - padding-right: 0; -} diff --git a/vendor/framework7/css/framework7.ios.rtl.min.css b/vendor/framework7/css/framework7.ios.rtl.min.css deleted file mode 100644 index 233172e44..000000000 --- a/vendor/framework7/css/framework7.ios.rtl.min.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -html{direction:rtl}.list-block ul ul{padding-left:0;padding-right:45px}.list-block .item-content{padding-left:0;padding-right:15px}.list-block .item-inner{padding-right:0;padding-left:15px}.list-block .item-after{margin-left:0;margin-right:5px}.list-block .item-media i+i,.list-block .item-media i+img{margin-left:0;margin-right:5px}.list-block .item-media+.item-inner{margin-left:0;margin-right:15px}.list-block .item-link .item-inner{padding-right:0;padding-left:35px;background-position:15px center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E")}.list-block li.media-item .item-link .item-inner,.list-block.media-list .item-link .item-inner{padding-right:0;padding-left:15px}.list-block li.media-item .item-link .item-title-row,.list-block.media-list .item-link .item-title-row{padding-right:0;padding-left:20px;background-position:center left;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E")}.list-block .sortable-handler{right:auto;left:0}.list-block.sortable-opened .item-inner,.list-block.sortable-opened .item-link .item-inner{padding-right:0;padding-left:35px}.list-block.sortable-opened .item-link .item-inner,.list-block.sortable-opened .item-link .item-title-row{background-image:none}.list-block .swipeout-actions-left,.list-block .swipeout-actions-right{direction:ltr}.navbar a.link i+i,.navbar a.link i+span,.navbar a.link span+i,.navbar a.link span+span,.toolbar a.link i+i,.toolbar a.link i+span,.toolbar a.link span+i,.toolbar a.link span+span{margin-left:0;margin-right:7px}.navbar .left a+a,.navbar .right a+a{margin-left:0;margin-right:15px}.navbar .left{margin-right:0;margin-left:10px}.navbar .right{margin-left:0;margin-right:10px}.navbar .right:first-child{right:auto;left:8px}.list-block input[type=text],.list-block input[type=password],.list-block input[type=email],.list-block input[type=tel],.list-block input[type=url],.list-block input[type=date],.list-block input[type=datetime-local],.list-block input[type=number],.list-block select,.list-block textarea{padding-left:0;padding-right:5px}.buttons-row .button:first-child{border-radius:0 5px 5px 0;border-left:none}.buttons-row .button:last-child{border-radius:5px 0 0 5px;border-left-width:1px;border-left-style:solid}.buttons-row .button.button-round:first-child{border-radius:0 27px 27px 0}.buttons-row .button.button-round:last-child{border-radius:27px 0 0 27px}.label-switch input[type=checkbox]+.checkbox:before{left:auto;right:2px}.label-switch input[type=checkbox]+.checkbox:after{right:2px;left:auto;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.label-switch input[type=checkbox]:checked+.checkbox:after{left:auto;-webkit-transform:translateX(-20px);transform:translateX(-20px)}.range-slider{padding-left:0;padding-right:0;margin-left:0;padding-right:3px;padding-left:3px;margin-right:-1px}.range-slider input[type=range]:after{left:auto;right:-5px}.range-slider input[type=range]::-webkit-slider-thumb:after{left:auto;right:0}.range-slider input[type=range]::-webkit-slider-thumb:before{right:auto;left:100%}label.label-radio input[type=radio]~.item-inner,label.label-radio input[type=checkbox]~.item-inner{padding-left:35px;padding-right:0}label.label-radio input[type=radio]:checked~.item-inner,label.label-radio input[type=checkbox]:checked~.item-inner{background-position:15px center}.searchbar input[type=search]{background-position:right center;background-position:-webkit-calc(100% - 8px) center;background-position:calc(100% - 8px) center}.searchbar .searchbar-clear{right:auto;left:0}.searchbar.searchbar-active .searchbar-cancel{margin-left:0;margin-right:8px}.messagebar .link+textarea{margin-left:0;margin-right:8px}.messagebar textarea+.link{margin-left:0;margin-right:8px}.modal-button:first-child{border-radius:0 0 7px 0;border-right:none}.modal-button:last-child{border-right:1px solid #b5b5b5;border-radius:0 0 0 7px}.modal-button:first-child:last-child{border-radius:0 0 7px 7px}.content-block-inner{margin-left:0;margin-right:-15px}.page-fake-shadow,.page-from-center-to-right:before,.page-from-right-to-center:before{right:auto;left:100%;background:-webkit-linear-gradient(right,rgba(0,0,0,0) 0,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%);background:linear-gradient(to left,rgba(0,0,0,0) 0,rgba(0,0,0,0) 10%,rgba(0,0,0,.01) 50%,rgba(0,0,0,.2) 100%)}.page-on-left{-webkit-transform:translate3d(20%,0,0);transform:translate3d(20%,0,0)}.page-on-right{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}@-webkit-keyframes pageFromRightToCenter{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-webkit-keyframes pageFromCenterToRight{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@keyframes pageFromRightToCenter{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(0,0,0)}}@keyframes pageFromCenterToRight{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}@-webkit-keyframes pageFromCenterToLeft{from{opacity:1;-webkit-transform:translate3d(0,0,0)}to{opacity:.9;-webkit-transform:translate3d(20%,0,0)}}@-webkit-keyframes pageFromLeftToCenter{from{opacity:.9;-webkit-transform:translate3d(20%,0,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0)}}@keyframes pageFromCenterToLeft{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:.9;transform:translate3d(20%,0,0)}}@keyframes pageFromLeftToCenter{from{opacity:.9;transform:translate3d(20%,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}.message-received{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end;-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.message-sent{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.chip-media+.chip-label{margin-left:0;margin-right:4px}.chip-delete{margin-right:0;margin-left:-6px}i.icon.icon-back{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-forward{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}i.icon.icon-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-gray i.icon-back,i.icon-back.color-gray,i.icon-back.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E")}.theme-gray i.icon-forward,i.icon-forward.color-gray,i.icon-forward.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E")}.theme-gray i.icon-next,i.icon-next.color-gray,i.icon-next.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-gray i.icon-prev,i.icon-prev.color-gray,i.icon-prev.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-white i.icon-back,i.icon-back.color-white,i.icon-back.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.theme-white i.icon-forward,i.icon-forward.color-white,i.icon-forward.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.theme-white i.icon-next,i.icon-next.color-white,i.icon-next.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-white i.icon-prev,i.icon-prev.color-white,i.icon-prev.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-black i.icon-back,i.icon-back.color-black,i.icon-back.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.theme-black i.icon-forward,i.icon-forward.color-black,i.icon-forward.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.theme-black i.icon-next,i.icon-next.color-black,i.icon-next.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-black i.icon-prev,i.icon-prev.color-black,i.icon-prev.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-back,i.icon-back.color-lightblue,i.icon-back.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-forward,i.icon-forward.color-lightblue,i.icon-forward.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-next,i.icon-next.color-lightblue,i.icon-next.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-lightblue i.icon-prev,i.icon-prev.color-lightblue,i.icon-prev.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-back,i.icon-back.color-yellow,i.icon-back.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-forward,i.icon-forward.color-yellow,i.icon-forward.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-next,i.icon-next.color-yellow,i.icon-next.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-yellow i.icon-prev,i.icon-prev.color-yellow,i.icon-prev.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-orange i.icon-back,i.icon-back.color-orange,i.icon-back.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E")}.theme-orange i.icon-forward,i.icon-forward.color-orange,i.icon-forward.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E")}.theme-orange i.icon-next,i.icon-next.color-orange,i.icon-next.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-orange i.icon-prev,i.icon-prev.color-orange,i.icon-prev.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-pink i.icon-back,i.icon-back.color-pink,i.icon-back.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E")}.theme-pink i.icon-forward,i.icon-forward.color-pink,i.icon-forward.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E")}.theme-pink i.icon-next,i.icon-next.color-pink,i.icon-next.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-pink i.icon-prev,i.icon-prev.color-pink,i.icon-prev.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-blue i.icon-back,i.icon-back.color-blue,i.icon-back.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.theme-blue i.icon-forward,i.icon-forward.color-blue,i.icon-forward.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E")}.theme-blue i.icon-next,i.icon-next.color-blue,i.icon-next.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-blue i.icon-prev,i.icon-prev.color-blue,i.icon-prev.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-green i.icon-back,i.icon-back.color-green,i.icon-back.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E")}.theme-green i.icon-forward,i.icon-forward.color-green,i.icon-forward.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E")}.theme-green i.icon-next,i.icon-next.color-green,i.icon-next.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-green i.icon-prev,i.icon-prev.color-green,i.icon-prev.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-red i.icon-back,i.icon-back.color-red,i.icon-back.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E")}.theme-red i.icon-forward,i.icon-forward.color-red,i.icon-forward.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E")}.theme-red i.icon-next,i.icon-next.color-red,i.icon-next.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.theme-red i.icon-prev,i.icon-prev.color-red,i.icon-prev.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.list-block .accordion-toggle .item-inner{padding-right:0;padding-left:35px;background-position:15px center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E")}.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row,.list-block .accordion-item-expanded.media-item>.item-link .item-title-row,.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row,.list-block.media-list .accordion-item-expanded>.item-link .item-title-row,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item)>.item-link .item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(70%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:20px 20px}.list-block .accordion-item ul{padding-right:0} \ No newline at end of file diff --git a/vendor/framework7/css/framework7.material.colors.css b/vendor/framework7/css/framework7.material.colors.css deleted file mode 100644 index 0d3e855d9..000000000 --- a/vendor/framework7/css/framework7.material.colors.css +++ /dev/null @@ -1,8180 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * Google Material Theme - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -/*========================== -Framework7 Layouts Themes -==========================*/ -/* === Dark layout === */ -.layout-dark .page, -.layout-dark .login-screen-content, -.page.layout-dark, -.layout-dark .panel, -.panel.layout-dark { - background-color: #222; - color: rgba(255, 255, 255, 0.87); -} -.layout-dark .content-block-title { - color: rgba(255, 255, 255, 0.87); -} -.layout-dark .content-block-inner:before { - background-color: #393939; -} -.layout-dark .content-block-inner:after { - background-color: #393939; -} -.layout-dark .popover .list-block ul { - background: none; -} -.layout-dark .card { - background: #1c1c1c; -} -.layout-dark .card-header:after { - background-color: #393939; -} -.layout-dark .card-footer { - color: #bbb; -} -.layout-dark .card-footer:before { - background-color: #393939; -} -.layout-dark .list-block ul:before, -.list-block.layout-dark ul:before { - background-color: #393939; -} -.layout-dark .list-block ul:after, -.list-block.layout-dark ul:after { - background-color: #393939; -} -.layout-dark .list-block.inset ul, -.list-block.layout-dark.inset ul { - background: #1c1c1c; -} -.layout-dark .list-block.notifications > ul, -.list-block.layout-dark.notifications > ul { - background: none; -} -.layout-dark li.sorting { - background-color: rgba(34, 34, 34, 0.8); -} -.layout-dark .swipeout-actions-left a, -.layout-dark .swipeout-actions-right a { - background-color: #444; -} -.layout-dark .item-inner:after, -.layout-dark .list-block ul ul li:last-child .item-inner:after { - background-color: #393939; -} -.layout-dark .item-after, -.layout-dark .item-text { - color: rgba(255, 255, 255, 0.7); -} -.layout-dark .list-block-label { - color: #bbb; -} -.layout-dark .item-divider, -.layout-dark .list-group-title { - background: #1a1a1a; - color: #bbb; -} -.layout-dark .item-divider:before, -.layout-dark .list-group-title:before { - background-color: #393939; -} -.layout-dark .contacts-block .list-group-title { - background: none; -} -.layout-dark .autocomplete-dropdown { - background: #1c1c1c; -} -.layout-dark .autocomplete-dropdown .list-block { - color: rgba(255, 255, 255, 0.54); -} -.layout-dark .autocomplete-dropdown .list-block b { - color: rgba(255, 255, 255, 0.87); -} -html:not(.watch-active-state) .layout-dark .item-link:active, -html:not(.watch-active-state) .layout-dark label.label-checkbox:active, -html:not(.watch-active-state) .layout-dark label.label-radio:active, -.layout-dark .item-link.active-state, -.layout-dark label.label-checkbox.active-state, -.layout-dark label.label-radio.active-state { - background-color: rgba(255, 255, 255, 0.05); -} -.layout-dark .list-block input[type="text"], -.layout-dark .list-block input[type="password"], -.layout-dark .list-block input[type="search"], -.layout-dark .list-block input[type="email"], -.layout-dark .list-block input[type="tel"], -.layout-dark .list-block input[type="url"], -.layout-dark .list-block input[type="date"], -.layout-dark .list-block input[type="datetime-local"], -.layout-dark .list-block input[type="time"], -.layout-dark .list-block input[type="number"], -.layout-dark .list-block select, -.layout-dark .list-block textarea { - color: #fff; -} -.layout-dark .list-block input[type="text"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="password"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="search"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="email"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="tel"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="url"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="date"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="datetime-local"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="time"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="number"]::-webkit-input-placeholder, -.layout-dark .list-block select::-webkit-input-placeholder, -.layout-dark .list-block textarea::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.35); -} -.layout-dark .label-switch .checkbox { - background: rgba(255, 255, 255, 0.3); -} -.layout-dark .item-inner:not(.focus-state) .label, -.layout-dark .item-inner:not(.focus-state) .floating-label { - color: rgba(255, 255, 255, 0.7); -} -.layout-dark .item-inner:not(.focus-state):not(.not-empty-state) .item-input-field:after, -.layout-dark .item-inner:not(.focus-state):not(.not-empty-state) .input-field:after { - background-color: rgba(255, 255, 255, 0.12); -} -.layout-dark label.label-checkbox i.icon-form-checkbox { - border-color: rgba(255, 255, 255, 0.7); -} -.layout-dark label.label-radio i.icon-form-radio { - border-color: rgba(255, 255, 255, 0.7); -} -.layout-dark .item-link.list-button:after { - background-color: #393939; -} -.layout-dark .page-content .ripple-wave { - background: rgba(255, 255, 255, 0.3); -} -html:not(.watch-active-state) .layout-dark .button:not(.button-fill):active, -.layout-dark .button:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.1); -} -.layout-dark .chip { - background: rgba(255, 255, 255, 0.87); -} -/*========================== -Framework7 Color Themes -==========================*/ -.theme-red .button:not(.button-fill) { - color: #f44336; -} -.theme-red .navbar .button:not(.button-fill), -.theme-red.navbar .button:not(.button-fill), -.theme-red .toolbar .button:not(.button-fill), -.theme-red.toolbar .button:not(.button-fill), -.theme-red .subnavbar .button:not(.button-fill), -.theme-red.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-red .button.button-fill { - background: #f44336; - color: #fff; -} -html:not(.watch-active-state) .theme-red .button.button-fill:active, -.theme-red .button.button-fill.active-state { - background: #D32F2F; -} -.progressbar.theme-red, -.theme-red .progressbar { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar.theme-red span, -.theme-red .progressbar span { - background-color: #f44336; -} -.progressbar-infinite.theme-red, -.theme-red .progressbar-infinite { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar-infinite.theme-red:after, -.theme-red .progressbar-infinite:after, -.progressbar-infinite.theme-red:before, -.theme-red .progressbar-infinite:before { - background-color: #f44336; -} -.color-red i.icon, -i.icon.color-red { - color: #f44336; -} -i.icon-next.color-red, -i.icon-next.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-red, -i.icon-prev.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-red, -i.icon-back.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-red, -i.icon-forward.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-red, -i.icon-bars.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red a { - color: #f44336; -} -.theme-red .navbar, -.navbar.theme-red, -.theme-red .toolbar, -.toolbar.theme-red, -.theme-red .subnavbar, -.subnavbar.theme-red, -.theme-red .searchbar, -.searchbar.theme-red { - background-color: #f44336; -} -.theme-red .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-red input[type="checkbox"]:checked + .checkbox { - background-color: rgba(244, 67, 54, 0.5); -} -.theme-red .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-red input[type="checkbox"]:checked + .checkbox:after { - background-color: #f44336; -} -.theme-red label.label-checkbox, -label.label-checkbox.theme-red { - cursor: pointer; -} -.theme-red label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-red i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #f44336; - background-color: #f44336; -} -.theme-red label.label-radio i.icon-form-radio:after, -label.label-radio.theme-red i.icon-form-radio:after { - background-color: #f44336; -} -.theme-red label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-red input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-red label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-red input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #f44336; -} -.theme-red label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-red input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-red label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-red input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #f44336; -} -.theme-red .focus-state .label, -.theme-red .focus-state .floating-label { - color: #f44336; -} -.theme-red .item-input-field.focus-state:after, -.theme-red .input-field.focus-state:after, -.theme-red .item-input-field.not-empty-state:after, -.theme-red .input-field.not-empty-state:after { - background: #f44336; -} -.theme-red .picker-calendar-day.picker-calendar-day-today span { - color: #f44336; -} -.theme-red .picker-calendar-day.picker-calendar-day-selected span { - background-color: #f44336; - color: #fff; -} -.theme-red .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #f44336; -} -.theme-red .picker-header { - background-color: #f44336; -} -.theme-red .modal-button { - color: #f44336; -} -.swiper-pagination.color-red .swiper-pagination-bullet-active, -.theme-red .swiper-pagination .swiper-pagination-bullet-active { - background-color: #f44336; -} -.swiper-pagination.color-red .swiper-pagination-progressbar, -.theme-red .swiper-pagination .swiper-pagination-progressbar { - background-color: #f44336; -} -.swiper-pagination.swiper-pagination-progress.bg-red { - background-color: rgba(244, 67, 54, 0.25); -} -.swiper-button-next.color-red, -.swiper-container-rtl .swiper-button-prev.color-red, -.theme-red .swiper-button-next, -.theme-red .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-red, -.swiper-container-rtl .swiper-button-next.color-red, -.theme-red .swiper-button-prev, -.theme-red .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red .floating-button, -.theme-red .speed-dial-buttons a, -.floating-button.theme-red, -.speed-dial-buttons a.theme-red { - color: #fff; - background: #f44336; -} -html:not(.watch-active-state) .theme-red .floating-button:active, -html:not(.watch-active-state) .theme-red .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-red:active, -.theme-red .floating-button.active-state, -.theme-red .speed-dial-buttons a.active-state, -.floating-button.theme-red.active-state, -.speed-dial-buttons a.theme-red.active-state { - background: #D32F2F; -} -.theme-red .floating-button i, -.theme-red .speed-dial-buttons a i, -.floating-button.theme-red i, -.speed-dial-buttons a.theme-red i { - color: inherit; -} -.theme-red .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-red input[type="range"]::-webkit-slider-thumb { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-red input[type="range"]::-ms-thumb { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-red input[type="range"]::-ms-fill-lower { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-red input[type="range"]::-moz-range-thumb { - background-color: #f44336; -} -.badge.theme-red { - background-color: #f44336; - color: #fff; -} -.theme-pink .button:not(.button-fill) { - color: #e91e63; -} -.theme-pink .navbar .button:not(.button-fill), -.theme-pink.navbar .button:not(.button-fill), -.theme-pink .toolbar .button:not(.button-fill), -.theme-pink.toolbar .button:not(.button-fill), -.theme-pink .subnavbar .button:not(.button-fill), -.theme-pink.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-pink .button.button-fill { - background: #e91e63; - color: #fff; -} -html:not(.watch-active-state) .theme-pink .button.button-fill:active, -.theme-pink .button.button-fill.active-state { - background: #C2185B; -} -.progressbar.theme-pink, -.theme-pink .progressbar { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar.theme-pink span, -.theme-pink .progressbar span { - background-color: #e91e63; -} -.progressbar-infinite.theme-pink, -.theme-pink .progressbar-infinite { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar-infinite.theme-pink:after, -.theme-pink .progressbar-infinite:after, -.progressbar-infinite.theme-pink:before, -.theme-pink .progressbar-infinite:before { - background-color: #e91e63; -} -.color-pink i.icon, -i.icon.color-pink { - color: #e91e63; -} -i.icon-next.color-pink, -i.icon-next.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-pink, -i.icon-prev.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-pink, -i.icon-back.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-pink, -i.icon-forward.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-pink, -i.icon-bars.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink a { - color: #e91e63; -} -.theme-pink .navbar, -.navbar.theme-pink, -.theme-pink .toolbar, -.toolbar.theme-pink, -.theme-pink .subnavbar, -.subnavbar.theme-pink, -.theme-pink .searchbar, -.searchbar.theme-pink { - background-color: #e91e63; -} -.theme-pink .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-pink input[type="checkbox"]:checked + .checkbox { - background-color: rgba(233, 30, 99, 0.5); -} -.theme-pink .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-pink input[type="checkbox"]:checked + .checkbox:after { - background-color: #e91e63; -} -.theme-pink label.label-checkbox, -label.label-checkbox.theme-pink { - cursor: pointer; -} -.theme-pink label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-pink i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #e91e63; - background-color: #e91e63; -} -.theme-pink label.label-radio i.icon-form-radio:after, -label.label-radio.theme-pink i.icon-form-radio:after { - background-color: #e91e63; -} -.theme-pink label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-pink input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-pink label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-pink input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #e91e63; -} -.theme-pink label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-pink input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-pink label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-pink input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #e91e63; -} -.theme-pink .focus-state .label, -.theme-pink .focus-state .floating-label { - color: #e91e63; -} -.theme-pink .item-input-field.focus-state:after, -.theme-pink .input-field.focus-state:after, -.theme-pink .item-input-field.not-empty-state:after, -.theme-pink .input-field.not-empty-state:after { - background: #e91e63; -} -.theme-pink .picker-calendar-day.picker-calendar-day-today span { - color: #e91e63; -} -.theme-pink .picker-calendar-day.picker-calendar-day-selected span { - background-color: #e91e63; - color: #fff; -} -.theme-pink .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #e91e63; -} -.theme-pink .picker-header { - background-color: #e91e63; -} -.theme-pink .modal-button { - color: #e91e63; -} -.swiper-pagination.color-pink .swiper-pagination-bullet-active, -.theme-pink .swiper-pagination .swiper-pagination-bullet-active { - background-color: #e91e63; -} -.swiper-pagination.color-pink .swiper-pagination-progressbar, -.theme-pink .swiper-pagination .swiper-pagination-progressbar { - background-color: #e91e63; -} -.swiper-pagination.swiper-pagination-progress.bg-pink { - background-color: rgba(233, 30, 99, 0.25); -} -.swiper-button-next.color-pink, -.swiper-container-rtl .swiper-button-prev.color-pink, -.theme-pink .swiper-button-next, -.theme-pink .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-pink, -.swiper-container-rtl .swiper-button-next.color-pink, -.theme-pink .swiper-button-prev, -.theme-pink .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink .floating-button, -.theme-pink .speed-dial-buttons a, -.floating-button.theme-pink, -.speed-dial-buttons a.theme-pink { - color: #fff; - background: #e91e63; -} -html:not(.watch-active-state) .theme-pink .floating-button:active, -html:not(.watch-active-state) .theme-pink .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-pink:active, -.theme-pink .floating-button.active-state, -.theme-pink .speed-dial-buttons a.active-state, -.floating-button.theme-pink.active-state, -.speed-dial-buttons a.theme-pink.active-state { - background: #C2185B; -} -.theme-pink .floating-button i, -.theme-pink .speed-dial-buttons a i, -.floating-button.theme-pink i, -.speed-dial-buttons a.theme-pink i { - color: inherit; -} -.theme-pink .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-pink input[type="range"]::-webkit-slider-thumb { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-pink input[type="range"]::-ms-thumb { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-pink input[type="range"]::-ms-fill-lower { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-pink input[type="range"]::-moz-range-thumb { - background-color: #e91e63; -} -.badge.theme-pink { - background-color: #e91e63; - color: #fff; -} -.theme-purple .button:not(.button-fill) { - color: #9c27b0; -} -.theme-purple .navbar .button:not(.button-fill), -.theme-purple.navbar .button:not(.button-fill), -.theme-purple .toolbar .button:not(.button-fill), -.theme-purple.toolbar .button:not(.button-fill), -.theme-purple .subnavbar .button:not(.button-fill), -.theme-purple.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-purple .button.button-fill { - background: #9c27b0; - color: #fff; -} -html:not(.watch-active-state) .theme-purple .button.button-fill:active, -.theme-purple .button.button-fill.active-state { - background: #7B1FA2; -} -.progressbar.theme-purple, -.theme-purple .progressbar { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar.theme-purple span, -.theme-purple .progressbar span { - background-color: #9c27b0; -} -.progressbar-infinite.theme-purple, -.theme-purple .progressbar-infinite { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar-infinite.theme-purple:after, -.theme-purple .progressbar-infinite:after, -.progressbar-infinite.theme-purple:before, -.theme-purple .progressbar-infinite:before { - background-color: #9c27b0; -} -.color-purple i.icon, -i.icon.color-purple { - color: #9c27b0; -} -i.icon-next.color-purple, -i.icon-next.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-purple, -i.icon-prev.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-purple, -i.icon-back.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-purple, -i.icon-forward.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-purple, -i.icon-bars.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -.theme-purple a { - color: #9c27b0; -} -.theme-purple .navbar, -.navbar.theme-purple, -.theme-purple .toolbar, -.toolbar.theme-purple, -.theme-purple .subnavbar, -.subnavbar.theme-purple, -.theme-purple .searchbar, -.searchbar.theme-purple { - background-color: #9c27b0; -} -.theme-purple .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-purple input[type="checkbox"]:checked + .checkbox { - background-color: rgba(156, 39, 176, 0.5); -} -.theme-purple .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-purple input[type="checkbox"]:checked + .checkbox:after { - background-color: #9c27b0; -} -.theme-purple label.label-checkbox, -label.label-checkbox.theme-purple { - cursor: pointer; -} -.theme-purple label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-purple i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-purple label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #9c27b0; - background-color: #9c27b0; -} -.theme-purple label.label-radio i.icon-form-radio:after, -label.label-radio.theme-purple i.icon-form-radio:after { - background-color: #9c27b0; -} -.theme-purple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-purple input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-purple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-purple input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #9c27b0; -} -.theme-purple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-purple input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-purple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-purple input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #9c27b0; -} -.theme-purple .focus-state .label, -.theme-purple .focus-state .floating-label { - color: #9c27b0; -} -.theme-purple .item-input-field.focus-state:after, -.theme-purple .input-field.focus-state:after, -.theme-purple .item-input-field.not-empty-state:after, -.theme-purple .input-field.not-empty-state:after { - background: #9c27b0; -} -.theme-purple .picker-calendar-day.picker-calendar-day-today span { - color: #9c27b0; -} -.theme-purple .picker-calendar-day.picker-calendar-day-selected span { - background-color: #9c27b0; - color: #fff; -} -.theme-purple .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #9c27b0; -} -.theme-purple .picker-header { - background-color: #9c27b0; -} -.theme-purple .modal-button { - color: #9c27b0; -} -.swiper-pagination.color-purple .swiper-pagination-bullet-active, -.theme-purple .swiper-pagination .swiper-pagination-bullet-active { - background-color: #9c27b0; -} -.swiper-pagination.color-purple .swiper-pagination-progressbar, -.theme-purple .swiper-pagination .swiper-pagination-progressbar { - background-color: #9c27b0; -} -.swiper-pagination.swiper-pagination-progress.bg-purple { - background-color: rgba(156, 39, 176, 0.25); -} -.swiper-button-next.color-purple, -.swiper-container-rtl .swiper-button-prev.color-purple, -.theme-purple .swiper-button-next, -.theme-purple .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-purple, -.swiper-container-rtl .swiper-button-next.color-purple, -.theme-purple .swiper-button-prev, -.theme-purple .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -.theme-purple .floating-button, -.theme-purple .speed-dial-buttons a, -.floating-button.theme-purple, -.speed-dial-buttons a.theme-purple { - color: #fff; - background: #9c27b0; -} -html:not(.watch-active-state) .theme-purple .floating-button:active, -html:not(.watch-active-state) .theme-purple .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-purple:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-purple:active, -.theme-purple .floating-button.active-state, -.theme-purple .speed-dial-buttons a.active-state, -.floating-button.theme-purple.active-state, -.speed-dial-buttons a.theme-purple.active-state { - background: #7B1FA2; -} -.theme-purple .floating-button i, -.theme-purple .speed-dial-buttons a i, -.floating-button.theme-purple i, -.speed-dial-buttons a.theme-purple i { - color: inherit; -} -.theme-purple .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-purple input[type="range"]::-webkit-slider-thumb:before { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-purple input[type="range"]::-webkit-slider-thumb { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-purple input[type="range"]::-ms-thumb { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-purple input[type="range"]::-ms-fill-lower { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-purple input[type="range"]::-moz-range-thumb { - background-color: #9c27b0; -} -.badge.theme-purple { - background-color: #9c27b0; - color: #fff; -} -.theme-deeppurple .button:not(.button-fill) { - color: #673ab7; -} -.theme-deeppurple .navbar .button:not(.button-fill), -.theme-deeppurple.navbar .button:not(.button-fill), -.theme-deeppurple .toolbar .button:not(.button-fill), -.theme-deeppurple.toolbar .button:not(.button-fill), -.theme-deeppurple .subnavbar .button:not(.button-fill), -.theme-deeppurple.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-deeppurple .button.button-fill { - background: #673ab7; - color: #fff; -} -html:not(.watch-active-state) .theme-deeppurple .button.button-fill:active, -.theme-deeppurple .button.button-fill.active-state { - background: #512DA8; -} -.progressbar.theme-deeppurple, -.theme-deeppurple .progressbar { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar.theme-deeppurple span, -.theme-deeppurple .progressbar span { - background-color: #673ab7; -} -.progressbar-infinite.theme-deeppurple, -.theme-deeppurple .progressbar-infinite { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar-infinite.theme-deeppurple:after, -.theme-deeppurple .progressbar-infinite:after, -.progressbar-infinite.theme-deeppurple:before, -.theme-deeppurple .progressbar-infinite:before { - background-color: #673ab7; -} -.color-deeppurple i.icon, -i.icon.color-deeppurple { - color: #673ab7; -} -i.icon-next.color-deeppurple, -i.icon-next.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-deeppurple, -i.icon-prev.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-deeppurple, -i.icon-back.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-deeppurple, -i.icon-forward.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-deeppurple, -i.icon-bars.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeppurple a { - color: #673ab7; -} -.theme-deeppurple .navbar, -.navbar.theme-deeppurple, -.theme-deeppurple .toolbar, -.toolbar.theme-deeppurple, -.theme-deeppurple .subnavbar, -.subnavbar.theme-deeppurple, -.theme-deeppurple .searchbar, -.searchbar.theme-deeppurple { - background-color: #673ab7; -} -.theme-deeppurple .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-deeppurple input[type="checkbox"]:checked + .checkbox { - background-color: rgba(103, 58, 183, 0.5); -} -.theme-deeppurple .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-deeppurple input[type="checkbox"]:checked + .checkbox:after { - background-color: #673ab7; -} -.theme-deeppurple label.label-checkbox, -label.label-checkbox.theme-deeppurple { - cursor: pointer; -} -.theme-deeppurple label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-deeppurple i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeppurple label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #673ab7; - background-color: #673ab7; -} -.theme-deeppurple label.label-radio i.icon-form-radio:after, -label.label-radio.theme-deeppurple i.icon-form-radio:after { - background-color: #673ab7; -} -.theme-deeppurple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #673ab7; -} -.theme-deeppurple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #673ab7; -} -.theme-deeppurple .focus-state .label, -.theme-deeppurple .focus-state .floating-label { - color: #673ab7; -} -.theme-deeppurple .item-input-field.focus-state:after, -.theme-deeppurple .input-field.focus-state:after, -.theme-deeppurple .item-input-field.not-empty-state:after, -.theme-deeppurple .input-field.not-empty-state:after { - background: #673ab7; -} -.theme-deeppurple .picker-calendar-day.picker-calendar-day-today span { - color: #673ab7; -} -.theme-deeppurple .picker-calendar-day.picker-calendar-day-selected span { - background-color: #673ab7; - color: #fff; -} -.theme-deeppurple .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #673ab7; -} -.theme-deeppurple .picker-header { - background-color: #673ab7; -} -.theme-deeppurple .modal-button { - color: #673ab7; -} -.swiper-pagination.color-deeppurple .swiper-pagination-bullet-active, -.theme-deeppurple .swiper-pagination .swiper-pagination-bullet-active { - background-color: #673ab7; -} -.swiper-pagination.color-deeppurple .swiper-pagination-progressbar, -.theme-deeppurple .swiper-pagination .swiper-pagination-progressbar { - background-color: #673ab7; -} -.swiper-pagination.swiper-pagination-progress.bg-deeppurple { - background-color: rgba(103, 58, 183, 0.25); -} -.swiper-button-next.color-deeppurple, -.swiper-container-rtl .swiper-button-prev.color-deeppurple, -.theme-deeppurple .swiper-button-next, -.theme-deeppurple .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-deeppurple, -.swiper-container-rtl .swiper-button-next.color-deeppurple, -.theme-deeppurple .swiper-button-prev, -.theme-deeppurple .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeppurple .floating-button, -.theme-deeppurple .speed-dial-buttons a, -.floating-button.theme-deeppurple, -.speed-dial-buttons a.theme-deeppurple { - color: #fff; - background: #673ab7; -} -html:not(.watch-active-state) .theme-deeppurple .floating-button:active, -html:not(.watch-active-state) .theme-deeppurple .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-deeppurple:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-deeppurple:active, -.theme-deeppurple .floating-button.active-state, -.theme-deeppurple .speed-dial-buttons a.active-state, -.floating-button.theme-deeppurple.active-state, -.speed-dial-buttons a.theme-deeppurple.active-state { - background: #512DA8; -} -.theme-deeppurple .floating-button i, -.theme-deeppurple .speed-dial-buttons a i, -.floating-button.theme-deeppurple i, -.speed-dial-buttons a.theme-deeppurple i { - color: inherit; -} -.theme-deeppurple .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-deeppurple input[type="range"]::-webkit-slider-thumb:before { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-deeppurple input[type="range"]::-webkit-slider-thumb { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-deeppurple input[type="range"]::-ms-thumb { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-deeppurple input[type="range"]::-ms-fill-lower { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-deeppurple input[type="range"]::-moz-range-thumb { - background-color: #673ab7; -} -.badge.theme-deeppurple { - background-color: #673ab7; - color: #fff; -} -.theme-indigo .button:not(.button-fill) { - color: #3f51b5; -} -.theme-indigo .navbar .button:not(.button-fill), -.theme-indigo.navbar .button:not(.button-fill), -.theme-indigo .toolbar .button:not(.button-fill), -.theme-indigo.toolbar .button:not(.button-fill), -.theme-indigo .subnavbar .button:not(.button-fill), -.theme-indigo.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-indigo .button.button-fill { - background: #3f51b5; - color: #fff; -} -html:not(.watch-active-state) .theme-indigo .button.button-fill:active, -.theme-indigo .button.button-fill.active-state { - background: #303F9F; -} -.progressbar.theme-indigo, -.theme-indigo .progressbar { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar.theme-indigo span, -.theme-indigo .progressbar span { - background-color: #3f51b5; -} -.progressbar-infinite.theme-indigo, -.theme-indigo .progressbar-infinite { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar-infinite.theme-indigo:after, -.theme-indigo .progressbar-infinite:after, -.progressbar-infinite.theme-indigo:before, -.theme-indigo .progressbar-infinite:before { - background-color: #3f51b5; -} -.color-indigo i.icon, -i.icon.color-indigo { - color: #3f51b5; -} -i.icon-next.color-indigo, -i.icon-next.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-indigo, -i.icon-prev.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-indigo, -i.icon-back.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-indigo, -i.icon-forward.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-indigo, -i.icon-bars.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -.theme-indigo a { - color: #3f51b5; -} -.theme-indigo .navbar, -.navbar.theme-indigo, -.theme-indigo .toolbar, -.toolbar.theme-indigo, -.theme-indigo .subnavbar, -.subnavbar.theme-indigo, -.theme-indigo .searchbar, -.searchbar.theme-indigo { - background-color: #3f51b5; -} -.theme-indigo .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-indigo input[type="checkbox"]:checked + .checkbox { - background-color: rgba(63, 81, 181, 0.5); -} -.theme-indigo .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-indigo input[type="checkbox"]:checked + .checkbox:after { - background-color: #3f51b5; -} -.theme-indigo label.label-checkbox, -label.label-checkbox.theme-indigo { - cursor: pointer; -} -.theme-indigo label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-indigo i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-indigo label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #3f51b5; - background-color: #3f51b5; -} -.theme-indigo label.label-radio i.icon-form-radio:after, -label.label-radio.theme-indigo i.icon-form-radio:after { - background-color: #3f51b5; -} -.theme-indigo label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-indigo input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-indigo label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-indigo input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #3f51b5; -} -.theme-indigo label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #3f51b5; -} -.theme-indigo .focus-state .label, -.theme-indigo .focus-state .floating-label { - color: #3f51b5; -} -.theme-indigo .item-input-field.focus-state:after, -.theme-indigo .input-field.focus-state:after, -.theme-indigo .item-input-field.not-empty-state:after, -.theme-indigo .input-field.not-empty-state:after { - background: #3f51b5; -} -.theme-indigo .picker-calendar-day.picker-calendar-day-today span { - color: #3f51b5; -} -.theme-indigo .picker-calendar-day.picker-calendar-day-selected span { - background-color: #3f51b5; - color: #fff; -} -.theme-indigo .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #3f51b5; -} -.theme-indigo .picker-header { - background-color: #3f51b5; -} -.theme-indigo .modal-button { - color: #3f51b5; -} -.swiper-pagination.color-indigo .swiper-pagination-bullet-active, -.theme-indigo .swiper-pagination .swiper-pagination-bullet-active { - background-color: #3f51b5; -} -.swiper-pagination.color-indigo .swiper-pagination-progressbar, -.theme-indigo .swiper-pagination .swiper-pagination-progressbar { - background-color: #3f51b5; -} -.swiper-pagination.swiper-pagination-progress.bg-indigo { - background-color: rgba(63, 81, 181, 0.25); -} -.swiper-button-next.color-indigo, -.swiper-container-rtl .swiper-button-prev.color-indigo, -.theme-indigo .swiper-button-next, -.theme-indigo .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-indigo, -.swiper-container-rtl .swiper-button-next.color-indigo, -.theme-indigo .swiper-button-prev, -.theme-indigo .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -.theme-indigo .floating-button, -.theme-indigo .speed-dial-buttons a, -.floating-button.theme-indigo, -.speed-dial-buttons a.theme-indigo { - color: #fff; - background: #3f51b5; -} -html:not(.watch-active-state) .theme-indigo .floating-button:active, -html:not(.watch-active-state) .theme-indigo .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-indigo:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-indigo:active, -.theme-indigo .floating-button.active-state, -.theme-indigo .speed-dial-buttons a.active-state, -.floating-button.theme-indigo.active-state, -.speed-dial-buttons a.theme-indigo.active-state { - background: #303F9F; -} -.theme-indigo .floating-button i, -.theme-indigo .speed-dial-buttons a i, -.floating-button.theme-indigo i, -.speed-dial-buttons a.theme-indigo i { - color: inherit; -} -.theme-indigo .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-indigo input[type="range"]::-webkit-slider-thumb:before { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-indigo input[type="range"]::-webkit-slider-thumb { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-indigo input[type="range"]::-ms-thumb { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-indigo input[type="range"]::-ms-fill-lower { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-indigo input[type="range"]::-moz-range-thumb { - background-color: #3f51b5; -} -.badge.theme-indigo { - background-color: #3f51b5; - color: #fff; -} -.theme-blue .button:not(.button-fill) { - color: #2196f3; -} -.theme-blue .navbar .button:not(.button-fill), -.theme-blue.navbar .button:not(.button-fill), -.theme-blue .toolbar .button:not(.button-fill), -.theme-blue.toolbar .button:not(.button-fill), -.theme-blue .subnavbar .button:not(.button-fill), -.theme-blue.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-blue .button.button-fill { - background: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .theme-blue .button.button-fill:active, -.theme-blue .button.button-fill.active-state { - background: #1976D2; -} -.progressbar.theme-blue, -.theme-blue .progressbar { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar.theme-blue span, -.theme-blue .progressbar span { - background-color: #2196f3; -} -.progressbar-infinite.theme-blue, -.theme-blue .progressbar-infinite { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar-infinite.theme-blue:after, -.theme-blue .progressbar-infinite:after, -.progressbar-infinite.theme-blue:before, -.theme-blue .progressbar-infinite:before { - background-color: #2196f3; -} -.color-blue i.icon, -i.icon.color-blue { - color: #2196f3; -} -i.icon-next.color-blue, -i.icon-next.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-blue, -i.icon-prev.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-blue, -i.icon-back.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-blue, -i.icon-forward.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-blue, -i.icon-bars.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue a { - color: #2196f3; -} -.theme-blue .navbar, -.navbar.theme-blue, -.theme-blue .toolbar, -.toolbar.theme-blue, -.theme-blue .subnavbar, -.subnavbar.theme-blue, -.theme-blue .searchbar, -.searchbar.theme-blue { - background-color: #2196f3; -} -.theme-blue .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-blue input[type="checkbox"]:checked + .checkbox { - background-color: rgba(33, 150, 243, 0.5); -} -.theme-blue .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-blue input[type="checkbox"]:checked + .checkbox:after { - background-color: #2196f3; -} -.theme-blue label.label-checkbox, -label.label-checkbox.theme-blue { - cursor: pointer; -} -.theme-blue label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-blue i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #2196f3; - background-color: #2196f3; -} -.theme-blue label.label-radio i.icon-form-radio:after, -label.label-radio.theme-blue i.icon-form-radio:after { - background-color: #2196f3; -} -.theme-blue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-blue input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-blue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-blue input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #2196f3; -} -.theme-blue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-blue input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-blue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-blue input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #2196f3; -} -.theme-blue .focus-state .label, -.theme-blue .focus-state .floating-label { - color: #2196f3; -} -.theme-blue .item-input-field.focus-state:after, -.theme-blue .input-field.focus-state:after, -.theme-blue .item-input-field.not-empty-state:after, -.theme-blue .input-field.not-empty-state:after { - background: #2196f3; -} -.theme-blue .picker-calendar-day.picker-calendar-day-today span { - color: #2196f3; -} -.theme-blue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #2196f3; - color: #fff; -} -.theme-blue .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #2196f3; -} -.theme-blue .picker-header { - background-color: #2196f3; -} -.theme-blue .modal-button { - color: #2196f3; -} -.swiper-pagination.color-blue .swiper-pagination-bullet-active, -.theme-blue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #2196f3; -} -.swiper-pagination.color-blue .swiper-pagination-progressbar, -.theme-blue .swiper-pagination .swiper-pagination-progressbar { - background-color: #2196f3; -} -.swiper-pagination.swiper-pagination-progress.bg-blue { - background-color: rgba(33, 150, 243, 0.25); -} -.swiper-button-next.color-blue, -.swiper-container-rtl .swiper-button-prev.color-blue, -.theme-blue .swiper-button-next, -.theme-blue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-blue, -.swiper-container-rtl .swiper-button-next.color-blue, -.theme-blue .swiper-button-prev, -.theme-blue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue .floating-button, -.theme-blue .speed-dial-buttons a, -.floating-button.theme-blue, -.speed-dial-buttons a.theme-blue { - color: #fff; - background: #2196f3; -} -html:not(.watch-active-state) .theme-blue .floating-button:active, -html:not(.watch-active-state) .theme-blue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-blue:active, -.theme-blue .floating-button.active-state, -.theme-blue .speed-dial-buttons a.active-state, -.floating-button.theme-blue.active-state, -.speed-dial-buttons a.theme-blue.active-state { - background: #1976D2; -} -.theme-blue .floating-button i, -.theme-blue .speed-dial-buttons a i, -.floating-button.theme-blue i, -.speed-dial-buttons a.theme-blue i { - color: inherit; -} -.theme-blue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-blue input[type="range"]::-webkit-slider-thumb { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-blue input[type="range"]::-ms-thumb { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-blue input[type="range"]::-ms-fill-lower { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-blue input[type="range"]::-moz-range-thumb { - background-color: #2196f3; -} -.badge.theme-blue { - background-color: #2196f3; - color: #fff; -} -.theme-lightblue .button:not(.button-fill) { - color: #03a9f4; -} -.theme-lightblue .navbar .button:not(.button-fill), -.theme-lightblue.navbar .button:not(.button-fill), -.theme-lightblue .toolbar .button:not(.button-fill), -.theme-lightblue.toolbar .button:not(.button-fill), -.theme-lightblue .subnavbar .button:not(.button-fill), -.theme-lightblue.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-lightblue .button.button-fill { - background: #03a9f4; - color: #fff; -} -html:not(.watch-active-state) .theme-lightblue .button.button-fill:active, -.theme-lightblue .button.button-fill.active-state { - background: #0288D1; -} -.progressbar.theme-lightblue, -.theme-lightblue .progressbar { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar.theme-lightblue span, -.theme-lightblue .progressbar span { - background-color: #03a9f4; -} -.progressbar-infinite.theme-lightblue, -.theme-lightblue .progressbar-infinite { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar-infinite.theme-lightblue:after, -.theme-lightblue .progressbar-infinite:after, -.progressbar-infinite.theme-lightblue:before, -.theme-lightblue .progressbar-infinite:before { - background-color: #03a9f4; -} -.color-lightblue i.icon, -i.icon.color-lightblue { - color: #03a9f4; -} -i.icon-next.color-lightblue, -i.icon-next.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightblue, -i.icon-prev.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightblue, -i.icon-back.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightblue, -i.icon-forward.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lightblue, -i.icon-bars.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue a { - color: #03a9f4; -} -.theme-lightblue .navbar, -.navbar.theme-lightblue, -.theme-lightblue .toolbar, -.toolbar.theme-lightblue, -.theme-lightblue .subnavbar, -.subnavbar.theme-lightblue, -.theme-lightblue .searchbar, -.searchbar.theme-lightblue { - background-color: #03a9f4; -} -.theme-lightblue .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-lightblue input[type="checkbox"]:checked + .checkbox { - background-color: rgba(3, 169, 244, 0.5); -} -.theme-lightblue .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-lightblue input[type="checkbox"]:checked + .checkbox:after { - background-color: #03a9f4; -} -.theme-lightblue label.label-checkbox, -label.label-checkbox.theme-lightblue { - cursor: pointer; -} -.theme-lightblue label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-lightblue i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #03a9f4; - background-color: #03a9f4; -} -.theme-lightblue label.label-radio i.icon-form-radio:after, -label.label-radio.theme-lightblue i.icon-form-radio:after { - background-color: #03a9f4; -} -.theme-lightblue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightblue input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-lightblue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightblue input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #03a9f4; -} -.theme-lightblue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #03a9f4; -} -.theme-lightblue .focus-state .label, -.theme-lightblue .focus-state .floating-label { - color: #03a9f4; -} -.theme-lightblue .item-input-field.focus-state:after, -.theme-lightblue .input-field.focus-state:after, -.theme-lightblue .item-input-field.not-empty-state:after, -.theme-lightblue .input-field.not-empty-state:after { - background: #03a9f4; -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-today span { - color: #03a9f4; -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #03a9f4; - color: #fff; -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #03a9f4; -} -.theme-lightblue .picker-header { - background-color: #03a9f4; -} -.theme-lightblue .modal-button { - color: #03a9f4; -} -.swiper-pagination.color-lightblue .swiper-pagination-bullet-active, -.theme-lightblue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #03a9f4; -} -.swiper-pagination.color-lightblue .swiper-pagination-progressbar, -.theme-lightblue .swiper-pagination .swiper-pagination-progressbar { - background-color: #03a9f4; -} -.swiper-pagination.swiper-pagination-progress.bg-lightblue { - background-color: rgba(3, 169, 244, 0.25); -} -.swiper-button-next.color-lightblue, -.swiper-container-rtl .swiper-button-prev.color-lightblue, -.theme-lightblue .swiper-button-next, -.theme-lightblue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lightblue, -.swiper-container-rtl .swiper-button-next.color-lightblue, -.theme-lightblue .swiper-button-prev, -.theme-lightblue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue .floating-button, -.theme-lightblue .speed-dial-buttons a, -.floating-button.theme-lightblue, -.speed-dial-buttons a.theme-lightblue { - color: #fff; - background: #03a9f4; -} -html:not(.watch-active-state) .theme-lightblue .floating-button:active, -html:not(.watch-active-state) .theme-lightblue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lightblue:active, -.theme-lightblue .floating-button.active-state, -.theme-lightblue .speed-dial-buttons a.active-state, -.floating-button.theme-lightblue.active-state, -.speed-dial-buttons a.theme-lightblue.active-state { - background: #0288D1; -} -.theme-lightblue .floating-button i, -.theme-lightblue .speed-dial-buttons a i, -.floating-button.theme-lightblue i, -.speed-dial-buttons a.theme-lightblue i { - color: inherit; -} -.theme-lightblue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-lightblue input[type="range"]::-webkit-slider-thumb { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-lightblue input[type="range"]::-ms-thumb { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lightblue input[type="range"]::-ms-fill-lower { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-lightblue input[type="range"]::-moz-range-thumb { - background-color: #03a9f4; -} -.badge.theme-lightblue { - background-color: #03a9f4; - color: #fff; -} -.theme-cyan .button:not(.button-fill) { - color: #00bcd4; -} -.theme-cyan .navbar .button:not(.button-fill), -.theme-cyan.navbar .button:not(.button-fill), -.theme-cyan .toolbar .button:not(.button-fill), -.theme-cyan.toolbar .button:not(.button-fill), -.theme-cyan .subnavbar .button:not(.button-fill), -.theme-cyan.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-cyan .button.button-fill { - background: #00bcd4; - color: #fff; -} -html:not(.watch-active-state) .theme-cyan .button.button-fill:active, -.theme-cyan .button.button-fill.active-state { - background: #0097A7; -} -.progressbar.theme-cyan, -.theme-cyan .progressbar { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar.theme-cyan span, -.theme-cyan .progressbar span { - background-color: #00bcd4; -} -.progressbar-infinite.theme-cyan, -.theme-cyan .progressbar-infinite { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar-infinite.theme-cyan:after, -.theme-cyan .progressbar-infinite:after, -.progressbar-infinite.theme-cyan:before, -.theme-cyan .progressbar-infinite:before { - background-color: #00bcd4; -} -.color-cyan i.icon, -i.icon.color-cyan { - color: #00bcd4; -} -i.icon-next.color-cyan, -i.icon-next.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-cyan, -i.icon-prev.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-cyan, -i.icon-back.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-cyan, -i.icon-forward.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-cyan, -i.icon-bars.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-cyan a { - color: #00bcd4; -} -.theme-cyan .navbar, -.navbar.theme-cyan, -.theme-cyan .toolbar, -.toolbar.theme-cyan, -.theme-cyan .subnavbar, -.subnavbar.theme-cyan, -.theme-cyan .searchbar, -.searchbar.theme-cyan { - background-color: #00bcd4; -} -.theme-cyan .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-cyan input[type="checkbox"]:checked + .checkbox { - background-color: rgba(0, 188, 212, 0.5); -} -.theme-cyan .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-cyan input[type="checkbox"]:checked + .checkbox:after { - background-color: #00bcd4; -} -.theme-cyan label.label-checkbox, -label.label-checkbox.theme-cyan { - cursor: pointer; -} -.theme-cyan label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-cyan i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-cyan label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #00bcd4; - background-color: #00bcd4; -} -.theme-cyan label.label-radio i.icon-form-radio:after, -label.label-radio.theme-cyan i.icon-form-radio:after { - background-color: #00bcd4; -} -.theme-cyan label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-cyan input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-cyan label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-cyan input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #00bcd4; -} -.theme-cyan label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #00bcd4; -} -.theme-cyan .focus-state .label, -.theme-cyan .focus-state .floating-label { - color: #00bcd4; -} -.theme-cyan .item-input-field.focus-state:after, -.theme-cyan .input-field.focus-state:after, -.theme-cyan .item-input-field.not-empty-state:after, -.theme-cyan .input-field.not-empty-state:after { - background: #00bcd4; -} -.theme-cyan .picker-calendar-day.picker-calendar-day-today span { - color: #00bcd4; -} -.theme-cyan .picker-calendar-day.picker-calendar-day-selected span { - background-color: #00bcd4; - color: #fff; -} -.theme-cyan .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #00bcd4; -} -.theme-cyan .picker-header { - background-color: #00bcd4; -} -.theme-cyan .modal-button { - color: #00bcd4; -} -.swiper-pagination.color-cyan .swiper-pagination-bullet-active, -.theme-cyan .swiper-pagination .swiper-pagination-bullet-active { - background-color: #00bcd4; -} -.swiper-pagination.color-cyan .swiper-pagination-progressbar, -.theme-cyan .swiper-pagination .swiper-pagination-progressbar { - background-color: #00bcd4; -} -.swiper-pagination.swiper-pagination-progress.bg-cyan { - background-color: rgba(0, 188, 212, 0.25); -} -.swiper-button-next.color-cyan, -.swiper-container-rtl .swiper-button-prev.color-cyan, -.theme-cyan .swiper-button-next, -.theme-cyan .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-cyan, -.swiper-container-rtl .swiper-button-next.color-cyan, -.theme-cyan .swiper-button-prev, -.theme-cyan .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-cyan .floating-button, -.theme-cyan .speed-dial-buttons a, -.floating-button.theme-cyan, -.speed-dial-buttons a.theme-cyan { - color: #fff; - background: #00bcd4; -} -html:not(.watch-active-state) .theme-cyan .floating-button:active, -html:not(.watch-active-state) .theme-cyan .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-cyan:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-cyan:active, -.theme-cyan .floating-button.active-state, -.theme-cyan .speed-dial-buttons a.active-state, -.floating-button.theme-cyan.active-state, -.speed-dial-buttons a.theme-cyan.active-state { - background: #0097A7; -} -.theme-cyan .floating-button i, -.theme-cyan .speed-dial-buttons a i, -.floating-button.theme-cyan i, -.speed-dial-buttons a.theme-cyan i { - color: inherit; -} -.theme-cyan .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-cyan input[type="range"]::-webkit-slider-thumb:before { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-cyan input[type="range"]::-webkit-slider-thumb { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-cyan input[type="range"]::-ms-thumb { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-cyan input[type="range"]::-ms-fill-lower { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-cyan input[type="range"]::-moz-range-thumb { - background-color: #00bcd4; -} -.badge.theme-cyan { - background-color: #00bcd4; - color: #fff; -} -.theme-teal .button:not(.button-fill) { - color: #009688; -} -.theme-teal .navbar .button:not(.button-fill), -.theme-teal.navbar .button:not(.button-fill), -.theme-teal .toolbar .button:not(.button-fill), -.theme-teal.toolbar .button:not(.button-fill), -.theme-teal .subnavbar .button:not(.button-fill), -.theme-teal.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-teal .button.button-fill { - background: #009688; - color: #fff; -} -html:not(.watch-active-state) .theme-teal .button.button-fill:active, -.theme-teal .button.button-fill.active-state { - background: #00897B; -} -.progressbar.theme-teal, -.theme-teal .progressbar { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar.theme-teal span, -.theme-teal .progressbar span { - background-color: #009688; -} -.progressbar-infinite.theme-teal, -.theme-teal .progressbar-infinite { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar-infinite.theme-teal:after, -.theme-teal .progressbar-infinite:after, -.progressbar-infinite.theme-teal:before, -.theme-teal .progressbar-infinite:before { - background-color: #009688; -} -.color-teal i.icon, -i.icon.color-teal { - color: #009688; -} -i.icon-next.color-teal, -i.icon-next.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-teal, -i.icon-prev.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-teal, -i.icon-back.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-teal, -i.icon-forward.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-teal, -i.icon-bars.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -.theme-teal a { - color: #009688; -} -.theme-teal .navbar, -.navbar.theme-teal, -.theme-teal .toolbar, -.toolbar.theme-teal, -.theme-teal .subnavbar, -.subnavbar.theme-teal, -.theme-teal .searchbar, -.searchbar.theme-teal { - background-color: #009688; -} -.theme-teal .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-teal input[type="checkbox"]:checked + .checkbox { - background-color: rgba(0, 150, 136, 0.5); -} -.theme-teal .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-teal input[type="checkbox"]:checked + .checkbox:after { - background-color: #009688; -} -.theme-teal label.label-checkbox, -label.label-checkbox.theme-teal { - cursor: pointer; -} -.theme-teal label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-teal i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-teal label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #009688; - background-color: #009688; -} -.theme-teal label.label-radio i.icon-form-radio:after, -label.label-radio.theme-teal i.icon-form-radio:after { - background-color: #009688; -} -.theme-teal label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-teal input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-teal label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-teal input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #009688; -} -.theme-teal label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-teal input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-teal label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-teal input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #009688; -} -.theme-teal .focus-state .label, -.theme-teal .focus-state .floating-label { - color: #009688; -} -.theme-teal .item-input-field.focus-state:after, -.theme-teal .input-field.focus-state:after, -.theme-teal .item-input-field.not-empty-state:after, -.theme-teal .input-field.not-empty-state:after { - background: #009688; -} -.theme-teal .picker-calendar-day.picker-calendar-day-today span { - color: #009688; -} -.theme-teal .picker-calendar-day.picker-calendar-day-selected span { - background-color: #009688; - color: #fff; -} -.theme-teal .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #009688; -} -.theme-teal .picker-header { - background-color: #009688; -} -.theme-teal .modal-button { - color: #009688; -} -.swiper-pagination.color-teal .swiper-pagination-bullet-active, -.theme-teal .swiper-pagination .swiper-pagination-bullet-active { - background-color: #009688; -} -.swiper-pagination.color-teal .swiper-pagination-progressbar, -.theme-teal .swiper-pagination .swiper-pagination-progressbar { - background-color: #009688; -} -.swiper-pagination.swiper-pagination-progress.bg-teal { - background-color: rgba(0, 150, 136, 0.25); -} -.swiper-button-next.color-teal, -.swiper-container-rtl .swiper-button-prev.color-teal, -.theme-teal .swiper-button-next, -.theme-teal .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-teal, -.swiper-container-rtl .swiper-button-next.color-teal, -.theme-teal .swiper-button-prev, -.theme-teal .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -.theme-teal .floating-button, -.theme-teal .speed-dial-buttons a, -.floating-button.theme-teal, -.speed-dial-buttons a.theme-teal { - color: #fff; - background: #009688; -} -html:not(.watch-active-state) .theme-teal .floating-button:active, -html:not(.watch-active-state) .theme-teal .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-teal:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-teal:active, -.theme-teal .floating-button.active-state, -.theme-teal .speed-dial-buttons a.active-state, -.floating-button.theme-teal.active-state, -.speed-dial-buttons a.theme-teal.active-state { - background: #00897B; -} -.theme-teal .floating-button i, -.theme-teal .speed-dial-buttons a i, -.floating-button.theme-teal i, -.speed-dial-buttons a.theme-teal i { - color: inherit; -} -.theme-teal .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-teal input[type="range"]::-webkit-slider-thumb:before { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-teal input[type="range"]::-webkit-slider-thumb { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-teal input[type="range"]::-ms-thumb { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-teal input[type="range"]::-ms-fill-lower { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-teal input[type="range"]::-moz-range-thumb { - background-color: #009688; -} -.badge.theme-teal { - background-color: #009688; - color: #fff; -} -.theme-green .button:not(.button-fill) { - color: #4caf50; -} -.theme-green .navbar .button:not(.button-fill), -.theme-green.navbar .button:not(.button-fill), -.theme-green .toolbar .button:not(.button-fill), -.theme-green.toolbar .button:not(.button-fill), -.theme-green .subnavbar .button:not(.button-fill), -.theme-green.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-green .button.button-fill { - background: #4caf50; - color: #fff; -} -html:not(.watch-active-state) .theme-green .button.button-fill:active, -.theme-green .button.button-fill.active-state { - background: #388E3C; -} -.progressbar.theme-green, -.theme-green .progressbar { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar.theme-green span, -.theme-green .progressbar span { - background-color: #4caf50; -} -.progressbar-infinite.theme-green, -.theme-green .progressbar-infinite { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar-infinite.theme-green:after, -.theme-green .progressbar-infinite:after, -.progressbar-infinite.theme-green:before, -.theme-green .progressbar-infinite:before { - background-color: #4caf50; -} -.color-green i.icon, -i.icon.color-green { - color: #4caf50; -} -i.icon-next.color-green, -i.icon-next.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-green, -i.icon-prev.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-green, -i.icon-back.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-green, -i.icon-forward.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-green, -i.icon-bars.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green a { - color: #4caf50; -} -.theme-green .navbar, -.navbar.theme-green, -.theme-green .toolbar, -.toolbar.theme-green, -.theme-green .subnavbar, -.subnavbar.theme-green, -.theme-green .searchbar, -.searchbar.theme-green { - background-color: #4caf50; -} -.theme-green .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-green input[type="checkbox"]:checked + .checkbox { - background-color: rgba(76, 175, 80, 0.5); -} -.theme-green .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-green input[type="checkbox"]:checked + .checkbox:after { - background-color: #4caf50; -} -.theme-green label.label-checkbox, -label.label-checkbox.theme-green { - cursor: pointer; -} -.theme-green label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-green i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #4caf50; - background-color: #4caf50; -} -.theme-green label.label-radio i.icon-form-radio:after, -label.label-radio.theme-green i.icon-form-radio:after { - background-color: #4caf50; -} -.theme-green label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-green input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-green label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-green input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #4caf50; -} -.theme-green label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-green input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-green label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-green input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #4caf50; -} -.theme-green .focus-state .label, -.theme-green .focus-state .floating-label { - color: #4caf50; -} -.theme-green .item-input-field.focus-state:after, -.theme-green .input-field.focus-state:after, -.theme-green .item-input-field.not-empty-state:after, -.theme-green .input-field.not-empty-state:after { - background: #4caf50; -} -.theme-green .picker-calendar-day.picker-calendar-day-today span { - color: #4caf50; -} -.theme-green .picker-calendar-day.picker-calendar-day-selected span { - background-color: #4caf50; - color: #fff; -} -.theme-green .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #4caf50; -} -.theme-green .picker-header { - background-color: #4caf50; -} -.theme-green .modal-button { - color: #4caf50; -} -.swiper-pagination.color-green .swiper-pagination-bullet-active, -.theme-green .swiper-pagination .swiper-pagination-bullet-active { - background-color: #4caf50; -} -.swiper-pagination.color-green .swiper-pagination-progressbar, -.theme-green .swiper-pagination .swiper-pagination-progressbar { - background-color: #4caf50; -} -.swiper-pagination.swiper-pagination-progress.bg-green { - background-color: rgba(76, 175, 80, 0.25); -} -.swiper-button-next.color-green, -.swiper-container-rtl .swiper-button-prev.color-green, -.theme-green .swiper-button-next, -.theme-green .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-green, -.swiper-container-rtl .swiper-button-next.color-green, -.theme-green .swiper-button-prev, -.theme-green .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green .floating-button, -.theme-green .speed-dial-buttons a, -.floating-button.theme-green, -.speed-dial-buttons a.theme-green { - color: #fff; - background: #4caf50; -} -html:not(.watch-active-state) .theme-green .floating-button:active, -html:not(.watch-active-state) .theme-green .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-green:active, -.theme-green .floating-button.active-state, -.theme-green .speed-dial-buttons a.active-state, -.floating-button.theme-green.active-state, -.speed-dial-buttons a.theme-green.active-state { - background: #388E3C; -} -.theme-green .floating-button i, -.theme-green .speed-dial-buttons a i, -.floating-button.theme-green i, -.speed-dial-buttons a.theme-green i { - color: inherit; -} -.theme-green .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-green input[type="range"]::-webkit-slider-thumb { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-green input[type="range"]::-ms-thumb { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-green input[type="range"]::-ms-fill-lower { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-green input[type="range"]::-moz-range-thumb { - background-color: #4caf50; -} -.badge.theme-green { - background-color: #4caf50; - color: #fff; -} -.theme-lightgreen .button:not(.button-fill) { - color: #8bc34a; -} -.theme-lightgreen .navbar .button:not(.button-fill), -.theme-lightgreen.navbar .button:not(.button-fill), -.theme-lightgreen .toolbar .button:not(.button-fill), -.theme-lightgreen.toolbar .button:not(.button-fill), -.theme-lightgreen .subnavbar .button:not(.button-fill), -.theme-lightgreen.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-lightgreen .button.button-fill { - background: #8bc34a; - color: #fff; -} -html:not(.watch-active-state) .theme-lightgreen .button.button-fill:active, -.theme-lightgreen .button.button-fill.active-state { - background: #689F38; -} -.progressbar.theme-lightgreen, -.theme-lightgreen .progressbar { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar.theme-lightgreen span, -.theme-lightgreen .progressbar span { - background-color: #8bc34a; -} -.progressbar-infinite.theme-lightgreen, -.theme-lightgreen .progressbar-infinite { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar-infinite.theme-lightgreen:after, -.theme-lightgreen .progressbar-infinite:after, -.progressbar-infinite.theme-lightgreen:before, -.theme-lightgreen .progressbar-infinite:before { - background-color: #8bc34a; -} -.color-lightgreen i.icon, -i.icon.color-lightgreen { - color: #8bc34a; -} -i.icon-next.color-lightgreen, -i.icon-next.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightgreen, -i.icon-prev.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightgreen, -i.icon-back.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightgreen, -i.icon-forward.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lightgreen, -i.icon-bars.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightgreen a { - color: #8bc34a; -} -.theme-lightgreen .navbar, -.navbar.theme-lightgreen, -.theme-lightgreen .toolbar, -.toolbar.theme-lightgreen, -.theme-lightgreen .subnavbar, -.subnavbar.theme-lightgreen, -.theme-lightgreen .searchbar, -.searchbar.theme-lightgreen { - background-color: #8bc34a; -} -.theme-lightgreen .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-lightgreen input[type="checkbox"]:checked + .checkbox { - background-color: rgba(139, 195, 74, 0.5); -} -.theme-lightgreen .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-lightgreen input[type="checkbox"]:checked + .checkbox:after { - background-color: #8bc34a; -} -.theme-lightgreen label.label-checkbox, -label.label-checkbox.theme-lightgreen { - cursor: pointer; -} -.theme-lightgreen label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-lightgreen i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightgreen label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #8bc34a; - background-color: #8bc34a; -} -.theme-lightgreen label.label-radio i.icon-form-radio:after, -label.label-radio.theme-lightgreen i.icon-form-radio:after { - background-color: #8bc34a; -} -.theme-lightgreen label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #8bc34a; -} -.theme-lightgreen label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #8bc34a; -} -.theme-lightgreen .focus-state .label, -.theme-lightgreen .focus-state .floating-label { - color: #8bc34a; -} -.theme-lightgreen .item-input-field.focus-state:after, -.theme-lightgreen .input-field.focus-state:after, -.theme-lightgreen .item-input-field.not-empty-state:after, -.theme-lightgreen .input-field.not-empty-state:after { - background: #8bc34a; -} -.theme-lightgreen .picker-calendar-day.picker-calendar-day-today span { - color: #8bc34a; -} -.theme-lightgreen .picker-calendar-day.picker-calendar-day-selected span { - background-color: #8bc34a; - color: #fff; -} -.theme-lightgreen .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #8bc34a; -} -.theme-lightgreen .picker-header { - background-color: #8bc34a; -} -.theme-lightgreen .modal-button { - color: #8bc34a; -} -.swiper-pagination.color-lightgreen .swiper-pagination-bullet-active, -.theme-lightgreen .swiper-pagination .swiper-pagination-bullet-active { - background-color: #8bc34a; -} -.swiper-pagination.color-lightgreen .swiper-pagination-progressbar, -.theme-lightgreen .swiper-pagination .swiper-pagination-progressbar { - background-color: #8bc34a; -} -.swiper-pagination.swiper-pagination-progress.bg-lightgreen { - background-color: rgba(139, 195, 74, 0.25); -} -.swiper-button-next.color-lightgreen, -.swiper-container-rtl .swiper-button-prev.color-lightgreen, -.theme-lightgreen .swiper-button-next, -.theme-lightgreen .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lightgreen, -.swiper-container-rtl .swiper-button-next.color-lightgreen, -.theme-lightgreen .swiper-button-prev, -.theme-lightgreen .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightgreen .floating-button, -.theme-lightgreen .speed-dial-buttons a, -.floating-button.theme-lightgreen, -.speed-dial-buttons a.theme-lightgreen { - color: #fff; - background: #8bc34a; -} -html:not(.watch-active-state) .theme-lightgreen .floating-button:active, -html:not(.watch-active-state) .theme-lightgreen .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lightgreen:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lightgreen:active, -.theme-lightgreen .floating-button.active-state, -.theme-lightgreen .speed-dial-buttons a.active-state, -.floating-button.theme-lightgreen.active-state, -.speed-dial-buttons a.theme-lightgreen.active-state { - background: #689F38; -} -.theme-lightgreen .floating-button i, -.theme-lightgreen .speed-dial-buttons a i, -.floating-button.theme-lightgreen i, -.speed-dial-buttons a.theme-lightgreen i { - color: inherit; -} -.theme-lightgreen .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lightgreen input[type="range"]::-webkit-slider-thumb:before { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-lightgreen input[type="range"]::-webkit-slider-thumb { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-lightgreen input[type="range"]::-ms-thumb { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lightgreen input[type="range"]::-ms-fill-lower { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-lightgreen input[type="range"]::-moz-range-thumb { - background-color: #8bc34a; -} -.badge.theme-lightgreen { - background-color: #8bc34a; - color: #fff; -} -.theme-lime .button:not(.button-fill) { - color: #cddc39; -} -.theme-lime .navbar .button:not(.button-fill), -.theme-lime.navbar .button:not(.button-fill), -.theme-lime .toolbar .button:not(.button-fill), -.theme-lime.toolbar .button:not(.button-fill), -.theme-lime .subnavbar .button:not(.button-fill), -.theme-lime.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-lime .button.button-fill { - background: #cddc39; - color: #fff; -} -html:not(.watch-active-state) .theme-lime .button.button-fill:active, -.theme-lime .button.button-fill.active-state { - background: #AFB42B; -} -.progressbar.theme-lime, -.theme-lime .progressbar { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar.theme-lime span, -.theme-lime .progressbar span { - background-color: #cddc39; -} -.progressbar-infinite.theme-lime, -.theme-lime .progressbar-infinite { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar-infinite.theme-lime:after, -.theme-lime .progressbar-infinite:after, -.progressbar-infinite.theme-lime:before, -.theme-lime .progressbar-infinite:before { - background-color: #cddc39; -} -.color-lime i.icon, -i.icon.color-lime { - color: #cddc39; -} -i.icon-next.color-lime, -i.icon-next.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lime, -i.icon-prev.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lime, -i.icon-back.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lime, -i.icon-forward.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lime, -i.icon-bars.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lime a { - color: #cddc39; -} -.theme-lime .navbar, -.navbar.theme-lime, -.theme-lime .toolbar, -.toolbar.theme-lime, -.theme-lime .subnavbar, -.subnavbar.theme-lime, -.theme-lime .searchbar, -.searchbar.theme-lime { - background-color: #cddc39; -} -.theme-lime .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-lime input[type="checkbox"]:checked + .checkbox { - background-color: rgba(205, 220, 57, 0.5); -} -.theme-lime .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-lime input[type="checkbox"]:checked + .checkbox:after { - background-color: #cddc39; -} -.theme-lime label.label-checkbox, -label.label-checkbox.theme-lime { - cursor: pointer; -} -.theme-lime label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-lime i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lime label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #cddc39; - background-color: #cddc39; -} -.theme-lime label.label-radio i.icon-form-radio:after, -label.label-radio.theme-lime i.icon-form-radio:after { - background-color: #cddc39; -} -.theme-lime label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lime input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-lime label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lime input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #cddc39; -} -.theme-lime label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lime input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-lime label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lime input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #cddc39; -} -.theme-lime .focus-state .label, -.theme-lime .focus-state .floating-label { - color: #cddc39; -} -.theme-lime .item-input-field.focus-state:after, -.theme-lime .input-field.focus-state:after, -.theme-lime .item-input-field.not-empty-state:after, -.theme-lime .input-field.not-empty-state:after { - background: #cddc39; -} -.theme-lime .picker-calendar-day.picker-calendar-day-today span { - color: #cddc39; -} -.theme-lime .picker-calendar-day.picker-calendar-day-selected span { - background-color: #cddc39; - color: #fff; -} -.theme-lime .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #cddc39; -} -.theme-lime .picker-header { - background-color: #cddc39; -} -.theme-lime .modal-button { - color: #cddc39; -} -.swiper-pagination.color-lime .swiper-pagination-bullet-active, -.theme-lime .swiper-pagination .swiper-pagination-bullet-active { - background-color: #cddc39; -} -.swiper-pagination.color-lime .swiper-pagination-progressbar, -.theme-lime .swiper-pagination .swiper-pagination-progressbar { - background-color: #cddc39; -} -.swiper-pagination.swiper-pagination-progress.bg-lime { - background-color: rgba(205, 220, 57, 0.25); -} -.swiper-button-next.color-lime, -.swiper-container-rtl .swiper-button-prev.color-lime, -.theme-lime .swiper-button-next, -.theme-lime .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lime, -.swiper-container-rtl .swiper-button-next.color-lime, -.theme-lime .swiper-button-prev, -.theme-lime .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lime .floating-button, -.theme-lime .speed-dial-buttons a, -.floating-button.theme-lime, -.speed-dial-buttons a.theme-lime { - color: #fff; - background: #cddc39; -} -html:not(.watch-active-state) .theme-lime .floating-button:active, -html:not(.watch-active-state) .theme-lime .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lime:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lime:active, -.theme-lime .floating-button.active-state, -.theme-lime .speed-dial-buttons a.active-state, -.floating-button.theme-lime.active-state, -.speed-dial-buttons a.theme-lime.active-state { - background: #AFB42B; -} -.theme-lime .floating-button i, -.theme-lime .speed-dial-buttons a i, -.floating-button.theme-lime i, -.speed-dial-buttons a.theme-lime i { - color: inherit; -} -.theme-lime .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lime input[type="range"]::-webkit-slider-thumb:before { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-lime input[type="range"]::-webkit-slider-thumb { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-lime input[type="range"]::-ms-thumb { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lime input[type="range"]::-ms-fill-lower { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-lime input[type="range"]::-moz-range-thumb { - background-color: #cddc39; -} -.badge.theme-lime { - background-color: #cddc39; - color: #fff; -} -.theme-yellow .button:not(.button-fill) { - color: #ffeb3b; -} -.theme-yellow .navbar .button:not(.button-fill), -.theme-yellow.navbar .button:not(.button-fill), -.theme-yellow .toolbar .button:not(.button-fill), -.theme-yellow.toolbar .button:not(.button-fill), -.theme-yellow .subnavbar .button:not(.button-fill), -.theme-yellow.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-yellow .button.button-fill { - background: #ffeb3b; - color: #fff; -} -html:not(.watch-active-state) .theme-yellow .button.button-fill:active, -.theme-yellow .button.button-fill.active-state { - background: #FBC02D; -} -.progressbar.theme-yellow, -.theme-yellow .progressbar { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar.theme-yellow span, -.theme-yellow .progressbar span { - background-color: #ffeb3b; -} -.progressbar-infinite.theme-yellow, -.theme-yellow .progressbar-infinite { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar-infinite.theme-yellow:after, -.theme-yellow .progressbar-infinite:after, -.progressbar-infinite.theme-yellow:before, -.theme-yellow .progressbar-infinite:before { - background-color: #ffeb3b; -} -.color-yellow i.icon, -i.icon.color-yellow { - color: #ffeb3b; -} -i.icon-next.color-yellow, -i.icon-next.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-yellow, -i.icon-prev.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-yellow, -i.icon-back.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-yellow, -i.icon-forward.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-yellow, -i.icon-bars.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow a { - color: #ffeb3b; -} -.theme-yellow .navbar, -.navbar.theme-yellow, -.theme-yellow .toolbar, -.toolbar.theme-yellow, -.theme-yellow .subnavbar, -.subnavbar.theme-yellow, -.theme-yellow .searchbar, -.searchbar.theme-yellow { - background-color: #ffeb3b; -} -.theme-yellow .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-yellow input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 235, 59, 0.5); -} -.theme-yellow .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-yellow input[type="checkbox"]:checked + .checkbox:after { - background-color: #ffeb3b; -} -.theme-yellow label.label-checkbox, -label.label-checkbox.theme-yellow { - cursor: pointer; -} -.theme-yellow label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-yellow i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ffeb3b; - background-color: #ffeb3b; -} -.theme-yellow label.label-radio i.icon-form-radio:after, -label.label-radio.theme-yellow i.icon-form-radio:after { - background-color: #ffeb3b; -} -.theme-yellow label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-yellow input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-yellow label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-yellow input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ffeb3b; -} -.theme-yellow label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ffeb3b; -} -.theme-yellow .focus-state .label, -.theme-yellow .focus-state .floating-label { - color: #ffeb3b; -} -.theme-yellow .item-input-field.focus-state:after, -.theme-yellow .input-field.focus-state:after, -.theme-yellow .item-input-field.not-empty-state:after, -.theme-yellow .input-field.not-empty-state:after { - background: #ffeb3b; -} -.theme-yellow .picker-calendar-day.picker-calendar-day-today span { - color: #ffeb3b; -} -.theme-yellow .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffeb3b; - color: #fff; -} -.theme-yellow .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ffeb3b; -} -.theme-yellow .picker-header { - background-color: #ffeb3b; -} -.theme-yellow .modal-button { - color: #ffeb3b; -} -.swiper-pagination.color-yellow .swiper-pagination-bullet-active, -.theme-yellow .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffeb3b; -} -.swiper-pagination.color-yellow .swiper-pagination-progressbar, -.theme-yellow .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffeb3b; -} -.swiper-pagination.swiper-pagination-progress.bg-yellow { - background-color: rgba(255, 235, 59, 0.25); -} -.swiper-button-next.color-yellow, -.swiper-container-rtl .swiper-button-prev.color-yellow, -.theme-yellow .swiper-button-next, -.theme-yellow .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-yellow, -.swiper-container-rtl .swiper-button-next.color-yellow, -.theme-yellow .swiper-button-prev, -.theme-yellow .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow .floating-button, -.theme-yellow .speed-dial-buttons a, -.floating-button.theme-yellow, -.speed-dial-buttons a.theme-yellow { - color: #fff; - background: #ffeb3b; -} -html:not(.watch-active-state) .theme-yellow .floating-button:active, -html:not(.watch-active-state) .theme-yellow .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-yellow:active, -.theme-yellow .floating-button.active-state, -.theme-yellow .speed-dial-buttons a.active-state, -.floating-button.theme-yellow.active-state, -.speed-dial-buttons a.theme-yellow.active-state { - background: #FBC02D; -} -.theme-yellow .floating-button i, -.theme-yellow .speed-dial-buttons a i, -.floating-button.theme-yellow i, -.speed-dial-buttons a.theme-yellow i { - color: inherit; -} -.theme-yellow .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-yellow input[type="range"]::-webkit-slider-thumb { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-yellow input[type="range"]::-ms-thumb { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-yellow input[type="range"]::-moz-range-thumb { - background-color: #ffeb3b; -} -.badge.theme-yellow { - background-color: #ffeb3b; - color: #fff; -} -.theme-amber .button:not(.button-fill) { - color: #ffc107; -} -.theme-amber .navbar .button:not(.button-fill), -.theme-amber.navbar .button:not(.button-fill), -.theme-amber .toolbar .button:not(.button-fill), -.theme-amber.toolbar .button:not(.button-fill), -.theme-amber .subnavbar .button:not(.button-fill), -.theme-amber.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-amber .button.button-fill { - background: #ffc107; - color: #fff; -} -html:not(.watch-active-state) .theme-amber .button.button-fill:active, -.theme-amber .button.button-fill.active-state { - background: #FFA000; -} -.progressbar.theme-amber, -.theme-amber .progressbar { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar.theme-amber span, -.theme-amber .progressbar span { - background-color: #ffc107; -} -.progressbar-infinite.theme-amber, -.theme-amber .progressbar-infinite { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar-infinite.theme-amber:after, -.theme-amber .progressbar-infinite:after, -.progressbar-infinite.theme-amber:before, -.theme-amber .progressbar-infinite:before { - background-color: #ffc107; -} -.color-amber i.icon, -i.icon.color-amber { - color: #ffc107; -} -i.icon-next.color-amber, -i.icon-next.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-amber, -i.icon-prev.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-amber, -i.icon-back.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-amber, -i.icon-forward.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-amber, -i.icon-bars.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -.theme-amber a { - color: #ffc107; -} -.theme-amber .navbar, -.navbar.theme-amber, -.theme-amber .toolbar, -.toolbar.theme-amber, -.theme-amber .subnavbar, -.subnavbar.theme-amber, -.theme-amber .searchbar, -.searchbar.theme-amber { - background-color: #ffc107; -} -.theme-amber .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-amber input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 193, 7, 0.5); -} -.theme-amber .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-amber input[type="checkbox"]:checked + .checkbox:after { - background-color: #ffc107; -} -.theme-amber label.label-checkbox, -label.label-checkbox.theme-amber { - cursor: pointer; -} -.theme-amber label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-amber i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-amber label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ffc107; - background-color: #ffc107; -} -.theme-amber label.label-radio i.icon-form-radio:after, -label.label-radio.theme-amber i.icon-form-radio:after { - background-color: #ffc107; -} -.theme-amber label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-amber input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-amber label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-amber input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ffc107; -} -.theme-amber label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-amber input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-amber label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-amber input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ffc107; -} -.theme-amber .focus-state .label, -.theme-amber .focus-state .floating-label { - color: #ffc107; -} -.theme-amber .item-input-field.focus-state:after, -.theme-amber .input-field.focus-state:after, -.theme-amber .item-input-field.not-empty-state:after, -.theme-amber .input-field.not-empty-state:after { - background: #ffc107; -} -.theme-amber .picker-calendar-day.picker-calendar-day-today span { - color: #ffc107; -} -.theme-amber .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffc107; - color: #fff; -} -.theme-amber .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ffc107; -} -.theme-amber .picker-header { - background-color: #ffc107; -} -.theme-amber .modal-button { - color: #ffc107; -} -.swiper-pagination.color-amber .swiper-pagination-bullet-active, -.theme-amber .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffc107; -} -.swiper-pagination.color-amber .swiper-pagination-progressbar, -.theme-amber .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffc107; -} -.swiper-pagination.swiper-pagination-progress.bg-amber { - background-color: rgba(255, 193, 7, 0.25); -} -.swiper-button-next.color-amber, -.swiper-container-rtl .swiper-button-prev.color-amber, -.theme-amber .swiper-button-next, -.theme-amber .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-amber, -.swiper-container-rtl .swiper-button-next.color-amber, -.theme-amber .swiper-button-prev, -.theme-amber .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -.theme-amber .floating-button, -.theme-amber .speed-dial-buttons a, -.floating-button.theme-amber, -.speed-dial-buttons a.theme-amber { - color: #fff; - background: #ffc107; -} -html:not(.watch-active-state) .theme-amber .floating-button:active, -html:not(.watch-active-state) .theme-amber .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-amber:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-amber:active, -.theme-amber .floating-button.active-state, -.theme-amber .speed-dial-buttons a.active-state, -.floating-button.theme-amber.active-state, -.speed-dial-buttons a.theme-amber.active-state { - background: #FFA000; -} -.theme-amber .floating-button i, -.theme-amber .speed-dial-buttons a i, -.floating-button.theme-amber i, -.speed-dial-buttons a.theme-amber i { - color: inherit; -} -.theme-amber .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-amber input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-amber input[type="range"]::-webkit-slider-thumb { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-amber input[type="range"]::-ms-thumb { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-amber input[type="range"]::-ms-fill-lower { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-amber input[type="range"]::-moz-range-thumb { - background-color: #ffc107; -} -.badge.theme-amber { - background-color: #ffc107; - color: #fff; -} -.theme-orange .button:not(.button-fill) { - color: #ff9800; -} -.theme-orange .navbar .button:not(.button-fill), -.theme-orange.navbar .button:not(.button-fill), -.theme-orange .toolbar .button:not(.button-fill), -.theme-orange.toolbar .button:not(.button-fill), -.theme-orange .subnavbar .button:not(.button-fill), -.theme-orange.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-orange .button.button-fill { - background: #ff9800; - color: #fff; -} -html:not(.watch-active-state) .theme-orange .button.button-fill:active, -.theme-orange .button.button-fill.active-state { - background: #F57C00; -} -.progressbar.theme-orange, -.theme-orange .progressbar { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar.theme-orange span, -.theme-orange .progressbar span { - background-color: #ff9800; -} -.progressbar-infinite.theme-orange, -.theme-orange .progressbar-infinite { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar-infinite.theme-orange:after, -.theme-orange .progressbar-infinite:after, -.progressbar-infinite.theme-orange:before, -.theme-orange .progressbar-infinite:before { - background-color: #ff9800; -} -.color-orange i.icon, -i.icon.color-orange { - color: #ff9800; -} -i.icon-next.color-orange, -i.icon-next.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-orange, -i.icon-prev.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-orange, -i.icon-back.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-orange, -i.icon-forward.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-orange, -i.icon-bars.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange a { - color: #ff9800; -} -.theme-orange .navbar, -.navbar.theme-orange, -.theme-orange .toolbar, -.toolbar.theme-orange, -.theme-orange .subnavbar, -.subnavbar.theme-orange, -.theme-orange .searchbar, -.searchbar.theme-orange { - background-color: #ff9800; -} -.theme-orange .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-orange input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 152, 0, 0.5); -} -.theme-orange .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-orange input[type="checkbox"]:checked + .checkbox:after { - background-color: #ff9800; -} -.theme-orange label.label-checkbox, -label.label-checkbox.theme-orange { - cursor: pointer; -} -.theme-orange label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-orange i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ff9800; - background-color: #ff9800; -} -.theme-orange label.label-radio i.icon-form-radio:after, -label.label-radio.theme-orange i.icon-form-radio:after { - background-color: #ff9800; -} -.theme-orange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-orange input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-orange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-orange input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ff9800; -} -.theme-orange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-orange input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-orange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-orange input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ff9800; -} -.theme-orange .focus-state .label, -.theme-orange .focus-state .floating-label { - color: #ff9800; -} -.theme-orange .item-input-field.focus-state:after, -.theme-orange .input-field.focus-state:after, -.theme-orange .item-input-field.not-empty-state:after, -.theme-orange .input-field.not-empty-state:after { - background: #ff9800; -} -.theme-orange .picker-calendar-day.picker-calendar-day-today span { - color: #ff9800; -} -.theme-orange .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff9800; - color: #fff; -} -.theme-orange .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ff9800; -} -.theme-orange .picker-header { - background-color: #ff9800; -} -.theme-orange .modal-button { - color: #ff9800; -} -.swiper-pagination.color-orange .swiper-pagination-bullet-active, -.theme-orange .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff9800; -} -.swiper-pagination.color-orange .swiper-pagination-progressbar, -.theme-orange .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff9800; -} -.swiper-pagination.swiper-pagination-progress.bg-orange { - background-color: rgba(255, 152, 0, 0.25); -} -.swiper-button-next.color-orange, -.swiper-container-rtl .swiper-button-prev.color-orange, -.theme-orange .swiper-button-next, -.theme-orange .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-orange, -.swiper-container-rtl .swiper-button-next.color-orange, -.theme-orange .swiper-button-prev, -.theme-orange .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange .floating-button, -.theme-orange .speed-dial-buttons a, -.floating-button.theme-orange, -.speed-dial-buttons a.theme-orange { - color: #fff; - background: #ff9800; -} -html:not(.watch-active-state) .theme-orange .floating-button:active, -html:not(.watch-active-state) .theme-orange .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-orange:active, -.theme-orange .floating-button.active-state, -.theme-orange .speed-dial-buttons a.active-state, -.floating-button.theme-orange.active-state, -.speed-dial-buttons a.theme-orange.active-state { - background: #F57C00; -} -.theme-orange .floating-button i, -.theme-orange .speed-dial-buttons a i, -.floating-button.theme-orange i, -.speed-dial-buttons a.theme-orange i { - color: inherit; -} -.theme-orange .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-orange input[type="range"]::-webkit-slider-thumb { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-orange input[type="range"]::-ms-thumb { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-orange input[type="range"]::-moz-range-thumb { - background-color: #ff9800; -} -.badge.theme-orange { - background-color: #ff9800; - color: #fff; -} -.theme-deeporange .button:not(.button-fill) { - color: #ff5722; -} -.theme-deeporange .navbar .button:not(.button-fill), -.theme-deeporange.navbar .button:not(.button-fill), -.theme-deeporange .toolbar .button:not(.button-fill), -.theme-deeporange.toolbar .button:not(.button-fill), -.theme-deeporange .subnavbar .button:not(.button-fill), -.theme-deeporange.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-deeporange .button.button-fill { - background: #ff5722; - color: #fff; -} -html:not(.watch-active-state) .theme-deeporange .button.button-fill:active, -.theme-deeporange .button.button-fill.active-state { - background: #E64A19; -} -.progressbar.theme-deeporange, -.theme-deeporange .progressbar { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar.theme-deeporange span, -.theme-deeporange .progressbar span { - background-color: #ff5722; -} -.progressbar-infinite.theme-deeporange, -.theme-deeporange .progressbar-infinite { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar-infinite.theme-deeporange:after, -.theme-deeporange .progressbar-infinite:after, -.progressbar-infinite.theme-deeporange:before, -.theme-deeporange .progressbar-infinite:before { - background-color: #ff5722; -} -.color-deeporange i.icon, -i.icon.color-deeporange { - color: #ff5722; -} -i.icon-next.color-deeporange, -i.icon-next.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-deeporange, -i.icon-prev.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-deeporange, -i.icon-back.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-deeporange, -i.icon-forward.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-deeporange, -i.icon-bars.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeporange a { - color: #ff5722; -} -.theme-deeporange .navbar, -.navbar.theme-deeporange, -.theme-deeporange .toolbar, -.toolbar.theme-deeporange, -.theme-deeporange .subnavbar, -.subnavbar.theme-deeporange, -.theme-deeporange .searchbar, -.searchbar.theme-deeporange { - background-color: #ff5722; -} -.theme-deeporange .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-deeporange input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 87, 34, 0.5); -} -.theme-deeporange .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-deeporange input[type="checkbox"]:checked + .checkbox:after { - background-color: #ff5722; -} -.theme-deeporange label.label-checkbox, -label.label-checkbox.theme-deeporange { - cursor: pointer; -} -.theme-deeporange label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-deeporange i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeporange label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ff5722; - background-color: #ff5722; -} -.theme-deeporange label.label-radio i.icon-form-radio:after, -label.label-radio.theme-deeporange i.icon-form-radio:after { - background-color: #ff5722; -} -.theme-deeporange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeporange input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-deeporange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeporange input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ff5722; -} -.theme-deeporange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ff5722; -} -.theme-deeporange .focus-state .label, -.theme-deeporange .focus-state .floating-label { - color: #ff5722; -} -.theme-deeporange .item-input-field.focus-state:after, -.theme-deeporange .input-field.focus-state:after, -.theme-deeporange .item-input-field.not-empty-state:after, -.theme-deeporange .input-field.not-empty-state:after { - background: #ff5722; -} -.theme-deeporange .picker-calendar-day.picker-calendar-day-today span { - color: #ff5722; -} -.theme-deeporange .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff5722; - color: #fff; -} -.theme-deeporange .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ff5722; -} -.theme-deeporange .picker-header { - background-color: #ff5722; -} -.theme-deeporange .modal-button { - color: #ff5722; -} -.swiper-pagination.color-deeporange .swiper-pagination-bullet-active, -.theme-deeporange .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff5722; -} -.swiper-pagination.color-deeporange .swiper-pagination-progressbar, -.theme-deeporange .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff5722; -} -.swiper-pagination.swiper-pagination-progress.bg-deeporange { - background-color: rgba(255, 87, 34, 0.25); -} -.swiper-button-next.color-deeporange, -.swiper-container-rtl .swiper-button-prev.color-deeporange, -.theme-deeporange .swiper-button-next, -.theme-deeporange .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-deeporange, -.swiper-container-rtl .swiper-button-next.color-deeporange, -.theme-deeporange .swiper-button-prev, -.theme-deeporange .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeporange .floating-button, -.theme-deeporange .speed-dial-buttons a, -.floating-button.theme-deeporange, -.speed-dial-buttons a.theme-deeporange { - color: #fff; - background: #ff5722; -} -html:not(.watch-active-state) .theme-deeporange .floating-button:active, -html:not(.watch-active-state) .theme-deeporange .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-deeporange:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-deeporange:active, -.theme-deeporange .floating-button.active-state, -.theme-deeporange .speed-dial-buttons a.active-state, -.floating-button.theme-deeporange.active-state, -.speed-dial-buttons a.theme-deeporange.active-state { - background: #E64A19; -} -.theme-deeporange .floating-button i, -.theme-deeporange .speed-dial-buttons a i, -.floating-button.theme-deeporange i, -.speed-dial-buttons a.theme-deeporange i { - color: inherit; -} -.theme-deeporange .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-deeporange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-deeporange input[type="range"]::-webkit-slider-thumb { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-deeporange input[type="range"]::-ms-thumb { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-deeporange input[type="range"]::-ms-fill-lower { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-deeporange input[type="range"]::-moz-range-thumb { - background-color: #ff5722; -} -.badge.theme-deeporange { - background-color: #ff5722; - color: #fff; -} -.theme-brown .button:not(.button-fill) { - color: #795548; -} -.theme-brown .navbar .button:not(.button-fill), -.theme-brown.navbar .button:not(.button-fill), -.theme-brown .toolbar .button:not(.button-fill), -.theme-brown.toolbar .button:not(.button-fill), -.theme-brown .subnavbar .button:not(.button-fill), -.theme-brown.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-brown .button.button-fill { - background: #795548; - color: #fff; -} -html:not(.watch-active-state) .theme-brown .button.button-fill:active, -.theme-brown .button.button-fill.active-state { - background: #5D4037; -} -.progressbar.theme-brown, -.theme-brown .progressbar { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar.theme-brown span, -.theme-brown .progressbar span { - background-color: #795548; -} -.progressbar-infinite.theme-brown, -.theme-brown .progressbar-infinite { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar-infinite.theme-brown:after, -.theme-brown .progressbar-infinite:after, -.progressbar-infinite.theme-brown:before, -.theme-brown .progressbar-infinite:before { - background-color: #795548; -} -.color-brown i.icon, -i.icon.color-brown { - color: #795548; -} -i.icon-next.color-brown, -i.icon-next.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-brown, -i.icon-prev.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-brown, -i.icon-back.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-brown, -i.icon-forward.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-brown, -i.icon-bars.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -.theme-brown a { - color: #795548; -} -.theme-brown .navbar, -.navbar.theme-brown, -.theme-brown .toolbar, -.toolbar.theme-brown, -.theme-brown .subnavbar, -.subnavbar.theme-brown, -.theme-brown .searchbar, -.searchbar.theme-brown { - background-color: #795548; -} -.theme-brown .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-brown input[type="checkbox"]:checked + .checkbox { - background-color: rgba(121, 85, 72, 0.5); -} -.theme-brown .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-brown input[type="checkbox"]:checked + .checkbox:after { - background-color: #795548; -} -.theme-brown label.label-checkbox, -label.label-checkbox.theme-brown { - cursor: pointer; -} -.theme-brown label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-brown i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-brown label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #795548; - background-color: #795548; -} -.theme-brown label.label-radio i.icon-form-radio:after, -label.label-radio.theme-brown i.icon-form-radio:after { - background-color: #795548; -} -.theme-brown label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-brown input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-brown label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-brown input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #795548; -} -.theme-brown label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-brown input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-brown label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-brown input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #795548; -} -.theme-brown .focus-state .label, -.theme-brown .focus-state .floating-label { - color: #795548; -} -.theme-brown .item-input-field.focus-state:after, -.theme-brown .input-field.focus-state:after, -.theme-brown .item-input-field.not-empty-state:after, -.theme-brown .input-field.not-empty-state:after { - background: #795548; -} -.theme-brown .picker-calendar-day.picker-calendar-day-today span { - color: #795548; -} -.theme-brown .picker-calendar-day.picker-calendar-day-selected span { - background-color: #795548; - color: #fff; -} -.theme-brown .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #795548; -} -.theme-brown .picker-header { - background-color: #795548; -} -.theme-brown .modal-button { - color: #795548; -} -.swiper-pagination.color-brown .swiper-pagination-bullet-active, -.theme-brown .swiper-pagination .swiper-pagination-bullet-active { - background-color: #795548; -} -.swiper-pagination.color-brown .swiper-pagination-progressbar, -.theme-brown .swiper-pagination .swiper-pagination-progressbar { - background-color: #795548; -} -.swiper-pagination.swiper-pagination-progress.bg-brown { - background-color: rgba(121, 85, 72, 0.25); -} -.swiper-button-next.color-brown, -.swiper-container-rtl .swiper-button-prev.color-brown, -.theme-brown .swiper-button-next, -.theme-brown .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-brown, -.swiper-container-rtl .swiper-button-next.color-brown, -.theme-brown .swiper-button-prev, -.theme-brown .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -.theme-brown .floating-button, -.theme-brown .speed-dial-buttons a, -.floating-button.theme-brown, -.speed-dial-buttons a.theme-brown { - color: #fff; - background: #795548; -} -html:not(.watch-active-state) .theme-brown .floating-button:active, -html:not(.watch-active-state) .theme-brown .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-brown:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-brown:active, -.theme-brown .floating-button.active-state, -.theme-brown .speed-dial-buttons a.active-state, -.floating-button.theme-brown.active-state, -.speed-dial-buttons a.theme-brown.active-state { - background: #5D4037; -} -.theme-brown .floating-button i, -.theme-brown .speed-dial-buttons a i, -.floating-button.theme-brown i, -.speed-dial-buttons a.theme-brown i { - color: inherit; -} -.theme-brown .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-brown input[type="range"]::-webkit-slider-thumb:before { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-brown input[type="range"]::-webkit-slider-thumb { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-brown input[type="range"]::-ms-thumb { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-brown input[type="range"]::-ms-fill-lower { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-brown input[type="range"]::-moz-range-thumb { - background-color: #795548; -} -.badge.theme-brown { - background-color: #795548; - color: #fff; -} -.theme-gray .button:not(.button-fill) { - color: #9e9e9e; -} -.theme-gray .navbar .button:not(.button-fill), -.theme-gray.navbar .button:not(.button-fill), -.theme-gray .toolbar .button:not(.button-fill), -.theme-gray.toolbar .button:not(.button-fill), -.theme-gray .subnavbar .button:not(.button-fill), -.theme-gray.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-gray .button.button-fill { - background: #9e9e9e; - color: #fff; -} -html:not(.watch-active-state) .theme-gray .button.button-fill:active, -.theme-gray .button.button-fill.active-state { - background: #616161; -} -.progressbar.theme-gray, -.theme-gray .progressbar { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar.theme-gray span, -.theme-gray .progressbar span { - background-color: #9e9e9e; -} -.progressbar-infinite.theme-gray, -.theme-gray .progressbar-infinite { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar-infinite.theme-gray:after, -.theme-gray .progressbar-infinite:after, -.progressbar-infinite.theme-gray:before, -.theme-gray .progressbar-infinite:before { - background-color: #9e9e9e; -} -.color-gray i.icon, -i.icon.color-gray { - color: #9e9e9e; -} -i.icon-next.color-gray, -i.icon-next.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-gray, -i.icon-prev.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-gray, -i.icon-back.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-gray, -i.icon-forward.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-gray, -i.icon-bars.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray a { - color: #9e9e9e; -} -.theme-gray .navbar, -.navbar.theme-gray, -.theme-gray .toolbar, -.toolbar.theme-gray, -.theme-gray .subnavbar, -.subnavbar.theme-gray, -.theme-gray .searchbar, -.searchbar.theme-gray { - background-color: #9e9e9e; -} -.theme-gray .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-gray input[type="checkbox"]:checked + .checkbox { - background-color: rgba(158, 158, 158, 0.5); -} -.theme-gray .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-gray input[type="checkbox"]:checked + .checkbox:after { - background-color: #9e9e9e; -} -.theme-gray label.label-checkbox, -label.label-checkbox.theme-gray { - cursor: pointer; -} -.theme-gray label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-gray i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #9e9e9e; - background-color: #9e9e9e; -} -.theme-gray label.label-radio i.icon-form-radio:after, -label.label-radio.theme-gray i.icon-form-radio:after { - background-color: #9e9e9e; -} -.theme-gray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-gray input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-gray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-gray input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #9e9e9e; -} -.theme-gray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-gray input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-gray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-gray input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #9e9e9e; -} -.theme-gray .focus-state .label, -.theme-gray .focus-state .floating-label { - color: #9e9e9e; -} -.theme-gray .item-input-field.focus-state:after, -.theme-gray .input-field.focus-state:after, -.theme-gray .item-input-field.not-empty-state:after, -.theme-gray .input-field.not-empty-state:after { - background: #9e9e9e; -} -.theme-gray .picker-calendar-day.picker-calendar-day-today span { - color: #9e9e9e; -} -.theme-gray .picker-calendar-day.picker-calendar-day-selected span { - background-color: #9e9e9e; - color: #fff; -} -.theme-gray .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #9e9e9e; -} -.theme-gray .picker-header { - background-color: #9e9e9e; -} -.theme-gray .modal-button { - color: #9e9e9e; -} -.swiper-pagination.color-gray .swiper-pagination-bullet-active, -.theme-gray .swiper-pagination .swiper-pagination-bullet-active { - background-color: #9e9e9e; -} -.swiper-pagination.color-gray .swiper-pagination-progressbar, -.theme-gray .swiper-pagination .swiper-pagination-progressbar { - background-color: #9e9e9e; -} -.swiper-pagination.swiper-pagination-progress.bg-gray { - background-color: rgba(158, 158, 158, 0.25); -} -.swiper-button-next.color-gray, -.swiper-container-rtl .swiper-button-prev.color-gray, -.theme-gray .swiper-button-next, -.theme-gray .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-gray, -.swiper-container-rtl .swiper-button-next.color-gray, -.theme-gray .swiper-button-prev, -.theme-gray .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray .floating-button, -.theme-gray .speed-dial-buttons a, -.floating-button.theme-gray, -.speed-dial-buttons a.theme-gray { - color: #fff; - background: #9e9e9e; -} -html:not(.watch-active-state) .theme-gray .floating-button:active, -html:not(.watch-active-state) .theme-gray .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-gray:active, -.theme-gray .floating-button.active-state, -.theme-gray .speed-dial-buttons a.active-state, -.floating-button.theme-gray.active-state, -.speed-dial-buttons a.theme-gray.active-state { - background: #616161; -} -.theme-gray .floating-button i, -.theme-gray .speed-dial-buttons a i, -.floating-button.theme-gray i, -.speed-dial-buttons a.theme-gray i { - color: inherit; -} -.theme-gray .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-gray input[type="range"]::-webkit-slider-thumb { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-gray input[type="range"]::-ms-thumb { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-gray input[type="range"]::-ms-fill-lower { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-gray input[type="range"]::-moz-range-thumb { - background-color: #9e9e9e; -} -.badge.theme-gray { - background-color: #9e9e9e; - color: #fff; -} -.theme-bluegray .button:not(.button-fill) { - color: #607d8b; -} -.theme-bluegray .navbar .button:not(.button-fill), -.theme-bluegray.navbar .button:not(.button-fill), -.theme-bluegray .toolbar .button:not(.button-fill), -.theme-bluegray.toolbar .button:not(.button-fill), -.theme-bluegray .subnavbar .button:not(.button-fill), -.theme-bluegray.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-bluegray .button.button-fill { - background: #607d8b; - color: #fff; -} -html:not(.watch-active-state) .theme-bluegray .button.button-fill:active, -.theme-bluegray .button.button-fill.active-state { - background: #455A64; -} -.progressbar.theme-bluegray, -.theme-bluegray .progressbar { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar.theme-bluegray span, -.theme-bluegray .progressbar span { - background-color: #607d8b; -} -.progressbar-infinite.theme-bluegray, -.theme-bluegray .progressbar-infinite { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar-infinite.theme-bluegray:after, -.theme-bluegray .progressbar-infinite:after, -.progressbar-infinite.theme-bluegray:before, -.theme-bluegray .progressbar-infinite:before { - background-color: #607d8b; -} -.color-bluegray i.icon, -i.icon.color-bluegray { - color: #607d8b; -} -i.icon-next.color-bluegray, -i.icon-next.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-bluegray, -i.icon-prev.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-bluegray, -i.icon-back.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-bluegray, -i.icon-forward.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-bluegray, -i.icon-bars.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-bluegray a { - color: #607d8b; -} -.theme-bluegray .navbar, -.navbar.theme-bluegray, -.theme-bluegray .toolbar, -.toolbar.theme-bluegray, -.theme-bluegray .subnavbar, -.subnavbar.theme-bluegray, -.theme-bluegray .searchbar, -.searchbar.theme-bluegray { - background-color: #607d8b; -} -.theme-bluegray .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-bluegray input[type="checkbox"]:checked + .checkbox { - background-color: rgba(96, 125, 139, 0.5); -} -.theme-bluegray .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-bluegray input[type="checkbox"]:checked + .checkbox:after { - background-color: #607d8b; -} -.theme-bluegray label.label-checkbox, -label.label-checkbox.theme-bluegray { - cursor: pointer; -} -.theme-bluegray label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-bluegray i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-bluegray label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #607d8b; - background-color: #607d8b; -} -.theme-bluegray label.label-radio i.icon-form-radio:after, -label.label-radio.theme-bluegray i.icon-form-radio:after { - background-color: #607d8b; -} -.theme-bluegray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-bluegray input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-bluegray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-bluegray input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #607d8b; -} -.theme-bluegray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #607d8b; -} -.theme-bluegray .focus-state .label, -.theme-bluegray .focus-state .floating-label { - color: #607d8b; -} -.theme-bluegray .item-input-field.focus-state:after, -.theme-bluegray .input-field.focus-state:after, -.theme-bluegray .item-input-field.not-empty-state:after, -.theme-bluegray .input-field.not-empty-state:after { - background: #607d8b; -} -.theme-bluegray .picker-calendar-day.picker-calendar-day-today span { - color: #607d8b; -} -.theme-bluegray .picker-calendar-day.picker-calendar-day-selected span { - background-color: #607d8b; - color: #fff; -} -.theme-bluegray .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #607d8b; -} -.theme-bluegray .picker-header { - background-color: #607d8b; -} -.theme-bluegray .modal-button { - color: #607d8b; -} -.swiper-pagination.color-bluegray .swiper-pagination-bullet-active, -.theme-bluegray .swiper-pagination .swiper-pagination-bullet-active { - background-color: #607d8b; -} -.swiper-pagination.color-bluegray .swiper-pagination-progressbar, -.theme-bluegray .swiper-pagination .swiper-pagination-progressbar { - background-color: #607d8b; -} -.swiper-pagination.swiper-pagination-progress.bg-bluegray { - background-color: rgba(96, 125, 139, 0.25); -} -.swiper-button-next.color-bluegray, -.swiper-container-rtl .swiper-button-prev.color-bluegray, -.theme-bluegray .swiper-button-next, -.theme-bluegray .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-bluegray, -.swiper-container-rtl .swiper-button-next.color-bluegray, -.theme-bluegray .swiper-button-prev, -.theme-bluegray .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-bluegray .floating-button, -.theme-bluegray .speed-dial-buttons a, -.floating-button.theme-bluegray, -.speed-dial-buttons a.theme-bluegray { - color: #fff; - background: #607d8b; -} -html:not(.watch-active-state) .theme-bluegray .floating-button:active, -html:not(.watch-active-state) .theme-bluegray .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-bluegray:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-bluegray:active, -.theme-bluegray .floating-button.active-state, -.theme-bluegray .speed-dial-buttons a.active-state, -.floating-button.theme-bluegray.active-state, -.speed-dial-buttons a.theme-bluegray.active-state { - background: #455A64; -} -.theme-bluegray .floating-button i, -.theme-bluegray .speed-dial-buttons a i, -.floating-button.theme-bluegray i, -.speed-dial-buttons a.theme-bluegray i { - color: inherit; -} -.theme-bluegray .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-bluegray input[type="range"]::-webkit-slider-thumb:before { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-bluegray input[type="range"]::-webkit-slider-thumb { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-bluegray input[type="range"]::-ms-thumb { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-bluegray input[type="range"]::-ms-fill-lower { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-bluegray input[type="range"]::-moz-range-thumb { - background-color: #607d8b; -} -.badge.theme-bluegray { - background-color: #607d8b; - color: #fff; -} -.theme-white .button:not(.button-fill) { - color: #ffffff; -} -.theme-white .navbar .button:not(.button-fill), -.theme-white.navbar .button:not(.button-fill), -.theme-white .toolbar .button:not(.button-fill), -.theme-white.toolbar .button:not(.button-fill), -.theme-white .subnavbar .button:not(.button-fill), -.theme-white.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-white .button.button-fill { - background: #ffffff; - color: #fff; -} -html:not(.watch-active-state) .theme-white .button.button-fill:active, -.theme-white .button.button-fill.active-state { - background: rgba(0, 0, 0, 0.1); -} -.progressbar.theme-white, -.theme-white .progressbar { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar.theme-white span, -.theme-white .progressbar span { - background-color: #ffffff; -} -.progressbar-infinite.theme-white, -.theme-white .progressbar-infinite { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar-infinite.theme-white:after, -.theme-white .progressbar-infinite:after, -.progressbar-infinite.theme-white:before, -.theme-white .progressbar-infinite:before { - background-color: #ffffff; -} -.color-white i.icon, -i.icon.color-white { - color: #ffffff; -} -i.icon-next.color-white, -i.icon-next.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-white, -i.icon-prev.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-white, -i.icon-back.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-white, -i.icon-forward.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-white, -i.icon-bars.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white a { - color: #ffffff; -} -.theme-white .navbar, -.navbar.theme-white, -.theme-white .toolbar, -.toolbar.theme-white, -.theme-white .subnavbar, -.subnavbar.theme-white, -.theme-white .searchbar, -.searchbar.theme-white { - background-color: #ffffff; -} -.theme-white .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-white input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 255, 255, 0.5); -} -.theme-white .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-white input[type="checkbox"]:checked + .checkbox:after { - background-color: #ffffff; -} -.theme-white label.label-checkbox, -label.label-checkbox.theme-white { - cursor: pointer; -} -.theme-white label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-white i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ffffff; - background-color: #ffffff; -} -.theme-white label.label-radio i.icon-form-radio:after, -label.label-radio.theme-white i.icon-form-radio:after { - background-color: #ffffff; -} -.theme-white label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-white input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-white label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-white input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ffffff; -} -.theme-white label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-white input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-white label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-white input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ffffff; -} -.theme-white .focus-state .label, -.theme-white .focus-state .floating-label { - color: #ffffff; -} -.theme-white .item-input-field.focus-state:after, -.theme-white .input-field.focus-state:after, -.theme-white .item-input-field.not-empty-state:after, -.theme-white .input-field.not-empty-state:after { - background: #ffffff; -} -.theme-white .picker-calendar-day.picker-calendar-day-today span { - color: #ffffff; -} -.theme-white .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffffff; - color: #fff; -} -.theme-white .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ffffff; -} -.theme-white .picker-header { - background-color: #ffffff; -} -.theme-white .modal-button { - color: #ffffff; -} -.swiper-pagination.color-white .swiper-pagination-bullet-active, -.theme-white .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffffff; -} -.swiper-pagination.color-white .swiper-pagination-progressbar, -.theme-white .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffffff; -} -.swiper-pagination.swiper-pagination-progress.bg-white { - background-color: rgba(255, 255, 255, 0.25); -} -.swiper-button-next.color-white, -.swiper-container-rtl .swiper-button-prev.color-white, -.theme-white .swiper-button-next, -.theme-white .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-white, -.swiper-container-rtl .swiper-button-next.color-white, -.theme-white .swiper-button-prev, -.theme-white .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white .floating-button, -.theme-white .speed-dial-buttons a, -.floating-button.theme-white, -.speed-dial-buttons a.theme-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .theme-white .floating-button:active, -html:not(.watch-active-state) .theme-white .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-white:active, -.theme-white .floating-button.active-state, -.theme-white .speed-dial-buttons a.active-state, -.floating-button.theme-white.active-state, -.speed-dial-buttons a.theme-white.active-state { - background: rgba(0, 0, 0, 0.1); -} -.theme-white .floating-button i, -.theme-white .speed-dial-buttons a i, -.floating-button.theme-white i, -.speed-dial-buttons a.theme-white i { - color: inherit; -} -.theme-white .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-white input[type="range"]::-webkit-slider-thumb { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-white input[type="range"]::-ms-thumb { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-white input[type="range"]::-moz-range-thumb { - background-color: #ffffff; -} -.badge.theme-white { - background-color: #ffffff; - color: #fff; -} -.theme-black .button:not(.button-fill) { - color: #000000; -} -.theme-black .navbar .button:not(.button-fill), -.theme-black.navbar .button:not(.button-fill), -.theme-black .toolbar .button:not(.button-fill), -.theme-black.toolbar .button:not(.button-fill), -.theme-black .subnavbar .button:not(.button-fill), -.theme-black.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-black .button.button-fill { - background: #000000; - color: #fff; -} -html:not(.watch-active-state) .theme-black .button.button-fill:active, -.theme-black .button.button-fill.active-state { - background: #333; -} -.progressbar.theme-black, -.theme-black .progressbar { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar.theme-black span, -.theme-black .progressbar span { - background-color: #000000; -} -.progressbar-infinite.theme-black, -.theme-black .progressbar-infinite { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar-infinite.theme-black:after, -.theme-black .progressbar-infinite:after, -.progressbar-infinite.theme-black:before, -.theme-black .progressbar-infinite:before { - background-color: #000000; -} -.color-black i.icon, -i.icon.color-black { - color: #000000; -} -i.icon-next.color-black, -i.icon-next.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-black, -i.icon-prev.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-black, -i.icon-back.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-black, -i.icon-forward.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-black, -i.icon-bars.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black a { - color: #000000; -} -.theme-black .navbar, -.navbar.theme-black, -.theme-black .toolbar, -.toolbar.theme-black, -.theme-black .subnavbar, -.subnavbar.theme-black, -.theme-black .searchbar, -.searchbar.theme-black { - background-color: #000000; -} -.theme-black .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-black input[type="checkbox"]:checked + .checkbox { - background-color: rgba(0, 0, 0, 0.5); -} -.theme-black .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-black input[type="checkbox"]:checked + .checkbox:after { - background-color: #000000; -} -.theme-black label.label-checkbox, -label.label-checkbox.theme-black { - cursor: pointer; -} -.theme-black label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-black i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #000000; - background-color: #000000; -} -.theme-black label.label-radio i.icon-form-radio:after, -label.label-radio.theme-black i.icon-form-radio:after { - background-color: #000000; -} -.theme-black label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-black input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-black label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-black input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #000000; -} -.theme-black label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-black input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-black label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-black input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #000000; -} -.theme-black .focus-state .label, -.theme-black .focus-state .floating-label { - color: #000000; -} -.theme-black .item-input-field.focus-state:after, -.theme-black .input-field.focus-state:after, -.theme-black .item-input-field.not-empty-state:after, -.theme-black .input-field.not-empty-state:after { - background: #000000; -} -.theme-black .picker-calendar-day.picker-calendar-day-today span { - color: #000000; -} -.theme-black .picker-calendar-day.picker-calendar-day-selected span { - background-color: #000000; - color: #fff; -} -.theme-black .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #000000; -} -.theme-black .picker-header { - background-color: #000000; -} -.theme-black .modal-button { - color: #000000; -} -.swiper-pagination.color-black .swiper-pagination-bullet-active, -.theme-black .swiper-pagination .swiper-pagination-bullet-active { - background-color: #000000; -} -.swiper-pagination.color-black .swiper-pagination-progressbar, -.theme-black .swiper-pagination .swiper-pagination-progressbar { - background-color: #000000; -} -.swiper-pagination.swiper-pagination-progress.bg-black { - background-color: rgba(0, 0, 0, 0.25); -} -.swiper-button-next.color-black, -.swiper-container-rtl .swiper-button-prev.color-black, -.theme-black .swiper-button-next, -.theme-black .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-black, -.swiper-container-rtl .swiper-button-next.color-black, -.theme-black .swiper-button-prev, -.theme-black .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black .floating-button, -.theme-black .speed-dial-buttons a, -.floating-button.theme-black, -.speed-dial-buttons a.theme-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .theme-black .floating-button:active, -html:not(.watch-active-state) .theme-black .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-black:active, -.theme-black .floating-button.active-state, -.theme-black .speed-dial-buttons a.active-state, -.floating-button.theme-black.active-state, -.speed-dial-buttons a.theme-black.active-state { - background: #333; -} -.theme-black .floating-button i, -.theme-black .speed-dial-buttons a i, -.floating-button.theme-black i, -.speed-dial-buttons a.theme-black i { - color: inherit; -} -.theme-black .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-black input[type="range"]::-webkit-slider-thumb { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-black input[type="range"]::-ms-thumb { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-black input[type="range"]::-moz-range-thumb { - background-color: #000000; -} -.badge.theme-black { - background-color: #000000; - color: #fff; -} -/*========================== -Framework7 Color + Bg + Border -==========================*/ -.color-red { - color: #f44336; -} -.list-block .item-link.list-button.color-red, -.list-block .item-link.color-red, -.tabbar a.active.color-red, -a.color-red { - color: #f44336; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-red, -.label-switch.color-red input[type="checkbox"]:checked + .checkbox { - background-color: #f44336; -} -.button.color-red:not(.button-fill), -.color-red.buttons-row .button:not(.button-fill) { - color: #f44336 !important; -} -.button.button-fill.bg-red, -.button.button-fill.color-red { - background: #f44336 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-red:active, -html:not(.watch-active-state) .button.button-fill.color-red:active, -.button.button-fill.bg-red.active-state, -.button.button-fill.color-red.active-state { - background: #D32F2F !important; -} -.progressbar.color-red, -.progressbar.bg-red { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar.color-red span, -.progressbar.bg-red span { - background-color: #f44336; -} -.progressbar-infinite.color-red, -.progressbar-infinite.bg-red { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar-infinite.color-red:after, -.progressbar-infinite.bg-red:after, -.progressbar-infinite.color-red:before, -.progressbar-infinite.bg-red:before { - background-color: #f44336; -} -.color-red i.icon, -i.icon.color-red { - color: #f44336; -} -.preloader.color-red svg circle, -.preloader.preloader-red svg circle { - stroke: #f44336; -} -.preloader.color-red .preloader-inner-gap, -.preloader.preloader-red .preloader-inner-gap, -.preloader.color-red .preloader-inner-half-circle, -.preloader.preloader-red .preloader-inner-half-circle { - border-color: #f44336; -} -.bg-red, -a.bg-red, -.list-block .swipeout-actions-left a.bg-red, -.list-block .swipeout-actions-right a.bg-red { - background-color: #f44336; -} -html:not(.watch-active-state) .list-block .bg-red .item-link:active, -html:not(.watch-active-state) .list-block a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block.bg-red .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-red .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-red:active, -html:not(.watch-active-state) .list-block .item-linka.bg-red:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-red:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-red:active, -.list-block .bg-red .item-link.active-state, -.list-block a.bg-red .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-red .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-red .item-link.active-state, -.list-block.bg-red .item-link.active-state, -.list-blocka.bg-red .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-red .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-red .item-link.active-state, -.list-block .item-link.bg-red.active-state, -.list-block .item-linka.bg-red.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-red.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-red.active-state { - background: #D32F2F; -} -.border-red { - border-color: #f44336; -} -.list-block .border-red.item-inner:after, -.list-block ul.border-red:after, -.border-red:after, -.list-block .border-red.item-inner:before, -.list-block ul.border-red:before, -.border-red:before { - background-color: #f44336; -} -.floating-button.color-red, -.speed-dial-buttons a.color-red, -.floating-button.bg-red, -.speed-dial-buttons a.bg-red { - color: #fff; - background: #f44336; -} -html:not(.watch-active-state) .floating-button.color-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-red:active, -html:not(.watch-active-state) .floating-button.bg-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-red:active, -.floating-button.color-red.active-state, -.speed-dial-buttons a.color-red.active-state, -.floating-button.bg-red.active-state, -.speed-dial-buttons a.bg-red.active-state { - background: #D32F2F; -} -.floating-button.color-red i, -.speed-dial-buttons a.color-red i, -.floating-button.bg-red i, -.speed-dial-buttons a.bg-red i { - color: inherit; -} -.ripple-red .ripple-wave { - background-color: rgba(244, 67, 54, 0.3); -} -.range-slider.color-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-webkit-slider-thumb { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-ms-thumb { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-ms-fill-lower { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-moz-range-thumb { - background-color: #f44336; -} -.badge.color-red { - background-color: #f44336; - color: #fff; -} -.color-pink { - color: #e91e63; -} -.list-block .item-link.list-button.color-pink, -.list-block .item-link.color-pink, -.tabbar a.active.color-pink, -a.color-pink { - color: #e91e63; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-pink, -.label-switch.color-pink input[type="checkbox"]:checked + .checkbox { - background-color: #e91e63; -} -.button.color-pink:not(.button-fill), -.color-pink.buttons-row .button:not(.button-fill) { - color: #e91e63 !important; -} -.button.button-fill.bg-pink, -.button.button-fill.color-pink { - background: #e91e63 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-pink:active, -html:not(.watch-active-state) .button.button-fill.color-pink:active, -.button.button-fill.bg-pink.active-state, -.button.button-fill.color-pink.active-state { - background: #C2185B !important; -} -.progressbar.color-pink, -.progressbar.bg-pink { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar.color-pink span, -.progressbar.bg-pink span { - background-color: #e91e63; -} -.progressbar-infinite.color-pink, -.progressbar-infinite.bg-pink { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar-infinite.color-pink:after, -.progressbar-infinite.bg-pink:after, -.progressbar-infinite.color-pink:before, -.progressbar-infinite.bg-pink:before { - background-color: #e91e63; -} -.color-pink i.icon, -i.icon.color-pink { - color: #e91e63; -} -.preloader.color-pink svg circle, -.preloader.preloader-pink svg circle { - stroke: #e91e63; -} -.preloader.color-pink .preloader-inner-gap, -.preloader.preloader-pink .preloader-inner-gap, -.preloader.color-pink .preloader-inner-half-circle, -.preloader.preloader-pink .preloader-inner-half-circle { - border-color: #e91e63; -} -.bg-pink, -a.bg-pink, -.list-block .swipeout-actions-left a.bg-pink, -.list-block .swipeout-actions-right a.bg-pink { - background-color: #e91e63; -} -html:not(.watch-active-state) .list-block .bg-pink .item-link:active, -html:not(.watch-active-state) .list-block a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block.bg-pink .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-pink:active, -html:not(.watch-active-state) .list-block .item-linka.bg-pink:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-pink:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-pink:active, -.list-block .bg-pink .item-link.active-state, -.list-block a.bg-pink .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-pink .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-pink .item-link.active-state, -.list-block.bg-pink .item-link.active-state, -.list-blocka.bg-pink .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-pink .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-pink .item-link.active-state, -.list-block .item-link.bg-pink.active-state, -.list-block .item-linka.bg-pink.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-pink.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-pink.active-state { - background: #C2185B; -} -.border-pink { - border-color: #e91e63; -} -.list-block .border-pink.item-inner:after, -.list-block ul.border-pink:after, -.border-pink:after, -.list-block .border-pink.item-inner:before, -.list-block ul.border-pink:before, -.border-pink:before { - background-color: #e91e63; -} -.floating-button.color-pink, -.speed-dial-buttons a.color-pink, -.floating-button.bg-pink, -.speed-dial-buttons a.bg-pink { - color: #fff; - background: #e91e63; -} -html:not(.watch-active-state) .floating-button.color-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-pink:active, -html:not(.watch-active-state) .floating-button.bg-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-pink:active, -.floating-button.color-pink.active-state, -.speed-dial-buttons a.color-pink.active-state, -.floating-button.bg-pink.active-state, -.speed-dial-buttons a.bg-pink.active-state { - background: #C2185B; -} -.floating-button.color-pink i, -.speed-dial-buttons a.color-pink i, -.floating-button.bg-pink i, -.speed-dial-buttons a.bg-pink i { - color: inherit; -} -.ripple-pink .ripple-wave { - background-color: rgba(233, 30, 99, 0.3); -} -.range-slider.color-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-webkit-slider-thumb { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-ms-thumb { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-ms-fill-lower { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-moz-range-thumb { - background-color: #e91e63; -} -.badge.color-pink { - background-color: #e91e63; - color: #fff; -} -.color-purple { - color: #9c27b0; -} -.list-block .item-link.list-button.color-purple, -.list-block .item-link.color-purple, -.tabbar a.active.color-purple, -a.color-purple { - color: #9c27b0; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-purple, -.label-switch.color-purple input[type="checkbox"]:checked + .checkbox { - background-color: #9c27b0; -} -.button.color-purple:not(.button-fill), -.color-purple.buttons-row .button:not(.button-fill) { - color: #9c27b0 !important; -} -.button.button-fill.bg-purple, -.button.button-fill.color-purple { - background: #9c27b0 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-purple:active, -html:not(.watch-active-state) .button.button-fill.color-purple:active, -.button.button-fill.bg-purple.active-state, -.button.button-fill.color-purple.active-state { - background: #7B1FA2 !important; -} -.progressbar.color-purple, -.progressbar.bg-purple { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar.color-purple span, -.progressbar.bg-purple span { - background-color: #9c27b0; -} -.progressbar-infinite.color-purple, -.progressbar-infinite.bg-purple { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar-infinite.color-purple:after, -.progressbar-infinite.bg-purple:after, -.progressbar-infinite.color-purple:before, -.progressbar-infinite.bg-purple:before { - background-color: #9c27b0; -} -.color-purple i.icon, -i.icon.color-purple { - color: #9c27b0; -} -.preloader.color-purple svg circle, -.preloader.preloader-purple svg circle { - stroke: #9c27b0; -} -.preloader.color-purple .preloader-inner-gap, -.preloader.preloader-purple .preloader-inner-gap, -.preloader.color-purple .preloader-inner-half-circle, -.preloader.preloader-purple .preloader-inner-half-circle { - border-color: #9c27b0; -} -.bg-purple, -a.bg-purple, -.list-block .swipeout-actions-left a.bg-purple, -.list-block .swipeout-actions-right a.bg-purple { - background-color: #9c27b0; -} -html:not(.watch-active-state) .list-block .bg-purple .item-link:active, -html:not(.watch-active-state) .list-block a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block.bg-purple .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-purple:active, -html:not(.watch-active-state) .list-block .item-linka.bg-purple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-purple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-purple:active, -.list-block .bg-purple .item-link.active-state, -.list-block a.bg-purple .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-purple .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-purple .item-link.active-state, -.list-block.bg-purple .item-link.active-state, -.list-blocka.bg-purple .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-purple .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-purple .item-link.active-state, -.list-block .item-link.bg-purple.active-state, -.list-block .item-linka.bg-purple.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-purple.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-purple.active-state { - background: #7B1FA2; -} -.border-purple { - border-color: #9c27b0; -} -.list-block .border-purple.item-inner:after, -.list-block ul.border-purple:after, -.border-purple:after, -.list-block .border-purple.item-inner:before, -.list-block ul.border-purple:before, -.border-purple:before { - background-color: #9c27b0; -} -.floating-button.color-purple, -.speed-dial-buttons a.color-purple, -.floating-button.bg-purple, -.speed-dial-buttons a.bg-purple { - color: #fff; - background: #9c27b0; -} -html:not(.watch-active-state) .floating-button.color-purple:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-purple:active, -html:not(.watch-active-state) .floating-button.bg-purple:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-purple:active, -.floating-button.color-purple.active-state, -.speed-dial-buttons a.color-purple.active-state, -.floating-button.bg-purple.active-state, -.speed-dial-buttons a.bg-purple.active-state { - background: #7B1FA2; -} -.floating-button.color-purple i, -.speed-dial-buttons a.color-purple i, -.floating-button.bg-purple i, -.speed-dial-buttons a.bg-purple i { - color: inherit; -} -.ripple-purple .ripple-wave { - background-color: rgba(156, 39, 176, 0.3); -} -.range-slider.color-purple input[type="range"]::-webkit-slider-thumb:before { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-webkit-slider-thumb { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-ms-thumb { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-ms-fill-lower { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-moz-range-thumb { - background-color: #9c27b0; -} -.badge.color-purple { - background-color: #9c27b0; - color: #fff; -} -.color-deeppurple { - color: #673ab7; -} -.list-block .item-link.list-button.color-deeppurple, -.list-block .item-link.color-deeppurple, -.tabbar a.active.color-deeppurple, -a.color-deeppurple { - color: #673ab7; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-deeppurple, -.label-switch.color-deeppurple input[type="checkbox"]:checked + .checkbox { - background-color: #673ab7; -} -.button.color-deeppurple:not(.button-fill), -.color-deeppurple.buttons-row .button:not(.button-fill) { - color: #673ab7 !important; -} -.button.button-fill.bg-deeppurple, -.button.button-fill.color-deeppurple { - background: #673ab7 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-deeppurple:active, -html:not(.watch-active-state) .button.button-fill.color-deeppurple:active, -.button.button-fill.bg-deeppurple.active-state, -.button.button-fill.color-deeppurple.active-state { - background: #512DA8 !important; -} -.progressbar.color-deeppurple, -.progressbar.bg-deeppurple { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar.color-deeppurple span, -.progressbar.bg-deeppurple span { - background-color: #673ab7; -} -.progressbar-infinite.color-deeppurple, -.progressbar-infinite.bg-deeppurple { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar-infinite.color-deeppurple:after, -.progressbar-infinite.bg-deeppurple:after, -.progressbar-infinite.color-deeppurple:before, -.progressbar-infinite.bg-deeppurple:before { - background-color: #673ab7; -} -.color-deeppurple i.icon, -i.icon.color-deeppurple { - color: #673ab7; -} -.preloader.color-deeppurple svg circle, -.preloader.preloader-deeppurple svg circle { - stroke: #673ab7; -} -.preloader.color-deeppurple .preloader-inner-gap, -.preloader.preloader-deeppurple .preloader-inner-gap, -.preloader.color-deeppurple .preloader-inner-half-circle, -.preloader.preloader-deeppurple .preloader-inner-half-circle { - border-color: #673ab7; -} -.bg-deeppurple, -a.bg-deeppurple, -.list-block .swipeout-actions-left a.bg-deeppurple, -.list-block .swipeout-actions-right a.bg-deeppurple { - background-color: #673ab7; -} -html:not(.watch-active-state) .list-block .bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-deeppurple:active, -html:not(.watch-active-state) .list-block .item-linka.bg-deeppurple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-deeppurple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-deeppurple:active, -.list-block .bg-deeppurple .item-link.active-state, -.list-block a.bg-deeppurple .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-deeppurple .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-deeppurple .item-link.active-state, -.list-block.bg-deeppurple .item-link.active-state, -.list-blocka.bg-deeppurple .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-deeppurple .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-deeppurple .item-link.active-state, -.list-block .item-link.bg-deeppurple.active-state, -.list-block .item-linka.bg-deeppurple.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-deeppurple.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-deeppurple.active-state { - background: #512DA8; -} -.border-deeppurple { - border-color: #673ab7; -} -.list-block .border-deeppurple.item-inner:after, -.list-block ul.border-deeppurple:after, -.border-deeppurple:after, -.list-block .border-deeppurple.item-inner:before, -.list-block ul.border-deeppurple:before, -.border-deeppurple:before { - background-color: #673ab7; -} -.floating-button.color-deeppurple, -.speed-dial-buttons a.color-deeppurple, -.floating-button.bg-deeppurple, -.speed-dial-buttons a.bg-deeppurple { - color: #fff; - background: #673ab7; -} -html:not(.watch-active-state) .floating-button.color-deeppurple:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-deeppurple:active, -html:not(.watch-active-state) .floating-button.bg-deeppurple:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-deeppurple:active, -.floating-button.color-deeppurple.active-state, -.speed-dial-buttons a.color-deeppurple.active-state, -.floating-button.bg-deeppurple.active-state, -.speed-dial-buttons a.bg-deeppurple.active-state { - background: #512DA8; -} -.floating-button.color-deeppurple i, -.speed-dial-buttons a.color-deeppurple i, -.floating-button.bg-deeppurple i, -.speed-dial-buttons a.bg-deeppurple i { - color: inherit; -} -.ripple-deeppurple .ripple-wave { - background-color: rgba(103, 58, 183, 0.3); -} -.range-slider.color-deeppurple input[type="range"]::-webkit-slider-thumb:before { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-webkit-slider-thumb { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-ms-thumb { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-ms-fill-lower { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-moz-range-thumb { - background-color: #673ab7; -} -.badge.color-deeppurple { - background-color: #673ab7; - color: #fff; -} -.color-indigo { - color: #3f51b5; -} -.list-block .item-link.list-button.color-indigo, -.list-block .item-link.color-indigo, -.tabbar a.active.color-indigo, -a.color-indigo { - color: #3f51b5; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-indigo, -.label-switch.color-indigo input[type="checkbox"]:checked + .checkbox { - background-color: #3f51b5; -} -.button.color-indigo:not(.button-fill), -.color-indigo.buttons-row .button:not(.button-fill) { - color: #3f51b5 !important; -} -.button.button-fill.bg-indigo, -.button.button-fill.color-indigo { - background: #3f51b5 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-indigo:active, -html:not(.watch-active-state) .button.button-fill.color-indigo:active, -.button.button-fill.bg-indigo.active-state, -.button.button-fill.color-indigo.active-state { - background: #303F9F !important; -} -.progressbar.color-indigo, -.progressbar.bg-indigo { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar.color-indigo span, -.progressbar.bg-indigo span { - background-color: #3f51b5; -} -.progressbar-infinite.color-indigo, -.progressbar-infinite.bg-indigo { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar-infinite.color-indigo:after, -.progressbar-infinite.bg-indigo:after, -.progressbar-infinite.color-indigo:before, -.progressbar-infinite.bg-indigo:before { - background-color: #3f51b5; -} -.color-indigo i.icon, -i.icon.color-indigo { - color: #3f51b5; -} -.preloader.color-indigo svg circle, -.preloader.preloader-indigo svg circle { - stroke: #3f51b5; -} -.preloader.color-indigo .preloader-inner-gap, -.preloader.preloader-indigo .preloader-inner-gap, -.preloader.color-indigo .preloader-inner-half-circle, -.preloader.preloader-indigo .preloader-inner-half-circle { - border-color: #3f51b5; -} -.bg-indigo, -a.bg-indigo, -.list-block .swipeout-actions-left a.bg-indigo, -.list-block .swipeout-actions-right a.bg-indigo { - background-color: #3f51b5; -} -html:not(.watch-active-state) .list-block .bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-indigo:active, -html:not(.watch-active-state) .list-block .item-linka.bg-indigo:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-indigo:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-indigo:active, -.list-block .bg-indigo .item-link.active-state, -.list-block a.bg-indigo .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-indigo .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-indigo .item-link.active-state, -.list-block.bg-indigo .item-link.active-state, -.list-blocka.bg-indigo .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-indigo .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-indigo .item-link.active-state, -.list-block .item-link.bg-indigo.active-state, -.list-block .item-linka.bg-indigo.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-indigo.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-indigo.active-state { - background: #303F9F; -} -.border-indigo { - border-color: #3f51b5; -} -.list-block .border-indigo.item-inner:after, -.list-block ul.border-indigo:after, -.border-indigo:after, -.list-block .border-indigo.item-inner:before, -.list-block ul.border-indigo:before, -.border-indigo:before { - background-color: #3f51b5; -} -.floating-button.color-indigo, -.speed-dial-buttons a.color-indigo, -.floating-button.bg-indigo, -.speed-dial-buttons a.bg-indigo { - color: #fff; - background: #3f51b5; -} -html:not(.watch-active-state) .floating-button.color-indigo:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-indigo:active, -html:not(.watch-active-state) .floating-button.bg-indigo:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-indigo:active, -.floating-button.color-indigo.active-state, -.speed-dial-buttons a.color-indigo.active-state, -.floating-button.bg-indigo.active-state, -.speed-dial-buttons a.bg-indigo.active-state { - background: #303F9F; -} -.floating-button.color-indigo i, -.speed-dial-buttons a.color-indigo i, -.floating-button.bg-indigo i, -.speed-dial-buttons a.bg-indigo i { - color: inherit; -} -.ripple-indigo .ripple-wave { - background-color: rgba(63, 81, 181, 0.3); -} -.range-slider.color-indigo input[type="range"]::-webkit-slider-thumb:before { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-webkit-slider-thumb { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-ms-thumb { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-ms-fill-lower { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-moz-range-thumb { - background-color: #3f51b5; -} -.badge.color-indigo { - background-color: #3f51b5; - color: #fff; -} -.color-blue { - color: #2196f3; -} -.list-block .item-link.list-button.color-blue, -.list-block .item-link.color-blue, -.tabbar a.active.color-blue, -a.color-blue { - color: #2196f3; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-blue, -.label-switch.color-blue input[type="checkbox"]:checked + .checkbox { - background-color: #2196f3; -} -.button.color-blue:not(.button-fill), -.color-blue.buttons-row .button:not(.button-fill) { - color: #2196f3 !important; -} -.button.button-fill.bg-blue, -.button.button-fill.color-blue { - background: #2196f3 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-blue:active, -html:not(.watch-active-state) .button.button-fill.color-blue:active, -.button.button-fill.bg-blue.active-state, -.button.button-fill.color-blue.active-state { - background: #1976D2 !important; -} -.progressbar.color-blue, -.progressbar.bg-blue { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar.color-blue span, -.progressbar.bg-blue span { - background-color: #2196f3; -} -.progressbar-infinite.color-blue, -.progressbar-infinite.bg-blue { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar-infinite.color-blue:after, -.progressbar-infinite.bg-blue:after, -.progressbar-infinite.color-blue:before, -.progressbar-infinite.bg-blue:before { - background-color: #2196f3; -} -.color-blue i.icon, -i.icon.color-blue { - color: #2196f3; -} -.preloader.color-blue svg circle, -.preloader.preloader-blue svg circle { - stroke: #2196f3; -} -.preloader.color-blue .preloader-inner-gap, -.preloader.preloader-blue .preloader-inner-gap, -.preloader.color-blue .preloader-inner-half-circle, -.preloader.preloader-blue .preloader-inner-half-circle { - border-color: #2196f3; -} -.bg-blue, -a.bg-blue, -.list-block .swipeout-actions-left a.bg-blue, -.list-block .swipeout-actions-right a.bg-blue { - background-color: #2196f3; -} -html:not(.watch-active-state) .list-block .bg-blue .item-link:active, -html:not(.watch-active-state) .list-block a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block.bg-blue .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-blue:active, -html:not(.watch-active-state) .list-block .item-linka.bg-blue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-blue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-blue:active, -.list-block .bg-blue .item-link.active-state, -.list-block a.bg-blue .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-blue .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-blue .item-link.active-state, -.list-block.bg-blue .item-link.active-state, -.list-blocka.bg-blue .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-blue .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-blue .item-link.active-state, -.list-block .item-link.bg-blue.active-state, -.list-block .item-linka.bg-blue.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-blue.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-blue.active-state { - background: #1976D2; -} -.border-blue { - border-color: #2196f3; -} -.list-block .border-blue.item-inner:after, -.list-block ul.border-blue:after, -.border-blue:after, -.list-block .border-blue.item-inner:before, -.list-block ul.border-blue:before, -.border-blue:before { - background-color: #2196f3; -} -.floating-button.color-blue, -.speed-dial-buttons a.color-blue, -.floating-button.bg-blue, -.speed-dial-buttons a.bg-blue { - color: #fff; - background: #2196f3; -} -html:not(.watch-active-state) .floating-button.color-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-blue:active, -html:not(.watch-active-state) .floating-button.bg-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-blue:active, -.floating-button.color-blue.active-state, -.speed-dial-buttons a.color-blue.active-state, -.floating-button.bg-blue.active-state, -.speed-dial-buttons a.bg-blue.active-state { - background: #1976D2; -} -.floating-button.color-blue i, -.speed-dial-buttons a.color-blue i, -.floating-button.bg-blue i, -.speed-dial-buttons a.bg-blue i { - color: inherit; -} -.ripple-blue .ripple-wave { - background-color: rgba(33, 150, 243, 0.3); -} -.range-slider.color-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-webkit-slider-thumb { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-ms-thumb { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-ms-fill-lower { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-moz-range-thumb { - background-color: #2196f3; -} -.badge.color-blue { - background-color: #2196f3; - color: #fff; -} -.color-lightblue { - color: #03a9f4; -} -.list-block .item-link.list-button.color-lightblue, -.list-block .item-link.color-lightblue, -.tabbar a.active.color-lightblue, -a.color-lightblue { - color: #03a9f4; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lightblue, -.label-switch.color-lightblue input[type="checkbox"]:checked + .checkbox { - background-color: #03a9f4; -} -.button.color-lightblue:not(.button-fill), -.color-lightblue.buttons-row .button:not(.button-fill) { - color: #03a9f4 !important; -} -.button.button-fill.bg-lightblue, -.button.button-fill.color-lightblue { - background: #03a9f4 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-lightblue:active, -html:not(.watch-active-state) .button.button-fill.color-lightblue:active, -.button.button-fill.bg-lightblue.active-state, -.button.button-fill.color-lightblue.active-state { - background: #0288D1 !important; -} -.progressbar.color-lightblue, -.progressbar.bg-lightblue { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar.color-lightblue span, -.progressbar.bg-lightblue span { - background-color: #03a9f4; -} -.progressbar-infinite.color-lightblue, -.progressbar-infinite.bg-lightblue { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar-infinite.color-lightblue:after, -.progressbar-infinite.bg-lightblue:after, -.progressbar-infinite.color-lightblue:before, -.progressbar-infinite.bg-lightblue:before { - background-color: #03a9f4; -} -.color-lightblue i.icon, -i.icon.color-lightblue { - color: #03a9f4; -} -.preloader.color-lightblue svg circle, -.preloader.preloader-lightblue svg circle { - stroke: #03a9f4; -} -.preloader.color-lightblue .preloader-inner-gap, -.preloader.preloader-lightblue .preloader-inner-gap, -.preloader.color-lightblue .preloader-inner-half-circle, -.preloader.preloader-lightblue .preloader-inner-half-circle { - border-color: #03a9f4; -} -.bg-lightblue, -a.bg-lightblue, -.list-block .swipeout-actions-left a.bg-lightblue, -.list-block .swipeout-actions-right a.bg-lightblue { - background-color: #03a9f4; -} -html:not(.watch-active-state) .list-block .bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-lightblue:active, -html:not(.watch-active-state) .list-block .item-linka.bg-lightblue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lightblue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lightblue:active, -.list-block .bg-lightblue .item-link.active-state, -.list-block a.bg-lightblue .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-lightblue .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-lightblue .item-link.active-state, -.list-block.bg-lightblue .item-link.active-state, -.list-blocka.bg-lightblue .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-lightblue .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-lightblue .item-link.active-state, -.list-block .item-link.bg-lightblue.active-state, -.list-block .item-linka.bg-lightblue.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-lightblue.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-lightblue.active-state { - background: #0288D1; -} -.border-lightblue { - border-color: #03a9f4; -} -.list-block .border-lightblue.item-inner:after, -.list-block ul.border-lightblue:after, -.border-lightblue:after, -.list-block .border-lightblue.item-inner:before, -.list-block ul.border-lightblue:before, -.border-lightblue:before { - background-color: #03a9f4; -} -.floating-button.color-lightblue, -.speed-dial-buttons a.color-lightblue, -.floating-button.bg-lightblue, -.speed-dial-buttons a.bg-lightblue { - color: #fff; - background: #03a9f4; -} -html:not(.watch-active-state) .floating-button.color-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lightblue:active, -html:not(.watch-active-state) .floating-button.bg-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lightblue:active, -.floating-button.color-lightblue.active-state, -.speed-dial-buttons a.color-lightblue.active-state, -.floating-button.bg-lightblue.active-state, -.speed-dial-buttons a.bg-lightblue.active-state { - background: #0288D1; -} -.floating-button.color-lightblue i, -.speed-dial-buttons a.color-lightblue i, -.floating-button.bg-lightblue i, -.speed-dial-buttons a.bg-lightblue i { - color: inherit; -} -.ripple-lightblue .ripple-wave { - background-color: rgba(3, 169, 244, 0.3); -} -.range-slider.color-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-webkit-slider-thumb { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-ms-thumb { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-ms-fill-lower { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-moz-range-thumb { - background-color: #03a9f4; -} -.badge.color-lightblue { - background-color: #03a9f4; - color: #fff; -} -.color-cyan { - color: #00bcd4; -} -.list-block .item-link.list-button.color-cyan, -.list-block .item-link.color-cyan, -.tabbar a.active.color-cyan, -a.color-cyan { - color: #00bcd4; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-cyan, -.label-switch.color-cyan input[type="checkbox"]:checked + .checkbox { - background-color: #00bcd4; -} -.button.color-cyan:not(.button-fill), -.color-cyan.buttons-row .button:not(.button-fill) { - color: #00bcd4 !important; -} -.button.button-fill.bg-cyan, -.button.button-fill.color-cyan { - background: #00bcd4 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-cyan:active, -html:not(.watch-active-state) .button.button-fill.color-cyan:active, -.button.button-fill.bg-cyan.active-state, -.button.button-fill.color-cyan.active-state { - background: #0097A7 !important; -} -.progressbar.color-cyan, -.progressbar.bg-cyan { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar.color-cyan span, -.progressbar.bg-cyan span { - background-color: #00bcd4; -} -.progressbar-infinite.color-cyan, -.progressbar-infinite.bg-cyan { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar-infinite.color-cyan:after, -.progressbar-infinite.bg-cyan:after, -.progressbar-infinite.color-cyan:before, -.progressbar-infinite.bg-cyan:before { - background-color: #00bcd4; -} -.color-cyan i.icon, -i.icon.color-cyan { - color: #00bcd4; -} -.preloader.color-cyan svg circle, -.preloader.preloader-cyan svg circle { - stroke: #00bcd4; -} -.preloader.color-cyan .preloader-inner-gap, -.preloader.preloader-cyan .preloader-inner-gap, -.preloader.color-cyan .preloader-inner-half-circle, -.preloader.preloader-cyan .preloader-inner-half-circle { - border-color: #00bcd4; -} -.bg-cyan, -a.bg-cyan, -.list-block .swipeout-actions-left a.bg-cyan, -.list-block .swipeout-actions-right a.bg-cyan { - background-color: #00bcd4; -} -html:not(.watch-active-state) .list-block .bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-cyan:active, -html:not(.watch-active-state) .list-block .item-linka.bg-cyan:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-cyan:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-cyan:active, -.list-block .bg-cyan .item-link.active-state, -.list-block a.bg-cyan .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-cyan .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-cyan .item-link.active-state, -.list-block.bg-cyan .item-link.active-state, -.list-blocka.bg-cyan .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-cyan .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-cyan .item-link.active-state, -.list-block .item-link.bg-cyan.active-state, -.list-block .item-linka.bg-cyan.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-cyan.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-cyan.active-state { - background: #0097A7; -} -.border-cyan { - border-color: #00bcd4; -} -.list-block .border-cyan.item-inner:after, -.list-block ul.border-cyan:after, -.border-cyan:after, -.list-block .border-cyan.item-inner:before, -.list-block ul.border-cyan:before, -.border-cyan:before { - background-color: #00bcd4; -} -.floating-button.color-cyan, -.speed-dial-buttons a.color-cyan, -.floating-button.bg-cyan, -.speed-dial-buttons a.bg-cyan { - color: #fff; - background: #00bcd4; -} -html:not(.watch-active-state) .floating-button.color-cyan:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-cyan:active, -html:not(.watch-active-state) .floating-button.bg-cyan:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-cyan:active, -.floating-button.color-cyan.active-state, -.speed-dial-buttons a.color-cyan.active-state, -.floating-button.bg-cyan.active-state, -.speed-dial-buttons a.bg-cyan.active-state { - background: #0097A7; -} -.floating-button.color-cyan i, -.speed-dial-buttons a.color-cyan i, -.floating-button.bg-cyan i, -.speed-dial-buttons a.bg-cyan i { - color: inherit; -} -.ripple-cyan .ripple-wave { - background-color: rgba(0, 188, 212, 0.3); -} -.range-slider.color-cyan input[type="range"]::-webkit-slider-thumb:before { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-webkit-slider-thumb { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-ms-thumb { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-ms-fill-lower { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-moz-range-thumb { - background-color: #00bcd4; -} -.badge.color-cyan { - background-color: #00bcd4; - color: #fff; -} -.color-teal { - color: #009688; -} -.list-block .item-link.list-button.color-teal, -.list-block .item-link.color-teal, -.tabbar a.active.color-teal, -a.color-teal { - color: #009688; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-teal, -.label-switch.color-teal input[type="checkbox"]:checked + .checkbox { - background-color: #009688; -} -.button.color-teal:not(.button-fill), -.color-teal.buttons-row .button:not(.button-fill) { - color: #009688 !important; -} -.button.button-fill.bg-teal, -.button.button-fill.color-teal { - background: #009688 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-teal:active, -html:not(.watch-active-state) .button.button-fill.color-teal:active, -.button.button-fill.bg-teal.active-state, -.button.button-fill.color-teal.active-state { - background: #00897B !important; -} -.progressbar.color-teal, -.progressbar.bg-teal { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar.color-teal span, -.progressbar.bg-teal span { - background-color: #009688; -} -.progressbar-infinite.color-teal, -.progressbar-infinite.bg-teal { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar-infinite.color-teal:after, -.progressbar-infinite.bg-teal:after, -.progressbar-infinite.color-teal:before, -.progressbar-infinite.bg-teal:before { - background-color: #009688; -} -.color-teal i.icon, -i.icon.color-teal { - color: #009688; -} -.preloader.color-teal svg circle, -.preloader.preloader-teal svg circle { - stroke: #009688; -} -.preloader.color-teal .preloader-inner-gap, -.preloader.preloader-teal .preloader-inner-gap, -.preloader.color-teal .preloader-inner-half-circle, -.preloader.preloader-teal .preloader-inner-half-circle { - border-color: #009688; -} -.bg-teal, -a.bg-teal, -.list-block .swipeout-actions-left a.bg-teal, -.list-block .swipeout-actions-right a.bg-teal { - background-color: #009688; -} -html:not(.watch-active-state) .list-block .bg-teal .item-link:active, -html:not(.watch-active-state) .list-block a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block.bg-teal .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-teal:active, -html:not(.watch-active-state) .list-block .item-linka.bg-teal:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-teal:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-teal:active, -.list-block .bg-teal .item-link.active-state, -.list-block a.bg-teal .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-teal .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-teal .item-link.active-state, -.list-block.bg-teal .item-link.active-state, -.list-blocka.bg-teal .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-teal .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-teal .item-link.active-state, -.list-block .item-link.bg-teal.active-state, -.list-block .item-linka.bg-teal.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-teal.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-teal.active-state { - background: #00897B; -} -.border-teal { - border-color: #009688; -} -.list-block .border-teal.item-inner:after, -.list-block ul.border-teal:after, -.border-teal:after, -.list-block .border-teal.item-inner:before, -.list-block ul.border-teal:before, -.border-teal:before { - background-color: #009688; -} -.floating-button.color-teal, -.speed-dial-buttons a.color-teal, -.floating-button.bg-teal, -.speed-dial-buttons a.bg-teal { - color: #fff; - background: #009688; -} -html:not(.watch-active-state) .floating-button.color-teal:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-teal:active, -html:not(.watch-active-state) .floating-button.bg-teal:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-teal:active, -.floating-button.color-teal.active-state, -.speed-dial-buttons a.color-teal.active-state, -.floating-button.bg-teal.active-state, -.speed-dial-buttons a.bg-teal.active-state { - background: #00897B; -} -.floating-button.color-teal i, -.speed-dial-buttons a.color-teal i, -.floating-button.bg-teal i, -.speed-dial-buttons a.bg-teal i { - color: inherit; -} -.ripple-teal .ripple-wave { - background-color: rgba(0, 150, 136, 0.3); -} -.range-slider.color-teal input[type="range"]::-webkit-slider-thumb:before { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-webkit-slider-thumb { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-ms-thumb { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-ms-fill-lower { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-moz-range-thumb { - background-color: #009688; -} -.badge.color-teal { - background-color: #009688; - color: #fff; -} -.color-green { - color: #4caf50; -} -.list-block .item-link.list-button.color-green, -.list-block .item-link.color-green, -.tabbar a.active.color-green, -a.color-green { - color: #4caf50; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-green, -.label-switch.color-green input[type="checkbox"]:checked + .checkbox { - background-color: #4caf50; -} -.button.color-green:not(.button-fill), -.color-green.buttons-row .button:not(.button-fill) { - color: #4caf50 !important; -} -.button.button-fill.bg-green, -.button.button-fill.color-green { - background: #4caf50 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-green:active, -html:not(.watch-active-state) .button.button-fill.color-green:active, -.button.button-fill.bg-green.active-state, -.button.button-fill.color-green.active-state { - background: #388E3C !important; -} -.progressbar.color-green, -.progressbar.bg-green { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar.color-green span, -.progressbar.bg-green span { - background-color: #4caf50; -} -.progressbar-infinite.color-green, -.progressbar-infinite.bg-green { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar-infinite.color-green:after, -.progressbar-infinite.bg-green:after, -.progressbar-infinite.color-green:before, -.progressbar-infinite.bg-green:before { - background-color: #4caf50; -} -.color-green i.icon, -i.icon.color-green { - color: #4caf50; -} -.preloader.color-green svg circle, -.preloader.preloader-green svg circle { - stroke: #4caf50; -} -.preloader.color-green .preloader-inner-gap, -.preloader.preloader-green .preloader-inner-gap, -.preloader.color-green .preloader-inner-half-circle, -.preloader.preloader-green .preloader-inner-half-circle { - border-color: #4caf50; -} -.bg-green, -a.bg-green, -.list-block .swipeout-actions-left a.bg-green, -.list-block .swipeout-actions-right a.bg-green { - background-color: #4caf50; -} -html:not(.watch-active-state) .list-block .bg-green .item-link:active, -html:not(.watch-active-state) .list-block a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block.bg-green .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-green .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-green:active, -html:not(.watch-active-state) .list-block .item-linka.bg-green:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-green:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-green:active, -.list-block .bg-green .item-link.active-state, -.list-block a.bg-green .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-green .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-green .item-link.active-state, -.list-block.bg-green .item-link.active-state, -.list-blocka.bg-green .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-green .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-green .item-link.active-state, -.list-block .item-link.bg-green.active-state, -.list-block .item-linka.bg-green.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-green.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-green.active-state { - background: #388E3C; -} -.border-green { - border-color: #4caf50; -} -.list-block .border-green.item-inner:after, -.list-block ul.border-green:after, -.border-green:after, -.list-block .border-green.item-inner:before, -.list-block ul.border-green:before, -.border-green:before { - background-color: #4caf50; -} -.floating-button.color-green, -.speed-dial-buttons a.color-green, -.floating-button.bg-green, -.speed-dial-buttons a.bg-green { - color: #fff; - background: #4caf50; -} -html:not(.watch-active-state) .floating-button.color-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-green:active, -html:not(.watch-active-state) .floating-button.bg-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-green:active, -.floating-button.color-green.active-state, -.speed-dial-buttons a.color-green.active-state, -.floating-button.bg-green.active-state, -.speed-dial-buttons a.bg-green.active-state { - background: #388E3C; -} -.floating-button.color-green i, -.speed-dial-buttons a.color-green i, -.floating-button.bg-green i, -.speed-dial-buttons a.bg-green i { - color: inherit; -} -.ripple-green .ripple-wave { - background-color: rgba(76, 175, 80, 0.3); -} -.range-slider.color-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-webkit-slider-thumb { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-ms-thumb { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-ms-fill-lower { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-moz-range-thumb { - background-color: #4caf50; -} -.badge.color-green { - background-color: #4caf50; - color: #fff; -} -.color-lightgreen { - color: #8bc34a; -} -.list-block .item-link.list-button.color-lightgreen, -.list-block .item-link.color-lightgreen, -.tabbar a.active.color-lightgreen, -a.color-lightgreen { - color: #8bc34a; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lightgreen, -.label-switch.color-lightgreen input[type="checkbox"]:checked + .checkbox { - background-color: #8bc34a; -} -.button.color-lightgreen:not(.button-fill), -.color-lightgreen.buttons-row .button:not(.button-fill) { - color: #8bc34a !important; -} -.button.button-fill.bg-lightgreen, -.button.button-fill.color-lightgreen { - background: #8bc34a !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-lightgreen:active, -html:not(.watch-active-state) .button.button-fill.color-lightgreen:active, -.button.button-fill.bg-lightgreen.active-state, -.button.button-fill.color-lightgreen.active-state { - background: #689F38 !important; -} -.progressbar.color-lightgreen, -.progressbar.bg-lightgreen { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar.color-lightgreen span, -.progressbar.bg-lightgreen span { - background-color: #8bc34a; -} -.progressbar-infinite.color-lightgreen, -.progressbar-infinite.bg-lightgreen { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar-infinite.color-lightgreen:after, -.progressbar-infinite.bg-lightgreen:after, -.progressbar-infinite.color-lightgreen:before, -.progressbar-infinite.bg-lightgreen:before { - background-color: #8bc34a; -} -.color-lightgreen i.icon, -i.icon.color-lightgreen { - color: #8bc34a; -} -.preloader.color-lightgreen svg circle, -.preloader.preloader-lightgreen svg circle { - stroke: #8bc34a; -} -.preloader.color-lightgreen .preloader-inner-gap, -.preloader.preloader-lightgreen .preloader-inner-gap, -.preloader.color-lightgreen .preloader-inner-half-circle, -.preloader.preloader-lightgreen .preloader-inner-half-circle { - border-color: #8bc34a; -} -.bg-lightgreen, -a.bg-lightgreen, -.list-block .swipeout-actions-left a.bg-lightgreen, -.list-block .swipeout-actions-right a.bg-lightgreen { - background-color: #8bc34a; -} -html:not(.watch-active-state) .list-block .bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-lightgreen:active, -html:not(.watch-active-state) .list-block .item-linka.bg-lightgreen:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lightgreen:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lightgreen:active, -.list-block .bg-lightgreen .item-link.active-state, -.list-block a.bg-lightgreen .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-lightgreen .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-lightgreen .item-link.active-state, -.list-block.bg-lightgreen .item-link.active-state, -.list-blocka.bg-lightgreen .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-lightgreen .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-lightgreen .item-link.active-state, -.list-block .item-link.bg-lightgreen.active-state, -.list-block .item-linka.bg-lightgreen.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-lightgreen.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-lightgreen.active-state { - background: #689F38; -} -.border-lightgreen { - border-color: #8bc34a; -} -.list-block .border-lightgreen.item-inner:after, -.list-block ul.border-lightgreen:after, -.border-lightgreen:after, -.list-block .border-lightgreen.item-inner:before, -.list-block ul.border-lightgreen:before, -.border-lightgreen:before { - background-color: #8bc34a; -} -.floating-button.color-lightgreen, -.speed-dial-buttons a.color-lightgreen, -.floating-button.bg-lightgreen, -.speed-dial-buttons a.bg-lightgreen { - color: #fff; - background: #8bc34a; -} -html:not(.watch-active-state) .floating-button.color-lightgreen:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lightgreen:active, -html:not(.watch-active-state) .floating-button.bg-lightgreen:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lightgreen:active, -.floating-button.color-lightgreen.active-state, -.speed-dial-buttons a.color-lightgreen.active-state, -.floating-button.bg-lightgreen.active-state, -.speed-dial-buttons a.bg-lightgreen.active-state { - background: #689F38; -} -.floating-button.color-lightgreen i, -.speed-dial-buttons a.color-lightgreen i, -.floating-button.bg-lightgreen i, -.speed-dial-buttons a.bg-lightgreen i { - color: inherit; -} -.ripple-lightgreen .ripple-wave { - background-color: rgba(139, 195, 74, 0.3); -} -.range-slider.color-lightgreen input[type="range"]::-webkit-slider-thumb:before { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-webkit-slider-thumb { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-ms-thumb { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-ms-fill-lower { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-moz-range-thumb { - background-color: #8bc34a; -} -.badge.color-lightgreen { - background-color: #8bc34a; - color: #fff; -} -.color-lime { - color: #cddc39; -} -.list-block .item-link.list-button.color-lime, -.list-block .item-link.color-lime, -.tabbar a.active.color-lime, -a.color-lime { - color: #cddc39; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lime, -.label-switch.color-lime input[type="checkbox"]:checked + .checkbox { - background-color: #cddc39; -} -.button.color-lime:not(.button-fill), -.color-lime.buttons-row .button:not(.button-fill) { - color: #cddc39 !important; -} -.button.button-fill.bg-lime, -.button.button-fill.color-lime { - background: #cddc39 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-lime:active, -html:not(.watch-active-state) .button.button-fill.color-lime:active, -.button.button-fill.bg-lime.active-state, -.button.button-fill.color-lime.active-state { - background: #AFB42B !important; -} -.progressbar.color-lime, -.progressbar.bg-lime { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar.color-lime span, -.progressbar.bg-lime span { - background-color: #cddc39; -} -.progressbar-infinite.color-lime, -.progressbar-infinite.bg-lime { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar-infinite.color-lime:after, -.progressbar-infinite.bg-lime:after, -.progressbar-infinite.color-lime:before, -.progressbar-infinite.bg-lime:before { - background-color: #cddc39; -} -.color-lime i.icon, -i.icon.color-lime { - color: #cddc39; -} -.preloader.color-lime svg circle, -.preloader.preloader-lime svg circle { - stroke: #cddc39; -} -.preloader.color-lime .preloader-inner-gap, -.preloader.preloader-lime .preloader-inner-gap, -.preloader.color-lime .preloader-inner-half-circle, -.preloader.preloader-lime .preloader-inner-half-circle { - border-color: #cddc39; -} -.bg-lime, -a.bg-lime, -.list-block .swipeout-actions-left a.bg-lime, -.list-block .swipeout-actions-right a.bg-lime { - background-color: #cddc39; -} -html:not(.watch-active-state) .list-block .bg-lime .item-link:active, -html:not(.watch-active-state) .list-block a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block.bg-lime .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-lime:active, -html:not(.watch-active-state) .list-block .item-linka.bg-lime:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lime:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lime:active, -.list-block .bg-lime .item-link.active-state, -.list-block a.bg-lime .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-lime .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-lime .item-link.active-state, -.list-block.bg-lime .item-link.active-state, -.list-blocka.bg-lime .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-lime .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-lime .item-link.active-state, -.list-block .item-link.bg-lime.active-state, -.list-block .item-linka.bg-lime.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-lime.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-lime.active-state { - background: #AFB42B; -} -.border-lime { - border-color: #cddc39; -} -.list-block .border-lime.item-inner:after, -.list-block ul.border-lime:after, -.border-lime:after, -.list-block .border-lime.item-inner:before, -.list-block ul.border-lime:before, -.border-lime:before { - background-color: #cddc39; -} -.floating-button.color-lime, -.speed-dial-buttons a.color-lime, -.floating-button.bg-lime, -.speed-dial-buttons a.bg-lime { - color: #fff; - background: #cddc39; -} -html:not(.watch-active-state) .floating-button.color-lime:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lime:active, -html:not(.watch-active-state) .floating-button.bg-lime:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lime:active, -.floating-button.color-lime.active-state, -.speed-dial-buttons a.color-lime.active-state, -.floating-button.bg-lime.active-state, -.speed-dial-buttons a.bg-lime.active-state { - background: #AFB42B; -} -.floating-button.color-lime i, -.speed-dial-buttons a.color-lime i, -.floating-button.bg-lime i, -.speed-dial-buttons a.bg-lime i { - color: inherit; -} -.ripple-lime .ripple-wave { - background-color: rgba(205, 220, 57, 0.3); -} -.range-slider.color-lime input[type="range"]::-webkit-slider-thumb:before { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-webkit-slider-thumb { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-ms-thumb { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-ms-fill-lower { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-moz-range-thumb { - background-color: #cddc39; -} -.badge.color-lime { - background-color: #cddc39; - color: #fff; -} -.color-yellow { - color: #ffeb3b; -} -.list-block .item-link.list-button.color-yellow, -.list-block .item-link.color-yellow, -.tabbar a.active.color-yellow, -a.color-yellow { - color: #ffeb3b; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-yellow, -.label-switch.color-yellow input[type="checkbox"]:checked + .checkbox { - background-color: #ffeb3b; -} -.button.color-yellow:not(.button-fill), -.color-yellow.buttons-row .button:not(.button-fill) { - color: #ffeb3b !important; -} -.button.button-fill.bg-yellow, -.button.button-fill.color-yellow { - background: #ffeb3b !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-yellow:active, -html:not(.watch-active-state) .button.button-fill.color-yellow:active, -.button.button-fill.bg-yellow.active-state, -.button.button-fill.color-yellow.active-state { - background: #FBC02D !important; -} -.progressbar.color-yellow, -.progressbar.bg-yellow { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar.color-yellow span, -.progressbar.bg-yellow span { - background-color: #ffeb3b; -} -.progressbar-infinite.color-yellow, -.progressbar-infinite.bg-yellow { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar-infinite.color-yellow:after, -.progressbar-infinite.bg-yellow:after, -.progressbar-infinite.color-yellow:before, -.progressbar-infinite.bg-yellow:before { - background-color: #ffeb3b; -} -.color-yellow i.icon, -i.icon.color-yellow { - color: #ffeb3b; -} -.preloader.color-yellow svg circle, -.preloader.preloader-yellow svg circle { - stroke: #ffeb3b; -} -.preloader.color-yellow .preloader-inner-gap, -.preloader.preloader-yellow .preloader-inner-gap, -.preloader.color-yellow .preloader-inner-half-circle, -.preloader.preloader-yellow .preloader-inner-half-circle { - border-color: #ffeb3b; -} -.bg-yellow, -a.bg-yellow, -.list-block .swipeout-actions-left a.bg-yellow, -.list-block .swipeout-actions-right a.bg-yellow { - background-color: #ffeb3b; -} -html:not(.watch-active-state) .list-block .bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-yellow:active, -html:not(.watch-active-state) .list-block .item-linka.bg-yellow:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-yellow:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-yellow:active, -.list-block .bg-yellow .item-link.active-state, -.list-block a.bg-yellow .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-yellow .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-yellow .item-link.active-state, -.list-block.bg-yellow .item-link.active-state, -.list-blocka.bg-yellow .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-yellow .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-yellow .item-link.active-state, -.list-block .item-link.bg-yellow.active-state, -.list-block .item-linka.bg-yellow.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-yellow.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-yellow.active-state { - background: #FBC02D; -} -.border-yellow { - border-color: #ffeb3b; -} -.list-block .border-yellow.item-inner:after, -.list-block ul.border-yellow:after, -.border-yellow:after, -.list-block .border-yellow.item-inner:before, -.list-block ul.border-yellow:before, -.border-yellow:before { - background-color: #ffeb3b; -} -.floating-button.color-yellow, -.speed-dial-buttons a.color-yellow, -.floating-button.bg-yellow, -.speed-dial-buttons a.bg-yellow { - color: #fff; - background: #ffeb3b; -} -html:not(.watch-active-state) .floating-button.color-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-yellow:active, -html:not(.watch-active-state) .floating-button.bg-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-yellow:active, -.floating-button.color-yellow.active-state, -.speed-dial-buttons a.color-yellow.active-state, -.floating-button.bg-yellow.active-state, -.speed-dial-buttons a.bg-yellow.active-state { - background: #FBC02D; -} -.floating-button.color-yellow i, -.speed-dial-buttons a.color-yellow i, -.floating-button.bg-yellow i, -.speed-dial-buttons a.bg-yellow i { - color: inherit; -} -.ripple-yellow .ripple-wave { - background-color: rgba(255, 235, 59, 0.3); -} -.range-slider.color-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-webkit-slider-thumb { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-ms-thumb { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-moz-range-thumb { - background-color: #ffeb3b; -} -.badge.color-yellow { - background-color: #ffeb3b; - color: #fff; -} -.color-amber { - color: #ffc107; -} -.list-block .item-link.list-button.color-amber, -.list-block .item-link.color-amber, -.tabbar a.active.color-amber, -a.color-amber { - color: #ffc107; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-amber, -.label-switch.color-amber input[type="checkbox"]:checked + .checkbox { - background-color: #ffc107; -} -.button.color-amber:not(.button-fill), -.color-amber.buttons-row .button:not(.button-fill) { - color: #ffc107 !important; -} -.button.button-fill.bg-amber, -.button.button-fill.color-amber { - background: #ffc107 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-amber:active, -html:not(.watch-active-state) .button.button-fill.color-amber:active, -.button.button-fill.bg-amber.active-state, -.button.button-fill.color-amber.active-state { - background: #FFA000 !important; -} -.progressbar.color-amber, -.progressbar.bg-amber { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar.color-amber span, -.progressbar.bg-amber span { - background-color: #ffc107; -} -.progressbar-infinite.color-amber, -.progressbar-infinite.bg-amber { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar-infinite.color-amber:after, -.progressbar-infinite.bg-amber:after, -.progressbar-infinite.color-amber:before, -.progressbar-infinite.bg-amber:before { - background-color: #ffc107; -} -.color-amber i.icon, -i.icon.color-amber { - color: #ffc107; -} -.preloader.color-amber svg circle, -.preloader.preloader-amber svg circle { - stroke: #ffc107; -} -.preloader.color-amber .preloader-inner-gap, -.preloader.preloader-amber .preloader-inner-gap, -.preloader.color-amber .preloader-inner-half-circle, -.preloader.preloader-amber .preloader-inner-half-circle { - border-color: #ffc107; -} -.bg-amber, -a.bg-amber, -.list-block .swipeout-actions-left a.bg-amber, -.list-block .swipeout-actions-right a.bg-amber { - background-color: #ffc107; -} -html:not(.watch-active-state) .list-block .bg-amber .item-link:active, -html:not(.watch-active-state) .list-block a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block.bg-amber .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-amber:active, -html:not(.watch-active-state) .list-block .item-linka.bg-amber:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-amber:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-amber:active, -.list-block .bg-amber .item-link.active-state, -.list-block a.bg-amber .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-amber .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-amber .item-link.active-state, -.list-block.bg-amber .item-link.active-state, -.list-blocka.bg-amber .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-amber .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-amber .item-link.active-state, -.list-block .item-link.bg-amber.active-state, -.list-block .item-linka.bg-amber.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-amber.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-amber.active-state { - background: #FFA000; -} -.border-amber { - border-color: #ffc107; -} -.list-block .border-amber.item-inner:after, -.list-block ul.border-amber:after, -.border-amber:after, -.list-block .border-amber.item-inner:before, -.list-block ul.border-amber:before, -.border-amber:before { - background-color: #ffc107; -} -.floating-button.color-amber, -.speed-dial-buttons a.color-amber, -.floating-button.bg-amber, -.speed-dial-buttons a.bg-amber { - color: #fff; - background: #ffc107; -} -html:not(.watch-active-state) .floating-button.color-amber:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-amber:active, -html:not(.watch-active-state) .floating-button.bg-amber:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-amber:active, -.floating-button.color-amber.active-state, -.speed-dial-buttons a.color-amber.active-state, -.floating-button.bg-amber.active-state, -.speed-dial-buttons a.bg-amber.active-state { - background: #FFA000; -} -.floating-button.color-amber i, -.speed-dial-buttons a.color-amber i, -.floating-button.bg-amber i, -.speed-dial-buttons a.bg-amber i { - color: inherit; -} -.ripple-amber .ripple-wave { - background-color: rgba(255, 193, 7, 0.3); -} -.range-slider.color-amber input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-webkit-slider-thumb { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-ms-thumb { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-ms-fill-lower { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-moz-range-thumb { - background-color: #ffc107; -} -.badge.color-amber { - background-color: #ffc107; - color: #fff; -} -.color-orange { - color: #ff9800; -} -.list-block .item-link.list-button.color-orange, -.list-block .item-link.color-orange, -.tabbar a.active.color-orange, -a.color-orange { - color: #ff9800; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-orange, -.label-switch.color-orange input[type="checkbox"]:checked + .checkbox { - background-color: #ff9800; -} -.button.color-orange:not(.button-fill), -.color-orange.buttons-row .button:not(.button-fill) { - color: #ff9800 !important; -} -.button.button-fill.bg-orange, -.button.button-fill.color-orange { - background: #ff9800 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-orange:active, -html:not(.watch-active-state) .button.button-fill.color-orange:active, -.button.button-fill.bg-orange.active-state, -.button.button-fill.color-orange.active-state { - background: #F57C00 !important; -} -.progressbar.color-orange, -.progressbar.bg-orange { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar.color-orange span, -.progressbar.bg-orange span { - background-color: #ff9800; -} -.progressbar-infinite.color-orange, -.progressbar-infinite.bg-orange { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar-infinite.color-orange:after, -.progressbar-infinite.bg-orange:after, -.progressbar-infinite.color-orange:before, -.progressbar-infinite.bg-orange:before { - background-color: #ff9800; -} -.color-orange i.icon, -i.icon.color-orange { - color: #ff9800; -} -.preloader.color-orange svg circle, -.preloader.preloader-orange svg circle { - stroke: #ff9800; -} -.preloader.color-orange .preloader-inner-gap, -.preloader.preloader-orange .preloader-inner-gap, -.preloader.color-orange .preloader-inner-half-circle, -.preloader.preloader-orange .preloader-inner-half-circle { - border-color: #ff9800; -} -.bg-orange, -a.bg-orange, -.list-block .swipeout-actions-left a.bg-orange, -.list-block .swipeout-actions-right a.bg-orange { - background-color: #ff9800; -} -html:not(.watch-active-state) .list-block .bg-orange .item-link:active, -html:not(.watch-active-state) .list-block a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block.bg-orange .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-orange:active, -html:not(.watch-active-state) .list-block .item-linka.bg-orange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-orange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-orange:active, -.list-block .bg-orange .item-link.active-state, -.list-block a.bg-orange .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-orange .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-orange .item-link.active-state, -.list-block.bg-orange .item-link.active-state, -.list-blocka.bg-orange .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-orange .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-orange .item-link.active-state, -.list-block .item-link.bg-orange.active-state, -.list-block .item-linka.bg-orange.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-orange.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-orange.active-state { - background: #F57C00; -} -.border-orange { - border-color: #ff9800; -} -.list-block .border-orange.item-inner:after, -.list-block ul.border-orange:after, -.border-orange:after, -.list-block .border-orange.item-inner:before, -.list-block ul.border-orange:before, -.border-orange:before { - background-color: #ff9800; -} -.floating-button.color-orange, -.speed-dial-buttons a.color-orange, -.floating-button.bg-orange, -.speed-dial-buttons a.bg-orange { - color: #fff; - background: #ff9800; -} -html:not(.watch-active-state) .floating-button.color-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-orange:active, -html:not(.watch-active-state) .floating-button.bg-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-orange:active, -.floating-button.color-orange.active-state, -.speed-dial-buttons a.color-orange.active-state, -.floating-button.bg-orange.active-state, -.speed-dial-buttons a.bg-orange.active-state { - background: #F57C00; -} -.floating-button.color-orange i, -.speed-dial-buttons a.color-orange i, -.floating-button.bg-orange i, -.speed-dial-buttons a.bg-orange i { - color: inherit; -} -.ripple-orange .ripple-wave { - background-color: rgba(255, 152, 0, 0.3); -} -.range-slider.color-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-webkit-slider-thumb { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-ms-thumb { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-moz-range-thumb { - background-color: #ff9800; -} -.badge.color-orange { - background-color: #ff9800; - color: #fff; -} -.color-deeporange { - color: #ff5722; -} -.list-block .item-link.list-button.color-deeporange, -.list-block .item-link.color-deeporange, -.tabbar a.active.color-deeporange, -a.color-deeporange { - color: #ff5722; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-deeporange, -.label-switch.color-deeporange input[type="checkbox"]:checked + .checkbox { - background-color: #ff5722; -} -.button.color-deeporange:not(.button-fill), -.color-deeporange.buttons-row .button:not(.button-fill) { - color: #ff5722 !important; -} -.button.button-fill.bg-deeporange, -.button.button-fill.color-deeporange { - background: #ff5722 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-deeporange:active, -html:not(.watch-active-state) .button.button-fill.color-deeporange:active, -.button.button-fill.bg-deeporange.active-state, -.button.button-fill.color-deeporange.active-state { - background: #E64A19 !important; -} -.progressbar.color-deeporange, -.progressbar.bg-deeporange { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar.color-deeporange span, -.progressbar.bg-deeporange span { - background-color: #ff5722; -} -.progressbar-infinite.color-deeporange, -.progressbar-infinite.bg-deeporange { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar-infinite.color-deeporange:after, -.progressbar-infinite.bg-deeporange:after, -.progressbar-infinite.color-deeporange:before, -.progressbar-infinite.bg-deeporange:before { - background-color: #ff5722; -} -.color-deeporange i.icon, -i.icon.color-deeporange { - color: #ff5722; -} -.preloader.color-deeporange svg circle, -.preloader.preloader-deeporange svg circle { - stroke: #ff5722; -} -.preloader.color-deeporange .preloader-inner-gap, -.preloader.preloader-deeporange .preloader-inner-gap, -.preloader.color-deeporange .preloader-inner-half-circle, -.preloader.preloader-deeporange .preloader-inner-half-circle { - border-color: #ff5722; -} -.bg-deeporange, -a.bg-deeporange, -.list-block .swipeout-actions-left a.bg-deeporange, -.list-block .swipeout-actions-right a.bg-deeporange { - background-color: #ff5722; -} -html:not(.watch-active-state) .list-block .bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-deeporange:active, -html:not(.watch-active-state) .list-block .item-linka.bg-deeporange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-deeporange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-deeporange:active, -.list-block .bg-deeporange .item-link.active-state, -.list-block a.bg-deeporange .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-deeporange .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-deeporange .item-link.active-state, -.list-block.bg-deeporange .item-link.active-state, -.list-blocka.bg-deeporange .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-deeporange .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-deeporange .item-link.active-state, -.list-block .item-link.bg-deeporange.active-state, -.list-block .item-linka.bg-deeporange.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-deeporange.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-deeporange.active-state { - background: #E64A19; -} -.border-deeporange { - border-color: #ff5722; -} -.list-block .border-deeporange.item-inner:after, -.list-block ul.border-deeporange:after, -.border-deeporange:after, -.list-block .border-deeporange.item-inner:before, -.list-block ul.border-deeporange:before, -.border-deeporange:before { - background-color: #ff5722; -} -.floating-button.color-deeporange, -.speed-dial-buttons a.color-deeporange, -.floating-button.bg-deeporange, -.speed-dial-buttons a.bg-deeporange { - color: #fff; - background: #ff5722; -} -html:not(.watch-active-state) .floating-button.color-deeporange:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-deeporange:active, -html:not(.watch-active-state) .floating-button.bg-deeporange:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-deeporange:active, -.floating-button.color-deeporange.active-state, -.speed-dial-buttons a.color-deeporange.active-state, -.floating-button.bg-deeporange.active-state, -.speed-dial-buttons a.bg-deeporange.active-state { - background: #E64A19; -} -.floating-button.color-deeporange i, -.speed-dial-buttons a.color-deeporange i, -.floating-button.bg-deeporange i, -.speed-dial-buttons a.bg-deeporange i { - color: inherit; -} -.ripple-deeporange .ripple-wave { - background-color: rgba(255, 87, 34, 0.3); -} -.range-slider.color-deeporange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-webkit-slider-thumb { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-ms-thumb { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-ms-fill-lower { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-moz-range-thumb { - background-color: #ff5722; -} -.badge.color-deeporange { - background-color: #ff5722; - color: #fff; -} -.color-brown { - color: #795548; -} -.list-block .item-link.list-button.color-brown, -.list-block .item-link.color-brown, -.tabbar a.active.color-brown, -a.color-brown { - color: #795548; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-brown, -.label-switch.color-brown input[type="checkbox"]:checked + .checkbox { - background-color: #795548; -} -.button.color-brown:not(.button-fill), -.color-brown.buttons-row .button:not(.button-fill) { - color: #795548 !important; -} -.button.button-fill.bg-brown, -.button.button-fill.color-brown { - background: #795548 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-brown:active, -html:not(.watch-active-state) .button.button-fill.color-brown:active, -.button.button-fill.bg-brown.active-state, -.button.button-fill.color-brown.active-state { - background: #5D4037 !important; -} -.progressbar.color-brown, -.progressbar.bg-brown { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar.color-brown span, -.progressbar.bg-brown span { - background-color: #795548; -} -.progressbar-infinite.color-brown, -.progressbar-infinite.bg-brown { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar-infinite.color-brown:after, -.progressbar-infinite.bg-brown:after, -.progressbar-infinite.color-brown:before, -.progressbar-infinite.bg-brown:before { - background-color: #795548; -} -.color-brown i.icon, -i.icon.color-brown { - color: #795548; -} -.preloader.color-brown svg circle, -.preloader.preloader-brown svg circle { - stroke: #795548; -} -.preloader.color-brown .preloader-inner-gap, -.preloader.preloader-brown .preloader-inner-gap, -.preloader.color-brown .preloader-inner-half-circle, -.preloader.preloader-brown .preloader-inner-half-circle { - border-color: #795548; -} -.bg-brown, -a.bg-brown, -.list-block .swipeout-actions-left a.bg-brown, -.list-block .swipeout-actions-right a.bg-brown { - background-color: #795548; -} -html:not(.watch-active-state) .list-block .bg-brown .item-link:active, -html:not(.watch-active-state) .list-block a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block.bg-brown .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-brown:active, -html:not(.watch-active-state) .list-block .item-linka.bg-brown:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-brown:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-brown:active, -.list-block .bg-brown .item-link.active-state, -.list-block a.bg-brown .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-brown .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-brown .item-link.active-state, -.list-block.bg-brown .item-link.active-state, -.list-blocka.bg-brown .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-brown .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-brown .item-link.active-state, -.list-block .item-link.bg-brown.active-state, -.list-block .item-linka.bg-brown.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-brown.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-brown.active-state { - background: #5D4037; -} -.border-brown { - border-color: #795548; -} -.list-block .border-brown.item-inner:after, -.list-block ul.border-brown:after, -.border-brown:after, -.list-block .border-brown.item-inner:before, -.list-block ul.border-brown:before, -.border-brown:before { - background-color: #795548; -} -.floating-button.color-brown, -.speed-dial-buttons a.color-brown, -.floating-button.bg-brown, -.speed-dial-buttons a.bg-brown { - color: #fff; - background: #795548; -} -html:not(.watch-active-state) .floating-button.color-brown:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-brown:active, -html:not(.watch-active-state) .floating-button.bg-brown:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-brown:active, -.floating-button.color-brown.active-state, -.speed-dial-buttons a.color-brown.active-state, -.floating-button.bg-brown.active-state, -.speed-dial-buttons a.bg-brown.active-state { - background: #5D4037; -} -.floating-button.color-brown i, -.speed-dial-buttons a.color-brown i, -.floating-button.bg-brown i, -.speed-dial-buttons a.bg-brown i { - color: inherit; -} -.ripple-brown .ripple-wave { - background-color: rgba(121, 85, 72, 0.3); -} -.range-slider.color-brown input[type="range"]::-webkit-slider-thumb:before { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-webkit-slider-thumb { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-ms-thumb { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-ms-fill-lower { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-moz-range-thumb { - background-color: #795548; -} -.badge.color-brown { - background-color: #795548; - color: #fff; -} -.color-gray { - color: #9e9e9e; -} -.list-block .item-link.list-button.color-gray, -.list-block .item-link.color-gray, -.tabbar a.active.color-gray, -a.color-gray { - color: #9e9e9e; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-gray, -.label-switch.color-gray input[type="checkbox"]:checked + .checkbox { - background-color: #9e9e9e; -} -.button.color-gray:not(.button-fill), -.color-gray.buttons-row .button:not(.button-fill) { - color: #9e9e9e !important; -} -.button.button-fill.bg-gray, -.button.button-fill.color-gray { - background: #9e9e9e !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-gray:active, -html:not(.watch-active-state) .button.button-fill.color-gray:active, -.button.button-fill.bg-gray.active-state, -.button.button-fill.color-gray.active-state { - background: #616161 !important; -} -.progressbar.color-gray, -.progressbar.bg-gray { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar.color-gray span, -.progressbar.bg-gray span { - background-color: #9e9e9e; -} -.progressbar-infinite.color-gray, -.progressbar-infinite.bg-gray { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar-infinite.color-gray:after, -.progressbar-infinite.bg-gray:after, -.progressbar-infinite.color-gray:before, -.progressbar-infinite.bg-gray:before { - background-color: #9e9e9e; -} -.color-gray i.icon, -i.icon.color-gray { - color: #9e9e9e; -} -.preloader.color-gray svg circle, -.preloader.preloader-gray svg circle { - stroke: #9e9e9e; -} -.preloader.color-gray .preloader-inner-gap, -.preloader.preloader-gray .preloader-inner-gap, -.preloader.color-gray .preloader-inner-half-circle, -.preloader.preloader-gray .preloader-inner-half-circle { - border-color: #9e9e9e; -} -.bg-gray, -a.bg-gray, -.list-block .swipeout-actions-left a.bg-gray, -.list-block .swipeout-actions-right a.bg-gray { - background-color: #9e9e9e; -} -html:not(.watch-active-state) .list-block .bg-gray .item-link:active, -html:not(.watch-active-state) .list-block a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block.bg-gray .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-gray:active, -html:not(.watch-active-state) .list-block .item-linka.bg-gray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-gray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-gray:active, -.list-block .bg-gray .item-link.active-state, -.list-block a.bg-gray .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-gray .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-gray .item-link.active-state, -.list-block.bg-gray .item-link.active-state, -.list-blocka.bg-gray .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-gray .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-gray .item-link.active-state, -.list-block .item-link.bg-gray.active-state, -.list-block .item-linka.bg-gray.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-gray.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-gray.active-state { - background: #616161; -} -.border-gray { - border-color: #9e9e9e; -} -.list-block .border-gray.item-inner:after, -.list-block ul.border-gray:after, -.border-gray:after, -.list-block .border-gray.item-inner:before, -.list-block ul.border-gray:before, -.border-gray:before { - background-color: #9e9e9e; -} -.floating-button.color-gray, -.speed-dial-buttons a.color-gray, -.floating-button.bg-gray, -.speed-dial-buttons a.bg-gray { - color: #fff; - background: #9e9e9e; -} -html:not(.watch-active-state) .floating-button.color-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-gray:active, -html:not(.watch-active-state) .floating-button.bg-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-gray:active, -.floating-button.color-gray.active-state, -.speed-dial-buttons a.color-gray.active-state, -.floating-button.bg-gray.active-state, -.speed-dial-buttons a.bg-gray.active-state { - background: #616161; -} -.floating-button.color-gray i, -.speed-dial-buttons a.color-gray i, -.floating-button.bg-gray i, -.speed-dial-buttons a.bg-gray i { - color: inherit; -} -.ripple-gray .ripple-wave { - background-color: rgba(158, 158, 158, 0.3); -} -.range-slider.color-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-webkit-slider-thumb { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-ms-thumb { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-ms-fill-lower { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-moz-range-thumb { - background-color: #9e9e9e; -} -.badge.color-gray { - background-color: #9e9e9e; - color: #fff; -} -.color-bluegray { - color: #607d8b; -} -.list-block .item-link.list-button.color-bluegray, -.list-block .item-link.color-bluegray, -.tabbar a.active.color-bluegray, -a.color-bluegray { - color: #607d8b; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-bluegray, -.label-switch.color-bluegray input[type="checkbox"]:checked + .checkbox { - background-color: #607d8b; -} -.button.color-bluegray:not(.button-fill), -.color-bluegray.buttons-row .button:not(.button-fill) { - color: #607d8b !important; -} -.button.button-fill.bg-bluegray, -.button.button-fill.color-bluegray { - background: #607d8b !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-bluegray:active, -html:not(.watch-active-state) .button.button-fill.color-bluegray:active, -.button.button-fill.bg-bluegray.active-state, -.button.button-fill.color-bluegray.active-state { - background: #455A64 !important; -} -.progressbar.color-bluegray, -.progressbar.bg-bluegray { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar.color-bluegray span, -.progressbar.bg-bluegray span { - background-color: #607d8b; -} -.progressbar-infinite.color-bluegray, -.progressbar-infinite.bg-bluegray { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar-infinite.color-bluegray:after, -.progressbar-infinite.bg-bluegray:after, -.progressbar-infinite.color-bluegray:before, -.progressbar-infinite.bg-bluegray:before { - background-color: #607d8b; -} -.color-bluegray i.icon, -i.icon.color-bluegray { - color: #607d8b; -} -.preloader.color-bluegray svg circle, -.preloader.preloader-bluegray svg circle { - stroke: #607d8b; -} -.preloader.color-bluegray .preloader-inner-gap, -.preloader.preloader-bluegray .preloader-inner-gap, -.preloader.color-bluegray .preloader-inner-half-circle, -.preloader.preloader-bluegray .preloader-inner-half-circle { - border-color: #607d8b; -} -.bg-bluegray, -a.bg-bluegray, -.list-block .swipeout-actions-left a.bg-bluegray, -.list-block .swipeout-actions-right a.bg-bluegray { - background-color: #607d8b; -} -html:not(.watch-active-state) .list-block .bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-bluegray:active, -html:not(.watch-active-state) .list-block .item-linka.bg-bluegray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-bluegray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-bluegray:active, -.list-block .bg-bluegray .item-link.active-state, -.list-block a.bg-bluegray .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-bluegray .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-bluegray .item-link.active-state, -.list-block.bg-bluegray .item-link.active-state, -.list-blocka.bg-bluegray .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-bluegray .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-bluegray .item-link.active-state, -.list-block .item-link.bg-bluegray.active-state, -.list-block .item-linka.bg-bluegray.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-bluegray.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-bluegray.active-state { - background: #455A64; -} -.border-bluegray { - border-color: #607d8b; -} -.list-block .border-bluegray.item-inner:after, -.list-block ul.border-bluegray:after, -.border-bluegray:after, -.list-block .border-bluegray.item-inner:before, -.list-block ul.border-bluegray:before, -.border-bluegray:before { - background-color: #607d8b; -} -.floating-button.color-bluegray, -.speed-dial-buttons a.color-bluegray, -.floating-button.bg-bluegray, -.speed-dial-buttons a.bg-bluegray { - color: #fff; - background: #607d8b; -} -html:not(.watch-active-state) .floating-button.color-bluegray:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-bluegray:active, -html:not(.watch-active-state) .floating-button.bg-bluegray:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-bluegray:active, -.floating-button.color-bluegray.active-state, -.speed-dial-buttons a.color-bluegray.active-state, -.floating-button.bg-bluegray.active-state, -.speed-dial-buttons a.bg-bluegray.active-state { - background: #455A64; -} -.floating-button.color-bluegray i, -.speed-dial-buttons a.color-bluegray i, -.floating-button.bg-bluegray i, -.speed-dial-buttons a.bg-bluegray i { - color: inherit; -} -.ripple-bluegray .ripple-wave { - background-color: rgba(96, 125, 139, 0.3); -} -.range-slider.color-bluegray input[type="range"]::-webkit-slider-thumb:before { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-webkit-slider-thumb { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-ms-thumb { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-ms-fill-lower { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-moz-range-thumb { - background-color: #607d8b; -} -.badge.color-bluegray { - background-color: #607d8b; - color: #fff; -} -.color-white { - color: #ffffff; -} -.list-block .item-link.list-button.color-white, -.list-block .item-link.color-white, -.tabbar a.active.color-white, -a.color-white { - color: #ffffff; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-white, -.label-switch.color-white input[type="checkbox"]:checked + .checkbox { - background-color: #ffffff; -} -.button.color-white:not(.button-fill), -.color-white.buttons-row .button:not(.button-fill) { - color: #ffffff !important; -} -.button.button-fill.bg-white, -.button.button-fill.color-white { - background: #ffffff !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-white:active, -html:not(.watch-active-state) .button.button-fill.color-white:active, -.button.button-fill.bg-white.active-state, -.button.button-fill.color-white.active-state { - background: rgba(0, 0, 0, 0.1) !important; -} -.progressbar.color-white, -.progressbar.bg-white { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar.color-white span, -.progressbar.bg-white span { - background-color: #ffffff; -} -.progressbar-infinite.color-white, -.progressbar-infinite.bg-white { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar-infinite.color-white:after, -.progressbar-infinite.bg-white:after, -.progressbar-infinite.color-white:before, -.progressbar-infinite.bg-white:before { - background-color: #ffffff; -} -.color-white i.icon, -i.icon.color-white { - color: #ffffff; -} -.preloader.color-white svg circle, -.preloader.preloader-white svg circle { - stroke: #ffffff; -} -.preloader.color-white .preloader-inner-gap, -.preloader.preloader-white .preloader-inner-gap, -.preloader.color-white .preloader-inner-half-circle, -.preloader.preloader-white .preloader-inner-half-circle { - border-color: #ffffff; -} -.bg-white, -a.bg-white, -.list-block .swipeout-actions-left a.bg-white, -.list-block .swipeout-actions-right a.bg-white { - background-color: #ffffff; -} -html:not(.watch-active-state) .list-block .bg-white .item-link:active, -html:not(.watch-active-state) .list-block a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block.bg-white .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-white .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-white:active, -html:not(.watch-active-state) .list-block .item-linka.bg-white:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-white:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-white:active, -.list-block .bg-white .item-link.active-state, -.list-block a.bg-white .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-white .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-white .item-link.active-state, -.list-block.bg-white .item-link.active-state, -.list-blocka.bg-white .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-white .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-white .item-link.active-state, -.list-block .item-link.bg-white.active-state, -.list-block .item-linka.bg-white.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-white.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-white.active-state { - background: rgba(0, 0, 0, 0.1); -} -.border-white { - border-color: #ffffff; -} -.list-block .border-white.item-inner:after, -.list-block ul.border-white:after, -.border-white:after, -.list-block .border-white.item-inner:before, -.list-block ul.border-white:before, -.border-white:before { - background-color: #ffffff; -} -.floating-button.color-white, -.speed-dial-buttons a.color-white, -.floating-button.bg-white, -.speed-dial-buttons a.bg-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .floating-button.color-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-white:active, -html:not(.watch-active-state) .floating-button.bg-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-white:active, -.floating-button.color-white.active-state, -.speed-dial-buttons a.color-white.active-state, -.floating-button.bg-white.active-state, -.speed-dial-buttons a.bg-white.active-state { - background: rgba(0, 0, 0, 0.1); -} -.floating-button.color-white i, -.speed-dial-buttons a.color-white i, -.floating-button.bg-white i, -.speed-dial-buttons a.bg-white i { - color: inherit; -} -.ripple-white .ripple-wave { - background-color: rgba(255, 255, 255, 0.3); -} -.range-slider.color-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-webkit-slider-thumb { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-ms-thumb { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-moz-range-thumb { - background-color: #ffffff; -} -.badge.color-white { - background-color: #ffffff; - color: #fff; -} -.color-black { - color: #000000; -} -.list-block .item-link.list-button.color-black, -.list-block .item-link.color-black, -.tabbar a.active.color-black, -a.color-black { - color: #000000; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-black, -.label-switch.color-black input[type="checkbox"]:checked + .checkbox { - background-color: #000000; -} -.button.color-black:not(.button-fill), -.color-black.buttons-row .button:not(.button-fill) { - color: #000000 !important; -} -.button.button-fill.bg-black, -.button.button-fill.color-black { - background: #000000 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-black:active, -html:not(.watch-active-state) .button.button-fill.color-black:active, -.button.button-fill.bg-black.active-state, -.button.button-fill.color-black.active-state { - background: #333 !important; -} -.progressbar.color-black, -.progressbar.bg-black { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar.color-black span, -.progressbar.bg-black span { - background-color: #000000; -} -.progressbar-infinite.color-black, -.progressbar-infinite.bg-black { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar-infinite.color-black:after, -.progressbar-infinite.bg-black:after, -.progressbar-infinite.color-black:before, -.progressbar-infinite.bg-black:before { - background-color: #000000; -} -.color-black i.icon, -i.icon.color-black { - color: #000000; -} -.preloader.color-black svg circle, -.preloader.preloader-black svg circle { - stroke: #000000; -} -.preloader.color-black .preloader-inner-gap, -.preloader.preloader-black .preloader-inner-gap, -.preloader.color-black .preloader-inner-half-circle, -.preloader.preloader-black .preloader-inner-half-circle { - border-color: #000000; -} -.bg-black, -a.bg-black, -.list-block .swipeout-actions-left a.bg-black, -.list-block .swipeout-actions-right a.bg-black { - background-color: #000000; -} -html:not(.watch-active-state) .list-block .bg-black .item-link:active, -html:not(.watch-active-state) .list-block a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block.bg-black .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-black .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-black:active, -html:not(.watch-active-state) .list-block .item-linka.bg-black:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-black:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-black:active, -.list-block .bg-black .item-link.active-state, -.list-block a.bg-black .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-black .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-black .item-link.active-state, -.list-block.bg-black .item-link.active-state, -.list-blocka.bg-black .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-black .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-black .item-link.active-state, -.list-block .item-link.bg-black.active-state, -.list-block .item-linka.bg-black.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-black.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-black.active-state { - background: #333; -} -.border-black { - border-color: #000000; -} -.list-block .border-black.item-inner:after, -.list-block ul.border-black:after, -.border-black:after, -.list-block .border-black.item-inner:before, -.list-block ul.border-black:before, -.border-black:before { - background-color: #000000; -} -.floating-button.color-black, -.speed-dial-buttons a.color-black, -.floating-button.bg-black, -.speed-dial-buttons a.bg-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .floating-button.color-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-black:active, -html:not(.watch-active-state) .floating-button.bg-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-black:active, -.floating-button.color-black.active-state, -.speed-dial-buttons a.color-black.active-state, -.floating-button.bg-black.active-state, -.speed-dial-buttons a.bg-black.active-state { - background: #333; -} -.floating-button.color-black i, -.speed-dial-buttons a.color-black i, -.floating-button.bg-black i, -.speed-dial-buttons a.bg-black i { - color: inherit; -} -.ripple-black .ripple-wave { - background-color: rgba(0, 0, 0, 0.3); -} -.range-slider.color-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-webkit-slider-thumb { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-ms-thumb { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-moz-range-thumb { - background-color: #000000; -} -.badge.color-black { - background-color: #000000; - color: #fff; -} diff --git a/vendor/framework7/css/framework7.material.colors.min.css b/vendor/framework7/css/framework7.material.colors.min.css deleted file mode 100644 index b8b955574..000000000 --- a/vendor/framework7/css/framework7.material.colors.min.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -.layout-dark .login-screen-content,.layout-dark .page,.layout-dark .panel,.page.layout-dark,.panel.layout-dark{background-color:#222;color:rgba(255,255,255,.87)}.layout-dark .content-block-title{color:rgba(255,255,255,.87)}.layout-dark .content-block-inner:before{background-color:#393939}.layout-dark .content-block-inner:after{background-color:#393939}.layout-dark .popover .list-block ul{background:0 0}.layout-dark .card{background:#1c1c1c}.layout-dark .card-header:after{background-color:#393939}.layout-dark .card-footer{color:#bbb}.layout-dark .card-footer:before{background-color:#393939}.layout-dark .list-block ul:before,.list-block.layout-dark ul:before{background-color:#393939}.layout-dark .list-block ul:after,.list-block.layout-dark ul:after{background-color:#393939}.layout-dark .list-block.inset ul,.list-block.layout-dark.inset ul{background:#1c1c1c}.layout-dark .list-block.notifications>ul,.list-block.layout-dark.notifications>ul{background:0 0}.layout-dark li.sorting{background-color:rgba(34,34,34,.8)}.layout-dark .swipeout-actions-left a,.layout-dark .swipeout-actions-right a{background-color:#444}.layout-dark .item-inner:after,.layout-dark .list-block ul ul li:last-child .item-inner:after{background-color:#393939}.layout-dark .item-after,.layout-dark .item-text{color:rgba(255,255,255,.7)}.layout-dark .list-block-label{color:#bbb}.layout-dark .item-divider,.layout-dark .list-group-title{background:#1a1a1a;color:#bbb}.layout-dark .item-divider:before,.layout-dark .list-group-title:before{background-color:#393939}.layout-dark .contacts-block .list-group-title{background:0 0}.layout-dark .autocomplete-dropdown{background:#1c1c1c}.layout-dark .autocomplete-dropdown .list-block{color:rgba(255,255,255,.54)}.layout-dark .autocomplete-dropdown .list-block b{color:rgba(255,255,255,.87)}.layout-dark .item-link.active-state,.layout-dark label.label-checkbox.active-state,.layout-dark label.label-radio.active-state,html:not(.watch-active-state) .layout-dark .item-link:active,html:not(.watch-active-state) .layout-dark label.label-checkbox:active,html:not(.watch-active-state) .layout-dark label.label-radio:active{background-color:rgba(255,255,255,.05)}.layout-dark .list-block input[type=text],.layout-dark .list-block input[type=password],.layout-dark .list-block input[type=search],.layout-dark .list-block input[type=email],.layout-dark .list-block input[type=tel],.layout-dark .list-block input[type=url],.layout-dark .list-block input[type=date],.layout-dark .list-block input[type=datetime-local],.layout-dark .list-block input[type=time],.layout-dark .list-block input[type=number],.layout-dark .list-block select,.layout-dark .list-block textarea{color:#fff}.layout-dark .list-block input[type=text]::-webkit-input-placeholder,.layout-dark .list-block input[type=password]::-webkit-input-placeholder,.layout-dark .list-block input[type=search]::-webkit-input-placeholder,.layout-dark .list-block input[type=email]::-webkit-input-placeholder,.layout-dark .list-block input[type=tel]::-webkit-input-placeholder,.layout-dark .list-block input[type=url]::-webkit-input-placeholder,.layout-dark .list-block input[type=date]::-webkit-input-placeholder,.layout-dark .list-block input[type=datetime-local]::-webkit-input-placeholder,.layout-dark .list-block input[type=time]::-webkit-input-placeholder,.layout-dark .list-block input[type=number]::-webkit-input-placeholder,.layout-dark .list-block select::-webkit-input-placeholder,.layout-dark .list-block textarea::-webkit-input-placeholder{color:rgba(255,255,255,.35)}.layout-dark .label-switch .checkbox{background:rgba(255,255,255,.3)}.layout-dark .item-inner:not(.focus-state) .floating-label,.layout-dark .item-inner:not(.focus-state) .label{color:rgba(255,255,255,.7)}.layout-dark .item-inner:not(.focus-state):not(.not-empty-state) .input-field:after,.layout-dark .item-inner:not(.focus-state):not(.not-empty-state) .item-input-field:after{background-color:rgba(255,255,255,.12)}.layout-dark label.label-checkbox i.icon-form-checkbox{border-color:rgba(255,255,255,.7)}.layout-dark label.label-radio i.icon-form-radio{border-color:rgba(255,255,255,.7)}.layout-dark .item-link.list-button:after{background-color:#393939}.layout-dark .page-content .ripple-wave{background:rgba(255,255,255,.3)}.layout-dark .button:not(.button-fill).active-state,html:not(.watch-active-state) .layout-dark .button:not(.button-fill):active{background:rgba(255,255,255,.1)}.layout-dark .chip{background:rgba(255,255,255,.87)}.theme-red .button:not(.button-fill){color:#f44336}.theme-red .navbar .button:not(.button-fill),.theme-red .subnavbar .button:not(.button-fill),.theme-red .toolbar .button:not(.button-fill),.theme-red.navbar .button:not(.button-fill),.theme-red.subnavbar .button:not(.button-fill),.theme-red.toolbar .button:not(.button-fill){color:#fff}.theme-red .button.button-fill{background:#f44336;color:#fff}.theme-red .button.button-fill.active-state,html:not(.watch-active-state) .theme-red .button.button-fill:active{background:#D32F2F}.progressbar.theme-red,.theme-red .progressbar{background-color:rgba(244,67,54,.5)}.progressbar.theme-red span,.theme-red .progressbar span{background-color:#f44336}.progressbar-infinite.theme-red,.theme-red .progressbar-infinite{background-color:rgba(244,67,54,.5)}.progressbar-infinite.theme-red:after,.progressbar-infinite.theme-red:before,.theme-red .progressbar-infinite:after,.theme-red .progressbar-infinite:before{background-color:#f44336}.color-red i.icon,i.icon.color-red{color:#f44336}i.icon-next.color-red,i.icon-next.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-red,i.icon-prev.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-red,i.icon-back.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-red,i.icon-forward.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-red,i.icon-bars.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}.theme-red a{color:#f44336}.navbar.theme-red,.searchbar.theme-red,.subnavbar.theme-red,.theme-red .navbar,.theme-red .searchbar,.theme-red .subnavbar,.theme-red .toolbar,.toolbar.theme-red{background-color:#f44336}.label-switch.theme-red input[type=checkbox]:checked+.checkbox,.theme-red .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(244,67,54,.5)}.label-switch.theme-red input[type=checkbox]:checked+.checkbox:after,.theme-red .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#f44336}.theme-red label.label-checkbox,label.label-checkbox.theme-red{cursor:pointer}.theme-red label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-red i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-red label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-red label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-red label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-red label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-red label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-red label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-red input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-red input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-red input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-red input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-red input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-red input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#f44336;background-color:#f44336}.theme-red label.label-radio i.icon-form-radio:after,label.label-radio.theme-red i.icon-form-radio:after{background-color:#f44336}.theme-red label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-red label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-red label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-red label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-red label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-red label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-red input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-red input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-red input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-red input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-red input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-red input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#f44336}.theme-red label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-red label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-red label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-red label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-red label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-red label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-red input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-red input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-red input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-red input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-red input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-red input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#f44336}.theme-red .focus-state .floating-label,.theme-red .focus-state .label{color:#f44336}.theme-red .input-field.focus-state:after,.theme-red .input-field.not-empty-state:after,.theme-red .item-input-field.focus-state:after,.theme-red .item-input-field.not-empty-state:after{background:#f44336}.theme-red .picker-calendar-day.picker-calendar-day-today span{color:#f44336}.theme-red .picker-calendar-day.picker-calendar-day-selected span{background-color:#f44336;color:#fff}.theme-red .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#f44336}.theme-red .picker-header{background-color:#f44336}.theme-red .modal-button{color:#f44336}.swiper-pagination.color-red .swiper-pagination-bullet-active,.theme-red .swiper-pagination .swiper-pagination-bullet-active{background-color:#f44336}.swiper-pagination.color-red .swiper-pagination-progressbar,.theme-red .swiper-pagination .swiper-pagination-progressbar{background-color:#f44336}.swiper-pagination.swiper-pagination-progress.bg-red{background-color:rgba(244,67,54,.25)}.swiper-button-next.color-red,.swiper-container-rtl .swiper-button-prev.color-red,.theme-red .swiper-button-next,.theme-red .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-red,.swiper-container-rtl .swiper-button-next.color-red,.theme-red .swiper-button-prev,.theme-red .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-red,.speed-dial-buttons a.theme-red,.theme-red .floating-button,.theme-red .speed-dial-buttons a{color:#fff;background:#f44336}.floating-button.theme-red.active-state,.speed-dial-buttons a.theme-red.active-state,.theme-red .floating-button.active-state,.theme-red .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-red:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-red:active,html:not(.watch-active-state) .theme-red .floating-button:active,html:not(.watch-active-state) .theme-red .speed-dial-buttons a:active{background:#D32F2F}.floating-button.theme-red i,.speed-dial-buttons a.theme-red i,.theme-red .floating-button i,.theme-red .speed-dial-buttons a i{color:inherit}.range-slider.theme-red input[type=range]::-webkit-slider-thumb:before,.theme-red .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#f44336}.range-slider.theme-red input[type=range]::-webkit-slider-thumb,.theme-red .range-slider input[type=range]::-webkit-slider-thumb{background-color:#f44336}.range-slider.theme-red input[type=range]::-ms-thumb,.theme-red .range-slider input[type=range]::-ms-thumb{background-color:#f44336}.range-slider.theme-red input[type=range]::-ms-fill-lower,.theme-red .range-slider input[type=range]::-ms-fill-lower{background-color:#f44336}.range-slider.theme-red input[type=range]::-moz-range-thumb,.theme-red .range-slider input[type=range]::-moz-range-thumb{background-color:#f44336}.badge.theme-red{background-color:#f44336;color:#fff}.theme-pink .button:not(.button-fill){color:#e91e63}.theme-pink .navbar .button:not(.button-fill),.theme-pink .subnavbar .button:not(.button-fill),.theme-pink .toolbar .button:not(.button-fill),.theme-pink.navbar .button:not(.button-fill),.theme-pink.subnavbar .button:not(.button-fill),.theme-pink.toolbar .button:not(.button-fill){color:#fff}.theme-pink .button.button-fill{background:#e91e63;color:#fff}.theme-pink .button.button-fill.active-state,html:not(.watch-active-state) .theme-pink .button.button-fill:active{background:#C2185B}.progressbar.theme-pink,.theme-pink .progressbar{background-color:rgba(233,30,99,.5)}.progressbar.theme-pink span,.theme-pink .progressbar span{background-color:#e91e63}.progressbar-infinite.theme-pink,.theme-pink .progressbar-infinite{background-color:rgba(233,30,99,.5)}.progressbar-infinite.theme-pink:after,.progressbar-infinite.theme-pink:before,.theme-pink .progressbar-infinite:after,.theme-pink .progressbar-infinite:before{background-color:#e91e63}.color-pink i.icon,i.icon.color-pink{color:#e91e63}i.icon-next.color-pink,i.icon-next.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-pink,i.icon-prev.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-pink,i.icon-back.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-pink,i.icon-forward.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-pink,i.icon-bars.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}.theme-pink a{color:#e91e63}.navbar.theme-pink,.searchbar.theme-pink,.subnavbar.theme-pink,.theme-pink .navbar,.theme-pink .searchbar,.theme-pink .subnavbar,.theme-pink .toolbar,.toolbar.theme-pink{background-color:#e91e63}.label-switch.theme-pink input[type=checkbox]:checked+.checkbox,.theme-pink .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(233,30,99,.5)}.label-switch.theme-pink input[type=checkbox]:checked+.checkbox:after,.theme-pink .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#e91e63}.theme-pink label.label-checkbox,label.label-checkbox.theme-pink{cursor:pointer}.theme-pink label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-pink i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-pink label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-pink label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-pink label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-pink label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-pink label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-pink label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-pink input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-pink input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-pink input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-pink input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-pink input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-pink input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#e91e63;background-color:#e91e63}.theme-pink label.label-radio i.icon-form-radio:after,label.label-radio.theme-pink i.icon-form-radio:after{background-color:#e91e63}.theme-pink label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-pink label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-pink label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-pink label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-pink label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-pink label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-pink input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-pink input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-pink input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-pink input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-pink input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-pink input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#e91e63}.theme-pink label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-pink label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-pink label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-pink label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-pink label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-pink label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-pink input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-pink input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-pink input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-pink input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-pink input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-pink input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#e91e63}.theme-pink .focus-state .floating-label,.theme-pink .focus-state .label{color:#e91e63}.theme-pink .input-field.focus-state:after,.theme-pink .input-field.not-empty-state:after,.theme-pink .item-input-field.focus-state:after,.theme-pink .item-input-field.not-empty-state:after{background:#e91e63}.theme-pink .picker-calendar-day.picker-calendar-day-today span{color:#e91e63}.theme-pink .picker-calendar-day.picker-calendar-day-selected span{background-color:#e91e63;color:#fff}.theme-pink .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#e91e63}.theme-pink .picker-header{background-color:#e91e63}.theme-pink .modal-button{color:#e91e63}.swiper-pagination.color-pink .swiper-pagination-bullet-active,.theme-pink .swiper-pagination .swiper-pagination-bullet-active{background-color:#e91e63}.swiper-pagination.color-pink .swiper-pagination-progressbar,.theme-pink .swiper-pagination .swiper-pagination-progressbar{background-color:#e91e63}.swiper-pagination.swiper-pagination-progress.bg-pink{background-color:rgba(233,30,99,.25)}.swiper-button-next.color-pink,.swiper-container-rtl .swiper-button-prev.color-pink,.theme-pink .swiper-button-next,.theme-pink .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-pink,.swiper-container-rtl .swiper-button-next.color-pink,.theme-pink .swiper-button-prev,.theme-pink .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-pink,.speed-dial-buttons a.theme-pink,.theme-pink .floating-button,.theme-pink .speed-dial-buttons a{color:#fff;background:#e91e63}.floating-button.theme-pink.active-state,.speed-dial-buttons a.theme-pink.active-state,.theme-pink .floating-button.active-state,.theme-pink .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-pink:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-pink:active,html:not(.watch-active-state) .theme-pink .floating-button:active,html:not(.watch-active-state) .theme-pink .speed-dial-buttons a:active{background:#C2185B}.floating-button.theme-pink i,.speed-dial-buttons a.theme-pink i,.theme-pink .floating-button i,.theme-pink .speed-dial-buttons a i{color:inherit}.range-slider.theme-pink input[type=range]::-webkit-slider-thumb:before,.theme-pink .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#e91e63}.range-slider.theme-pink input[type=range]::-webkit-slider-thumb,.theme-pink .range-slider input[type=range]::-webkit-slider-thumb{background-color:#e91e63}.range-slider.theme-pink input[type=range]::-ms-thumb,.theme-pink .range-slider input[type=range]::-ms-thumb{background-color:#e91e63}.range-slider.theme-pink input[type=range]::-ms-fill-lower,.theme-pink .range-slider input[type=range]::-ms-fill-lower{background-color:#e91e63}.range-slider.theme-pink input[type=range]::-moz-range-thumb,.theme-pink .range-slider input[type=range]::-moz-range-thumb{background-color:#e91e63}.badge.theme-pink{background-color:#e91e63;color:#fff}.theme-purple .button:not(.button-fill){color:#9c27b0}.theme-purple .navbar .button:not(.button-fill),.theme-purple .subnavbar .button:not(.button-fill),.theme-purple .toolbar .button:not(.button-fill),.theme-purple.navbar .button:not(.button-fill),.theme-purple.subnavbar .button:not(.button-fill),.theme-purple.toolbar .button:not(.button-fill){color:#fff}.theme-purple .button.button-fill{background:#9c27b0;color:#fff}.theme-purple .button.button-fill.active-state,html:not(.watch-active-state) .theme-purple .button.button-fill:active{background:#7B1FA2}.progressbar.theme-purple,.theme-purple .progressbar{background-color:rgba(156,39,176,.5)}.progressbar.theme-purple span,.theme-purple .progressbar span{background-color:#9c27b0}.progressbar-infinite.theme-purple,.theme-purple .progressbar-infinite{background-color:rgba(156,39,176,.5)}.progressbar-infinite.theme-purple:after,.progressbar-infinite.theme-purple:before,.theme-purple .progressbar-infinite:after,.theme-purple .progressbar-infinite:before{background-color:#9c27b0}.color-purple i.icon,i.icon.color-purple{color:#9c27b0}i.icon-next.color-purple,i.icon-next.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-purple,i.icon-prev.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-purple,i.icon-back.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-purple,i.icon-forward.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-purple,i.icon-bars.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}.theme-purple a{color:#9c27b0}.navbar.theme-purple,.searchbar.theme-purple,.subnavbar.theme-purple,.theme-purple .navbar,.theme-purple .searchbar,.theme-purple .subnavbar,.theme-purple .toolbar,.toolbar.theme-purple{background-color:#9c27b0}.label-switch.theme-purple input[type=checkbox]:checked+.checkbox,.theme-purple .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(156,39,176,.5)}.label-switch.theme-purple input[type=checkbox]:checked+.checkbox:after,.theme-purple .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#9c27b0}.theme-purple label.label-checkbox,label.label-checkbox.theme-purple{cursor:pointer}.theme-purple label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-purple i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-purple label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-purple label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-purple label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-purple label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-purple label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-purple label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-purple input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-purple input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-purple input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-purple input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-purple input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-purple input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#9c27b0;background-color:#9c27b0}.theme-purple label.label-radio i.icon-form-radio:after,label.label-radio.theme-purple i.icon-form-radio:after{background-color:#9c27b0}.theme-purple label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-purple label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-purple label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-purple label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-purple label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-purple label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-purple input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-purple input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-purple input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-purple input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-purple input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-purple input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#9c27b0}.theme-purple label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-purple label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-purple label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-purple label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-purple label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-purple label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-purple input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-purple input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-purple input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-purple input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-purple input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-purple input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#9c27b0}.theme-purple .focus-state .floating-label,.theme-purple .focus-state .label{color:#9c27b0}.theme-purple .input-field.focus-state:after,.theme-purple .input-field.not-empty-state:after,.theme-purple .item-input-field.focus-state:after,.theme-purple .item-input-field.not-empty-state:after{background:#9c27b0}.theme-purple .picker-calendar-day.picker-calendar-day-today span{color:#9c27b0}.theme-purple .picker-calendar-day.picker-calendar-day-selected span{background-color:#9c27b0;color:#fff}.theme-purple .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#9c27b0}.theme-purple .picker-header{background-color:#9c27b0}.theme-purple .modal-button{color:#9c27b0}.swiper-pagination.color-purple .swiper-pagination-bullet-active,.theme-purple .swiper-pagination .swiper-pagination-bullet-active{background-color:#9c27b0}.swiper-pagination.color-purple .swiper-pagination-progressbar,.theme-purple .swiper-pagination .swiper-pagination-progressbar{background-color:#9c27b0}.swiper-pagination.swiper-pagination-progress.bg-purple{background-color:rgba(156,39,176,.25)}.swiper-button-next.color-purple,.swiper-container-rtl .swiper-button-prev.color-purple,.theme-purple .swiper-button-next,.theme-purple .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-purple,.swiper-container-rtl .swiper-button-next.color-purple,.theme-purple .swiper-button-prev,.theme-purple .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-purple,.speed-dial-buttons a.theme-purple,.theme-purple .floating-button,.theme-purple .speed-dial-buttons a{color:#fff;background:#9c27b0}.floating-button.theme-purple.active-state,.speed-dial-buttons a.theme-purple.active-state,.theme-purple .floating-button.active-state,.theme-purple .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-purple:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-purple:active,html:not(.watch-active-state) .theme-purple .floating-button:active,html:not(.watch-active-state) .theme-purple .speed-dial-buttons a:active{background:#7B1FA2}.floating-button.theme-purple i,.speed-dial-buttons a.theme-purple i,.theme-purple .floating-button i,.theme-purple .speed-dial-buttons a i{color:inherit}.range-slider.theme-purple input[type=range]::-webkit-slider-thumb:before,.theme-purple .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#9c27b0}.range-slider.theme-purple input[type=range]::-webkit-slider-thumb,.theme-purple .range-slider input[type=range]::-webkit-slider-thumb{background-color:#9c27b0}.range-slider.theme-purple input[type=range]::-ms-thumb,.theme-purple .range-slider input[type=range]::-ms-thumb{background-color:#9c27b0}.range-slider.theme-purple input[type=range]::-ms-fill-lower,.theme-purple .range-slider input[type=range]::-ms-fill-lower{background-color:#9c27b0}.range-slider.theme-purple input[type=range]::-moz-range-thumb,.theme-purple .range-slider input[type=range]::-moz-range-thumb{background-color:#9c27b0}.badge.theme-purple{background-color:#9c27b0;color:#fff}.theme-deeppurple .button:not(.button-fill){color:#673ab7}.theme-deeppurple .navbar .button:not(.button-fill),.theme-deeppurple .subnavbar .button:not(.button-fill),.theme-deeppurple .toolbar .button:not(.button-fill),.theme-deeppurple.navbar .button:not(.button-fill),.theme-deeppurple.subnavbar .button:not(.button-fill),.theme-deeppurple.toolbar .button:not(.button-fill){color:#fff}.theme-deeppurple .button.button-fill{background:#673ab7;color:#fff}.theme-deeppurple .button.button-fill.active-state,html:not(.watch-active-state) .theme-deeppurple .button.button-fill:active{background:#512DA8}.progressbar.theme-deeppurple,.theme-deeppurple .progressbar{background-color:rgba(103,58,183,.5)}.progressbar.theme-deeppurple span,.theme-deeppurple .progressbar span{background-color:#673ab7}.progressbar-infinite.theme-deeppurple,.theme-deeppurple .progressbar-infinite{background-color:rgba(103,58,183,.5)}.progressbar-infinite.theme-deeppurple:after,.progressbar-infinite.theme-deeppurple:before,.theme-deeppurple .progressbar-infinite:after,.theme-deeppurple .progressbar-infinite:before{background-color:#673ab7}.color-deeppurple i.icon,i.icon.color-deeppurple{color:#673ab7}i.icon-next.color-deeppurple,i.icon-next.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-deeppurple,i.icon-prev.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-deeppurple,i.icon-back.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-deeppurple,i.icon-forward.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-deeppurple,i.icon-bars.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}.theme-deeppurple a{color:#673ab7}.navbar.theme-deeppurple,.searchbar.theme-deeppurple,.subnavbar.theme-deeppurple,.theme-deeppurple .navbar,.theme-deeppurple .searchbar,.theme-deeppurple .subnavbar,.theme-deeppurple .toolbar,.toolbar.theme-deeppurple{background-color:#673ab7}.label-switch.theme-deeppurple input[type=checkbox]:checked+.checkbox,.theme-deeppurple .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(103,58,183,.5)}.label-switch.theme-deeppurple input[type=checkbox]:checked+.checkbox:after,.theme-deeppurple .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#673ab7}.theme-deeppurple label.label-checkbox,label.label-checkbox.theme-deeppurple{cursor:pointer}.theme-deeppurple label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-deeppurple i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-deeppurple label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-deeppurple label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-deeppurple label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-deeppurple label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-deeppurple label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-deeppurple label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-deeppurple input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-deeppurple input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-deeppurple input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-deeppurple input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-deeppurple input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-deeppurple input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#673ab7;background-color:#673ab7}.theme-deeppurple label.label-radio i.icon-form-radio:after,label.label-radio.theme-deeppurple i.icon-form-radio:after{background-color:#673ab7}.theme-deeppurple label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-deeppurple label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-deeppurple label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-deeppurple label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-deeppurple label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-deeppurple label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-deeppurple input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-deeppurple input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-deeppurple input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-deeppurple input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-deeppurple input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-deeppurple input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#673ab7}.theme-deeppurple label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-deeppurple label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-deeppurple label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-deeppurple label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-deeppurple label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-deeppurple label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-deeppurple input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-deeppurple input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-deeppurple input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-deeppurple input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-deeppurple input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-deeppurple input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#673ab7}.theme-deeppurple .focus-state .floating-label,.theme-deeppurple .focus-state .label{color:#673ab7}.theme-deeppurple .input-field.focus-state:after,.theme-deeppurple .input-field.not-empty-state:after,.theme-deeppurple .item-input-field.focus-state:after,.theme-deeppurple .item-input-field.not-empty-state:after{background:#673ab7}.theme-deeppurple .picker-calendar-day.picker-calendar-day-today span{color:#673ab7}.theme-deeppurple .picker-calendar-day.picker-calendar-day-selected span{background-color:#673ab7;color:#fff}.theme-deeppurple .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#673ab7}.theme-deeppurple .picker-header{background-color:#673ab7}.theme-deeppurple .modal-button{color:#673ab7}.swiper-pagination.color-deeppurple .swiper-pagination-bullet-active,.theme-deeppurple .swiper-pagination .swiper-pagination-bullet-active{background-color:#673ab7}.swiper-pagination.color-deeppurple .swiper-pagination-progressbar,.theme-deeppurple .swiper-pagination .swiper-pagination-progressbar{background-color:#673ab7}.swiper-pagination.swiper-pagination-progress.bg-deeppurple{background-color:rgba(103,58,183,.25)}.swiper-button-next.color-deeppurple,.swiper-container-rtl .swiper-button-prev.color-deeppurple,.theme-deeppurple .swiper-button-next,.theme-deeppurple .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-deeppurple,.swiper-container-rtl .swiper-button-next.color-deeppurple,.theme-deeppurple .swiper-button-prev,.theme-deeppurple .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-deeppurple,.speed-dial-buttons a.theme-deeppurple,.theme-deeppurple .floating-button,.theme-deeppurple .speed-dial-buttons a{color:#fff;background:#673ab7}.floating-button.theme-deeppurple.active-state,.speed-dial-buttons a.theme-deeppurple.active-state,.theme-deeppurple .floating-button.active-state,.theme-deeppurple .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-deeppurple:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-deeppurple:active,html:not(.watch-active-state) .theme-deeppurple .floating-button:active,html:not(.watch-active-state) .theme-deeppurple .speed-dial-buttons a:active{background:#512DA8}.floating-button.theme-deeppurple i,.speed-dial-buttons a.theme-deeppurple i,.theme-deeppurple .floating-button i,.theme-deeppurple .speed-dial-buttons a i{color:inherit}.range-slider.theme-deeppurple input[type=range]::-webkit-slider-thumb:before,.theme-deeppurple .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#673ab7}.range-slider.theme-deeppurple input[type=range]::-webkit-slider-thumb,.theme-deeppurple .range-slider input[type=range]::-webkit-slider-thumb{background-color:#673ab7}.range-slider.theme-deeppurple input[type=range]::-ms-thumb,.theme-deeppurple .range-slider input[type=range]::-ms-thumb{background-color:#673ab7}.range-slider.theme-deeppurple input[type=range]::-ms-fill-lower,.theme-deeppurple .range-slider input[type=range]::-ms-fill-lower{background-color:#673ab7}.range-slider.theme-deeppurple input[type=range]::-moz-range-thumb,.theme-deeppurple .range-slider input[type=range]::-moz-range-thumb{background-color:#673ab7}.badge.theme-deeppurple{background-color:#673ab7;color:#fff}.theme-indigo .button:not(.button-fill){color:#3f51b5}.theme-indigo .navbar .button:not(.button-fill),.theme-indigo .subnavbar .button:not(.button-fill),.theme-indigo .toolbar .button:not(.button-fill),.theme-indigo.navbar .button:not(.button-fill),.theme-indigo.subnavbar .button:not(.button-fill),.theme-indigo.toolbar .button:not(.button-fill){color:#fff}.theme-indigo .button.button-fill{background:#3f51b5;color:#fff}.theme-indigo .button.button-fill.active-state,html:not(.watch-active-state) .theme-indigo .button.button-fill:active{background:#303F9F}.progressbar.theme-indigo,.theme-indigo .progressbar{background-color:rgba(63,81,181,.5)}.progressbar.theme-indigo span,.theme-indigo .progressbar span{background-color:#3f51b5}.progressbar-infinite.theme-indigo,.theme-indigo .progressbar-infinite{background-color:rgba(63,81,181,.5)}.progressbar-infinite.theme-indigo:after,.progressbar-infinite.theme-indigo:before,.theme-indigo .progressbar-infinite:after,.theme-indigo .progressbar-infinite:before{background-color:#3f51b5}.color-indigo i.icon,i.icon.color-indigo{color:#3f51b5}i.icon-next.color-indigo,i.icon-next.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-indigo,i.icon-prev.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-indigo,i.icon-back.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-indigo,i.icon-forward.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-indigo,i.icon-bars.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}.theme-indigo a{color:#3f51b5}.navbar.theme-indigo,.searchbar.theme-indigo,.subnavbar.theme-indigo,.theme-indigo .navbar,.theme-indigo .searchbar,.theme-indigo .subnavbar,.theme-indigo .toolbar,.toolbar.theme-indigo{background-color:#3f51b5}.label-switch.theme-indigo input[type=checkbox]:checked+.checkbox,.theme-indigo .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(63,81,181,.5)}.label-switch.theme-indigo input[type=checkbox]:checked+.checkbox:after,.theme-indigo .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#3f51b5}.theme-indigo label.label-checkbox,label.label-checkbox.theme-indigo{cursor:pointer}.theme-indigo label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-indigo i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-indigo label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-indigo label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-indigo label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-indigo label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-indigo label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-indigo label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-indigo input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-indigo input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-indigo input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-indigo input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-indigo input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-indigo input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#3f51b5;background-color:#3f51b5}.theme-indigo label.label-radio i.icon-form-radio:after,label.label-radio.theme-indigo i.icon-form-radio:after{background-color:#3f51b5}.theme-indigo label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-indigo label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-indigo label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-indigo label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-indigo label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-indigo label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-indigo input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-indigo input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-indigo input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-indigo input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-indigo input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-indigo input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#3f51b5}.theme-indigo label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-indigo label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-indigo label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-indigo label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-indigo label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-indigo label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-indigo input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-indigo input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-indigo input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-indigo input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-indigo input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-indigo input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#3f51b5}.theme-indigo .focus-state .floating-label,.theme-indigo .focus-state .label{color:#3f51b5}.theme-indigo .input-field.focus-state:after,.theme-indigo .input-field.not-empty-state:after,.theme-indigo .item-input-field.focus-state:after,.theme-indigo .item-input-field.not-empty-state:after{background:#3f51b5}.theme-indigo .picker-calendar-day.picker-calendar-day-today span{color:#3f51b5}.theme-indigo .picker-calendar-day.picker-calendar-day-selected span{background-color:#3f51b5;color:#fff}.theme-indigo .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#3f51b5}.theme-indigo .picker-header{background-color:#3f51b5}.theme-indigo .modal-button{color:#3f51b5}.swiper-pagination.color-indigo .swiper-pagination-bullet-active,.theme-indigo .swiper-pagination .swiper-pagination-bullet-active{background-color:#3f51b5}.swiper-pagination.color-indigo .swiper-pagination-progressbar,.theme-indigo .swiper-pagination .swiper-pagination-progressbar{background-color:#3f51b5}.swiper-pagination.swiper-pagination-progress.bg-indigo{background-color:rgba(63,81,181,.25)}.swiper-button-next.color-indigo,.swiper-container-rtl .swiper-button-prev.color-indigo,.theme-indigo .swiper-button-next,.theme-indigo .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-indigo,.swiper-container-rtl .swiper-button-next.color-indigo,.theme-indigo .swiper-button-prev,.theme-indigo .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-indigo,.speed-dial-buttons a.theme-indigo,.theme-indigo .floating-button,.theme-indigo .speed-dial-buttons a{color:#fff;background:#3f51b5}.floating-button.theme-indigo.active-state,.speed-dial-buttons a.theme-indigo.active-state,.theme-indigo .floating-button.active-state,.theme-indigo .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-indigo:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-indigo:active,html:not(.watch-active-state) .theme-indigo .floating-button:active,html:not(.watch-active-state) .theme-indigo .speed-dial-buttons a:active{background:#303F9F}.floating-button.theme-indigo i,.speed-dial-buttons a.theme-indigo i,.theme-indigo .floating-button i,.theme-indigo .speed-dial-buttons a i{color:inherit}.range-slider.theme-indigo input[type=range]::-webkit-slider-thumb:before,.theme-indigo .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#3f51b5}.range-slider.theme-indigo input[type=range]::-webkit-slider-thumb,.theme-indigo .range-slider input[type=range]::-webkit-slider-thumb{background-color:#3f51b5}.range-slider.theme-indigo input[type=range]::-ms-thumb,.theme-indigo .range-slider input[type=range]::-ms-thumb{background-color:#3f51b5}.range-slider.theme-indigo input[type=range]::-ms-fill-lower,.theme-indigo .range-slider input[type=range]::-ms-fill-lower{background-color:#3f51b5}.range-slider.theme-indigo input[type=range]::-moz-range-thumb,.theme-indigo .range-slider input[type=range]::-moz-range-thumb{background-color:#3f51b5}.badge.theme-indigo{background-color:#3f51b5;color:#fff}.theme-blue .button:not(.button-fill){color:#2196f3}.theme-blue .navbar .button:not(.button-fill),.theme-blue .subnavbar .button:not(.button-fill),.theme-blue .toolbar .button:not(.button-fill),.theme-blue.navbar .button:not(.button-fill),.theme-blue.subnavbar .button:not(.button-fill),.theme-blue.toolbar .button:not(.button-fill){color:#fff}.theme-blue .button.button-fill{background:#2196f3;color:#fff}.theme-blue .button.button-fill.active-state,html:not(.watch-active-state) .theme-blue .button.button-fill:active{background:#1976D2}.progressbar.theme-blue,.theme-blue .progressbar{background-color:rgba(33,150,243,.5)}.progressbar.theme-blue span,.theme-blue .progressbar span{background-color:#2196f3}.progressbar-infinite.theme-blue,.theme-blue .progressbar-infinite{background-color:rgba(33,150,243,.5)}.progressbar-infinite.theme-blue:after,.progressbar-infinite.theme-blue:before,.theme-blue .progressbar-infinite:after,.theme-blue .progressbar-infinite:before{background-color:#2196f3}.color-blue i.icon,i.icon.color-blue{color:#2196f3}i.icon-next.color-blue,i.icon-next.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-blue,i.icon-prev.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-blue,i.icon-back.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-blue,i.icon-forward.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-blue,i.icon-bars.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}.theme-blue a{color:#2196f3}.navbar.theme-blue,.searchbar.theme-blue,.subnavbar.theme-blue,.theme-blue .navbar,.theme-blue .searchbar,.theme-blue .subnavbar,.theme-blue .toolbar,.toolbar.theme-blue{background-color:#2196f3}.label-switch.theme-blue input[type=checkbox]:checked+.checkbox,.theme-blue .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(33,150,243,.5)}.label-switch.theme-blue input[type=checkbox]:checked+.checkbox:after,.theme-blue .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#2196f3}.theme-blue label.label-checkbox,label.label-checkbox.theme-blue{cursor:pointer}.theme-blue label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-blue i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-blue label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-blue label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-blue label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-blue label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-blue label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-blue label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-blue input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-blue input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-blue input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-blue input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-blue input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-blue input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#2196f3;background-color:#2196f3}.theme-blue label.label-radio i.icon-form-radio:after,label.label-radio.theme-blue i.icon-form-radio:after{background-color:#2196f3}.theme-blue label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-blue label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-blue label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-blue label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-blue label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-blue label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-blue input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-blue input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-blue input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-blue input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-blue input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-blue input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#2196f3}.theme-blue label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-blue label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-blue label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-blue label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-blue label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-blue label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-blue input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-blue input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-blue input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-blue input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-blue input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-blue input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#2196f3}.theme-blue .focus-state .floating-label,.theme-blue .focus-state .label{color:#2196f3}.theme-blue .input-field.focus-state:after,.theme-blue .input-field.not-empty-state:after,.theme-blue .item-input-field.focus-state:after,.theme-blue .item-input-field.not-empty-state:after{background:#2196f3}.theme-blue .picker-calendar-day.picker-calendar-day-today span{color:#2196f3}.theme-blue .picker-calendar-day.picker-calendar-day-selected span{background-color:#2196f3;color:#fff}.theme-blue .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#2196f3}.theme-blue .picker-header{background-color:#2196f3}.theme-blue .modal-button{color:#2196f3}.swiper-pagination.color-blue .swiper-pagination-bullet-active,.theme-blue .swiper-pagination .swiper-pagination-bullet-active{background-color:#2196f3}.swiper-pagination.color-blue .swiper-pagination-progressbar,.theme-blue .swiper-pagination .swiper-pagination-progressbar{background-color:#2196f3}.swiper-pagination.swiper-pagination-progress.bg-blue{background-color:rgba(33,150,243,.25)}.swiper-button-next.color-blue,.swiper-container-rtl .swiper-button-prev.color-blue,.theme-blue .swiper-button-next,.theme-blue .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-blue,.swiper-container-rtl .swiper-button-next.color-blue,.theme-blue .swiper-button-prev,.theme-blue .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-blue,.speed-dial-buttons a.theme-blue,.theme-blue .floating-button,.theme-blue .speed-dial-buttons a{color:#fff;background:#2196f3}.floating-button.theme-blue.active-state,.speed-dial-buttons a.theme-blue.active-state,.theme-blue .floating-button.active-state,.theme-blue .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-blue:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-blue:active,html:not(.watch-active-state) .theme-blue .floating-button:active,html:not(.watch-active-state) .theme-blue .speed-dial-buttons a:active{background:#1976D2}.floating-button.theme-blue i,.speed-dial-buttons a.theme-blue i,.theme-blue .floating-button i,.theme-blue .speed-dial-buttons a i{color:inherit}.range-slider.theme-blue input[type=range]::-webkit-slider-thumb:before,.theme-blue .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#2196f3}.range-slider.theme-blue input[type=range]::-webkit-slider-thumb,.theme-blue .range-slider input[type=range]::-webkit-slider-thumb{background-color:#2196f3}.range-slider.theme-blue input[type=range]::-ms-thumb,.theme-blue .range-slider input[type=range]::-ms-thumb{background-color:#2196f3}.range-slider.theme-blue input[type=range]::-ms-fill-lower,.theme-blue .range-slider input[type=range]::-ms-fill-lower{background-color:#2196f3}.range-slider.theme-blue input[type=range]::-moz-range-thumb,.theme-blue .range-slider input[type=range]::-moz-range-thumb{background-color:#2196f3}.badge.theme-blue{background-color:#2196f3;color:#fff}.theme-lightblue .button:not(.button-fill){color:#03a9f4}.theme-lightblue .navbar .button:not(.button-fill),.theme-lightblue .subnavbar .button:not(.button-fill),.theme-lightblue .toolbar .button:not(.button-fill),.theme-lightblue.navbar .button:not(.button-fill),.theme-lightblue.subnavbar .button:not(.button-fill),.theme-lightblue.toolbar .button:not(.button-fill){color:#fff}.theme-lightblue .button.button-fill{background:#03a9f4;color:#fff}.theme-lightblue .button.button-fill.active-state,html:not(.watch-active-state) .theme-lightblue .button.button-fill:active{background:#0288D1}.progressbar.theme-lightblue,.theme-lightblue .progressbar{background-color:rgba(3,169,244,.5)}.progressbar.theme-lightblue span,.theme-lightblue .progressbar span{background-color:#03a9f4}.progressbar-infinite.theme-lightblue,.theme-lightblue .progressbar-infinite{background-color:rgba(3,169,244,.5)}.progressbar-infinite.theme-lightblue:after,.progressbar-infinite.theme-lightblue:before,.theme-lightblue .progressbar-infinite:after,.theme-lightblue .progressbar-infinite:before{background-color:#03a9f4}.color-lightblue i.icon,i.icon.color-lightblue{color:#03a9f4}i.icon-next.color-lightblue,i.icon-next.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-lightblue,i.icon-prev.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-lightblue,i.icon-back.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-lightblue,i.icon-forward.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-lightblue,i.icon-bars.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue a{color:#03a9f4}.navbar.theme-lightblue,.searchbar.theme-lightblue,.subnavbar.theme-lightblue,.theme-lightblue .navbar,.theme-lightblue .searchbar,.theme-lightblue .subnavbar,.theme-lightblue .toolbar,.toolbar.theme-lightblue{background-color:#03a9f4}.label-switch.theme-lightblue input[type=checkbox]:checked+.checkbox,.theme-lightblue .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(3,169,244,.5)}.label-switch.theme-lightblue input[type=checkbox]:checked+.checkbox:after,.theme-lightblue .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#03a9f4}.theme-lightblue label.label-checkbox,label.label-checkbox.theme-lightblue{cursor:pointer}.theme-lightblue label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-lightblue i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-lightblue label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-lightblue label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-lightblue label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-lightblue label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-lightblue label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-lightblue label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-lightblue input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-lightblue input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-lightblue input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-lightblue input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-lightblue input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-lightblue input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#03a9f4;background-color:#03a9f4}.theme-lightblue label.label-radio i.icon-form-radio:after,label.label-radio.theme-lightblue i.icon-form-radio:after{background-color:#03a9f4}.theme-lightblue label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-lightblue label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-lightblue label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-lightblue label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-lightblue label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-lightblue label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-lightblue input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-lightblue input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-lightblue input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-lightblue input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-lightblue input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-lightblue input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#03a9f4}.theme-lightblue label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-lightblue label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-lightblue label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-lightblue label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-lightblue label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-lightblue label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-lightblue input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-lightblue input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-lightblue input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-lightblue input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-lightblue input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-lightblue input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#03a9f4}.theme-lightblue .focus-state .floating-label,.theme-lightblue .focus-state .label{color:#03a9f4}.theme-lightblue .input-field.focus-state:after,.theme-lightblue .input-field.not-empty-state:after,.theme-lightblue .item-input-field.focus-state:after,.theme-lightblue .item-input-field.not-empty-state:after{background:#03a9f4}.theme-lightblue .picker-calendar-day.picker-calendar-day-today span{color:#03a9f4}.theme-lightblue .picker-calendar-day.picker-calendar-day-selected span{background-color:#03a9f4;color:#fff}.theme-lightblue .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#03a9f4}.theme-lightblue .picker-header{background-color:#03a9f4}.theme-lightblue .modal-button{color:#03a9f4}.swiper-pagination.color-lightblue .swiper-pagination-bullet-active,.theme-lightblue .swiper-pagination .swiper-pagination-bullet-active{background-color:#03a9f4}.swiper-pagination.color-lightblue .swiper-pagination-progressbar,.theme-lightblue .swiper-pagination .swiper-pagination-progressbar{background-color:#03a9f4}.swiper-pagination.swiper-pagination-progress.bg-lightblue{background-color:rgba(3,169,244,.25)}.swiper-button-next.color-lightblue,.swiper-container-rtl .swiper-button-prev.color-lightblue,.theme-lightblue .swiper-button-next,.theme-lightblue .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-lightblue,.swiper-container-rtl .swiper-button-next.color-lightblue,.theme-lightblue .swiper-button-prev,.theme-lightblue .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-lightblue,.speed-dial-buttons a.theme-lightblue,.theme-lightblue .floating-button,.theme-lightblue .speed-dial-buttons a{color:#fff;background:#03a9f4}.floating-button.theme-lightblue.active-state,.speed-dial-buttons a.theme-lightblue.active-state,.theme-lightblue .floating-button.active-state,.theme-lightblue .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-lightblue:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-lightblue:active,html:not(.watch-active-state) .theme-lightblue .floating-button:active,html:not(.watch-active-state) .theme-lightblue .speed-dial-buttons a:active{background:#0288D1}.floating-button.theme-lightblue i,.speed-dial-buttons a.theme-lightblue i,.theme-lightblue .floating-button i,.theme-lightblue .speed-dial-buttons a i{color:inherit}.range-slider.theme-lightblue input[type=range]::-webkit-slider-thumb:before,.theme-lightblue .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#03a9f4}.range-slider.theme-lightblue input[type=range]::-webkit-slider-thumb,.theme-lightblue .range-slider input[type=range]::-webkit-slider-thumb{background-color:#03a9f4}.range-slider.theme-lightblue input[type=range]::-ms-thumb,.theme-lightblue .range-slider input[type=range]::-ms-thumb{background-color:#03a9f4}.range-slider.theme-lightblue input[type=range]::-ms-fill-lower,.theme-lightblue .range-slider input[type=range]::-ms-fill-lower{background-color:#03a9f4}.range-slider.theme-lightblue input[type=range]::-moz-range-thumb,.theme-lightblue .range-slider input[type=range]::-moz-range-thumb{background-color:#03a9f4}.badge.theme-lightblue{background-color:#03a9f4;color:#fff}.theme-cyan .button:not(.button-fill){color:#00bcd4}.theme-cyan .navbar .button:not(.button-fill),.theme-cyan .subnavbar .button:not(.button-fill),.theme-cyan .toolbar .button:not(.button-fill),.theme-cyan.navbar .button:not(.button-fill),.theme-cyan.subnavbar .button:not(.button-fill),.theme-cyan.toolbar .button:not(.button-fill){color:#fff}.theme-cyan .button.button-fill{background:#00bcd4;color:#fff}.theme-cyan .button.button-fill.active-state,html:not(.watch-active-state) .theme-cyan .button.button-fill:active{background:#0097A7}.progressbar.theme-cyan,.theme-cyan .progressbar{background-color:rgba(0,188,212,.5)}.progressbar.theme-cyan span,.theme-cyan .progressbar span{background-color:#00bcd4}.progressbar-infinite.theme-cyan,.theme-cyan .progressbar-infinite{background-color:rgba(0,188,212,.5)}.progressbar-infinite.theme-cyan:after,.progressbar-infinite.theme-cyan:before,.theme-cyan .progressbar-infinite:after,.theme-cyan .progressbar-infinite:before{background-color:#00bcd4}.color-cyan i.icon,i.icon.color-cyan{color:#00bcd4}i.icon-next.color-cyan,i.icon-next.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-cyan,i.icon-prev.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-cyan,i.icon-back.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-cyan,i.icon-forward.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-cyan,i.icon-bars.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}.theme-cyan a{color:#00bcd4}.navbar.theme-cyan,.searchbar.theme-cyan,.subnavbar.theme-cyan,.theme-cyan .navbar,.theme-cyan .searchbar,.theme-cyan .subnavbar,.theme-cyan .toolbar,.toolbar.theme-cyan{background-color:#00bcd4}.label-switch.theme-cyan input[type=checkbox]:checked+.checkbox,.theme-cyan .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(0,188,212,.5)}.label-switch.theme-cyan input[type=checkbox]:checked+.checkbox:after,.theme-cyan .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#00bcd4}.theme-cyan label.label-checkbox,label.label-checkbox.theme-cyan{cursor:pointer}.theme-cyan label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-cyan i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-cyan label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-cyan label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-cyan label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-cyan label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-cyan label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-cyan label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-cyan input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-cyan input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-cyan input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-cyan input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-cyan input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-cyan input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#00bcd4;background-color:#00bcd4}.theme-cyan label.label-radio i.icon-form-radio:after,label.label-radio.theme-cyan i.icon-form-radio:after{background-color:#00bcd4}.theme-cyan label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-cyan label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-cyan label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-cyan label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-cyan label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-cyan label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-cyan input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-cyan input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-cyan input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-cyan input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-cyan input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-cyan input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#00bcd4}.theme-cyan label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-cyan label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-cyan label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-cyan label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-cyan label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-cyan label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-cyan input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-cyan input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-cyan input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-cyan input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-cyan input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-cyan input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#00bcd4}.theme-cyan .focus-state .floating-label,.theme-cyan .focus-state .label{color:#00bcd4}.theme-cyan .input-field.focus-state:after,.theme-cyan .input-field.not-empty-state:after,.theme-cyan .item-input-field.focus-state:after,.theme-cyan .item-input-field.not-empty-state:after{background:#00bcd4}.theme-cyan .picker-calendar-day.picker-calendar-day-today span{color:#00bcd4}.theme-cyan .picker-calendar-day.picker-calendar-day-selected span{background-color:#00bcd4;color:#fff}.theme-cyan .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#00bcd4}.theme-cyan .picker-header{background-color:#00bcd4}.theme-cyan .modal-button{color:#00bcd4}.swiper-pagination.color-cyan .swiper-pagination-bullet-active,.theme-cyan .swiper-pagination .swiper-pagination-bullet-active{background-color:#00bcd4}.swiper-pagination.color-cyan .swiper-pagination-progressbar,.theme-cyan .swiper-pagination .swiper-pagination-progressbar{background-color:#00bcd4}.swiper-pagination.swiper-pagination-progress.bg-cyan{background-color:rgba(0,188,212,.25)}.swiper-button-next.color-cyan,.swiper-container-rtl .swiper-button-prev.color-cyan,.theme-cyan .swiper-button-next,.theme-cyan .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-cyan,.swiper-container-rtl .swiper-button-next.color-cyan,.theme-cyan .swiper-button-prev,.theme-cyan .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-cyan,.speed-dial-buttons a.theme-cyan,.theme-cyan .floating-button,.theme-cyan .speed-dial-buttons a{color:#fff;background:#00bcd4}.floating-button.theme-cyan.active-state,.speed-dial-buttons a.theme-cyan.active-state,.theme-cyan .floating-button.active-state,.theme-cyan .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-cyan:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-cyan:active,html:not(.watch-active-state) .theme-cyan .floating-button:active,html:not(.watch-active-state) .theme-cyan .speed-dial-buttons a:active{background:#0097A7}.floating-button.theme-cyan i,.speed-dial-buttons a.theme-cyan i,.theme-cyan .floating-button i,.theme-cyan .speed-dial-buttons a i{color:inherit}.range-slider.theme-cyan input[type=range]::-webkit-slider-thumb:before,.theme-cyan .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#00bcd4}.range-slider.theme-cyan input[type=range]::-webkit-slider-thumb,.theme-cyan .range-slider input[type=range]::-webkit-slider-thumb{background-color:#00bcd4}.range-slider.theme-cyan input[type=range]::-ms-thumb,.theme-cyan .range-slider input[type=range]::-ms-thumb{background-color:#00bcd4}.range-slider.theme-cyan input[type=range]::-ms-fill-lower,.theme-cyan .range-slider input[type=range]::-ms-fill-lower{background-color:#00bcd4}.range-slider.theme-cyan input[type=range]::-moz-range-thumb,.theme-cyan .range-slider input[type=range]::-moz-range-thumb{background-color:#00bcd4}.badge.theme-cyan{background-color:#00bcd4;color:#fff}.theme-teal .button:not(.button-fill){color:#009688}.theme-teal .navbar .button:not(.button-fill),.theme-teal .subnavbar .button:not(.button-fill),.theme-teal .toolbar .button:not(.button-fill),.theme-teal.navbar .button:not(.button-fill),.theme-teal.subnavbar .button:not(.button-fill),.theme-teal.toolbar .button:not(.button-fill){color:#fff}.theme-teal .button.button-fill{background:#009688;color:#fff}.theme-teal .button.button-fill.active-state,html:not(.watch-active-state) .theme-teal .button.button-fill:active{background:#00897B}.progressbar.theme-teal,.theme-teal .progressbar{background-color:rgba(0,150,136,.5)}.progressbar.theme-teal span,.theme-teal .progressbar span{background-color:#009688}.progressbar-infinite.theme-teal,.theme-teal .progressbar-infinite{background-color:rgba(0,150,136,.5)}.progressbar-infinite.theme-teal:after,.progressbar-infinite.theme-teal:before,.theme-teal .progressbar-infinite:after,.theme-teal .progressbar-infinite:before{background-color:#009688}.color-teal i.icon,i.icon.color-teal{color:#009688}i.icon-next.color-teal,i.icon-next.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-teal,i.icon-prev.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-teal,i.icon-back.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-teal,i.icon-forward.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-teal,i.icon-bars.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}.theme-teal a{color:#009688}.navbar.theme-teal,.searchbar.theme-teal,.subnavbar.theme-teal,.theme-teal .navbar,.theme-teal .searchbar,.theme-teal .subnavbar,.theme-teal .toolbar,.toolbar.theme-teal{background-color:#009688}.label-switch.theme-teal input[type=checkbox]:checked+.checkbox,.theme-teal .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(0,150,136,.5)}.label-switch.theme-teal input[type=checkbox]:checked+.checkbox:after,.theme-teal .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#009688}.theme-teal label.label-checkbox,label.label-checkbox.theme-teal{cursor:pointer}.theme-teal label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-teal i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-teal label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-teal label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-teal label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-teal label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-teal label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-teal label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-teal input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-teal input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-teal input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-teal input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-teal input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-teal input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#009688;background-color:#009688}.theme-teal label.label-radio i.icon-form-radio:after,label.label-radio.theme-teal i.icon-form-radio:after{background-color:#009688}.theme-teal label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-teal label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-teal label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-teal label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-teal label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-teal label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-teal input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-teal input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-teal input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-teal input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-teal input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-teal input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#009688}.theme-teal label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-teal label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-teal label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-teal label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-teal label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-teal label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-teal input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-teal input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-teal input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-teal input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-teal input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-teal input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#009688}.theme-teal .focus-state .floating-label,.theme-teal .focus-state .label{color:#009688}.theme-teal .input-field.focus-state:after,.theme-teal .input-field.not-empty-state:after,.theme-teal .item-input-field.focus-state:after,.theme-teal .item-input-field.not-empty-state:after{background:#009688}.theme-teal .picker-calendar-day.picker-calendar-day-today span{color:#009688}.theme-teal .picker-calendar-day.picker-calendar-day-selected span{background-color:#009688;color:#fff}.theme-teal .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#009688}.theme-teal .picker-header{background-color:#009688}.theme-teal .modal-button{color:#009688}.swiper-pagination.color-teal .swiper-pagination-bullet-active,.theme-teal .swiper-pagination .swiper-pagination-bullet-active{background-color:#009688}.swiper-pagination.color-teal .swiper-pagination-progressbar,.theme-teal .swiper-pagination .swiper-pagination-progressbar{background-color:#009688}.swiper-pagination.swiper-pagination-progress.bg-teal{background-color:rgba(0,150,136,.25)}.swiper-button-next.color-teal,.swiper-container-rtl .swiper-button-prev.color-teal,.theme-teal .swiper-button-next,.theme-teal .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-teal,.swiper-container-rtl .swiper-button-next.color-teal,.theme-teal .swiper-button-prev,.theme-teal .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-teal,.speed-dial-buttons a.theme-teal,.theme-teal .floating-button,.theme-teal .speed-dial-buttons a{color:#fff;background:#009688}.floating-button.theme-teal.active-state,.speed-dial-buttons a.theme-teal.active-state,.theme-teal .floating-button.active-state,.theme-teal .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-teal:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-teal:active,html:not(.watch-active-state) .theme-teal .floating-button:active,html:not(.watch-active-state) .theme-teal .speed-dial-buttons a:active{background:#00897B}.floating-button.theme-teal i,.speed-dial-buttons a.theme-teal i,.theme-teal .floating-button i,.theme-teal .speed-dial-buttons a i{color:inherit}.range-slider.theme-teal input[type=range]::-webkit-slider-thumb:before,.theme-teal .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#009688}.range-slider.theme-teal input[type=range]::-webkit-slider-thumb,.theme-teal .range-slider input[type=range]::-webkit-slider-thumb{background-color:#009688}.range-slider.theme-teal input[type=range]::-ms-thumb,.theme-teal .range-slider input[type=range]::-ms-thumb{background-color:#009688}.range-slider.theme-teal input[type=range]::-ms-fill-lower,.theme-teal .range-slider input[type=range]::-ms-fill-lower{background-color:#009688}.range-slider.theme-teal input[type=range]::-moz-range-thumb,.theme-teal .range-slider input[type=range]::-moz-range-thumb{background-color:#009688}.badge.theme-teal{background-color:#009688;color:#fff}.theme-green .button:not(.button-fill){color:#4caf50}.theme-green .navbar .button:not(.button-fill),.theme-green .subnavbar .button:not(.button-fill),.theme-green .toolbar .button:not(.button-fill),.theme-green.navbar .button:not(.button-fill),.theme-green.subnavbar .button:not(.button-fill),.theme-green.toolbar .button:not(.button-fill){color:#fff}.theme-green .button.button-fill{background:#4caf50;color:#fff}.theme-green .button.button-fill.active-state,html:not(.watch-active-state) .theme-green .button.button-fill:active{background:#388E3C}.progressbar.theme-green,.theme-green .progressbar{background-color:rgba(76,175,80,.5)}.progressbar.theme-green span,.theme-green .progressbar span{background-color:#4caf50}.progressbar-infinite.theme-green,.theme-green .progressbar-infinite{background-color:rgba(76,175,80,.5)}.progressbar-infinite.theme-green:after,.progressbar-infinite.theme-green:before,.theme-green .progressbar-infinite:after,.theme-green .progressbar-infinite:before{background-color:#4caf50}.color-green i.icon,i.icon.color-green{color:#4caf50}i.icon-next.color-green,i.icon-next.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-green,i.icon-prev.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-green,i.icon-back.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-green,i.icon-forward.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-green,i.icon-bars.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}.theme-green a{color:#4caf50}.navbar.theme-green,.searchbar.theme-green,.subnavbar.theme-green,.theme-green .navbar,.theme-green .searchbar,.theme-green .subnavbar,.theme-green .toolbar,.toolbar.theme-green{background-color:#4caf50}.label-switch.theme-green input[type=checkbox]:checked+.checkbox,.theme-green .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(76,175,80,.5)}.label-switch.theme-green input[type=checkbox]:checked+.checkbox:after,.theme-green .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#4caf50}.theme-green label.label-checkbox,label.label-checkbox.theme-green{cursor:pointer}.theme-green label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-green i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-green label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-green label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-green label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-green label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-green label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-green label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-green input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-green input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-green input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-green input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-green input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-green input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#4caf50;background-color:#4caf50}.theme-green label.label-radio i.icon-form-radio:after,label.label-radio.theme-green i.icon-form-radio:after{background-color:#4caf50}.theme-green label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-green label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-green label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-green label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-green label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-green label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-green input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-green input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-green input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-green input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-green input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-green input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#4caf50}.theme-green label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-green label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-green label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-green label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-green label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-green label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-green input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-green input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-green input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-green input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-green input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-green input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#4caf50}.theme-green .focus-state .floating-label,.theme-green .focus-state .label{color:#4caf50}.theme-green .input-field.focus-state:after,.theme-green .input-field.not-empty-state:after,.theme-green .item-input-field.focus-state:after,.theme-green .item-input-field.not-empty-state:after{background:#4caf50}.theme-green .picker-calendar-day.picker-calendar-day-today span{color:#4caf50}.theme-green .picker-calendar-day.picker-calendar-day-selected span{background-color:#4caf50;color:#fff}.theme-green .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#4caf50}.theme-green .picker-header{background-color:#4caf50}.theme-green .modal-button{color:#4caf50}.swiper-pagination.color-green .swiper-pagination-bullet-active,.theme-green .swiper-pagination .swiper-pagination-bullet-active{background-color:#4caf50}.swiper-pagination.color-green .swiper-pagination-progressbar,.theme-green .swiper-pagination .swiper-pagination-progressbar{background-color:#4caf50}.swiper-pagination.swiper-pagination-progress.bg-green{background-color:rgba(76,175,80,.25)}.swiper-button-next.color-green,.swiper-container-rtl .swiper-button-prev.color-green,.theme-green .swiper-button-next,.theme-green .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-green,.swiper-container-rtl .swiper-button-next.color-green,.theme-green .swiper-button-prev,.theme-green .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-green,.speed-dial-buttons a.theme-green,.theme-green .floating-button,.theme-green .speed-dial-buttons a{color:#fff;background:#4caf50}.floating-button.theme-green.active-state,.speed-dial-buttons a.theme-green.active-state,.theme-green .floating-button.active-state,.theme-green .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-green:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-green:active,html:not(.watch-active-state) .theme-green .floating-button:active,html:not(.watch-active-state) .theme-green .speed-dial-buttons a:active{background:#388E3C}.floating-button.theme-green i,.speed-dial-buttons a.theme-green i,.theme-green .floating-button i,.theme-green .speed-dial-buttons a i{color:inherit}.range-slider.theme-green input[type=range]::-webkit-slider-thumb:before,.theme-green .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#4caf50}.range-slider.theme-green input[type=range]::-webkit-slider-thumb,.theme-green .range-slider input[type=range]::-webkit-slider-thumb{background-color:#4caf50}.range-slider.theme-green input[type=range]::-ms-thumb,.theme-green .range-slider input[type=range]::-ms-thumb{background-color:#4caf50}.range-slider.theme-green input[type=range]::-ms-fill-lower,.theme-green .range-slider input[type=range]::-ms-fill-lower{background-color:#4caf50}.range-slider.theme-green input[type=range]::-moz-range-thumb,.theme-green .range-slider input[type=range]::-moz-range-thumb{background-color:#4caf50}.badge.theme-green{background-color:#4caf50;color:#fff}.theme-lightgreen .button:not(.button-fill){color:#8bc34a}.theme-lightgreen .navbar .button:not(.button-fill),.theme-lightgreen .subnavbar .button:not(.button-fill),.theme-lightgreen .toolbar .button:not(.button-fill),.theme-lightgreen.navbar .button:not(.button-fill),.theme-lightgreen.subnavbar .button:not(.button-fill),.theme-lightgreen.toolbar .button:not(.button-fill){color:#fff}.theme-lightgreen .button.button-fill{background:#8bc34a;color:#fff}.theme-lightgreen .button.button-fill.active-state,html:not(.watch-active-state) .theme-lightgreen .button.button-fill:active{background:#689F38}.progressbar.theme-lightgreen,.theme-lightgreen .progressbar{background-color:rgba(139,195,74,.5)}.progressbar.theme-lightgreen span,.theme-lightgreen .progressbar span{background-color:#8bc34a}.progressbar-infinite.theme-lightgreen,.theme-lightgreen .progressbar-infinite{background-color:rgba(139,195,74,.5)}.progressbar-infinite.theme-lightgreen:after,.progressbar-infinite.theme-lightgreen:before,.theme-lightgreen .progressbar-infinite:after,.theme-lightgreen .progressbar-infinite:before{background-color:#8bc34a}.color-lightgreen i.icon,i.icon.color-lightgreen{color:#8bc34a}i.icon-next.color-lightgreen,i.icon-next.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-lightgreen,i.icon-prev.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-lightgreen,i.icon-back.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-lightgreen,i.icon-forward.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-lightgreen,i.icon-bars.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}.theme-lightgreen a{color:#8bc34a}.navbar.theme-lightgreen,.searchbar.theme-lightgreen,.subnavbar.theme-lightgreen,.theme-lightgreen .navbar,.theme-lightgreen .searchbar,.theme-lightgreen .subnavbar,.theme-lightgreen .toolbar,.toolbar.theme-lightgreen{background-color:#8bc34a}.label-switch.theme-lightgreen input[type=checkbox]:checked+.checkbox,.theme-lightgreen .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(139,195,74,.5)}.label-switch.theme-lightgreen input[type=checkbox]:checked+.checkbox:after,.theme-lightgreen .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#8bc34a}.theme-lightgreen label.label-checkbox,label.label-checkbox.theme-lightgreen{cursor:pointer}.theme-lightgreen label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-lightgreen i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-lightgreen label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-lightgreen label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-lightgreen label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-lightgreen label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-lightgreen label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-lightgreen label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-lightgreen input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-lightgreen input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-lightgreen input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-lightgreen input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-lightgreen input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-lightgreen input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#8bc34a;background-color:#8bc34a}.theme-lightgreen label.label-radio i.icon-form-radio:after,label.label-radio.theme-lightgreen i.icon-form-radio:after{background-color:#8bc34a}.theme-lightgreen label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-lightgreen label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-lightgreen label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-lightgreen label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-lightgreen label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-lightgreen label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-lightgreen input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-lightgreen input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-lightgreen input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-lightgreen input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-lightgreen input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-lightgreen input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#8bc34a}.theme-lightgreen label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-lightgreen label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-lightgreen label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-lightgreen label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-lightgreen label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-lightgreen label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-lightgreen input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-lightgreen input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-lightgreen input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-lightgreen input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-lightgreen input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-lightgreen input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#8bc34a}.theme-lightgreen .focus-state .floating-label,.theme-lightgreen .focus-state .label{color:#8bc34a}.theme-lightgreen .input-field.focus-state:after,.theme-lightgreen .input-field.not-empty-state:after,.theme-lightgreen .item-input-field.focus-state:after,.theme-lightgreen .item-input-field.not-empty-state:after{background:#8bc34a}.theme-lightgreen .picker-calendar-day.picker-calendar-day-today span{color:#8bc34a}.theme-lightgreen .picker-calendar-day.picker-calendar-day-selected span{background-color:#8bc34a;color:#fff}.theme-lightgreen .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#8bc34a}.theme-lightgreen .picker-header{background-color:#8bc34a}.theme-lightgreen .modal-button{color:#8bc34a}.swiper-pagination.color-lightgreen .swiper-pagination-bullet-active,.theme-lightgreen .swiper-pagination .swiper-pagination-bullet-active{background-color:#8bc34a}.swiper-pagination.color-lightgreen .swiper-pagination-progressbar,.theme-lightgreen .swiper-pagination .swiper-pagination-progressbar{background-color:#8bc34a}.swiper-pagination.swiper-pagination-progress.bg-lightgreen{background-color:rgba(139,195,74,.25)}.swiper-button-next.color-lightgreen,.swiper-container-rtl .swiper-button-prev.color-lightgreen,.theme-lightgreen .swiper-button-next,.theme-lightgreen .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-lightgreen,.swiper-container-rtl .swiper-button-next.color-lightgreen,.theme-lightgreen .swiper-button-prev,.theme-lightgreen .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-lightgreen,.speed-dial-buttons a.theme-lightgreen,.theme-lightgreen .floating-button,.theme-lightgreen .speed-dial-buttons a{color:#fff;background:#8bc34a}.floating-button.theme-lightgreen.active-state,.speed-dial-buttons a.theme-lightgreen.active-state,.theme-lightgreen .floating-button.active-state,.theme-lightgreen .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-lightgreen:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-lightgreen:active,html:not(.watch-active-state) .theme-lightgreen .floating-button:active,html:not(.watch-active-state) .theme-lightgreen .speed-dial-buttons a:active{background:#689F38}.floating-button.theme-lightgreen i,.speed-dial-buttons a.theme-lightgreen i,.theme-lightgreen .floating-button i,.theme-lightgreen .speed-dial-buttons a i{color:inherit}.range-slider.theme-lightgreen input[type=range]::-webkit-slider-thumb:before,.theme-lightgreen .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#8bc34a}.range-slider.theme-lightgreen input[type=range]::-webkit-slider-thumb,.theme-lightgreen .range-slider input[type=range]::-webkit-slider-thumb{background-color:#8bc34a}.range-slider.theme-lightgreen input[type=range]::-ms-thumb,.theme-lightgreen .range-slider input[type=range]::-ms-thumb{background-color:#8bc34a}.range-slider.theme-lightgreen input[type=range]::-ms-fill-lower,.theme-lightgreen .range-slider input[type=range]::-ms-fill-lower{background-color:#8bc34a}.range-slider.theme-lightgreen input[type=range]::-moz-range-thumb,.theme-lightgreen .range-slider input[type=range]::-moz-range-thumb{background-color:#8bc34a}.badge.theme-lightgreen{background-color:#8bc34a;color:#fff}.theme-lime .button:not(.button-fill){color:#cddc39}.theme-lime .navbar .button:not(.button-fill),.theme-lime .subnavbar .button:not(.button-fill),.theme-lime .toolbar .button:not(.button-fill),.theme-lime.navbar .button:not(.button-fill),.theme-lime.subnavbar .button:not(.button-fill),.theme-lime.toolbar .button:not(.button-fill){color:#fff}.theme-lime .button.button-fill{background:#cddc39;color:#fff}.theme-lime .button.button-fill.active-state,html:not(.watch-active-state) .theme-lime .button.button-fill:active{background:#AFB42B}.progressbar.theme-lime,.theme-lime .progressbar{background-color:rgba(205,220,57,.5)}.progressbar.theme-lime span,.theme-lime .progressbar span{background-color:#cddc39}.progressbar-infinite.theme-lime,.theme-lime .progressbar-infinite{background-color:rgba(205,220,57,.5)}.progressbar-infinite.theme-lime:after,.progressbar-infinite.theme-lime:before,.theme-lime .progressbar-infinite:after,.theme-lime .progressbar-infinite:before{background-color:#cddc39}.color-lime i.icon,i.icon.color-lime{color:#cddc39}i.icon-next.color-lime,i.icon-next.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-lime,i.icon-prev.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-lime,i.icon-back.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-lime,i.icon-forward.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-lime,i.icon-bars.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}.theme-lime a{color:#cddc39}.navbar.theme-lime,.searchbar.theme-lime,.subnavbar.theme-lime,.theme-lime .navbar,.theme-lime .searchbar,.theme-lime .subnavbar,.theme-lime .toolbar,.toolbar.theme-lime{background-color:#cddc39}.label-switch.theme-lime input[type=checkbox]:checked+.checkbox,.theme-lime .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(205,220,57,.5)}.label-switch.theme-lime input[type=checkbox]:checked+.checkbox:after,.theme-lime .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#cddc39}.theme-lime label.label-checkbox,label.label-checkbox.theme-lime{cursor:pointer}.theme-lime label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-lime i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-lime label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-lime label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-lime label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-lime label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-lime label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-lime label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-lime input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-lime input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-lime input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-lime input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-lime input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-lime input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#cddc39;background-color:#cddc39}.theme-lime label.label-radio i.icon-form-radio:after,label.label-radio.theme-lime i.icon-form-radio:after{background-color:#cddc39}.theme-lime label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-lime label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-lime label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-lime label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-lime label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-lime label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-lime input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-lime input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-lime input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-lime input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-lime input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-lime input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#cddc39}.theme-lime label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-lime label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-lime label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-lime label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-lime label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-lime label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-lime input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-lime input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-lime input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-lime input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-lime input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-lime input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#cddc39}.theme-lime .focus-state .floating-label,.theme-lime .focus-state .label{color:#cddc39}.theme-lime .input-field.focus-state:after,.theme-lime .input-field.not-empty-state:after,.theme-lime .item-input-field.focus-state:after,.theme-lime .item-input-field.not-empty-state:after{background:#cddc39}.theme-lime .picker-calendar-day.picker-calendar-day-today span{color:#cddc39}.theme-lime .picker-calendar-day.picker-calendar-day-selected span{background-color:#cddc39;color:#fff}.theme-lime .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#cddc39}.theme-lime .picker-header{background-color:#cddc39}.theme-lime .modal-button{color:#cddc39}.swiper-pagination.color-lime .swiper-pagination-bullet-active,.theme-lime .swiper-pagination .swiper-pagination-bullet-active{background-color:#cddc39}.swiper-pagination.color-lime .swiper-pagination-progressbar,.theme-lime .swiper-pagination .swiper-pagination-progressbar{background-color:#cddc39}.swiper-pagination.swiper-pagination-progress.bg-lime{background-color:rgba(205,220,57,.25)}.swiper-button-next.color-lime,.swiper-container-rtl .swiper-button-prev.color-lime,.theme-lime .swiper-button-next,.theme-lime .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-lime,.swiper-container-rtl .swiper-button-next.color-lime,.theme-lime .swiper-button-prev,.theme-lime .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-lime,.speed-dial-buttons a.theme-lime,.theme-lime .floating-button,.theme-lime .speed-dial-buttons a{color:#fff;background:#cddc39}.floating-button.theme-lime.active-state,.speed-dial-buttons a.theme-lime.active-state,.theme-lime .floating-button.active-state,.theme-lime .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-lime:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-lime:active,html:not(.watch-active-state) .theme-lime .floating-button:active,html:not(.watch-active-state) .theme-lime .speed-dial-buttons a:active{background:#AFB42B}.floating-button.theme-lime i,.speed-dial-buttons a.theme-lime i,.theme-lime .floating-button i,.theme-lime .speed-dial-buttons a i{color:inherit}.range-slider.theme-lime input[type=range]::-webkit-slider-thumb:before,.theme-lime .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#cddc39}.range-slider.theme-lime input[type=range]::-webkit-slider-thumb,.theme-lime .range-slider input[type=range]::-webkit-slider-thumb{background-color:#cddc39}.range-slider.theme-lime input[type=range]::-ms-thumb,.theme-lime .range-slider input[type=range]::-ms-thumb{background-color:#cddc39}.range-slider.theme-lime input[type=range]::-ms-fill-lower,.theme-lime .range-slider input[type=range]::-ms-fill-lower{background-color:#cddc39}.range-slider.theme-lime input[type=range]::-moz-range-thumb,.theme-lime .range-slider input[type=range]::-moz-range-thumb{background-color:#cddc39}.badge.theme-lime{background-color:#cddc39;color:#fff}.theme-yellow .button:not(.button-fill){color:#ffeb3b}.theme-yellow .navbar .button:not(.button-fill),.theme-yellow .subnavbar .button:not(.button-fill),.theme-yellow .toolbar .button:not(.button-fill),.theme-yellow.navbar .button:not(.button-fill),.theme-yellow.subnavbar .button:not(.button-fill),.theme-yellow.toolbar .button:not(.button-fill){color:#fff}.theme-yellow .button.button-fill{background:#ffeb3b;color:#fff}.theme-yellow .button.button-fill.active-state,html:not(.watch-active-state) .theme-yellow .button.button-fill:active{background:#FBC02D}.progressbar.theme-yellow,.theme-yellow .progressbar{background-color:rgba(255,235,59,.5)}.progressbar.theme-yellow span,.theme-yellow .progressbar span{background-color:#ffeb3b}.progressbar-infinite.theme-yellow,.theme-yellow .progressbar-infinite{background-color:rgba(255,235,59,.5)}.progressbar-infinite.theme-yellow:after,.progressbar-infinite.theme-yellow:before,.theme-yellow .progressbar-infinite:after,.theme-yellow .progressbar-infinite:before{background-color:#ffeb3b}.color-yellow i.icon,i.icon.color-yellow{color:#ffeb3b}i.icon-next.color-yellow,i.icon-next.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-yellow,i.icon-prev.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-yellow,i.icon-back.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-yellow,i.icon-forward.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-yellow,i.icon-bars.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}.theme-yellow a{color:#ffeb3b}.navbar.theme-yellow,.searchbar.theme-yellow,.subnavbar.theme-yellow,.theme-yellow .navbar,.theme-yellow .searchbar,.theme-yellow .subnavbar,.theme-yellow .toolbar,.toolbar.theme-yellow{background-color:#ffeb3b}.label-switch.theme-yellow input[type=checkbox]:checked+.checkbox,.theme-yellow .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(255,235,59,.5)}.label-switch.theme-yellow input[type=checkbox]:checked+.checkbox:after,.theme-yellow .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#ffeb3b}.theme-yellow label.label-checkbox,label.label-checkbox.theme-yellow{cursor:pointer}.theme-yellow label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-yellow i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-yellow label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-yellow label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-yellow label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-yellow label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-yellow label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-yellow label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-yellow input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-yellow input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-yellow input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-yellow input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-yellow input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-yellow input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#ffeb3b;background-color:#ffeb3b}.theme-yellow label.label-radio i.icon-form-radio:after,label.label-radio.theme-yellow i.icon-form-radio:after{background-color:#ffeb3b}.theme-yellow label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-yellow label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-yellow label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-yellow label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-yellow label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-yellow label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-yellow input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-yellow input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-yellow input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-yellow input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-yellow input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-yellow input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#ffeb3b}.theme-yellow label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-yellow label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-yellow label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-yellow label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-yellow label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-yellow label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-yellow input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-yellow input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-yellow input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-yellow input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-yellow input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-yellow input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#ffeb3b}.theme-yellow .focus-state .floating-label,.theme-yellow .focus-state .label{color:#ffeb3b}.theme-yellow .input-field.focus-state:after,.theme-yellow .input-field.not-empty-state:after,.theme-yellow .item-input-field.focus-state:after,.theme-yellow .item-input-field.not-empty-state:after{background:#ffeb3b}.theme-yellow .picker-calendar-day.picker-calendar-day-today span{color:#ffeb3b}.theme-yellow .picker-calendar-day.picker-calendar-day-selected span{background-color:#ffeb3b;color:#fff}.theme-yellow .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#ffeb3b}.theme-yellow .picker-header{background-color:#ffeb3b}.theme-yellow .modal-button{color:#ffeb3b}.swiper-pagination.color-yellow .swiper-pagination-bullet-active,.theme-yellow .swiper-pagination .swiper-pagination-bullet-active{background-color:#ffeb3b}.swiper-pagination.color-yellow .swiper-pagination-progressbar,.theme-yellow .swiper-pagination .swiper-pagination-progressbar{background-color:#ffeb3b}.swiper-pagination.swiper-pagination-progress.bg-yellow{background-color:rgba(255,235,59,.25)}.swiper-button-next.color-yellow,.swiper-container-rtl .swiper-button-prev.color-yellow,.theme-yellow .swiper-button-next,.theme-yellow .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-yellow,.swiper-container-rtl .swiper-button-next.color-yellow,.theme-yellow .swiper-button-prev,.theme-yellow .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-yellow,.speed-dial-buttons a.theme-yellow,.theme-yellow .floating-button,.theme-yellow .speed-dial-buttons a{color:#fff;background:#ffeb3b}.floating-button.theme-yellow.active-state,.speed-dial-buttons a.theme-yellow.active-state,.theme-yellow .floating-button.active-state,.theme-yellow .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-yellow:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-yellow:active,html:not(.watch-active-state) .theme-yellow .floating-button:active,html:not(.watch-active-state) .theme-yellow .speed-dial-buttons a:active{background:#FBC02D}.floating-button.theme-yellow i,.speed-dial-buttons a.theme-yellow i,.theme-yellow .floating-button i,.theme-yellow .speed-dial-buttons a i{color:inherit}.range-slider.theme-yellow input[type=range]::-webkit-slider-thumb:before,.theme-yellow .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ffeb3b}.range-slider.theme-yellow input[type=range]::-webkit-slider-thumb,.theme-yellow .range-slider input[type=range]::-webkit-slider-thumb{background-color:#ffeb3b}.range-slider.theme-yellow input[type=range]::-ms-thumb,.theme-yellow .range-slider input[type=range]::-ms-thumb{background-color:#ffeb3b}.range-slider.theme-yellow input[type=range]::-ms-fill-lower,.theme-yellow .range-slider input[type=range]::-ms-fill-lower{background-color:#ffeb3b}.range-slider.theme-yellow input[type=range]::-moz-range-thumb,.theme-yellow .range-slider input[type=range]::-moz-range-thumb{background-color:#ffeb3b}.badge.theme-yellow{background-color:#ffeb3b;color:#fff}.theme-amber .button:not(.button-fill){color:#ffc107}.theme-amber .navbar .button:not(.button-fill),.theme-amber .subnavbar .button:not(.button-fill),.theme-amber .toolbar .button:not(.button-fill),.theme-amber.navbar .button:not(.button-fill),.theme-amber.subnavbar .button:not(.button-fill),.theme-amber.toolbar .button:not(.button-fill){color:#fff}.theme-amber .button.button-fill{background:#ffc107;color:#fff}.theme-amber .button.button-fill.active-state,html:not(.watch-active-state) .theme-amber .button.button-fill:active{background:#FFA000}.progressbar.theme-amber,.theme-amber .progressbar{background-color:rgba(255,193,7,.5)}.progressbar.theme-amber span,.theme-amber .progressbar span{background-color:#ffc107}.progressbar-infinite.theme-amber,.theme-amber .progressbar-infinite{background-color:rgba(255,193,7,.5)}.progressbar-infinite.theme-amber:after,.progressbar-infinite.theme-amber:before,.theme-amber .progressbar-infinite:after,.theme-amber .progressbar-infinite:before{background-color:#ffc107}.color-amber i.icon,i.icon.color-amber{color:#ffc107}i.icon-next.color-amber,i.icon-next.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-amber,i.icon-prev.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-amber,i.icon-back.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-amber,i.icon-forward.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-amber,i.icon-bars.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}.theme-amber a{color:#ffc107}.navbar.theme-amber,.searchbar.theme-amber,.subnavbar.theme-amber,.theme-amber .navbar,.theme-amber .searchbar,.theme-amber .subnavbar,.theme-amber .toolbar,.toolbar.theme-amber{background-color:#ffc107}.label-switch.theme-amber input[type=checkbox]:checked+.checkbox,.theme-amber .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(255,193,7,.5)}.label-switch.theme-amber input[type=checkbox]:checked+.checkbox:after,.theme-amber .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#ffc107}.theme-amber label.label-checkbox,label.label-checkbox.theme-amber{cursor:pointer}.theme-amber label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-amber i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-amber label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-amber label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-amber label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-amber label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-amber label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-amber label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-amber input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-amber input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-amber input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-amber input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-amber input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-amber input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#ffc107;background-color:#ffc107}.theme-amber label.label-radio i.icon-form-radio:after,label.label-radio.theme-amber i.icon-form-radio:after{background-color:#ffc107}.theme-amber label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-amber label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-amber label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-amber label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-amber label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-amber label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-amber input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-amber input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-amber input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-amber input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-amber input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-amber input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#ffc107}.theme-amber label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-amber label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-amber label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-amber label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-amber label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-amber label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-amber input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-amber input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-amber input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-amber input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-amber input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-amber input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#ffc107}.theme-amber .focus-state .floating-label,.theme-amber .focus-state .label{color:#ffc107}.theme-amber .input-field.focus-state:after,.theme-amber .input-field.not-empty-state:after,.theme-amber .item-input-field.focus-state:after,.theme-amber .item-input-field.not-empty-state:after{background:#ffc107}.theme-amber .picker-calendar-day.picker-calendar-day-today span{color:#ffc107}.theme-amber .picker-calendar-day.picker-calendar-day-selected span{background-color:#ffc107;color:#fff}.theme-amber .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#ffc107}.theme-amber .picker-header{background-color:#ffc107}.theme-amber .modal-button{color:#ffc107}.swiper-pagination.color-amber .swiper-pagination-bullet-active,.theme-amber .swiper-pagination .swiper-pagination-bullet-active{background-color:#ffc107}.swiper-pagination.color-amber .swiper-pagination-progressbar,.theme-amber .swiper-pagination .swiper-pagination-progressbar{background-color:#ffc107}.swiper-pagination.swiper-pagination-progress.bg-amber{background-color:rgba(255,193,7,.25)}.swiper-button-next.color-amber,.swiper-container-rtl .swiper-button-prev.color-amber,.theme-amber .swiper-button-next,.theme-amber .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-amber,.swiper-container-rtl .swiper-button-next.color-amber,.theme-amber .swiper-button-prev,.theme-amber .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-amber,.speed-dial-buttons a.theme-amber,.theme-amber .floating-button,.theme-amber .speed-dial-buttons a{color:#fff;background:#ffc107}.floating-button.theme-amber.active-state,.speed-dial-buttons a.theme-amber.active-state,.theme-amber .floating-button.active-state,.theme-amber .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-amber:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-amber:active,html:not(.watch-active-state) .theme-amber .floating-button:active,html:not(.watch-active-state) .theme-amber .speed-dial-buttons a:active{background:#FFA000}.floating-button.theme-amber i,.speed-dial-buttons a.theme-amber i,.theme-amber .floating-button i,.theme-amber .speed-dial-buttons a i{color:inherit}.range-slider.theme-amber input[type=range]::-webkit-slider-thumb:before,.theme-amber .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ffc107}.range-slider.theme-amber input[type=range]::-webkit-slider-thumb,.theme-amber .range-slider input[type=range]::-webkit-slider-thumb{background-color:#ffc107}.range-slider.theme-amber input[type=range]::-ms-thumb,.theme-amber .range-slider input[type=range]::-ms-thumb{background-color:#ffc107}.range-slider.theme-amber input[type=range]::-ms-fill-lower,.theme-amber .range-slider input[type=range]::-ms-fill-lower{background-color:#ffc107}.range-slider.theme-amber input[type=range]::-moz-range-thumb,.theme-amber .range-slider input[type=range]::-moz-range-thumb{background-color:#ffc107}.badge.theme-amber{background-color:#ffc107;color:#fff}.theme-orange .button:not(.button-fill){color:#ff9800}.theme-orange .navbar .button:not(.button-fill),.theme-orange .subnavbar .button:not(.button-fill),.theme-orange .toolbar .button:not(.button-fill),.theme-orange.navbar .button:not(.button-fill),.theme-orange.subnavbar .button:not(.button-fill),.theme-orange.toolbar .button:not(.button-fill){color:#fff}.theme-orange .button.button-fill{background:#ff9800;color:#fff}.theme-orange .button.button-fill.active-state,html:not(.watch-active-state) .theme-orange .button.button-fill:active{background:#F57C00}.progressbar.theme-orange,.theme-orange .progressbar{background-color:rgba(255,152,0,.5)}.progressbar.theme-orange span,.theme-orange .progressbar span{background-color:#ff9800}.progressbar-infinite.theme-orange,.theme-orange .progressbar-infinite{background-color:rgba(255,152,0,.5)}.progressbar-infinite.theme-orange:after,.progressbar-infinite.theme-orange:before,.theme-orange .progressbar-infinite:after,.theme-orange .progressbar-infinite:before{background-color:#ff9800}.color-orange i.icon,i.icon.color-orange{color:#ff9800}i.icon-next.color-orange,i.icon-next.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-orange,i.icon-prev.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-orange,i.icon-back.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-orange,i.icon-forward.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-orange,i.icon-bars.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}.theme-orange a{color:#ff9800}.navbar.theme-orange,.searchbar.theme-orange,.subnavbar.theme-orange,.theme-orange .navbar,.theme-orange .searchbar,.theme-orange .subnavbar,.theme-orange .toolbar,.toolbar.theme-orange{background-color:#ff9800}.label-switch.theme-orange input[type=checkbox]:checked+.checkbox,.theme-orange .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(255,152,0,.5)}.label-switch.theme-orange input[type=checkbox]:checked+.checkbox:after,.theme-orange .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#ff9800}.theme-orange label.label-checkbox,label.label-checkbox.theme-orange{cursor:pointer}.theme-orange label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-orange i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-orange label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-orange label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-orange label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-orange label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-orange label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-orange label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-orange input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-orange input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-orange input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-orange input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-orange input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-orange input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#ff9800;background-color:#ff9800}.theme-orange label.label-radio i.icon-form-radio:after,label.label-radio.theme-orange i.icon-form-radio:after{background-color:#ff9800}.theme-orange label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-orange label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-orange label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-orange label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-orange label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-orange label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-orange input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-orange input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-orange input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-orange input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-orange input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-orange input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#ff9800}.theme-orange label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-orange label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-orange label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-orange label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-orange label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-orange label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-orange input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-orange input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-orange input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-orange input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-orange input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-orange input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#ff9800}.theme-orange .focus-state .floating-label,.theme-orange .focus-state .label{color:#ff9800}.theme-orange .input-field.focus-state:after,.theme-orange .input-field.not-empty-state:after,.theme-orange .item-input-field.focus-state:after,.theme-orange .item-input-field.not-empty-state:after{background:#ff9800}.theme-orange .picker-calendar-day.picker-calendar-day-today span{color:#ff9800}.theme-orange .picker-calendar-day.picker-calendar-day-selected span{background-color:#ff9800;color:#fff}.theme-orange .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#ff9800}.theme-orange .picker-header{background-color:#ff9800}.theme-orange .modal-button{color:#ff9800}.swiper-pagination.color-orange .swiper-pagination-bullet-active,.theme-orange .swiper-pagination .swiper-pagination-bullet-active{background-color:#ff9800}.swiper-pagination.color-orange .swiper-pagination-progressbar,.theme-orange .swiper-pagination .swiper-pagination-progressbar{background-color:#ff9800}.swiper-pagination.swiper-pagination-progress.bg-orange{background-color:rgba(255,152,0,.25)}.swiper-button-next.color-orange,.swiper-container-rtl .swiper-button-prev.color-orange,.theme-orange .swiper-button-next,.theme-orange .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-orange,.swiper-container-rtl .swiper-button-next.color-orange,.theme-orange .swiper-button-prev,.theme-orange .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-orange,.speed-dial-buttons a.theme-orange,.theme-orange .floating-button,.theme-orange .speed-dial-buttons a{color:#fff;background:#ff9800}.floating-button.theme-orange.active-state,.speed-dial-buttons a.theme-orange.active-state,.theme-orange .floating-button.active-state,.theme-orange .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-orange:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-orange:active,html:not(.watch-active-state) .theme-orange .floating-button:active,html:not(.watch-active-state) .theme-orange .speed-dial-buttons a:active{background:#F57C00}.floating-button.theme-orange i,.speed-dial-buttons a.theme-orange i,.theme-orange .floating-button i,.theme-orange .speed-dial-buttons a i{color:inherit}.range-slider.theme-orange input[type=range]::-webkit-slider-thumb:before,.theme-orange .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ff9800}.range-slider.theme-orange input[type=range]::-webkit-slider-thumb,.theme-orange .range-slider input[type=range]::-webkit-slider-thumb{background-color:#ff9800}.range-slider.theme-orange input[type=range]::-ms-thumb,.theme-orange .range-slider input[type=range]::-ms-thumb{background-color:#ff9800}.range-slider.theme-orange input[type=range]::-ms-fill-lower,.theme-orange .range-slider input[type=range]::-ms-fill-lower{background-color:#ff9800}.range-slider.theme-orange input[type=range]::-moz-range-thumb,.theme-orange .range-slider input[type=range]::-moz-range-thumb{background-color:#ff9800}.badge.theme-orange{background-color:#ff9800;color:#fff}.theme-deeporange .button:not(.button-fill){color:#ff5722}.theme-deeporange .navbar .button:not(.button-fill),.theme-deeporange .subnavbar .button:not(.button-fill),.theme-deeporange .toolbar .button:not(.button-fill),.theme-deeporange.navbar .button:not(.button-fill),.theme-deeporange.subnavbar .button:not(.button-fill),.theme-deeporange.toolbar .button:not(.button-fill){color:#fff}.theme-deeporange .button.button-fill{background:#ff5722;color:#fff}.theme-deeporange .button.button-fill.active-state,html:not(.watch-active-state) .theme-deeporange .button.button-fill:active{background:#E64A19}.progressbar.theme-deeporange,.theme-deeporange .progressbar{background-color:rgba(255,87,34,.5)}.progressbar.theme-deeporange span,.theme-deeporange .progressbar span{background-color:#ff5722}.progressbar-infinite.theme-deeporange,.theme-deeporange .progressbar-infinite{background-color:rgba(255,87,34,.5)}.progressbar-infinite.theme-deeporange:after,.progressbar-infinite.theme-deeporange:before,.theme-deeporange .progressbar-infinite:after,.theme-deeporange .progressbar-infinite:before{background-color:#ff5722}.color-deeporange i.icon,i.icon.color-deeporange{color:#ff5722}i.icon-next.color-deeporange,i.icon-next.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-deeporange,i.icon-prev.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-deeporange,i.icon-back.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-deeporange,i.icon-forward.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-deeporange,i.icon-bars.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}.theme-deeporange a{color:#ff5722}.navbar.theme-deeporange,.searchbar.theme-deeporange,.subnavbar.theme-deeporange,.theme-deeporange .navbar,.theme-deeporange .searchbar,.theme-deeporange .subnavbar,.theme-deeporange .toolbar,.toolbar.theme-deeporange{background-color:#ff5722}.label-switch.theme-deeporange input[type=checkbox]:checked+.checkbox,.theme-deeporange .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(255,87,34,.5)}.label-switch.theme-deeporange input[type=checkbox]:checked+.checkbox:after,.theme-deeporange .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#ff5722}.theme-deeporange label.label-checkbox,label.label-checkbox.theme-deeporange{cursor:pointer}.theme-deeporange label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-deeporange i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-deeporange label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-deeporange label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-deeporange label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-deeporange label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-deeporange label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-deeporange label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-deeporange input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-deeporange input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-deeporange input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-deeporange input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-deeporange input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-deeporange input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#ff5722;background-color:#ff5722}.theme-deeporange label.label-radio i.icon-form-radio:after,label.label-radio.theme-deeporange i.icon-form-radio:after{background-color:#ff5722}.theme-deeporange label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-deeporange label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-deeporange label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-deeporange label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-deeporange label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-deeporange label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-deeporange input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-deeporange input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-deeporange input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-deeporange input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-deeporange input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-deeporange input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#ff5722}.theme-deeporange label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-deeporange label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-deeporange label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-deeporange label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-deeporange label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-deeporange label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-deeporange input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-deeporange input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-deeporange input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-deeporange input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-deeporange input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-deeporange input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#ff5722}.theme-deeporange .focus-state .floating-label,.theme-deeporange .focus-state .label{color:#ff5722}.theme-deeporange .input-field.focus-state:after,.theme-deeporange .input-field.not-empty-state:after,.theme-deeporange .item-input-field.focus-state:after,.theme-deeporange .item-input-field.not-empty-state:after{background:#ff5722}.theme-deeporange .picker-calendar-day.picker-calendar-day-today span{color:#ff5722}.theme-deeporange .picker-calendar-day.picker-calendar-day-selected span{background-color:#ff5722;color:#fff}.theme-deeporange .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#ff5722}.theme-deeporange .picker-header{background-color:#ff5722}.theme-deeporange .modal-button{color:#ff5722}.swiper-pagination.color-deeporange .swiper-pagination-bullet-active,.theme-deeporange .swiper-pagination .swiper-pagination-bullet-active{background-color:#ff5722}.swiper-pagination.color-deeporange .swiper-pagination-progressbar,.theme-deeporange .swiper-pagination .swiper-pagination-progressbar{background-color:#ff5722}.swiper-pagination.swiper-pagination-progress.bg-deeporange{background-color:rgba(255,87,34,.25)}.swiper-button-next.color-deeporange,.swiper-container-rtl .swiper-button-prev.color-deeporange,.theme-deeporange .swiper-button-next,.theme-deeporange .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-deeporange,.swiper-container-rtl .swiper-button-next.color-deeporange,.theme-deeporange .swiper-button-prev,.theme-deeporange .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-deeporange,.speed-dial-buttons a.theme-deeporange,.theme-deeporange .floating-button,.theme-deeporange .speed-dial-buttons a{color:#fff;background:#ff5722}.floating-button.theme-deeporange.active-state,.speed-dial-buttons a.theme-deeporange.active-state,.theme-deeporange .floating-button.active-state,.theme-deeporange .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-deeporange:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-deeporange:active,html:not(.watch-active-state) .theme-deeporange .floating-button:active,html:not(.watch-active-state) .theme-deeporange .speed-dial-buttons a:active{background:#E64A19}.floating-button.theme-deeporange i,.speed-dial-buttons a.theme-deeporange i,.theme-deeporange .floating-button i,.theme-deeporange .speed-dial-buttons a i{color:inherit}.range-slider.theme-deeporange input[type=range]::-webkit-slider-thumb:before,.theme-deeporange .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#ff5722}.range-slider.theme-deeporange input[type=range]::-webkit-slider-thumb,.theme-deeporange .range-slider input[type=range]::-webkit-slider-thumb{background-color:#ff5722}.range-slider.theme-deeporange input[type=range]::-ms-thumb,.theme-deeporange .range-slider input[type=range]::-ms-thumb{background-color:#ff5722}.range-slider.theme-deeporange input[type=range]::-ms-fill-lower,.theme-deeporange .range-slider input[type=range]::-ms-fill-lower{background-color:#ff5722}.range-slider.theme-deeporange input[type=range]::-moz-range-thumb,.theme-deeporange .range-slider input[type=range]::-moz-range-thumb{background-color:#ff5722}.badge.theme-deeporange{background-color:#ff5722;color:#fff}.theme-brown .button:not(.button-fill){color:#795548}.theme-brown .navbar .button:not(.button-fill),.theme-brown .subnavbar .button:not(.button-fill),.theme-brown .toolbar .button:not(.button-fill),.theme-brown.navbar .button:not(.button-fill),.theme-brown.subnavbar .button:not(.button-fill),.theme-brown.toolbar .button:not(.button-fill){color:#fff}.theme-brown .button.button-fill{background:#795548;color:#fff}.theme-brown .button.button-fill.active-state,html:not(.watch-active-state) .theme-brown .button.button-fill:active{background:#5D4037}.progressbar.theme-brown,.theme-brown .progressbar{background-color:rgba(121,85,72,.5)}.progressbar.theme-brown span,.theme-brown .progressbar span{background-color:#795548}.progressbar-infinite.theme-brown,.theme-brown .progressbar-infinite{background-color:rgba(121,85,72,.5)}.progressbar-infinite.theme-brown:after,.progressbar-infinite.theme-brown:before,.theme-brown .progressbar-infinite:after,.theme-brown .progressbar-infinite:before{background-color:#795548}.color-brown i.icon,i.icon.color-brown{color:#795548}i.icon-next.color-brown,i.icon-next.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-brown,i.icon-prev.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-brown,i.icon-back.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-brown,i.icon-forward.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-brown,i.icon-bars.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}.theme-brown a{color:#795548}.navbar.theme-brown,.searchbar.theme-brown,.subnavbar.theme-brown,.theme-brown .navbar,.theme-brown .searchbar,.theme-brown .subnavbar,.theme-brown .toolbar,.toolbar.theme-brown{background-color:#795548}.label-switch.theme-brown input[type=checkbox]:checked+.checkbox,.theme-brown .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(121,85,72,.5)}.label-switch.theme-brown input[type=checkbox]:checked+.checkbox:after,.theme-brown .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#795548}.theme-brown label.label-checkbox,label.label-checkbox.theme-brown{cursor:pointer}.theme-brown label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-brown i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-brown label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-brown label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-brown label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-brown label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-brown label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-brown label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-brown input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-brown input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-brown input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-brown input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-brown input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-brown input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#795548;background-color:#795548}.theme-brown label.label-radio i.icon-form-radio:after,label.label-radio.theme-brown i.icon-form-radio:after{background-color:#795548}.theme-brown label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-brown label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-brown label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-brown label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-brown label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-brown label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-brown input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-brown input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-brown input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-brown input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-brown input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-brown input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#795548}.theme-brown label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-brown label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-brown label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-brown label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-brown label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-brown label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-brown input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-brown input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-brown input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-brown input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-brown input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-brown input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#795548}.theme-brown .focus-state .floating-label,.theme-brown .focus-state .label{color:#795548}.theme-brown .input-field.focus-state:after,.theme-brown .input-field.not-empty-state:after,.theme-brown .item-input-field.focus-state:after,.theme-brown .item-input-field.not-empty-state:after{background:#795548}.theme-brown .picker-calendar-day.picker-calendar-day-today span{color:#795548}.theme-brown .picker-calendar-day.picker-calendar-day-selected span{background-color:#795548;color:#fff}.theme-brown .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#795548}.theme-brown .picker-header{background-color:#795548}.theme-brown .modal-button{color:#795548}.swiper-pagination.color-brown .swiper-pagination-bullet-active,.theme-brown .swiper-pagination .swiper-pagination-bullet-active{background-color:#795548}.swiper-pagination.color-brown .swiper-pagination-progressbar,.theme-brown .swiper-pagination .swiper-pagination-progressbar{background-color:#795548}.swiper-pagination.swiper-pagination-progress.bg-brown{background-color:rgba(121,85,72,.25)}.swiper-button-next.color-brown,.swiper-container-rtl .swiper-button-prev.color-brown,.theme-brown .swiper-button-next,.theme-brown .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-brown,.swiper-container-rtl .swiper-button-next.color-brown,.theme-brown .swiper-button-prev,.theme-brown .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-brown,.speed-dial-buttons a.theme-brown,.theme-brown .floating-button,.theme-brown .speed-dial-buttons a{color:#fff;background:#795548}.floating-button.theme-brown.active-state,.speed-dial-buttons a.theme-brown.active-state,.theme-brown .floating-button.active-state,.theme-brown .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-brown:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-brown:active,html:not(.watch-active-state) .theme-brown .floating-button:active,html:not(.watch-active-state) .theme-brown .speed-dial-buttons a:active{background:#5D4037}.floating-button.theme-brown i,.speed-dial-buttons a.theme-brown i,.theme-brown .floating-button i,.theme-brown .speed-dial-buttons a i{color:inherit}.range-slider.theme-brown input[type=range]::-webkit-slider-thumb:before,.theme-brown .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#795548}.range-slider.theme-brown input[type=range]::-webkit-slider-thumb,.theme-brown .range-slider input[type=range]::-webkit-slider-thumb{background-color:#795548}.range-slider.theme-brown input[type=range]::-ms-thumb,.theme-brown .range-slider input[type=range]::-ms-thumb{background-color:#795548}.range-slider.theme-brown input[type=range]::-ms-fill-lower,.theme-brown .range-slider input[type=range]::-ms-fill-lower{background-color:#795548}.range-slider.theme-brown input[type=range]::-moz-range-thumb,.theme-brown .range-slider input[type=range]::-moz-range-thumb{background-color:#795548}.badge.theme-brown{background-color:#795548;color:#fff}.theme-gray .button:not(.button-fill){color:#9e9e9e}.theme-gray .navbar .button:not(.button-fill),.theme-gray .subnavbar .button:not(.button-fill),.theme-gray .toolbar .button:not(.button-fill),.theme-gray.navbar .button:not(.button-fill),.theme-gray.subnavbar .button:not(.button-fill),.theme-gray.toolbar .button:not(.button-fill){color:#fff}.theme-gray .button.button-fill{background:#9e9e9e;color:#fff}.theme-gray .button.button-fill.active-state,html:not(.watch-active-state) .theme-gray .button.button-fill:active{background:#616161}.progressbar.theme-gray,.theme-gray .progressbar{background-color:rgba(158,158,158,.5)}.progressbar.theme-gray span,.theme-gray .progressbar span{background-color:#9e9e9e}.progressbar-infinite.theme-gray,.theme-gray .progressbar-infinite{background-color:rgba(158,158,158,.5)}.progressbar-infinite.theme-gray:after,.progressbar-infinite.theme-gray:before,.theme-gray .progressbar-infinite:after,.theme-gray .progressbar-infinite:before{background-color:#9e9e9e}.color-gray i.icon,i.icon.color-gray{color:#9e9e9e}i.icon-next.color-gray,i.icon-next.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-gray,i.icon-prev.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-gray,i.icon-back.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-gray,i.icon-forward.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-gray,i.icon-bars.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}.theme-gray a{color:#9e9e9e}.navbar.theme-gray,.searchbar.theme-gray,.subnavbar.theme-gray,.theme-gray .navbar,.theme-gray .searchbar,.theme-gray .subnavbar,.theme-gray .toolbar,.toolbar.theme-gray{background-color:#9e9e9e}.label-switch.theme-gray input[type=checkbox]:checked+.checkbox,.theme-gray .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(158,158,158,.5)}.label-switch.theme-gray input[type=checkbox]:checked+.checkbox:after,.theme-gray .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#9e9e9e}.theme-gray label.label-checkbox,label.label-checkbox.theme-gray{cursor:pointer}.theme-gray label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-gray i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-gray label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-gray label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-gray label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-gray label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-gray label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-gray label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-gray input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-gray input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-gray input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-gray input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-gray input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-gray input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#9e9e9e;background-color:#9e9e9e}.theme-gray label.label-radio i.icon-form-radio:after,label.label-radio.theme-gray i.icon-form-radio:after{background-color:#9e9e9e}.theme-gray label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-gray label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-gray label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-gray label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-gray label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-gray label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-gray input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-gray input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-gray input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-gray input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-gray input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-gray input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#9e9e9e}.theme-gray label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-gray label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-gray label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-gray label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-gray label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-gray label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-gray input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-gray input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-gray input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-gray input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-gray input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-gray input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#9e9e9e}.theme-gray .focus-state .floating-label,.theme-gray .focus-state .label{color:#9e9e9e}.theme-gray .input-field.focus-state:after,.theme-gray .input-field.not-empty-state:after,.theme-gray .item-input-field.focus-state:after,.theme-gray .item-input-field.not-empty-state:after{background:#9e9e9e}.theme-gray .picker-calendar-day.picker-calendar-day-today span{color:#9e9e9e}.theme-gray .picker-calendar-day.picker-calendar-day-selected span{background-color:#9e9e9e;color:#fff}.theme-gray .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#9e9e9e}.theme-gray .picker-header{background-color:#9e9e9e}.theme-gray .modal-button{color:#9e9e9e}.swiper-pagination.color-gray .swiper-pagination-bullet-active,.theme-gray .swiper-pagination .swiper-pagination-bullet-active{background-color:#9e9e9e}.swiper-pagination.color-gray .swiper-pagination-progressbar,.theme-gray .swiper-pagination .swiper-pagination-progressbar{background-color:#9e9e9e}.swiper-pagination.swiper-pagination-progress.bg-gray{background-color:rgba(158,158,158,.25)}.swiper-button-next.color-gray,.swiper-container-rtl .swiper-button-prev.color-gray,.theme-gray .swiper-button-next,.theme-gray .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-gray,.swiper-container-rtl .swiper-button-next.color-gray,.theme-gray .swiper-button-prev,.theme-gray .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-gray,.speed-dial-buttons a.theme-gray,.theme-gray .floating-button,.theme-gray .speed-dial-buttons a{color:#fff;background:#9e9e9e}.floating-button.theme-gray.active-state,.speed-dial-buttons a.theme-gray.active-state,.theme-gray .floating-button.active-state,.theme-gray .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-gray:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-gray:active,html:not(.watch-active-state) .theme-gray .floating-button:active,html:not(.watch-active-state) .theme-gray .speed-dial-buttons a:active{background:#616161}.floating-button.theme-gray i,.speed-dial-buttons a.theme-gray i,.theme-gray .floating-button i,.theme-gray .speed-dial-buttons a i{color:inherit}.range-slider.theme-gray input[type=range]::-webkit-slider-thumb:before,.theme-gray .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#9e9e9e}.range-slider.theme-gray input[type=range]::-webkit-slider-thumb,.theme-gray .range-slider input[type=range]::-webkit-slider-thumb{background-color:#9e9e9e}.range-slider.theme-gray input[type=range]::-ms-thumb,.theme-gray .range-slider input[type=range]::-ms-thumb{background-color:#9e9e9e}.range-slider.theme-gray input[type=range]::-ms-fill-lower,.theme-gray .range-slider input[type=range]::-ms-fill-lower{background-color:#9e9e9e}.range-slider.theme-gray input[type=range]::-moz-range-thumb,.theme-gray .range-slider input[type=range]::-moz-range-thumb{background-color:#9e9e9e}.badge.theme-gray{background-color:#9e9e9e;color:#fff}.theme-bluegray .button:not(.button-fill){color:#607d8b}.theme-bluegray .navbar .button:not(.button-fill),.theme-bluegray .subnavbar .button:not(.button-fill),.theme-bluegray .toolbar .button:not(.button-fill),.theme-bluegray.navbar .button:not(.button-fill),.theme-bluegray.subnavbar .button:not(.button-fill),.theme-bluegray.toolbar .button:not(.button-fill){color:#fff}.theme-bluegray .button.button-fill{background:#607d8b;color:#fff}.theme-bluegray .button.button-fill.active-state,html:not(.watch-active-state) .theme-bluegray .button.button-fill:active{background:#455A64}.progressbar.theme-bluegray,.theme-bluegray .progressbar{background-color:rgba(96,125,139,.5)}.progressbar.theme-bluegray span,.theme-bluegray .progressbar span{background-color:#607d8b}.progressbar-infinite.theme-bluegray,.theme-bluegray .progressbar-infinite{background-color:rgba(96,125,139,.5)}.progressbar-infinite.theme-bluegray:after,.progressbar-infinite.theme-bluegray:before,.theme-bluegray .progressbar-infinite:after,.theme-bluegray .progressbar-infinite:before{background-color:#607d8b}.color-bluegray i.icon,i.icon.color-bluegray{color:#607d8b}i.icon-next.color-bluegray,i.icon-next.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-bluegray,i.icon-prev.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-bluegray,i.icon-back.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-bluegray,i.icon-forward.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-bluegray,i.icon-bars.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}.theme-bluegray a{color:#607d8b}.navbar.theme-bluegray,.searchbar.theme-bluegray,.subnavbar.theme-bluegray,.theme-bluegray .navbar,.theme-bluegray .searchbar,.theme-bluegray .subnavbar,.theme-bluegray .toolbar,.toolbar.theme-bluegray{background-color:#607d8b}.label-switch.theme-bluegray input[type=checkbox]:checked+.checkbox,.theme-bluegray .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(96,125,139,.5)}.label-switch.theme-bluegray input[type=checkbox]:checked+.checkbox:after,.theme-bluegray .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#607d8b}.theme-bluegray label.label-checkbox,label.label-checkbox.theme-bluegray{cursor:pointer}.theme-bluegray label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-bluegray i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-bluegray label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-bluegray label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-bluegray label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-bluegray label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-bluegray label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-bluegray label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-bluegray input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-bluegray input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-bluegray input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-bluegray input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-bluegray input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-bluegray input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#607d8b;background-color:#607d8b}.theme-bluegray label.label-radio i.icon-form-radio:after,label.label-radio.theme-bluegray i.icon-form-radio:after{background-color:#607d8b}.theme-bluegray label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-bluegray label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-bluegray label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-bluegray label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-bluegray label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-bluegray label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-bluegray input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-bluegray input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-bluegray input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-bluegray input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-bluegray input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-bluegray input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#607d8b}.theme-bluegray label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-bluegray label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-bluegray label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-bluegray label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-bluegray label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-bluegray label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-bluegray input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-bluegray input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-bluegray input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-bluegray input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-bluegray input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-bluegray input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#607d8b}.theme-bluegray .focus-state .floating-label,.theme-bluegray .focus-state .label{color:#607d8b}.theme-bluegray .input-field.focus-state:after,.theme-bluegray .input-field.not-empty-state:after,.theme-bluegray .item-input-field.focus-state:after,.theme-bluegray .item-input-field.not-empty-state:after{background:#607d8b}.theme-bluegray .picker-calendar-day.picker-calendar-day-today span{color:#607d8b}.theme-bluegray .picker-calendar-day.picker-calendar-day-selected span{background-color:#607d8b;color:#fff}.theme-bluegray .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#607d8b}.theme-bluegray .picker-header{background-color:#607d8b}.theme-bluegray .modal-button{color:#607d8b}.swiper-pagination.color-bluegray .swiper-pagination-bullet-active,.theme-bluegray .swiper-pagination .swiper-pagination-bullet-active{background-color:#607d8b}.swiper-pagination.color-bluegray .swiper-pagination-progressbar,.theme-bluegray .swiper-pagination .swiper-pagination-progressbar{background-color:#607d8b}.swiper-pagination.swiper-pagination-progress.bg-bluegray{background-color:rgba(96,125,139,.25)}.swiper-button-next.color-bluegray,.swiper-container-rtl .swiper-button-prev.color-bluegray,.theme-bluegray .swiper-button-next,.theme-bluegray .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-bluegray,.swiper-container-rtl .swiper-button-next.color-bluegray,.theme-bluegray .swiper-button-prev,.theme-bluegray .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-bluegray,.speed-dial-buttons a.theme-bluegray,.theme-bluegray .floating-button,.theme-bluegray .speed-dial-buttons a{color:#fff;background:#607d8b}.floating-button.theme-bluegray.active-state,.speed-dial-buttons a.theme-bluegray.active-state,.theme-bluegray .floating-button.active-state,.theme-bluegray .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-bluegray:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-bluegray:active,html:not(.watch-active-state) .theme-bluegray .floating-button:active,html:not(.watch-active-state) .theme-bluegray .speed-dial-buttons a:active{background:#455A64}.floating-button.theme-bluegray i,.speed-dial-buttons a.theme-bluegray i,.theme-bluegray .floating-button i,.theme-bluegray .speed-dial-buttons a i{color:inherit}.range-slider.theme-bluegray input[type=range]::-webkit-slider-thumb:before,.theme-bluegray .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#607d8b}.range-slider.theme-bluegray input[type=range]::-webkit-slider-thumb,.theme-bluegray .range-slider input[type=range]::-webkit-slider-thumb{background-color:#607d8b}.range-slider.theme-bluegray input[type=range]::-ms-thumb,.theme-bluegray .range-slider input[type=range]::-ms-thumb{background-color:#607d8b}.range-slider.theme-bluegray input[type=range]::-ms-fill-lower,.theme-bluegray .range-slider input[type=range]::-ms-fill-lower{background-color:#607d8b}.range-slider.theme-bluegray input[type=range]::-moz-range-thumb,.theme-bluegray .range-slider input[type=range]::-moz-range-thumb{background-color:#607d8b}.badge.theme-bluegray{background-color:#607d8b;color:#fff}.theme-white .button:not(.button-fill){color:#fff}.theme-white .navbar .button:not(.button-fill),.theme-white .subnavbar .button:not(.button-fill),.theme-white .toolbar .button:not(.button-fill),.theme-white.navbar .button:not(.button-fill),.theme-white.subnavbar .button:not(.button-fill),.theme-white.toolbar .button:not(.button-fill){color:#fff}.theme-white .button.button-fill{background:#fff;color:#fff}.theme-white .button.button-fill.active-state,html:not(.watch-active-state) .theme-white .button.button-fill:active{background:rgba(0,0,0,.1)}.progressbar.theme-white,.theme-white .progressbar{background-color:rgba(255,255,255,.5)}.progressbar.theme-white span,.theme-white .progressbar span{background-color:#fff}.progressbar-infinite.theme-white,.theme-white .progressbar-infinite{background-color:rgba(255,255,255,.5)}.progressbar-infinite.theme-white:after,.progressbar-infinite.theme-white:before,.theme-white .progressbar-infinite:after,.theme-white .progressbar-infinite:before{background-color:#fff}.color-white i.icon,i.icon.color-white{color:#fff}i.icon-next.color-white,i.icon-next.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-white,i.icon-prev.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-white,i.icon-back.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-white,i.icon-forward.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-white,i.icon-bars.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.theme-white a{color:#fff}.navbar.theme-white,.searchbar.theme-white,.subnavbar.theme-white,.theme-white .navbar,.theme-white .searchbar,.theme-white .subnavbar,.theme-white .toolbar,.toolbar.theme-white{background-color:#fff}.label-switch.theme-white input[type=checkbox]:checked+.checkbox,.theme-white .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(255,255,255,.5)}.label-switch.theme-white input[type=checkbox]:checked+.checkbox:after,.theme-white .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#fff}.theme-white label.label-checkbox,label.label-checkbox.theme-white{cursor:pointer}.theme-white label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-white i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-white label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-white label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-white label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-white label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-white label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-white label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-white input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-white input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-white input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-white input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-white input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-white input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#fff;background-color:#fff}.theme-white label.label-radio i.icon-form-radio:after,label.label-radio.theme-white i.icon-form-radio:after{background-color:#fff}.theme-white label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-white label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-white label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-white label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-white label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-white label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-white input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-white input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-white input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-white input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-white input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-white input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#fff}.theme-white label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-white label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-white label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-white label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-white label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-white label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-white input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-white input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-white input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-white input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-white input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-white input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#fff}.theme-white .focus-state .floating-label,.theme-white .focus-state .label{color:#fff}.theme-white .input-field.focus-state:after,.theme-white .input-field.not-empty-state:after,.theme-white .item-input-field.focus-state:after,.theme-white .item-input-field.not-empty-state:after{background:#fff}.theme-white .picker-calendar-day.picker-calendar-day-today span{color:#fff}.theme-white .picker-calendar-day.picker-calendar-day-selected span{background-color:#fff;color:#fff}.theme-white .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#fff}.theme-white .picker-header{background-color:#fff}.theme-white .modal-button{color:#fff}.swiper-pagination.color-white .swiper-pagination-bullet-active,.theme-white .swiper-pagination .swiper-pagination-bullet-active{background-color:#fff}.swiper-pagination.color-white .swiper-pagination-progressbar,.theme-white .swiper-pagination .swiper-pagination-progressbar{background-color:#fff}.swiper-pagination.swiper-pagination-progress.bg-white{background-color:rgba(255,255,255,.25)}.swiper-button-next.color-white,.swiper-container-rtl .swiper-button-prev.color-white,.theme-white .swiper-button-next,.theme-white .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-white,.swiper-container-rtl .swiper-button-next.color-white,.theme-white .swiper-button-prev,.theme-white .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-white,.speed-dial-buttons a.theme-white,.theme-white .floating-button,.theme-white .speed-dial-buttons a{color:#fff;background:#fff}.floating-button.theme-white.active-state,.speed-dial-buttons a.theme-white.active-state,.theme-white .floating-button.active-state,.theme-white .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-white:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-white:active,html:not(.watch-active-state) .theme-white .floating-button:active,html:not(.watch-active-state) .theme-white .speed-dial-buttons a:active{background:rgba(0,0,0,.1)}.floating-button.theme-white i,.speed-dial-buttons a.theme-white i,.theme-white .floating-button i,.theme-white .speed-dial-buttons a i{color:inherit}.range-slider.theme-white input[type=range]::-webkit-slider-thumb:before,.theme-white .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#fff}.range-slider.theme-white input[type=range]::-webkit-slider-thumb,.theme-white .range-slider input[type=range]::-webkit-slider-thumb{background-color:#fff}.range-slider.theme-white input[type=range]::-ms-thumb,.theme-white .range-slider input[type=range]::-ms-thumb{background-color:#fff}.range-slider.theme-white input[type=range]::-ms-fill-lower,.theme-white .range-slider input[type=range]::-ms-fill-lower{background-color:#fff}.range-slider.theme-white input[type=range]::-moz-range-thumb,.theme-white .range-slider input[type=range]::-moz-range-thumb{background-color:#fff}.badge.theme-white{background-color:#fff;color:#fff}.theme-black .button:not(.button-fill){color:#000}.theme-black .navbar .button:not(.button-fill),.theme-black .subnavbar .button:not(.button-fill),.theme-black .toolbar .button:not(.button-fill),.theme-black.navbar .button:not(.button-fill),.theme-black.subnavbar .button:not(.button-fill),.theme-black.toolbar .button:not(.button-fill){color:#fff}.theme-black .button.button-fill{background:#000;color:#fff}.theme-black .button.button-fill.active-state,html:not(.watch-active-state) .theme-black .button.button-fill:active{background:#333}.progressbar.theme-black,.theme-black .progressbar{background-color:rgba(0,0,0,.5)}.progressbar.theme-black span,.theme-black .progressbar span{background-color:#000}.progressbar-infinite.theme-black,.theme-black .progressbar-infinite{background-color:rgba(0,0,0,.5)}.progressbar-infinite.theme-black:after,.progressbar-infinite.theme-black:before,.theme-black .progressbar-infinite:after,.theme-black .progressbar-infinite:before{background-color:#000}.color-black i.icon,i.icon.color-black{color:#000}i.icon-next.color-black,i.icon-next.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-black,i.icon-prev.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-black,i.icon-back.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-black,i.icon-forward.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}i.icon-bars.color-black,i.icon-bars.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.theme-black a{color:#000}.navbar.theme-black,.searchbar.theme-black,.subnavbar.theme-black,.theme-black .navbar,.theme-black .searchbar,.theme-black .subnavbar,.theme-black .toolbar,.toolbar.theme-black{background-color:#000}.label-switch.theme-black input[type=checkbox]:checked+.checkbox,.theme-black .label-switch input[type=checkbox]:checked+.checkbox{background-color:rgba(0,0,0,.5)}.label-switch.theme-black input[type=checkbox]:checked+.checkbox:after,.theme-black .label-switch input[type=checkbox]:checked+.checkbox:after{background-color:#000}.theme-black label.label-checkbox,label.label-checkbox.theme-black{cursor:pointer}.theme-black label.label-checkbox i.icon-form-checkbox:after,label.label-checkbox.theme-black i.icon-form-checkbox:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E")}.theme-black label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,.theme-black label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,.theme-black label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,.theme-black label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,.theme-black label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,.theme-black label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-black input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-black input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-black input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox.theme-black input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox.theme-black input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox.theme-black input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#000;background-color:#000}.theme-black label.label-radio i.icon-form-radio:after,label.label-radio.theme-black i.icon-form-radio:after{background-color:#000}.theme-black label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,.theme-black label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,.theme-black label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,.theme-black label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,.theme-black label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,.theme-black label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-black input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio.theme-black input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio.theme-black input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio.theme-black input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio.theme-black input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio.theme-black input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#000}.theme-black label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,.theme-black label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,.theme-black label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,.theme-black label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,.theme-black label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,.theme-black label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-black input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-black input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-black input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio.theme-black input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio.theme-black input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio.theme-black input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#000}.theme-black .focus-state .floating-label,.theme-black .focus-state .label{color:#000}.theme-black .input-field.focus-state:after,.theme-black .input-field.not-empty-state:after,.theme-black .item-input-field.focus-state:after,.theme-black .item-input-field.not-empty-state:after{background:#000}.theme-black .picker-calendar-day.picker-calendar-day-today span{color:#000}.theme-black .picker-calendar-day.picker-calendar-day-selected span{background-color:#000;color:#fff}.theme-black .picker-calendar-day.picker-calendar-day-has-events span:after{background-color:#000}.theme-black .picker-header{background-color:#000}.theme-black .modal-button{color:#000}.swiper-pagination.color-black .swiper-pagination-bullet-active,.theme-black .swiper-pagination .swiper-pagination-bullet-active{background-color:#000}.swiper-pagination.color-black .swiper-pagination-progressbar,.theme-black .swiper-pagination .swiper-pagination-progressbar{background-color:#000}.swiper-pagination.swiper-pagination-progress.bg-black{background-color:rgba(0,0,0,.25)}.swiper-button-next.color-black,.swiper-container-rtl .swiper-button-prev.color-black,.theme-black .swiper-button-next,.theme-black .swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.color-black,.swiper-container-rtl .swiper-button-next.color-black,.theme-black .swiper-button-prev,.theme-black .swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.floating-button.theme-black,.speed-dial-buttons a.theme-black,.theme-black .floating-button,.theme-black .speed-dial-buttons a{color:#fff;background:#000}.floating-button.theme-black.active-state,.speed-dial-buttons a.theme-black.active-state,.theme-black .floating-button.active-state,.theme-black .speed-dial-buttons a.active-state,html:not(.watch-active-state) .floating-button.theme-black:active,html:not(.watch-active-state) .speed-dial-buttons a.theme-black:active,html:not(.watch-active-state) .theme-black .floating-button:active,html:not(.watch-active-state) .theme-black .speed-dial-buttons a:active{background:#333}.floating-button.theme-black i,.speed-dial-buttons a.theme-black i,.theme-black .floating-button i,.theme-black .speed-dial-buttons a i{color:inherit}.range-slider.theme-black input[type=range]::-webkit-slider-thumb:before,.theme-black .range-slider input[type=range]::-webkit-slider-thumb:before{background-color:#000}.range-slider.theme-black input[type=range]::-webkit-slider-thumb,.theme-black .range-slider input[type=range]::-webkit-slider-thumb{background-color:#000}.range-slider.theme-black input[type=range]::-ms-thumb,.theme-black .range-slider input[type=range]::-ms-thumb{background-color:#000}.range-slider.theme-black input[type=range]::-ms-fill-lower,.theme-black .range-slider input[type=range]::-ms-fill-lower{background-color:#000}.range-slider.theme-black input[type=range]::-moz-range-thumb,.theme-black .range-slider input[type=range]::-moz-range-thumb{background-color:#000}.badge.theme-black{background-color:#000;color:#fff}.color-red{color:#f44336}.list-block .item-link.color-red,.list-block .item-link.list-button.color-red,.tabbar a.active.color-red,a.color-red{color:#f44336}.label-switch input[type=checkbox]:checked+.checkbox.color-red,.label-switch.color-red input[type=checkbox]:checked+.checkbox{background-color:#f44336}.button.color-red:not(.button-fill),.color-red.buttons-row .button:not(.button-fill){color:#f44336!important}.button.button-fill.bg-red,.button.button-fill.color-red{background:#f44336!important;color:#fff}.button.button-fill.bg-red.active-state,.button.button-fill.color-red.active-state,html:not(.watch-active-state) .button.button-fill.bg-red:active,html:not(.watch-active-state) .button.button-fill.color-red:active{background:#D32F2F!important}.progressbar.bg-red,.progressbar.color-red{background-color:rgba(244,67,54,.5)}.progressbar.bg-red span,.progressbar.color-red span{background-color:#f44336}.progressbar-infinite.bg-red,.progressbar-infinite.color-red{background-color:rgba(244,67,54,.5)}.progressbar-infinite.bg-red:after,.progressbar-infinite.bg-red:before,.progressbar-infinite.color-red:after,.progressbar-infinite.color-red:before{background-color:#f44336}.color-red i.icon,i.icon.color-red{color:#f44336}.preloader.color-red svg circle,.preloader.preloader-red svg circle{stroke:#f44336}.preloader.color-red .preloader-inner-gap,.preloader.color-red .preloader-inner-half-circle,.preloader.preloader-red .preloader-inner-gap,.preloader.preloader-red .preloader-inner-half-circle{border-color:#f44336}.bg-red,.list-block .swipeout-actions-left a.bg-red,.list-block .swipeout-actions-right a.bg-red,a.bg-red{background-color:#f44336}.list-block .bg-red .item-link.active-state,.list-block .item-link.bg-red.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-red.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-red.active-state,.list-block .item-linka.bg-red.active-state,.list-block .list-block .swipeout-actions-left a.bg-red .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-red .item-link.active-state,.list-block a.bg-red .item-link.active-state,.list-block.bg-red .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-red .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-red .item-link.active-state,.list-blocka.bg-red .item-link.active-state,html:not(.watch-active-state) .list-block .bg-red .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-red:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-red:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-red:active,html:not(.watch-active-state) .list-block .item-linka.bg-red:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-red .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-red .item-link:active,html:not(.watch-active-state) .list-block a.bg-red .item-link:active,html:not(.watch-active-state) .list-block.bg-red .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-red .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-red .item-link:active,html:not(.watch-active-state) .list-blocka.bg-red .item-link:active{background:#D32F2F}.border-red{border-color:#f44336}.border-red:after,.border-red:before,.list-block .border-red.item-inner:after,.list-block .border-red.item-inner:before,.list-block ul.border-red:after,.list-block ul.border-red:before{background-color:#f44336}.floating-button.bg-red,.floating-button.color-red,.speed-dial-buttons a.bg-red,.speed-dial-buttons a.color-red{color:#fff;background:#f44336}.floating-button.bg-red.active-state,.floating-button.color-red.active-state,.speed-dial-buttons a.bg-red.active-state,.speed-dial-buttons a.color-red.active-state,html:not(.watch-active-state) .floating-button.bg-red:active,html:not(.watch-active-state) .floating-button.color-red:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-red:active,html:not(.watch-active-state) .speed-dial-buttons a.color-red:active{background:#D32F2F}.floating-button.bg-red i,.floating-button.color-red i,.speed-dial-buttons a.bg-red i,.speed-dial-buttons a.color-red i{color:inherit}.ripple-red .ripple-wave{background-color:rgba(244,67,54,.3)}.range-slider.color-red input[type=range]::-webkit-slider-thumb:before{background-color:#f44336}.range-slider.color-red input[type=range]::-webkit-slider-thumb{background-color:#f44336}.range-slider.color-red input[type=range]::-ms-thumb{background-color:#f44336}.range-slider.color-red input[type=range]::-ms-fill-lower{background-color:#f44336}.range-slider.color-red input[type=range]::-moz-range-thumb{background-color:#f44336}.badge.color-red{background-color:#f44336;color:#fff}.color-pink{color:#e91e63}.list-block .item-link.color-pink,.list-block .item-link.list-button.color-pink,.tabbar a.active.color-pink,a.color-pink{color:#e91e63}.label-switch input[type=checkbox]:checked+.checkbox.color-pink,.label-switch.color-pink input[type=checkbox]:checked+.checkbox{background-color:#e91e63}.button.color-pink:not(.button-fill),.color-pink.buttons-row .button:not(.button-fill){color:#e91e63!important}.button.button-fill.bg-pink,.button.button-fill.color-pink{background:#e91e63!important;color:#fff}.button.button-fill.bg-pink.active-state,.button.button-fill.color-pink.active-state,html:not(.watch-active-state) .button.button-fill.bg-pink:active,html:not(.watch-active-state) .button.button-fill.color-pink:active{background:#C2185B!important}.progressbar.bg-pink,.progressbar.color-pink{background-color:rgba(233,30,99,.5)}.progressbar.bg-pink span,.progressbar.color-pink span{background-color:#e91e63}.progressbar-infinite.bg-pink,.progressbar-infinite.color-pink{background-color:rgba(233,30,99,.5)}.progressbar-infinite.bg-pink:after,.progressbar-infinite.bg-pink:before,.progressbar-infinite.color-pink:after,.progressbar-infinite.color-pink:before{background-color:#e91e63}.color-pink i.icon,i.icon.color-pink{color:#e91e63}.preloader.color-pink svg circle,.preloader.preloader-pink svg circle{stroke:#e91e63}.preloader.color-pink .preloader-inner-gap,.preloader.color-pink .preloader-inner-half-circle,.preloader.preloader-pink .preloader-inner-gap,.preloader.preloader-pink .preloader-inner-half-circle{border-color:#e91e63}.bg-pink,.list-block .swipeout-actions-left a.bg-pink,.list-block .swipeout-actions-right a.bg-pink,a.bg-pink{background-color:#e91e63}.list-block .bg-pink .item-link.active-state,.list-block .item-link.bg-pink.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-pink.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-pink.active-state,.list-block .item-linka.bg-pink.active-state,.list-block .list-block .swipeout-actions-left a.bg-pink .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-pink .item-link.active-state,.list-block a.bg-pink .item-link.active-state,.list-block.bg-pink .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-pink .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-pink .item-link.active-state,.list-blocka.bg-pink .item-link.active-state,html:not(.watch-active-state) .list-block .bg-pink .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-pink:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-pink:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-pink:active,html:not(.watch-active-state) .list-block .item-linka.bg-pink:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-pink .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-pink .item-link:active,html:not(.watch-active-state) .list-block a.bg-pink .item-link:active,html:not(.watch-active-state) .list-block.bg-pink .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-pink .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-pink .item-link:active,html:not(.watch-active-state) .list-blocka.bg-pink .item-link:active{background:#C2185B}.border-pink{border-color:#e91e63}.border-pink:after,.border-pink:before,.list-block .border-pink.item-inner:after,.list-block .border-pink.item-inner:before,.list-block ul.border-pink:after,.list-block ul.border-pink:before{background-color:#e91e63}.floating-button.bg-pink,.floating-button.color-pink,.speed-dial-buttons a.bg-pink,.speed-dial-buttons a.color-pink{color:#fff;background:#e91e63}.floating-button.bg-pink.active-state,.floating-button.color-pink.active-state,.speed-dial-buttons a.bg-pink.active-state,.speed-dial-buttons a.color-pink.active-state,html:not(.watch-active-state) .floating-button.bg-pink:active,html:not(.watch-active-state) .floating-button.color-pink:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-pink:active,html:not(.watch-active-state) .speed-dial-buttons a.color-pink:active{background:#C2185B}.floating-button.bg-pink i,.floating-button.color-pink i,.speed-dial-buttons a.bg-pink i,.speed-dial-buttons a.color-pink i{color:inherit}.ripple-pink .ripple-wave{background-color:rgba(233,30,99,.3)}.range-slider.color-pink input[type=range]::-webkit-slider-thumb:before{background-color:#e91e63}.range-slider.color-pink input[type=range]::-webkit-slider-thumb{background-color:#e91e63}.range-slider.color-pink input[type=range]::-ms-thumb{background-color:#e91e63}.range-slider.color-pink input[type=range]::-ms-fill-lower{background-color:#e91e63}.range-slider.color-pink input[type=range]::-moz-range-thumb{background-color:#e91e63}.badge.color-pink{background-color:#e91e63;color:#fff}.color-purple{color:#9c27b0}.list-block .item-link.color-purple,.list-block .item-link.list-button.color-purple,.tabbar a.active.color-purple,a.color-purple{color:#9c27b0}.label-switch input[type=checkbox]:checked+.checkbox.color-purple,.label-switch.color-purple input[type=checkbox]:checked+.checkbox{background-color:#9c27b0}.button.color-purple:not(.button-fill),.color-purple.buttons-row .button:not(.button-fill){color:#9c27b0!important}.button.button-fill.bg-purple,.button.button-fill.color-purple{background:#9c27b0!important;color:#fff}.button.button-fill.bg-purple.active-state,.button.button-fill.color-purple.active-state,html:not(.watch-active-state) .button.button-fill.bg-purple:active,html:not(.watch-active-state) .button.button-fill.color-purple:active{background:#7B1FA2!important}.progressbar.bg-purple,.progressbar.color-purple{background-color:rgba(156,39,176,.5)}.progressbar.bg-purple span,.progressbar.color-purple span{background-color:#9c27b0}.progressbar-infinite.bg-purple,.progressbar-infinite.color-purple{background-color:rgba(156,39,176,.5)}.progressbar-infinite.bg-purple:after,.progressbar-infinite.bg-purple:before,.progressbar-infinite.color-purple:after,.progressbar-infinite.color-purple:before{background-color:#9c27b0}.color-purple i.icon,i.icon.color-purple{color:#9c27b0}.preloader.color-purple svg circle,.preloader.preloader-purple svg circle{stroke:#9c27b0}.preloader.color-purple .preloader-inner-gap,.preloader.color-purple .preloader-inner-half-circle,.preloader.preloader-purple .preloader-inner-gap,.preloader.preloader-purple .preloader-inner-half-circle{border-color:#9c27b0}.bg-purple,.list-block .swipeout-actions-left a.bg-purple,.list-block .swipeout-actions-right a.bg-purple,a.bg-purple{background-color:#9c27b0}.list-block .bg-purple .item-link.active-state,.list-block .item-link.bg-purple.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-purple.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-purple.active-state,.list-block .item-linka.bg-purple.active-state,.list-block .list-block .swipeout-actions-left a.bg-purple .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-purple .item-link.active-state,.list-block a.bg-purple .item-link.active-state,.list-block.bg-purple .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-purple .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-purple .item-link.active-state,.list-blocka.bg-purple .item-link.active-state,html:not(.watch-active-state) .list-block .bg-purple .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-purple:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-purple:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-purple:active,html:not(.watch-active-state) .list-block .item-linka.bg-purple:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-purple .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-purple .item-link:active,html:not(.watch-active-state) .list-block a.bg-purple .item-link:active,html:not(.watch-active-state) .list-block.bg-purple .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-purple .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-purple .item-link:active,html:not(.watch-active-state) .list-blocka.bg-purple .item-link:active{background:#7B1FA2}.border-purple{border-color:#9c27b0}.border-purple:after,.border-purple:before,.list-block .border-purple.item-inner:after,.list-block .border-purple.item-inner:before,.list-block ul.border-purple:after,.list-block ul.border-purple:before{background-color:#9c27b0}.floating-button.bg-purple,.floating-button.color-purple,.speed-dial-buttons a.bg-purple,.speed-dial-buttons a.color-purple{color:#fff;background:#9c27b0}.floating-button.bg-purple.active-state,.floating-button.color-purple.active-state,.speed-dial-buttons a.bg-purple.active-state,.speed-dial-buttons a.color-purple.active-state,html:not(.watch-active-state) .floating-button.bg-purple:active,html:not(.watch-active-state) .floating-button.color-purple:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-purple:active,html:not(.watch-active-state) .speed-dial-buttons a.color-purple:active{background:#7B1FA2}.floating-button.bg-purple i,.floating-button.color-purple i,.speed-dial-buttons a.bg-purple i,.speed-dial-buttons a.color-purple i{color:inherit}.ripple-purple .ripple-wave{background-color:rgba(156,39,176,.3)}.range-slider.color-purple input[type=range]::-webkit-slider-thumb:before{background-color:#9c27b0}.range-slider.color-purple input[type=range]::-webkit-slider-thumb{background-color:#9c27b0}.range-slider.color-purple input[type=range]::-ms-thumb{background-color:#9c27b0}.range-slider.color-purple input[type=range]::-ms-fill-lower{background-color:#9c27b0}.range-slider.color-purple input[type=range]::-moz-range-thumb{background-color:#9c27b0}.badge.color-purple{background-color:#9c27b0;color:#fff}.color-deeppurple{color:#673ab7}.list-block .item-link.color-deeppurple,.list-block .item-link.list-button.color-deeppurple,.tabbar a.active.color-deeppurple,a.color-deeppurple{color:#673ab7}.label-switch input[type=checkbox]:checked+.checkbox.color-deeppurple,.label-switch.color-deeppurple input[type=checkbox]:checked+.checkbox{background-color:#673ab7}.button.color-deeppurple:not(.button-fill),.color-deeppurple.buttons-row .button:not(.button-fill){color:#673ab7!important}.button.button-fill.bg-deeppurple,.button.button-fill.color-deeppurple{background:#673ab7!important;color:#fff}.button.button-fill.bg-deeppurple.active-state,.button.button-fill.color-deeppurple.active-state,html:not(.watch-active-state) .button.button-fill.bg-deeppurple:active,html:not(.watch-active-state) .button.button-fill.color-deeppurple:active{background:#512DA8!important}.progressbar.bg-deeppurple,.progressbar.color-deeppurple{background-color:rgba(103,58,183,.5)}.progressbar.bg-deeppurple span,.progressbar.color-deeppurple span{background-color:#673ab7}.progressbar-infinite.bg-deeppurple,.progressbar-infinite.color-deeppurple{background-color:rgba(103,58,183,.5)}.progressbar-infinite.bg-deeppurple:after,.progressbar-infinite.bg-deeppurple:before,.progressbar-infinite.color-deeppurple:after,.progressbar-infinite.color-deeppurple:before{background-color:#673ab7}.color-deeppurple i.icon,i.icon.color-deeppurple{color:#673ab7}.preloader.color-deeppurple svg circle,.preloader.preloader-deeppurple svg circle{stroke:#673ab7}.preloader.color-deeppurple .preloader-inner-gap,.preloader.color-deeppurple .preloader-inner-half-circle,.preloader.preloader-deeppurple .preloader-inner-gap,.preloader.preloader-deeppurple .preloader-inner-half-circle{border-color:#673ab7}.bg-deeppurple,.list-block .swipeout-actions-left a.bg-deeppurple,.list-block .swipeout-actions-right a.bg-deeppurple,a.bg-deeppurple{background-color:#673ab7}.list-block .bg-deeppurple .item-link.active-state,.list-block .item-link.bg-deeppurple.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-deeppurple.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-deeppurple.active-state,.list-block .item-linka.bg-deeppurple.active-state,.list-block .list-block .swipeout-actions-left a.bg-deeppurple .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-deeppurple .item-link.active-state,.list-block a.bg-deeppurple .item-link.active-state,.list-block.bg-deeppurple .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-deeppurple .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-deeppurple .item-link.active-state,.list-blocka.bg-deeppurple .item-link.active-state,html:not(.watch-active-state) .list-block .bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-deeppurple:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-deeppurple:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-deeppurple:active,html:not(.watch-active-state) .list-block .item-linka.bg-deeppurple:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-block a.bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-block.bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-deeppurple .item-link:active,html:not(.watch-active-state) .list-blocka.bg-deeppurple .item-link:active{background:#512DA8}.border-deeppurple{border-color:#673ab7}.border-deeppurple:after,.border-deeppurple:before,.list-block .border-deeppurple.item-inner:after,.list-block .border-deeppurple.item-inner:before,.list-block ul.border-deeppurple:after,.list-block ul.border-deeppurple:before{background-color:#673ab7}.floating-button.bg-deeppurple,.floating-button.color-deeppurple,.speed-dial-buttons a.bg-deeppurple,.speed-dial-buttons a.color-deeppurple{color:#fff;background:#673ab7}.floating-button.bg-deeppurple.active-state,.floating-button.color-deeppurple.active-state,.speed-dial-buttons a.bg-deeppurple.active-state,.speed-dial-buttons a.color-deeppurple.active-state,html:not(.watch-active-state) .floating-button.bg-deeppurple:active,html:not(.watch-active-state) .floating-button.color-deeppurple:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-deeppurple:active,html:not(.watch-active-state) .speed-dial-buttons a.color-deeppurple:active{background:#512DA8}.floating-button.bg-deeppurple i,.floating-button.color-deeppurple i,.speed-dial-buttons a.bg-deeppurple i,.speed-dial-buttons a.color-deeppurple i{color:inherit}.ripple-deeppurple .ripple-wave{background-color:rgba(103,58,183,.3)}.range-slider.color-deeppurple input[type=range]::-webkit-slider-thumb:before{background-color:#673ab7}.range-slider.color-deeppurple input[type=range]::-webkit-slider-thumb{background-color:#673ab7}.range-slider.color-deeppurple input[type=range]::-ms-thumb{background-color:#673ab7}.range-slider.color-deeppurple input[type=range]::-ms-fill-lower{background-color:#673ab7}.range-slider.color-deeppurple input[type=range]::-moz-range-thumb{background-color:#673ab7}.badge.color-deeppurple{background-color:#673ab7;color:#fff}.color-indigo{color:#3f51b5}.list-block .item-link.color-indigo,.list-block .item-link.list-button.color-indigo,.tabbar a.active.color-indigo,a.color-indigo{color:#3f51b5}.label-switch input[type=checkbox]:checked+.checkbox.color-indigo,.label-switch.color-indigo input[type=checkbox]:checked+.checkbox{background-color:#3f51b5}.button.color-indigo:not(.button-fill),.color-indigo.buttons-row .button:not(.button-fill){color:#3f51b5!important}.button.button-fill.bg-indigo,.button.button-fill.color-indigo{background:#3f51b5!important;color:#fff}.button.button-fill.bg-indigo.active-state,.button.button-fill.color-indigo.active-state,html:not(.watch-active-state) .button.button-fill.bg-indigo:active,html:not(.watch-active-state) .button.button-fill.color-indigo:active{background:#303F9F!important}.progressbar.bg-indigo,.progressbar.color-indigo{background-color:rgba(63,81,181,.5)}.progressbar.bg-indigo span,.progressbar.color-indigo span{background-color:#3f51b5}.progressbar-infinite.bg-indigo,.progressbar-infinite.color-indigo{background-color:rgba(63,81,181,.5)}.progressbar-infinite.bg-indigo:after,.progressbar-infinite.bg-indigo:before,.progressbar-infinite.color-indigo:after,.progressbar-infinite.color-indigo:before{background-color:#3f51b5}.color-indigo i.icon,i.icon.color-indigo{color:#3f51b5}.preloader.color-indigo svg circle,.preloader.preloader-indigo svg circle{stroke:#3f51b5}.preloader.color-indigo .preloader-inner-gap,.preloader.color-indigo .preloader-inner-half-circle,.preloader.preloader-indigo .preloader-inner-gap,.preloader.preloader-indigo .preloader-inner-half-circle{border-color:#3f51b5}.bg-indigo,.list-block .swipeout-actions-left a.bg-indigo,.list-block .swipeout-actions-right a.bg-indigo,a.bg-indigo{background-color:#3f51b5}.list-block .bg-indigo .item-link.active-state,.list-block .item-link.bg-indigo.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-indigo.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-indigo.active-state,.list-block .item-linka.bg-indigo.active-state,.list-block .list-block .swipeout-actions-left a.bg-indigo .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-indigo .item-link.active-state,.list-block a.bg-indigo .item-link.active-state,.list-block.bg-indigo .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-indigo .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-indigo .item-link.active-state,.list-blocka.bg-indigo .item-link.active-state,html:not(.watch-active-state) .list-block .bg-indigo .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-indigo:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-indigo:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-indigo:active,html:not(.watch-active-state) .list-block .item-linka.bg-indigo:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-indigo .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-indigo .item-link:active,html:not(.watch-active-state) .list-block a.bg-indigo .item-link:active,html:not(.watch-active-state) .list-block.bg-indigo .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-indigo .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-indigo .item-link:active,html:not(.watch-active-state) .list-blocka.bg-indigo .item-link:active{background:#303F9F}.border-indigo{border-color:#3f51b5}.border-indigo:after,.border-indigo:before,.list-block .border-indigo.item-inner:after,.list-block .border-indigo.item-inner:before,.list-block ul.border-indigo:after,.list-block ul.border-indigo:before{background-color:#3f51b5}.floating-button.bg-indigo,.floating-button.color-indigo,.speed-dial-buttons a.bg-indigo,.speed-dial-buttons a.color-indigo{color:#fff;background:#3f51b5}.floating-button.bg-indigo.active-state,.floating-button.color-indigo.active-state,.speed-dial-buttons a.bg-indigo.active-state,.speed-dial-buttons a.color-indigo.active-state,html:not(.watch-active-state) .floating-button.bg-indigo:active,html:not(.watch-active-state) .floating-button.color-indigo:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-indigo:active,html:not(.watch-active-state) .speed-dial-buttons a.color-indigo:active{background:#303F9F}.floating-button.bg-indigo i,.floating-button.color-indigo i,.speed-dial-buttons a.bg-indigo i,.speed-dial-buttons a.color-indigo i{color:inherit}.ripple-indigo .ripple-wave{background-color:rgba(63,81,181,.3)}.range-slider.color-indigo input[type=range]::-webkit-slider-thumb:before{background-color:#3f51b5}.range-slider.color-indigo input[type=range]::-webkit-slider-thumb{background-color:#3f51b5}.range-slider.color-indigo input[type=range]::-ms-thumb{background-color:#3f51b5}.range-slider.color-indigo input[type=range]::-ms-fill-lower{background-color:#3f51b5}.range-slider.color-indigo input[type=range]::-moz-range-thumb{background-color:#3f51b5}.badge.color-indigo{background-color:#3f51b5;color:#fff}.color-blue{color:#2196f3}.list-block .item-link.color-blue,.list-block .item-link.list-button.color-blue,.tabbar a.active.color-blue,a.color-blue{color:#2196f3}.label-switch input[type=checkbox]:checked+.checkbox.color-blue,.label-switch.color-blue input[type=checkbox]:checked+.checkbox{background-color:#2196f3}.button.color-blue:not(.button-fill),.color-blue.buttons-row .button:not(.button-fill){color:#2196f3!important}.button.button-fill.bg-blue,.button.button-fill.color-blue{background:#2196f3!important;color:#fff}.button.button-fill.bg-blue.active-state,.button.button-fill.color-blue.active-state,html:not(.watch-active-state) .button.button-fill.bg-blue:active,html:not(.watch-active-state) .button.button-fill.color-blue:active{background:#1976D2!important}.progressbar.bg-blue,.progressbar.color-blue{background-color:rgba(33,150,243,.5)}.progressbar.bg-blue span,.progressbar.color-blue span{background-color:#2196f3}.progressbar-infinite.bg-blue,.progressbar-infinite.color-blue{background-color:rgba(33,150,243,.5)}.progressbar-infinite.bg-blue:after,.progressbar-infinite.bg-blue:before,.progressbar-infinite.color-blue:after,.progressbar-infinite.color-blue:before{background-color:#2196f3}.color-blue i.icon,i.icon.color-blue{color:#2196f3}.preloader.color-blue svg circle,.preloader.preloader-blue svg circle{stroke:#2196f3}.preloader.color-blue .preloader-inner-gap,.preloader.color-blue .preloader-inner-half-circle,.preloader.preloader-blue .preloader-inner-gap,.preloader.preloader-blue .preloader-inner-half-circle{border-color:#2196f3}.bg-blue,.list-block .swipeout-actions-left a.bg-blue,.list-block .swipeout-actions-right a.bg-blue,a.bg-blue{background-color:#2196f3}.list-block .bg-blue .item-link.active-state,.list-block .item-link.bg-blue.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-blue.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-blue.active-state,.list-block .item-linka.bg-blue.active-state,.list-block .list-block .swipeout-actions-left a.bg-blue .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-blue .item-link.active-state,.list-block a.bg-blue .item-link.active-state,.list-block.bg-blue .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-blue .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-blue .item-link.active-state,.list-blocka.bg-blue .item-link.active-state,html:not(.watch-active-state) .list-block .bg-blue .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-blue:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-blue:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-blue:active,html:not(.watch-active-state) .list-block .item-linka.bg-blue:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-blue .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-blue .item-link:active,html:not(.watch-active-state) .list-block a.bg-blue .item-link:active,html:not(.watch-active-state) .list-block.bg-blue .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-blue .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-blue .item-link:active,html:not(.watch-active-state) .list-blocka.bg-blue .item-link:active{background:#1976D2}.border-blue{border-color:#2196f3}.border-blue:after,.border-blue:before,.list-block .border-blue.item-inner:after,.list-block .border-blue.item-inner:before,.list-block ul.border-blue:after,.list-block ul.border-blue:before{background-color:#2196f3}.floating-button.bg-blue,.floating-button.color-blue,.speed-dial-buttons a.bg-blue,.speed-dial-buttons a.color-blue{color:#fff;background:#2196f3}.floating-button.bg-blue.active-state,.floating-button.color-blue.active-state,.speed-dial-buttons a.bg-blue.active-state,.speed-dial-buttons a.color-blue.active-state,html:not(.watch-active-state) .floating-button.bg-blue:active,html:not(.watch-active-state) .floating-button.color-blue:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-blue:active,html:not(.watch-active-state) .speed-dial-buttons a.color-blue:active{background:#1976D2}.floating-button.bg-blue i,.floating-button.color-blue i,.speed-dial-buttons a.bg-blue i,.speed-dial-buttons a.color-blue i{color:inherit}.ripple-blue .ripple-wave{background-color:rgba(33,150,243,.3)}.range-slider.color-blue input[type=range]::-webkit-slider-thumb:before{background-color:#2196f3}.range-slider.color-blue input[type=range]::-webkit-slider-thumb{background-color:#2196f3}.range-slider.color-blue input[type=range]::-ms-thumb{background-color:#2196f3}.range-slider.color-blue input[type=range]::-ms-fill-lower{background-color:#2196f3}.range-slider.color-blue input[type=range]::-moz-range-thumb{background-color:#2196f3}.badge.color-blue{background-color:#2196f3;color:#fff}.color-lightblue{color:#03a9f4}.list-block .item-link.color-lightblue,.list-block .item-link.list-button.color-lightblue,.tabbar a.active.color-lightblue,a.color-lightblue{color:#03a9f4}.label-switch input[type=checkbox]:checked+.checkbox.color-lightblue,.label-switch.color-lightblue input[type=checkbox]:checked+.checkbox{background-color:#03a9f4}.button.color-lightblue:not(.button-fill),.color-lightblue.buttons-row .button:not(.button-fill){color:#03a9f4!important}.button.button-fill.bg-lightblue,.button.button-fill.color-lightblue{background:#03a9f4!important;color:#fff}.button.button-fill.bg-lightblue.active-state,.button.button-fill.color-lightblue.active-state,html:not(.watch-active-state) .button.button-fill.bg-lightblue:active,html:not(.watch-active-state) .button.button-fill.color-lightblue:active{background:#0288D1!important}.progressbar.bg-lightblue,.progressbar.color-lightblue{background-color:rgba(3,169,244,.5)}.progressbar.bg-lightblue span,.progressbar.color-lightblue span{background-color:#03a9f4}.progressbar-infinite.bg-lightblue,.progressbar-infinite.color-lightblue{background-color:rgba(3,169,244,.5)}.progressbar-infinite.bg-lightblue:after,.progressbar-infinite.bg-lightblue:before,.progressbar-infinite.color-lightblue:after,.progressbar-infinite.color-lightblue:before{background-color:#03a9f4}.color-lightblue i.icon,i.icon.color-lightblue{color:#03a9f4}.preloader.color-lightblue svg circle,.preloader.preloader-lightblue svg circle{stroke:#03a9f4}.preloader.color-lightblue .preloader-inner-gap,.preloader.color-lightblue .preloader-inner-half-circle,.preloader.preloader-lightblue .preloader-inner-gap,.preloader.preloader-lightblue .preloader-inner-half-circle{border-color:#03a9f4}.bg-lightblue,.list-block .swipeout-actions-left a.bg-lightblue,.list-block .swipeout-actions-right a.bg-lightblue,a.bg-lightblue{background-color:#03a9f4}.list-block .bg-lightblue .item-link.active-state,.list-block .item-link.bg-lightblue.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-lightblue.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-lightblue.active-state,.list-block .item-linka.bg-lightblue.active-state,.list-block .list-block .swipeout-actions-left a.bg-lightblue .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-lightblue .item-link.active-state,.list-block a.bg-lightblue .item-link.active-state,.list-block.bg-lightblue .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-lightblue .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-lightblue .item-link.active-state,.list-blocka.bg-lightblue .item-link.active-state,html:not(.watch-active-state) .list-block .bg-lightblue .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-lightblue:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lightblue:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lightblue:active,html:not(.watch-active-state) .list-block .item-linka.bg-lightblue:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lightblue .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lightblue .item-link:active,html:not(.watch-active-state) .list-block a.bg-lightblue .item-link:active,html:not(.watch-active-state) .list-block.bg-lightblue .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lightblue .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lightblue .item-link:active,html:not(.watch-active-state) .list-blocka.bg-lightblue .item-link:active{background:#0288D1}.border-lightblue{border-color:#03a9f4}.border-lightblue:after,.border-lightblue:before,.list-block .border-lightblue.item-inner:after,.list-block .border-lightblue.item-inner:before,.list-block ul.border-lightblue:after,.list-block ul.border-lightblue:before{background-color:#03a9f4}.floating-button.bg-lightblue,.floating-button.color-lightblue,.speed-dial-buttons a.bg-lightblue,.speed-dial-buttons a.color-lightblue{color:#fff;background:#03a9f4}.floating-button.bg-lightblue.active-state,.floating-button.color-lightblue.active-state,.speed-dial-buttons a.bg-lightblue.active-state,.speed-dial-buttons a.color-lightblue.active-state,html:not(.watch-active-state) .floating-button.bg-lightblue:active,html:not(.watch-active-state) .floating-button.color-lightblue:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-lightblue:active,html:not(.watch-active-state) .speed-dial-buttons a.color-lightblue:active{background:#0288D1}.floating-button.bg-lightblue i,.floating-button.color-lightblue i,.speed-dial-buttons a.bg-lightblue i,.speed-dial-buttons a.color-lightblue i{color:inherit}.ripple-lightblue .ripple-wave{background-color:rgba(3,169,244,.3)}.range-slider.color-lightblue input[type=range]::-webkit-slider-thumb:before{background-color:#03a9f4}.range-slider.color-lightblue input[type=range]::-webkit-slider-thumb{background-color:#03a9f4}.range-slider.color-lightblue input[type=range]::-ms-thumb{background-color:#03a9f4}.range-slider.color-lightblue input[type=range]::-ms-fill-lower{background-color:#03a9f4}.range-slider.color-lightblue input[type=range]::-moz-range-thumb{background-color:#03a9f4}.badge.color-lightblue{background-color:#03a9f4;color:#fff}.color-cyan{color:#00bcd4}.list-block .item-link.color-cyan,.list-block .item-link.list-button.color-cyan,.tabbar a.active.color-cyan,a.color-cyan{color:#00bcd4}.label-switch input[type=checkbox]:checked+.checkbox.color-cyan,.label-switch.color-cyan input[type=checkbox]:checked+.checkbox{background-color:#00bcd4}.button.color-cyan:not(.button-fill),.color-cyan.buttons-row .button:not(.button-fill){color:#00bcd4!important}.button.button-fill.bg-cyan,.button.button-fill.color-cyan{background:#00bcd4!important;color:#fff}.button.button-fill.bg-cyan.active-state,.button.button-fill.color-cyan.active-state,html:not(.watch-active-state) .button.button-fill.bg-cyan:active,html:not(.watch-active-state) .button.button-fill.color-cyan:active{background:#0097A7!important}.progressbar.bg-cyan,.progressbar.color-cyan{background-color:rgba(0,188,212,.5)}.progressbar.bg-cyan span,.progressbar.color-cyan span{background-color:#00bcd4}.progressbar-infinite.bg-cyan,.progressbar-infinite.color-cyan{background-color:rgba(0,188,212,.5)}.progressbar-infinite.bg-cyan:after,.progressbar-infinite.bg-cyan:before,.progressbar-infinite.color-cyan:after,.progressbar-infinite.color-cyan:before{background-color:#00bcd4}.color-cyan i.icon,i.icon.color-cyan{color:#00bcd4}.preloader.color-cyan svg circle,.preloader.preloader-cyan svg circle{stroke:#00bcd4}.preloader.color-cyan .preloader-inner-gap,.preloader.color-cyan .preloader-inner-half-circle,.preloader.preloader-cyan .preloader-inner-gap,.preloader.preloader-cyan .preloader-inner-half-circle{border-color:#00bcd4}.bg-cyan,.list-block .swipeout-actions-left a.bg-cyan,.list-block .swipeout-actions-right a.bg-cyan,a.bg-cyan{background-color:#00bcd4}.list-block .bg-cyan .item-link.active-state,.list-block .item-link.bg-cyan.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-cyan.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-cyan.active-state,.list-block .item-linka.bg-cyan.active-state,.list-block .list-block .swipeout-actions-left a.bg-cyan .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-cyan .item-link.active-state,.list-block a.bg-cyan .item-link.active-state,.list-block.bg-cyan .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-cyan .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-cyan .item-link.active-state,.list-blocka.bg-cyan .item-link.active-state,html:not(.watch-active-state) .list-block .bg-cyan .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-cyan:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-cyan:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-cyan:active,html:not(.watch-active-state) .list-block .item-linka.bg-cyan:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-cyan .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-cyan .item-link:active,html:not(.watch-active-state) .list-block a.bg-cyan .item-link:active,html:not(.watch-active-state) .list-block.bg-cyan .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-cyan .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-cyan .item-link:active,html:not(.watch-active-state) .list-blocka.bg-cyan .item-link:active{background:#0097A7}.border-cyan{border-color:#00bcd4}.border-cyan:after,.border-cyan:before,.list-block .border-cyan.item-inner:after,.list-block .border-cyan.item-inner:before,.list-block ul.border-cyan:after,.list-block ul.border-cyan:before{background-color:#00bcd4}.floating-button.bg-cyan,.floating-button.color-cyan,.speed-dial-buttons a.bg-cyan,.speed-dial-buttons a.color-cyan{color:#fff;background:#00bcd4}.floating-button.bg-cyan.active-state,.floating-button.color-cyan.active-state,.speed-dial-buttons a.bg-cyan.active-state,.speed-dial-buttons a.color-cyan.active-state,html:not(.watch-active-state) .floating-button.bg-cyan:active,html:not(.watch-active-state) .floating-button.color-cyan:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-cyan:active,html:not(.watch-active-state) .speed-dial-buttons a.color-cyan:active{background:#0097A7}.floating-button.bg-cyan i,.floating-button.color-cyan i,.speed-dial-buttons a.bg-cyan i,.speed-dial-buttons a.color-cyan i{color:inherit}.ripple-cyan .ripple-wave{background-color:rgba(0,188,212,.3)}.range-slider.color-cyan input[type=range]::-webkit-slider-thumb:before{background-color:#00bcd4}.range-slider.color-cyan input[type=range]::-webkit-slider-thumb{background-color:#00bcd4}.range-slider.color-cyan input[type=range]::-ms-thumb{background-color:#00bcd4}.range-slider.color-cyan input[type=range]::-ms-fill-lower{background-color:#00bcd4}.range-slider.color-cyan input[type=range]::-moz-range-thumb{background-color:#00bcd4}.badge.color-cyan{background-color:#00bcd4;color:#fff}.color-teal{color:#009688}.list-block .item-link.color-teal,.list-block .item-link.list-button.color-teal,.tabbar a.active.color-teal,a.color-teal{color:#009688}.label-switch input[type=checkbox]:checked+.checkbox.color-teal,.label-switch.color-teal input[type=checkbox]:checked+.checkbox{background-color:#009688}.button.color-teal:not(.button-fill),.color-teal.buttons-row .button:not(.button-fill){color:#009688!important}.button.button-fill.bg-teal,.button.button-fill.color-teal{background:#009688!important;color:#fff}.button.button-fill.bg-teal.active-state,.button.button-fill.color-teal.active-state,html:not(.watch-active-state) .button.button-fill.bg-teal:active,html:not(.watch-active-state) .button.button-fill.color-teal:active{background:#00897B!important}.progressbar.bg-teal,.progressbar.color-teal{background-color:rgba(0,150,136,.5)}.progressbar.bg-teal span,.progressbar.color-teal span{background-color:#009688}.progressbar-infinite.bg-teal,.progressbar-infinite.color-teal{background-color:rgba(0,150,136,.5)}.progressbar-infinite.bg-teal:after,.progressbar-infinite.bg-teal:before,.progressbar-infinite.color-teal:after,.progressbar-infinite.color-teal:before{background-color:#009688}.color-teal i.icon,i.icon.color-teal{color:#009688}.preloader.color-teal svg circle,.preloader.preloader-teal svg circle{stroke:#009688}.preloader.color-teal .preloader-inner-gap,.preloader.color-teal .preloader-inner-half-circle,.preloader.preloader-teal .preloader-inner-gap,.preloader.preloader-teal .preloader-inner-half-circle{border-color:#009688}.bg-teal,.list-block .swipeout-actions-left a.bg-teal,.list-block .swipeout-actions-right a.bg-teal,a.bg-teal{background-color:#009688}.list-block .bg-teal .item-link.active-state,.list-block .item-link.bg-teal.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-teal.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-teal.active-state,.list-block .item-linka.bg-teal.active-state,.list-block .list-block .swipeout-actions-left a.bg-teal .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-teal .item-link.active-state,.list-block a.bg-teal .item-link.active-state,.list-block.bg-teal .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-teal .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-teal .item-link.active-state,.list-blocka.bg-teal .item-link.active-state,html:not(.watch-active-state) .list-block .bg-teal .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-teal:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-teal:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-teal:active,html:not(.watch-active-state) .list-block .item-linka.bg-teal:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-teal .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-teal .item-link:active,html:not(.watch-active-state) .list-block a.bg-teal .item-link:active,html:not(.watch-active-state) .list-block.bg-teal .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-teal .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-teal .item-link:active,html:not(.watch-active-state) .list-blocka.bg-teal .item-link:active{background:#00897B}.border-teal{border-color:#009688}.border-teal:after,.border-teal:before,.list-block .border-teal.item-inner:after,.list-block .border-teal.item-inner:before,.list-block ul.border-teal:after,.list-block ul.border-teal:before{background-color:#009688}.floating-button.bg-teal,.floating-button.color-teal,.speed-dial-buttons a.bg-teal,.speed-dial-buttons a.color-teal{color:#fff;background:#009688}.floating-button.bg-teal.active-state,.floating-button.color-teal.active-state,.speed-dial-buttons a.bg-teal.active-state,.speed-dial-buttons a.color-teal.active-state,html:not(.watch-active-state) .floating-button.bg-teal:active,html:not(.watch-active-state) .floating-button.color-teal:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-teal:active,html:not(.watch-active-state) .speed-dial-buttons a.color-teal:active{background:#00897B}.floating-button.bg-teal i,.floating-button.color-teal i,.speed-dial-buttons a.bg-teal i,.speed-dial-buttons a.color-teal i{color:inherit}.ripple-teal .ripple-wave{background-color:rgba(0,150,136,.3)}.range-slider.color-teal input[type=range]::-webkit-slider-thumb:before{background-color:#009688}.range-slider.color-teal input[type=range]::-webkit-slider-thumb{background-color:#009688}.range-slider.color-teal input[type=range]::-ms-thumb{background-color:#009688}.range-slider.color-teal input[type=range]::-ms-fill-lower{background-color:#009688}.range-slider.color-teal input[type=range]::-moz-range-thumb{background-color:#009688}.badge.color-teal{background-color:#009688;color:#fff}.color-green{color:#4caf50}.list-block .item-link.color-green,.list-block .item-link.list-button.color-green,.tabbar a.active.color-green,a.color-green{color:#4caf50}.label-switch input[type=checkbox]:checked+.checkbox.color-green,.label-switch.color-green input[type=checkbox]:checked+.checkbox{background-color:#4caf50}.button.color-green:not(.button-fill),.color-green.buttons-row .button:not(.button-fill){color:#4caf50!important}.button.button-fill.bg-green,.button.button-fill.color-green{background:#4caf50!important;color:#fff}.button.button-fill.bg-green.active-state,.button.button-fill.color-green.active-state,html:not(.watch-active-state) .button.button-fill.bg-green:active,html:not(.watch-active-state) .button.button-fill.color-green:active{background:#388E3C!important}.progressbar.bg-green,.progressbar.color-green{background-color:rgba(76,175,80,.5)}.progressbar.bg-green span,.progressbar.color-green span{background-color:#4caf50}.progressbar-infinite.bg-green,.progressbar-infinite.color-green{background-color:rgba(76,175,80,.5)}.progressbar-infinite.bg-green:after,.progressbar-infinite.bg-green:before,.progressbar-infinite.color-green:after,.progressbar-infinite.color-green:before{background-color:#4caf50}.color-green i.icon,i.icon.color-green{color:#4caf50}.preloader.color-green svg circle,.preloader.preloader-green svg circle{stroke:#4caf50}.preloader.color-green .preloader-inner-gap,.preloader.color-green .preloader-inner-half-circle,.preloader.preloader-green .preloader-inner-gap,.preloader.preloader-green .preloader-inner-half-circle{border-color:#4caf50}.bg-green,.list-block .swipeout-actions-left a.bg-green,.list-block .swipeout-actions-right a.bg-green,a.bg-green{background-color:#4caf50}.list-block .bg-green .item-link.active-state,.list-block .item-link.bg-green.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-green.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-green.active-state,.list-block .item-linka.bg-green.active-state,.list-block .list-block .swipeout-actions-left a.bg-green .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-green .item-link.active-state,.list-block a.bg-green .item-link.active-state,.list-block.bg-green .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-green .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-green .item-link.active-state,.list-blocka.bg-green .item-link.active-state,html:not(.watch-active-state) .list-block .bg-green .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-green:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-green:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-green:active,html:not(.watch-active-state) .list-block .item-linka.bg-green:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-green .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-green .item-link:active,html:not(.watch-active-state) .list-block a.bg-green .item-link:active,html:not(.watch-active-state) .list-block.bg-green .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-green .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-green .item-link:active,html:not(.watch-active-state) .list-blocka.bg-green .item-link:active{background:#388E3C}.border-green{border-color:#4caf50}.border-green:after,.border-green:before,.list-block .border-green.item-inner:after,.list-block .border-green.item-inner:before,.list-block ul.border-green:after,.list-block ul.border-green:before{background-color:#4caf50}.floating-button.bg-green,.floating-button.color-green,.speed-dial-buttons a.bg-green,.speed-dial-buttons a.color-green{color:#fff;background:#4caf50}.floating-button.bg-green.active-state,.floating-button.color-green.active-state,.speed-dial-buttons a.bg-green.active-state,.speed-dial-buttons a.color-green.active-state,html:not(.watch-active-state) .floating-button.bg-green:active,html:not(.watch-active-state) .floating-button.color-green:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-green:active,html:not(.watch-active-state) .speed-dial-buttons a.color-green:active{background:#388E3C}.floating-button.bg-green i,.floating-button.color-green i,.speed-dial-buttons a.bg-green i,.speed-dial-buttons a.color-green i{color:inherit}.ripple-green .ripple-wave{background-color:rgba(76,175,80,.3)}.range-slider.color-green input[type=range]::-webkit-slider-thumb:before{background-color:#4caf50}.range-slider.color-green input[type=range]::-webkit-slider-thumb{background-color:#4caf50}.range-slider.color-green input[type=range]::-ms-thumb{background-color:#4caf50}.range-slider.color-green input[type=range]::-ms-fill-lower{background-color:#4caf50}.range-slider.color-green input[type=range]::-moz-range-thumb{background-color:#4caf50}.badge.color-green{background-color:#4caf50;color:#fff}.color-lightgreen{color:#8bc34a}.list-block .item-link.color-lightgreen,.list-block .item-link.list-button.color-lightgreen,.tabbar a.active.color-lightgreen,a.color-lightgreen{color:#8bc34a}.label-switch input[type=checkbox]:checked+.checkbox.color-lightgreen,.label-switch.color-lightgreen input[type=checkbox]:checked+.checkbox{background-color:#8bc34a}.button.color-lightgreen:not(.button-fill),.color-lightgreen.buttons-row .button:not(.button-fill){color:#8bc34a!important}.button.button-fill.bg-lightgreen,.button.button-fill.color-lightgreen{background:#8bc34a!important;color:#fff}.button.button-fill.bg-lightgreen.active-state,.button.button-fill.color-lightgreen.active-state,html:not(.watch-active-state) .button.button-fill.bg-lightgreen:active,html:not(.watch-active-state) .button.button-fill.color-lightgreen:active{background:#689F38!important}.progressbar.bg-lightgreen,.progressbar.color-lightgreen{background-color:rgba(139,195,74,.5)}.progressbar.bg-lightgreen span,.progressbar.color-lightgreen span{background-color:#8bc34a}.progressbar-infinite.bg-lightgreen,.progressbar-infinite.color-lightgreen{background-color:rgba(139,195,74,.5)}.progressbar-infinite.bg-lightgreen:after,.progressbar-infinite.bg-lightgreen:before,.progressbar-infinite.color-lightgreen:after,.progressbar-infinite.color-lightgreen:before{background-color:#8bc34a}.color-lightgreen i.icon,i.icon.color-lightgreen{color:#8bc34a}.preloader.color-lightgreen svg circle,.preloader.preloader-lightgreen svg circle{stroke:#8bc34a}.preloader.color-lightgreen .preloader-inner-gap,.preloader.color-lightgreen .preloader-inner-half-circle,.preloader.preloader-lightgreen .preloader-inner-gap,.preloader.preloader-lightgreen .preloader-inner-half-circle{border-color:#8bc34a}.bg-lightgreen,.list-block .swipeout-actions-left a.bg-lightgreen,.list-block .swipeout-actions-right a.bg-lightgreen,a.bg-lightgreen{background-color:#8bc34a}.list-block .bg-lightgreen .item-link.active-state,.list-block .item-link.bg-lightgreen.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-lightgreen.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-lightgreen.active-state,.list-block .item-linka.bg-lightgreen.active-state,.list-block .list-block .swipeout-actions-left a.bg-lightgreen .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-lightgreen .item-link.active-state,.list-block a.bg-lightgreen .item-link.active-state,.list-block.bg-lightgreen .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-lightgreen .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-lightgreen .item-link.active-state,.list-blocka.bg-lightgreen .item-link.active-state,html:not(.watch-active-state) .list-block .bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-lightgreen:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lightgreen:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lightgreen:active,html:not(.watch-active-state) .list-block .item-linka.bg-lightgreen:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-block a.bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-block.bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lightgreen .item-link:active,html:not(.watch-active-state) .list-blocka.bg-lightgreen .item-link:active{background:#689F38}.border-lightgreen{border-color:#8bc34a}.border-lightgreen:after,.border-lightgreen:before,.list-block .border-lightgreen.item-inner:after,.list-block .border-lightgreen.item-inner:before,.list-block ul.border-lightgreen:after,.list-block ul.border-lightgreen:before{background-color:#8bc34a}.floating-button.bg-lightgreen,.floating-button.color-lightgreen,.speed-dial-buttons a.bg-lightgreen,.speed-dial-buttons a.color-lightgreen{color:#fff;background:#8bc34a}.floating-button.bg-lightgreen.active-state,.floating-button.color-lightgreen.active-state,.speed-dial-buttons a.bg-lightgreen.active-state,.speed-dial-buttons a.color-lightgreen.active-state,html:not(.watch-active-state) .floating-button.bg-lightgreen:active,html:not(.watch-active-state) .floating-button.color-lightgreen:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-lightgreen:active,html:not(.watch-active-state) .speed-dial-buttons a.color-lightgreen:active{background:#689F38}.floating-button.bg-lightgreen i,.floating-button.color-lightgreen i,.speed-dial-buttons a.bg-lightgreen i,.speed-dial-buttons a.color-lightgreen i{color:inherit}.ripple-lightgreen .ripple-wave{background-color:rgba(139,195,74,.3)}.range-slider.color-lightgreen input[type=range]::-webkit-slider-thumb:before{background-color:#8bc34a}.range-slider.color-lightgreen input[type=range]::-webkit-slider-thumb{background-color:#8bc34a}.range-slider.color-lightgreen input[type=range]::-ms-thumb{background-color:#8bc34a}.range-slider.color-lightgreen input[type=range]::-ms-fill-lower{background-color:#8bc34a}.range-slider.color-lightgreen input[type=range]::-moz-range-thumb{background-color:#8bc34a}.badge.color-lightgreen{background-color:#8bc34a;color:#fff}.color-lime{color:#cddc39}.list-block .item-link.color-lime,.list-block .item-link.list-button.color-lime,.tabbar a.active.color-lime,a.color-lime{color:#cddc39}.label-switch input[type=checkbox]:checked+.checkbox.color-lime,.label-switch.color-lime input[type=checkbox]:checked+.checkbox{background-color:#cddc39}.button.color-lime:not(.button-fill),.color-lime.buttons-row .button:not(.button-fill){color:#cddc39!important}.button.button-fill.bg-lime,.button.button-fill.color-lime{background:#cddc39!important;color:#fff}.button.button-fill.bg-lime.active-state,.button.button-fill.color-lime.active-state,html:not(.watch-active-state) .button.button-fill.bg-lime:active,html:not(.watch-active-state) .button.button-fill.color-lime:active{background:#AFB42B!important}.progressbar.bg-lime,.progressbar.color-lime{background-color:rgba(205,220,57,.5)}.progressbar.bg-lime span,.progressbar.color-lime span{background-color:#cddc39}.progressbar-infinite.bg-lime,.progressbar-infinite.color-lime{background-color:rgba(205,220,57,.5)}.progressbar-infinite.bg-lime:after,.progressbar-infinite.bg-lime:before,.progressbar-infinite.color-lime:after,.progressbar-infinite.color-lime:before{background-color:#cddc39}.color-lime i.icon,i.icon.color-lime{color:#cddc39}.preloader.color-lime svg circle,.preloader.preloader-lime svg circle{stroke:#cddc39}.preloader.color-lime .preloader-inner-gap,.preloader.color-lime .preloader-inner-half-circle,.preloader.preloader-lime .preloader-inner-gap,.preloader.preloader-lime .preloader-inner-half-circle{border-color:#cddc39}.bg-lime,.list-block .swipeout-actions-left a.bg-lime,.list-block .swipeout-actions-right a.bg-lime,a.bg-lime{background-color:#cddc39}.list-block .bg-lime .item-link.active-state,.list-block .item-link.bg-lime.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-lime.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-lime.active-state,.list-block .item-linka.bg-lime.active-state,.list-block .list-block .swipeout-actions-left a.bg-lime .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-lime .item-link.active-state,.list-block a.bg-lime .item-link.active-state,.list-block.bg-lime .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-lime .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-lime .item-link.active-state,.list-blocka.bg-lime .item-link.active-state,html:not(.watch-active-state) .list-block .bg-lime .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-lime:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lime:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lime:active,html:not(.watch-active-state) .list-block .item-linka.bg-lime:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lime .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lime .item-link:active,html:not(.watch-active-state) .list-block a.bg-lime .item-link:active,html:not(.watch-active-state) .list-block.bg-lime .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lime .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lime .item-link:active,html:not(.watch-active-state) .list-blocka.bg-lime .item-link:active{background:#AFB42B}.border-lime{border-color:#cddc39}.border-lime:after,.border-lime:before,.list-block .border-lime.item-inner:after,.list-block .border-lime.item-inner:before,.list-block ul.border-lime:after,.list-block ul.border-lime:before{background-color:#cddc39}.floating-button.bg-lime,.floating-button.color-lime,.speed-dial-buttons a.bg-lime,.speed-dial-buttons a.color-lime{color:#fff;background:#cddc39}.floating-button.bg-lime.active-state,.floating-button.color-lime.active-state,.speed-dial-buttons a.bg-lime.active-state,.speed-dial-buttons a.color-lime.active-state,html:not(.watch-active-state) .floating-button.bg-lime:active,html:not(.watch-active-state) .floating-button.color-lime:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-lime:active,html:not(.watch-active-state) .speed-dial-buttons a.color-lime:active{background:#AFB42B}.floating-button.bg-lime i,.floating-button.color-lime i,.speed-dial-buttons a.bg-lime i,.speed-dial-buttons a.color-lime i{color:inherit}.ripple-lime .ripple-wave{background-color:rgba(205,220,57,.3)}.range-slider.color-lime input[type=range]::-webkit-slider-thumb:before{background-color:#cddc39}.range-slider.color-lime input[type=range]::-webkit-slider-thumb{background-color:#cddc39}.range-slider.color-lime input[type=range]::-ms-thumb{background-color:#cddc39}.range-slider.color-lime input[type=range]::-ms-fill-lower{background-color:#cddc39}.range-slider.color-lime input[type=range]::-moz-range-thumb{background-color:#cddc39}.badge.color-lime{background-color:#cddc39;color:#fff}.color-yellow{color:#ffeb3b}.list-block .item-link.color-yellow,.list-block .item-link.list-button.color-yellow,.tabbar a.active.color-yellow,a.color-yellow{color:#ffeb3b}.label-switch input[type=checkbox]:checked+.checkbox.color-yellow,.label-switch.color-yellow input[type=checkbox]:checked+.checkbox{background-color:#ffeb3b}.button.color-yellow:not(.button-fill),.color-yellow.buttons-row .button:not(.button-fill){color:#ffeb3b!important}.button.button-fill.bg-yellow,.button.button-fill.color-yellow{background:#ffeb3b!important;color:#fff}.button.button-fill.bg-yellow.active-state,.button.button-fill.color-yellow.active-state,html:not(.watch-active-state) .button.button-fill.bg-yellow:active,html:not(.watch-active-state) .button.button-fill.color-yellow:active{background:#FBC02D!important}.progressbar.bg-yellow,.progressbar.color-yellow{background-color:rgba(255,235,59,.5)}.progressbar.bg-yellow span,.progressbar.color-yellow span{background-color:#ffeb3b}.progressbar-infinite.bg-yellow,.progressbar-infinite.color-yellow{background-color:rgba(255,235,59,.5)}.progressbar-infinite.bg-yellow:after,.progressbar-infinite.bg-yellow:before,.progressbar-infinite.color-yellow:after,.progressbar-infinite.color-yellow:before{background-color:#ffeb3b}.color-yellow i.icon,i.icon.color-yellow{color:#ffeb3b}.preloader.color-yellow svg circle,.preloader.preloader-yellow svg circle{stroke:#ffeb3b}.preloader.color-yellow .preloader-inner-gap,.preloader.color-yellow .preloader-inner-half-circle,.preloader.preloader-yellow .preloader-inner-gap,.preloader.preloader-yellow .preloader-inner-half-circle{border-color:#ffeb3b}.bg-yellow,.list-block .swipeout-actions-left a.bg-yellow,.list-block .swipeout-actions-right a.bg-yellow,a.bg-yellow{background-color:#ffeb3b}.list-block .bg-yellow .item-link.active-state,.list-block .item-link.bg-yellow.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-yellow.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-yellow.active-state,.list-block .item-linka.bg-yellow.active-state,.list-block .list-block .swipeout-actions-left a.bg-yellow .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-yellow .item-link.active-state,.list-block a.bg-yellow .item-link.active-state,.list-block.bg-yellow .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-yellow .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-yellow .item-link.active-state,.list-blocka.bg-yellow .item-link.active-state,html:not(.watch-active-state) .list-block .bg-yellow .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-yellow:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-yellow:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-yellow:active,html:not(.watch-active-state) .list-block .item-linka.bg-yellow:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-yellow .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-yellow .item-link:active,html:not(.watch-active-state) .list-block a.bg-yellow .item-link:active,html:not(.watch-active-state) .list-block.bg-yellow .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-yellow .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-yellow .item-link:active,html:not(.watch-active-state) .list-blocka.bg-yellow .item-link:active{background:#FBC02D}.border-yellow{border-color:#ffeb3b}.border-yellow:after,.border-yellow:before,.list-block .border-yellow.item-inner:after,.list-block .border-yellow.item-inner:before,.list-block ul.border-yellow:after,.list-block ul.border-yellow:before{background-color:#ffeb3b}.floating-button.bg-yellow,.floating-button.color-yellow,.speed-dial-buttons a.bg-yellow,.speed-dial-buttons a.color-yellow{color:#fff;background:#ffeb3b}.floating-button.bg-yellow.active-state,.floating-button.color-yellow.active-state,.speed-dial-buttons a.bg-yellow.active-state,.speed-dial-buttons a.color-yellow.active-state,html:not(.watch-active-state) .floating-button.bg-yellow:active,html:not(.watch-active-state) .floating-button.color-yellow:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-yellow:active,html:not(.watch-active-state) .speed-dial-buttons a.color-yellow:active{background:#FBC02D}.floating-button.bg-yellow i,.floating-button.color-yellow i,.speed-dial-buttons a.bg-yellow i,.speed-dial-buttons a.color-yellow i{color:inherit}.ripple-yellow .ripple-wave{background-color:rgba(255,235,59,.3)}.range-slider.color-yellow input[type=range]::-webkit-slider-thumb:before{background-color:#ffeb3b}.range-slider.color-yellow input[type=range]::-webkit-slider-thumb{background-color:#ffeb3b}.range-slider.color-yellow input[type=range]::-ms-thumb{background-color:#ffeb3b}.range-slider.color-yellow input[type=range]::-ms-fill-lower{background-color:#ffeb3b}.range-slider.color-yellow input[type=range]::-moz-range-thumb{background-color:#ffeb3b}.badge.color-yellow{background-color:#ffeb3b;color:#fff}.color-amber{color:#ffc107}.list-block .item-link.color-amber,.list-block .item-link.list-button.color-amber,.tabbar a.active.color-amber,a.color-amber{color:#ffc107}.label-switch input[type=checkbox]:checked+.checkbox.color-amber,.label-switch.color-amber input[type=checkbox]:checked+.checkbox{background-color:#ffc107}.button.color-amber:not(.button-fill),.color-amber.buttons-row .button:not(.button-fill){color:#ffc107!important}.button.button-fill.bg-amber,.button.button-fill.color-amber{background:#ffc107!important;color:#fff}.button.button-fill.bg-amber.active-state,.button.button-fill.color-amber.active-state,html:not(.watch-active-state) .button.button-fill.bg-amber:active,html:not(.watch-active-state) .button.button-fill.color-amber:active{background:#FFA000!important}.progressbar.bg-amber,.progressbar.color-amber{background-color:rgba(255,193,7,.5)}.progressbar.bg-amber span,.progressbar.color-amber span{background-color:#ffc107}.progressbar-infinite.bg-amber,.progressbar-infinite.color-amber{background-color:rgba(255,193,7,.5)}.progressbar-infinite.bg-amber:after,.progressbar-infinite.bg-amber:before,.progressbar-infinite.color-amber:after,.progressbar-infinite.color-amber:before{background-color:#ffc107}.color-amber i.icon,i.icon.color-amber{color:#ffc107}.preloader.color-amber svg circle,.preloader.preloader-amber svg circle{stroke:#ffc107}.preloader.color-amber .preloader-inner-gap,.preloader.color-amber .preloader-inner-half-circle,.preloader.preloader-amber .preloader-inner-gap,.preloader.preloader-amber .preloader-inner-half-circle{border-color:#ffc107}.bg-amber,.list-block .swipeout-actions-left a.bg-amber,.list-block .swipeout-actions-right a.bg-amber,a.bg-amber{background-color:#ffc107}.list-block .bg-amber .item-link.active-state,.list-block .item-link.bg-amber.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-amber.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-amber.active-state,.list-block .item-linka.bg-amber.active-state,.list-block .list-block .swipeout-actions-left a.bg-amber .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-amber .item-link.active-state,.list-block a.bg-amber .item-link.active-state,.list-block.bg-amber .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-amber .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-amber .item-link.active-state,.list-blocka.bg-amber .item-link.active-state,html:not(.watch-active-state) .list-block .bg-amber .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-amber:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-amber:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-amber:active,html:not(.watch-active-state) .list-block .item-linka.bg-amber:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-amber .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-amber .item-link:active,html:not(.watch-active-state) .list-block a.bg-amber .item-link:active,html:not(.watch-active-state) .list-block.bg-amber .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-amber .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-amber .item-link:active,html:not(.watch-active-state) .list-blocka.bg-amber .item-link:active{background:#FFA000}.border-amber{border-color:#ffc107}.border-amber:after,.border-amber:before,.list-block .border-amber.item-inner:after,.list-block .border-amber.item-inner:before,.list-block ul.border-amber:after,.list-block ul.border-amber:before{background-color:#ffc107}.floating-button.bg-amber,.floating-button.color-amber,.speed-dial-buttons a.bg-amber,.speed-dial-buttons a.color-amber{color:#fff;background:#ffc107}.floating-button.bg-amber.active-state,.floating-button.color-amber.active-state,.speed-dial-buttons a.bg-amber.active-state,.speed-dial-buttons a.color-amber.active-state,html:not(.watch-active-state) .floating-button.bg-amber:active,html:not(.watch-active-state) .floating-button.color-amber:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-amber:active,html:not(.watch-active-state) .speed-dial-buttons a.color-amber:active{background:#FFA000}.floating-button.bg-amber i,.floating-button.color-amber i,.speed-dial-buttons a.bg-amber i,.speed-dial-buttons a.color-amber i{color:inherit}.ripple-amber .ripple-wave{background-color:rgba(255,193,7,.3)}.range-slider.color-amber input[type=range]::-webkit-slider-thumb:before{background-color:#ffc107}.range-slider.color-amber input[type=range]::-webkit-slider-thumb{background-color:#ffc107}.range-slider.color-amber input[type=range]::-ms-thumb{background-color:#ffc107}.range-slider.color-amber input[type=range]::-ms-fill-lower{background-color:#ffc107}.range-slider.color-amber input[type=range]::-moz-range-thumb{background-color:#ffc107}.badge.color-amber{background-color:#ffc107;color:#fff}.color-orange{color:#ff9800}.list-block .item-link.color-orange,.list-block .item-link.list-button.color-orange,.tabbar a.active.color-orange,a.color-orange{color:#ff9800}.label-switch input[type=checkbox]:checked+.checkbox.color-orange,.label-switch.color-orange input[type=checkbox]:checked+.checkbox{background-color:#ff9800}.button.color-orange:not(.button-fill),.color-orange.buttons-row .button:not(.button-fill){color:#ff9800!important}.button.button-fill.bg-orange,.button.button-fill.color-orange{background:#ff9800!important;color:#fff}.button.button-fill.bg-orange.active-state,.button.button-fill.color-orange.active-state,html:not(.watch-active-state) .button.button-fill.bg-orange:active,html:not(.watch-active-state) .button.button-fill.color-orange:active{background:#F57C00!important}.progressbar.bg-orange,.progressbar.color-orange{background-color:rgba(255,152,0,.5)}.progressbar.bg-orange span,.progressbar.color-orange span{background-color:#ff9800}.progressbar-infinite.bg-orange,.progressbar-infinite.color-orange{background-color:rgba(255,152,0,.5)}.progressbar-infinite.bg-orange:after,.progressbar-infinite.bg-orange:before,.progressbar-infinite.color-orange:after,.progressbar-infinite.color-orange:before{background-color:#ff9800}.color-orange i.icon,i.icon.color-orange{color:#ff9800}.preloader.color-orange svg circle,.preloader.preloader-orange svg circle{stroke:#ff9800}.preloader.color-orange .preloader-inner-gap,.preloader.color-orange .preloader-inner-half-circle,.preloader.preloader-orange .preloader-inner-gap,.preloader.preloader-orange .preloader-inner-half-circle{border-color:#ff9800}.bg-orange,.list-block .swipeout-actions-left a.bg-orange,.list-block .swipeout-actions-right a.bg-orange,a.bg-orange{background-color:#ff9800}.list-block .bg-orange .item-link.active-state,.list-block .item-link.bg-orange.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-orange.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-orange.active-state,.list-block .item-linka.bg-orange.active-state,.list-block .list-block .swipeout-actions-left a.bg-orange .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-orange .item-link.active-state,.list-block a.bg-orange .item-link.active-state,.list-block.bg-orange .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-orange .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-orange .item-link.active-state,.list-blocka.bg-orange .item-link.active-state,html:not(.watch-active-state) .list-block .bg-orange .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-orange:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-orange:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-orange:active,html:not(.watch-active-state) .list-block .item-linka.bg-orange:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-orange .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-orange .item-link:active,html:not(.watch-active-state) .list-block a.bg-orange .item-link:active,html:not(.watch-active-state) .list-block.bg-orange .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-orange .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-orange .item-link:active,html:not(.watch-active-state) .list-blocka.bg-orange .item-link:active{background:#F57C00}.border-orange{border-color:#ff9800}.border-orange:after,.border-orange:before,.list-block .border-orange.item-inner:after,.list-block .border-orange.item-inner:before,.list-block ul.border-orange:after,.list-block ul.border-orange:before{background-color:#ff9800}.floating-button.bg-orange,.floating-button.color-orange,.speed-dial-buttons a.bg-orange,.speed-dial-buttons a.color-orange{color:#fff;background:#ff9800}.floating-button.bg-orange.active-state,.floating-button.color-orange.active-state,.speed-dial-buttons a.bg-orange.active-state,.speed-dial-buttons a.color-orange.active-state,html:not(.watch-active-state) .floating-button.bg-orange:active,html:not(.watch-active-state) .floating-button.color-orange:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-orange:active,html:not(.watch-active-state) .speed-dial-buttons a.color-orange:active{background:#F57C00}.floating-button.bg-orange i,.floating-button.color-orange i,.speed-dial-buttons a.bg-orange i,.speed-dial-buttons a.color-orange i{color:inherit}.ripple-orange .ripple-wave{background-color:rgba(255,152,0,.3)}.range-slider.color-orange input[type=range]::-webkit-slider-thumb:before{background-color:#ff9800}.range-slider.color-orange input[type=range]::-webkit-slider-thumb{background-color:#ff9800}.range-slider.color-orange input[type=range]::-ms-thumb{background-color:#ff9800}.range-slider.color-orange input[type=range]::-ms-fill-lower{background-color:#ff9800}.range-slider.color-orange input[type=range]::-moz-range-thumb{background-color:#ff9800}.badge.color-orange{background-color:#ff9800;color:#fff}.color-deeporange{color:#ff5722}.list-block .item-link.color-deeporange,.list-block .item-link.list-button.color-deeporange,.tabbar a.active.color-deeporange,a.color-deeporange{color:#ff5722}.label-switch input[type=checkbox]:checked+.checkbox.color-deeporange,.label-switch.color-deeporange input[type=checkbox]:checked+.checkbox{background-color:#ff5722}.button.color-deeporange:not(.button-fill),.color-deeporange.buttons-row .button:not(.button-fill){color:#ff5722!important}.button.button-fill.bg-deeporange,.button.button-fill.color-deeporange{background:#ff5722!important;color:#fff}.button.button-fill.bg-deeporange.active-state,.button.button-fill.color-deeporange.active-state,html:not(.watch-active-state) .button.button-fill.bg-deeporange:active,html:not(.watch-active-state) .button.button-fill.color-deeporange:active{background:#E64A19!important}.progressbar.bg-deeporange,.progressbar.color-deeporange{background-color:rgba(255,87,34,.5)}.progressbar.bg-deeporange span,.progressbar.color-deeporange span{background-color:#ff5722}.progressbar-infinite.bg-deeporange,.progressbar-infinite.color-deeporange{background-color:rgba(255,87,34,.5)}.progressbar-infinite.bg-deeporange:after,.progressbar-infinite.bg-deeporange:before,.progressbar-infinite.color-deeporange:after,.progressbar-infinite.color-deeporange:before{background-color:#ff5722}.color-deeporange i.icon,i.icon.color-deeporange{color:#ff5722}.preloader.color-deeporange svg circle,.preloader.preloader-deeporange svg circle{stroke:#ff5722}.preloader.color-deeporange .preloader-inner-gap,.preloader.color-deeporange .preloader-inner-half-circle,.preloader.preloader-deeporange .preloader-inner-gap,.preloader.preloader-deeporange .preloader-inner-half-circle{border-color:#ff5722}.bg-deeporange,.list-block .swipeout-actions-left a.bg-deeporange,.list-block .swipeout-actions-right a.bg-deeporange,a.bg-deeporange{background-color:#ff5722}.list-block .bg-deeporange .item-link.active-state,.list-block .item-link.bg-deeporange.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-deeporange.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-deeporange.active-state,.list-block .item-linka.bg-deeporange.active-state,.list-block .list-block .swipeout-actions-left a.bg-deeporange .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-deeporange .item-link.active-state,.list-block a.bg-deeporange .item-link.active-state,.list-block.bg-deeporange .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-deeporange .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-deeporange .item-link.active-state,.list-blocka.bg-deeporange .item-link.active-state,html:not(.watch-active-state) .list-block .bg-deeporange .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-deeporange:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-deeporange:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-deeporange:active,html:not(.watch-active-state) .list-block .item-linka.bg-deeporange:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-deeporange .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-deeporange .item-link:active,html:not(.watch-active-state) .list-block a.bg-deeporange .item-link:active,html:not(.watch-active-state) .list-block.bg-deeporange .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-deeporange .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-deeporange .item-link:active,html:not(.watch-active-state) .list-blocka.bg-deeporange .item-link:active{background:#E64A19}.border-deeporange{border-color:#ff5722}.border-deeporange:after,.border-deeporange:before,.list-block .border-deeporange.item-inner:after,.list-block .border-deeporange.item-inner:before,.list-block ul.border-deeporange:after,.list-block ul.border-deeporange:before{background-color:#ff5722}.floating-button.bg-deeporange,.floating-button.color-deeporange,.speed-dial-buttons a.bg-deeporange,.speed-dial-buttons a.color-deeporange{color:#fff;background:#ff5722}.floating-button.bg-deeporange.active-state,.floating-button.color-deeporange.active-state,.speed-dial-buttons a.bg-deeporange.active-state,.speed-dial-buttons a.color-deeporange.active-state,html:not(.watch-active-state) .floating-button.bg-deeporange:active,html:not(.watch-active-state) .floating-button.color-deeporange:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-deeporange:active,html:not(.watch-active-state) .speed-dial-buttons a.color-deeporange:active{background:#E64A19}.floating-button.bg-deeporange i,.floating-button.color-deeporange i,.speed-dial-buttons a.bg-deeporange i,.speed-dial-buttons a.color-deeporange i{color:inherit}.ripple-deeporange .ripple-wave{background-color:rgba(255,87,34,.3)}.range-slider.color-deeporange input[type=range]::-webkit-slider-thumb:before{background-color:#ff5722}.range-slider.color-deeporange input[type=range]::-webkit-slider-thumb{background-color:#ff5722}.range-slider.color-deeporange input[type=range]::-ms-thumb{background-color:#ff5722}.range-slider.color-deeporange input[type=range]::-ms-fill-lower{background-color:#ff5722}.range-slider.color-deeporange input[type=range]::-moz-range-thumb{background-color:#ff5722}.badge.color-deeporange{background-color:#ff5722;color:#fff}.color-brown{color:#795548}.list-block .item-link.color-brown,.list-block .item-link.list-button.color-brown,.tabbar a.active.color-brown,a.color-brown{color:#795548}.label-switch input[type=checkbox]:checked+.checkbox.color-brown,.label-switch.color-brown input[type=checkbox]:checked+.checkbox{background-color:#795548}.button.color-brown:not(.button-fill),.color-brown.buttons-row .button:not(.button-fill){color:#795548!important}.button.button-fill.bg-brown,.button.button-fill.color-brown{background:#795548!important;color:#fff}.button.button-fill.bg-brown.active-state,.button.button-fill.color-brown.active-state,html:not(.watch-active-state) .button.button-fill.bg-brown:active,html:not(.watch-active-state) .button.button-fill.color-brown:active{background:#5D4037!important}.progressbar.bg-brown,.progressbar.color-brown{background-color:rgba(121,85,72,.5)}.progressbar.bg-brown span,.progressbar.color-brown span{background-color:#795548}.progressbar-infinite.bg-brown,.progressbar-infinite.color-brown{background-color:rgba(121,85,72,.5)}.progressbar-infinite.bg-brown:after,.progressbar-infinite.bg-brown:before,.progressbar-infinite.color-brown:after,.progressbar-infinite.color-brown:before{background-color:#795548}.color-brown i.icon,i.icon.color-brown{color:#795548}.preloader.color-brown svg circle,.preloader.preloader-brown svg circle{stroke:#795548}.preloader.color-brown .preloader-inner-gap,.preloader.color-brown .preloader-inner-half-circle,.preloader.preloader-brown .preloader-inner-gap,.preloader.preloader-brown .preloader-inner-half-circle{border-color:#795548}.bg-brown,.list-block .swipeout-actions-left a.bg-brown,.list-block .swipeout-actions-right a.bg-brown,a.bg-brown{background-color:#795548}.list-block .bg-brown .item-link.active-state,.list-block .item-link.bg-brown.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-brown.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-brown.active-state,.list-block .item-linka.bg-brown.active-state,.list-block .list-block .swipeout-actions-left a.bg-brown .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-brown .item-link.active-state,.list-block a.bg-brown .item-link.active-state,.list-block.bg-brown .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-brown .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-brown .item-link.active-state,.list-blocka.bg-brown .item-link.active-state,html:not(.watch-active-state) .list-block .bg-brown .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-brown:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-brown:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-brown:active,html:not(.watch-active-state) .list-block .item-linka.bg-brown:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-brown .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-brown .item-link:active,html:not(.watch-active-state) .list-block a.bg-brown .item-link:active,html:not(.watch-active-state) .list-block.bg-brown .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-brown .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-brown .item-link:active,html:not(.watch-active-state) .list-blocka.bg-brown .item-link:active{background:#5D4037}.border-brown{border-color:#795548}.border-brown:after,.border-brown:before,.list-block .border-brown.item-inner:after,.list-block .border-brown.item-inner:before,.list-block ul.border-brown:after,.list-block ul.border-brown:before{background-color:#795548}.floating-button.bg-brown,.floating-button.color-brown,.speed-dial-buttons a.bg-brown,.speed-dial-buttons a.color-brown{color:#fff;background:#795548}.floating-button.bg-brown.active-state,.floating-button.color-brown.active-state,.speed-dial-buttons a.bg-brown.active-state,.speed-dial-buttons a.color-brown.active-state,html:not(.watch-active-state) .floating-button.bg-brown:active,html:not(.watch-active-state) .floating-button.color-brown:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-brown:active,html:not(.watch-active-state) .speed-dial-buttons a.color-brown:active{background:#5D4037}.floating-button.bg-brown i,.floating-button.color-brown i,.speed-dial-buttons a.bg-brown i,.speed-dial-buttons a.color-brown i{color:inherit}.ripple-brown .ripple-wave{background-color:rgba(121,85,72,.3)}.range-slider.color-brown input[type=range]::-webkit-slider-thumb:before{background-color:#795548}.range-slider.color-brown input[type=range]::-webkit-slider-thumb{background-color:#795548}.range-slider.color-brown input[type=range]::-ms-thumb{background-color:#795548}.range-slider.color-brown input[type=range]::-ms-fill-lower{background-color:#795548}.range-slider.color-brown input[type=range]::-moz-range-thumb{background-color:#795548}.badge.color-brown{background-color:#795548;color:#fff}.color-gray{color:#9e9e9e}.list-block .item-link.color-gray,.list-block .item-link.list-button.color-gray,.tabbar a.active.color-gray,a.color-gray{color:#9e9e9e}.label-switch input[type=checkbox]:checked+.checkbox.color-gray,.label-switch.color-gray input[type=checkbox]:checked+.checkbox{background-color:#9e9e9e}.button.color-gray:not(.button-fill),.color-gray.buttons-row .button:not(.button-fill){color:#9e9e9e!important}.button.button-fill.bg-gray,.button.button-fill.color-gray{background:#9e9e9e!important;color:#fff}.button.button-fill.bg-gray.active-state,.button.button-fill.color-gray.active-state,html:not(.watch-active-state) .button.button-fill.bg-gray:active,html:not(.watch-active-state) .button.button-fill.color-gray:active{background:#616161!important}.progressbar.bg-gray,.progressbar.color-gray{background-color:rgba(158,158,158,.5)}.progressbar.bg-gray span,.progressbar.color-gray span{background-color:#9e9e9e}.progressbar-infinite.bg-gray,.progressbar-infinite.color-gray{background-color:rgba(158,158,158,.5)}.progressbar-infinite.bg-gray:after,.progressbar-infinite.bg-gray:before,.progressbar-infinite.color-gray:after,.progressbar-infinite.color-gray:before{background-color:#9e9e9e}.color-gray i.icon,i.icon.color-gray{color:#9e9e9e}.preloader.color-gray svg circle,.preloader.preloader-gray svg circle{stroke:#9e9e9e}.preloader.color-gray .preloader-inner-gap,.preloader.color-gray .preloader-inner-half-circle,.preloader.preloader-gray .preloader-inner-gap,.preloader.preloader-gray .preloader-inner-half-circle{border-color:#9e9e9e}.bg-gray,.list-block .swipeout-actions-left a.bg-gray,.list-block .swipeout-actions-right a.bg-gray,a.bg-gray{background-color:#9e9e9e}.list-block .bg-gray .item-link.active-state,.list-block .item-link.bg-gray.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-gray.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-gray.active-state,.list-block .item-linka.bg-gray.active-state,.list-block .list-block .swipeout-actions-left a.bg-gray .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-gray .item-link.active-state,.list-block a.bg-gray .item-link.active-state,.list-block.bg-gray .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-gray .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-gray .item-link.active-state,.list-blocka.bg-gray .item-link.active-state,html:not(.watch-active-state) .list-block .bg-gray .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-gray:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-gray:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-gray:active,html:not(.watch-active-state) .list-block .item-linka.bg-gray:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-gray .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-gray .item-link:active,html:not(.watch-active-state) .list-block a.bg-gray .item-link:active,html:not(.watch-active-state) .list-block.bg-gray .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-gray .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-gray .item-link:active,html:not(.watch-active-state) .list-blocka.bg-gray .item-link:active{background:#616161}.border-gray{border-color:#9e9e9e}.border-gray:after,.border-gray:before,.list-block .border-gray.item-inner:after,.list-block .border-gray.item-inner:before,.list-block ul.border-gray:after,.list-block ul.border-gray:before{background-color:#9e9e9e}.floating-button.bg-gray,.floating-button.color-gray,.speed-dial-buttons a.bg-gray,.speed-dial-buttons a.color-gray{color:#fff;background:#9e9e9e}.floating-button.bg-gray.active-state,.floating-button.color-gray.active-state,.speed-dial-buttons a.bg-gray.active-state,.speed-dial-buttons a.color-gray.active-state,html:not(.watch-active-state) .floating-button.bg-gray:active,html:not(.watch-active-state) .floating-button.color-gray:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-gray:active,html:not(.watch-active-state) .speed-dial-buttons a.color-gray:active{background:#616161}.floating-button.bg-gray i,.floating-button.color-gray i,.speed-dial-buttons a.bg-gray i,.speed-dial-buttons a.color-gray i{color:inherit}.ripple-gray .ripple-wave{background-color:rgba(158,158,158,.3)}.range-slider.color-gray input[type=range]::-webkit-slider-thumb:before{background-color:#9e9e9e}.range-slider.color-gray input[type=range]::-webkit-slider-thumb{background-color:#9e9e9e}.range-slider.color-gray input[type=range]::-ms-thumb{background-color:#9e9e9e}.range-slider.color-gray input[type=range]::-ms-fill-lower{background-color:#9e9e9e}.range-slider.color-gray input[type=range]::-moz-range-thumb{background-color:#9e9e9e}.badge.color-gray{background-color:#9e9e9e;color:#fff}.color-bluegray{color:#607d8b}.list-block .item-link.color-bluegray,.list-block .item-link.list-button.color-bluegray,.tabbar a.active.color-bluegray,a.color-bluegray{color:#607d8b}.label-switch input[type=checkbox]:checked+.checkbox.color-bluegray,.label-switch.color-bluegray input[type=checkbox]:checked+.checkbox{background-color:#607d8b}.button.color-bluegray:not(.button-fill),.color-bluegray.buttons-row .button:not(.button-fill){color:#607d8b!important}.button.button-fill.bg-bluegray,.button.button-fill.color-bluegray{background:#607d8b!important;color:#fff}.button.button-fill.bg-bluegray.active-state,.button.button-fill.color-bluegray.active-state,html:not(.watch-active-state) .button.button-fill.bg-bluegray:active,html:not(.watch-active-state) .button.button-fill.color-bluegray:active{background:#455A64!important}.progressbar.bg-bluegray,.progressbar.color-bluegray{background-color:rgba(96,125,139,.5)}.progressbar.bg-bluegray span,.progressbar.color-bluegray span{background-color:#607d8b}.progressbar-infinite.bg-bluegray,.progressbar-infinite.color-bluegray{background-color:rgba(96,125,139,.5)}.progressbar-infinite.bg-bluegray:after,.progressbar-infinite.bg-bluegray:before,.progressbar-infinite.color-bluegray:after,.progressbar-infinite.color-bluegray:before{background-color:#607d8b}.color-bluegray i.icon,i.icon.color-bluegray{color:#607d8b}.preloader.color-bluegray svg circle,.preloader.preloader-bluegray svg circle{stroke:#607d8b}.preloader.color-bluegray .preloader-inner-gap,.preloader.color-bluegray .preloader-inner-half-circle,.preloader.preloader-bluegray .preloader-inner-gap,.preloader.preloader-bluegray .preloader-inner-half-circle{border-color:#607d8b}.bg-bluegray,.list-block .swipeout-actions-left a.bg-bluegray,.list-block .swipeout-actions-right a.bg-bluegray,a.bg-bluegray{background-color:#607d8b}.list-block .bg-bluegray .item-link.active-state,.list-block .item-link.bg-bluegray.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-bluegray.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-bluegray.active-state,.list-block .item-linka.bg-bluegray.active-state,.list-block .list-block .swipeout-actions-left a.bg-bluegray .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-bluegray .item-link.active-state,.list-block a.bg-bluegray .item-link.active-state,.list-block.bg-bluegray .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-bluegray .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-bluegray .item-link.active-state,.list-blocka.bg-bluegray .item-link.active-state,html:not(.watch-active-state) .list-block .bg-bluegray .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-bluegray:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-bluegray:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-bluegray:active,html:not(.watch-active-state) .list-block .item-linka.bg-bluegray:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-bluegray .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-bluegray .item-link:active,html:not(.watch-active-state) .list-block a.bg-bluegray .item-link:active,html:not(.watch-active-state) .list-block.bg-bluegray .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-bluegray .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-bluegray .item-link:active,html:not(.watch-active-state) .list-blocka.bg-bluegray .item-link:active{background:#455A64}.border-bluegray{border-color:#607d8b}.border-bluegray:after,.border-bluegray:before,.list-block .border-bluegray.item-inner:after,.list-block .border-bluegray.item-inner:before,.list-block ul.border-bluegray:after,.list-block ul.border-bluegray:before{background-color:#607d8b}.floating-button.bg-bluegray,.floating-button.color-bluegray,.speed-dial-buttons a.bg-bluegray,.speed-dial-buttons a.color-bluegray{color:#fff;background:#607d8b}.floating-button.bg-bluegray.active-state,.floating-button.color-bluegray.active-state,.speed-dial-buttons a.bg-bluegray.active-state,.speed-dial-buttons a.color-bluegray.active-state,html:not(.watch-active-state) .floating-button.bg-bluegray:active,html:not(.watch-active-state) .floating-button.color-bluegray:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-bluegray:active,html:not(.watch-active-state) .speed-dial-buttons a.color-bluegray:active{background:#455A64}.floating-button.bg-bluegray i,.floating-button.color-bluegray i,.speed-dial-buttons a.bg-bluegray i,.speed-dial-buttons a.color-bluegray i{color:inherit}.ripple-bluegray .ripple-wave{background-color:rgba(96,125,139,.3)}.range-slider.color-bluegray input[type=range]::-webkit-slider-thumb:before{background-color:#607d8b}.range-slider.color-bluegray input[type=range]::-webkit-slider-thumb{background-color:#607d8b}.range-slider.color-bluegray input[type=range]::-ms-thumb{background-color:#607d8b}.range-slider.color-bluegray input[type=range]::-ms-fill-lower{background-color:#607d8b}.range-slider.color-bluegray input[type=range]::-moz-range-thumb{background-color:#607d8b}.badge.color-bluegray{background-color:#607d8b;color:#fff}.color-white{color:#fff}.list-block .item-link.color-white,.list-block .item-link.list-button.color-white,.tabbar a.active.color-white,a.color-white{color:#fff}.label-switch input[type=checkbox]:checked+.checkbox.color-white,.label-switch.color-white input[type=checkbox]:checked+.checkbox{background-color:#fff}.button.color-white:not(.button-fill),.color-white.buttons-row .button:not(.button-fill){color:#fff!important}.button.button-fill.bg-white,.button.button-fill.color-white{background:#fff!important;color:#fff}.button.button-fill.bg-white.active-state,.button.button-fill.color-white.active-state,html:not(.watch-active-state) .button.button-fill.bg-white:active,html:not(.watch-active-state) .button.button-fill.color-white:active{background:rgba(0,0,0,.1)!important}.progressbar.bg-white,.progressbar.color-white{background-color:rgba(255,255,255,.5)}.progressbar.bg-white span,.progressbar.color-white span{background-color:#fff}.progressbar-infinite.bg-white,.progressbar-infinite.color-white{background-color:rgba(255,255,255,.5)}.progressbar-infinite.bg-white:after,.progressbar-infinite.bg-white:before,.progressbar-infinite.color-white:after,.progressbar-infinite.color-white:before{background-color:#fff}.color-white i.icon,i.icon.color-white{color:#fff}.preloader.color-white svg circle,.preloader.preloader-white svg circle{stroke:#fff}.preloader.color-white .preloader-inner-gap,.preloader.color-white .preloader-inner-half-circle,.preloader.preloader-white .preloader-inner-gap,.preloader.preloader-white .preloader-inner-half-circle{border-color:#fff}.bg-white,.list-block .swipeout-actions-left a.bg-white,.list-block .swipeout-actions-right a.bg-white,a.bg-white{background-color:#fff}.list-block .bg-white .item-link.active-state,.list-block .item-link.bg-white.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-white.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-white.active-state,.list-block .item-linka.bg-white.active-state,.list-block .list-block .swipeout-actions-left a.bg-white .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-white .item-link.active-state,.list-block a.bg-white .item-link.active-state,.list-block.bg-white .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-white .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-white .item-link.active-state,.list-blocka.bg-white .item-link.active-state,html:not(.watch-active-state) .list-block .bg-white .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-white:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-white:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-white:active,html:not(.watch-active-state) .list-block .item-linka.bg-white:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-white .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-white .item-link:active,html:not(.watch-active-state) .list-block a.bg-white .item-link:active,html:not(.watch-active-state) .list-block.bg-white .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-white .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-white .item-link:active,html:not(.watch-active-state) .list-blocka.bg-white .item-link:active{background:rgba(0,0,0,.1)}.border-white{border-color:#fff}.border-white:after,.border-white:before,.list-block .border-white.item-inner:after,.list-block .border-white.item-inner:before,.list-block ul.border-white:after,.list-block ul.border-white:before{background-color:#fff}.floating-button.bg-white,.floating-button.color-white,.speed-dial-buttons a.bg-white,.speed-dial-buttons a.color-white{color:#fff;background:#fff}.floating-button.bg-white.active-state,.floating-button.color-white.active-state,.speed-dial-buttons a.bg-white.active-state,.speed-dial-buttons a.color-white.active-state,html:not(.watch-active-state) .floating-button.bg-white:active,html:not(.watch-active-state) .floating-button.color-white:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-white:active,html:not(.watch-active-state) .speed-dial-buttons a.color-white:active{background:rgba(0,0,0,.1)}.floating-button.bg-white i,.floating-button.color-white i,.speed-dial-buttons a.bg-white i,.speed-dial-buttons a.color-white i{color:inherit}.ripple-white .ripple-wave{background-color:rgba(255,255,255,.3)}.range-slider.color-white input[type=range]::-webkit-slider-thumb:before{background-color:#fff}.range-slider.color-white input[type=range]::-webkit-slider-thumb{background-color:#fff}.range-slider.color-white input[type=range]::-ms-thumb{background-color:#fff}.range-slider.color-white input[type=range]::-ms-fill-lower{background-color:#fff}.range-slider.color-white input[type=range]::-moz-range-thumb{background-color:#fff}.badge.color-white{background-color:#fff;color:#fff}.color-black{color:#000}.list-block .item-link.color-black,.list-block .item-link.list-button.color-black,.tabbar a.active.color-black,a.color-black{color:#000}.label-switch input[type=checkbox]:checked+.checkbox.color-black,.label-switch.color-black input[type=checkbox]:checked+.checkbox{background-color:#000}.button.color-black:not(.button-fill),.color-black.buttons-row .button:not(.button-fill){color:#000!important}.button.button-fill.bg-black,.button.button-fill.color-black{background:#000!important;color:#fff}.button.button-fill.bg-black.active-state,.button.button-fill.color-black.active-state,html:not(.watch-active-state) .button.button-fill.bg-black:active,html:not(.watch-active-state) .button.button-fill.color-black:active{background:#333!important}.progressbar.bg-black,.progressbar.color-black{background-color:rgba(0,0,0,.5)}.progressbar.bg-black span,.progressbar.color-black span{background-color:#000}.progressbar-infinite.bg-black,.progressbar-infinite.color-black{background-color:rgba(0,0,0,.5)}.progressbar-infinite.bg-black:after,.progressbar-infinite.bg-black:before,.progressbar-infinite.color-black:after,.progressbar-infinite.color-black:before{background-color:#000}.color-black i.icon,i.icon.color-black{color:#000}.preloader.color-black svg circle,.preloader.preloader-black svg circle{stroke:#000}.preloader.color-black .preloader-inner-gap,.preloader.color-black .preloader-inner-half-circle,.preloader.preloader-black .preloader-inner-gap,.preloader.preloader-black .preloader-inner-half-circle{border-color:#000}.bg-black,.list-block .swipeout-actions-left a.bg-black,.list-block .swipeout-actions-right a.bg-black,a.bg-black{background-color:#000}.list-block .bg-black .item-link.active-state,.list-block .item-link.bg-black.active-state,.list-block .item-link.list-block .swipeout-actions-left a.bg-black.active-state,.list-block .item-link.list-block .swipeout-actions-right a.bg-black.active-state,.list-block .item-linka.bg-black.active-state,.list-block .list-block .swipeout-actions-left a.bg-black .item-link.active-state,.list-block .list-block .swipeout-actions-right a.bg-black .item-link.active-state,.list-block a.bg-black .item-link.active-state,.list-block.bg-black .item-link.active-state,.list-block.list-block .swipeout-actions-left a.bg-black .item-link.active-state,.list-block.list-block .swipeout-actions-right a.bg-black .item-link.active-state,.list-blocka.bg-black .item-link.active-state,html:not(.watch-active-state) .list-block .bg-black .item-link:active,html:not(.watch-active-state) .list-block .item-link.bg-black:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-black:active,html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-black:active,html:not(.watch-active-state) .list-block .item-linka.bg-black:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-black .item-link:active,html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-black .item-link:active,html:not(.watch-active-state) .list-block a.bg-black .item-link:active,html:not(.watch-active-state) .list-block.bg-black .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-black .item-link:active,html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-black .item-link:active,html:not(.watch-active-state) .list-blocka.bg-black .item-link:active{background:#333}.border-black{border-color:#000}.border-black:after,.border-black:before,.list-block .border-black.item-inner:after,.list-block .border-black.item-inner:before,.list-block ul.border-black:after,.list-block ul.border-black:before{background-color:#000}.floating-button.bg-black,.floating-button.color-black,.speed-dial-buttons a.bg-black,.speed-dial-buttons a.color-black{color:#fff;background:#000}.floating-button.bg-black.active-state,.floating-button.color-black.active-state,.speed-dial-buttons a.bg-black.active-state,.speed-dial-buttons a.color-black.active-state,html:not(.watch-active-state) .floating-button.bg-black:active,html:not(.watch-active-state) .floating-button.color-black:active,html:not(.watch-active-state) .speed-dial-buttons a.bg-black:active,html:not(.watch-active-state) .speed-dial-buttons a.color-black:active{background:#333}.floating-button.bg-black i,.floating-button.color-black i,.speed-dial-buttons a.bg-black i,.speed-dial-buttons a.color-black i{color:inherit}.ripple-black .ripple-wave{background-color:rgba(0,0,0,.3)}.range-slider.color-black input[type=range]::-webkit-slider-thumb:before{background-color:#000}.range-slider.color-black input[type=range]::-webkit-slider-thumb{background-color:#000}.range-slider.color-black input[type=range]::-ms-thumb{background-color:#000}.range-slider.color-black input[type=range]::-ms-fill-lower{background-color:#000}.range-slider.color-black input[type=range]::-moz-range-thumb{background-color:#000}.badge.color-black{background-color:#000;color:#fff} \ No newline at end of file diff --git a/vendor/framework7/css/framework7.material.css b/vendor/framework7/css/framework7.material.css deleted file mode 100644 index 38b11f85b..000000000 --- a/vendor/framework7/css/framework7.material.css +++ /dev/null @@ -1,7349 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * Google Material Theme - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -html, -body, -.framework7-root { - position: relative; - height: 100%; - width: 100%; - overflow-x: hidden; -} -body { - font-family: Roboto, Noto, Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; - color: #212121; - font-size: 14px; - line-height: 1.5; - width: 100%; - -webkit-text-size-adjust: 100%; - background: #fff; - overflow: hidden; -} -.framework7-root { - overflow: hidden; -} -* { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-touch-callout: none; -} -a, -input, -textarea, -select { - outline: 0; -} -a { - text-decoration: none; - color: #2196f3; -} -p { - margin: 1em 0; -} -/* === Grid === */ -.row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.row > [class*="col-"] { - box-sizing: border-box; -} -.row .col-auto { - width: 100%; -} -.row .col-100 { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); -} -.row.no-gutter .col-100 { - width: 100%; -} -.row .col-95 { - width: 95%; - width: -webkit-calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); -} -.row.no-gutter .col-95 { - width: 95%; -} -.row .col-90 { - width: 90%; - width: -webkit-calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); -} -.row.no-gutter .col-90 { - width: 90%; -} -.row .col-85 { - width: 85%; - width: -webkit-calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); -} -.row.no-gutter .col-85 { - width: 85%; -} -.row .col-80 { - width: 80%; - width: -webkit-calc((100% - 16px*0.25) / 1.25); - width: calc((100% - 16px*0.25) / 1.25); -} -.row.no-gutter .col-80 { - width: 80%; -} -.row .col-75 { - width: 75%; - width: -webkit-calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); -} -.row.no-gutter .col-75 { - width: 75%; -} -.row .col-70 { - width: 70%; - width: -webkit-calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); -} -.row.no-gutter .col-70 { - width: 70%; -} -.row .col-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); -} -.row.no-gutter .col-66 { - width: 66.66666666666666%; -} -.row .col-65 { - width: 65%; - width: -webkit-calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); -} -.row.no-gutter .col-65 { - width: 65%; -} -.row .col-60 { - width: 60%; - width: -webkit-calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); -} -.row.no-gutter .col-60 { - width: 60%; -} -.row .col-55 { - width: 55%; - width: -webkit-calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); -} -.row.no-gutter .col-55 { - width: 55%; -} -.row .col-50 { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); -} -.row.no-gutter .col-50 { - width: 50%; -} -.row .col-45 { - width: 45%; - width: -webkit-calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); -} -.row.no-gutter .col-45 { - width: 45%; -} -.row .col-40 { - width: 40%; - width: -webkit-calc((100% - 16px*1.5) / 2.5); - width: calc((100% - 16px*1.5) / 2.5); -} -.row.no-gutter .col-40 { - width: 40%; -} -.row .col-35 { - width: 35%; - width: -webkit-calc((100% - 16px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 16px*1.8571428571428572) / 2.857142857142857); -} -.row.no-gutter .col-35 { - width: 35%; -} -.row .col-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); -} -.row.no-gutter .col-33 { - width: 33.333333333333336%; -} -.row .col-30 { - width: 30%; - width: -webkit-calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); -} -.row.no-gutter .col-30 { - width: 30%; -} -.row .col-25 { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); -} -.row.no-gutter .col-25 { - width: 25%; -} -.row .col-20 { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); -} -.row.no-gutter .col-20 { - width: 20%; -} -.row .col-15 { - width: 15%; - width: -webkit-calc((100% - 16px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 16px*5.666666666666667) / 6.666666666666667); -} -.row.no-gutter .col-15 { - width: 15%; -} -.row .col-10 { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); -} -.row.no-gutter .col-10 { - width: 10%; -} -.row .col-5 { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); -} -.row.no-gutter .col-5 { - width: 5%; -} -.row .col-auto:nth-last-child(1), -.row .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); -} -.row.no-gutter .col-auto:nth-last-child(1), -.row.no-gutter .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; -} -.row .col-auto:nth-last-child(2), -.row .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); -} -.row.no-gutter .col-auto:nth-last-child(2), -.row.no-gutter .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; -} -.row .col-auto:nth-last-child(3), -.row .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); -} -.row.no-gutter .col-auto:nth-last-child(3), -.row.no-gutter .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; -} -.row .col-auto:nth-last-child(4), -.row .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); -} -.row.no-gutter .col-auto:nth-last-child(4), -.row.no-gutter .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; -} -.row .col-auto:nth-last-child(5), -.row .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); -} -.row.no-gutter .col-auto:nth-last-child(5), -.row.no-gutter .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; -} -.row .col-auto:nth-last-child(6), -.row .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 16px*5) / 6); - width: calc((100% - 16px*5) / 6); -} -.row.no-gutter .col-auto:nth-last-child(6), -.row.no-gutter .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; -} -.row .col-auto:nth-last-child(7), -.row .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 16px*6) / 7); - width: calc((100% - 16px*6) / 7); -} -.row.no-gutter .col-auto:nth-last-child(7), -.row.no-gutter .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; -} -.row .col-auto:nth-last-child(8), -.row .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 16px*7) / 8); - width: calc((100% - 16px*7) / 8); -} -.row.no-gutter .col-auto:nth-last-child(8), -.row.no-gutter .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; -} -.row .col-auto:nth-last-child(9), -.row .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 16px*8) / 9); - width: calc((100% - 16px*8) / 9); -} -.row.no-gutter .col-auto:nth-last-child(9), -.row.no-gutter .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; -} -.row .col-auto:nth-last-child(10), -.row .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); -} -.row.no-gutter .col-auto:nth-last-child(10), -.row.no-gutter .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; -} -.row .col-auto:nth-last-child(11), -.row .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 16px*10) / 11); - width: calc((100% - 16px*10) / 11); -} -.row.no-gutter .col-auto:nth-last-child(11), -.row.no-gutter .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; -} -.row .col-auto:nth-last-child(12), -.row .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 16px*11) / 12); - width: calc((100% - 16px*11) / 12); -} -.row.no-gutter .col-auto:nth-last-child(12), -.row.no-gutter .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; -} -.row .col-auto:nth-last-child(13), -.row .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 16px*12) / 13); - width: calc((100% - 16px*12) / 13); -} -.row.no-gutter .col-auto:nth-last-child(13), -.row.no-gutter .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; -} -.row .col-auto:nth-last-child(14), -.row .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 16px*13) / 14); - width: calc((100% - 16px*13) / 14); -} -.row.no-gutter .col-auto:nth-last-child(14), -.row.no-gutter .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; -} -.row .col-auto:nth-last-child(15), -.row .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 16px*14) / 15); - width: calc((100% - 16px*14) / 15); -} -.row.no-gutter .col-auto:nth-last-child(15), -.row.no-gutter .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; -} -.row .col-auto:nth-last-child(16), -.row .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 16px*15) / 16); - width: calc((100% - 16px*15) / 16); -} -.row.no-gutter .col-auto:nth-last-child(16), -.row.no-gutter .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; -} -.row .col-auto:nth-last-child(17), -.row .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 16px*16) / 17); - width: calc((100% - 16px*16) / 17); -} -.row.no-gutter .col-auto:nth-last-child(17), -.row.no-gutter .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; -} -.row .col-auto:nth-last-child(18), -.row .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 16px*17) / 18); - width: calc((100% - 16px*17) / 18); -} -.row.no-gutter .col-auto:nth-last-child(18), -.row.no-gutter .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; -} -.row .col-auto:nth-last-child(19), -.row .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 16px*18) / 19); - width: calc((100% - 16px*18) / 19); -} -.row.no-gutter .col-auto:nth-last-child(19), -.row.no-gutter .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; -} -.row .col-auto:nth-last-child(20), -.row .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); -} -.row.no-gutter .col-auto:nth-last-child(20), -.row.no-gutter .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; -} -.row .col-auto:nth-last-child(21), -.row .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 16px*20) / 21); - width: calc((100% - 16px*20) / 21); -} -.row.no-gutter .col-auto:nth-last-child(21), -.row.no-gutter .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; -} -@media all and (min-width: 768px) { - .row .tablet-100 { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); - } - .row.no-gutter .tablet-100 { - width: 100%; - } - .row .tablet-95 { - width: 95%; - width: -webkit-calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); - } - .row.no-gutter .tablet-95 { - width: 95%; - } - .row .tablet-90 { - width: 90%; - width: -webkit-calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); - } - .row.no-gutter .tablet-90 { - width: 90%; - } - .row .tablet-85 { - width: 85%; - width: -webkit-calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); - } - .row.no-gutter .tablet-85 { - width: 85%; - } - .row .tablet-80 { - width: 80%; - width: -webkit-calc((100% - 16px*0.25) / 1.25); - width: calc((100% - 16px*0.25) / 1.25); - } - .row.no-gutter .tablet-80 { - width: 80%; - } - .row .tablet-75 { - width: 75%; - width: -webkit-calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); - } - .row.no-gutter .tablet-75 { - width: 75%; - } - .row .tablet-70 { - width: 70%; - width: -webkit-calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); - } - .row.no-gutter .tablet-70 { - width: 70%; - } - .row .tablet-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); - } - .row.no-gutter .tablet-66 { - width: 66.66666666666666%; - } - .row .tablet-65 { - width: 65%; - width: -webkit-calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); - } - .row.no-gutter .tablet-65 { - width: 65%; - } - .row .tablet-60 { - width: 60%; - width: -webkit-calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); - } - .row.no-gutter .tablet-60 { - width: 60%; - } - .row .tablet-55 { - width: 55%; - width: -webkit-calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); - } - .row.no-gutter .tablet-55 { - width: 55%; - } - .row .tablet-50 { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); - } - .row.no-gutter .tablet-50 { - width: 50%; - } - .row .tablet-45 { - width: 45%; - width: -webkit-calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); - } - .row.no-gutter .tablet-45 { - width: 45%; - } - .row .tablet-40 { - width: 40%; - width: -webkit-calc((100% - 16px*1.5) / 2.5); - width: calc((100% - 16px*1.5) / 2.5); - } - .row.no-gutter .tablet-40 { - width: 40%; - } - .row .tablet-35 { - width: 35%; - width: -webkit-calc((100% - 16px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 16px*1.8571428571428572) / 2.857142857142857); - } - .row.no-gutter .tablet-35 { - width: 35%; - } - .row .tablet-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); - } - .row.no-gutter .tablet-33 { - width: 33.333333333333336%; - } - .row .tablet-30 { - width: 30%; - width: -webkit-calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); - } - .row.no-gutter .tablet-30 { - width: 30%; - } - .row .tablet-25 { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); - } - .row.no-gutter .tablet-25 { - width: 25%; - } - .row .tablet-20 { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); - } - .row.no-gutter .tablet-20 { - width: 20%; - } - .row .tablet-15 { - width: 15%; - width: -webkit-calc((100% - 16px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 16px*5.666666666666667) / 6.666666666666667); - } - .row.no-gutter .tablet-15 { - width: 15%; - } - .row .tablet-10 { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); - } - .row.no-gutter .tablet-10 { - width: 10%; - } - .row .tablet-5 { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); - } - .row.no-gutter .tablet-5 { - width: 5%; - } - .row .tablet-auto:nth-last-child(1), - .row .tablet-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); - } - .row.no-gutter .tablet-auto:nth-last-child(1), - .row.no-gutter .tablet-auto:nth-last-child(1) ~ .tablet-auto { - width: 100%; - } - .row .tablet-auto:nth-last-child(2), - .row .tablet-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); - } - .row.no-gutter .tablet-auto:nth-last-child(2), - .row.no-gutter .tablet-auto:nth-last-child(2) ~ .tablet-auto { - width: 50%; - } - .row .tablet-auto:nth-last-child(3), - .row .tablet-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); - } - .row.no-gutter .tablet-auto:nth-last-child(3), - .row.no-gutter .tablet-auto:nth-last-child(3) ~ .tablet-auto { - width: 33.33333333%; - } - .row .tablet-auto:nth-last-child(4), - .row .tablet-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); - } - .row.no-gutter .tablet-auto:nth-last-child(4), - .row.no-gutter .tablet-auto:nth-last-child(4) ~ .tablet-auto { - width: 25%; - } - .row .tablet-auto:nth-last-child(5), - .row .tablet-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); - } - .row.no-gutter .tablet-auto:nth-last-child(5), - .row.no-gutter .tablet-auto:nth-last-child(5) ~ .tablet-auto { - width: 20%; - } - .row .tablet-auto:nth-last-child(6), - .row .tablet-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 16px*5) / 6); - width: calc((100% - 16px*5) / 6); - } - .row.no-gutter .tablet-auto:nth-last-child(6), - .row.no-gutter .tablet-auto:nth-last-child(6) ~ .tablet-auto { - width: 16.66666667%; - } - .row .tablet-auto:nth-last-child(7), - .row .tablet-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 16px*6) / 7); - width: calc((100% - 16px*6) / 7); - } - .row.no-gutter .tablet-auto:nth-last-child(7), - .row.no-gutter .tablet-auto:nth-last-child(7) ~ .tablet-auto { - width: 14.28571429%; - } - .row .tablet-auto:nth-last-child(8), - .row .tablet-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 16px*7) / 8); - width: calc((100% - 16px*7) / 8); - } - .row.no-gutter .tablet-auto:nth-last-child(8), - .row.no-gutter .tablet-auto:nth-last-child(8) ~ .tablet-auto { - width: 12.5%; - } - .row .tablet-auto:nth-last-child(9), - .row .tablet-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 16px*8) / 9); - width: calc((100% - 16px*8) / 9); - } - .row.no-gutter .tablet-auto:nth-last-child(9), - .row.no-gutter .tablet-auto:nth-last-child(9) ~ .tablet-auto { - width: 11.11111111%; - } - .row .tablet-auto:nth-last-child(10), - .row .tablet-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); - } - .row.no-gutter .tablet-auto:nth-last-child(10), - .row.no-gutter .tablet-auto:nth-last-child(10) ~ .tablet-auto { - width: 10%; - } - .row .tablet-auto:nth-last-child(11), - .row .tablet-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 16px*10) / 11); - width: calc((100% - 16px*10) / 11); - } - .row.no-gutter .tablet-auto:nth-last-child(11), - .row.no-gutter .tablet-auto:nth-last-child(11) ~ .tablet-auto { - width: 9.09090909%; - } - .row .tablet-auto:nth-last-child(12), - .row .tablet-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 16px*11) / 12); - width: calc((100% - 16px*11) / 12); - } - .row.no-gutter .tablet-auto:nth-last-child(12), - .row.no-gutter .tablet-auto:nth-last-child(12) ~ .tablet-auto { - width: 8.33333333%; - } - .row .tablet-auto:nth-last-child(13), - .row .tablet-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 16px*12) / 13); - width: calc((100% - 16px*12) / 13); - } - .row.no-gutter .tablet-auto:nth-last-child(13), - .row.no-gutter .tablet-auto:nth-last-child(13) ~ .tablet-auto { - width: 7.69230769%; - } - .row .tablet-auto:nth-last-child(14), - .row .tablet-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 16px*13) / 14); - width: calc((100% - 16px*13) / 14); - } - .row.no-gutter .tablet-auto:nth-last-child(14), - .row.no-gutter .tablet-auto:nth-last-child(14) ~ .tablet-auto { - width: 7.14285714%; - } - .row .tablet-auto:nth-last-child(15), - .row .tablet-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 16px*14) / 15); - width: calc((100% - 16px*14) / 15); - } - .row.no-gutter .tablet-auto:nth-last-child(15), - .row.no-gutter .tablet-auto:nth-last-child(15) ~ .tablet-auto { - width: 6.66666667%; - } - .row .tablet-auto:nth-last-child(16), - .row .tablet-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 16px*15) / 16); - width: calc((100% - 16px*15) / 16); - } - .row.no-gutter .tablet-auto:nth-last-child(16), - .row.no-gutter .tablet-auto:nth-last-child(16) ~ .tablet-auto { - width: 6.25%; - } - .row .tablet-auto:nth-last-child(17), - .row .tablet-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 16px*16) / 17); - width: calc((100% - 16px*16) / 17); - } - .row.no-gutter .tablet-auto:nth-last-child(17), - .row.no-gutter .tablet-auto:nth-last-child(17) ~ .tablet-auto { - width: 5.88235294%; - } - .row .tablet-auto:nth-last-child(18), - .row .tablet-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 16px*17) / 18); - width: calc((100% - 16px*17) / 18); - } - .row.no-gutter .tablet-auto:nth-last-child(18), - .row.no-gutter .tablet-auto:nth-last-child(18) ~ .tablet-auto { - width: 5.55555556%; - } - .row .tablet-auto:nth-last-child(19), - .row .tablet-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 16px*18) / 19); - width: calc((100% - 16px*18) / 19); - } - .row.no-gutter .tablet-auto:nth-last-child(19), - .row.no-gutter .tablet-auto:nth-last-child(19) ~ .tablet-auto { - width: 5.26315789%; - } - .row .tablet-auto:nth-last-child(20), - .row .tablet-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); - } - .row.no-gutter .tablet-auto:nth-last-child(20), - .row.no-gutter .tablet-auto:nth-last-child(20) ~ .tablet-auto { - width: 5%; - } - .row .tablet-auto:nth-last-child(21), - .row .tablet-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 16px*20) / 21); - width: calc((100% - 16px*20) / 21); - } - .row.no-gutter .tablet-auto:nth-last-child(21), - .row.no-gutter .tablet-auto:nth-last-child(21) ~ .tablet-auto { - width: 4.76190476%; - } -} -/* === Views === */ -.views, -.view { - position: relative; - width: 100%; - height: 100%; - z-index: 5000; -} -.views { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.view { - overflow: hidden; - box-sizing: border-box; -} -/* === Pages === */ -.pages { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; -} -.page { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #fff; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.page.cached { - display: none; -} -.page-on-left { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.page-on-right { - opacity: 0; - pointer-events: none; - -webkit-transform: translate3d(0, 56px, 0); - transform: translate3d(0, 56px, 0); -} -.page-content { - overflow: auto; - -webkit-overflow-scrolling: touch; - box-sizing: border-box; - height: 100%; - position: relative; - z-index: 1; -} -.page-transitioning { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.page-from-right-to-center { - pointer-events: none; - -webkit-animation: pageFromRightToCenter 300ms forwards; - animation: pageFromRightToCenter 300ms forwards; -} -.page-from-center-to-right { - pointer-events: none; - -webkit-animation: pageFromCenterToRight 300ms forwards; - animation: pageFromCenterToRight 300ms forwards; -} -@-webkit-keyframes pageFromRightToCenter { - from { - opacity: 0; - -webkit-transform: translate3d(0, 56px, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromRightToCenter { - from { - opacity: 0; - transform: translate3d(0, 56px, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 56px, 0); - } -} -@keyframes pageFromCenterToRight { - from { - opacity: 1; - transform: translate3d(0, 0, 0); - } - to { - opacity: 0; - transform: translate3d(0, 56px, 0); - } -} -.page-from-center-to-left { - -webkit-animation: pageFromCenterToLeft 300ms forwards; - animation: pageFromCenterToLeft 300ms forwards; -} -.page-from-left-to-center { - -webkit-animation: pageFromLeftToCenter 300ms forwards; - animation: pageFromLeftToCenter 300ms forwards; -} -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@keyframes pageFromCenterToLeft { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@keyframes pageFromLeftToCenter { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -/* === Toolbars === */ -.navbar-inner, -.toolbar-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - box-sizing: border-box; - overflow: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.navbar-inner { - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; -} -.toolbar-inner { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.navbar-inner.cached { - display: none; -} -.navbar, -.toolbar { - width: 100%; - box-sizing: border-box; - position: relative; - margin: 0; - z-index: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - color: #fff; -} -.navbar b, -.toolbar b { - font-weight: 500; -} -.navbar ~ .toolbar { - z-index: 499; -} -.navbar, -.toolbar, -.subnavbar { - background: #2196f3; -} -.navbar a.link, -.toolbar a.link, -.subnavbar a.link { - text-decoration: none; - position: relative; - color: #fff; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - padding: 0 16px; - min-width: 48px; -} -.navbar a.link:before, -.toolbar a.link:before, -.subnavbar a.link:before { - content: ''; - width: 152%; - height: 152%; - position: absolute; - left: -26%; - top: -26%; - background-image: -webkit-radial-gradient(center, circle cover, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; - opacity: 0; - pointer-events: none; - -webkit-transition-duration: 600ms; - transition-duration: 600ms; -} -html:not(.watch-active-state) .navbar a.link:active:before, -html:not(.watch-active-state) .toolbar a.link:active:before, -html:not(.watch-active-state) .subnavbar a.link:active:before, -.navbar a.link.active-state:before, -.toolbar a.link.active-state:before, -.subnavbar a.link.active-state:before { - opacity: 1; - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.navbar a.link i + span, -.toolbar a.link i + span, -.subnavbar a.link i + span, -.navbar a.link i + i, -.toolbar a.link i + i, -.subnavbar a.link i + i, -.navbar a.link span + i, -.toolbar a.link span + i, -.subnavbar a.link span + i, -.navbar a.link span + span, -.toolbar a.link span + span, -.subnavbar a.link span + span { - margin-left: 8px; -} -.navbar a.icon-only, -.toolbar a.icon-only, -.subnavbar a.icon-only { - min-width: 0; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.navbar i.icon, -.toolbar i.icon, -.subnavbar i.icon { - display: block; -} -.navbar .center, -.subnavbar .center { - font-size: 20px; - font-weight: 500; - text-align: center; - margin: 0 16px; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 56px; - display: inline-block; - text-align: left; -} -.navbar .left, -.subnavbar .left, -.navbar .right, -.subnavbar .right { - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar .right, -.subnavbar .right { - margin-left: auto; -} -.navbar .right:first-child, -.subnavbar .right:first-child { - position: absolute; - right: 16px; - height: 100%; -} -.navbar { - left: 0; - top: 0; - height: 56px; - font-size: 20px; -} -.navbar a.link { - line-height: 56px; - height: 56px; -} -.popup .navbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.subnavbar { - height: 48px; - width: 100%; - position: absolute; - left: 0; - top: 100%; - z-index: 20; - box-sizing: border-box; - padding: 0 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - overflow: hidden; -} -.subnavbar a.link { - line-height: 48px; - height: 48px; -} -.subnavbar .center { - line-height: 48px; -} -.subnavbar .center:first-child { - margin-left: 56px; -} -.navbar.no-border .subnavbar { - margin-top: 0; -} -.navbar-on-left .subnavbar, -.navbar-on-right .subnavbar { - pointer-events: none; -} -.navbar .subnavbar, -.page .subnavbar { - position: absolute; -} -.page > .subnavbar { - top: 0; - margin-top: 0; -} -.subnavbar > .buttons-row { - width: 100%; -} -.subnavbar .searchbar, -.subnavbar.searchbar { - position: absolute; -} -.subnavbar.searchbar, -.subnavbar .searchbar { - position: absolute; -} -.subnavbar .searchbar { - left: 0; - top: 0; -} -.toolbar { - left: 0; - bottom: 0; - height: 48px; - font-size: 14px; -} -.toolbar a.link { - line-height: 48px; - height: 48px; -} -.toolbar a { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; -} -.tabbar { - z-index: 5001; - overflow: hidden; - bottom: auto; - top: 0; -} -.tabbar .toolbar-inner { - padding-left: 0; - padding-right: 0; -} -.tabbar a.link { - line-height: 1.4; -} -.tabbar a.tab-link, -.tabbar a.link { - height: 100%; - width: 100%; - box-sizing: border-box; - padding-left: 0; - padding-right: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -ms-flex: 1; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - font-size: 14px; - text-transform: uppercase; -} -.tabbar i.icon { - height: 24px; -} -.tabbar a.tab-link { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - overflow: hidden; - color: rgba(255, 255, 255, 0.7); - position: relative; -} -.tabbar a.tab-link.active, -html:not(.watch-active-state) .tabbar a.tab-link:active, -.tabbar a.tab-link.active-state { - color: #ffffff; -} -.tabbar .tab-link-highlight { - position: absolute; - left: 0; - bottom: 0; - height: 3px; - background: #0a6ebd; - background: rgba(255, 255, 255, 0.5); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.tabbar-labels { - height: 72px; -} -.tabbar-labels a.tab-link, -.tabbar-labels a.link { - padding-top: 12px; - padding-bottom: 12px; - height: 100%; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.tabbar-labels span.tabbar-label { - line-height: 1; - display: block; - margin: 0; - margin-top: 10px; - position: relative; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - max-width: 100%; -} -.tabbar-scrollable .toolbar-inner { - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - overflow: auto; -} -.tabbar-scrollable .toolbar-inner::-webkit-scrollbar { - display: none !important; - width: 0 !important; - height: 0 !important; - -webkit-appearance: none; - opacity: 0 !important; -} -.tabbar-scrollable a.tab-link, -.tabbar-scrollable a.link { - width: auto; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - -ms-flex: 0; - padding: 0 16px; -} -.toolbar-bottom { - bottom: 0; - top: auto; -} -.toolbar-bottom .tab-link-highlight { - bottom: auto; - top: 0; -} -.subnavbar input[type="text"], -.navbar input[type="text"], -.subnavbar input[type="password"], -.navbar input[type="password"], -.subnavbar input[type="search"], -.navbar input[type="search"], -.subnavbar input[type="email"], -.navbar input[type="email"], -.subnavbar input[type="tel"], -.navbar input[type="tel"], -.subnavbar input[type="url"], -.navbar input[type="url"] { - box-sizing: border-box; - width: 100%; - height: 32px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 0; - font-family: inherit; - color: #fff; - font-size: 16px; - font-weight: 400; - background-color: transparent; - padding: 0; - border-bottom: 1px solid #fff; -} -.subnavbar input[type="text"]::-webkit-input-placeholder, -.navbar input[type="text"]::-webkit-input-placeholder, -.subnavbar input[type="password"]::-webkit-input-placeholder, -.navbar input[type="password"]::-webkit-input-placeholder, -.subnavbar input[type="search"]::-webkit-input-placeholder, -.navbar input[type="search"]::-webkit-input-placeholder, -.subnavbar input[type="email"]::-webkit-input-placeholder, -.navbar input[type="email"]::-webkit-input-placeholder, -.subnavbar input[type="tel"]::-webkit-input-placeholder, -.navbar input[type="tel"]::-webkit-input-placeholder, -.subnavbar input[type="url"]::-webkit-input-placeholder, -.navbar input[type="url"]::-webkit-input-placeholder { - color: #ffffff; - opacity: 1; -} -/* === Relation between toolbar/navbar types and pages === */ -.page > .navbar, -.view > .navbar, -.views > .navbar, -.page > .toolbar, -.view > .toolbar, -.views > .toolbar { - position: absolute; -} -.subnavbar ~ .page-content { - padding-top: 48px; -} -.toolbar-fixed .page-content, -.tabbar-fixed .page-content { - padding-top: 48px; -} -.tabbar-labels-fixed .page-content { - padding-top: 72px; -} -.toolbar ~ .page-content { - padding-top: 48px; -} -.tabbar-labels ~ .page-content { - padding-top: 72px; -} -.toolbar-bottom ~ .page-content, -.messagebar ~ .page-content { - padding-top: 0; - padding-bottom: 48px; -} -.tabbar-labels.toolbar-bottom ~ .page-content { - padding-bottom: 72px; -} -.navbar-fixed .page-content { - padding-top: 56px; -} -.navbar-fixed.toolbar-fixed .page-content, -.navbar-fixed.tabbar-fixed .page-content, -.navbar-fixed .toolbar-fixed .page-content, -.navbar-fixed .tabbar-fixed .page-content, -.toolbar-fixed .navbar-fixed .page-content, -.tabbar-fixed .navbar-fixed .page-content { - padding-top: 104px; -} -.navbar-fixed.tabbar-labels-fixed .page-content, -.navbar-fixed .tabbar-labels-fixed .page-content, -.tabbar-labels-fixed .navbar-fixed .page-content { - padding-top: 128px; -} -.navbar-fixed .toolbar ~ .page-content { - padding-top: 104px; -} -.navbar-fixed .messagebar ~ .page-content, -.navbar-fixed .toolbar-bottom ~ .page-content { - padding-top: 56px; -} -.navbar-fixed .tabbar-labels ~ .page-content { - padding-top: 128px; -} -.navbar-fixed .tabbar-labels.toolbar-bottom ~ .page-content { - padding-top: 56px; -} -.navbar-fixed .with-subnavbar .page-content, -.navbar-fixed .page-content.with-subnavbar, -.navbar-fixed .subnavbar ~ .page-content { - padding-top: 104px; -} -.navbar-fixed .page .subnavbar, -.navbar-fixed.page .subnavbar { - top: 56px; -} -.navbar-fixed .toolbar { - top: 56px; -} -.navbar-fixed .messagebar, -.navbar-fixed .toolbar-bottom { - top: auto; -} -.navbar.navbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar.navbar-hiding ~ .page-content .list-group-title, -.navbar.navbar-hiding ~ .pages .list-group-title, -.navbar.navbar-hiding ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hiding ~ .page-content .subnavbar, -.navbar.navbar-hiding ~ .pages .subnavbar, -.navbar.navbar-hiding ~ .page .subnavbar { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hiding ~ .subnavbar, -.navbar.navbar-hiding ~ .toolbar { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} -.navbar.navbar-hidden ~ .page-content .list-group-title, -.navbar.navbar-hidden ~ .pages .list-group-title, -.navbar.navbar-hidden ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - top: -56px; -} -.navbar.navbar-hidden ~ .page-content .subnavbar, -.navbar.navbar-hidden ~ .pages .subnavbar, -.navbar.navbar-hidden ~ .page .subnavbar { - -webkit-transform: translate3d(0, -56px, 0); - transform: translate3d(0, -56px, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hidden ~ .subnavbar, -.navbar.navbar-hidden ~ .toolbar:not(.messagebar):not(.toolbar-bottom) { - -webkit-transform: translate3d(0, -56px, 0); - transform: translate3d(0, -56px, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.page.no-navbar .page-content { - padding-top: 0; -} -.page.no-navbar.with-subnavbar .page-content, -.with-subnavbar .page.no-navbar .page-content, -.page.no-navbar .page-content.with-subnavbar { - padding-top: 48px; -} -.toolbar.toolbar-hiding, -.tabbar.toolbar-hiding, -.toolbar.tabbar-hiding, -.tabbar.tabbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.toolbar.toolbar-hidden, -.tabbar.toolbar-hidden, -.toolbar.tabbar-hidden, -.tabbar.tabbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.toolbar.toolbar-hidden, -.tabbar.toolbar-hidden, -.toolbar.tabbar-hidden, -.tabbar.tabbar-hidden { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} -.navbar ~ .toolbar.toolbar-hidden, -.navbar ~ .tabbar.toolbar-hidden, -.navbar ~ .toolbar.tabbar-hidden, -.navbar ~ .tabbar.tabbar-hidden { - -webkit-transform: translate3d(0, -104px, 0); - transform: translate3d(0, -104px, 0); -} -.navbar ~ .toolbar.tabbar-labels.toolbar-hidden, -.navbar ~ .tabbar.tabbar-labels.toolbar-hidden { - -webkit-transform: translate3d(0, -128px, 0); - transform: translate3d(0, -128px, 0); -} -.toolbar.toolbar-hidden.messagebar, -.tabbar.toolbar-hidden.messagebar, -.toolbar.toolbar-hidden.toolbar-bottom, -.tabbar.toolbar-hidden.toolbar-bottom { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.page.no-toolbar .page-content, -.page.no-tabbar .page-content { - padding-bottom: 0; -} -/* === Search Bar === */ -.searchbar { - height: 48px; - width: 100%; - background: #2196f3; - box-sizing: border-box; - padding: 0 16px; - overflow: hidden; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - color: #fff; -} -.searchbar a { - position: relative; - color: #fff; -} -.searchbar a:before { - content: ''; - width: 152%; - height: 152%; - position: absolute; - left: -26%; - top: -26%; - background-image: -webkit-radial-gradient(center, circle cover, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; - opacity: 0; - pointer-events: none; - -webkit-transition-duration: 600ms; - transition-duration: 600ms; -} -html:not(.watch-active-state) .searchbar a:active:before, -.searchbar a.active-state:before { - opacity: 1; - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.searchbar .searchbar-input { - width: 100%; - height: 32px; - position: relative; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.searchbar input[type="search"] { - box-sizing: border-box; - width: 100%; - height: 32px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 0; - font-family: inherit; - color: #fff; - font-size: 16px; - font-weight: 400; - padding: 0; - border-bottom: 1px solid #fff; - height: 100%; - padding: 0 36px 0 24px; - background-color: transparent; - background-repeat: no-repeat; - background-position: 0 center; - opacity: 0.6; - -webkit-background-size: 24px 24px; - background-size: 24px 24px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M15.5%2014h-.79l-.28-.27C15.41%2012.59%2016%2011.11%2016%209.5%2016%205.91%2013.09%203%209.5%203S3%205.91%203%209.5%205.91%2016%209.5%2016c1.61%200%203.09-.59%204.23-1.57l.27.28v.79l5%204.99L20.49%2019l-4.99-5zm-6%200C7.01%2014%205%2011.99%205%209.5S7.01%205%209.5%205%2014%207.01%2014%209.5%2011.99%2014%209.5%2014z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -.searchbar input[type="search"]::-webkit-input-placeholder { - color: #ffffff; - opacity: 1; -} -.searchbar input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} -.searchbar .searchbar-clear { - position: absolute; - width: 56px; - height: 100%; - right: -16px; - top: 0; - opacity: 0; - pointer-events: none; - background-position: center; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23fff'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 24px 24px; - background-size: 24px 24px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - cursor: pointer; -} -.searchbar .searchbar-cancel { - display: none; -} -.searchbar.searchbar-active input[type="search"] { - opacity: 1; -} -.searchbar.searchbar-active .searchbar-clear { - pointer-events: auto; - opacity: 1; -} -.searchbar.searchbar-not-empty .searchbar-clear { - pointer-events: auto; - opacity: 1; -} -.searchbar-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 100; - opacity: 0; - pointer-events: none; - background: rgba(0, 0, 0, 0.25); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.searchbar-overlay.searchbar-overlay-active { - opacity: 1; - pointer-events: auto; -} -.searchbar-not-found { - display: none; -} -.hidden-by-searchbar, -.list-block .hidden-by-searchbar, -.list-block li.hidden-by-searchbar { - display: none; -} -.page > .searchbar { - position: absolute; - width: 100%; - left: 0; - top: 0; - z-index: 200; -} -.page > .searchbar ~ .page-content { - padding-top: 48px; -} -.navbar-fixed .page > .searchbar, -.navbar-through .page > .searchbar, -.navbar-fixed > .searchbar, -.navbar-through > .searchbar { - top: 56px; -} -.navbar-fixed .page > .searchbar ~ .page-content, -.navbar-through .page > .searchbar ~ .page-content, -.navbar-fixed > .searchbar ~ .page-content, -.navbar-through > .searchbar ~ .page-content { - padding-top: 104px; -} -/* === Message Bar === */ -.toolbar.messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - background: #fff; - height: 48px; - top: auto; - bottom: 0; - font-size: 16px; - overflow: hidden; -} -.toolbar.messagebar:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #d1d1d1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .toolbar.messagebar:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .toolbar.messagebar:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.toolbar.messagebar textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0; - box-shadow: none; - display: block; - padding: 3px 8px 3px; - margin: 0; - width: 100%; - height: 28px; - color: #333; - font-size: 16px; - line-height: 22px; - font-family: inherit; - resize: none; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.toolbar.messagebar a.link { - color: #333; - -ms-flex-item-align: flex-end; - -webkit-align-self: flex-end; - align-self: flex-end; - height: 48px; - line-height: 48px; -} -.toolbar.messagebar a.link:before { - background-image: -webkit-radial-gradient(center, circle cover, rgba(0, 0, 0, 0.1) 66%, rgba(0, 0, 0, 0) 66%); - background-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.1) 66%, rgba(0, 0, 0, 0) 66%); -} -.toolbar.messagebar .link { - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.toolbar.messagebar ~ .page-content { - padding-bottom: 48px; -} -.page.no-toolbar .toolbar.messagebar ~ .page-content { - padding-bottom: 48px; -} -.hidden-toolbar .toolbar.messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -/* === Icons === */ -i.icon { - display: inline-block; - vertical-align: middle; - background-size: 100% auto; - background-position: center; - background-repeat: no-repeat; - font-style: normal; - position: relative; - /* Material Icons http://google.github.io/material-design-icons/ */ -} -i.icon.icon-back { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-forward { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-bars { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-camera { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23333'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'3.2'%2F%3E%3Cpath%20d%3D'M9%202L7.17%204H4c-1.1%200-2%20.9-2%202v12c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2h-3.17L15%202H9zm3%2015c-2.76%200-5-2.24-5-5s2.24-5%205-5%205%202.24%205%205-2.24%205-5%205z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-f7 { - width: 24px; - height: 24px; - background-image: url("../img/i-f7-material.png"); - border-radius: 3px; -} -i.icon.icon-next, -i.icon.icon-prev { - width: 24px; - height: 24px; -} -i.icon.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-plus { - width: 24px; - height: 24px; - font-size: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%2013h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-close { - width: 24px; - height: 24px; - font-size: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -.badge { - font-size: 10px; - display: inline-block; - color: #fff; - background: #8e8e93; - border-radius: 3px; - padding: 1px 6px; - box-sizing: border-box; - vertical-align: middle; -} -.icon .badge { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 1.4; - padding: 1px 5px; -} -/* === Chips === */ -.chip { - font-size: 13px; - font-weight: normal; - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.12); - display: inline-block; - height: 32px; - line-height: 32px; - border-radius: 16px; - padding: 0 12px; - box-sizing: border-box; - vertical-align: middle; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 2px 0; -} -.chip-media { - width: 32px; - height: 32px; - margin-left: -12px; - vertical-align: top; - border-radius: 50%; - text-align: center; - line-height: 32px; - color: #fff; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - font-size: 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.chip-media img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - border-radius: 50%; - display: block; -} -.chip-media + .chip-label { - margin-left: 8px; -} -.chip-label { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - min-width: 0; -} -.chip-label + .chip-delete { - margin-left: 4px; -} -.chip-delete { - margin-right: -8px; - width: 24px; - height: 24px; - text-align: center; - line-height: 24px; - cursor: pointer; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23000'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M12%202C6.47%202%202%206.47%202%2012s4.47%2010%2010%2010%2010-4.47%2010-10S17.53%202%2012%202zm5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-position: center; - background-size: 20px 20px; - opacity: 0.54; -} -html:not(.watch-active-state) .chip-delete:active, -.chip-delete.active-state { - opacity: 1; -} -/* === Content Block === */ -.content-block { - margin: 32px 0; - padding: 0 16px; - box-sizing: border-box; -} -.content-block.no-hairlines:before, -.content-block.no-hairlines ul:before, -.content-block.no-hairlines .content-block-inner:before { - display: none; -} -.content-block.no-hairlines:after, -.content-block.no-hairlines ul:after, -.content-block.no-hairlines .content-block-inner:after { - display: none; -} -.content-block-title { - position: relative; - overflow: hidden; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - line-height: 1; - margin: 16px 16px 16px; - padding-top: 16px; - line-height: 16px; - font-weight: 500; - color: rgba(0, 0, 0, 0.54); -} -.content-block-title + .list-block, -.content-block-title + .content-block, -.content-block-title + .card { - margin-top: 0px; -} -.content-block-inner { - padding: 16px 16px; - margin-left: -16px; - width: 100%; - position: relative; -} -.content-block-inner:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .content-block-inner:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .content-block-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block-inner > p:first-child { - margin-top: 0; -} -.content-block-inner > p:last-child { - margin-bottom: 0; -} -.content-block.inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 7px; -} -.content-block.inset .content-block-inner { - border-radius: 4px; -} -.content-block.inset .content-block-inner:before { - display: none; -} -.content-block.inset .content-block-inner:after { - display: none; -} -@media all and (min-width: 768px) { - .content-block.tablet-inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; - } - .content-block.tablet-inset .content-block-inner { - border-radius: 4px; - } - .content-block.tablet-inset .content-block-inner:before { - display: none; - } - .content-block.tablet-inset .content-block-inner:after { - display: none; - } -} -/* === Lists === */ -.list-block { - margin: 32px 0; - font-size: 16px; -} -.list-block ul { - list-style: none; - padding: 0; - margin: 0; - position: relative; -} -.list-block ul:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .list-block ul:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block ul:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul ul { - padding-left: 56px; -} -.list-block ul ul:before { - display: none; -} -.list-block ul ul:after { - display: none; -} -.list-block .align-top, -.list-block .align-top .item-content, -.list-block .align-top .item-inner { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.list-block.inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; -} -.list-block.inset .content-block-title { - margin-left: 0; - margin-right: 0; -} -.list-block.inset ul { - border-radius: 4px; -} -.list-block.inset ul:before { - display: none; -} -.list-block.inset ul:after { - display: none; -} -.list-block.inset li:first-child > a { - border-radius: 4px 4px 0 0; -} -.list-block.inset li:last-child > a { - border-radius: 0 0 4px 4px; -} -.list-block.inset li:first-child:last-child > a { - border-radius: 4px; -} -@media all and (min-width: 768px) { - .list-block.tablet-inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 4px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 4px 4px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 4px 4px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 4px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 4px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 4px 4px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 4px 4px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 4px; - } -} -.list-block li { - box-sizing: border-box; - position: relative; -} -.list-block .item-media { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - box-sizing: border-box; - padding-top: 8px; - padding-bottom: 8px; - min-width: 40px; -} -.list-block .item-media i + i { - margin-left: 8px; -} -.list-block .item-media i + img { - margin-left: 8px; -} -.list-block .item-media + .item-inner { - margin-left: 16px; -} -.list-block .item-inner { - padding-right: 16px; - position: relative; - width: 100%; - padding-top: 8px; - padding-bottom: 8px; - min-height: 48px; - box-sizing: border-box; - -webkit-box-flex: 1; - -ms-flex: 1; - min-width: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .item-title { - min-width: 0; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -.list-block .item-after { - white-space: nowrap; - color: #757575; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - margin-left: 8px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - max-height: 28px; - font-size: 14px; -} -.list-block .smart-select .item-after, -.list-block .autocomplete-opener .item-after { - max-width: 70%; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - display: block; -} -.list-block .item-link { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: block; - color: inherit; - position: relative; - overflow: hidden; - z-index: 0; -} -.list-block .item-link .item-inner { - padding-right: 42px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; - background-repeat: no-repeat; - background-position: 95% center; - background-position: -webkit-calc(100% - 16px) center; - background-position: calc(100% - 16px) center; -} -html:not(.watch-active-state) .list-block .item-link:active, -.list-block .item-link.active-state { - background-color: rgba(0, 0, 0, 0.1); -} -.list-block .item-link.list-button { - padding: 0 16px; - font-size: 16px; - display: block; - line-height: 48px; -} -.list-block .item-content { - box-sizing: border-box; - padding-left: 16px; - min-height: 48px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.list-block .list-block-label { - margin: 10px 0 35px; - padding: 0 16px; - font-size: 14px; - color: rgba(0, 0, 0, 0.54); -} -.list-block .swipeout { - overflow: hidden; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.list-block .swipeout.deleting { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .swipeout.deleting .swipeout-content { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout.transitioning .swipeout-content, -.list-block .swipeout.transitioning .swipeout-actions-right a, -.list-block .swipeout.transitioning .swipeout-actions-left a, -.list-block .swipeout.transitioning .swipeout-overswipe { - -webkit-transition: 300ms; - transition: 300ms; -} -.list-block .swipeout-content { - position: relative; - z-index: 10; -} -.list-block .swipeout-overswipe { - -webkit-transition: 200ms left; - transition: 200ms left; -} -.list-block .swipeout-actions-left, -.list-block .swipeout-actions-right { - position: absolute; - top: 0; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.list-block .swipeout-actions-left a, -.list-block .swipeout-actions-right a { - padding: 0 24px; - color: #fff; - background: #c7c7cc; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - position: relative; - left: 0; -} -.list-block .swipeout-actions-left a:after, -.list-block .swipeout-actions-right a:after { - content: ''; - position: absolute; - top: 0; - width: 600%; - height: 100%; - background: inherit; - z-index: -1; -} -.list-block .swipeout-actions-left a.swipeout-delete, -.list-block .swipeout-actions-right a.swipeout-delete { - background: #f44336; -} -.list-block .swipeout-actions-right { - right: 0%; - -webkit-transform: translateX(100%); - transform: translateX(100%); -} -.list-block .swipeout-actions-right a:after { - left: 100%; - margin-left: -1px; -} -.list-block .swipeout-actions-left { - left: 0%; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout-actions-left a:after { - right: 100%; - margin-right: -1px; -} -.list-block .item-subtitle { - font-size: 14px; - position: relative; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - text-overflow: ellipsis; -} -.list-block .item-text { - font-size: 14px; - color: #757575; - line-height: 20px; - position: relative; - overflow: hidden; - max-height: 40px; - text-overflow: ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - display: -webkit-box; -} -.list-block.media-list .item-inner, -.list-block li.media-item .item-inner { - display: block; - padding-top: 14px; - padding-bottom: 14px; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block.media-list .item-link .item-inner, -.list-block li.media-item .item-link .item-inner { - background: none; - padding-right: 16px; -} -.list-block.media-list .item-link .item-title-row, -.list-block li.media-item .item-link .item-title-row { - padding-right: 26px; - background: no-repeat right top; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -.list-block.media-list .item-media, -.list-block li.media-item .item-media { - padding-top: 14px; - padding-bottom: 14px; - -ms-flex-item-align: flex-start; - -webkit-align-self: flex-start; - align-self: flex-start; -} -.list-block.media-list .item-media img, -.list-block li.media-item .item-media img { - display: block; -} -.list-block.media-list .item-title-row, -.list-block li.media-item .item-title-row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.list-block.media-list .item-content > .item-after, -.list-block li.media-item .item-content > .item-after { - padding-top: 14px; - padding-bottom: 14px; - -ms-flex-item-align: flex-start; - -webkit-align-self: flex-start; - align-self: flex-start; -} -.list-block .list-group ul:after, -.list-block .list-group ul:before { - z-index: 11; -} -.list-block .list-group + .list-group ul:before { - display: none; -} -.list-block .item-divider, -.list-block .list-group-title { - background: #f4f4f4; - padding: 0px 16px; - white-space: nowrap; - position: relative; - max-width: 100%; - text-overflow: ellipsis; - overflow: hidden; - color: rgba(0, 0, 0, 0.54); - height: 48px; - box-sizing: border-box; - line-height: 48px; - font-size: 14px; -} -.list-block .item-divider:before, -.list-block .list-group-title:before { - display: none; -} -.list-block .list-group-title { - position: relative; - position: -webkit-sticky; - position: -moz-sticky; - position: sticky; - top: 0px; - z-index: 10; - margin-top: 0; -} -.list-block .sortable-handler { - position: absolute; - right: 0; - top: 0; - bottom: 1px; - z-index: 10; - background-repeat: no-repeat; - background-size: 18px 12px; - background-position: center; - width: 50px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2018%2012'%20fill%3D'%23c7c7cc'%3E%3Cpath%20d%3D'M0%2C2V0h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C7V5h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C12v-2h22v2H0z'%2F%3E%3C%2Fsvg%3E"); - opacity: 0; - visibility: hidden; - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable-opened .sortable-handler { - visibility: visible; - opacity: 1; -} -.list-block.sortable-opened .item-inner, -.list-block.sortable-opened .item-link .item-inner { - padding-right: 50px; -} -.list-block.sortable-opened .item-link .item-inner, -.list-block.sortable-opened .item-link .item-title-row { - background-image: none; -} -.list-block.sortable-sorting li { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block li.sorting { - z-index: 50; - background: rgba(255, 255, 255, 0.8); - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.list-block li.sorting .item-inner:after { - display: none; -} -.list-block li:last-child .list-button:after { - display: none; -} -.list-block li:last-child .item-inner:after, -.list-block li:last-child li:last-child .item-inner:after { - display: none; -} -.list-block li li:last-child .item-inner:after, -.list-block li:last-child li .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-2 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-3 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block.no-hairlines:before, -.list-block.no-hairlines ul:before, -.list-block.no-hairlines .content-block-inner:before { - display: none; -} -.list-block.no-hairlines:after, -.list-block.no-hairlines ul:after, -.list-block.no-hairlines .content-block-inner:after { - display: none; -} -.list-block.no-hairlines-between .item-inner:after, -.list-block.no-hairlines-between .list-button:after, -.list-block.no-hairlines-between .item-divider:after, -.list-block.no-hairlines-between .list-group-title:after, -.list-block.no-hairlines-between .list-group-title:after { - display: none; -} -/* === Contacts === */ -.contacts-block { - margin: 0; -} -.contacts-block .list-group-title { - padding: 0 16px; - pointer-events: none; - background: none; - color: #888888; - line-height: 48px; - height: 48px; - font-size: 20px; - font-weight: 500; - overflow: visible; - width: 56px; - top: 0; -} -.contacts-block .list-group-title + li { - margin-top: -48px; -} -.contacts-block .list-group:first-child ul:before { - display: none; -} -.contacts-block .list-group:last-child ul:after { - display: none; -} -.contacts-block li:not(.list-group-title) { - padding-left: 56px; -} -/* === Forms === */ -.list-block input[type="text"], -.list-block input[type="password"], -.list-block input[type="search"], -.list-block input[type="email"], -.list-block input[type="tel"], -.list-block input[type="url"], -.list-block input[type="date"], -.list-block input[type="datetime-local"], -.list-block input[type="time"], -.list-block input[type="number"], -.list-block select, -.list-block textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0 0 0 0; - box-shadow: none; - display: block; - padding: 0; - margin: 0; - width: 100%; - height: 36px; - color: #212121; - font-size: 16px; - font-family: inherit; -} -.list-block input[type="text"]::-webkit-input-placeholder, -.list-block input[type="password"]::-webkit-input-placeholder, -.list-block input[type="search"]::-webkit-input-placeholder, -.list-block input[type="email"]::-webkit-input-placeholder, -.list-block input[type="tel"]::-webkit-input-placeholder, -.list-block input[type="url"]::-webkit-input-placeholder, -.list-block input[type="date"]::-webkit-input-placeholder, -.list-block input[type="datetime-local"]::-webkit-input-placeholder, -.list-block input[type="time"]::-webkit-input-placeholder, -.list-block input[type="number"]::-webkit-input-placeholder, -.list-block select::-webkit-input-placeholder, -.list-block textarea::-webkit-input-placeholder { - color: rgba(0, 0, 0, 0.35); -} -.list-block .label, -.list-block .floating-label { - vertical-align: top; - color: rgba(0, 0, 0, 0.65); - -webkit-transition-duration: 200ms; - transition-duration: 200ms; - width: 35%; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.list-block input[type="date"], -.list-block input[type="datetime-local"] { - line-height: 44px; -} -.list-block select { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; -} -.list-block textarea { - resize: none; - line-height: 1.4; - padding-top: 8px; - padding-bottom: 7px; - height: 100px; -} -.list-block textarea.resizable { - height: 36px; -} -.list-block .item-input { - width: 100%; - -ms-flex: 1; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - font-size: 0; - position: relative; - margin-bottom: 4px; - min-height: 36px; -} -.list-block .input-item ul:after, -.list-block.inputs-list ul:after { - display: none; -} -.list-block .input-item .item-media, -.list-block.inputs-list .item-media { - -ms-flex-item-align: flex-end; - -webkit-align-self: flex-end; - align-self: flex-end; - min-height: 36px; - margin-bottom: 8px; - padding: 0; -} -.list-block .input-item .item-inner, -.list-block.inputs-list .item-inner { - display: block; - margin-bottom: 4px; - padding-bottom: 0; -} -.list-block .input-item .item-inner:after, -.list-block.inputs-list .item-inner:after { - display: none; -} -.list-block .input-item .label, -.list-block.inputs-list .label, -.list-block .input-item .floating-label, -.list-block.inputs-list .floating-label { - width: 100%; - font-size: 12px; -} -.list-block .input-item .floating-label, -.list-block.inputs-list .floating-label { - -webkit-transform-origin: left; - transform-origin: left; - -webkit-transform: scale(1.33333333) translateY(21px); - transform: scale(1.33333333) translateY(21px); - color: rgba(0, 0, 0, 0.35); - width: auto; - max-width: 75%; -} -.list-block .input-item .floating-label ~ .item-input input::-webkit-input-placeholder, -.list-block.inputs-list .floating-label ~ .item-input input::-webkit-input-placeholder { - color: transparent; -} -.list-block .focus-state .floating-label, -.list-block .not-empty-state .floating-label { - color: rgba(0, 0, 0, 0.65); - -webkit-transform: scale(1) translateY(0); - transform: scale(1) translateY(0); -} -.list-block .focus-state .label, -.list-block .focus-state .floating-label { - color: #2196f3; -} -.item-input-field, -.input-field { - position: relative; -} -.item-input-field:after, -.input-field:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .item-input-field:after, -html.pixel-ratio-2 .input-field:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .item-input-field:after, -html.pixel-ratio-3 .input-field:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.item-input-field:after, -.input-field:after { - -webkit-transition-duration: 200ms; - transition-duration: 200ms; -} -.item-input-field.focus-state:after, -.input-field.focus-state:after, -.item-input-field.not-empty-state:after, -.input-field.not-empty-state:after, -.focus-state .item-input-field:after, -.focus-state .input-field:after, -.not-empty-state .item-input-field:after, -.not-empty-state .input-field:after { - background: #2196f3; - -webkit-transform: scaleY(2) !important; - transform: scaleY(2) !important; -} -textarea.resizable { - overflow: hidden; -} -.label-switch { - display: inline-block; - vertical-align: middle; - width: 36px; - height: 14px; - position: relative; - cursor: pointer; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.label-switch .checkbox { - width: 36px; - border-radius: 36px; - box-sizing: border-box; - height: 14px; - background: #b0afaf; - z-index: 0; - margin: 0; - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - cursor: pointer; - position: relative; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch .checkbox:after { - content: ' '; - height: 20px; - width: 20px; - border-radius: 20px; - background: #fff; - position: absolute; - z-index: 2; - top: -3px; - left: 0px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - -webkit-transform: translateX(0px); - transform: translateX(0px); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch input[type="checkbox"] { - display: none; -} -.label-switch input[type="checkbox"]:checked + .checkbox { - background: rgba(33, 150, 243, 0.5); -} -.label-switch input[type="checkbox"]:checked + .checkbox:after { - -webkit-transform: translateX(16px); - transform: translateX(16px); - background: #2196f3; -} -.item-input .label-switch { - top: 11px; -} -.button { - color: #2196f3; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -input[type="submit"].button, -input[type="button"].button { - width: 100%; -} -html:not(.watch-active-state) .button:active, -.button.active-state { - background: rgba(0, 0, 0, 0.1); -} -.button.button-fill { - background-color: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill:active, -.button.button-fill.active-state { - background: #0c82df; -} -.button.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; -} -.button i.icon + span, -.button span:not(.ripple-wave) + span, -.button span:not(.ripple-wave) + i.icon, -.button i.icon + i.icon { - margin-left: 8px; -} -.navbar .button:not(.button-fill), -.toolbar .button:not(.button-fill), -.subnavbar .button:not(.button-fill), -.notifications .button:not(.button-fill) { - color: #fff; -} -html:not(.watch-active-state) .navbar .button:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .button:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .button:not(.button-fill):active, -html:not(.watch-active-state) .notifications .button:not(.button-fill):active, -.navbar .button:not(.button-fill).active-state, -.toolbar .button:not(.button-fill).active-state, -.subnavbar .button:not(.button-fill).active-state, -.notifications .button:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.15); -} -.button-raised { - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} -html:not(.watch-active-state) .button-raised:active, -.button-raised.active-state { - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); -} -.buttons-row { - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.buttons-row .button { - margin-left: 16px; - width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1; -} -.buttons-row .button:first-child { - margin-left: 0; -} -.range-slider { - width: 100%; - position: relative; - overflow: hidden; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.range-slider input[type="range"] { - position: relative; - height: 20px; - width: 100%; - margin: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #b9b9b9), color-stop(100%, #b9b9b9)); - background: linear-gradient(to right, #b9b9b9 0, #b9b9b9 100%); - background-position: center; - background-size: 100% 2px; - background-repeat: no-repeat; - outline: 0; - -ms-background-position-y: 500px; -} -.range-slider input[type="range"]:focus, -.range-slider input[type="range"]:active { - border: 0; - outline: 0 none; -} -.range-slider input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: #2196f3; - border-radius: 20px; -} -.range-slider input[type="range"]::-webkit-slider-thumb:before { - position: absolute; - top: 50%; - right: 100%; - width: 2000px; - height: 2px; - margin-top: -1px; - z-index: 1; - background: #2196f3; - content: ' '; -} -.range-slider input[type="range"]::-moz-range-track { - width: 100%; - height: 2px; - background: #b7b8b7; - border: none; - outline: 0; -} -.range-slider input[type="range"]::-moz-range-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: #2196f3; - border-radius: 20px; -} -.range-slider input[type="range"]::-ms-track { - width: 100%; - height: 2px; - cursor: pointer; - background: transparent; - border-color: transparent; - color: transparent; -} -.range-slider input[type="range"]::-ms-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: #2196f3; - border-radius: 20px; -} -.range-slider input[type="range"]::-ms-fill-lower { - background: #2196f3; -} -.range-slider input[type="range"]::-ms-fill-upper { - background: #b7b8b7; -} -.item-input .range-slider { - top: 8px; -} -label.label-checkbox { - cursor: pointer; -} -label.label-checkbox i.icon-form-checkbox { - width: 18px; - height: 18px; - position: relative; - border-radius: 2px; - border: 2px solid #6d6d6d; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - background: transparent; -} -label.label-checkbox i.icon-form-checkbox:after { - content: ' '; - position: absolute; - width: 18px; - height: 18px; - left: -2px; - top: -2px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 0; - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 100% auto; - background-size: 100% auto; -} -label.label-checkbox input[type="checkbox"], -label.label-checkbox input[type="radio"] { - display: none; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #2196f3; - background-color: #2196f3; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox:after, -label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox:after, -label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox:after { - opacity: 1; -} -label.label-radio { - cursor: pointer; -} -label.label-radio i.icon-form-radio { - width: 20px; - height: 20px; - position: relative; - border-radius: 20px; - border: 2px solid #6d6d6d; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -label.label-radio i.icon-form-radio:after { - content: ' '; - position: absolute; - width: 10px; - height: 10px; - left: 50%; - top: 50%; - margin-left: -5px; - margin-top: -5px; - background-color: #2196f3; - border-radius: 100%; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -label.label-radio input[type="checkbox"], -label.label-radio input[type="radio"] { - display: none; -} -label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #2196f3; -} -label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #2196f3; - -webkit-transform: scale(1); - transform: scale(1); -} -label.label-checkbox, -label.label-radio { - position: relative; - overflow: hidden; - z-index: 0; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -label.label-checkbox .item-after i.icon-form-checkbox, -label.label-radio .item-after i.icon-form-checkbox, -label.label-checkbox .item-after i.icon-form-radio, -label.label-radio .item-after i.icon-form-radio { - margin-left: 8px; - margin-right: 16px; -} -.media-list label.label-checkbox .item-media i.icon-form-checkbox, -.media-list label.label-radio .item-media i.icon-form-checkbox, -.media-item label.label-checkbox .item-media i.icon-form-checkbox, -.media-item label.label-radio .item-media i.icon-form-checkbox, -.media-list label.label-checkbox .item-media i.icon-form-radio, -.media-list label.label-radio .item-media i.icon-form-radio, -.media-item label.label-checkbox .item-media i.icon-form-radio, -.media-item label.label-radio .item-media i.icon-form-radio { - margin-top: 4px; -} -html:not(.watch-active-state) label.label-checkbox:active, -html:not(.watch-active-state) label.label-radio:active, -label.label-checkbox.active-state, -label.label-radio.active-state { - background-color: rgba(0, 0, 0, 0.1); -} -html:not(.watch-active-state) label.label-checkbox:active .item-inner:after, -html:not(.watch-active-state) label.label-radio:active .item-inner:after, -label.label-checkbox.active-state .item-inner:after, -label.label-radio.active-state .item-inner:after { - background-color: transparent; -} -.smart-select select { - display: none; -} -/* === Floating Action Button === */ -.floating-button { - position: absolute; - right: 16px; - bottom: 16px; - width: 56px; - height: 56px; - border-radius: 50%; - z-index: 1500; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); - background-color: #2196f3; - color: #fff; - overflow: hidden; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -html:not(.watch-active-state) .floating-button:active, -.floating-button.active-state { - background: #0c82df; -} -.floating-button-toolbar, -.speed-dial { - position: absolute; - right: 16px; - bottom: 16px; - z-index: 1500; -} -.floating-button-toolbar .floating-button, -.speed-dial .floating-button { - right: 0; - bottom: 0; - position: relative; -} -.speed-dial .floating-button i { - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.speed-dial .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - opacity: 1; -} -.speed-dial-buttons { - position: absolute; - width: 40px; - left: 50%; - margin-left: -20px; - bottom: 100%; - margin-bottom: 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -moz-box-orient: vertical; - -moz-box-direction: reverse; - -ms-flex-direction: column-reverse; - -webkit-flex-direction: column-reverse; - flex-direction: column-reverse; - visibility: hidden; - pointer-events: none; -} -.speed-dial-buttons a { - width: 40px; - height: 40px; - opacity: 0; - color: #fff; - border-radius: 50%; - position: relative; - z-index: 1; - overflow: hidden; - background-color: #2196f3; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-transform: translate3d(0, 8px, 0) scale(0.3); - transform: translate3d(0, 8px, 0) scale(0.3); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} -html:not(.watch-active-state) .speed-dial-buttons a:active, -.speed-dial-buttons a.active-state { - background: #0c82df; -} -.speed-dial-buttons a + a { - margin-bottom: 16px; -} -.speed-dial-opened .speed-dial-buttons { - visibility: visible; - pointer-events: auto; -} -.speed-dial-opened .speed-dial-buttons a { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scaleY(1); - transform: translate3d(0, 0, 0) scaleY(1); - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} -.speed-dial-opened .speed-dial-buttons a:nth-child(2) { - -webkit-transition-delay: 50ms; - transition-delay: 50ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(3) { - -webkit-transition-delay: 100ms; - transition-delay: 100ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(4) { - -webkit-transition-delay: 150ms; - transition-delay: 150ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(5) { - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(6) { - -webkit-transition-delay: 250ms; - transition-delay: 250ms; -} -.floating-button-to-popover.floating-button-to-popover { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-in { - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-in i { - opacity: 0; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-scale { - border-radius: 0; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - box-shadow: none; -} -.floating-button-to-popover.floating-button-to-popover-out { - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-out i { - opacity: 1; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -/* === Accordion === */ -.list-block .accordion-item-toggle { - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .accordion-item-toggle .item-inner { - padding-right: 42px; - background: no-repeat -webkit-calc(100% - 15px) center; - background: no-repeat calc(100% - 15px) center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active, -.list-block .accordion-item-toggle.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active > .item-inner:after, -.list-block .accordion-item-toggle.active-state > .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item-toggle .item-inner, -.list-block .accordion-item > .item-link .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: background-color; - transition-property: background-color; -} -.list-block .accordion-item-toggle .item-inner:after, -.list-block .accordion-item > .item-link .item-inner:after { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, -.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, -.list-block.media-list .accordion-item-expanded > .item-link .item-title-row, -.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, -.list-block .accordion-item-expanded.media-item > .item-link .item-title-row { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(115%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 20px 20px; -} -.list-block .accordion-item-expanded .accordion-item-toggle .item-inner:after, -.list-block .accordion-item-expanded > .item-link .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item .content-block, -.list-block .accordion-item .list-block { - margin-top: 0; - margin-bottom: 0; -} -.list-block .accordion-item ul { - padding-left: 0; -} -.accordion-item-content { - position: relative; - overflow: hidden; - height: 0; - font-size: 14px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.accordion-item-expanded > .accordion-item-content { - height: auto; -} -html.android-4 .accordion-item-content { - -webkit-transform: none; - transform: none; -} -/* === Cards === */ -.cards-list ul, -.card .list-block ul { - background: none; -} -.cards-list > ul:before, -.card .list-block > ul:before { - display: none; -} -.cards-list > ul:after, -.card .list-block > ul:after { - display: none; -} -.card { - background: #fff; - margin: 8px; - position: relative; - border-radius: 2px; - font-size: 14px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} -.card .list-block, -.card .content-block { - margin: 0; -} -.row:not(.no-gutter) .col > .card { - margin-left: 0; - margin-right: 0; -} -.page-content > .card:last-child { - margin-bottom: 32px; -} -.card-content { - position: relative; -} -.card-content-inner { - padding: 16px; - position: relative; -} -.card-content-inner > p:first-child { - margin-top: 0; -} -.card-content-inner > p:last-child { - margin-bottom: 0; -} -.card-content-inner > .list-block, -.card-content-inner > .content-block { - margin: -15px; -} -.card-header, -.card-footer { - min-height: 48px; - position: relative; - padding: 4px 16px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.card-header[valign="top"], -.card-footer[valign="top"] { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.card-header[valign="bottom"], -.card-footer[valign="bottom"] { - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.card-header a.link, -.card-footer a.link { - color: #2196f3; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - user-select: none; -} -input[type="submit"].card-header a.link, -input[type="submit"].card-footer a.link, -input[type="button"].card-header a.link, -input[type="button"].card-footer a.link { - width: 100%; -} -html:not(.watch-active-state) .card-header a.link:active, -html:not(.watch-active-state) .card-footer a.link:active, -.card-header a.link.active-state, -.card-footer a.link.active-state { - background: rgba(0, 0, 0, 0.1); -} -.card-header a.link.button-fill, -.card-footer a.link.button-fill { - background-color: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .card-header a.link.button-fill:active, -html:not(.watch-active-state) .card-footer a.link.button-fill:active, -.card-header a.link.button-fill.active-state, -.card-footer a.link.button-fill.active-state { - background: #0c82df; -} -.card-header a.link.button-big, -.card-footer a.link.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; -} -.card-header a.link i.icon + span, -.card-footer a.link i.icon + span, -.card-header a.link span:not(.ripple-wave) + span, -.card-footer a.link span:not(.ripple-wave) + span, -.card-header a.link span:not(.ripple-wave) + i.icon, -.card-footer a.link span:not(.ripple-wave) + i.icon, -.card-header a.link i.icon + i.icon, -.card-footer a.link i.icon + i.icon { - margin-left: 8px; -} -.navbar .card-header a.link:not(.button-fill), -.navbar .card-footer a.link:not(.button-fill), -.toolbar .card-header a.link:not(.button-fill), -.toolbar .card-footer a.link:not(.button-fill), -.subnavbar .card-header a.link:not(.button-fill), -.subnavbar .card-footer a.link:not(.button-fill), -.notifications .card-header a.link:not(.button-fill), -.notifications .card-footer a.link:not(.button-fill) { - color: #fff; -} -html:not(.watch-active-state) .navbar .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .navbar .card-footer a.link:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .card-footer a.link:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .card-footer a.link:not(.button-fill):active, -html:not(.watch-active-state) .notifications .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .notifications .card-footer a.link:not(.button-fill):active, -.navbar .card-header a.link:not(.button-fill).active-state, -.navbar .card-footer a.link:not(.button-fill).active-state, -.toolbar .card-header a.link:not(.button-fill).active-state, -.toolbar .card-footer a.link:not(.button-fill).active-state, -.subnavbar .card-header a.link:not(.button-fill).active-state, -.subnavbar .card-footer a.link:not(.button-fill).active-state, -.notifications .card-header a.link:not(.button-fill).active-state, -.notifications .card-footer a.link:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.15); -} -.card-header a.link i + span, -.card-footer a.link i + span, -.card-header a.link i + i, -.card-footer a.link i + i, -.card-header a.link span + i, -.card-footer a.link span + i, -.card-header a.link span + span, -.card-footer a.link span + span { - margin-left: 7px; -} -.card-header a.link i.icon, -.card-footer a.link i.icon { - display: block; -} -.card-header a.icon-only, -.card-footer a.icon-only { - min-width: 48px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 0; -} -.card-header { - border-radius: 2px 2px 0 0; - font-size: 16px; -} -.card-header:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .card-header:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-header:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-header.no-border:after { - display: none; -} -.card-footer { - border-radius: 0 0 2px 2px; - color: #757575; -} -.card-footer:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .card-footer:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-footer:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-footer.no-border:before { - display: none; -} -/* === Modals === */ -.modal-overlay, -.preloader-indicator-overlay, -.popup-overlay, -.picker-modal-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.4); - z-index: 13000; - visibility: hidden; - opacity: 0; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.modal-overlay.modal-overlay-visible, -.preloader-indicator-overlay.modal-overlay-visible, -.popup-overlay.modal-overlay-visible, -.picker-modal-overlay.modal-overlay-visible { - visibility: visible; - opacity: 1; -} -.popup-overlay { - z-index: 10500; -} -.picker-modal-overlay { - z-index: 12000; -} -.modal { - width: 280px; - position: absolute; - z-index: 13500; - left: 50%; - margin-left: -140px; - margin-top: 0; - top: 50%; - border-radius: 3px; - opacity: 0; - -webkit-transform: translate3d(0, 0, 0) scale(1.185); - transform: translate3d(0, 0, 0) scale(1.185); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -ms-transition-property: -ms-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - color: #757575; - display: none; - background: #fff; - font-size: 16px; - box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); -} -.modal.modal-in { - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} -.modal.modal-out { - opacity: 0; - z-index: 13499; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(0.815); - transform: translate3d(0, 0, 0) scale(0.815); -} -.modal-inner { - padding: 24px 24px 20px; - position: relative; -} -.modal-title { - font-weight: 500; - font-size: 20px; - color: #212121; - line-height: 1.3; -} -.modal-title + .modal-text { - margin-top: 20px; -} -.modal-text { - line-height: 1.5; -} -.modal-buttons { - height: 48px; - padding: 6px 8px; - overflow: hidden; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} -.modal-buttons.modal-buttons-vertical { - display: block; - height: auto; - padding: 0 0 8px 0; -} -.modal-buttons.modal-buttons-vertical .modal-button { - margin-left: 0; - text-align: right; - height: 48px; - line-height: 48px; - border-radius: 0; - padding-left: 16px; - padding-right: 16px; -} -.modal-button, -.modal-buttons .button { - color: #2196f3; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - user-select: none; -} -input[type="submit"].modal-button, -input[type="submit"].modal-buttons .button, -input[type="button"].modal-button, -input[type="button"].modal-buttons .button { - width: 100%; -} -html:not(.watch-active-state) .modal-button:active, -html:not(.watch-active-state) .modal-buttons .button:active, -.modal-button.active-state, -.modal-buttons .button.active-state { - background: rgba(0, 0, 0, 0.1); -} -.modal-button.button-fill, -.modal-buttons .button.button-fill { - background-color: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .modal-button.button-fill:active, -html:not(.watch-active-state) .modal-buttons .button.button-fill:active, -.modal-button.button-fill.active-state, -.modal-buttons .button.button-fill.active-state { - background: #0c82df; -} -.modal-button.button-big, -.modal-buttons .button.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; -} -.modal-button i.icon + span, -.modal-buttons .button i.icon + span, -.modal-button span:not(.ripple-wave) + span, -.modal-buttons .button span:not(.ripple-wave) + span, -.modal-button span:not(.ripple-wave) + i.icon, -.modal-buttons .button span:not(.ripple-wave) + i.icon, -.modal-button i.icon + i.icon, -.modal-buttons .button i.icon + i.icon { - margin-left: 8px; -} -.navbar .modal-button:not(.button-fill), -.navbar .modal-buttons .button:not(.button-fill), -.toolbar .modal-button:not(.button-fill), -.toolbar .modal-buttons .button:not(.button-fill), -.subnavbar .modal-button:not(.button-fill), -.subnavbar .modal-buttons .button:not(.button-fill), -.notifications .modal-button:not(.button-fill), -.notifications .modal-buttons .button:not(.button-fill) { - color: #fff; -} -html:not(.watch-active-state) .navbar .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .navbar .modal-buttons .button:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .modal-buttons .button:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .modal-buttons .button:not(.button-fill):active, -html:not(.watch-active-state) .notifications .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .notifications .modal-buttons .button:not(.button-fill):active, -.navbar .modal-button:not(.button-fill).active-state, -.navbar .modal-buttons .button:not(.button-fill).active-state, -.toolbar .modal-button:not(.button-fill).active-state, -.toolbar .modal-buttons .button:not(.button-fill).active-state, -.subnavbar .modal-button:not(.button-fill).active-state, -.subnavbar .modal-buttons .button:not(.button-fill).active-state, -.notifications .modal-button:not(.button-fill).active-state, -.notifications .modal-buttons .button:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.15); -} -.modal-button.modal-button-bold, -.modal-buttons .button.modal-button-bold { - font-weight: 700; -} -.modal-button + .modal-button, -.modal-buttons .button + .modal-button { - margin-left: 4px; -} -.modal-no-buttons .modal-buttons { - display: none; -} -.actions-modal { - position: absolute; - left: 0; - bottom: 0; - z-index: 13500; - width: 100%; - background: #fff; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - max-height: 100%; - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.actions-modal.modal-in { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.actions-modal.modal-out { - z-index: 13499; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.actions-modal-group { - position: relative; -} -.actions-modal-group:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #d2d2d6; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-modal-group:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-modal-group:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-modal-group:last-child:after { - display: none; -} -.actions-modal-button, -.actions-modal-label { - width: 100%; - font-weight: normal; - margin: 0; - box-sizing: border-box; - display: block; - position: relative; - padding: 0 16px; -} -.actions-modal-button a, -.actions-modal-label a { - text-decoration: none; - color: inherit; - display: block; -} -.actions-modal-button b, -.actions-modal-label b { - font-weight: 500; -} -.actions-modal-button.actions-modal-button-bold, -.actions-modal-label.actions-modal-button-bold { - font-weight: 500; -} -.actions-modal-button.actions-modal-button-red, -.actions-modal-label.actions-modal-button-red { - color: #f44336; -} -.actions-modal-button.disabled, -.actions-modal-label.disabled { - opacity: 0.95; - color: #9e9e9e; -} -.actions-modal-button { - cursor: pointer; - line-height: 48px; - font-size: 16px; - color: rgba(0, 0, 0, 0.87); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.actions-modal-button a, -.actions-modal-button { - position: relative; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -html:not(.watch-active-state) .actions-modal-button:active, -.actions-modal-button.active-state { - background: rgba(0, 0, 0, 0.1); -} -.actions-modal-label { - font-size: 16px; - color: rgba(0, 0, 0, 0.54); - min-height: 56px; - line-height: 1.3; - padding-top: 12px; - padding-bottom: 12px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -input.modal-text-input { - box-sizing: border-box; - height: 36px; - background: #fff; - margin: 0; - margin-top: 15px; - padding: 0; - border: none; - width: 100%; - font-size: 16px; - font-family: inherit; - display: block; - box-shadow: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-transition-duration: 200ms; - transition-duration: 200ms; -} -input.modal-text-input::-webkit-input-placeholder { - color: rgba(0, 0, 0, 0.35); -} -input.modal-text-input + input.modal-text-input { - margin-top: 16px; -} -.popover { - width: 320px; - background: #fff; - z-index: 13500; - margin: 0; - top: 0; - opacity: 0; - left: 0; - border-radius: 3px; - position: absolute; - display: none; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - -webkit-transform: scale(0.85, 0.6); - transform: scale(0.85, 0.6); - -webkit-transition-property: opacity, -webkit-transform, border-radius; - -moz-transition-property: opacity, -moz-transform, border-radius; - transition-property: opacity, transform, border-radius; -} -.popover.popover-on-top { - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} -.popover.popover-on-bottom { - -webkit-transform-origin: center top; - transform-origin: center top; -} -.popover.modal-in { - -webkit-transform: scale(1); - transform: scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 1; -} -.popover.modal-out { - -webkit-transform: scale(1); - transform: scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 0; -} -.popover .list-block { - margin: 0; -} -.popover .list-block:first-child:last-child ul:before { - display: none; -} -.popover .list-block:first-child:last-child ul:after { - display: none; -} -.popover .list-block ul { - background: none; -} -.popover .list-block ul:before { - display: none; -} -.popover .list-block:first-child ul { - border-radius: 3px 3px 0 0; -} -.popover .list-block:first-child li:first-child a { - border-radius: 3px 3px 0 0; -} -.popover .list-block:last-child ul { - border-radius: 0 0 3px 3px; -} -.popover .list-block:last-child ul:after { - display: none; -} -.popover .list-block:last-child li:last-child a { - border-radius: 0 0 3px 3px; -} -.popover .list-block:first-child:last-child li:first-child:last-child a, -.popover .list-block:first-child:last-child ul:first-child:last-child { - border-radius: 3px; -} -.popover.popover-floating-button { - -webkit-transform-origin: center center; - transform-origin: center center; - -webkit-transform: scale(0.7); - transform: scale(0.7); - border-radius: 50%; - box-shadow: none; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} -.popover.popover-floating-button.modal-in { - border-radius: 0%; - -webkit-transform: scale(1); - transform: scale(1); - -webkit-transition-delay: 200ms; - transition-delay: 200ms; - -webkit-transition-duration: 200ms; - transition-duration: 200ms; -} -.popover.popover-floating-button.modal-out { - border-radius: 50%; - -webkit-transform: scale(0.7); - transform: scale(0.7); - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.popover.popover-floating-button .list-block { - margin: 0; -} -.popover.popover-floating-button .list-block:first-child ul { - border-radius: 0; -} -.popover.popover-floating-button .list-block:first-child li:first-child a { - border-radius: 0; -} -.popover.popover-floating-button .list-block:last-child ul { - border-radius: 0; -} -.popover.popover-floating-button .list-block:last-child li:last-child a { - border-radius: 0; -} -.popover.popover-floating-button .list-block:first-child:last-child li:first-child:last-child a, -.popover.popover-floating-button .list-block:first-child:last-child ul:first-child:last-child { - border-radius: 0; -} -.popover-inner { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.actions-popover .list-block { - margin: 0; -} -.actions-popover-label { - padding: 8px 16px; - color: rgba(0, 0, 0, 0.54); - font-size: 16px; - line-height: 1.3; - padding-top: 12px; - padding-bottom: 12px; - position: relative; -} -.actions-popover-label:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #d2d2d6; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-popover-label:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-popover-label:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-popover-label:last-child:after { - display: none; -} -.popup, -.login-screen { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11000; - background: #fff; - box-sizing: border-box; - display: none; - overflow: auto; - -webkit-overflow-scrolling: touch; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.popup.modal-in, -.login-screen.modal-in, -.popup.modal-out, -.login-screen.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.popup.modal-in, -.login-screen.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.popup.modal-out, -.login-screen.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.login-screen.modal-in, -.login-screen.modal-out { - display: block; -} -@media all and (min-width: 630px) and (min-height: 630px) { - .popup:not(.tablet-fullscreen) { - width: 630px; - height: 630px; - left: 50%; - top: 50%; - margin-left: -315px; - margin-top: -315px; - box-shadow: 0px 20px 44px rgba(0, 0, 0, 0.5); - border-radius: 3px; - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } - .popup:not(.tablet-fullscreen).modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .popup:not(.tablet-fullscreen).modal-out { - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } -} -@media all and (max-width: 629px), (max-height: 629px) { - html.with-statusbar-overlay .popup { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; - } - html.with-statusbar-overlay .popup-overlay { - z-index: 9500; - } -} -html.with-statusbar-overlay .login-screen, -html.with-statusbar-overlay .popup.tablet-fullscreen { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.modal-preloader .modal-title, -.modal-preloader .modal-inner { - text-align: center; -} -.preloader-indicator-overlay { - visibility: visible; - opacity: 0; - background: none; -} -.preloader-indicator-modal { - position: absolute; - left: 50%; - top: 50%; - padding: 8px; - margin-left: -24px; - margin-top: -24px; - background: rgba(0, 0, 0, 0.8); - z-index: 13500; - border-radius: 4px; -} -.preloader-indicator-modal .preloader { - display: block; -} -.picker-modal { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 260px; - z-index: 12000; - display: none; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - background: #fff; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal.modal-in, -.picker-modal.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.picker-modal.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal .picker-modal-inner { - height: 100%; - position: relative; -} -.picker-modal .toolbar { - position: relative; - width: 100%; - top: 0; -} -.picker-modal .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 48px); - height: -moz-calc(100% - 48px); - height: calc(100% - 48px); -} -.picker-modal .toolbar a.link { - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.picker-modal .picker-header, -.picker-modal .picker-footer { - height: 48px; -} -.picker-modal .picker-header { - background: #2196f3; -} -.picker-modal .picker-header + .toolbar .toolbar-inner { - overflow: visible; -} -.picker-modal .picker-header + .picker-footer + .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 48px * 3); - height: -moz-calc(100% - 48px * 3); - height: calc(100% - 48px * 3); -} -.picker-modal .picker-footer { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 48px; - padding: 6px 8px; - overflow: hidden; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} -.picker-modal .picker-footer.modal-buttons-vertical { - display: block; - height: auto; - padding: 0 0 8px 0; -} -.picker-modal .picker-footer.modal-buttons-vertical .modal-button { - margin-left: 0; - text-align: right; - height: 48px; - line-height: 48px; - border-radius: 0; - padding-left: 16px; - padding-right: 16px; -} -.picker-modal .picker-header + .picker-modal-inner, -.picker-modal .picker-footer + .picker-modal-inner { - height: -webkit-calc(100% - 48px); - height: -moz-calc(100% - 48px); - height: calc(100% - 48px); -} -.picker-modal .picker-header + .toolbar + .picker-modal-inner, -.picker-modal .picker-footer + .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 48px * 2); - height: -moz-calc(100% - 48px * 2); - height: calc(100% - 48px * 2); -} -.picker-modal.picker-modal-inline, -.popover .picker-modal { - display: block; - position: relative; - background: none; - z-index: inherit; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.picker-modal-inline .toolbar, -.popover .picker-modal .toolbar { - top: 0; -} -.popover .picker-modal { - width: auto; -} -.popover .picker-modal .toolbar:first-child, -.popover .picker-modal .picker-header:first-child { - border-radius: 2px 2px 0 0; -} -.picker-modal.smart-select-picker .list-block { - margin: 0; -} -.picker-modal.smart-select-picker .list-block ul:before { - display: none; -} -.picker-modal.smart-select-picker .list-block ul:after { - display: none; -} -/* === Panels === */ -.panel-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.2); - opacity: 0; - z-index: 5999; - display: none; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.panel { - z-index: 1000; - display: none; - background: #fff; - box-sizing: border-box; - overflow: auto; - -webkit-overflow-scrolling: touch; - position: absolute; - width: 260px; - top: 0; - height: 100%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.panel.panel-left.panel-cover { - z-index: 6000; - left: -260px; -} -.panel.panel-left.panel-reveal { - left: 0; -} -.panel.panel-right.panel-cover { - z-index: 6000; - right: -260px; -} -.panel.panel-right.panel-reveal { - right: 0; -} -body.with-panel-left-cover .panel, -body.with-panel-right-cover .panel { - box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); -} -body.with-panel-left-cover .views, -body.with-panel-right-cover .views { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body.with-panel-left-cover .panel-overlay, -body.with-panel-right-cover .panel-overlay { - display: block; - opacity: 1; -} -body.with-panel-left-reveal .views, -body.with-panel-right-reveal .views { - box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: -webkit-transform, box-shadow; - -moz-transition-property: -moz-transform, box-shadow; - transition-property: transform, box-shadow; -} -body.with-panel-left-reveal .panel-overlay, -body.with-panel-right-reveal .panel-overlay { - background: rgba(0, 0, 0, 0); - display: block; - opacity: 0; -} -body.with-panel-left-reveal .views { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-left-reveal .panel-overlay { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-left-cover .panel-left { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-right-reveal .views { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.with-panel-right-reveal .panel-overlay { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.with-panel-right-cover .panel-right { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.panel-closing .panel-overlay { - display: block; -} -body.panel-closing .views { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: -webkit-transform, box-shadow; - -moz-transition-property: -moz-transform, box-shadow; - transition-property: transform, box-shadow; -} -/* === Images Lazy Loading === */ -.lazy-loaded.lazy-fadeIn { - -webkit-animation: lazyFadeIn 600ms; - animation: lazyFadeIn 600ms; -} -@-webkit-keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -/* === Tabs === */ -.tabs .tab { - display: none; -} -.tabs .tab.active { - display: block; -} -.tabs-animated-wrap { - position: relative; - width: 100%; - overflow: hidden; - height: 100%; -} -.tabs-animated-wrap > .tabs { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.tabs-animated-wrap > .tabs > .tab { - width: 100%; - display: block; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.tabs-swipeable-wrap { - height: 100%; -} -.tabs-swipeable-wrap > .tabs > .tab { - display: block; -} -/* === Messages === */ -.messages-content { - background: #eee; -} -.messages { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.messages-date { - text-align: center; - font-weight: 500; - font-size: 12px; - line-height: 1; - margin: 10px 15px; -} -.messages-date span { - font-weight: 400; -} -.message { - box-sizing: border-box; - margin: 0px 8px 8px 8px; - max-width: 80%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.message:first-child { - margin-top: 8px; -} -.message.message-pic img { - display: block; -} -.message-name, -.message-label, -.message-date, -.messages-date { - color: rgba(0, 0, 0, 0.51); -} -.message-name { - font-size: 12px; - line-height: 1; - margin-bottom: 2px; - margin-top: 7px; -} -.message-hide-name .message-name { - display: none; -} -.message-label { - font-size: 12px; - line-height: 1; - margin-top: 4px; -} -.message-hide-label .message-label { - display: none; -} -.message-avatar { - width: 48px; - height: 48px; - border-radius: 100%; - margin-top: -48px; - position: relative; - top: 1px; - background-size: cover; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.message-hide-avatar .message-avatar { - opacity: 0; -} -.message-text { - box-sizing: border-box; - border-radius: 2px; - padding: 6px 8px; - min-width: 48px; - font-size: 16px; - line-height: 1.2; - word-break: break-word; - color: #333; - min-height: 48px; - position: relative; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.message-text img { - max-width: 100%; - height: auto; -} -.message-pic .message-text { - padding: 8px; -} -.message-date { - font-size: 12px; - margin-top: 4px; -} -.message-pic img + .message-date { - margin-top: 8px; -} -.message-sent { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.message-sent .message-name, -.message-sent .message-label { - margin-right: 8px; -} -.message-sent .message-text { - background-color: #C8E6C9; - margin-left: auto; - border-radius: 2px 2px 0 2px; - margin-right: 8px; -} -.message-sent .message-text:before { - position: absolute; - content: ''; - border-left: 0px solid transparent; - border-right: 8px solid transparent; - border-bottom: 8px solid #C8E6C9; - left: 100%; - bottom: 0; - width: 0; - height: 0; -} -.message-sent.message-with-avatar .message-text, -.message-sent.message-with-avatar .message-name, -.message-sent.message-with-avatar .message-label { - margin-right: 56px; -} -.message-received { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.message-received .message-text { - background-color: #fff; - border-radius: 2px 2px 2px 0px; - margin-left: 8px; -} -.message-received .message-text:before { - position: absolute; - content: ''; - border-left: 8px solid transparent; - border-right: 0px solid transparent; - border-bottom: 8px solid #fff; - right: 100%; - bottom: 0; - width: 0; - height: 0; -} -.message-received .message-name, -.message-received .message-label { - margin-left: 8px; -} -.message-received.message-with-avatar .message-text, -.message-received.message-with-avatar .message-name, -.message-received.message-with-avatar .message-label { - margin-left: 56px; -} -.message-appear-from-bottom { - -webkit-animation: messageAppearFromBottom 400ms; - animation: messageAppearFromBottom 400ms; -} -.message-appear-from-top { - -webkit-animation: messageAppearFromTop 400ms; - animation: messageAppearFromTop 400ms; -} -@-webkit-keyframes messageAppearFromBottom { - from { - -webkit-transform: translate3d(0, 100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromBottom { - from { - transform: translate3d(0, 100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes messageAppearFromTop { - from { - -webkit-transform: translate3d(0, -100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromTop { - from { - transform: translate3d(0, -100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -/* === Statusbar overlay === */ -html.with-statusbar-overlay body { - padding-top: 20px; - box-sizing: border-box; -} -html.with-statusbar-overlay body .statusbar-overlay { - display: block; -} -html.with-statusbar-overlay body .panel { - padding-top: 20px; -} -.statusbar-overlay { - background: #2196f3; - z-index: 10000; - position: absolute; - left: 0; - top: 0; - height: 20px; - width: 100%; - display: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -/* === - Preloader - By Rudi Theunissen (https://github.com/rtheunissen/md-preloader) -=== */ -.preloader { - font-size: 0; - display: inline-block; - width: 32px; - height: 32px; - -webkit-animation: preloader-outer 3300ms linear infinite; - animation: preloader-outer 3300ms linear infinite; -} -.preloader svg { - width: 100%; - height: 100%; - -webkit-animation: preloader-inner 1320ms linear infinite; - animation: preloader-inner 1320ms linear infinite; -} -.preloader svg circle { - fill: none; - stroke: #757575; - stroke-linecap: square; - -webkit-animation: preloader-arc 1320ms cubic-bezier(0.8, 0, 0.4, 0.8) infinite; - animation: preloader-arc 1320ms cubic-bezier(0.8, 0, 0.4, 0.8) infinite; -} -@-webkit-keyframes preloader-outer { - 0% { - -webkit-transform: rotate(0); - } - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes preloader-outer { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} -@-webkit-keyframes preloader-inner { - 0% { - -webkit-transform: rotate(-100.8deg); - } - 100% { - -webkit-transform: rotate(0); - } -} -@keyframes preloader-inner { - 0% { - transform: rotate(-100.8deg); - } - 100% { - transform: rotate(0); - } -} -@-webkit-keyframes preloader-arc { - 0% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: 151.55042961px, 210.48670779px; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: -151.55042961px; - } -} -@keyframes preloader-arc { - 0% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: 151.55042961px, 210.48670779px; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: -151.55042961px; - } -} -.preloader-inner { - position: relative; - display: block; - width: 100%; - height: 100%; - -webkit-animation: preloader-inner-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; - animation: preloader-inner-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; -} -.preloader-inner .preloader-inner-gap { - position: absolute; - width: 2px; - left: 50%; - margin-left: -1px; - top: 0; - bottom: 0; - box-sizing: border-box; - border-top: 4px solid #757575; -} -.preloader-inner .preloader-inner-left, -.preloader-inner .preloader-inner-right { - position: absolute; - top: 0; - height: 100%; - width: 50%; - overflow: hidden; -} -.preloader-inner .preloader-inner-half-circle { - position: absolute; - top: 0; - height: 100%; - width: 200%; - box-sizing: border-box; - border: 4px solid #757575; - border-bottom-color: transparent !important; - border-radius: 50%; - -webkit-animation-iteration-count: infinite; - -webkit-animation-duration: 1.3125s; - -webkit-animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); - animation-iteration-count: infinite; - animation-duration: 1.3125s; - animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); -} -.preloader-white .preloader-inner .preloader-inner-gap, -.preloader-white .preloader-inner .preloader-inner-half-circle { - border-color: #fff; -} -.preloader-inner .preloader-inner-left { - left: 0; -} -.preloader-inner .preloader-inner-left .preloader-inner-half-circle { - left: 0; - border-right-color: transparent !important; - -webkit-animation-name: preloader-left-rotate; - animation-name: preloader-left-rotate; -} -.preloader-inner .preloader-inner-right { - right: 0; -} -.preloader-inner .preloader-inner-right .preloader-inner-half-circle { - right: 0; - border-left-color: transparent !important; - -webkit-animation-name: preloader-right-rotate; - animation-name: preloader-right-rotate; -} -.color-multi .preloader-inner .preloader-inner-left .preloader-inner-half-circle { - -webkit-animation-name: preloader-left-rotate-multicolor; - animation-name: preloader-left-rotate-multicolor; -} -.color-multi .preloader-inner .preloader-inner-right .preloader-inner-half-circle { - -webkit-animation-name: preloader-right-rotate-multicolor; - animation-name: preloader-right-rotate-multicolor; -} -@-webkit-keyframes preloader-left-rotate { - 0%, - 100% { - -webkit-transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - } -} -@keyframes preloader-left-rotate { - 0%, - 100% { - transform: rotate(130deg); - } - 50% { - transform: rotate(-5deg); - } -} -@-webkit-keyframes preloader-right-rotate { - 0%, - 100% { - -webkit-transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - } -} -@keyframes preloader-right-rotate { - 0%, - 100% { - transform: rotate(-130deg); - } - 50% { - transform: rotate(5deg); - } -} -@-webkit-keyframes preloader-inner-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - } - 100% { - -webkit-transform: rotate(1080deg); - } -} -@keyframes preloader-inner-rotate { - 12.5% { - transform: rotate(135deg); - } - 25% { - transform: rotate(270deg); - } - 37.5% { - transform: rotate(405deg); - } - 50% { - transform: rotate(540deg); - } - 62.5% { - transform: rotate(675deg); - } - 75% { - transform: rotate(810deg); - } - 87.5% { - transform: rotate(945deg); - } - 100% { - transform: rotate(1080deg); - } -} -@-webkit-keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - -webkit-transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@-webkit-keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - -webkit-transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} -@keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} -/* === Progress Bar === */ -.progressbar, -.progressbar-infinite { - height: 4px; - width: 100%; - overflow: hidden; - display: block; - position: relative; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - background: rgba(33, 150, 243, 0.5); -} -.progressbar { - display: block; - vertical-align: middle; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.progressbar span { - content: ''; - width: 100%; - background: #2196f3; - height: 100%; - position: absolute; - left: 0; - top: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.progressbar-infinite { - z-index: 15000; -} -.progressbar-infinite:before, -.progressbar-infinite:after { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #2196f3; - -webkit-transform-origin: left center; - transform-origin: left center; -} -.progressbar-infinite:before { - -webkit-animation: progressbar-infinite-1 2s linear infinite; - animation: progressbar-infinite-1 2s linear infinite; -} -.progressbar-infinite:after { - -webkit-animation: progressbar-infinite-2 2s linear infinite; - animation: progressbar-infinite-2 2s linear infinite; -} -html.with-statusbar-overlay body > .progressbar-infinite, -html.with-statusbar-overlay .framework7-root > .progressbar-infinite { - top: 20px; -} -.progressbar-infinite.color-multi { - background: none !important; -} -.progressbar-infinite.color-multi:before, -.progressbar-infinite.color-multi:after { - width: 100%; - animation: none; -} -.progressbar-infinite.color-multi:before { - background: none; - -webkit-animation: progressbar-infinite-multicolor-bg 3s step-end infinite; - animation: progressbar-infinite-multicolor-bg 3s step-end infinite; -} -.progressbar-infinite.color-multi:after { - background: none; - -webkit-animation: progressbar-infinite-multicolor-fill 3s linear infinite; - animation: progressbar-infinite-multicolor-fill 3s linear infinite; - -webkit-transform-origin: center center; - transform-origin: center center; -} -body > .progressbar, -.view > .progressbar, -.views > .progressbar, -.page > .progressbar, -.panel > .progressbar, -.popup > .progressbar, -.framework7-root > .progressbar, -body > .progressbar-infinite, -.view > .progressbar-infinite, -.views > .progressbar-infinite, -.page > .progressbar-infinite, -.panel > .progressbar-infinite, -.popup > .progressbar-infinite, -.framework7-root > .progressbar-infinite { - position: absolute; - left: 0; - top: 0; - z-index: 15000; - -webkit-transform-origin: center top; - transform-origin: center top; -} -.progressbar-in { - -webkit-animation: progressbar-in 300ms forwards; - animation: progressbar-in 300ms forwards; -} -.progressbar-out { - -webkit-animation: progressbar-out 300ms forwards; - animation: progressbar-out 300ms forwards; -} -html.with-statusbar-overlay body > .progressbar, -html.with-statusbar-overlay .framework7-root > .progressbar { - top: 20px; -} -@-webkit-keyframes progressbar-in { - from { - opacity: 0; - -webkit-transform: scaleY(0); - } - to { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes progressbar-in { - from { - opacity: 0; - transform: scaleY(0); - } - to { - opacity: 1; - transform: scaleY(1); - } -} -@-webkit-keyframes progressbar-out { - from { - opacity: 1; - -webkit-transform: scaleY(1); - } - to { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes progressbar-out { - from { - opacity: 1; - transform: scaleY(1); - } - to { - opacity: 0; - transform: scaleY(0); - } -} -@-webkit-keyframes progressbar-infinite-1 { - 0% { - -webkit-transform: translateX(-10%) scaleX(0.1); - } - 25% { - -webkit-transform: translateX(30%) scaleX(0.6); - } - 50% { - -webkit-transform: translateX(100%) scaleX(1); - } - 100% { - -webkit-transform: translateX(100%) scaleX(1); - } -} -@keyframes progressbar-infinite-1 { - 0% { - transform: translateX(-10%) scaleX(0.1); - } - 25% { - transform: translateX(30%) scaleX(0.6); - } - 50% { - transform: translateX(100%) scaleX(1); - } - 100% { - transform: translateX(100%) scaleX(1); - } -} -@-webkit-keyframes progressbar-infinite-2 { - 0% { - -webkit-transform: translateX(-100%) scaleX(1); - } - 40% { - -webkit-transform: translateX(-100%) scaleX(1); - } - 75% { - -webkit-transform: translateX(60%) scaleX(0.35); - } - 90% { - -webkit-transform: translateX(100%) scaleX(0.1); - } - 100% { - -webkit-transform: translateX(100%) scaleX(0.1); - } -} -@keyframes progressbar-infinite-2 { - 0% { - transform: translateX(-100%) scaleX(1); - } - 40% { - transform: translateX(-100%) scaleX(1); - } - 75% { - transform: translateX(60%) scaleX(0.35); - } - 90% { - transform: translateX(100%) scaleX(0.1); - } - 100% { - transform: translateX(100%) scaleX(0.1); - } -} -@-webkit-keyframes progressbar-infinite-multicolor-bg { - 0% { - background-color: #4caf50; - } - 25% { - background-color: #f44336; - } - 50% { - background-color: #2196f3; - } - 75% { - background-color: #ffeb3b; - } -} -@keyframes progressbar-infinite-multicolor-bg { - 0% { - background-color: #4caf50; - } - 25% { - background-color: #f44336; - } - 50% { - background-color: #2196f3; - } - 75% { - background-color: #ffeb3b; - } -} -@-webkit-keyframes progressbar-infinite-multicolor-fill { - 0% { - -webkit-transform: scaleX(0); - background-color: #f44336; - } - 24.9% { - -webkit-transform: scaleX(1); - background-color: #f44336; - } - 25% { - -webkit-transform: scaleX(0); - background-color: #2196f3; - } - 49.9% { - -webkit-transform: scaleX(1); - background-color: #2196f3; - } - 50% { - -webkit-transform: scaleX(0); - background-color: #ffeb3b; - } - 74.9% { - -webkit-transform: scaleX(1); - background-color: #ffeb3b; - } - 75% { - -webkit-transform: scaleX(0); - background-color: #4caf50; - } - 100% { - -webkit-transform: scaleX(1); - background-color: #4caf50; - } -} -@keyframes progressbar-infinite-multicolor-fill { - 0% { - transform: scaleX(0); - background-color: #f44336; - } - 24.9% { - transform: scaleX(1); - background-color: #f44336; - } - 25% { - transform: scaleX(0); - background-color: #2196f3; - } - 49.9% { - transform: scaleX(1); - background-color: #2196f3; - } - 50% { - transform: scaleX(0); - background-color: #ffeb3b; - } - 74.9% { - transform: scaleX(1); - background-color: #ffeb3b; - } - 75% { - transform: scaleX(0); - background-color: #4caf50; - } - 100% { - transform: scaleX(1); - background-color: #4caf50; - } -} -/* === Pull To Refresh === */ -.pull-to-refresh-layer { - position: absolute; - position: relative; - margin-top: -48px; - left: 0; - top: 0; - width: 100%; - height: 48px; -} -.pull-to-refresh-layer .preloader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -16px; - margin-top: -16px; - visibility: hidden; -} -.pull-to-refresh-layer .pull-to-refresh-arrow { - width: 24px; - height: 24px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -12px; - margin-top: -12px; - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'-80%204%2024%2024'%3E%3Cpath%20d%3D'M-69%2C8v12.2l-5.6-5.6L-76%2C16l8%2C8l8-8l-1.4-1.4l-5.6%2C5.6V8H-69z'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E"); - z-index: 10; - -webkit-transform: rotate(0deg) translate3d(0, 0, 0); - transform: rotate(0deg) translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.pull-to-refresh-content.pull-to-refresh-no-navbar { - margin-top: -48px; - height: -webkit-calc(100% + 48px); - height: -moz-calc(100% + 48px); - height: calc(100% + 48px); -} -.pull-to-refresh-content.pull-to-refresh-no-navbar .pull-to-refresh-layer { - margin-top: 0; -} -.pull-to-refresh-content.transitioning, -.pull-to-refresh-content.refreshing { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.pull-to-refresh-content:not(.refreshing) .pull-to-refresh-layer .preloader { - -webkit-animation: none; - animation: none; -} -.pull-to-refresh-content.refreshing { - -webkit-transform: translate3d(0, 48px, 0); - transform: translate3d(0, 48px, 0); -} -.pull-to-refresh-content.refreshing .pull-to-refresh-arrow { - visibility: hidden; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.pull-to-refresh-content.refreshing .preloader { - visibility: visible; -} -.pull-to-refresh-content.pull-up .pull-to-refresh-arrow { - -webkit-transform: rotate(180deg) translate3d(0, 0, 0); - transform: rotate(180deg) translate3d(0, 0, 0); -} -/* === Infinite Scroll Preloader === */ -.infinite-scroll-preloader { - text-align: center; - padding: 8px 0; -} -/* === Autocomplete === */ -.autocomplete-page .autocomplete-found { - display: block; -} -.autocomplete-page .autocomplete-not-found { - display: none; -} -.autocomplete-page .autocomplete-values { - display: block; -} -.autocomplete-page .list-block ul:empty { - display: none; -} -.autocomplete-page .navbar .autocomplete-preloader { - margin-right: 16px; -} -.autocomplete-preloader:not(.autocomplete-preloader-visible) { - -webkit-animation: none; - animation: none; - visibility: hidden; -} -.autocomplete-dropdown { - background: #fff; - box-sizing: border-box; - position: absolute; - z-index: 500; - box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); - width: 100%; - left: 0; -} -.autocomplete-dropdown .autocomplete-dropdown-inner { - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; - height: 100%; - z-index: 1; -} -.autocomplete-dropdown .autocomplete-preloader { - display: none; - position: absolute; - right: 16px; - bottom: 100%; - margin-bottom: 8px; - width: 20px; - height: 20px; -} -.autocomplete-dropdown .autocomplete-preloader .preloader-inner-gap, -.autocomplete-dropdown .autocomplete-preloader .preloader-inner-half-circle { - border-width: 3px; -} -.autocomplete-dropdown .autocomplete-preloader-visible { - display: block; -} -.autocomplete-dropdown .autocomplete-dropdown-placeholder { - color: #a9a9a9; -} -.autocomplete-dropdown .list-block { - margin: 0; - color: rgba(0, 0, 0, 0.54); -} -.autocomplete-dropdown .list-block ul { - background: none !important; -} -.autocomplete-dropdown .list-block ul:before { - display: none; -} -.autocomplete-dropdown .list-block ul:after { - display: none; -} -.autocomplete-dropdown .list-block b { - font-weight: normal; - color: #212121; -} -/* === Swiper === */ -.swiper-container { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - /* Fix of Webkit flickering */ - z-index: 1; -} -.swiper-container-no-flexbox .swiper-slide { - float: left; -} -.swiper-container-vertical > .swiper-wrapper { - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-container-android .swiper-slide, -.swiper-wrapper { - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate(0px, 0px); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); -} -.swiper-container-multirow > .swiper-wrapper { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -ms-flex-wrap: wrap; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -.swiper-container-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-slide { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; -} -/* Auto Height */ -.swiper-container-autoheight, -.swiper-container-autoheight .swiper-slide { - height: auto; -} -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-transition-property: -webkit-transform, height; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform, height; -} -/* a11y */ -.swiper-container .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} -/* Arrows */ -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: 50%; - width: 27px; - height: 44px; - margin-top: -22px; - z-index: 10; - cursor: pointer; - -moz-background-size: 27px 44px; - -webkit-background-size: 27px 44px; - background-size: 27px 44px; - background-position: center; - background-repeat: no-repeat; -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev, -.swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - left: 10px; - right: auto; -} -.swiper-button-next, -.swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - right: 10px; - left: auto; -} -/* Pagination Styles */ -.swiper-pagination { - position: absolute; - text-align: center; - -webkit-transition: 300ms; - -moz-transition: 300ms; - -o-transition: 300ms; - transition: 300ms; - -webkit-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-container-horizontal > .swiper-pagination-bullets { - bottom: 10px; - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullet { - width: 8px; - height: 8px; - display: inline-block; - border-radius: 100%; - background: #000; - opacity: 0.2; -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet-active { - opacity: 1; - background: #007aff; -} -.swiper-container-vertical > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform: translate3d(0px, -50%, 0); - -moz-transform: translate3d(0px, -50%, 0); - -o-transform: translate(0px, -50%); - -ms-transform: translate3d(0px, -50%, 0); - transform: translate3d(0px, -50%, 0); -} -.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 5px 0; - display: block; -} -.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 5px; -} -/* Progress */ -.swiper-pagination-progress { - background: rgba(0, 0, 0, 0.25); - position: absolute; -} -.swiper-pagination-progress .swiper-pagination-progressbar { - background: #007aff; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: left top; - -moz-transform-origin: left top; - -ms-transform-origin: left top; - -o-transform-origin: left top; - transform-origin: left top; -} -.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - -moz-transform-origin: right top; - -ms-transform-origin: right top; - -o-transform-origin: right top; - transform-origin: right top; -} -.swiper-container-horizontal > .swiper-pagination-progress { - width: 100%; - height: 4px; - left: 0; - top: 0; -} -.swiper-container-vertical > .swiper-pagination-progress { - width: 4px; - height: 100%; - left: 0; - top: 0; -} -/* 3D Container */ -.swiper-container-3d { - -webkit-perspective: 1200px; - -moz-perspective: 1200px; - -o-perspective: 1200px; - perspective: 1200px; -} -.swiper-container-3d .swiper-wrapper, -.swiper-container-3d .swiper-slide, -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom, -.swiper-container-3d .swiper-cube-shadow { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; -} -.swiper-container-3d .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -/* Coverflow */ -.swiper-container-coverflow .swiper-wrapper, -.swiper-container-flip .swiper-wrapper { - /* Windows 8 IE 10 fix */ - -ms-perspective: 1200px; -} -/* Cube + Flip */ -.swiper-container-cube, -.swiper-container-flip { - overflow: visible; -} -.swiper-container-cube .swiper-slide, -.swiper-container-flip .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-container-cube .swiper-slide .swiper-slide, -.swiper-container-flip .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-flip .swiper-slide-active, -.swiper-container-cube .swiper-slide-active .swiper-slide-active, -.swiper-container-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-container-cube .swiper-slide-shadow-top, -.swiper-container-flip .swiper-slide-shadow-top, -.swiper-container-cube .swiper-slide-shadow-bottom, -.swiper-container-flip .swiper-slide-shadow-bottom, -.swiper-container-cube .swiper-slide-shadow-left, -.swiper-container-flip .swiper-slide-shadow-left, -.swiper-container-cube .swiper-slide-shadow-right, -.swiper-container-flip .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Cube */ -.swiper-container-cube .swiper-slide { - visibility: hidden; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-container-cube.swiper-container-rtl .swiper-slide { - -webkit-transform-origin: 100% 0; - -moz-transform-origin: 100% 0; - -ms-transform-origin: 100% 0; - transform-origin: 100% 0; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-cube .swiper-slide-next, -.swiper-container-cube .swiper-slide-prev, -.swiper-container-cube .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; -} -.swiper-container-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - background: #000; - opacity: 0.6; - -webkit-filter: blur(50px); - filter: blur(50px); - z-index: 0; -} -/* Fade */ -.swiper-container-fade.swiper-container-free-mode .swiper-slide { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.swiper-container-fade .swiper-slide { - pointer-events: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; -} -.swiper-container-fade .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-fade .swiper-slide-active, -.swiper-container-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-zoom-container { - width: 100%; - height: 100%; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -moz-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -moz-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - text-align: center; -} -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; -} -/* Scrollbar */ -.swiper-scrollbar { - border-radius: 10px; - position: relative; - -ms-touch-action: none; - background: rgba(0, 0, 0, 0.1); -} -.swiper-container-horizontal > .swiper-scrollbar { - position: absolute; - left: 1%; - bottom: 3px; - z-index: 50; - height: 5px; - width: 98%; -} -.swiper-container-vertical > .swiper-scrollbar { - position: absolute; - right: 3px; - top: 1%; - z-index: 50; - width: 5px; - height: 98%; -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: rgba(0, 0, 0, 0.5); - border-radius: 10px; - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -/* Preloader */ -.swiper-slide .preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; -} -/* === Photo Browser === */ -.photo-browser { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11500; -} -body > .photo-browser, -.framework7-root > .photo-browser { - opacity: 0; - display: none; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body > .photo-browser.photo-browser-in, -.framework7-root > .photo-browser.photo-browser-in { - display: block; - -webkit-animation: photoBrowserIn 400ms forwards; - animation: photoBrowserIn 400ms forwards; -} -body > .photo-browser.photo-browser-out, -.framework7-root > .photo-browser.photo-browser-out { - display: block; - -webkit-animation: photoBrowserOut 400ms forwards; - animation: photoBrowserOut 400ms forwards; -} -html.with-statusbar-overlay body > .photo-browser, -html.with-statusbar-overlay .framework7-root > .photo-browser { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.popup > .photo-browser .navbar, -body > .photo-browser .navbar, -.framework7-root > .photo-browser .navbar, -.popup > .photo-browser .toolbar, -body > .photo-browser .toolbar, -.framework7-root > .photo-browser .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.photo-browser .page[data-page="photo-browser-slides"] { - background: none; -} -.photo-browser-popup { - background: none; -} -.photo-browser .navbar, -.views .view[data-page="photo-browser-slides"] .navbar, -.photo-browser .toolbar, -.views .view[data-page="photo-browser-slides"] .toolbar { - background: rgba(33, 150, 243, 0.95); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .navbar, -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .toolbar, -.photo-browser .page[data-page="photo-browser-slides"] .toolbar { - bottom: 0; - top: auto; -} -.photo-browser-exposed .navbar, -.photo-browser-exposed .toolbar { - opacity: 0; - visibility: hidden; - pointer-events: none; -} -.photo-browser-exposed .photo-browser-swiper-container { - background: #000; -} -.photo-browser-of { - margin: 0 5px; -} -.photo-browser-captions { - pointer-events: none; - position: absolute; - left: 0; - width: 100%; - bottom: 0; - z-index: 10; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-captions.photo-browser-captions-exposed { - opacity: 0; -} -.toolbar ~ .photo-browser-captions { - bottom: 48px; - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-exposed .toolbar ~ .photo-browser-captions { - -webkit-transform: translate3d(0, 48px, 0); - transform: translate3d(0, 48px, 0); -} -.toolbar ~ .photo-browser-captions.photo-browser-captions-exposed { - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-caption { - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - position: absolute; - bottom: 0; - left: 0; - opacity: 0; - padding: 4px 5px; - width: 100%; - text-align: center; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-caption:empty { - display: none; -} -.photo-browser-caption.photo-browser-caption-active { - opacity: 1; -} -.photo-browser-captions-light .photo-browser-caption { - background: rgba(255, 255, 255, 0.8); -} -.photo-browser-captions-dark .photo-browser-caption { - color: #fff; -} -.photo-browser-exposed .photo-browser-caption { - color: #fff; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-swiper-container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: #fff; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-swiper-wrapper { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-link-inactive { - opacity: 0.3; -} -.photo-browser-slide { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - box-sizing: border-box; -} -.photo-browser-slide.transitioning { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-slide span.swiper-zoom-container { - display: none; -} -.photo-browser-slide img { - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - display: none; -} -.photo-browser-slide.swiper-slide-active span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-next span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-slide.swiper-slide-active img, -.photo-browser-slide.swiper-slide-next img, -.photo-browser-slide.swiper-slide-prev img { - display: inline; -} -.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader { - display: block; -} -.photo-browser-slide iframe { - width: 100%; - height: 100%; -} -.photo-browser-slide .preloader { - display: none; - position: absolute; - width: 42px; - height: 42px; - margin-left: -21px; - margin-top: -21px; - left: 50%; - top: 50%; -} -.photo-browser.photo-browser-dark .navbar, -.photo-browser.photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.photo-browser.photo-browser-dark .navbar:before, -.photo-browser.photo-browser-dark .toolbar:before { - display: none; -} -.photo-browser.photo-browser-dark .navbar:after, -.photo-browser.photo-browser-dark .toolbar:after { - display: none; -} -.photo-browser.photo-browser-dark .navbar a, -.photo-browser.photo-browser-dark .toolbar a { - color: #fff; -} -.photo-browser.photo-browser-dark .photo-browser-swiper-container { - background: #000; -} -@-webkit-keyframes photoBrowserIn { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@keyframes photoBrowserIn { - 0% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@-webkit-keyframes photoBrowserOut { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -@keyframes photoBrowserOut { - 0% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -/* === Columns Picker === */ -.picker-columns { - width: 100%; - height: 260px; - z-index: 11500; -} -.picker-columns.picker-modal-inline { - height: 200px; -} -@media (orientation: landscape) and (max-height: 415px) { - .picker-columns:not(.picker-modal-inline) { - height: 200px; - } -} -.popover.popover-picker-columns { - width: 280px; -} -.popover.popover-picker-columns .toolbar { - border-radius: 2px 2px 0 0; -} -.picker-items { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - padding: 0; - text-align: right; - font-size: 20px; - -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); - -webkit-mask-box-image: linear-gradient(to top, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); -} -.picker-items-col { - overflow: hidden; - position: relative; - max-height: 100%; -} -.picker-items-col.picker-items-col-left { - text-align: left; -} -.picker-items-col.picker-items-col-center { - text-align: center; -} -.picker-items-col.picker-items-col-right { - text-align: right; -} -.picker-items-col.picker-items-col-divider { - color: rgba(0, 0, 0, 0.87); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.picker-items-col-wrapper { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.picker-item { - height: 36px; - line-height: 36px; - padding: 0 10px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - color: rgba(0, 0, 0, 0.54); - left: 0; - top: 0; - width: 100%; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-items-col-absolute .picker-item { - position: absolute; -} -.picker-item.picker-item-far { - pointer-events: none; -} -.picker-item.picker-selected { - color: rgba(0, 0, 0, 0.87); - -webkit-transform: translate3d(0, 0, 0) rotateX(0deg); - transform: translate3d(0, 0, 0) rotateX(0deg); -} -.picker-center-highlight { - height: 36px; - box-sizing: border-box; - position: absolute; - left: 0; - width: 100%; - top: 50%; - margin-top: -18px; - pointer-events: none; -} -.picker-center-highlight:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.15); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .picker-center-highlight:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-center-highlight:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.15); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-center-highlight:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-3d .picker-items { - overflow: hidden; - -webkit-perspective: 1200px; - perspective: 1200px; -} -.picker-3d .picker-items-col, -.picker-3d .picker-items-col-wrapper, -.picker-3d .picker-item { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.picker-3d .picker-items-col { - overflow: visible; -} -.picker-3d .picker-item { - -webkit-transform-origin: center center -110px; - transform-origin: center center -110px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -/* === Calendar === */ -.picker-calendar { - background: #fff; - height: 420px; - overflow: hidden; - bottom: auto; - width: 90%; - left: 50%; - top: 50%; - min-width: 300px; - max-width: 380px; - -webkit-transform: translate3d(-50%, 100%, 0); - transform: translate3d(-50%, 100%, 0); - box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); -} -@media (orientation: landscape) and (max-height: 460px) { - .picker-calendar:not(.picker-modal-inline) { - height: -webkit-calc(100% - 40px); - height: calc(100% - 40px); - } -} -.popover-picker-calendar .picker-calendar { - height: 420px; -} -.picker-calendar .picker-modal-inner { - overflow: hidden; -} -.picker-calendar.modal-in { - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); -} -.picker-calendar.modal-out { - -webkit-transform: translate3d(-50%, 100%, 0); - transform: translate3d(-50%, 100%, 0); -} -.picker-calendar.picker-modal-inline { - height: 300px; -} -.picker-calendar.picker-modal-inline, -.popover-picker-calendar .picker-calendar { - -webkit-transform: translate3d(0%, 0%, 0); - transform: translate3d(0%, 0%, 0); - width: auto; - max-width: none; - left: 0; - top: 0; - box-shadow: none; -} -.picker-calendar.picker-modal { - z-index: 12500; -} -.popover.popover-picker-calendar { - width: 320px; -} -.picker-calendar-selected-date { - line-height: 48px; - color: #fff; - padding: 0 24px; - font-size: 20px; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.picker-calendar-week-days { - height: 14.28571429%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - font-size: 12px; - box-sizing: border-box; - position: relative; - color: rgba(0, 0, 0, 0.54); -} -.picker-calendar-week-days .picker-calendar-week-day { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - text-align: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.picker-calendar-week-days + .picker-calendar-months { - height: -webkit-calc(100% - 100% / 7); - height: -moz-calc(100% - 100% / 7); - height: calc(100% - 100% / 7); -} -.picker-calendar-months { - width: 100%; - height: 100%; - overflow: hidden; - position: relative; -} -.picker-calendar-months-wrapper { - position: relative; - width: 100%; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-calendar-month { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.picker-calendar-row { - height: 16.66666667%; - height: -webkit-calc(100% / 6); - height: -moz-calc(100% / 6); - height: calc(100% / 6); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 100%; - position: relative; -} -.picker-calendar-day { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - box-sizing: border-box; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - text-align: center; - font-size: 12px; - cursor: pointer; -} -.picker-calendar-day.picker-calendar-day-prev, -.picker-calendar-day.picker-calendar-day-next { - color: #b8b8b8; -} -.picker-calendar-day.picker-calendar-day-disabled { - color: #d4d4d4; - cursor: auto; -} -.picker-calendar-day.picker-calendar-day-today span { - color: #2196f3; -} -.picker-calendar-day.picker-calendar-day-selected span { - background: #2196f3; - color: #fff; -} -.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected span { - border-radius: 0; - width: 100%; -} -.picker-calendar-day.picker-calendar-day-has-events span:after { - content: ''; - width: 4px; - height: 4px; - border-radius: 50%; - background: #2196f3; - position: absolute; - margin-left: -2px; - left: 50%; - bottom: 2px; -} -.picker-calendar-day.picker-calendar-day-has-events.picker-calendar-day-selected span:after { - display: none; -} -.picker-calendar-day span { - display: inline-block; - border-radius: 100%; - width: 36px; - height: 36px; - line-height: 36px; - position: relative; -} -.picker-calendar-month-picker, -.picker-calendar-year-picker { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - width: 50%; - max-width: 200px; - -webkit-box-flex: 10; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; -} -.picker-calendar-month-picker span, -.picker-calendar-year-picker span { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - width: 100%; - text-align: center; -} -/* === Notifications === */ -.notifications { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - z-index: 10900; - color: #fff; - font-size: 14px; - margin: 0; - border: none; - display: none; - box-sizing: border-box; - max-height: 100%; - overflow: hidden; - -webkit-overflow-scrolling: touch; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-perspective: 1200px; - perspective: 1200px; -} -.notifications.list-block > ul { - max-width: 568px; - background: #323232; - margin: 0 auto; -} -.notifications.list-block > ul:before { - display: none; -} -.notifications.list-block > ul:after { - display: none; -} -.notifications .item-content { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - padding-left: 24px; -} -.notifications .item-title { - font-size: 14px; - font-weight: normal; - white-space: normal; - padding-top: 14px; - padding-bottom: 14px; -} -.notifications .item-inner { - padding-right: 24px; - padding-top: 0; - padding-bottom: 0; -} -.notifications .item-inner:after { - display: none; -} -.notifications .item-after { - max-height: none; - margin-left: 16px; -} -.notifications .button.close-notification { - color: #48aeff; -} -.notifications .notification-item { - margin: 0 auto; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-transition-delay: 100ms; - transition-delay: 100ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; -} -.notifications .notification-hidden { - opacity: 0; - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.notifications .notification-item-removing { - -webkit-transition-delay: 0ms; - transition-delay: 0ms; -} -@media (min-width: 569px) { - .notifications.list-block > ul { - border-radius: 2px; - width: auto; - min-width: 288px; - } -} -/* === Login screen === */ -.login-screen-content { - background: #fff; -} -.login-screen-content .login-screen-title, -.login-screen-content .list-block, -.login-screen-content .content-block, -.login-screen-content .list-block-label { - max-width: 480px; - margin: 24px auto; -} -.login-screen-content .list-block ul { - background: none; -} -.login-screen-content .list-block ul:before { - display: none; -} -.login-screen-content .list-block ul:after { - display: none; -} -.login-screen-content .list-block-label { - text-align: center; -} -.navbar-fixed .page .login-screen-content { - padding-top: 0; -} -.login-screen-title { - text-align: center; - font-size: 34px; -} -/* === Touch ripple === */ -.ripple, -a.floating-button, -.floating-button > a, -a.link, -a.item-link, -.button, -.modal-button, -.tab-link, -.label-radio, -.label-checkbox, -.actions-modal-button, -.speed-dial-buttons a { - -webkit-user-select: none; - user-select: none; -} -.ripple-wave { - left: 0; - top: 0; - position: absolute !important; - border-radius: 50%; - pointer-events: none; - z-index: -1; - background: rgba(0, 0, 0, 0.1); - padding: 0; - margin: 0; - font-size: 0; - -webkit-transform: translate3d(0px, 0px, 0) scale(0); - transform: translate3d(0px, 0px, 0) scale(0); - -webkit-transition-duration: 1400ms; - transition-duration: 1400ms; -} -.ripple-wave.ripple-wave-fill { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 0.35; -} -.ripple-wave.ripple-wave-out { - -webkit-transition-duration: 600ms; - transition-duration: 600ms; - opacity: 0; -} -.button-fill .ripple-wave, -.picker-calendar-day .ripple-wave { - z-index: 1; -} -.button-fill .ripple-wave, -.navbar .ripple-wave, -.toolbar .ripple-wave, -.subnavbar .ripple-wave, -.searchbar .ripple-wave, -.notifications .ripple-wave, -.floating-button .ripple-wave, -.speed-dial-buttons a .ripple-wave { - background: rgba(255, 255, 255, 0.3); -} -.messagebar .ripple-wave { - background: rgba(0, 0, 0, 0.1); -} -/* === Disabled elements === */ -.disabled, -[disabled] { - opacity: 0.55; - pointer-events: none; -} -.disabled .disabled, -.disabled [disabled], -[disabled] .disabled, -[disabled] [disabled] { - opacity: 1; -} diff --git a/vendor/framework7/css/framework7.material.min.css b/vendor/framework7/css/framework7.material.min.css deleted file mode 100644 index 1160256df..000000000 --- a/vendor/framework7/css/framework7.material.min.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -.framework7-root,body,html{position:relative;height:100%;width:100%;overflow-x:hidden}body{font-family:Roboto,Noto,Helvetica,Arial,sans-serif;margin:0;padding:0;color:#212121;font-size:14px;line-height:1.5;width:100%;-webkit-text-size-adjust:100%;background:#fff;overflow:hidden}.framework7-root{overflow:hidden}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a,input,select,textarea{outline:0}a{text-decoration:none;color:#2196f3}p{margin:1em 0}.row{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-lines:multiple;-moz-box-lines:multiple;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.row>[class*=col-]{box-sizing:border-box}.row .col-auto{width:100%}.row .col-100{width:100%;width:-webkit-calc((100% - 16px*0)/ 1);width:calc((100% - 16px*0)/ 1)}.row.no-gutter .col-100{width:100%}.row .col-95{width:95%;width:-webkit-calc((100% - 16px*.05263157894736836)/ 1.0526315789473684);width:calc((100% - 16px*.05263157894736836)/ 1.0526315789473684)}.row.no-gutter .col-95{width:95%}.row .col-90{width:90%;width:-webkit-calc((100% - 16px*.11111111111111116)/ 1.1111111111111112);width:calc((100% - 16px*.11111111111111116)/ 1.1111111111111112)}.row.no-gutter .col-90{width:90%}.row .col-85{width:85%;width:-webkit-calc((100% - 16px*.17647058823529416)/ 1.1764705882352942);width:calc((100% - 16px*.17647058823529416)/ 1.1764705882352942)}.row.no-gutter .col-85{width:85%}.row .col-80{width:80%;width:-webkit-calc((100% - 16px*.25)/ 1.25);width:calc((100% - 16px*.25)/ 1.25)}.row.no-gutter .col-80{width:80%}.row .col-75{width:75%;width:-webkit-calc((100% - 16px*.33333333333333326)/ 1.3333333333333333);width:calc((100% - 16px*.33333333333333326)/ 1.3333333333333333)}.row.no-gutter .col-75{width:75%}.row .col-70{width:70%;width:-webkit-calc((100% - 16px*.4285714285714286)/ 1.4285714285714286);width:calc((100% - 16px*.4285714285714286)/ 1.4285714285714286)}.row.no-gutter .col-70{width:70%}.row .col-66{width:66.66666666666666%;width:-webkit-calc((100% - 16px*.5000000000000002)/ 1.5000000000000002);width:calc((100% - 16px*.5000000000000002)/ 1.5000000000000002)}.row.no-gutter .col-66{width:66.66666666666666%}.row .col-65{width:65%;width:-webkit-calc((100% - 16px*.5384615384615385)/ 1.5384615384615385);width:calc((100% - 16px*.5384615384615385)/ 1.5384615384615385)}.row.no-gutter .col-65{width:65%}.row .col-60{width:60%;width:-webkit-calc((100% - 16px*.6666666666666667)/ 1.6666666666666667);width:calc((100% - 16px*.6666666666666667)/ 1.6666666666666667)}.row.no-gutter .col-60{width:60%}.row .col-55{width:55%;width:-webkit-calc((100% - 16px*.8181818181818181)/ 1.8181818181818181);width:calc((100% - 16px*.8181818181818181)/ 1.8181818181818181)}.row.no-gutter .col-55{width:55%}.row .col-50{width:50%;width:-webkit-calc((100% - 16px*1)/ 2);width:calc((100% - 16px*1)/ 2)}.row.no-gutter .col-50{width:50%}.row .col-45{width:45%;width:-webkit-calc((100% - 16px*1.2222222222222223)/ 2.2222222222222223);width:calc((100% - 16px*1.2222222222222223)/ 2.2222222222222223)}.row.no-gutter .col-45{width:45%}.row .col-40{width:40%;width:-webkit-calc((100% - 16px*1.5)/ 2.5);width:calc((100% - 16px*1.5)/ 2.5)}.row.no-gutter .col-40{width:40%}.row .col-35{width:35%;width:-webkit-calc((100% - 16px*1.8571428571428572)/ 2.857142857142857);width:calc((100% - 16px*1.8571428571428572)/ 2.857142857142857)}.row.no-gutter .col-35{width:35%}.row .col-33{width:33.333333333333336%;width:-webkit-calc((100% - 16px*2)/ 3);width:calc((100% - 16px*2)/ 3)}.row.no-gutter .col-33{width:33.333333333333336%}.row .col-30{width:30%;width:-webkit-calc((100% - 16px*2.3333333333333335)/ 3.3333333333333335);width:calc((100% - 16px*2.3333333333333335)/ 3.3333333333333335)}.row.no-gutter .col-30{width:30%}.row .col-25{width:25%;width:-webkit-calc((100% - 16px*3)/ 4);width:calc((100% - 16px*3)/ 4)}.row.no-gutter .col-25{width:25%}.row .col-20{width:20%;width:-webkit-calc((100% - 16px*4)/ 5);width:calc((100% - 16px*4)/ 5)}.row.no-gutter .col-20{width:20%}.row .col-15{width:15%;width:-webkit-calc((100% - 16px*5.666666666666667)/ 6.666666666666667);width:calc((100% - 16px*5.666666666666667)/ 6.666666666666667)}.row.no-gutter .col-15{width:15%}.row .col-10{width:10%;width:-webkit-calc((100% - 16px*9)/ 10);width:calc((100% - 16px*9)/ 10)}.row.no-gutter .col-10{width:10%}.row .col-5{width:5%;width:-webkit-calc((100% - 16px*19)/ 20);width:calc((100% - 16px*19)/ 20)}.row.no-gutter .col-5{width:5%}.row .col-auto:nth-last-child(1),.row .col-auto:nth-last-child(1)~.col-auto{width:100%;width:-webkit-calc((100% - 16px*0)/ 1);width:calc((100% - 16px*0)/ 1)}.row.no-gutter .col-auto:nth-last-child(1),.row.no-gutter .col-auto:nth-last-child(1)~.col-auto{width:100%}.row .col-auto:nth-last-child(2),.row .col-auto:nth-last-child(2)~.col-auto{width:50%;width:-webkit-calc((100% - 16px*1)/ 2);width:calc((100% - 16px*1)/ 2)}.row.no-gutter .col-auto:nth-last-child(2),.row.no-gutter .col-auto:nth-last-child(2)~.col-auto{width:50%}.row .col-auto:nth-last-child(3),.row .col-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:-webkit-calc((100% - 16px*2)/ 3);width:calc((100% - 16px*2)/ 3)}.row.no-gutter .col-auto:nth-last-child(3),.row.no-gutter .col-auto:nth-last-child(3)~.col-auto{width:33.33333333%}.row .col-auto:nth-last-child(4),.row .col-auto:nth-last-child(4)~.col-auto{width:25%;width:-webkit-calc((100% - 16px*3)/ 4);width:calc((100% - 16px*3)/ 4)}.row.no-gutter .col-auto:nth-last-child(4),.row.no-gutter .col-auto:nth-last-child(4)~.col-auto{width:25%}.row .col-auto:nth-last-child(5),.row .col-auto:nth-last-child(5)~.col-auto{width:20%;width:-webkit-calc((100% - 16px*4)/ 5);width:calc((100% - 16px*4)/ 5)}.row.no-gutter .col-auto:nth-last-child(5),.row.no-gutter .col-auto:nth-last-child(5)~.col-auto{width:20%}.row .col-auto:nth-last-child(6),.row .col-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:-webkit-calc((100% - 16px*5)/ 6);width:calc((100% - 16px*5)/ 6)}.row.no-gutter .col-auto:nth-last-child(6),.row.no-gutter .col-auto:nth-last-child(6)~.col-auto{width:16.66666667%}.row .col-auto:nth-last-child(7),.row .col-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:-webkit-calc((100% - 16px*6)/ 7);width:calc((100% - 16px*6)/ 7)}.row.no-gutter .col-auto:nth-last-child(7),.row.no-gutter .col-auto:nth-last-child(7)~.col-auto{width:14.28571429%}.row .col-auto:nth-last-child(8),.row .col-auto:nth-last-child(8)~.col-auto{width:12.5%;width:-webkit-calc((100% - 16px*7)/ 8);width:calc((100% - 16px*7)/ 8)}.row.no-gutter .col-auto:nth-last-child(8),.row.no-gutter .col-auto:nth-last-child(8)~.col-auto{width:12.5%}.row .col-auto:nth-last-child(9),.row .col-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:-webkit-calc((100% - 16px*8)/ 9);width:calc((100% - 16px*8)/ 9)}.row.no-gutter .col-auto:nth-last-child(9),.row.no-gutter .col-auto:nth-last-child(9)~.col-auto{width:11.11111111%}.row .col-auto:nth-last-child(10),.row .col-auto:nth-last-child(10)~.col-auto{width:10%;width:-webkit-calc((100% - 16px*9)/ 10);width:calc((100% - 16px*9)/ 10)}.row.no-gutter .col-auto:nth-last-child(10),.row.no-gutter .col-auto:nth-last-child(10)~.col-auto{width:10%}.row .col-auto:nth-last-child(11),.row .col-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:-webkit-calc((100% - 16px*10)/ 11);width:calc((100% - 16px*10)/ 11)}.row.no-gutter .col-auto:nth-last-child(11),.row.no-gutter .col-auto:nth-last-child(11)~.col-auto{width:9.09090909%}.row .col-auto:nth-last-child(12),.row .col-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:-webkit-calc((100% - 16px*11)/ 12);width:calc((100% - 16px*11)/ 12)}.row.no-gutter .col-auto:nth-last-child(12),.row.no-gutter .col-auto:nth-last-child(12)~.col-auto{width:8.33333333%}.row .col-auto:nth-last-child(13),.row .col-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:-webkit-calc((100% - 16px*12)/ 13);width:calc((100% - 16px*12)/ 13)}.row.no-gutter .col-auto:nth-last-child(13),.row.no-gutter .col-auto:nth-last-child(13)~.col-auto{width:7.69230769%}.row .col-auto:nth-last-child(14),.row .col-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:-webkit-calc((100% - 16px*13)/ 14);width:calc((100% - 16px*13)/ 14)}.row.no-gutter .col-auto:nth-last-child(14),.row.no-gutter .col-auto:nth-last-child(14)~.col-auto{width:7.14285714%}.row .col-auto:nth-last-child(15),.row .col-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:-webkit-calc((100% - 16px*14)/ 15);width:calc((100% - 16px*14)/ 15)}.row.no-gutter .col-auto:nth-last-child(15),.row.no-gutter .col-auto:nth-last-child(15)~.col-auto{width:6.66666667%}.row .col-auto:nth-last-child(16),.row .col-auto:nth-last-child(16)~.col-auto{width:6.25%;width:-webkit-calc((100% - 16px*15)/ 16);width:calc((100% - 16px*15)/ 16)}.row.no-gutter .col-auto:nth-last-child(16),.row.no-gutter .col-auto:nth-last-child(16)~.col-auto{width:6.25%}.row .col-auto:nth-last-child(17),.row .col-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:-webkit-calc((100% - 16px*16)/ 17);width:calc((100% - 16px*16)/ 17)}.row.no-gutter .col-auto:nth-last-child(17),.row.no-gutter .col-auto:nth-last-child(17)~.col-auto{width:5.88235294%}.row .col-auto:nth-last-child(18),.row .col-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:-webkit-calc((100% - 16px*17)/ 18);width:calc((100% - 16px*17)/ 18)}.row.no-gutter .col-auto:nth-last-child(18),.row.no-gutter .col-auto:nth-last-child(18)~.col-auto{width:5.55555556%}.row .col-auto:nth-last-child(19),.row .col-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:-webkit-calc((100% - 16px*18)/ 19);width:calc((100% - 16px*18)/ 19)}.row.no-gutter .col-auto:nth-last-child(19),.row.no-gutter .col-auto:nth-last-child(19)~.col-auto{width:5.26315789%}.row .col-auto:nth-last-child(20),.row .col-auto:nth-last-child(20)~.col-auto{width:5%;width:-webkit-calc((100% - 16px*19)/ 20);width:calc((100% - 16px*19)/ 20)}.row.no-gutter .col-auto:nth-last-child(20),.row.no-gutter .col-auto:nth-last-child(20)~.col-auto{width:5%}.row .col-auto:nth-last-child(21),.row .col-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:-webkit-calc((100% - 16px*20)/ 21);width:calc((100% - 16px*20)/ 21)}.row.no-gutter .col-auto:nth-last-child(21),.row.no-gutter .col-auto:nth-last-child(21)~.col-auto{width:4.76190476%}@media all and (min-width:768px){.row .tablet-100{width:100%;width:-webkit-calc((100% - 16px*0)/ 1);width:calc((100% - 16px*0)/ 1)}.row.no-gutter .tablet-100{width:100%}.row .tablet-95{width:95%;width:-webkit-calc((100% - 16px*.05263157894736836)/ 1.0526315789473684);width:calc((100% - 16px*.05263157894736836)/ 1.0526315789473684)}.row.no-gutter .tablet-95{width:95%}.row .tablet-90{width:90%;width:-webkit-calc((100% - 16px*.11111111111111116)/ 1.1111111111111112);width:calc((100% - 16px*.11111111111111116)/ 1.1111111111111112)}.row.no-gutter .tablet-90{width:90%}.row .tablet-85{width:85%;width:-webkit-calc((100% - 16px*.17647058823529416)/ 1.1764705882352942);width:calc((100% - 16px*.17647058823529416)/ 1.1764705882352942)}.row.no-gutter .tablet-85{width:85%}.row .tablet-80{width:80%;width:-webkit-calc((100% - 16px*.25)/ 1.25);width:calc((100% - 16px*.25)/ 1.25)}.row.no-gutter .tablet-80{width:80%}.row .tablet-75{width:75%;width:-webkit-calc((100% - 16px*.33333333333333326)/ 1.3333333333333333);width:calc((100% - 16px*.33333333333333326)/ 1.3333333333333333)}.row.no-gutter .tablet-75{width:75%}.row .tablet-70{width:70%;width:-webkit-calc((100% - 16px*.4285714285714286)/ 1.4285714285714286);width:calc((100% - 16px*.4285714285714286)/ 1.4285714285714286)}.row.no-gutter .tablet-70{width:70%}.row .tablet-66{width:66.66666666666666%;width:-webkit-calc((100% - 16px*.5000000000000002)/ 1.5000000000000002);width:calc((100% - 16px*.5000000000000002)/ 1.5000000000000002)}.row.no-gutter .tablet-66{width:66.66666666666666%}.row .tablet-65{width:65%;width:-webkit-calc((100% - 16px*.5384615384615385)/ 1.5384615384615385);width:calc((100% - 16px*.5384615384615385)/ 1.5384615384615385)}.row.no-gutter .tablet-65{width:65%}.row .tablet-60{width:60%;width:-webkit-calc((100% - 16px*.6666666666666667)/ 1.6666666666666667);width:calc((100% - 16px*.6666666666666667)/ 1.6666666666666667)}.row.no-gutter .tablet-60{width:60%}.row .tablet-55{width:55%;width:-webkit-calc((100% - 16px*.8181818181818181)/ 1.8181818181818181);width:calc((100% - 16px*.8181818181818181)/ 1.8181818181818181)}.row.no-gutter .tablet-55{width:55%}.row .tablet-50{width:50%;width:-webkit-calc((100% - 16px*1)/ 2);width:calc((100% - 16px*1)/ 2)}.row.no-gutter .tablet-50{width:50%}.row .tablet-45{width:45%;width:-webkit-calc((100% - 16px*1.2222222222222223)/ 2.2222222222222223);width:calc((100% - 16px*1.2222222222222223)/ 2.2222222222222223)}.row.no-gutter .tablet-45{width:45%}.row .tablet-40{width:40%;width:-webkit-calc((100% - 16px*1.5)/ 2.5);width:calc((100% - 16px*1.5)/ 2.5)}.row.no-gutter .tablet-40{width:40%}.row .tablet-35{width:35%;width:-webkit-calc((100% - 16px*1.8571428571428572)/ 2.857142857142857);width:calc((100% - 16px*1.8571428571428572)/ 2.857142857142857)}.row.no-gutter .tablet-35{width:35%}.row .tablet-33{width:33.333333333333336%;width:-webkit-calc((100% - 16px*2)/ 3);width:calc((100% - 16px*2)/ 3)}.row.no-gutter .tablet-33{width:33.333333333333336%}.row .tablet-30{width:30%;width:-webkit-calc((100% - 16px*2.3333333333333335)/ 3.3333333333333335);width:calc((100% - 16px*2.3333333333333335)/ 3.3333333333333335)}.row.no-gutter .tablet-30{width:30%}.row .tablet-25{width:25%;width:-webkit-calc((100% - 16px*3)/ 4);width:calc((100% - 16px*3)/ 4)}.row.no-gutter .tablet-25{width:25%}.row .tablet-20{width:20%;width:-webkit-calc((100% - 16px*4)/ 5);width:calc((100% - 16px*4)/ 5)}.row.no-gutter .tablet-20{width:20%}.row .tablet-15{width:15%;width:-webkit-calc((100% - 16px*5.666666666666667)/ 6.666666666666667);width:calc((100% - 16px*5.666666666666667)/ 6.666666666666667)}.row.no-gutter .tablet-15{width:15%}.row .tablet-10{width:10%;width:-webkit-calc((100% - 16px*9)/ 10);width:calc((100% - 16px*9)/ 10)}.row.no-gutter .tablet-10{width:10%}.row .tablet-5{width:5%;width:-webkit-calc((100% - 16px*19)/ 20);width:calc((100% - 16px*19)/ 20)}.row.no-gutter .tablet-5{width:5%}.row .tablet-auto:nth-last-child(1),.row .tablet-auto:nth-last-child(1)~.col-auto{width:100%;width:-webkit-calc((100% - 16px*0)/ 1);width:calc((100% - 16px*0)/ 1)}.row.no-gutter .tablet-auto:nth-last-child(1),.row.no-gutter .tablet-auto:nth-last-child(1)~.tablet-auto{width:100%}.row .tablet-auto:nth-last-child(2),.row .tablet-auto:nth-last-child(2)~.col-auto{width:50%;width:-webkit-calc((100% - 16px*1)/ 2);width:calc((100% - 16px*1)/ 2)}.row.no-gutter .tablet-auto:nth-last-child(2),.row.no-gutter .tablet-auto:nth-last-child(2)~.tablet-auto{width:50%}.row .tablet-auto:nth-last-child(3),.row .tablet-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:-webkit-calc((100% - 16px*2)/ 3);width:calc((100% - 16px*2)/ 3)}.row.no-gutter .tablet-auto:nth-last-child(3),.row.no-gutter .tablet-auto:nth-last-child(3)~.tablet-auto{width:33.33333333%}.row .tablet-auto:nth-last-child(4),.row .tablet-auto:nth-last-child(4)~.col-auto{width:25%;width:-webkit-calc((100% - 16px*3)/ 4);width:calc((100% - 16px*3)/ 4)}.row.no-gutter .tablet-auto:nth-last-child(4),.row.no-gutter .tablet-auto:nth-last-child(4)~.tablet-auto{width:25%}.row .tablet-auto:nth-last-child(5),.row .tablet-auto:nth-last-child(5)~.col-auto{width:20%;width:-webkit-calc((100% - 16px*4)/ 5);width:calc((100% - 16px*4)/ 5)}.row.no-gutter .tablet-auto:nth-last-child(5),.row.no-gutter .tablet-auto:nth-last-child(5)~.tablet-auto{width:20%}.row .tablet-auto:nth-last-child(6),.row .tablet-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:-webkit-calc((100% - 16px*5)/ 6);width:calc((100% - 16px*5)/ 6)}.row.no-gutter .tablet-auto:nth-last-child(6),.row.no-gutter .tablet-auto:nth-last-child(6)~.tablet-auto{width:16.66666667%}.row .tablet-auto:nth-last-child(7),.row .tablet-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:-webkit-calc((100% - 16px*6)/ 7);width:calc((100% - 16px*6)/ 7)}.row.no-gutter .tablet-auto:nth-last-child(7),.row.no-gutter .tablet-auto:nth-last-child(7)~.tablet-auto{width:14.28571429%}.row .tablet-auto:nth-last-child(8),.row .tablet-auto:nth-last-child(8)~.col-auto{width:12.5%;width:-webkit-calc((100% - 16px*7)/ 8);width:calc((100% - 16px*7)/ 8)}.row.no-gutter .tablet-auto:nth-last-child(8),.row.no-gutter .tablet-auto:nth-last-child(8)~.tablet-auto{width:12.5%}.row .tablet-auto:nth-last-child(9),.row .tablet-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:-webkit-calc((100% - 16px*8)/ 9);width:calc((100% - 16px*8)/ 9)}.row.no-gutter .tablet-auto:nth-last-child(9),.row.no-gutter .tablet-auto:nth-last-child(9)~.tablet-auto{width:11.11111111%}.row .tablet-auto:nth-last-child(10),.row .tablet-auto:nth-last-child(10)~.col-auto{width:10%;width:-webkit-calc((100% - 16px*9)/ 10);width:calc((100% - 16px*9)/ 10)}.row.no-gutter .tablet-auto:nth-last-child(10),.row.no-gutter .tablet-auto:nth-last-child(10)~.tablet-auto{width:10%}.row .tablet-auto:nth-last-child(11),.row .tablet-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:-webkit-calc((100% - 16px*10)/ 11);width:calc((100% - 16px*10)/ 11)}.row.no-gutter .tablet-auto:nth-last-child(11),.row.no-gutter .tablet-auto:nth-last-child(11)~.tablet-auto{width:9.09090909%}.row .tablet-auto:nth-last-child(12),.row .tablet-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:-webkit-calc((100% - 16px*11)/ 12);width:calc((100% - 16px*11)/ 12)}.row.no-gutter .tablet-auto:nth-last-child(12),.row.no-gutter .tablet-auto:nth-last-child(12)~.tablet-auto{width:8.33333333%}.row .tablet-auto:nth-last-child(13),.row .tablet-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:-webkit-calc((100% - 16px*12)/ 13);width:calc((100% - 16px*12)/ 13)}.row.no-gutter .tablet-auto:nth-last-child(13),.row.no-gutter .tablet-auto:nth-last-child(13)~.tablet-auto{width:7.69230769%}.row .tablet-auto:nth-last-child(14),.row .tablet-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:-webkit-calc((100% - 16px*13)/ 14);width:calc((100% - 16px*13)/ 14)}.row.no-gutter .tablet-auto:nth-last-child(14),.row.no-gutter .tablet-auto:nth-last-child(14)~.tablet-auto{width:7.14285714%}.row .tablet-auto:nth-last-child(15),.row .tablet-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:-webkit-calc((100% - 16px*14)/ 15);width:calc((100% - 16px*14)/ 15)}.row.no-gutter .tablet-auto:nth-last-child(15),.row.no-gutter .tablet-auto:nth-last-child(15)~.tablet-auto{width:6.66666667%}.row .tablet-auto:nth-last-child(16),.row .tablet-auto:nth-last-child(16)~.col-auto{width:6.25%;width:-webkit-calc((100% - 16px*15)/ 16);width:calc((100% - 16px*15)/ 16)}.row.no-gutter .tablet-auto:nth-last-child(16),.row.no-gutter .tablet-auto:nth-last-child(16)~.tablet-auto{width:6.25%}.row .tablet-auto:nth-last-child(17),.row .tablet-auto:nth-last-child(17)~.col-auto{width:5.88235294%;width:-webkit-calc((100% - 16px*16)/ 17);width:calc((100% - 16px*16)/ 17)}.row.no-gutter .tablet-auto:nth-last-child(17),.row.no-gutter .tablet-auto:nth-last-child(17)~.tablet-auto{width:5.88235294%}.row .tablet-auto:nth-last-child(18),.row .tablet-auto:nth-last-child(18)~.col-auto{width:5.55555556%;width:-webkit-calc((100% - 16px*17)/ 18);width:calc((100% - 16px*17)/ 18)}.row.no-gutter .tablet-auto:nth-last-child(18),.row.no-gutter .tablet-auto:nth-last-child(18)~.tablet-auto{width:5.55555556%}.row .tablet-auto:nth-last-child(19),.row .tablet-auto:nth-last-child(19)~.col-auto{width:5.26315789%;width:-webkit-calc((100% - 16px*18)/ 19);width:calc((100% - 16px*18)/ 19)}.row.no-gutter .tablet-auto:nth-last-child(19),.row.no-gutter .tablet-auto:nth-last-child(19)~.tablet-auto{width:5.26315789%}.row .tablet-auto:nth-last-child(20),.row .tablet-auto:nth-last-child(20)~.col-auto{width:5%;width:-webkit-calc((100% - 16px*19)/ 20);width:calc((100% - 16px*19)/ 20)}.row.no-gutter .tablet-auto:nth-last-child(20),.row.no-gutter .tablet-auto:nth-last-child(20)~.tablet-auto{width:5%}.row .tablet-auto:nth-last-child(21),.row .tablet-auto:nth-last-child(21)~.col-auto{width:4.76190476%;width:-webkit-calc((100% - 16px*20)/ 21);width:calc((100% - 16px*20)/ 21)}.row.no-gutter .tablet-auto:nth-last-child(21),.row.no-gutter .tablet-auto:nth-last-child(21)~.tablet-auto{width:4.76190476%}}.view,.views{position:relative;width:100%;height:100%;z-index:5000}.views{overflow:auto;-webkit-overflow-scrolling:touch}.view{overflow:hidden;box-sizing:border-box}.pages{position:relative;width:100%;height:100%;overflow:hidden}.page{box-sizing:border-box;position:absolute;left:0;top:0;width:100%;height:100%;background:#fff;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.page.cached{display:none}.page-on-left{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.page-on-right{opacity:0;pointer-events:none;-webkit-transform:translate3d(0,56px,0);transform:translate3d(0,56px,0)}.page-content{overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;height:100%;position:relative;z-index:1}.page-transitioning{-webkit-transition-duration:.3s;transition-duration:.3s}.page-from-right-to-center{pointer-events:none;-webkit-animation:pageFromRightToCenter .3s forwards;animation:pageFromRightToCenter .3s forwards}.page-from-center-to-right{pointer-events:none;-webkit-animation:pageFromCenterToRight .3s forwards;animation:pageFromCenterToRight .3s forwards}@-webkit-keyframes pageFromRightToCenter{from{opacity:0;-webkit-transform:translate3d(0,56px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0)}}@keyframes pageFromRightToCenter{from{opacity:0;transform:translate3d(0,56px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@-webkit-keyframes pageFromCenterToRight{from{opacity:1;-webkit-transform:translate3d(0,0,0)}to{opacity:0;-webkit-transform:translate3d(0,56px,0)}}@keyframes pageFromCenterToRight{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(0,56px,0)}}.page-from-center-to-left{-webkit-animation:pageFromCenterToLeft .3s forwards;animation:pageFromCenterToLeft .3s forwards}.page-from-left-to-center{-webkit-animation:pageFromLeftToCenter .3s forwards;animation:pageFromLeftToCenter .3s forwards}@-webkit-keyframes pageFromCenterToLeft{from{opacity:1}to{opacity:1}}@keyframes pageFromCenterToLeft{from{opacity:1}to{opacity:1}}@-webkit-keyframes pageFromLeftToCenter{from{opacity:1}to{opacity:1}}@keyframes pageFromLeftToCenter{from{opacity:1}to{opacity:1}}.navbar-inner,.toolbar-inner{position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.navbar-inner{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.toolbar-inner{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.navbar-inner.cached{display:none}.navbar,.toolbar{width:100%;box-sizing:border-box;position:relative;margin:0;z-index:500;-webkit-backface-visibility:hidden;backface-visibility:hidden;color:#fff}.navbar b,.toolbar b{font-weight:500}.navbar~.toolbar{z-index:499}.navbar,.subnavbar,.toolbar{background:#2196f3}.navbar a.link,.subnavbar a.link,.toolbar a.link{text-decoration:none;position:relative;color:#fff;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;padding:0 16px;min-width:48px}.navbar a.link:before,.subnavbar a.link:before,.toolbar a.link:before{content:'';width:152%;height:152%;position:absolute;left:-26%;top:-26%;background-image:-webkit-radial-gradient(center,circle cover,rgba(255,255,255,.15) 66%,rgba(255,255,255,0) 66%);background-image:radial-gradient(circle at center,rgba(255,255,255,.15) 66%,rgba(255,255,255,0) 66%);background-repeat:no-repeat;background-position:center;background-size:100% 100%;opacity:0;pointer-events:none;-webkit-transition-duration:.6s;transition-duration:.6s}.navbar a.link.active-state:before,.subnavbar a.link.active-state:before,.toolbar a.link.active-state:before,html:not(.watch-active-state) .navbar a.link:active:before,html:not(.watch-active-state) .subnavbar a.link:active:before,html:not(.watch-active-state) .toolbar a.link:active:before{opacity:1;-webkit-transition-duration:150ms;transition-duration:150ms}.navbar a.link i+i,.navbar a.link i+span,.navbar a.link span+i,.navbar a.link span+span,.subnavbar a.link i+i,.subnavbar a.link i+span,.subnavbar a.link span+i,.subnavbar a.link span+span,.toolbar a.link i+i,.toolbar a.link i+span,.toolbar a.link span+i,.toolbar a.link span+span{margin-left:8px}.navbar a.icon-only,.subnavbar a.icon-only,.toolbar a.icon-only{min-width:0;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.navbar i.icon,.subnavbar i.icon,.toolbar i.icon{display:block}.navbar .center,.subnavbar .center{font-size:20px;font-weight:500;text-align:center;margin:0 16px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:56px;display:inline-block;text-align:left}.navbar .left,.navbar .right,.subnavbar .left,.subnavbar .right{-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar .right,.subnavbar .right{margin-left:auto}.navbar .right:first-child,.subnavbar .right:first-child{position:absolute;right:16px;height:100%}.navbar{left:0;top:0;height:56px;font-size:20px}.navbar a.link{line-height:56px;height:56px}.popup .navbar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.subnavbar{height:48px;width:100%;position:absolute;left:0;top:100%;z-index:20;box-sizing:border-box;padding:0 16px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;overflow:hidden}.subnavbar a.link{line-height:48px;height:48px}.subnavbar .center{line-height:48px}.subnavbar .center:first-child{margin-left:56px}.navbar.no-border .subnavbar{margin-top:0}.navbar-on-left .subnavbar,.navbar-on-right .subnavbar{pointer-events:none}.navbar .subnavbar,.page .subnavbar{position:absolute}.page>.subnavbar{top:0;margin-top:0}.subnavbar>.buttons-row{width:100%}.subnavbar .searchbar,.subnavbar.searchbar{position:absolute}.subnavbar .searchbar,.subnavbar.searchbar{position:absolute}.subnavbar .searchbar{left:0;top:0}.toolbar{left:0;bottom:0;height:48px;font-size:14px}.toolbar a.link{line-height:48px;height:48px}.toolbar a{-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;position:relative;white-space:nowrap;text-overflow:ellipsis}.tabbar{z-index:5001;overflow:hidden;bottom:auto;top:0}.tabbar .toolbar-inner{padding-left:0;padding-right:0}.tabbar a.link{line-height:1.4}.tabbar a.link,.tabbar a.tab-link{height:100%;width:100%;box-sizing:border-box;padding-left:0;padding-right:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-ms-flex:1;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;font-size:14px;text-transform:uppercase}.tabbar i.icon{height:24px}.tabbar a.tab-link{-webkit-transition-duration:.3s;transition-duration:.3s;overflow:hidden;color:rgba(255,255,255,.7);position:relative}.tabbar a.tab-link.active,.tabbar a.tab-link.active-state,html:not(.watch-active-state) .tabbar a.tab-link:active{color:#fff}.tabbar .tab-link-highlight{position:absolute;left:0;bottom:0;height:3px;background:#0a6ebd;background:rgba(255,255,255,.5);-webkit-transition-duration:.3s;transition-duration:.3s}.tabbar-labels{height:72px}.tabbar-labels a.link,.tabbar-labels a.tab-link{padding-top:12px;padding-bottom:12px;height:100%;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.tabbar-labels span.tabbar-label{line-height:1;display:block;margin:0;margin-top:10px;position:relative;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}.tabbar-scrollable .toolbar-inner{-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;overflow:auto}.tabbar-scrollable .toolbar-inner::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;-webkit-appearance:none;opacity:0!important}.tabbar-scrollable a.link,.tabbar-scrollable a.tab-link{width:auto;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;-ms-flex:0;padding:0 16px}.toolbar-bottom{bottom:0;top:auto}.toolbar-bottom .tab-link-highlight{bottom:auto;top:0}.navbar input[type=text],.navbar input[type=password],.navbar input[type=search],.navbar input[type=email],.navbar input[type=tel],.navbar input[type=url],.subnavbar input[type=text],.subnavbar input[type=password],.subnavbar input[type=search],.subnavbar input[type=email],.subnavbar input[type=tel],.subnavbar input[type=url]{box-sizing:border-box;width:100%;height:32px;display:block;border:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-radius:0;font-family:inherit;color:#fff;font-size:16px;font-weight:400;background-color:transparent;padding:0;border-bottom:1px solid #fff}.navbar input[type=text]::-webkit-input-placeholder,.navbar input[type=password]::-webkit-input-placeholder,.navbar input[type=search]::-webkit-input-placeholder,.navbar input[type=email]::-webkit-input-placeholder,.navbar input[type=tel]::-webkit-input-placeholder,.navbar input[type=url]::-webkit-input-placeholder,.subnavbar input[type=text]::-webkit-input-placeholder,.subnavbar input[type=password]::-webkit-input-placeholder,.subnavbar input[type=search]::-webkit-input-placeholder,.subnavbar input[type=email]::-webkit-input-placeholder,.subnavbar input[type=tel]::-webkit-input-placeholder,.subnavbar input[type=url]::-webkit-input-placeholder{color:#fff;opacity:1}.page>.navbar,.page>.toolbar,.view>.navbar,.view>.toolbar,.views>.navbar,.views>.toolbar{position:absolute}.subnavbar~.page-content{padding-top:48px}.tabbar-fixed .page-content,.toolbar-fixed .page-content{padding-top:48px}.tabbar-labels-fixed .page-content{padding-top:72px}.toolbar~.page-content{padding-top:48px}.tabbar-labels~.page-content{padding-top:72px}.messagebar~.page-content,.toolbar-bottom~.page-content{padding-top:0;padding-bottom:48px}.tabbar-labels.toolbar-bottom~.page-content{padding-bottom:72px}.navbar-fixed .page-content{padding-top:56px}.navbar-fixed .tabbar-fixed .page-content,.navbar-fixed .toolbar-fixed .page-content,.navbar-fixed.tabbar-fixed .page-content,.navbar-fixed.toolbar-fixed .page-content,.tabbar-fixed .navbar-fixed .page-content,.toolbar-fixed .navbar-fixed .page-content{padding-top:104px}.navbar-fixed .tabbar-labels-fixed .page-content,.navbar-fixed.tabbar-labels-fixed .page-content,.tabbar-labels-fixed .navbar-fixed .page-content{padding-top:128px}.navbar-fixed .toolbar~.page-content{padding-top:104px}.navbar-fixed .messagebar~.page-content,.navbar-fixed .toolbar-bottom~.page-content{padding-top:56px}.navbar-fixed .tabbar-labels~.page-content{padding-top:128px}.navbar-fixed .tabbar-labels.toolbar-bottom~.page-content{padding-top:56px}.navbar-fixed .page-content.with-subnavbar,.navbar-fixed .subnavbar~.page-content,.navbar-fixed .with-subnavbar .page-content{padding-top:104px}.navbar-fixed .page .subnavbar,.navbar-fixed.page .subnavbar{top:56px}.navbar-fixed .toolbar{top:56px}.navbar-fixed .messagebar,.navbar-fixed .toolbar-bottom{top:auto}.navbar.navbar-hiding{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.navbar.navbar-hiding~.page .list-group-title,.navbar.navbar-hiding~.page-content .list-group-title,.navbar.navbar-hiding~.pages .list-group-title{-webkit-transition-duration:.4s;transition-duration:.4s}.navbar.navbar-hiding~.page .subnavbar,.navbar.navbar-hiding~.page-content .subnavbar,.navbar.navbar-hiding~.pages .subnavbar{-webkit-transition-duration:.4s;transition-duration:.4s}.navbar.navbar-hiding~.subnavbar,.navbar.navbar-hiding~.toolbar{-webkit-transition-duration:.4s;transition-duration:.4s}.navbar.navbar-hidden{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.navbar.navbar-hidden~.page .list-group-title,.navbar.navbar-hidden~.page-content .list-group-title,.navbar.navbar-hidden~.pages .list-group-title{-webkit-transition-duration:.4s;transition-duration:.4s;top:-56px}.navbar.navbar-hidden~.page .subnavbar,.navbar.navbar-hidden~.page-content .subnavbar,.navbar.navbar-hidden~.pages .subnavbar{-webkit-transform:translate3d(0,-56px,0);transform:translate3d(0,-56px,0);-webkit-transition-duration:.4s;transition-duration:.4s}.navbar.navbar-hidden~.subnavbar,.navbar.navbar-hidden~.toolbar:not(.messagebar):not(.toolbar-bottom){-webkit-transform:translate3d(0,-56px,0);transform:translate3d(0,-56px,0);-webkit-transition-duration:.4s;transition-duration:.4s}.page.no-navbar .page-content{padding-top:0}.page.no-navbar .page-content.with-subnavbar,.page.no-navbar.with-subnavbar .page-content,.with-subnavbar .page.no-navbar .page-content{padding-top:48px}.tabbar.tabbar-hiding,.tabbar.toolbar-hiding,.toolbar.tabbar-hiding,.toolbar.toolbar-hiding{-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.tabbar.tabbar-hidden,.tabbar.toolbar-hidden,.toolbar.tabbar-hidden,.toolbar.toolbar-hidden{-webkit-transition-duration:.4s;transition-duration:.4s}.tabbar.tabbar-hidden,.tabbar.toolbar-hidden,.toolbar.tabbar-hidden,.toolbar.toolbar-hidden{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.navbar~.tabbar.tabbar-hidden,.navbar~.tabbar.toolbar-hidden,.navbar~.toolbar.tabbar-hidden,.navbar~.toolbar.toolbar-hidden{-webkit-transform:translate3d(0,-104px,0);transform:translate3d(0,-104px,0)}.navbar~.tabbar.tabbar-labels.toolbar-hidden,.navbar~.toolbar.tabbar-labels.toolbar-hidden{-webkit-transform:translate3d(0,-128px,0);transform:translate3d(0,-128px,0)}.tabbar.toolbar-hidden.messagebar,.tabbar.toolbar-hidden.toolbar-bottom,.toolbar.toolbar-hidden.messagebar,.toolbar.toolbar-hidden.toolbar-bottom{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.page.no-tabbar .page-content,.page.no-toolbar .page-content{padding-bottom:0}.searchbar{height:48px;width:100%;background:#2196f3;box-sizing:border-box;padding:0 16px;overflow:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;color:#fff}.searchbar a{position:relative;color:#fff}.searchbar a:before{content:'';width:152%;height:152%;position:absolute;left:-26%;top:-26%;background-image:-webkit-radial-gradient(center,circle cover,rgba(255,255,255,.15) 66%,rgba(255,255,255,0) 66%);background-image:radial-gradient(circle at center,rgba(255,255,255,.15) 66%,rgba(255,255,255,0) 66%);background-repeat:no-repeat;background-position:center;background-size:100% 100%;opacity:0;pointer-events:none;-webkit-transition-duration:.6s;transition-duration:.6s}.searchbar a.active-state:before,html:not(.watch-active-state) .searchbar a:active:before{opacity:1;-webkit-transition-duration:150ms;transition-duration:150ms}.searchbar .searchbar-input{width:100%;height:32px;position:relative;-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1}.searchbar input[type=search]{box-sizing:border-box;width:100%;height:32px;display:block;border:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border-radius:0;font-family:inherit;color:#fff;font-size:16px;font-weight:400;padding:0;border-bottom:1px solid #fff;height:100%;padding:0 36px 0 24px;background-color:transparent;background-repeat:no-repeat;background-position:0 center;opacity:.6;-webkit-background-size:24px 24px;background-size:24px 24px;-webkit-transition-duration:.3s;transition-duration:.3s;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M15.5%2014h-.79l-.28-.27C15.41%2012.59%2016%2011.11%2016%209.5%2016%205.91%2013.09%203%209.5%203S3%205.91%203%209.5%205.91%2016%209.5%2016c1.61%200%203.09-.59%204.23-1.57l.27.28v.79l5%204.99L20.49%2019l-4.99-5zm-6%200C7.01%2014%205%2011.99%205%209.5S7.01%205%209.5%205%2014%207.01%2014%209.5%2011.99%2014%209.5%2014z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}.searchbar input[type=search]::-webkit-input-placeholder{color:#fff;opacity:1}.searchbar input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.searchbar .searchbar-clear{position:absolute;width:56px;height:100%;right:-16px;top:0;opacity:0;pointer-events:none;background-position:center;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23fff'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E");-webkit-background-size:24px 24px;background-size:24px 24px;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.searchbar .searchbar-cancel{display:none}.searchbar.searchbar-active input[type=search]{opacity:1}.searchbar.searchbar-active .searchbar-clear{pointer-events:auto;opacity:1}.searchbar.searchbar-not-empty .searchbar-clear{pointer-events:auto;opacity:1}.searchbar-overlay{position:absolute;left:0;top:0;width:100%;height:100%;z-index:100;opacity:0;pointer-events:none;background:rgba(0,0,0,.25);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.searchbar-overlay.searchbar-overlay-active{opacity:1;pointer-events:auto}.searchbar-not-found{display:none}.hidden-by-searchbar,.list-block .hidden-by-searchbar,.list-block li.hidden-by-searchbar{display:none}.page>.searchbar{position:absolute;width:100%;left:0;top:0;z-index:200}.page>.searchbar~.page-content{padding-top:48px}.navbar-fixed .page>.searchbar,.navbar-fixed>.searchbar,.navbar-through .page>.searchbar,.navbar-through>.searchbar{top:56px}.navbar-fixed .page>.searchbar~.page-content,.navbar-fixed>.searchbar~.page-content,.navbar-through .page>.searchbar~.page-content,.navbar-through>.searchbar~.page-content{padding-top:104px}.toolbar.messagebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);background:#fff;height:48px;top:auto;bottom:0;font-size:16px;overflow:hidden}.toolbar.messagebar:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#d1d1d1;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .toolbar.messagebar:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .toolbar.messagebar:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.toolbar.messagebar textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:none;background:0 0;border-radius:0;box-shadow:none;display:block;padding:3px 8px 3px;margin:0;width:100%;height:28px;color:#333;font-size:16px;line-height:22px;font-family:inherit;resize:none;-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1}.toolbar.messagebar a.link{color:#333;-ms-flex-item-align:flex-end;-webkit-align-self:flex-end;align-self:flex-end;height:48px;line-height:48px}.toolbar.messagebar a.link:before{background-image:-webkit-radial-gradient(center,circle cover,rgba(0,0,0,.1) 66%,rgba(0,0,0,0) 66%);background-image:radial-gradient(circle at center,rgba(0,0,0,.1) 66%,rgba(0,0,0,0) 66%)}.toolbar.messagebar .link{-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.toolbar.messagebar~.page-content{padding-bottom:48px}.page.no-toolbar .toolbar.messagebar~.page-content{padding-bottom:48px}.hidden-toolbar .toolbar.messagebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:0s;transition-duration:0s}i.icon{display:inline-block;vertical-align:middle;background-size:100% auto;background-position:center;background-repeat:no-repeat;font-style:normal;position:relative}i.icon.icon-back{width:24px;height:24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-forward{width:24px;height:24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-bars{width:24px;height:24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-camera{width:24px;height:24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23333'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'3.2'%2F%3E%3Cpath%20d%3D'M9%202L7.17%204H4c-1.1%200-2%20.9-2%202v12c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2h-3.17L15%202H9zm3%2015c-2.76%200-5-2.24-5-5s2.24-5%205-5%205%202.24%205%205-2.24%205-5%205z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-f7{width:24px;height:24px;background-image:url(../img/i-f7-material.png);border-radius:3px}i.icon.icon-next,i.icon.icon-prev{width:24px;height:24px}i.icon.icon-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-plus{width:24px;height:24px;font-size:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%2013h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-close{width:24px;height:24px;font-size:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}.badge{font-size:10px;display:inline-block;color:#fff;background:#8e8e93;border-radius:3px;padding:1px 6px;box-sizing:border-box;vertical-align:middle}.icon .badge{position:absolute;left:100%;margin-left:-10px;top:-2px;font-size:10px;line-height:1.4;padding:1px 5px}.chip{font-size:13px;font-weight:400;color:rgba(0,0,0,.87);background:rgba(0,0,0,.12);display:inline-block;height:32px;line-height:32px;border-radius:16px;padding:0 12px;box-sizing:border-box;vertical-align:middle;display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin:2px 0}.chip-media{width:32px;height:32px;margin-left:-12px;vertical-align:top;border-radius:50%;text-align:center;line-height:32px;color:#fff;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;font-size:16px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.chip-media img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:50%;display:block}.chip-media+.chip-label{margin-left:8px}.chip-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;min-width:0}.chip-label+.chip-delete{margin-left:4px}.chip-delete{margin-right:-8px;width:24px;height:24px;text-align:center;line-height:24px;cursor:pointer;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23000'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M12%202C6.47%202%202%206.47%202%2012s4.47%2010%2010%2010%2010-4.47%2010-10S17.53%202%2012%202zm5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:center;background-size:20px 20px;opacity:.54}.chip-delete.active-state,html:not(.watch-active-state) .chip-delete:active{opacity:1}.content-block{margin:32px 0;padding:0 16px;box-sizing:border-box}.content-block.no-hairlines .content-block-inner:before,.content-block.no-hairlines ul:before,.content-block.no-hairlines:before{display:none}.content-block.no-hairlines .content-block-inner:after,.content-block.no-hairlines ul:after,.content-block.no-hairlines:after{display:none}.content-block-title{position:relative;overflow:hidden;margin:0;white-space:nowrap;text-overflow:ellipsis;font-size:14px;line-height:1;margin:16px 16px 16px;padding-top:16px;line-height:16px;font-weight:500;color:rgba(0,0,0,.54)}.content-block-title+.card,.content-block-title+.content-block,.content-block-title+.list-block{margin-top:0}.content-block-inner{padding:16px 16px;margin-left:-16px;width:100%;position:relative}.content-block-inner:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .content-block-inner:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .content-block-inner:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.content-block-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .content-block-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .content-block-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.content-block-inner>p:first-child{margin-top:0}.content-block-inner>p:last-child{margin-bottom:0}.content-block.inset{margin-left:16px;margin-right:16px;border-radius:7px}.content-block.inset .content-block-inner{border-radius:4px}.content-block.inset .content-block-inner:before{display:none}.content-block.inset .content-block-inner:after{display:none}@media all and (min-width:768px){.content-block.tablet-inset{margin-left:16px;margin-right:16px;border-radius:4px}.content-block.tablet-inset .content-block-inner{border-radius:4px}.content-block.tablet-inset .content-block-inner:before{display:none}.content-block.tablet-inset .content-block-inner:after{display:none}}.list-block{margin:32px 0;font-size:16px}.list-block ul{list-style:none;padding:0;margin:0;position:relative}.list-block ul:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .list-block ul:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block ul:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block ul:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block ul:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block ul:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block ul ul{padding-left:56px}.list-block ul ul:before{display:none}.list-block ul ul:after{display:none}.list-block .align-top,.list-block .align-top .item-content,.list-block .align-top .item-inner{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.list-block.inset{margin-left:16px;margin-right:16px;border-radius:4px}.list-block.inset .content-block-title{margin-left:0;margin-right:0}.list-block.inset ul{border-radius:4px}.list-block.inset ul:before{display:none}.list-block.inset ul:after{display:none}.list-block.inset li:first-child>a{border-radius:4px 4px 0 0}.list-block.inset li:last-child>a{border-radius:0 0 4px 4px}.list-block.inset li:first-child:last-child>a{border-radius:4px}@media all and (min-width:768px){.list-block.tablet-inset{margin-left:16px;margin-right:16px;border-radius:4px}.list-block.tablet-inset .content-block-title{margin-left:0;margin-right:0}.list-block.tablet-inset ul{border-radius:4px}.list-block.tablet-inset ul:before{display:none}.list-block.tablet-inset ul:after{display:none}.list-block.tablet-inset li:first-child>a{border-radius:4px 4px 0 0}.list-block.tablet-inset li:last-child>a{border-radius:0 0 4px 4px}.list-block.tablet-inset li:first-child:last-child>a{border-radius:4px}.list-block.tablet-inset .content-block-title{margin-left:0;margin-right:0}.list-block.tablet-inset ul{border-radius:4px}.list-block.tablet-inset ul:before{display:none}.list-block.tablet-inset ul:after{display:none}.list-block.tablet-inset li:first-child>a{border-radius:4px 4px 0 0}.list-block.tablet-inset li:last-child>a{border-radius:0 0 4px 4px}.list-block.tablet-inset li:first-child:last-child>a{border-radius:4px}}.list-block li{box-sizing:border-box;position:relative}.list-block .item-media{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-wrap:nowrap;-ms-flex-wrap:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;padding-top:8px;padding-bottom:8px;min-width:40px}.list-block .item-media i+i{margin-left:8px}.list-block .item-media i+img{margin-left:8px}.list-block .item-media+.item-inner{margin-left:16px}.list-block .item-inner{padding-right:16px;position:relative;width:100%;padding-top:8px;padding-bottom:8px;min-height:48px;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;min-width:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.list-block .item-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block .item-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block .item-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block .item-title{min-width:0;-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;max-width:100%}.list-block .item-after{white-space:nowrap;color:#757575;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;margin-left:8px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;max-height:28px;font-size:14px}.list-block .autocomplete-opener .item-after,.list-block .smart-select .item-after{max-width:70%;overflow:hidden;text-overflow:ellipsis;position:relative;display:block}.list-block .item-link{-webkit-transition-duration:.3s;transition-duration:.3s;display:block;color:inherit;position:relative;overflow:hidden;z-index:0}.list-block .item-link .item-inner{padding-right:42px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:10px 20px;background-repeat:no-repeat;background-position:95% center;background-position:-webkit-calc(100% - 16px) center;background-position:calc(100% - 16px) center}.list-block .item-link.active-state,html:not(.watch-active-state) .list-block .item-link:active{background-color:rgba(0,0,0,.1)}.list-block .item-link.list-button{padding:0 16px;font-size:16px;display:block;line-height:48px}.list-block .item-content{box-sizing:border-box;padding-left:16px;min-height:48px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.list-block .list-block-label{margin:10px 0 35px;padding:0 16px;font-size:14px;color:rgba(0,0,0,.54)}.list-block .swipeout{overflow:hidden;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.list-block .swipeout.deleting{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block .swipeout.deleting .swipeout-content{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.list-block .swipeout.transitioning .swipeout-actions-left a,.list-block .swipeout.transitioning .swipeout-actions-right a,.list-block .swipeout.transitioning .swipeout-content,.list-block .swipeout.transitioning .swipeout-overswipe{-webkit-transition:.3s;transition:.3s}.list-block .swipeout-content{position:relative;z-index:10}.list-block .swipeout-overswipe{-webkit-transition:.2s left;transition:.2s left}.list-block .swipeout-actions-left,.list-block .swipeout-actions-right{position:absolute;top:0;height:100%;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.list-block .swipeout-actions-left a,.list-block .swipeout-actions-right a{padding:0 24px;color:#fff;background:#c7c7cc;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;position:relative;left:0}.list-block .swipeout-actions-left a:after,.list-block .swipeout-actions-right a:after{content:'';position:absolute;top:0;width:600%;height:100%;background:inherit;z-index:-1}.list-block .swipeout-actions-left a.swipeout-delete,.list-block .swipeout-actions-right a.swipeout-delete{background:#f44336}.list-block .swipeout-actions-right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.list-block .swipeout-actions-right a:after{left:100%;margin-left:-1px}.list-block .swipeout-actions-left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.list-block .swipeout-actions-left a:after{right:100%;margin-right:-1px}.list-block .item-subtitle{font-size:14px;position:relative;overflow:hidden;white-space:nowrap;max-width:100%;text-overflow:ellipsis}.list-block .item-text{font-size:14px;color:#757575;line-height:20px;position:relative;overflow:hidden;max-height:40px;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.list-block li.media-item .item-inner,.list-block.media-list .item-inner{display:block;padding-top:14px;padding-bottom:14px;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.list-block li.media-item .item-link .item-inner,.list-block.media-list .item-link .item-inner{background:0 0;padding-right:16px}.list-block li.media-item .item-link .item-title-row,.list-block.media-list .item-link .item-title-row{padding-right:26px;background:no-repeat right top;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:10px 20px}.list-block li.media-item .item-media,.list-block.media-list .item-media{padding-top:14px;padding-bottom:14px;-ms-flex-item-align:flex-start;-webkit-align-self:flex-start;align-self:flex-start}.list-block li.media-item .item-media img,.list-block.media-list .item-media img{display:block}.list-block li.media-item .item-title-row,.list-block.media-list .item-title-row{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.list-block li.media-item .item-content>.item-after,.list-block.media-list .item-content>.item-after{padding-top:14px;padding-bottom:14px;-ms-flex-item-align:flex-start;-webkit-align-self:flex-start;align-self:flex-start}.list-block .list-group ul:after,.list-block .list-group ul:before{z-index:11}.list-block .list-group+.list-group ul:before{display:none}.list-block .item-divider,.list-block .list-group-title{background:#f4f4f4;padding:0 16px;white-space:nowrap;position:relative;max-width:100%;text-overflow:ellipsis;overflow:hidden;color:rgba(0,0,0,.54);height:48px;box-sizing:border-box;line-height:48px;font-size:14px}.list-block .item-divider:before,.list-block .list-group-title:before{display:none}.list-block .list-group-title{position:relative;position:-webkit-sticky;position:-moz-sticky;position:sticky;top:0;z-index:10;margin-top:0}.list-block .sortable-handler{position:absolute;right:0;top:0;bottom:1px;z-index:10;background-repeat:no-repeat;background-size:18px 12px;background-position:center;width:50px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2018%2012'%20fill%3D'%23c7c7cc'%3E%3Cpath%20d%3D'M0%2C2V0h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C7V5h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C12v-2h22v2H0z'%2F%3E%3C%2Fsvg%3E");opacity:0;visibility:hidden;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.list-block.sortable .item-inner{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block.sortable-opened .sortable-handler{visibility:visible;opacity:1}.list-block.sortable-opened .item-inner,.list-block.sortable-opened .item-link .item-inner{padding-right:50px}.list-block.sortable-opened .item-link .item-inner,.list-block.sortable-opened .item-link .item-title-row{background-image:none}.list-block.sortable-sorting li{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block li.sorting{z-index:50;background:rgba(255,255,255,.8);box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-webkit-transition-duration:0s;transition-duration:0s}.list-block li.sorting .item-inner:after{display:none}.list-block li:last-child .list-button:after{display:none}.list-block li:last-child .item-inner:after,.list-block li:last-child li:last-child .item-inner:after{display:none}.list-block li li:last-child .item-inner:after,.list-block li:last-child li .item-inner:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .list-block li li:last-child .item-inner:after,html.pixel-ratio-2 .list-block li:last-child li .item-inner:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .list-block li li:last-child .item-inner:after,html.pixel-ratio-3 .list-block li:last-child li .item-inner:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.list-block.no-hairlines .content-block-inner:before,.list-block.no-hairlines ul:before,.list-block.no-hairlines:before{display:none}.list-block.no-hairlines .content-block-inner:after,.list-block.no-hairlines ul:after,.list-block.no-hairlines:after{display:none}.list-block.no-hairlines-between .item-divider:after,.list-block.no-hairlines-between .item-inner:after,.list-block.no-hairlines-between .list-button:after,.list-block.no-hairlines-between .list-group-title:after{display:none}.contacts-block{margin:0}.contacts-block .list-group-title{padding:0 16px;pointer-events:none;background:0 0;color:#888;line-height:48px;height:48px;font-size:20px;font-weight:500;overflow:visible;width:56px;top:0}.contacts-block .list-group-title+li{margin-top:-48px}.contacts-block .list-group:first-child ul:before{display:none}.contacts-block .list-group:last-child ul:after{display:none}.contacts-block li:not(.list-group-title){padding-left:56px}.list-block input[type=time],.list-block input[type=number],.list-block input[type=text],.list-block input[type=password],.list-block input[type=search],.list-block input[type=email],.list-block input[type=tel],.list-block input[type=url],.list-block input[type=date],.list-block input[type=datetime-local],.list-block select,.list-block textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;box-sizing:border-box;border:none;background:0 0;border-radius:0;box-shadow:none;display:block;padding:0;margin:0;width:100%;height:36px;color:#212121;font-size:16px;font-family:inherit}.list-block input[type=time]::-webkit-input-placeholder,.list-block input[type=number]::-webkit-input-placeholder,.list-block input[type=text]::-webkit-input-placeholder,.list-block input[type=password]::-webkit-input-placeholder,.list-block input[type=search]::-webkit-input-placeholder,.list-block input[type=email]::-webkit-input-placeholder,.list-block input[type=tel]::-webkit-input-placeholder,.list-block input[type=url]::-webkit-input-placeholder,.list-block input[type=date]::-webkit-input-placeholder,.list-block input[type=datetime-local]::-webkit-input-placeholder,.list-block select::-webkit-input-placeholder,.list-block textarea::-webkit-input-placeholder{color:rgba(0,0,0,.35)}.list-block .floating-label,.list-block .label{vertical-align:top;color:rgba(0,0,0,.65);-webkit-transition-duration:.2s;transition-duration:.2s;width:35%;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.list-block input[type=date],.list-block input[type=datetime-local]{line-height:44px}.list-block select{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}.list-block textarea{resize:none;line-height:1.4;padding-top:8px;padding-bottom:7px;height:100px}.list-block textarea.resizable{height:36px}.list-block .item-input{width:100%;-ms-flex:1;-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;font-size:0;position:relative;margin-bottom:4px;min-height:36px}.list-block .input-item ul:after,.list-block.inputs-list ul:after{display:none}.list-block .input-item .item-media,.list-block.inputs-list .item-media{-ms-flex-item-align:flex-end;-webkit-align-self:flex-end;align-self:flex-end;min-height:36px;margin-bottom:8px;padding:0}.list-block .input-item .item-inner,.list-block.inputs-list .item-inner{display:block;margin-bottom:4px;padding-bottom:0}.list-block .input-item .item-inner:after,.list-block.inputs-list .item-inner:after{display:none}.list-block .input-item .floating-label,.list-block .input-item .label,.list-block.inputs-list .floating-label,.list-block.inputs-list .label{width:100%;font-size:12px}.list-block .input-item .floating-label,.list-block.inputs-list .floating-label{-webkit-transform-origin:left;transform-origin:left;-webkit-transform:scale(1.33333333) translateY(21px);transform:scale(1.33333333) translateY(21px);color:rgba(0,0,0,.35);width:auto;max-width:75%}.list-block .input-item .floating-label~.item-input input::-webkit-input-placeholder,.list-block.inputs-list .floating-label~.item-input input::-webkit-input-placeholder{color:transparent}.list-block .focus-state .floating-label,.list-block .not-empty-state .floating-label{color:rgba(0,0,0,.65);-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}.list-block .focus-state .floating-label,.list-block .focus-state .label{color:#2196f3}.input-field,.item-input-field{position:relative}.input-field:after,.item-input-field:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.12);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .input-field:after,html.pixel-ratio-2 .item-input-field:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .input-field:after,html.pixel-ratio-3 .item-input-field:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.input-field:after,.item-input-field:after{-webkit-transition-duration:.2s;transition-duration:.2s}.focus-state .input-field:after,.focus-state .item-input-field:after,.input-field.focus-state:after,.input-field.not-empty-state:after,.item-input-field.focus-state:after,.item-input-field.not-empty-state:after,.not-empty-state .input-field:after,.not-empty-state .item-input-field:after{background:#2196f3;-webkit-transform:scaleY(2)!important;transform:scaleY(2)!important}textarea.resizable{overflow:hidden}.label-switch{display:inline-block;vertical-align:middle;width:36px;height:14px;position:relative;cursor:pointer;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.label-switch .checkbox{width:36px;border-radius:36px;box-sizing:border-box;height:14px;background:#b0afaf;z-index:0;margin:0;padding:0;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;cursor:pointer;position:relative;-webkit-transition-duration:.3s;transition-duration:.3s}.label-switch .checkbox:after{content:' ';height:20px;width:20px;border-radius:20px;background:#fff;position:absolute;z-index:2;top:-3px;left:0;box-shadow:0 2px 5px rgba(0,0,0,.4);-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.3s;transition-duration:.3s}.label-switch input[type=checkbox]{display:none}.label-switch input[type=checkbox]:checked+.checkbox{background:rgba(33,150,243,.5)}.label-switch input[type=checkbox]:checked+.checkbox:after{-webkit-transform:translateX(16px);transform:translateX(16px);background:#2196f3}.item-input .label-switch{top:11px}.button{color:#2196f3;text-decoration:none;text-align:center;display:block;border-radius:2px;line-height:36px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:0 0;padding:0 10px;margin:0;height:36px;white-space:nowrap;text-overflow:ellipsis;font-size:14px;text-transform:uppercase;font-family:inherit;cursor:pointer;min-width:64px;padding:0 8px;position:relative;overflow:hidden;outline:0;border:none;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}input[type=submit].button,input[type=button].button{width:100%}.button.active-state,html:not(.watch-active-state) .button:active{background:rgba(0,0,0,.1)}.button.button-fill{background-color:#2196f3;color:#fff}.button.button-fill.active-state,html:not(.watch-active-state) .button.button-fill:active{background:#0c82df}.button.button-big{height:48px;line-height:48px;border-radius:3px}.button i.icon+i.icon,.button i.icon+span,.button span:not(.ripple-wave)+i.icon,.button span:not(.ripple-wave)+span{margin-left:8px}.navbar .button:not(.button-fill),.notifications .button:not(.button-fill),.subnavbar .button:not(.button-fill),.toolbar .button:not(.button-fill){color:#fff}.navbar .button:not(.button-fill).active-state,.notifications .button:not(.button-fill).active-state,.subnavbar .button:not(.button-fill).active-state,.toolbar .button:not(.button-fill).active-state,html:not(.watch-active-state) .navbar .button:not(.button-fill):active,html:not(.watch-active-state) .notifications .button:not(.button-fill):active,html:not(.watch-active-state) .subnavbar .button:not(.button-fill):active,html:not(.watch-active-state) .toolbar .button:not(.button-fill):active{background:rgba(255,255,255,.15)}.button-raised{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.button-raised.active-state,html:not(.watch-active-state) .button-raised:active{box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23)}.buttons-row{-ms-flex-item-align:center;-webkit-align-self:center;align-self:center;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-lines:single;-moz-box-lines:single;-webkit-flex-wrap:nowrap;-ms-flex-wrap:none;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.buttons-row .button{margin-left:16px;width:100%;-webkit-box-flex:1;-ms-flex:1}.buttons-row .button:first-child{margin-left:0}.range-slider{width:100%;position:relative;overflow:hidden;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.range-slider input[type=range]{position:relative;height:20px;width:100%;margin:0;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(0,#b9b9b9),color-stop(100%,#b9b9b9));background:linear-gradient(to right,#b9b9b9 0,#b9b9b9 100%);background-position:center;background-size:100% 2px;background-repeat:no-repeat;outline:0;-ms-background-position-y:500px}.range-slider input[type=range]:active,.range-slider input[type=range]:focus{border:0;outline:0 none}.range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;outline:0;height:20px;width:20px;position:relative;background:#2196f3;border-radius:20px}.range-slider input[type=range]::-webkit-slider-thumb:before{position:absolute;top:50%;right:100%;width:2000px;height:2px;margin-top:-1px;z-index:1;background:#2196f3;content:' '}.range-slider input[type=range]::-moz-range-track{width:100%;height:2px;background:#b7b8b7;border:none;outline:0}.range-slider input[type=range]::-moz-range-thumb{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;outline:0;height:20px;width:20px;position:relative;background:#2196f3;border-radius:20px}.range-slider input[type=range]::-ms-track{width:100%;height:2px;cursor:pointer;background:0 0;border-color:transparent;color:transparent}.range-slider input[type=range]::-ms-thumb{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;border:none;outline:0;height:20px;width:20px;position:relative;background:#2196f3;border-radius:20px}.range-slider input[type=range]::-ms-fill-lower{background:#2196f3}.range-slider input[type=range]::-ms-fill-upper{background:#b7b8b7}.item-input .range-slider{top:8px}label.label-checkbox{cursor:pointer}label.label-checkbox i.icon-form-checkbox{width:18px;height:18px;position:relative;border-radius:2px;border:2px solid #6d6d6d;box-sizing:border-box;-webkit-transition-duration:.3s;transition-duration:.3s;background:0 0}label.label-checkbox i.icon-form-checkbox:after{content:' ';position:absolute;width:18px;height:18px;left:-2px;top:-2px;-webkit-transition-duration:.3s;transition-duration:.3s;opacity:0;background:no-repeat center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E");-webkit-background-size:100% auto;background-size:100% auto}label.label-checkbox input[type=checkbox],label.label-checkbox input[type=radio]{display:none}label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox,label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox,label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox,label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox,label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox,label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox{border-color:#2196f3;background-color:#2196f3}label.label-checkbox input[type=checkbox]:checked+.item-media i.icon-form-checkbox:after,label.label-checkbox input[type=checkbox]:checked~.item-after i.icon-form-checkbox:after,label.label-checkbox input[type=checkbox]:checked~.item-inner i.icon-form-checkbox:after,label.label-checkbox input[type=radio]:checked+.item-media i.icon-form-checkbox:after,label.label-checkbox input[type=radio]:checked~.item-after i.icon-form-checkbox:after,label.label-checkbox input[type=radio]:checked~.item-inner i.icon-form-checkbox:after{opacity:1}label.label-radio{cursor:pointer}label.label-radio i.icon-form-radio{width:20px;height:20px;position:relative;border-radius:20px;border:2px solid #6d6d6d;box-sizing:border-box;-webkit-transition-duration:.3s;transition-duration:.3s}label.label-radio i.icon-form-radio:after{content:' ';position:absolute;width:10px;height:10px;left:50%;top:50%;margin-left:-5px;margin-top:-5px;background-color:#2196f3;border-radius:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transition-duration:.3s;transition-duration:.3s}label.label-radio input[type=checkbox],label.label-radio input[type=radio]{display:none}label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio,label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio,label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio,label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio,label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio,label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio{border-color:#2196f3}label.label-radio input[type=checkbox]:checked+.item-media i.icon-form-radio:after,label.label-radio input[type=checkbox]:checked~.item-after i.icon-form-radio:after,label.label-radio input[type=checkbox]:checked~.item-inner i.icon-form-radio:after,label.label-radio input[type=radio]:checked+.item-media i.icon-form-radio:after,label.label-radio input[type=radio]:checked~.item-after i.icon-form-radio:after,label.label-radio input[type=radio]:checked~.item-inner i.icon-form-radio:after{background-color:#2196f3;-webkit-transform:scale(1);transform:scale(1)}label.label-checkbox,label.label-radio{position:relative;overflow:hidden;z-index:0;-webkit-transition-duration:.3s;transition-duration:.3s}label.label-checkbox .item-after i.icon-form-checkbox,label.label-checkbox .item-after i.icon-form-radio,label.label-radio .item-after i.icon-form-checkbox,label.label-radio .item-after i.icon-form-radio{margin-left:8px;margin-right:16px}.media-item label.label-checkbox .item-media i.icon-form-checkbox,.media-item label.label-checkbox .item-media i.icon-form-radio,.media-item label.label-radio .item-media i.icon-form-checkbox,.media-item label.label-radio .item-media i.icon-form-radio,.media-list label.label-checkbox .item-media i.icon-form-checkbox,.media-list label.label-checkbox .item-media i.icon-form-radio,.media-list label.label-radio .item-media i.icon-form-checkbox,.media-list label.label-radio .item-media i.icon-form-radio{margin-top:4px}html:not(.watch-active-state) label.label-checkbox:active,html:not(.watch-active-state) label.label-radio:active,label.label-checkbox.active-state,label.label-radio.active-state{background-color:rgba(0,0,0,.1)}html:not(.watch-active-state) label.label-checkbox:active .item-inner:after,html:not(.watch-active-state) label.label-radio:active .item-inner:after,label.label-checkbox.active-state .item-inner:after,label.label-radio.active-state .item-inner:after{background-color:transparent}.smart-select select{display:none}.floating-button{position:absolute;right:16px;bottom:16px;width:56px;height:56px;border-radius:50%;z-index:1500;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23);background-color:#2196f3;color:#fff;overflow:hidden;-webkit-transition-duration:.3s;transition-duration:.3s;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.floating-button.active-state,html:not(.watch-active-state) .floating-button:active{background:#0c82df}.floating-button-toolbar,.speed-dial{position:absolute;right:16px;bottom:16px;z-index:1500}.floating-button-toolbar .floating-button,.speed-dial .floating-button{right:0;bottom:0;position:relative}.speed-dial .floating-button i{position:absolute;left:50%;top:50%;-webkit-transform:translate3d(-50%,-50%,0) rotate(0) scale(1);transform:translate3d(-50%,-50%,0) rotate(0) scale(1);-webkit-transition-duration:.3s;transition-duration:.3s}.speed-dial .floating-button i+i{-webkit-transform:translate3d(-50%,-50%,0) rotate(-90deg) scale(.5);transform:translate3d(-50%,-50%,0) rotate(-90deg) scale(.5);opacity:0}.speed-dial.speed-dial-opened .floating-button i{-webkit-transform:translate3d(-50%,-50%,0) rotate(90deg) scale(.5);transform:translate3d(-50%,-50%,0) rotate(90deg) scale(.5);opacity:0}.speed-dial.speed-dial-opened .floating-button i+i{-webkit-transform:translate3d(-50%,-50%,0) rotate(0) scale(1);transform:translate3d(-50%,-50%,0) rotate(0) scale(1);opacity:1}.speed-dial-buttons{position:absolute;width:40px;left:50%;margin-left:-20px;bottom:100%;margin-bottom:16px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-moz-box-orient:vertical;-moz-box-direction:reverse;-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;visibility:hidden;pointer-events:none}.speed-dial-buttons a{width:40px;height:40px;opacity:0;color:#fff;border-radius:50%;position:relative;z-index:1;overflow:hidden;background-color:#2196f3;-webkit-transition-duration:.3s;transition-duration:.3s;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-transform:translate3d(0,8px,0) scale(.3);transform:translate3d(0,8px,0) scale(.3);-webkit-transform-origin:center bottom;transform-origin:center bottom}.speed-dial-buttons a.active-state,html:not(.watch-active-state) .speed-dial-buttons a:active{background:#0c82df}.speed-dial-buttons a+a{margin-bottom:16px}.speed-dial-opened .speed-dial-buttons{visibility:visible;pointer-events:auto}.speed-dial-opened .speed-dial-buttons a{opacity:1;-webkit-transform:translate3d(0,0,0) scaleY(1);transform:translate3d(0,0,0) scaleY(1);box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.speed-dial-opened .speed-dial-buttons a:nth-child(2){-webkit-transition-delay:50ms;transition-delay:50ms}.speed-dial-opened .speed-dial-buttons a:nth-child(3){-webkit-transition-delay:.1s;transition-delay:.1s}.speed-dial-opened .speed-dial-buttons a:nth-child(4){-webkit-transition-delay:150ms;transition-delay:150ms}.speed-dial-opened .speed-dial-buttons a:nth-child(5){-webkit-transition-delay:.2s;transition-delay:.2s}.speed-dial-opened .speed-dial-buttons a:nth-child(6){-webkit-transition-delay:250ms;transition-delay:250ms}.floating-button-to-popover.floating-button-to-popover{-webkit-transition-duration:.3s;transition-duration:.3s}.floating-button-to-popover.floating-button-to-popover-in{-webkit-transition-duration:.1s;transition-duration:.1s}.floating-button-to-popover.floating-button-to-popover-in i{opacity:0;-webkit-transition-duration:.1s;transition-duration:.1s}.floating-button-to-popover.floating-button-to-popover-scale{border-radius:0;-webkit-transition-duration:.3s;transition-duration:.3s;box-shadow:none}.floating-button-to-popover.floating-button-to-popover-out{-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:.3s;transition-duration:.3s}.floating-button-to-popover.floating-button-to-popover-out i{opacity:1;-webkit-transition-duration:.1s;transition-duration:.1s;-webkit-transition-delay:.2s;transition-delay:.2s}.list-block .accordion-item-toggle{cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.list-block .accordion-item-toggle .item-inner{padding-right:42px;background:no-repeat -webkit-calc(100% - 15px) center;background:no-repeat calc(100% - 15px) center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:10px 20px}.list-block .accordion-item-toggle.active-state,html:not(.watch-active-state) .list-block .accordion-item-toggle:active{-webkit-transition-duration:0s;transition-duration:0s;background-color:#d9d9d9}.list-block .accordion-item-toggle.active-state>.item-inner:after,html:not(.watch-active-state) .list-block .accordion-item-toggle:active>.item-inner:after{background-color:transparent}.list-block .accordion-item-toggle .item-inner,.list-block .accordion-item>.item-link .item-inner{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:background-color;transition-property:background-color}.list-block .accordion-item-toggle .item-inner:after,.list-block .accordion-item>.item-link .item-inner:after{-webkit-transition-duration:.3s;transition-duration:.3s}.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row,.list-block .accordion-item-expanded.media-item>.item-link .item-title-row,.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row,.list-block.media-list .accordion-item-expanded>.item-link .item-title-row,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item)>.item-link .item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(115%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:20px 20px}.list-block .accordion-item-expanded .accordion-item-toggle .item-inner:after,.list-block .accordion-item-expanded>.item-link .item-inner:after{background-color:transparent}.list-block .accordion-item .content-block,.list-block .accordion-item .list-block{margin-top:0;margin-bottom:0}.list-block .accordion-item ul{padding-left:0}.accordion-item-content{position:relative;overflow:hidden;height:0;font-size:14px;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.accordion-item-expanded>.accordion-item-content{height:auto}html.android-4 .accordion-item-content{-webkit-transform:none;transform:none}.card .list-block ul,.cards-list ul{background:0 0}.card .list-block>ul:before,.cards-list>ul:before{display:none}.card .list-block>ul:after,.cards-list>ul:after{display:none}.card{background:#fff;margin:8px;position:relative;border-radius:2px;font-size:14px;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.card .content-block,.card .list-block{margin:0}.row:not(.no-gutter) .col>.card{margin-left:0;margin-right:0}.page-content>.card:last-child{margin-bottom:32px}.card-content{position:relative}.card-content-inner{padding:16px;position:relative}.card-content-inner>p:first-child{margin-top:0}.card-content-inner>p:last-child{margin-bottom:0}.card-content-inner>.content-block,.card-content-inner>.list-block{margin:-15px}.card-footer,.card-header{min-height:48px;position:relative;padding:4px 16px;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.card-footer[valign=top],.card-header[valign=top]{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.card-footer[valign=bottom],.card-header[valign=bottom]{-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.card-footer a.link,.card-header a.link{color:#2196f3;text-decoration:none;text-align:center;display:block;border-radius:2px;line-height:36px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:0 0;padding:0 10px;margin:0;height:36px;white-space:nowrap;text-overflow:ellipsis;font-size:14px;text-transform:uppercase;font-family:inherit;cursor:pointer;min-width:64px;padding:0 8px;position:relative;overflow:hidden;outline:0;border:none;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;user-select:none}input[type=submit].card-footer a.link,input[type=submit].card-header a.link,input[type=button].card-footer a.link,input[type=button].card-header a.link{width:100%}.card-footer a.link.active-state,.card-header a.link.active-state,html:not(.watch-active-state) .card-footer a.link:active,html:not(.watch-active-state) .card-header a.link:active{background:rgba(0,0,0,.1)}.card-footer a.link.button-fill,.card-header a.link.button-fill{background-color:#2196f3;color:#fff}.card-footer a.link.button-fill.active-state,.card-header a.link.button-fill.active-state,html:not(.watch-active-state) .card-footer a.link.button-fill:active,html:not(.watch-active-state) .card-header a.link.button-fill:active{background:#0c82df}.card-footer a.link.button-big,.card-header a.link.button-big{height:48px;line-height:48px;border-radius:3px}.card-footer a.link i.icon+i.icon,.card-footer a.link i.icon+span,.card-footer a.link span:not(.ripple-wave)+i.icon,.card-footer a.link span:not(.ripple-wave)+span,.card-header a.link i.icon+i.icon,.card-header a.link i.icon+span,.card-header a.link span:not(.ripple-wave)+i.icon,.card-header a.link span:not(.ripple-wave)+span{margin-left:8px}.navbar .card-footer a.link:not(.button-fill),.navbar .card-header a.link:not(.button-fill),.notifications .card-footer a.link:not(.button-fill),.notifications .card-header a.link:not(.button-fill),.subnavbar .card-footer a.link:not(.button-fill),.subnavbar .card-header a.link:not(.button-fill),.toolbar .card-footer a.link:not(.button-fill),.toolbar .card-header a.link:not(.button-fill){color:#fff}.navbar .card-footer a.link:not(.button-fill).active-state,.navbar .card-header a.link:not(.button-fill).active-state,.notifications .card-footer a.link:not(.button-fill).active-state,.notifications .card-header a.link:not(.button-fill).active-state,.subnavbar .card-footer a.link:not(.button-fill).active-state,.subnavbar .card-header a.link:not(.button-fill).active-state,.toolbar .card-footer a.link:not(.button-fill).active-state,.toolbar .card-header a.link:not(.button-fill).active-state,html:not(.watch-active-state) .navbar .card-footer a.link:not(.button-fill):active,html:not(.watch-active-state) .navbar .card-header a.link:not(.button-fill):active,html:not(.watch-active-state) .notifications .card-footer a.link:not(.button-fill):active,html:not(.watch-active-state) .notifications .card-header a.link:not(.button-fill):active,html:not(.watch-active-state) .subnavbar .card-footer a.link:not(.button-fill):active,html:not(.watch-active-state) .subnavbar .card-header a.link:not(.button-fill):active,html:not(.watch-active-state) .toolbar .card-footer a.link:not(.button-fill):active,html:not(.watch-active-state) .toolbar .card-header a.link:not(.button-fill):active{background:rgba(255,255,255,.15)}.card-footer a.link i+i,.card-footer a.link i+span,.card-footer a.link span+i,.card-footer a.link span+span,.card-header a.link i+i,.card-header a.link i+span,.card-header a.link span+i,.card-header a.link span+span{margin-left:7px}.card-footer a.link i.icon,.card-header a.link i.icon{display:block}.card-footer a.icon-only,.card-header a.icon-only{min-width:48px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;margin:0}.card-header{border-radius:2px 2px 0 0;font-size:16px}.card-header:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#e1e1e1;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .card-header:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .card-header:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.card-header.no-border:after{display:none}.card-footer{border-radius:0 0 2px 2px;color:#757575}.card-footer:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#e1e1e1;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .card-footer:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .card-footer:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.card-footer.no-border:before{display:none}.modal-overlay,.picker-modal-overlay,.popup-overlay,.preloader-indicator-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.4);z-index:13000;visibility:hidden;opacity:0;-webkit-transition-duration:.4s;transition-duration:.4s}.modal-overlay.modal-overlay-visible,.picker-modal-overlay.modal-overlay-visible,.popup-overlay.modal-overlay-visible,.preloader-indicator-overlay.modal-overlay-visible{visibility:visible;opacity:1}.popup-overlay{z-index:10500}.picker-modal-overlay{z-index:12000}.modal{width:280px;position:absolute;z-index:13500;left:50%;margin-left:-140px;margin-top:0;top:50%;border-radius:3px;opacity:0;-webkit-transform:translate3d(0,0,0) scale(1.185);transform:translate3d(0,0,0) scale(1.185);-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-ms-transition-property:-ms-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;color:#757575;display:none;background:#fff;font-size:16px;box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}.modal.modal-in{opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}.modal.modal-out{opacity:0;z-index:13499;-webkit-transition-duration:.4s;transition-duration:.4s;-webkit-transform:translate3d(0,0,0) scale(.815);transform:translate3d(0,0,0) scale(.815)}.modal-inner{padding:24px 24px 20px;position:relative}.modal-title{font-weight:500;font-size:20px;color:#212121;line-height:1.3}.modal-title+.modal-text{margin-top:20px}.modal-text{line-height:1.5}.modal-buttons{height:48px;padding:6px 8px;overflow:hidden;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.modal-buttons.modal-buttons-vertical{display:block;height:auto;padding:0 0 8px 0}.modal-buttons.modal-buttons-vertical .modal-button{margin-left:0;text-align:right;height:48px;line-height:48px;border-radius:0;padding-left:16px;padding-right:16px}.modal-button,.modal-buttons .button{color:#2196f3;text-decoration:none;text-align:center;display:block;border-radius:2px;line-height:36px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:0 0;padding:0 10px;margin:0;height:36px;white-space:nowrap;text-overflow:ellipsis;font-size:14px;text-transform:uppercase;font-family:inherit;cursor:pointer;min-width:64px;padding:0 8px;position:relative;overflow:hidden;outline:0;border:none;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-user-select:none;user-select:none}input[type=submit].modal-button,input[type=submit].modal-buttons .button,input[type=button].modal-button,input[type=button].modal-buttons .button{width:100%}.modal-button.active-state,.modal-buttons .button.active-state,html:not(.watch-active-state) .modal-button:active,html:not(.watch-active-state) .modal-buttons .button:active{background:rgba(0,0,0,.1)}.modal-button.button-fill,.modal-buttons .button.button-fill{background-color:#2196f3;color:#fff}.modal-button.button-fill.active-state,.modal-buttons .button.button-fill.active-state,html:not(.watch-active-state) .modal-button.button-fill:active,html:not(.watch-active-state) .modal-buttons .button.button-fill:active{background:#0c82df}.modal-button.button-big,.modal-buttons .button.button-big{height:48px;line-height:48px;border-radius:3px}.modal-button i.icon+i.icon,.modal-button i.icon+span,.modal-button span:not(.ripple-wave)+i.icon,.modal-button span:not(.ripple-wave)+span,.modal-buttons .button i.icon+i.icon,.modal-buttons .button i.icon+span,.modal-buttons .button span:not(.ripple-wave)+i.icon,.modal-buttons .button span:not(.ripple-wave)+span{margin-left:8px}.navbar .modal-button:not(.button-fill),.navbar .modal-buttons .button:not(.button-fill),.notifications .modal-button:not(.button-fill),.notifications .modal-buttons .button:not(.button-fill),.subnavbar .modal-button:not(.button-fill),.subnavbar .modal-buttons .button:not(.button-fill),.toolbar .modal-button:not(.button-fill),.toolbar .modal-buttons .button:not(.button-fill){color:#fff}.navbar .modal-button:not(.button-fill).active-state,.navbar .modal-buttons .button:not(.button-fill).active-state,.notifications .modal-button:not(.button-fill).active-state,.notifications .modal-buttons .button:not(.button-fill).active-state,.subnavbar .modal-button:not(.button-fill).active-state,.subnavbar .modal-buttons .button:not(.button-fill).active-state,.toolbar .modal-button:not(.button-fill).active-state,.toolbar .modal-buttons .button:not(.button-fill).active-state,html:not(.watch-active-state) .navbar .modal-button:not(.button-fill):active,html:not(.watch-active-state) .navbar .modal-buttons .button:not(.button-fill):active,html:not(.watch-active-state) .notifications .modal-button:not(.button-fill):active,html:not(.watch-active-state) .notifications .modal-buttons .button:not(.button-fill):active,html:not(.watch-active-state) .subnavbar .modal-button:not(.button-fill):active,html:not(.watch-active-state) .subnavbar .modal-buttons .button:not(.button-fill):active,html:not(.watch-active-state) .toolbar .modal-button:not(.button-fill):active,html:not(.watch-active-state) .toolbar .modal-buttons .button:not(.button-fill):active{background:rgba(255,255,255,.15)}.modal-button.modal-button-bold,.modal-buttons .button.modal-button-bold{font-weight:700}.modal-button+.modal-button,.modal-buttons .button+.modal-button{margin-left:4px}.modal-no-buttons .modal-buttons{display:none}.actions-modal{position:absolute;left:0;bottom:0;z-index:13500;width:100%;background:#fff;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);max-height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.actions-modal.modal-in{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.actions-modal.modal-out{z-index:13499;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.actions-modal-group{position:relative}.actions-modal-group:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#d2d2d6;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .actions-modal-group:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .actions-modal-group:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.actions-modal-group:last-child:after{display:none}.actions-modal-button,.actions-modal-label{width:100%;font-weight:400;margin:0;box-sizing:border-box;display:block;position:relative;padding:0 16px}.actions-modal-button a,.actions-modal-label a{text-decoration:none;color:inherit;display:block}.actions-modal-button b,.actions-modal-label b{font-weight:500}.actions-modal-button.actions-modal-button-bold,.actions-modal-label.actions-modal-button-bold{font-weight:500}.actions-modal-button.actions-modal-button-red,.actions-modal-label.actions-modal-button-red{color:#f44336}.actions-modal-button.disabled,.actions-modal-label.disabled{opacity:.95;color:#9e9e9e}.actions-modal-button{cursor:pointer;line-height:48px;font-size:16px;color:rgba(0,0,0,.87);-webkit-transition-duration:.3s;transition-duration:.3s}.actions-modal-button,.actions-modal-button a{position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.actions-modal-button.active-state,html:not(.watch-active-state) .actions-modal-button:active{background:rgba(0,0,0,.1)}.actions-modal-label{font-size:16px;color:rgba(0,0,0,.54);min-height:56px;line-height:1.3;padding-top:12px;padding-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}input.modal-text-input{box-sizing:border-box;height:36px;background:#fff;margin:0;margin-top:15px;padding:0;border:none;width:100%;font-size:16px;font-family:inherit;display:block;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;-webkit-transition-duration:.2s;transition-duration:.2s}input.modal-text-input::-webkit-input-placeholder{color:rgba(0,0,0,.35)}input.modal-text-input+input.modal-text-input{margin-top:16px}.popover{width:320px;background:#fff;z-index:13500;margin:0;top:0;opacity:0;left:0;border-radius:3px;position:absolute;display:none;box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);-webkit-transform:scale(.85,.6);transform:scale(.85,.6);-webkit-transition-property:opacity,-webkit-transform,border-radius;-moz-transition-property:opacity,-moz-transform,border-radius;transition-property:opacity,transform,border-radius}.popover.popover-on-top{-webkit-transform-origin:center bottom;transform-origin:center bottom}.popover.popover-on-bottom{-webkit-transform-origin:center top;transform-origin:center top}.popover.modal-in{-webkit-transform:scale(1);transform:scale(1);-webkit-transition-duration:.3s;transition-duration:.3s;opacity:1}.popover.modal-out{-webkit-transform:scale(1);transform:scale(1);-webkit-transition-duration:.3s;transition-duration:.3s;opacity:0}.popover .list-block{margin:0}.popover .list-block:first-child:last-child ul:before{display:none}.popover .list-block:first-child:last-child ul:after{display:none}.popover .list-block ul{background:0 0}.popover .list-block ul:before{display:none}.popover .list-block:first-child ul{border-radius:3px 3px 0 0}.popover .list-block:first-child li:first-child a{border-radius:3px 3px 0 0}.popover .list-block:last-child ul{border-radius:0 0 3px 3px}.popover .list-block:last-child ul:after{display:none}.popover .list-block:last-child li:last-child a{border-radius:0 0 3px 3px}.popover .list-block:first-child:last-child li:first-child:last-child a,.popover .list-block:first-child:last-child ul:first-child:last-child{border-radius:3px}.popover.popover-floating-button{-webkit-transform-origin:center center;transform-origin:center center;-webkit-transform:scale(.7);transform:scale(.7);border-radius:50%;box-shadow:none;box-shadow:0 10px 20px rgba(0,0,0,.19),0 6px 6px rgba(0,0,0,.23)}.popover.popover-floating-button.modal-in{border-radius:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transition-delay:.2s;transition-delay:.2s;-webkit-transition-duration:.2s;transition-duration:.2s}.popover.popover-floating-button.modal-out{border-radius:50%;-webkit-transform:scale(.7);transform:scale(.7);-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:.1s;transition-duration:.1s}.popover.popover-floating-button .list-block{margin:0}.popover.popover-floating-button .list-block:first-child ul{border-radius:0}.popover.popover-floating-button .list-block:first-child li:first-child a{border-radius:0}.popover.popover-floating-button .list-block:last-child ul{border-radius:0}.popover.popover-floating-button .list-block:last-child li:last-child a{border-radius:0}.popover.popover-floating-button .list-block:first-child:last-child li:first-child:last-child a,.popover.popover-floating-button .list-block:first-child:last-child ul:first-child:last-child{border-radius:0}.popover-inner{overflow:auto;-webkit-overflow-scrolling:touch}.actions-popover .list-block{margin:0}.actions-popover-label{padding:8px 16px;color:rgba(0,0,0,.54);font-size:16px;line-height:1.3;padding-top:12px;padding-bottom:12px;position:relative}.actions-popover-label:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:#d2d2d6;display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .actions-popover-label:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .actions-popover-label:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.actions-popover-label:last-child:after{display:none}.login-screen,.popup{position:absolute;left:0;top:0;width:100%;height:100%;z-index:11000;background:#fff;box-sizing:border-box;display:none;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-ms-transition-property:-ms-transform;-o-transition-property:-o-transform;transition-property:transform;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.login-screen.modal-in,.login-screen.modal-out,.popup.modal-in,.popup.modal-out{-webkit-transition-duration:.4s;transition-duration:.4s}.login-screen.modal-in,.popup.modal-in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.login-screen.modal-out,.popup.modal-out{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.login-screen.modal-in,.login-screen.modal-out{display:block}@media all and (min-width:630px) and (min-height:630px){.popup:not(.tablet-fullscreen){width:630px;height:630px;left:50%;top:50%;margin-left:-315px;margin-top:-315px;box-shadow:0 20px 44px rgba(0,0,0,.5);border-radius:3px;-webkit-transform:translate3d(0,1024px,0);transform:translate3d(0,1024px,0)}.popup:not(.tablet-fullscreen).modal-in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.popup:not(.tablet-fullscreen).modal-out{-webkit-transform:translate3d(0,1024px,0);transform:translate3d(0,1024px,0)}}@media all and (max-width:629px),(max-height:629px){html.with-statusbar-overlay .popup{height:-webkit-calc(100% - 20px);height:calc(100% - 20px);top:20px}html.with-statusbar-overlay .popup-overlay{z-index:9500}}html.with-statusbar-overlay .login-screen,html.with-statusbar-overlay .popup.tablet-fullscreen{height:-webkit-calc(100% - 20px);height:calc(100% - 20px);top:20px}.modal-preloader .modal-inner,.modal-preloader .modal-title{text-align:center}.preloader-indicator-overlay{visibility:visible;opacity:0;background:0 0}.preloader-indicator-modal{position:absolute;left:50%;top:50%;padding:8px;margin-left:-24px;margin-top:-24px;background:rgba(0,0,0,.8);z-index:13500;border-radius:4px}.preloader-indicator-modal .preloader{display:block}.picker-modal{position:absolute;left:0;bottom:0;width:100%;height:260px;z-index:12000;display:none;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-ms-transition-property:-ms-transform;-o-transition-property:-o-transform;transition-property:transform;background:#fff;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.picker-modal.modal-in,.picker-modal.modal-out{-webkit-transition-duration:.4s;transition-duration:.4s}.picker-modal.modal-in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.picker-modal.modal-out{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.picker-modal .picker-modal-inner{height:100%;position:relative}.picker-modal .toolbar{position:relative;width:100%;top:0}.picker-modal .toolbar+.picker-modal-inner{height:-webkit-calc(100% - 48px);height:-moz-calc(100% - 48px);height:calc(100% - 48px)}.picker-modal .toolbar a.link{-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.picker-modal .picker-footer,.picker-modal .picker-header{height:48px}.picker-modal .picker-header{background:#2196f3}.picker-modal .picker-header+.toolbar .toolbar-inner{overflow:visible}.picker-modal .picker-header+.picker-footer+.toolbar+.picker-modal-inner{height:-webkit-calc(100% - 48px * 3);height:-moz-calc(100% - 48px * 3);height:calc(100% - 48px * 3)}.picker-modal .picker-footer{position:absolute;left:0;bottom:0;width:100%;height:48px;padding:6px 8px;overflow:hidden;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.picker-modal .picker-footer.modal-buttons-vertical{display:block;height:auto;padding:0 0 8px 0}.picker-modal .picker-footer.modal-buttons-vertical .modal-button{margin-left:0;text-align:right;height:48px;line-height:48px;border-radius:0;padding-left:16px;padding-right:16px}.picker-modal .picker-footer+.picker-modal-inner,.picker-modal .picker-header+.picker-modal-inner{height:-webkit-calc(100% - 48px);height:-moz-calc(100% - 48px);height:calc(100% - 48px)}.picker-modal .picker-footer+.toolbar+.picker-modal-inner,.picker-modal .picker-header+.toolbar+.picker-modal-inner{height:-webkit-calc(100% - 48px * 2);height:-moz-calc(100% - 48px * 2);height:calc(100% - 48px * 2)}.picker-modal.picker-modal-inline,.popover .picker-modal{display:block;position:relative;background:0 0;z-index:inherit;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.picker-modal.picker-modal-inline .toolbar,.popover .picker-modal .toolbar{top:0}.popover .picker-modal{width:auto}.popover .picker-modal .picker-header:first-child,.popover .picker-modal .toolbar:first-child{border-radius:2px 2px 0 0}.picker-modal.smart-select-picker .list-block{margin:0}.picker-modal.smart-select-picker .list-block ul:before{display:none}.picker-modal.smart-select-picker .list-block ul:after{display:none}.panel-overlay{position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.2);opacity:0;z-index:5999;display:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.panel{z-index:1000;display:none;background:#fff;box-sizing:border-box;overflow:auto;-webkit-overflow-scrolling:touch;position:absolute;width:260px;top:0;height:100%;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.panel.panel-left.panel-cover{z-index:6000;left:-260px}.panel.panel-left.panel-reveal{left:0}.panel.panel-right.panel-cover{z-index:6000;right:-260px}.panel.panel-right.panel-reveal{right:0}body.with-panel-left-cover .panel,body.with-panel-right-cover .panel{box-shadow:0 0 20px rgba(0,0,0,.5)}body.with-panel-left-cover .views,body.with-panel-right-cover .views{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}body.with-panel-left-cover .panel-overlay,body.with-panel-right-cover .panel-overlay{display:block;opacity:1}body.with-panel-left-reveal .views,body.with-panel-right-reveal .views{box-shadow:0 0 20px rgba(0,0,0,.5);-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:-webkit-transform,box-shadow;-moz-transition-property:-moz-transform,box-shadow;transition-property:transform,box-shadow}body.with-panel-left-reveal .panel-overlay,body.with-panel-right-reveal .panel-overlay{background:rgba(0,0,0,0);display:block;opacity:0}body.with-panel-left-reveal .views{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}body.with-panel-left-reveal .panel-overlay{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}body.with-panel-left-cover .panel-left{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}body.with-panel-right-reveal .views{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}body.with-panel-right-reveal .panel-overlay{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}body.with-panel-right-cover .panel-right{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}body.panel-closing .panel-overlay{display:block}body.panel-closing .views{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-property:-webkit-transform,box-shadow;-moz-transition-property:-moz-transform,box-shadow;transition-property:transform,box-shadow}.lazy-loaded.lazy-fadeIn{-webkit-animation:lazyFadeIn .6s;animation:lazyFadeIn .6s}@-webkit-keyframes lazyFadeIn{from{opacity:0}to{opacity:1}}@keyframes lazyFadeIn{from{opacity:0}to{opacity:1}}.tabs .tab{display:none}.tabs .tab.active{display:block}.tabs-animated-wrap{position:relative;width:100%;overflow:hidden;height:100%}.tabs-animated-wrap>.tabs{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:100%;-webkit-transition-duration:.3s;transition-duration:.3s}.tabs-animated-wrap>.tabs>.tab{width:100%;display:block;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0}.tabs-swipeable-wrap{height:100%}.tabs-swipeable-wrap>.tabs>.tab{display:block}.messages-content{background:#eee}.messages{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.messages-date{text-align:center;font-weight:500;font-size:12px;line-height:1;margin:10px 15px}.messages-date span{font-weight:400}.message{box-sizing:border-box;margin:0 8px 8px 8px;max-width:80%;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.message:first-child{margin-top:8px}.message.message-pic img{display:block}.message-date,.message-label,.message-name,.messages-date{color:rgba(0,0,0,.51)}.message-name{font-size:12px;line-height:1;margin-bottom:2px;margin-top:7px}.message-hide-name .message-name{display:none}.message-label{font-size:12px;line-height:1;margin-top:4px}.message-hide-label .message-label{display:none}.message-avatar{width:48px;height:48px;border-radius:100%;margin-top:-48px;position:relative;top:1px;background-size:cover;opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s}.message-hide-avatar .message-avatar{opacity:0}.message-text{box-sizing:border-box;border-radius:2px;padding:6px 8px;min-width:48px;font-size:16px;line-height:1.2;word-break:break-word;color:#333;min-height:48px;position:relative;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.message-text img{max-width:100%;height:auto}.message-pic .message-text{padding:8px}.message-date{font-size:12px;margin-top:4px}.message-pic img+.message-date{margin-top:8px}.message-sent{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end;-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.message-sent .message-label,.message-sent .message-name{margin-right:8px}.message-sent .message-text{background-color:#C8E6C9;margin-left:auto;border-radius:2px 2px 0 2px;margin-right:8px}.message-sent .message-text:before{position:absolute;content:'';border-left:0 solid transparent;border-right:8px solid transparent;border-bottom:8px solid #C8E6C9;left:100%;bottom:0;width:0;height:0}.message-sent.message-with-avatar .message-label,.message-sent.message-with-avatar .message-name,.message-sent.message-with-avatar .message-text{margin-right:56px}.message-received{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.message-received .message-text{background-color:#fff;border-radius:2px 2px 2px 0;margin-left:8px}.message-received .message-text:before{position:absolute;content:'';border-left:8px solid transparent;border-right:0 solid transparent;border-bottom:8px solid #fff;right:100%;bottom:0;width:0;height:0}.message-received .message-label,.message-received .message-name{margin-left:8px}.message-received.message-with-avatar .message-label,.message-received.message-with-avatar .message-name,.message-received.message-with-avatar .message-text{margin-left:56px}.message-appear-from-bottom{-webkit-animation:messageAppearFromBottom .4s;animation:messageAppearFromBottom .4s}.message-appear-from-top{-webkit-animation:messageAppearFromTop .4s;animation:messageAppearFromTop .4s}@-webkit-keyframes messageAppearFromBottom{from{-webkit-transform:translate3d(0,100%,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes messageAppearFromBottom{from{transform:translate3d(0,100%,0)}to{transform:translate3d(0,0,0)}}@-webkit-keyframes messageAppearFromTop{from{-webkit-transform:translate3d(0,-100%,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes messageAppearFromTop{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,0,0)}}html.with-statusbar-overlay body{padding-top:20px;box-sizing:border-box}html.with-statusbar-overlay body .statusbar-overlay{display:block}html.with-statusbar-overlay body .panel{padding-top:20px}.statusbar-overlay{background:#2196f3;z-index:10000;position:absolute;left:0;top:0;height:20px;width:100%;display:none;-webkit-transition-duration:.3s;transition-duration:.3s}.preloader{font-size:0;display:inline-block;width:32px;height:32px;-webkit-animation:preloader-outer 3.3s linear infinite;animation:preloader-outer 3.3s linear infinite}.preloader svg{width:100%;height:100%;-webkit-animation:preloader-inner 1.32s linear infinite;animation:preloader-inner 1.32s linear infinite}.preloader svg circle{fill:none;stroke:#757575;stroke-linecap:square;-webkit-animation:preloader-arc 1.32s cubic-bezier(.8,0,.4,.8) infinite;animation:preloader-arc 1.32s cubic-bezier(.8,0,.4,.8) infinite}@-webkit-keyframes preloader-outer{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes preloader-outer{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@-webkit-keyframes preloader-inner{0%{-webkit-transform:rotate(-100.8deg)}100%{-webkit-transform:rotate(0)}}@keyframes preloader-inner{0%{transform:rotate(-100.8deg)}100%{transform:rotate(0)}}@-webkit-keyframes preloader-arc{0%{stroke-dasharray:1 210.49px;stroke-dashoffset:0}40%{stroke-dasharray:151.55px,210.49px;stroke-dashoffset:0}100%{stroke-dasharray:1 210.49px;stroke-dashoffset:-151.55px}}@keyframes preloader-arc{0%{stroke-dasharray:1 210.49px;stroke-dashoffset:0}40%{stroke-dasharray:151.55px,210.49px;stroke-dashoffset:0}100%{stroke-dasharray:1 210.49px;stroke-dashoffset:-151.55px}}.preloader-inner{position:relative;display:block;width:100%;height:100%;-webkit-animation:preloader-inner-rotate 5.25s cubic-bezier(.35,0,.25,1) infinite;animation:preloader-inner-rotate 5.25s cubic-bezier(.35,0,.25,1) infinite}.preloader-inner .preloader-inner-gap{position:absolute;width:2px;left:50%;margin-left:-1px;top:0;bottom:0;box-sizing:border-box;border-top:4px solid #757575}.preloader-inner .preloader-inner-left,.preloader-inner .preloader-inner-right{position:absolute;top:0;height:100%;width:50%;overflow:hidden}.preloader-inner .preloader-inner-half-circle{position:absolute;top:0;height:100%;width:200%;box-sizing:border-box;border:4px solid #757575;border-bottom-color:transparent!important;border-radius:50%;-webkit-animation-iteration-count:infinite;-webkit-animation-duration:1.3125s;-webkit-animation-timing-function:cubic-bezier(.35,0,.25,1);animation-iteration-count:infinite;animation-duration:1.3125s;animation-timing-function:cubic-bezier(.35,0,.25,1)}.preloader-white .preloader-inner .preloader-inner-gap,.preloader-white .preloader-inner .preloader-inner-half-circle{border-color:#fff}.preloader-inner .preloader-inner-left{left:0}.preloader-inner .preloader-inner-left .preloader-inner-half-circle{left:0;border-right-color:transparent!important;-webkit-animation-name:preloader-left-rotate;animation-name:preloader-left-rotate}.preloader-inner .preloader-inner-right{right:0}.preloader-inner .preloader-inner-right .preloader-inner-half-circle{right:0;border-left-color:transparent!important;-webkit-animation-name:preloader-right-rotate;animation-name:preloader-right-rotate}.color-multi .preloader-inner .preloader-inner-left .preloader-inner-half-circle{-webkit-animation-name:preloader-left-rotate-multicolor;animation-name:preloader-left-rotate-multicolor}.color-multi .preloader-inner .preloader-inner-right .preloader-inner-half-circle{-webkit-animation-name:preloader-right-rotate-multicolor;animation-name:preloader-right-rotate-multicolor}@-webkit-keyframes preloader-left-rotate{0%,100%{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}}@keyframes preloader-left-rotate{0%,100%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}}@-webkit-keyframes preloader-right-rotate{0%,100%{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}}@keyframes preloader-right-rotate{0%,100%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}}@-webkit-keyframes preloader-inner-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg)}}@keyframes preloader-inner-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@-webkit-keyframes preloader-left-rotate-multicolor{0%,100%{border-left-color:#4285F4;-webkit-transform:rotate(130deg)}75%{border-left-color:#1B9A59;border-top-color:#1B9A59}50%{border-left-color:#F7C223;border-top-color:#F7C223;-webkit-transform:rotate(-5deg)}25%{border-left-color:#DE3E35;border-top-color:#DE3E35}}@keyframes preloader-left-rotate-multicolor{0%,100%{border-left-color:#4285F4;transform:rotate(130deg)}75%{border-left-color:#1B9A59;border-top-color:#1B9A59}50%{border-left-color:#F7C223;border-top-color:#F7C223;transform:rotate(-5deg)}25%{border-left-color:#DE3E35;border-top-color:#DE3E35}}@-webkit-keyframes preloader-right-rotate-multicolor{0%,100%{border-right-color:#4285F4;-webkit-transform:rotate(-130deg)}75%{border-right-color:#1B9A59;border-top-color:#1B9A59}50%{border-right-color:#F7C223;border-top-color:#F7C223;-webkit-transform:rotate(5deg)}25%{border-top-color:#DE3E35;border-right-color:#DE3E35}}@keyframes preloader-right-rotate-multicolor{0%,100%{border-right-color:#4285F4;transform:rotate(-130deg)}75%{border-right-color:#1B9A59;border-top-color:#1B9A59}50%{border-right-color:#F7C223;border-top-color:#F7C223;transform:rotate(5deg)}25%{border-top-color:#DE3E35;border-right-color:#DE3E35}}.progressbar,.progressbar-infinite{height:4px;width:100%;overflow:hidden;display:block;position:relative;-webkit-transform-origin:center bottom;transform-origin:center bottom;background:rgba(33,150,243,.5)}.progressbar{display:block;vertical-align:middle;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.progressbar span{content:'';width:100%;background:#2196f3;height:100%;position:absolute;left:0;top:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);-webkit-transition-duration:150ms;transition-duration:150ms}.progressbar-infinite{z-index:15000}.progressbar-infinite:after,.progressbar-infinite:before{content:'';position:absolute;left:0;top:0;width:100%;height:100%;background:#2196f3;-webkit-transform-origin:left center;transform-origin:left center}.progressbar-infinite:before{-webkit-animation:progressbar-infinite-1 2s linear infinite;animation:progressbar-infinite-1 2s linear infinite}.progressbar-infinite:after{-webkit-animation:progressbar-infinite-2 2s linear infinite;animation:progressbar-infinite-2 2s linear infinite}html.with-statusbar-overlay .framework7-root>.progressbar-infinite,html.with-statusbar-overlay body>.progressbar-infinite{top:20px}.progressbar-infinite.color-multi{background:0 0!important}.progressbar-infinite.color-multi:after,.progressbar-infinite.color-multi:before{width:100%;animation:none}.progressbar-infinite.color-multi:before{background:0 0;-webkit-animation:progressbar-infinite-multicolor-bg 3s step-end infinite;animation:progressbar-infinite-multicolor-bg 3s step-end infinite}.progressbar-infinite.color-multi:after{background:0 0;-webkit-animation:progressbar-infinite-multicolor-fill 3s linear infinite;animation:progressbar-infinite-multicolor-fill 3s linear infinite;-webkit-transform-origin:center center;transform-origin:center center}.framework7-root>.progressbar,.framework7-root>.progressbar-infinite,.page>.progressbar,.page>.progressbar-infinite,.panel>.progressbar,.panel>.progressbar-infinite,.popup>.progressbar,.popup>.progressbar-infinite,.view>.progressbar,.view>.progressbar-infinite,.views>.progressbar,.views>.progressbar-infinite,body>.progressbar,body>.progressbar-infinite{position:absolute;left:0;top:0;z-index:15000;-webkit-transform-origin:center top;transform-origin:center top}.progressbar-in{-webkit-animation:progressbar-in .3s forwards;animation:progressbar-in .3s forwards}.progressbar-out{-webkit-animation:progressbar-out .3s forwards;animation:progressbar-out .3s forwards}html.with-statusbar-overlay .framework7-root>.progressbar,html.with-statusbar-overlay body>.progressbar{top:20px}@-webkit-keyframes progressbar-in{from{opacity:0;-webkit-transform:scaleY(0)}to{opacity:1;-webkit-transform:scaleY(1)}}@keyframes progressbar-in{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@-webkit-keyframes progressbar-out{from{opacity:1;-webkit-transform:scaleY(1)}to{opacity:0;-webkit-transform:scaleY(0)}}@keyframes progressbar-out{from{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}@-webkit-keyframes progressbar-infinite-1{0%{-webkit-transform:translateX(-10%) scaleX(.1)}25%{-webkit-transform:translateX(30%) scaleX(.6)}50%{-webkit-transform:translateX(100%) scaleX(1)}100%{-webkit-transform:translateX(100%) scaleX(1)}}@keyframes progressbar-infinite-1{0%{transform:translateX(-10%) scaleX(.1)}25%{transform:translateX(30%) scaleX(.6)}50%{transform:translateX(100%) scaleX(1)}100%{transform:translateX(100%) scaleX(1)}}@-webkit-keyframes progressbar-infinite-2{0%{-webkit-transform:translateX(-100%) scaleX(1)}40%{-webkit-transform:translateX(-100%) scaleX(1)}75%{-webkit-transform:translateX(60%) scaleX(.35)}90%{-webkit-transform:translateX(100%) scaleX(.1)}100%{-webkit-transform:translateX(100%) scaleX(.1)}}@keyframes progressbar-infinite-2{0%{transform:translateX(-100%) scaleX(1)}40%{transform:translateX(-100%) scaleX(1)}75%{transform:translateX(60%) scaleX(.35)}90%{transform:translateX(100%) scaleX(.1)}100%{transform:translateX(100%) scaleX(.1)}}@-webkit-keyframes progressbar-infinite-multicolor-bg{0%{background-color:#4caf50}25%{background-color:#f44336}50%{background-color:#2196f3}75%{background-color:#ffeb3b}}@keyframes progressbar-infinite-multicolor-bg{0%{background-color:#4caf50}25%{background-color:#f44336}50%{background-color:#2196f3}75%{background-color:#ffeb3b}}@-webkit-keyframes progressbar-infinite-multicolor-fill{0%{-webkit-transform:scaleX(0);background-color:#f44336}24.9%{-webkit-transform:scaleX(1);background-color:#f44336}25%{-webkit-transform:scaleX(0);background-color:#2196f3}49.9%{-webkit-transform:scaleX(1);background-color:#2196f3}50%{-webkit-transform:scaleX(0);background-color:#ffeb3b}74.9%{-webkit-transform:scaleX(1);background-color:#ffeb3b}75%{-webkit-transform:scaleX(0);background-color:#4caf50}100%{-webkit-transform:scaleX(1);background-color:#4caf50}}@keyframes progressbar-infinite-multicolor-fill{0%{transform:scaleX(0);background-color:#f44336}24.9%{transform:scaleX(1);background-color:#f44336}25%{transform:scaleX(0);background-color:#2196f3}49.9%{transform:scaleX(1);background-color:#2196f3}50%{transform:scaleX(0);background-color:#ffeb3b}74.9%{transform:scaleX(1);background-color:#ffeb3b}75%{transform:scaleX(0);background-color:#4caf50}100%{transform:scaleX(1);background-color:#4caf50}}.pull-to-refresh-layer{position:absolute;position:relative;margin-top:-48px;left:0;top:0;width:100%;height:48px}.pull-to-refresh-layer .preloader{position:absolute;left:50%;top:50%;margin-left:-16px;margin-top:-16px;visibility:hidden}.pull-to-refresh-layer .pull-to-refresh-arrow{width:24px;height:24px;position:absolute;left:50%;top:50%;margin-left:-12px;margin-top:-12px;background:no-repeat center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'-80%204%2024%2024'%3E%3Cpath%20d%3D'M-69%2C8v12.2l-5.6-5.6L-76%2C16l8%2C8l8-8l-1.4-1.4l-5.6%2C5.6V8H-69z'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E");z-index:10;-webkit-transform:rotate(0) translate3d(0,0,0);transform:rotate(0) translate3d(0,0,0);-webkit-transition-duration:.3s;transition-duration:.3s}.pull-to-refresh-content.pull-to-refresh-no-navbar{margin-top:-48px;height:-webkit-calc(100% + 48px);height:-moz-calc(100% + 48px);height:calc(100% + 48px)}.pull-to-refresh-content.pull-to-refresh-no-navbar .pull-to-refresh-layer{margin-top:0}.pull-to-refresh-content.refreshing,.pull-to-refresh-content.transitioning{-webkit-transition-duration:.4s;transition-duration:.4s}.pull-to-refresh-content:not(.refreshing) .pull-to-refresh-layer .preloader{-webkit-animation:none;animation:none}.pull-to-refresh-content.refreshing{-webkit-transform:translate3d(0,48px,0);transform:translate3d(0,48px,0)}.pull-to-refresh-content.refreshing .pull-to-refresh-arrow{visibility:hidden;-webkit-transition-duration:0s;transition-duration:0s}.pull-to-refresh-content.refreshing .preloader{visibility:visible}.pull-to-refresh-content.pull-up .pull-to-refresh-arrow{-webkit-transform:rotate(180deg) translate3d(0,0,0);transform:rotate(180deg) translate3d(0,0,0)}.infinite-scroll-preloader{text-align:center;padding:8px 0}.autocomplete-page .autocomplete-found{display:block}.autocomplete-page .autocomplete-not-found{display:none}.autocomplete-page .autocomplete-values{display:block}.autocomplete-page .list-block ul:empty{display:none}.autocomplete-page .navbar .autocomplete-preloader{margin-right:16px}.autocomplete-preloader:not(.autocomplete-preloader-visible){-webkit-animation:none;animation:none;visibility:hidden}.autocomplete-dropdown{background:#fff;box-sizing:border-box;position:absolute;z-index:500;box-shadow:0 2px 2px rgba(0,0,0,.25);width:100%;left:0}.autocomplete-dropdown .autocomplete-dropdown-inner{position:relative;overflow:auto;-webkit-overflow-scrolling:touch;height:100%;z-index:1}.autocomplete-dropdown .autocomplete-preloader{display:none;position:absolute;right:16px;bottom:100%;margin-bottom:8px;width:20px;height:20px}.autocomplete-dropdown .autocomplete-preloader .preloader-inner-gap,.autocomplete-dropdown .autocomplete-preloader .preloader-inner-half-circle{border-width:3px}.autocomplete-dropdown .autocomplete-preloader-visible{display:block}.autocomplete-dropdown .autocomplete-dropdown-placeholder{color:#a9a9a9}.autocomplete-dropdown .list-block{margin:0;color:rgba(0,0,0,.54)}.autocomplete-dropdown .list-block ul{background:0 0!important}.autocomplete-dropdown .list-block ul:before{display:none}.autocomplete-dropdown .list-block ul:after{display:none}.autocomplete-dropdown .list-block b{font-weight:400;color:#212121}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-moz-transform-origin:right top;-ms-transform-origin:right top;-o-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-slide .preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10}.photo-browser{position:absolute;left:0;top:0;width:100%;height:100%;z-index:11500}.framework7-root>.photo-browser,body>.photo-browser{opacity:0;display:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.framework7-root>.photo-browser.photo-browser-in,body>.photo-browser.photo-browser-in{display:block;-webkit-animation:photoBrowserIn .4s forwards;animation:photoBrowserIn .4s forwards}.framework7-root>.photo-browser.photo-browser-out,body>.photo-browser.photo-browser-out{display:block;-webkit-animation:photoBrowserOut .4s forwards;animation:photoBrowserOut .4s forwards}html.with-statusbar-overlay .framework7-root>.photo-browser,html.with-statusbar-overlay body>.photo-browser{height:-webkit-calc(100% - 20px);height:calc(100% - 20px);top:20px}.framework7-root>.photo-browser .navbar,.framework7-root>.photo-browser .toolbar,.popup>.photo-browser .navbar,.popup>.photo-browser .toolbar,body>.photo-browser .navbar,body>.photo-browser .toolbar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser .page[data-page=photo-browser-slides]{background:0 0}.photo-browser-popup{background:0 0}.photo-browser .navbar,.photo-browser .toolbar,.views .view[data-page=photo-browser-slides] .navbar,.views .view[data-page=photo-browser-slides] .toolbar{background:rgba(33,150,243,.95);-webkit-transition-duration:.4s;transition-duration:.4s}.view[data-page=photo-browser-slides] .page[data-page=photo-browser-slides] .navbar,.view[data-page=photo-browser-slides] .page[data-page=photo-browser-slides] .toolbar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser .page[data-page=photo-browser-slides] .toolbar,.view[data-page=photo-browser-slides] .page[data-page=photo-browser-slides] .toolbar{bottom:0;top:auto}.photo-browser-exposed .navbar,.photo-browser-exposed .toolbar{opacity:0;visibility:hidden;pointer-events:none}.photo-browser-exposed .photo-browser-swiper-container{background:#000}.photo-browser-of{margin:0 5px}.photo-browser-captions{pointer-events:none;position:absolute;left:0;width:100%;bottom:0;z-index:10;opacity:1;-webkit-transition-duration:.4s;transition-duration:.4s}.photo-browser-captions.photo-browser-captions-exposed{opacity:0}.toolbar~.photo-browser-captions{bottom:48px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser-exposed .toolbar~.photo-browser-captions{-webkit-transform:translate3d(0,48px,0);transform:translate3d(0,48px,0)}.toolbar~.photo-browser-captions.photo-browser-captions-exposed{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.photo-browser-caption{box-sizing:border-box;-webkit-transition-duration:.3s;transition-duration:.3s;position:absolute;bottom:0;left:0;opacity:0;padding:4px 5px;width:100%;text-align:center;background:rgba(0,0,0,.8)}.photo-browser-caption:empty{display:none}.photo-browser-caption.photo-browser-caption-active{opacity:1}.photo-browser-captions-light .photo-browser-caption{background:rgba(255,255,255,.8)}.photo-browser-captions-dark .photo-browser-caption{color:#fff}.photo-browser-exposed .photo-browser-caption{color:#fff;background:rgba(0,0,0,.8)}.photo-browser-swiper-container{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;background:#fff;-webkit-transition-duration:.4s;transition-duration:.4s}.photo-browser-swiper-wrapper{position:absolute;left:0;top:0;width:100%;height:100%;padding:0;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.photo-browser-link-inactive{opacity:.3}.photo-browser-slide{width:100%;height:100%;position:relative;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-flex:0;-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;box-sizing:border-box}.photo-browser-slide.transitioning{-webkit-transition-duration:.4s;transition-duration:.4s}.photo-browser-slide span.swiper-zoom-container{display:none}.photo-browser-slide img{width:auto;height:auto;max-width:100%;max-height:100%;display:none}.photo-browser-slide.swiper-slide-active span.swiper-zoom-container,.photo-browser-slide.swiper-slide-next span.swiper-zoom-container,.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.photo-browser-slide.swiper-slide-active img,.photo-browser-slide.swiper-slide-next img,.photo-browser-slide.swiper-slide-prev img{display:inline}.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader,.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader,.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader{display:block}.photo-browser-slide iframe{width:100%;height:100%}.photo-browser-slide .preloader{display:none;position:absolute;width:42px;height:42px;margin-left:-21px;margin-top:-21px;left:50%;top:50%}.photo-browser.photo-browser-dark .navbar,.photo-browser.photo-browser-dark .toolbar{background:rgba(30,30,30,.8);color:#fff}.photo-browser.photo-browser-dark .navbar:before,.photo-browser.photo-browser-dark .toolbar:before{display:none}.photo-browser.photo-browser-dark .navbar:after,.photo-browser.photo-browser-dark .toolbar:after{display:none}.photo-browser.photo-browser-dark .navbar a,.photo-browser.photo-browser-dark .toolbar a{color:#fff}.photo-browser.photo-browser-dark .photo-browser-swiper-container{background:#000}@-webkit-keyframes photoBrowserIn{0%{-webkit-transform:translate3d(0,0,0) scale(.5);opacity:0}100%{-webkit-transform:translate3d(0,0,0) scale(1);opacity:1}}@keyframes photoBrowserIn{0%{transform:translate3d(0,0,0) scale(.5);opacity:0}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}@-webkit-keyframes photoBrowserOut{0%{-webkit-transform:translate3d(0,0,0) scale(1);opacity:1}100%{-webkit-transform:translate3d(0,0,0) scale(.5);opacity:0}}@keyframes photoBrowserOut{0%{transform:translate3d(0,0,0) scale(1);opacity:1}100%{transform:translate3d(0,0,0) scale(.5);opacity:0}}.picker-columns{width:100%;height:260px;z-index:11500}.picker-columns.picker-modal-inline{height:200px}@media (orientation:landscape) and (max-height:415px){.picker-columns:not(.picker-modal-inline){height:200px}}.popover.popover-picker-columns{width:280px}.popover.popover-picker-columns .toolbar{border-radius:2px 2px 0 0}.picker-items{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:0;text-align:right;font-size:20px;-webkit-mask-box-image:-webkit-linear-gradient(bottom,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent);-webkit-mask-box-image:linear-gradient(to top,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent)}.picker-items-col{overflow:hidden;position:relative;max-height:100%}.picker-items-col.picker-items-col-left{text-align:left}.picker-items-col.picker-items-col-center{text-align:center}.picker-items-col.picker-items-col-right{text-align:right}.picker-items-col.picker-items-col-divider{color:rgba(0,0,0,.87);display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.picker-items-col-wrapper{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.picker-item{height:36px;line-height:36px;padding:0 10px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;color:rgba(0,0,0,.54);left:0;top:0;width:100%;box-sizing:border-box;-webkit-transition-duration:.3s;transition-duration:.3s}.picker-items-col-absolute .picker-item{position:absolute}.picker-item.picker-item-far{pointer-events:none}.picker-item.picker-selected{color:rgba(0,0,0,.87);-webkit-transform:translate3d(0,0,0) rotateX(0);transform:translate3d(0,0,0) rotateX(0)}.picker-center-highlight{height:36px;box-sizing:border-box;position:absolute;left:0;width:100%;top:50%;margin-top:-18px;pointer-events:none}.picker-center-highlight:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:rgba(0,0,0,.15);display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}html.pixel-ratio-2 .picker-center-highlight:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-center-highlight:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-center-highlight:after{content:'';position:absolute;left:0;bottom:0;right:auto;top:auto;height:1px;width:100%;background-color:rgba(0,0,0,.15);display:block;z-index:15;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}html.pixel-ratio-2 .picker-center-highlight:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}html.pixel-ratio-3 .picker-center-highlight:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}.picker-3d .picker-items{overflow:hidden;-webkit-perspective:1200px;perspective:1200px}.picker-3d .picker-item,.picker-3d .picker-items-col,.picker-3d .picker-items-col-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-3d .picker-items-col{overflow:visible}.picker-3d .picker-item{-webkit-transform-origin:center center -110px;transform-origin:center center -110px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.picker-calendar{background:#fff;height:420px;overflow:hidden;bottom:auto;width:90%;left:50%;top:50%;min-width:300px;max-width:380px;-webkit-transform:translate3d(-50%,100%,0);transform:translate3d(-50%,100%,0);box-shadow:0 19px 38px rgba(0,0,0,.3),0 15px 12px rgba(0,0,0,.22)}@media (orientation:landscape) and (max-height:460px){.picker-calendar:not(.picker-modal-inline){height:-webkit-calc(100% - 40px);height:calc(100% - 40px)}}.popover-picker-calendar .picker-calendar{height:420px}.picker-calendar .picker-modal-inner{overflow:hidden}.picker-calendar.modal-in{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.picker-calendar.modal-out{-webkit-transform:translate3d(-50%,100%,0);transform:translate3d(-50%,100%,0)}.picker-calendar.picker-modal-inline{height:300px}.picker-calendar.picker-modal-inline,.popover-picker-calendar .picker-calendar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);width:auto;max-width:none;left:0;top:0;box-shadow:none}.picker-calendar.picker-modal{z-index:12500}.popover.popover-picker-calendar{width:320px}.picker-calendar-selected-date{line-height:48px;color:#fff;padding:0 24px;font-size:20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-calendar-week-days{height:14.28571429%;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;font-size:12px;box-sizing:border-box;position:relative;color:rgba(0,0,0,.54)}.picker-calendar-week-days .picker-calendar-week-day{-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;width:14.28571429%;width:-webkit-calc(100% / 7);width:-moz-calc(100% / 7);width:calc(100% / 7);text-align:center;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.picker-calendar-week-days+.picker-calendar-months{height:-webkit-calc(100% - 100% / 7);height:-moz-calc(100% - 100% / 7);height:calc(100% - 100% / 7)}.picker-calendar-months{width:100%;height:100%;overflow:hidden;position:relative}.picker-calendar-months-wrapper{position:relative;width:100%;height:100%;-webkit-transition-duration:.3s;transition-duration:.3s}.picker-calendar-month{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;width:100%;height:100%;position:absolute;left:0;top:0}.picker-calendar-row{height:16.66666667%;height:-webkit-calc(100% / 6);height:-moz-calc(100% / 6);height:calc(100% / 6);display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;width:100%;position:relative}.picker-calendar-day{-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;box-sizing:border-box;width:14.28571429%;width:-webkit-calc(100% / 7);width:-moz-calc(100% / 7);width:calc(100% / 7);text-align:center;font-size:12px;cursor:pointer}.picker-calendar-day.picker-calendar-day-next,.picker-calendar-day.picker-calendar-day-prev{color:#b8b8b8}.picker-calendar-day.picker-calendar-day-disabled{color:#d4d4d4;cursor:auto}.picker-calendar-day.picker-calendar-day-today span{color:#2196f3}.picker-calendar-day.picker-calendar-day-selected span{background:#2196f3;color:#fff}.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected span{border-radius:0;width:100%}.picker-calendar-day.picker-calendar-day-has-events span:after{content:'';width:4px;height:4px;border-radius:50%;background:#2196f3;position:absolute;margin-left:-2px;left:50%;bottom:2px}.picker-calendar-day.picker-calendar-day-has-events.picker-calendar-day-selected span:after{display:none}.picker-calendar-day span{display:inline-block;border-radius:100%;width:36px;height:36px;line-height:36px;position:relative}.picker-calendar-month-picker,.picker-calendar-year-picker{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;width:50%;max-width:200px;-webkit-box-flex:10;-webkit-flex-shrink:10;-ms-flex:0 10 auto;flex-shrink:10}.picker-calendar-month-picker span,.picker-calendar-year-picker span{-webkit-box-flex:1;-webkit-flex-shrink:1;-ms-flex:0 1 auto;flex-shrink:1;position:relative;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.notifications{position:absolute;left:0;bottom:0;width:100%;z-index:10900;color:#fff;font-size:14px;margin:0;border:none;display:none;box-sizing:border-box;max-height:100%;overflow:hidden;-webkit-overflow-scrolling:touch;-webkit-transition-duration:450ms;transition-duration:450ms;-webkit-perspective:1200px;perspective:1200px}.notifications.list-block>ul{max-width:568px;background:#323232;margin:0 auto}.notifications.list-block>ul:before{display:none}.notifications.list-block>ul:after{display:none}.notifications .item-content{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;padding-left:24px}.notifications .item-title{font-size:14px;font-weight:400;white-space:normal;padding-top:14px;padding-bottom:14px}.notifications .item-inner{padding-right:24px;padding-top:0;padding-bottom:0}.notifications .item-inner:after{display:none}.notifications .item-after{max-height:none;margin-left:16px}.notifications .button.close-notification{color:#48aeff}.notifications .notification-item{margin:0 auto;-webkit-transition-duration:450ms;transition-duration:450ms;-webkit-transition-delay:.1s;transition-delay:.1s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.notifications .notification-hidden{opacity:0;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.notifications .notification-item-removing{-webkit-transition-delay:0s;transition-delay:0s}@media (min-width:569px){.notifications.list-block>ul{border-radius:2px;width:auto;min-width:288px}}.login-screen-content{background:#fff}.login-screen-content .content-block,.login-screen-content .list-block,.login-screen-content .list-block-label,.login-screen-content .login-screen-title{max-width:480px;margin:24px auto}.login-screen-content .list-block ul{background:0 0}.login-screen-content .list-block ul:before{display:none}.login-screen-content .list-block ul:after{display:none}.login-screen-content .list-block-label{text-align:center}.navbar-fixed .page .login-screen-content{padding-top:0}.login-screen-title{text-align:center;font-size:34px}.actions-modal-button,.button,.floating-button>a,.label-checkbox,.label-radio,.modal-button,.ripple,.speed-dial-buttons a,.tab-link,a.floating-button,a.item-link,a.link{-webkit-user-select:none;user-select:none}.ripple-wave{left:0;top:0;position:absolute!important;border-radius:50%;pointer-events:none;z-index:-1;background:rgba(0,0,0,.1);padding:0;margin:0;font-size:0;-webkit-transform:translate3d(0,0,0) scale(0);transform:translate3d(0,0,0) scale(0);-webkit-transition-duration:1.4s;transition-duration:1.4s}.ripple-wave.ripple-wave-fill{-webkit-transition-duration:.3s;transition-duration:.3s;opacity:.35}.ripple-wave.ripple-wave-out{-webkit-transition-duration:.6s;transition-duration:.6s;opacity:0}.button-fill .ripple-wave,.picker-calendar-day .ripple-wave{z-index:1}.button-fill .ripple-wave,.floating-button .ripple-wave,.navbar .ripple-wave,.notifications .ripple-wave,.searchbar .ripple-wave,.speed-dial-buttons a .ripple-wave,.subnavbar .ripple-wave,.toolbar .ripple-wave{background:rgba(255,255,255,.3)}.messagebar .ripple-wave{background:rgba(0,0,0,.1)}.disabled,[disabled]{opacity:.55;pointer-events:none}.disabled .disabled,.disabled [disabled],[disabled] .disabled,[disabled] [disabled]{opacity:1} \ No newline at end of file diff --git a/vendor/framework7/css/framework7.material.rtl.css b/vendor/framework7/css/framework7.material.rtl.css deleted file mode 100644 index 5771a7c95..000000000 --- a/vendor/framework7/css/framework7.material.rtl.css +++ /dev/null @@ -1,571 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * Google Material Theme - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -/*============= - Framework 7 RTL Additions -=============*/ -html { - direction: rtl; -} -/* === Lists === */ -.list-block ul ul { - padding-left: 0; - padding-right: 56px; -} -.list-block .item-content { - padding-left: 0; - padding-right: 16px; -} -.list-block .item-inner { - padding-right: 0; - padding-left: 16px; -} -.list-block .item-after { - margin-left: 0; - margin-right: 8px; -} -.list-block .item-media i + i, -.list-block .item-media i + img { - margin-left: 0; - margin-right: 8px; -} -.list-block .item-media + .item-inner { - margin-left: 0; - margin-right: 16px; -} -.list-block .item-link .item-inner { - padding-right: 0; - padding-left: 42px; - background-position: 16px center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E"); -} -.list-block.media-list .item-link .item-inner, -.list-block li.media-item .item-link .item-inner { - padding-right: 0; - padding-left: 16px; -} -.list-block.media-list .item-link .item-title-row, -.list-block li.media-item .item-link .item-title-row { - padding-right: 0; - padding-left: 26px; - background-position: center left; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E"); -} -.list-block .sortable-handler { - right: auto; - left: 0; -} -.list-block.sortable-opened .item-inner, -.list-block.sortable-opened .item-link .item-inner { - padding-right: 0; - padding-left: 50px; -} -.list-block.sortable-opened .item-link .item-inner, -.list-block.sortable-opened .item-link .item-title-row { - background-image: none; -} -.list-block .swipeout-actions-left, -.list-block .swipeout-actions-right { - direction: ltr; -} -/* === Toolbars === */ -.navbar a.link i + span, -.toolbar a.link i + span, -.navbar a.link i + i, -.toolbar a.link i + i, -.navbar a.link span + i, -.toolbar a.link span + i, -.navbar a.link span + span, -.toolbar a.link span + span { - margin-left: 0; - margin-right: 8px; -} -.navbar .right { - margin-left: 0; - margin-right: auto; -} -.tabbar .tab-link-highlight { - left: auto; - right: 0; -} -/* === Forms === */ -.list-block input[type="text"], -.list-block input[type="password"], -.list-block input[type="search"], -.list-block input[type="email"], -.list-block input[type="tel"], -.list-block input[type="url"], -.list-block input[type="date"], -.list-block input[type="datetime-local"], -.list-block input[type="time"], -.list-block input[type="number"], -.list-block select, -.list-block textarea { - text-align: right; -} -.buttons-row .button { - margin-left: 0; - margin-right: 8px; -} -.buttons-row .button:first-child { - margin-right: 0; -} -.label-switch .checkbox:after { - left: auto; - right: 0; -} -.label-switch input[type="checkbox"]:checked + .checkbox:after { - -webkit-transform: translateX(-16px); - transform: translateX(-16px); -} -.range-slider input[type="range"]::-webkit-slider-thumb:before { - right: auto; - left: 100%; -} -label.label-checkbox .item-after i.icon-form-checkbox, -label.label-radio .item-after i.icon-form-checkbox, -label.label-checkbox .item-after i.icon-form-radio, -label.label-radio .item-after i.icon-form-radio { - margin-left: 16px; - margin-right: 8px; -} -/* === Search Bar === */ -.searchbar input[type="search"] { - background-position: right center; - padding: 0 24px 0 36px; -} -.searchbar .searchbar-clear { - right: auto; - left: -16px; -} -/* === Modals === */ -.modal-button + .modal-button { - margin-left: 0; - margin-right: 4px; -} -/* === Content Block === */ -.content-block-inner { - margin-left: 0; - margin-right: -16px; -} -/* === Messages === */ -.message-received { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.message-sent { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -/* === Chips === */ -.chip-media { - margin-left: 0; - margin-right: -12px; -} -.chip-media + .chip-label { - margin-left: 0px; - margin-right: 8px; -} -.chip-label + .chip-delete { - margin-left: -8px; - margin-right: 4px; -} -.chip-delete { - margin-left: -8px; -} -/* === Accordion === */ -.list-block .accordion-toggle .item-inner { - padding-right: 0; - padding-left: 42px; - background-position: 16px center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E"); -} -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, -.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, -.list-block.media-list .accordion-item-expanded > .item-link .item-title-row, -.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, -.list-block .accordion-item-expanded.media-item > .item-link .item-title-row { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(70%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 20px 20px; -} -.list-block .accordion-item ul { - padding-right: 0; -} -/* === Icons === */ -.contacts-block li:not(.list-group-title) { - padding-left: 0; - padding-right: 56px; -} -/* === Icons === */ -i.icon.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-red, -i.icon-back.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-red, -i.icon-forward.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-red, -i.icon-next.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-red, -i.icon-prev.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-pink, -i.icon-back.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-pink, -i.icon-forward.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-pink, -i.icon-next.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-pink, -i.icon-prev.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-purple, -i.icon-back.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-purple, -i.icon-forward.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-purple, -i.icon-next.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-purple, -i.icon-prev.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-deeppurple, -i.icon-back.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-deeppurple, -i.icon-forward.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-deeppurple, -i.icon-next.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-deeppurple, -i.icon-prev.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-indigo, -i.icon-back.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-indigo, -i.icon-forward.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-indigo, -i.icon-next.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-indigo, -i.icon-prev.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-blue, -i.icon-back.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-blue, -i.icon-forward.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-blue, -i.icon-next.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-blue, -i.icon-prev.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightblue, -i.icon-back.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightblue, -i.icon-forward.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-lightblue, -i.icon-next.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightblue, -i.icon-prev.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-cyan, -i.icon-back.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-cyan, -i.icon-forward.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-cyan, -i.icon-next.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-cyan, -i.icon-prev.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-teal, -i.icon-back.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-teal, -i.icon-forward.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-teal, -i.icon-next.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-teal, -i.icon-prev.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-green, -i.icon-back.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-green, -i.icon-forward.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-green, -i.icon-next.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-green, -i.icon-prev.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightgreen, -i.icon-back.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightgreen, -i.icon-forward.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-lightgreen, -i.icon-next.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightgreen, -i.icon-prev.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lime, -i.icon-back.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lime, -i.icon-forward.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-lime, -i.icon-next.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lime, -i.icon-prev.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-yellow, -i.icon-back.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-yellow, -i.icon-forward.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-yellow, -i.icon-next.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-yellow, -i.icon-prev.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-amber, -i.icon-back.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-amber, -i.icon-forward.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-amber, -i.icon-next.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-amber, -i.icon-prev.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-orange, -i.icon-back.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-orange, -i.icon-forward.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-orange, -i.icon-next.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-orange, -i.icon-prev.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-deeporange, -i.icon-back.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-deeporange, -i.icon-forward.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-deeporange, -i.icon-next.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-deeporange, -i.icon-prev.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-brown, -i.icon-back.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-brown, -i.icon-forward.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-brown, -i.icon-next.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-brown, -i.icon-prev.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-gray, -i.icon-back.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-gray, -i.icon-forward.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-gray, -i.icon-next.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-gray, -i.icon-prev.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-bluegray, -i.icon-back.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-bluegray, -i.icon-forward.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-bluegray, -i.icon-next.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-bluegray, -i.icon-prev.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-white, -i.icon-back.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-white, -i.icon-forward.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-white, -i.icon-next.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-white, -i.icon-prev.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-black, -i.icon-back.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-black, -i.icon-forward.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-next.color-black, -i.icon-next.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-black, -i.icon-prev.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} diff --git a/vendor/framework7/css/framework7.material.rtl.min.css b/vendor/framework7/css/framework7.material.rtl.min.css deleted file mode 100644 index 0c966103c..000000000 --- a/vendor/framework7/css/framework7.material.rtl.min.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -html{direction:rtl}.list-block ul ul{padding-left:0;padding-right:56px}.list-block .item-content{padding-left:0;padding-right:16px}.list-block .item-inner{padding-right:0;padding-left:16px}.list-block .item-after{margin-left:0;margin-right:8px}.list-block .item-media i+i,.list-block .item-media i+img{margin-left:0;margin-right:8px}.list-block .item-media+.item-inner{margin-left:0;margin-right:16px}.list-block .item-link .item-inner{padding-right:0;padding-left:42px;background-position:16px center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E")}.list-block li.media-item .item-link .item-inner,.list-block.media-list .item-link .item-inner{padding-right:0;padding-left:16px}.list-block li.media-item .item-link .item-title-row,.list-block.media-list .item-link .item-title-row{padding-right:0;padding-left:26px;background-position:center left;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E")}.list-block .sortable-handler{right:auto;left:0}.list-block.sortable-opened .item-inner,.list-block.sortable-opened .item-link .item-inner{padding-right:0;padding-left:50px}.list-block.sortable-opened .item-link .item-inner,.list-block.sortable-opened .item-link .item-title-row{background-image:none}.list-block .swipeout-actions-left,.list-block .swipeout-actions-right{direction:ltr}.navbar a.link i+i,.navbar a.link i+span,.navbar a.link span+i,.navbar a.link span+span,.toolbar a.link i+i,.toolbar a.link i+span,.toolbar a.link span+i,.toolbar a.link span+span{margin-left:0;margin-right:8px}.navbar .right{margin-left:0;margin-right:auto}.tabbar .tab-link-highlight{left:auto;right:0}.list-block input[type=text],.list-block input[type=password],.list-block input[type=search],.list-block input[type=email],.list-block input[type=tel],.list-block input[type=url],.list-block input[type=date],.list-block input[type=datetime-local],.list-block input[type=time],.list-block input[type=number],.list-block select,.list-block textarea{text-align:right}.buttons-row .button{margin-left:0;margin-right:8px}.buttons-row .button:first-child{margin-right:0}.label-switch .checkbox:after{left:auto;right:0}.label-switch input[type=checkbox]:checked+.checkbox:after{-webkit-transform:translateX(-16px);transform:translateX(-16px)}.range-slider input[type=range]::-webkit-slider-thumb:before{right:auto;left:100%}label.label-checkbox .item-after i.icon-form-checkbox,label.label-checkbox .item-after i.icon-form-radio,label.label-radio .item-after i.icon-form-checkbox,label.label-radio .item-after i.icon-form-radio{margin-left:16px;margin-right:8px}.searchbar input[type=search]{background-position:right center;padding:0 24px 0 36px}.searchbar .searchbar-clear{right:auto;left:-16px}.modal-button+.modal-button{margin-left:0;margin-right:4px}.content-block-inner{margin-left:0;margin-right:-16px}.message-received{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end;-webkit-box-align:end;-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-end}.message-sent{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.chip-media{margin-left:0;margin-right:-12px}.chip-media+.chip-label{margin-left:0;margin-right:8px}.chip-label+.chip-delete{margin-left:-8px;margin-right:4px}.chip-delete{margin-left:-8px}.list-block .accordion-toggle .item-inner{padding-right:0;padding-left:42px;background-position:16px center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%20transform%3D'translate(60%2C120)%20rotate(180)'%2F%3E%3C%2Fsvg%3E")}.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row,.list-block .accordion-item-expanded.media-item>.item-link .item-title-row,.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row,.list-block.media-list .accordion-item-expanded>.item-link .item-title-row,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner,.list-block:not(.media-list) .accordion-item-expanded:not(.media-item)>.item-link .item-inner{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(70%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E");background-size:20px 20px}.list-block .accordion-item ul{padding-right:0}.contacts-block li:not(.list-group-title){padding-left:0;padding-right:56px}i.icon.icon-back{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-forward{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon.icon-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-red,i.icon-back.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-red,i.icon-forward.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-red,i.icon-next.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-red,i.icon-prev.theme-red{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-pink,i.icon-back.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-pink,i.icon-forward.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-pink,i.icon-next.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-pink,i.icon-prev.theme-pink{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-purple,i.icon-back.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-purple,i.icon-forward.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-purple,i.icon-next.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-purple,i.icon-prev.theme-purple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-deeppurple,i.icon-back.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-deeppurple,i.icon-forward.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-deeppurple,i.icon-next.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-deeppurple,i.icon-prev.theme-deeppurple{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-indigo,i.icon-back.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-indigo,i.icon-forward.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-indigo,i.icon-next.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-indigo,i.icon-prev.theme-indigo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-blue,i.icon-back.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-blue,i.icon-forward.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-blue,i.icon-next.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-blue,i.icon-prev.theme-blue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-lightblue,i.icon-back.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-lightblue,i.icon-forward.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-lightblue,i.icon-next.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-lightblue,i.icon-prev.theme-lightblue{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-cyan,i.icon-back.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-cyan,i.icon-forward.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-cyan,i.icon-next.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-cyan,i.icon-prev.theme-cyan{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-teal,i.icon-back.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-teal,i.icon-forward.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-teal,i.icon-next.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-teal,i.icon-prev.theme-teal{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-green,i.icon-back.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-green,i.icon-forward.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-green,i.icon-next.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-green,i.icon-prev.theme-green{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-lightgreen,i.icon-back.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-lightgreen,i.icon-forward.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-lightgreen,i.icon-next.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-lightgreen,i.icon-prev.theme-lightgreen{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-lime,i.icon-back.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-lime,i.icon-forward.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-lime,i.icon-next.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-lime,i.icon-prev.theme-lime{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-yellow,i.icon-back.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-yellow,i.icon-forward.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-yellow,i.icon-next.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-yellow,i.icon-prev.theme-yellow{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-amber,i.icon-back.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-amber,i.icon-forward.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-amber,i.icon-next.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-amber,i.icon-prev.theme-amber{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-orange,i.icon-back.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-orange,i.icon-forward.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-orange,i.icon-next.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-orange,i.icon-prev.theme-orange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-deeporange,i.icon-back.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-deeporange,i.icon-forward.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-deeporange,i.icon-next.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-deeporange,i.icon-prev.theme-deeporange{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-brown,i.icon-back.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-brown,i.icon-forward.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-brown,i.icon-next.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-brown,i.icon-prev.theme-brown{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-gray,i.icon-back.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-gray,i.icon-forward.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-gray,i.icon-next.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-gray,i.icon-prev.theme-gray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-bluegray,i.icon-back.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-bluegray,i.icon-forward.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-bluegray,i.icon-next.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-bluegray,i.icon-prev.theme-bluegray{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-white,i.icon-back.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-white,i.icon-forward.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-white,i.icon-next.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-white,i.icon-prev.theme-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-back.color-black,i.icon-back.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}i.icon-forward.color-black,i.icon-forward.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}i.icon-next.color-black,i.icon-next.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")}i.icon-prev.color-black,i.icon-prev.theme-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E")} \ No newline at end of file diff --git a/vendor/framework7/js/framework7.js b/vendor/framework7/js/framework7.js deleted file mode 100644 index 33738f889..000000000 --- a/vendor/framework7/js/framework7.js +++ /dev/null @@ -1,17517 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -(function () { - - 'use strict'; - /*=========================== - Framework 7 - ===========================*/ - window.Framework7 = function (params) { - // App - var app = this; - - // Version - app.version = '1.5.0'; - - // Default Parameters - app.params = { - // - root: 'body', - // - cache: true, - cacheIgnore: [], - cacheIgnoreGetParameters: false, - cacheDuration: 1000 * 60 * 10, // Ten minutes - preloadPreviousPage: true, - uniqueHistory: false, - uniqueHistoryIgnoreGetParameters: false, - dynamicPageUrl: 'content-{{index}}', - allowDuplicateUrls: false, - router: true, - routerRemoveTimeout: false, - routerRemoveWithTimeout: false, - // Push State - pushState: false, - pushStateRoot: undefined, - pushStateNoAnimation: false, - pushStateSeparator: '#!/', - pushStateOnLoad: true, - // Fast clicks - fastClicks: true, - fastClicksDistanceThreshold: 10, - fastClicksDelayBetweenClicks: 50, - fastClicksExclude: '', // CSS selector - // Tap Hold - tapHold: false, - tapHoldDelay: 750, - tapHoldPreventClicks: true, - // Active State - activeState: true, - activeStateElements: 'a, button, label, span', - // Animate Nav Back Icon - animateNavBackIcon: false, - // Swipe Back - swipeBackPage: true, - swipeBackPageThreshold: 0, - swipeBackPageActiveArea: 30, - swipeBackPageAnimateShadow: true, - swipeBackPageAnimateOpacity: true, - // Ajax - ajaxLinks: undefined, // or CSS selector - // External Links - externalLinks: '.external', // CSS selector - // Sortable - sortable: true, - // Scroll toolbars - hideNavbarOnPageScroll: false, - hideToolbarOnPageScroll: false, - hideTabbarOnPageScroll: false, - showBarsOnPageScrollEnd: true, - showBarsOnPageScrollTop: true, - // Swipeout - swipeout: true, - swipeoutActionsNoFold: false, - swipeoutNoFollow: false, - swipeoutRemoveWithTimeout: false, - // Smart Select Back link template - smartSelectOpenIn: 'page', // or 'popup' or 'picker' - smartSelectBackText: 'Back', - smartSelectPopupCloseText: 'Close', - smartSelectPickerCloseText: 'Done', - smartSelectSearchbar: false, - smartSelectBackOnSelect: false, - // Tap Navbar or Statusbar to scroll to top - scrollTopOnNavbarClick: false, - scrollTopOnStatusbarClick: false, - // Panels - swipePanel: false, // or 'left' or 'right' - swipePanelActiveArea: 0, - swipePanelCloseOpposite: true, - swipePanelOnlyClose: false, - swipePanelNoFollow: false, - swipePanelThreshold: 0, - panelsCloseByOutside: true, - // Modals - modalButtonOk: 'OK', - modalButtonCancel: 'Cancel', - modalUsernamePlaceholder: 'Username', - modalPasswordPlaceholder: 'Password', - modalTitle: 'Framework7', - modalCloseByOutside: false, - actionsCloseByOutside: true, - popupCloseByOutside: true, - modalPreloaderTitle: 'Loading... ', - modalStack: true, - // Lazy Load - imagesLazyLoadThreshold: 0, - imagesLazyLoadSequential: true, - // Name space - viewClass: 'view', - viewMainClass: 'view-main', - viewsClass: 'views', - // Notifications defaults - notificationCloseOnClick: false, - notificationCloseIcon: true, - notificationCloseButtonText: 'Close', - // Animate Pages - animatePages: true, - // Template7 - templates: {}, - template7Data: {}, - template7Pages: false, - precompileTemplates: false, - // Material - material: false, - materialPageLoadDelay: 0, - materialPreloaderSvg: '', - materialPreloaderHtml: - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - materialRipple: true, - materialRippleElements: '.ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a', - // Auto init - init: true, - }; - - // Extend defaults with parameters - for (var param in params) { - app.params[param] = params[param]; - } - - // DOM lib - var $ = Dom7; - - // Template7 lib - var t7 = Template7; - app._compiledTemplates = {}; - - // App Root - app.root = $(app.params.root); - app.root.eq(0).addClass('framework7-root'); - - // Touch events - app.touchEvents = { - start: app.support.touch ? 'touchstart' : 'mousedown', - move: app.support.touch ? 'touchmove' : 'mousemove', - end: app.support.touch ? 'touchend' : 'mouseup' - }; - - // Link to local storage - app.ls = window.localStorage; - - // RTL - app.rtl = $('body').css('direction') === 'rtl'; - if (app.rtl) $('html').attr('dir', 'rtl'); - - // Overwrite statusbar overlay - if (typeof app.params.statusbarOverlay !== 'undefined') { - if (app.params.statusbarOverlay) $('html').addClass('with-statusbar-overlay'); - else $('html').removeClass('with-statusbar-overlay'); - } - - - /*====================================================== - ************ Views ************ - ======================================================*/ - app.views = []; - var View = function (selector, params) { - var defaults = { - dynamicNavbar: false, - domCache: false, - linksView: undefined, - reloadPages: false, - uniqueHistory: app.params.uniqueHistory, - uniqueHistoryIgnoreGetParameters: app.params.uniqueHistoryIgnoreGetParameters, - allowDuplicateUrls: app.params.allowDuplicateUrls, - swipeBackPage: app.params.swipeBackPage, - swipeBackPageAnimateShadow: app.params.swipeBackPageAnimateShadow, - swipeBackPageAnimateOpacity: app.params.swipeBackPageAnimateOpacity, - swipeBackPageActiveArea: app.params.swipeBackPageActiveArea, - swipeBackPageThreshold: app.params.swipeBackPageThreshold, - animatePages: app.params.animatePages, - preloadPreviousPage: app.params.preloadPreviousPage - }; - var i; - - // Params - params = params || {}; - - // Disable dynamic navbar for material theme - if (params.dynamicNavbar && app.params.material) params.dynamicNavbar = false; - - // Extend params with defaults - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - // View - var view = this; - view.params = params; - - // Selector - view.selector = selector; - - // Container - var container = $(selector); - view.container = container[0]; - - // Fix Selector - - if (typeof selector !== 'string') { - // Supposed to be HTMLElement or Dom7 - selector = (container.attr('id') ? '#' + container.attr('id') : '') + (container.attr('class') ? '.' + container.attr('class').replace(/ /g, '.').replace('.active', '') : ''); - view.selector = selector; - } - - // Is main - view.main = container.hasClass(app.params.viewMainClass); - - // Content cache - view.contentCache = {}; - - // Context cache - view.contextCache = {}; - - // Pages cache - view.pagesCache = {}; - view.pageElementsCache = {}; - - // Store View in element for easy access - container[0].f7View = view; - - // Pages - view.pagesContainer = container.find('.pages')[0]; - view.initialPages = []; - view.initialPagesUrl = []; - view.initialNavbars = []; - if (view.params.domCache) { - var initialPages = container.find('.page'); - for (i = 0; i < initialPages.length; i++) { - view.initialPages.push(initialPages[i]); - view.initialPagesUrl.push('#' + initialPages.eq(i).attr('data-page')); - } - if (view.params.dynamicNavbar) { - var initialNavbars = container.find('.navbar-inner'); - for (i = 0; i < initialNavbars.length; i++) { - view.initialNavbars.push(initialNavbars[i]); - } - } - - } - - view.allowPageChange = true; - - // Location - var docLocation = document.location.href; - - // History - view.history = []; - var viewURL = docLocation; - var pushStateSeparator = app.params.pushStateSeparator; - var pushStateRoot = app.params.pushStateRoot; - if (app.params.pushState && view.main) { - if (pushStateRoot) { - viewURL = pushStateRoot; - } - else { - if (pushStateSeparator && viewURL.indexOf(pushStateSeparator) >= 0 && viewURL.indexOf(pushStateSeparator + '#') < 0) viewURL = viewURL.split(pushStateSeparator)[0]; - } - - } - - // Active Page - var currentPage, currentPageData; - if (!view.activePage) { - currentPage = $(view.pagesContainer).find('.page-on-center'); - if (currentPage.length === 0) { - currentPage = $(view.pagesContainer).find('.page:not(.cached)'); - currentPage = currentPage.eq(currentPage.length - 1); - } - if (currentPage.length > 0) { - currentPageData = currentPage[0].f7PageData; - } - } - - // View startup URL - if (view.params.domCache && currentPage) { - view.url = container.attr('data-url') || view.params.url || '#' + currentPage.attr('data-page'); - view.pagesCache[view.url] = currentPage.attr('data-page'); - } - else view.url = container.attr('data-url') || view.params.url || viewURL; - - // Update current page Data - if (currentPageData) { - currentPageData.view = view; - currentPageData.url = view.url; - if (view.params.domCache && view.params.dynamicNavbar && !currentPageData.navbarInnerContainer) { - currentPageData.navbarInnerContainer = view.initialNavbars[view.initialPages.indexOf(currentPageData.container)]; - } - view.activePage = currentPageData; - currentPage[0].f7PageData = currentPageData; - } - - // Store to history main view's url - if (view.url) { - view.history.push(view.url); - } - - // Touch events - var isTouched = false, - isMoved = false, - touchesStart = {}, - isScrolling, - activePage = [], - previousPage = [], - viewContainerWidth, - touchesDiff, - allowViewTouchMove = true, - touchStartTime, - activeNavbar = [], - previousNavbar = [], - activeNavElements, - previousNavElements, - activeNavBackIcon, - previousNavBackIcon, - dynamicNavbar, - pageShadow, - el; - - view.handleTouchStart = function (e) { - if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl || !view.allowPageChange) return; - isMoved = false; - isTouched = true; - isScrolling = undefined; - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - dynamicNavbar = view.params.dynamicNavbar && container.find('.navbar-inner').length > 1; - }; - - view.handleTouchMove = function (e) { - if (!isTouched) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) { - isTouched = false; - return; - } - if (!isMoved) { - var cancel = false; - // Calc values during first move fired - viewContainerWidth = container.width(); - var target = $(e.target); - var swipeout = target.hasClass('swipeout') ? target : target.parents('.swipeout'); - if (swipeout.length > 0) { - if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true; - if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true; - } - activePage = target.is('.page') ? target : target.parents('.page'); - if (activePage.hasClass('no-swipeback')) cancel = true; - previousPage = container.find('.page-on-left:not(.cached)'); - var notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea; - if (app.rtl) { - notFromBorder = touchesStart.x < container.offset().left - container[0].scrollLeft + viewContainerWidth - view.params.swipeBackPageActiveArea; - } - else { - notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea; - } - if (notFromBorder) cancel = true; - if (previousPage.length === 0 || activePage.length === 0) cancel = true; - if (cancel) { - isTouched = false; - return; - } - - if (view.params.swipeBackPageAnimateShadow && !app.device.android) { - pageShadow = activePage.find('.swipeback-page-shadow'); - if (pageShadow.length === 0) { - pageShadow = $('
'); - activePage.append(pageShadow); - } - } - - if (dynamicNavbar) { - activeNavbar = container.find('.navbar-on-center:not(.cached)'); - previousNavbar = container.find('.navbar-on-left:not(.cached)'); - activeNavElements = activeNavbar.find('.left, .center, .right, .subnavbar, .fading'); - previousNavElements = previousNavbar.find('.left, .center, .right, .subnavbar, .fading'); - if (app.params.animateNavBackIcon) { - activeNavBackIcon = activeNavbar.find('.left.sliding .back .icon'); - previousNavBackIcon = previousNavbar.find('.left.sliding .back .icon'); - } - } - - // Close/Hide Any Picker - if ($('.picker-modal.modal-in').length > 0) { - app.closeModal($('.picker-modal.modal-in')); - } - } - e.f7PreventPanelSwipe = true; - isMoved = true; - e.preventDefault(); - - // RTL inverter - var inverter = app.rtl ? -1 : 1; - - // Touches diff - touchesDiff = (pageX - touchesStart.x - view.params.swipeBackPageThreshold) * inverter; - if (touchesDiff < 0) touchesDiff = 0; - var percentage = touchesDiff / viewContainerWidth; - - // Swipe Back Callback - var callbackData = { - percentage: percentage, - activePage: activePage[0], - previousPage: previousPage[0], - activeNavbar: activeNavbar[0], - previousNavbar: previousNavbar[0] - }; - if (view.params.onSwipeBackMove) { - view.params.onSwipeBackMove(callbackData); - } - container.trigger('swipeBackMove', callbackData); - - // Transform pages - var activePageTranslate = touchesDiff * inverter; - var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter; - if (app.device.pixelRatio === 1) { - activePageTranslate = Math.round(activePageTranslate); - previousPageTranslate = Math.round(previousPageTranslate); - } - - activePage.transform('translate3d(' + activePageTranslate + 'px,0,0)'); - if (view.params.swipeBackPageAnimateShadow && !app.device.android) pageShadow[0].style.opacity = 1 - 1 * percentage; - - previousPage.transform('translate3d(' + previousPageTranslate + 'px,0,0)'); - if (view.params.swipeBackPageAnimateOpacity) previousPage[0].style.opacity = 0.9 + 0.1 * percentage; - - // Dynamic Navbars Animation - if (dynamicNavbar) { - var i; - for (i = 0; i < activeNavElements.length; i++) { - el = $(activeNavElements[i]); - if (!el.is('.subnavbar.sliding')) el[0].style.opacity = (1 - percentage * 1.3); - if (el[0].className.indexOf('sliding') >= 0) { - var activeNavTranslate = percentage * el[0].f7NavbarRightOffset; - if (app.device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate); - el.transform('translate3d(' + activeNavTranslate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (el[0].className.indexOf('left') >= 0 && activeNavBackIcon.length > 0) { - activeNavBackIcon.transform('translate3d(' + -activeNavTranslate + 'px,0,0)'); - } - } - } - } - for (i = 0; i < previousNavElements.length; i++) { - el = $(previousNavElements[i]); - if (!el.is('.subnavbar.sliding')) el[0].style.opacity = percentage * 1.3 - 0.3; - if (el[0].className.indexOf('sliding') >= 0) { - var previousNavTranslate = el[0].f7NavbarLeftOffset * (1 - percentage); - if (app.device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate); - el.transform('translate3d(' + previousNavTranslate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (el[0].className.indexOf('left') >= 0 && previousNavBackIcon.length > 0) { - previousNavBackIcon.transform('translate3d(' + -previousNavTranslate + 'px,0,0)'); - } - } - } - } - } - }; - - view.handleTouchEnd = function (e) { - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - isTouched = false; - isMoved = false; - if (touchesDiff === 0) { - $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}); - if (dynamicNavbar) { - activeNavElements.transform('').css({opacity: ''}); - previousNavElements.transform('').css({opacity: ''}); - if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.transform(''); - if (previousNavBackIcon && activeNavBackIcon.length > 0) previousNavBackIcon.transform(''); - } - return; - } - var timeDiff = (new Date()).getTime() - touchStartTime; - var pageChanged = false; - // Swipe back to previous page - if ( - timeDiff < 300 && touchesDiff > 10 || - timeDiff >= 300 && touchesDiff > viewContainerWidth / 2 - ) { - activePage.removeClass('page-on-center').addClass('page-on-right'); - previousPage.removeClass('page-on-left').addClass('page-on-center'); - if (dynamicNavbar) { - activeNavbar.removeClass('navbar-on-center').addClass('navbar-on-right'); - previousNavbar.removeClass('navbar-on-left').addClass('navbar-on-center'); - } - pageChanged = true; - } - // Reset custom styles - // Add transitioning class for transition-duration - $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}).addClass('page-transitioning'); - if (dynamicNavbar) { - activeNavElements.css({opacity: ''}) - .each(function () { - var translate = pageChanged ? this.f7NavbarRightOffset : 0; - var sliding = $(this); - sliding.transform('translate3d(' + translate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && activeNavBackIcon.length > 0) { - activeNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)'); - } - } - - }).addClass('page-transitioning'); - - previousNavElements.transform('').css({opacity: ''}).each(function () { - var translate = pageChanged ? 0 : this.f7NavbarLeftOffset; - var sliding = $(this); - sliding.transform('translate3d(' + translate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && previousNavBackIcon.length > 0) { - previousNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)'); - } - } - }).addClass('page-transitioning'); - } - allowViewTouchMove = false; - view.allowPageChange = false; - // Swipe Back Callback - var callbackData = { - activePage: activePage[0], - previousPage: previousPage[0], - activeNavbar: activeNavbar[0], - previousNavbar: previousNavbar[0] - }; - if (pageChanged) { - // Update View's URL - var url = view.history[view.history.length - 2]; - view.url = url; - - // Page before animation callback - app.pageBackCallback('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true}); - app.pageAnimCallback('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true}); - - if (view.params.onSwipeBackBeforeChange) { - view.params.onSwipeBackBeforeChange(callbackData); - } - container.trigger('swipeBackBeforeChange', callbackData); - } - else { - if (view.params.onSwipeBackBeforeReset) { - view.params.onSwipeBackBeforeReset(callbackData); - } - container.trigger('swipeBackBeforeReset', callbackData); - } - - activePage.transitionEnd(function () { - $([activePage[0], previousPage[0]]).removeClass('page-transitioning'); - if (dynamicNavbar) { - activeNavElements.removeClass('page-transitioning').css({opacity: ''}); - previousNavElements.removeClass('page-transitioning').css({opacity: ''}); - if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.removeClass('page-transitioning'); - if (previousNavBackIcon && previousNavBackIcon.length > 0) previousNavBackIcon.removeClass('page-transitioning'); - } - allowViewTouchMove = true; - view.allowPageChange = true; - if (pageChanged) { - if (app.params.pushState && view.main) history.back(); - // Page after animation callback - app.pageBackCallback('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true}); - app.pageAnimCallback('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true}); - app.router.afterBack(view, activePage, previousPage); - - if (view.params.onSwipeBackAfterChange) { - view.params.onSwipeBackAfterChange(callbackData); - } - container.trigger('swipeBackAfterChange', callbackData); - } - else { - if (view.params.onSwipeBackAfterReset) { - view.params.onSwipeBackAfterReset(callbackData); - } - container.trigger('swipeBackAfterReset', callbackData); - } - if (pageShadow && pageShadow.length > 0) pageShadow.remove(); - }); - }; - view.attachEvents = function (detach) { - var action = detach ? 'off' : 'on'; - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - container[action](app.touchEvents.start, view.handleTouchStart, passiveListener); - container[action](app.touchEvents.move, view.handleTouchMove); - container[action](app.touchEvents.end, view.handleTouchEnd, passiveListener); - }; - view.detachEvents = function () { - view.attachEvents(true); - }; - - // Init - if (view.params.swipeBackPage && !app.params.material) { - view.attachEvents(); - } - - // Add view to app - app.views.push(view); - if (view.main) app.mainView = view; - - // Router - view.router = { - load: function (options) { - return app.router.load(view, options); - }, - back: function (options) { - return app.router.back(view, options); - }, - // Shortcuts - loadPage: function (options) { - options = options || {}; - if (typeof options === 'string') { - var url = options; - options = {}; - if (url && url.indexOf('#') === 0 && view.params.domCache) { - options.pageName = url.split('#')[1]; - } - else options.url = url; - } - return app.router.load(view, options); - }, - loadContent: function (content) { - return app.router.load(view, {content: content}); - }, - reloadPage: function (url) { - return app.router.load(view, {url: url, reload: true}); - }, - reloadContent: function (content) { - return app.router.load(view, {content: content, reload: true}); - }, - reloadPreviousPage: function (url) { - return app.router.load(view, {url: url, reloadPrevious: true, reload: true}); - }, - reloadPreviousContent: function (content) { - return app.router.load(view, {content: content, reloadPrevious: true, reload: true}); - }, - refreshPage: function () { - var options = { - url: view.url, - reload: true, - ignoreCache: true - }; - if (options.url && options.url.indexOf('#') === 0) { - if (view.params.domCache && view.pagesCache[options.url]) { - options.pageName = view.pagesCache[options.url]; - options.url = undefined; - delete options.url; - } - else if (view.contentCache[options.url]) { - options.content = view.contentCache[options.url]; - options.url = undefined; - delete options.url; - } - } - return app.router.load(view, options); - }, - refreshPreviousPage: function () { - var options = { - url: view.history[view.history.length - 2], - reload: true, - reloadPrevious: true, - ignoreCache: true - }; - if (options.url && options.url.indexOf('#') === 0 && view.params.domCache && view.pagesCache[options.url]) { - options.pageName = view.pagesCache[options.url]; - options.url = undefined; - delete options.url; - } - return app.router.load(view, options); - } - }; - - // Aliases for temporary backward compatibility - view.loadPage = view.router.loadPage; - view.loadContent = view.router.loadContent; - view.reloadPage = view.router.reloadPage; - view.reloadContent = view.router.reloadContent; - view.reloadPreviousPage = view.router.reloadPreviousPage; - view.reloadPreviousContent = view.router.reloadPreviousContent; - view.refreshPage = view.router.refreshPage; - view.refreshPreviousPage = view.router.refreshPreviousPage; - view.back = view.router.back; - - // Bars methods - view.hideNavbar = function () { - return app.hideNavbar(container.find('.navbar')); - }; - view.showNavbar = function () { - return app.showNavbar(container.find('.navbar')); - }; - view.hideToolbar = function () { - return app.hideToolbar(container.find('.toolbar')); - }; - view.showToolbar = function () { - return app.showToolbar(container.find('.toolbar')); - }; - - // Push State on load - if (app.params.pushState && app.params.pushStateOnLoad && view.main) { - var pushStateUrl; - var pushStateUrlSplit = docLocation.split(pushStateSeparator)[1]; - if (pushStateRoot) { - pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1]; - } - else if (pushStateSeparator && docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) { - pushStateUrl = pushStateUrlSplit; - } - var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined; - var historyState = history.state; - if (pushStateUrl) { - if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && historyState && historyState.pageName && 'viewIndex' in historyState) { - app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false}); - } - else if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && view.initialPagesUrl.indexOf(pushStateUrl) >= 0) { - app.router.load(view, {pageName: pushStateUrl.replace('#',''), animatePages: pushStateAnimatePages, pushState: false}); - } - else app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false}); - } - else if (view.params.domCache && docLocation.indexOf(pushStateSeparator + '#') >= 0) { - if (historyState && historyState.pageName && 'viewIndex' in historyState) { - app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false}); - } - else if (pushStateSeparator && pushStateUrlSplit.indexOf('#') === 0) { - if (view.initialPagesUrl.indexOf(pushStateUrlSplit)) { - app.router.load(view, {pageName: pushStateUrlSplit.replace('#', ''), animatePages: pushStateAnimatePages, pushState: false}); - } - } - } - } - - // Destroy - view.destroy = function () { - view.detachEvents(); - view = undefined; - }; - - // Plugin hook - app.pluginHook('addView', view); - - // Return view - return view; - }; - - app.addView = function (selector, params) { - return new View(selector, params); - }; - - app.getCurrentView = function (index) { - var popoverView = $('.popover.modal-in .view'); - var popupView = $('.popup.modal-in .view'); - var panelView = $('.panel.active .view'); - var appViews = $('.views'); - // Find active view as tab - var appView = appViews.children('.view'); - // Propably in tabs or split view - if (appView.length > 1) { - if (appView.hasClass('tab')) { - // Tabs - appView = appViews.children('.view.active'); - } - else { - // Split View, leave appView intact - } - } - if (popoverView.length > 0 && popoverView[0].f7View) return popoverView[0].f7View; - if (popupView.length > 0 && popupView[0].f7View) return popupView[0].f7View; - if (panelView.length > 0 && panelView[0].f7View) return panelView[0].f7View; - if (appView.length > 0) { - if (appView.length === 1 && appView[0].f7View) return appView[0].f7View; - if (appView.length > 1) { - var currentViews = []; - for (var i = 0; i < appView.length; i++) { - if (appView[i].f7View) currentViews.push(appView[i].f7View); - } - if (currentViews.length > 0 && typeof index !== 'undefined') return currentViews[index]; - if (currentViews.length > 1) return currentViews; - if (currentViews.length === 1) return currentViews[0]; - return undefined; - } - } - return undefined; - }; - - - /*====================================================== - ************ Navbars && Toolbars ************ - ======================================================*/ - // On Navbar Init Callback - app.navbarInitCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) { - if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0]; - if (!navbarInnerContainer || navbarInnerContainer.f7NavbarInitialized && view && !view.params.domCache) return; - var navbarData = { - container: navbarContainer, - innerContainer: navbarInnerContainer - }; - var pageData = pageContainer && pageContainer.f7PageData; - - var eventData = { - page: pageData, - navbar: navbarData - }; - - if (navbarInnerContainer.f7NavbarInitialized && ((view && view.params.domCache) || (!view && $(navbarContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) { - // Reinit Navbar - app.reinitNavbar(navbarContainer, navbarInnerContainer); - - // Plugin hook - app.pluginHook('navbarReinit', eventData); - - // Event - $(navbarInnerContainer).trigger('navbarReinit', eventData); - return; - } - navbarInnerContainer.f7NavbarInitialized = true; - // Before Init - app.pluginHook('navbarBeforeInit', navbarData, pageData); - $(navbarInnerContainer).trigger('navbarBeforeInit', eventData); - - // Initialize Navbar - app.initNavbar(navbarContainer, navbarInnerContainer); - - // On init - app.pluginHook('navbarInit', navbarData, pageData); - $(navbarInnerContainer).trigger('navbarInit', eventData); - }; - // Navbar Remove Callback - app.navbarRemoveCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) { - if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0]; - var navbarData = { - container: navbarContainer, - innerContainer: navbarInnerContainer - }; - var pageData; - if (pageContainer) { - pageData = pageContainer.f7PageData; - } - - var eventData = { - page: pageData, - navbar: navbarData - }; - app.pluginHook('navbarBeforeRemove', navbarData, pageData); - $(navbarInnerContainer).trigger('navbarBeforeRemove', eventData); - navbarData = null; - pageData = null; - }; - app.initNavbar = function (navbarContainer, navbarInnerContainer) { - // Init Subnavbar Searchbar - if (app.initSearchbar) app.initSearchbar(navbarInnerContainer); - }; - app.reinitNavbar = function (navbarContainer, navbarInnerContainer) { - // Re init navbar methods - }; - app.initNavbarWithCallback = function (navbarContainer) { - navbarContainer = $(navbarContainer); - var viewContainer = navbarContainer.parents('.' + app.params.viewClass); - var view; - if (viewContainer.length === 0) return; - if (navbarContainer.parents('.navbar-through').length === 0 && viewContainer.find('.navbar-through').length === 0) return; - view = viewContainer[0].f7View || undefined; - - navbarContainer.find('.navbar-inner').each(function () { - var navbarInnerContainer = this; - var pageContainer; - if ($(navbarInnerContainer).attr('data-page')) { - // For dom cache - pageContainer = viewContainer.find('.page[data-page="' + $(navbarInnerContainer).attr('data-page') + '"]')[0]; - } - if (!pageContainer) { - var pages = viewContainer.find('.page'); - if (pages.length === 1) { - pageContainer = pages[0]; - } - else { - viewContainer.find('.page').each(function () { - if (this.f7PageData && this.f7PageData.navbarInnerContainer === navbarInnerContainer) { - pageContainer = this; - } - }); - } - } - app.navbarInitCallback(view, pageContainer, navbarContainer[0], navbarInnerContainer); - }); - }; - - // Size Navbars - app.sizeNavbars = function (viewContainer) { - if (app.params.material) return; - var navbarInner = viewContainer ? $(viewContainer).find('.navbar .navbar-inner:not(.cached)') : $('.navbar .navbar-inner:not(.cached)'); - navbarInner.each(function () { - var n = $(this); - if (n.hasClass('cached')) return; - var left = app.rtl ? n.find('.right') : n.find('.left'), - right = app.rtl ? n.find('.left') : n.find('.right'), - center = n.find('.center'), - subnavbar = n.find('.subnavbar'), - noLeft = left.length === 0, - noRight = right.length === 0, - leftWidth = noLeft ? 0 : left.outerWidth(true), - rightWidth = noRight ? 0 : right.outerWidth(true), - centerWidth = center.outerWidth(true), - navbarStyles = n.styles(), - navbarWidth = n[0].offsetWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10), - onLeft = n.hasClass('navbar-on-left'), - currLeft, diff; - - if (noRight) { - currLeft = navbarWidth - centerWidth; - } - if (noLeft) { - currLeft = 0; - } - if (!noLeft && !noRight) { - currLeft = (navbarWidth - rightWidth - centerWidth + leftWidth) / 2; - } - var requiredLeft = (navbarWidth - centerWidth) / 2; - if (navbarWidth - leftWidth - rightWidth > centerWidth) { - if (requiredLeft < leftWidth) { - requiredLeft = leftWidth; - } - if (requiredLeft + centerWidth > navbarWidth - rightWidth) { - requiredLeft = navbarWidth - rightWidth - centerWidth; - } - diff = requiredLeft - currLeft; - } - else { - diff = 0; - } - // RTL inverter - var inverter = app.rtl ? -1 : 1; - - if (center.hasClass('sliding')) { - center[0].f7NavbarLeftOffset = -(currLeft + diff) * inverter; - center[0].f7NavbarRightOffset = (navbarWidth - currLeft - diff - centerWidth) * inverter; - if (onLeft) { - if (app.params.animateNavBackIcon) { - var activeNavbarBackLink = n.parent().find('.navbar-on-center').find('.left.sliding .back .icon ~ span'); - if (activeNavbarBackLink.length > 0) { - center[0].f7NavbarLeftOffset += activeNavbarBackLink[0].offsetLeft; - } - } - center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)'); - } - } - if (!noLeft && left.hasClass('sliding')) { - if (app.rtl) { - left[0].f7NavbarLeftOffset = -(navbarWidth - left[0].offsetWidth) / 2 * inverter; - left[0].f7NavbarRightOffset = leftWidth * inverter; - } - else { - left[0].f7NavbarLeftOffset = -leftWidth; - left[0].f7NavbarRightOffset = (navbarWidth - left[0].offsetWidth) / 2; - if (app.params.animateNavBackIcon && left.find('.back .icon').length > 0) { - left[0].f7NavbarRightOffset -= left.find('.back .icon')[0].offsetWidth; - } - } - if (onLeft) left.transform('translate3d(' + left[0].f7NavbarLeftOffset + 'px, 0, 0)'); - } - if (!noRight && right.hasClass('sliding')) { - if (app.rtl) { - right[0].f7NavbarLeftOffset = -rightWidth * inverter; - right[0].f7NavbarRightOffset = (navbarWidth - right[0].offsetWidth) / 2 * inverter; - } - else { - right[0].f7NavbarLeftOffset = -(navbarWidth - right[0].offsetWidth) / 2; - right[0].f7NavbarRightOffset = rightWidth; - } - if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)'); - } - if (subnavbar.length && subnavbar.hasClass('sliding')) { - subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth; - subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset; - } - - // Center left - var centerLeft = diff; - if (app.rtl && noLeft && noRight && center.length > 0) centerLeft = -centerLeft; - center.css({left: centerLeft + 'px'}); - - }); - }; - - // Hide/Show Navbars/Toolbars - app.hideNavbar = function (navbarContainer) { - $(navbarContainer).addClass('navbar-hidden'); - return true; - }; - app.showNavbar = function (navbarContainer) { - var navbar = $(navbarContainer); - navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () { - navbar.removeClass('navbar-hiding'); - }); - return true; - }; - app.hideToolbar = function (toolbarContainer) { - $(toolbarContainer).addClass('toolbar-hidden'); - return true; - }; - app.showToolbar = function (toolbarContainer) { - var toolbar = $(toolbarContainer); - toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () { - toolbar.removeClass('toolbar-hiding'); - }); - }; - - - /*====================================================== - ************ Searchbar ************ - ======================================================*/ - var Searchbar = function (container, params) { - var defaults = { - input: null, - clearButton: null, - cancelButton: null, - searchList: null, - searchIn: '.item-title', - searchBy: '', - found: null, - notFound: null, - overlay: null, - ignore: '.searchbar-ignore', - customSearch: false, - removeDiacritics: false, - hideDividers: true, - hideGroups: true, - /* Callbacks - onSearch - onEnable - onDisable - onClear - */ - - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined' || params[def] === null) { - params[def] = defaults[def]; - } - } - - // Instance - var s = this; - - // Material - s.material = app.params.material; - - // Params - s.params = params; - - // Container - container = $(container); - s.container = container; - - // Active - s.active = false; - - // Input - s.input = s.params.input ? $(s.params.input) : s.container.find('input[type="search"]'); - s.clearButton = s.params.clearButton ? $(s.params.clearButton) : s.container.find('.searchbar-clear'); - s.cancelButton = s.params.cancelButton ? $(s.params.cancelButton) : s.container.find('.searchbar-cancel'); - - // Search List - s.searchList = $(s.params.searchList); - - // Is Virtual List - s.isVirtualList = s.searchList.hasClass('virtual-list'); - - // Is In Page - s.pageContainer = s.container.parents('.page').eq(0); - - // Overlay - if (!s.params.overlay) { - s.overlay = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay'); - } - else { - s.overlay = $(s.params.overlay); - } - // Found and not found - if (!s.params.found) { - s.found = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-found') : $('.searchbar-found'); - } - else { - s.found = $(s.params.found); - } - if (!s.params.notFound) { - s.notFound = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-not-found') : $('.searchbar-not-found'); - } - else { - s.notFound = $(s.params.notFound); - } - - // Set Cancel button - var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right'; - var cancelButtonHasMargin = false; - s.setCancelButtonMargin = function () { - s.cancelButton.transition(0).show(); - s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px'); - var clientLeft = s.cancelButton[0].clientLeft; - s.cancelButton.transition(''); - cancelButtonHasMargin = true; - }; - - // Trigger - s.triggerEvent = function (eventName, callbackName, eventData) { - s.container.trigger(eventName, eventData); - if (s.searchList.length > 0) s.searchList.trigger(eventName, eventData); - if (callbackName && s.params[callbackName]) s.params[callbackName](s, eventData); - }; - - // Enable/disalbe - s.enable = function (e) { - function _enable() { - if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active') && !s.query) s.overlay.addClass('searchbar-overlay-active'); - s.container.addClass('searchbar-active'); - if (s.cancelButton.length > 0 && !s.material) { - if (!cancelButtonHasMargin) { - s.setCancelButtonMargin(); - } - s.cancelButton.css(cancelMarginProp, '0px'); - } - s.triggerEvent('enableSearch', 'onEnable'); - s.active = true; - } - if (app.device.ios && !app.params.material && e && e.type === 'focus') { - setTimeout(function () { - _enable(); - }, 400); - } - else { - _enable(); - } - }; - - s.disable = function () { - s.input.val('').trigger('change'); - s.container.removeClass('searchbar-active searchbar-not-empty'); - if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px'); - - if (s.searchList.length || s.params.customSearch) s.overlay.removeClass('searchbar-overlay-active'); - - s.active = false; - function _disable() { - s.input.blur(); - } - if (app.device.ios) { - setTimeout(function () { - _disable(); - }, 400); - } - else { - _disable(); - } - s.triggerEvent('disableSearch', 'onDisable'); - }; - - // Clear - s.clear = function (e) { - if (!s.query && e && $(e.target).hasClass('searchbar-clear')) { - s.disable(); - return; - } - s.input.val('').trigger('change').focus(); - s.triggerEvent('clearSearch', 'onClear'); - }; - - // Search - s.handleInput = function () { - setTimeout(function () { - var value = s.input.val().trim(); - if ((s.searchList.length > 0 || s.params.customSearch) && (s.params.searchIn || s.isVirtualList)) s.search(value, true); - }, 0); - }; - - var previousQuery = ''; - var virtualList; - s.search = function (query, internal) { - if (query.trim() === previousQuery) return; - previousQuery = query.trim(); - - if (!internal) { - if (!s.active) { - s.enable(); - } - s.input.val(query); - } - s.query = s.value = query; - // Add active/inactive classes on overlay - if (query.length === 0) { - s.container.removeClass('searchbar-not-empty'); - if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active'); - } - else { - s.container.addClass('searchbar-not-empty'); - if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.removeClass('searchbar-overlay-active'); - } - - if (s.params.customSearch) { - s.triggerEvent('search', 'onSearch', {query: query}); - return; - } - - var foundItems = [], _vlQuery; - if (s.isVirtualList) { - virtualList = s.searchList[0].f7VirtualList; - if (query.trim() === '') { - virtualList.resetFilter(); - s.notFound.hide(); - s.found.show(); - return; - } - _vlQuery = s.params.removeDiacritics ? $.removeDiacritics(query) : query; - if (virtualList.params.searchAll) { - foundItems = virtualList.params.searchAll(_vlQuery, virtualList.items) || []; - } - else if (virtualList.params.searchByItem) { - for (var i = 0; i < virtualList.items.length; i++) { - if(virtualList.params.searchByItem(_vlQuery, i, virtualList.params.items[i])) { - foundItems.push(i); - } - } - } - } - else { - var values; - if (s.params.removeDiacritics) values = $.removeDiacritics(query.trim().toLowerCase()).split(' '); - else { - values = query.trim().toLowerCase().split(' '); - } - s.searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) { - el = $(el); - var compareWithText = []; - el.find(s.params.searchIn).each(function () { - var itemText = $(this).text().trim().toLowerCase(); - if (s.params.removeDiacritics) itemText = $.removeDiacritics(itemText); - compareWithText.push(itemText); - }); - compareWithText = compareWithText.join(' '); - var wordsMatch = 0; - for (var i = 0; i < values.length; i++) { - if (compareWithText.indexOf(values[i]) >= 0) wordsMatch++; - } - if (wordsMatch !== values.length && !(s.params.ignore && el.is(s.params.ignore))) { - el.addClass('hidden-by-searchbar'); - } - else { - foundItems.push(el[0]); - } - }); - - if (s.params.hideDividers) { - s.searchList.find('.item-divider, .list-group-title').each(function () { - var title = $(this); - var nextElements = title.nextAll('li'); - var hide = true; - for (var i = 0; i < nextElements.length; i++) { - var nextEl = $(nextElements[i]); - if (nextEl.hasClass('list-group-title') || nextEl.hasClass('item-divider')) break; - if (!nextEl.hasClass('hidden-by-searchbar')) { - hide = false; - } - } - var ignore = s.params.ignore && title.is(s.params.ignore); - if (hide && !ignore) title.addClass('hidden-by-searchbar'); - else title.removeClass('hidden-by-searchbar'); - }); - } - if (s.params.hideGroups) { - s.searchList.find('.list-group').each(function () { - var group = $(this); - var ignore = s.params.ignore && group.is(s.params.ignore); - var notHidden = group.find('li:not(.hidden-by-searchbar)'); - if (notHidden.length === 0 && !ignore) { - group.addClass('hidden-by-searchbar'); - } - else { - group.removeClass('hidden-by-searchbar'); - } - }); - } - } - s.triggerEvent('search', 'onSearch', {query: query, foundItems: foundItems}); - if (foundItems.length === 0) { - s.notFound.show(); - s.found.hide(); - } - else { - s.notFound.hide(); - s.found.show(); - } - if (s.isVirtualList) { - virtualList.filterItems(foundItems); - } - }; - - // Events - function preventSubmit(e) { - e.preventDefault(); - } - - s.attachEvents = function (destroy) { - var method = destroy ? 'off' : 'on'; - s.container[method]('submit', preventSubmit); - if (!s.material) s.cancelButton[method]('click', s.disable); - s.overlay[method]('click', s.disable); - s.input[method]('focus', s.enable); - s.input[method]('change keydown keypress keyup', s.handleInput); - s.clearButton[method]('click', s.clear); - - }; - s.detachEvents = function() { - s.attachEvents(true); - }; - - // Init Destroy - s.init = function () { - s.attachEvents(); - }; - s.destroy = function () { - if (!s) return; - s.detachEvents(); - s = null; - }; - - // Init - s.init(); - - s.container[0].f7Searchbar = s; - return s; - - }; - app.searchbar = function (container, params) { - return new Searchbar(container, params); - }; - app.initSearchbar = function (container) { - container = $(container); - var searchbar = container.hasClass('searchbar') ? container : container.find('.searchbar'); - if (searchbar.length === 0) return; - if (!searchbar.hasClass('searchbar-init')) return; - - var sb = app.searchbar(searchbar, searchbar.dataset()); - - function onBeforeRemove() { - if (sb) sb.destroy(); - } - if (container.hasClass('page')) { - container.once('pageBeforeRemove', onBeforeRemove); - } - else if (container.hasClass('navbar-inner')) { - container.once('navbarBeforeRemove', onBeforeRemove); - } - }; - - /*====================================================== - ************ Messagebar ************ - ======================================================*/ - var Messagebar = function (container, params) { - var defaults = { - textarea: null, - maxHeight: null, - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined' || params[def] === null) { - params[def] = defaults[def]; - } - } - - // Instance - var m = this; - - // Params - m.params = params; - - // Container - m.container = $(container); - if (m.container.length === 0) return; - - // Textarea - m.textarea = m.params.textarea ? $(m.params.textarea) : m.container.find('textarea'); - - // Is In Page - m.pageContainer = m.container.parents('.page').eq(0); - m.pageContent = m.pageContainer.find('.page-content'); - - // Initial Sizes - m.pageContentPadding = parseInt(m.pageContent.css('padding-bottom')); - m.initialBarHeight = m.container[0].offsetHeight; - m.initialAreaHeight = m.textarea[0].offsetHeight; - - - // Resize textarea - m.sizeTextarea = function () { - // Reset - m.textarea.css({'height': ''}); - - var height = m.textarea[0].offsetHeight; - var diff = height - m.textarea[0].clientHeight; - var scrollHeight = m.textarea[0].scrollHeight; - - // Update - if (scrollHeight + diff > height) { - var newAreaHeight = scrollHeight + diff; - var newBarHeight = m.initialBarHeight + (newAreaHeight - m.initialAreaHeight); - var maxBarHeight = m.params.maxHeight || m.container.parents('.view')[0].offsetHeight - 88; - if (newBarHeight > maxBarHeight) { - newBarHeight = parseInt(maxBarHeight, 10); - newAreaHeight = newBarHeight - m.initialBarHeight + m.initialAreaHeight; - } - m.textarea.css('height', newAreaHeight + 'px'); - m.container.css('height', newBarHeight + 'px'); - var onBottom = (m.pageContent[0].scrollTop === m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight); - if (m.pageContent.length > 0) { - m.pageContent.css('padding-bottom', newBarHeight + 'px'); - if (m.pageContent.find('.messages-new-first').length === 0 && onBottom) { - m.pageContent.scrollTop(m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight); - } - } - } - else { - if (m.pageContent.length > 0) { - m.container.css({'height': '', 'bottom': ''}); - m.pageContent.css({'padding-bottom': ''}); - } - } - }; - - // Clear - m.clear = function () { - m.textarea.val('').trigger('change'); - }; - m.value = function (value) { - if (typeof value === 'undefined') return m.textarea.val(); - else m.textarea.val(value).trigger('change'); - }; - - // Handle textarea - m.textareaTimeout = undefined; - m.handleTextarea = function (e) { - clearTimeout(m.textareaTimeout); - m.textareaTimeout = setTimeout(function () { - m.sizeTextarea(); - }, 0); - }; - - //Events - function preventSubmit(e) { - e.preventDefault(); - } - - m.attachEvents = function (destroy) { - var method = destroy ? 'off' : 'on'; - m.container[method]('submit', preventSubmit); - m.textarea[method]('change keydown keypress keyup paste cut', m.handleTextarea); - }; - m.detachEvents = function () { - m.attachEvents(true); - }; - - // Init Destroy - m.init = function () { - m.attachEvents(); - }; - m.destroy = function () { - m.detachEvents(); - m = null; - }; - - // Init - m.init(); - - m.container[0].f7Messagebar = m; - return m; - }; - app.messagebar = function (container, params) { - return new Messagebar(container, params); - }; - app.initPageMessagebar = function (pageContainer) { - pageContainer = $(pageContainer); - var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar'); - if (messagebar.length === 0) return; - if (!messagebar.hasClass('messagebar-init')) return; - var mb = app.messagebar(messagebar, messagebar.dataset()); - - // Destroy on page remove - function pageBeforeRemove() { - mb.destroy(); - pageContainer.off('pageBeforeRemove', pageBeforeRemove); - } - if (pageContainer.hasClass('page')) { - pageContainer.on('pageBeforeRemove', pageBeforeRemove); - } - }; - - /*====================================================== - ************ XHR ************ - ======================================================*/ - // XHR Caching - app.cache = []; - app.removeFromCache = function (url) { - var index = false; - for (var i = 0; i < app.cache.length; i++) { - if (app.cache[i].url === url) index = i; - } - if (index !== false) app.cache.splice(index, 1); - }; - - // XHR - app.xhr = false; - app.get = function (url, view, ignoreCache, callback) { - // should we ignore get params or not - var _url = url; - if (app.params.cacheIgnoreGetParameters && url.indexOf('?') >= 0) { - _url = url.split('?')[0]; - } - if (app.params.cache && !ignoreCache && url.indexOf('nocache') < 0 && app.params.cacheIgnore.indexOf(_url) < 0) { - // Check is the url cached - for (var i = 0; i < app.cache.length; i++) { - if (app.cache[i].url === _url) { - // Check expiration - if ((new Date()).getTime() - app.cache[i].time < app.params.cacheDuration) { - // Load from cache - callback(app.cache[i].content); - return false; - } - } - } - } - - app.xhr = $.ajax({ - url: url, - method: 'GET', - beforeSend: app.params.onAjaxStart, - complete: function (xhr) { - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) { - if (app.params.cache) { - app.removeFromCache(_url); - app.cache.push({ - url: _url, - time: (new Date()).getTime(), - content: xhr.responseText - }); - } - callback(xhr.responseText, false); - } - else { - callback(xhr.responseText, true); - } - if (app.params.onAjaxComplete) app.params.onAjaxComplete(xhr); - }, - error: function (xhr) { - callback(xhr.responseText, true); - if (app.params.onAjaxError) app.params.onAjaxError(xhr); - } - }); - if (view) view.xhr = app.xhr; - - return app.xhr; - }; - - - /*====================================================== - ************ Pages ************ - ======================================================*/ - // Page Callbacks API - app.pageCallbacks = {}; - - app.onPage = function (callbackName, pageName, callback) { - if (pageName && pageName.split(' ').length > 1) { - var pageNames = pageName.split(' '); - var returnCallbacks = []; - for (var i = 0; i < pageNames.length; i++) { - returnCallbacks.push(app.onPage(callbackName, pageNames[i], callback)); - } - returnCallbacks.remove = function () { - for (var i = 0; i < returnCallbacks.length; i++) { - returnCallbacks[i].remove(); - } - }; - returnCallbacks.trigger = function () { - for (var i = 0; i < returnCallbacks.length; i++) { - returnCallbacks[i].trigger(); - } - }; - return returnCallbacks; - } - var callbacks = app.pageCallbacks[callbackName][pageName]; - if (!callbacks) { - callbacks = app.pageCallbacks[callbackName][pageName] = []; - } - app.pageCallbacks[callbackName][pageName].push(callback); - return { - remove: function () { - var removeIndex; - for (var i = 0; i < callbacks.length; i++) { - if (callbacks[i].toString() === callback.toString()) { - removeIndex = i; - } - } - if (typeof removeIndex !== 'undefined') callbacks.splice(removeIndex, 1); - }, - trigger: callback - }; - }; - - //Create callbacks methods dynamically - function createPageCallback(callbackName) { - var capitalized = callbackName.replace(/^./, function (match) { - return match.toUpperCase(); - }); - app['onPage' + capitalized] = function (pageName, callback) { - return app.onPage(callbackName, pageName, callback); - }; - } - - var pageCallbacksNames = ('beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove').split(' '); - for (var i = 0; i < pageCallbacksNames.length; i++) { - app.pageCallbacks[pageCallbacksNames[i]] = {}; - createPageCallback(pageCallbacksNames[i]); - } - - app.triggerPageCallbacks = function (callbackName, pageName, pageData) { - var allPagesCallbacks = app.pageCallbacks[callbackName]['*']; - if (allPagesCallbacks) { - for (var j = 0; j < allPagesCallbacks.length; j++) { - allPagesCallbacks[j](pageData); - } - } - var callbacks = app.pageCallbacks[callbackName][pageName]; - if (!callbacks || callbacks.length === 0) return; - for (var i = 0; i < callbacks.length; i++) { - callbacks[i](pageData); - } - }; - - // On Page Init Callback - app.pageInitCallback = function (view, params) { - var pageContainer = params.pageContainer; - if (!pageContainer) return; - if (pageContainer.f7PageInitialized && view && !view.params.domCache) return; - - var pageQuery = params.query; - if (!pageQuery) { - if (params.url && params.url.indexOf('?') > 0) { - pageQuery = $.parseUrlQuery(params.url || ''); - } - else if (pageContainer.f7PageData && pageContainer.f7PageData.query) { - pageQuery = pageContainer.f7PageData.query; - } - else { - pageQuery = {}; - } - } - - // Page Data - var pageData = { - container: pageContainer, - url: params.url, - query: pageQuery, - name: $(pageContainer).attr('data-page'), - view: view, - from: params.position, - context: params.context, - navbarInnerContainer: params.navbarInnerContainer, - fromPage: params.fromPage - }; - if (params.fromPage && !params.fromPage.navbarInnerContainer && params.oldNavbarInnerContainer) { - params.fromPage.navbarInnerContainer = params.oldNavbarInnerContainer; - } - - if (pageContainer.f7PageInitialized && ((view && view.params.domCache) || (!view && $(pageContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) { - // Reinit Page - app.reinitPage(pageContainer); - - // Callbacks - app.pluginHook('pageReinit', pageData); - if (app.params.onPageReinit) app.params.onPageReinit(app, pageData); - app.triggerPageCallbacks('reinit', pageData.name, pageData); - $(pageData.container).trigger('pageReinit', {page: pageData}); - return; - } - pageContainer.f7PageInitialized = true; - - // Store pagedata in page - pageContainer.f7PageData = pageData; - - // Update View's activePage - if (view && !params.preloadOnly && !params.reloadPrevious) { - // Add data-page on view - $(view.container).attr('data-page', pageData.name); - // Update View active page data - view.activePage = pageData; - } - - // Before Init Callbacks - app.pluginHook('pageBeforeInit', pageData); - if (app.params.onPageBeforeInit) app.params.onPageBeforeInit(app, pageData); - app.triggerPageCallbacks('beforeInit', pageData.name, pageData); - $(pageData.container).trigger('pageBeforeInit', {page: pageData}); - - // Init page - app.initPage(pageContainer); - - // Init Callback - app.pluginHook('pageInit', pageData); - if (app.params.onPageInit) app.params.onPageInit(app, pageData); - app.triggerPageCallbacks('init', pageData.name, pageData); - $(pageData.container).trigger('pageInit', {page: pageData}); - }; - app.pageRemoveCallback = function (view, pageContainer, position) { - var pageContext; - if (!pageContainer) return; - if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context; - // Page Data - var pageData = { - container: pageContainer, - name: $(pageContainer).attr('data-page'), - view: view, - url: pageContainer.f7PageData && pageContainer.f7PageData.url, - query: pageContainer.f7PageData && pageContainer.f7PageData.query, - navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer, - from: position, - context: pageContext - }; - // Before Init Callback - app.pluginHook('pageBeforeRemove', pageData); - if (app.params.onPageBeforeRemove) app.params.onPageBeforeRemove(app, pageData); - app.triggerPageCallbacks('beforeRemove', pageData.name, pageData); - $(pageData.container).trigger('pageBeforeRemove', {page: pageData}); - pageData = null; - }; - app.pageBackCallback = function (callback, view, params) { - // Page Data - var pageContainer = params.pageContainer; - var pageContext; - if (!pageContainer) return; - if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context; - - var pageData = { - container: pageContainer, - name: $(pageContainer).attr('data-page'), - url: pageContainer.f7PageData && pageContainer.f7PageData.url, - query: pageContainer.f7PageData && pageContainer.f7PageData.query, - view: view, - from: params.position, - context: pageContext, - navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer, - swipeBack: params.swipeBack - }; - - if (callback === 'after') { - app.pluginHook('pageAfterBack', pageData); - if (app.params.onPageAfterBack) app.params.onPageAfterBack(app, pageData); - app.triggerPageCallbacks('afterBack', pageData.name, pageData); - $(pageContainer).trigger('pageAfterBack', {page: pageData}); - - } - if (callback === 'before') { - app.pluginHook('pageBack', pageData); - if (app.params.onPageBack) app.params.onPageBack(app, pageData); - app.triggerPageCallbacks('back', pageData.name, pageData); - $(pageData.container).trigger('pageBack', {page: pageData}); - } - }; - app.pageAnimCallback = function (callback, view, params) { - var pageContainer = params.pageContainer; - var pageContext; - if (!pageContainer) return; - if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context; - - var pageQuery = params.query; - if (!pageQuery) { - if (params.url && params.url.indexOf('?') > 0) { - pageQuery = $.parseUrlQuery(params.url || ''); - } - else if (pageContainer.f7PageData && pageContainer.f7PageData.query) { - pageQuery = pageContainer.f7PageData.query; - } - else { - pageQuery = {}; - } - } - // Page Data - var pageData = { - container: pageContainer, - url: params.url, - query: pageQuery, - name: $(pageContainer).attr('data-page'), - view: view, - from: params.position, - context: pageContext, - swipeBack: params.swipeBack, - navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer, - fromPage: params.fromPage - }; - var oldPage = params.oldPage, - newPage = params.newPage; - - // Update page date - pageContainer.f7PageData = pageData; - - if (callback === 'after') { - app.pluginHook('pageAfterAnimation', pageData); - if (app.params.onPageAfterAnimation) app.params.onPageAfterAnimation(app, pageData); - app.triggerPageCallbacks('afterAnimation', pageData.name, pageData); - $(pageData.container).trigger('pageAfterAnimation', {page: pageData}); - - } - if (callback === 'before') { - // Add data-page on view - $(view.container).attr('data-page', pageData.name); - - // Update View's activePage - if (view) view.activePage = pageData; - - // Hide/show navbar dynamically - if (newPage.hasClass('no-navbar') && !oldPage.hasClass('no-navbar')) { - view.hideNavbar(); - } - if (!newPage.hasClass('no-navbar') && (oldPage.hasClass('no-navbar') || oldPage.hasClass('no-navbar-by-scroll'))) { - view.showNavbar(); - } - // Hide/show navbar toolbar - if (newPage.hasClass('no-toolbar') && !oldPage.hasClass('no-toolbar')) { - view.hideToolbar(); - } - if (!newPage.hasClass('no-toolbar') && (oldPage.hasClass('no-toolbar') || oldPage.hasClass('no-toolbar-by-scroll'))) { - view.showToolbar(); - } - // Hide/show tabbar - var tabBar; - if (newPage.hasClass('no-tabbar') && !oldPage.hasClass('no-tabbar')) { - tabBar = $(view.container).find('.tabbar'); - if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar'); - app.hideToolbar(tabBar); - } - if (!newPage.hasClass('no-tabbar') && (oldPage.hasClass('no-tabbar') || oldPage.hasClass('no-tabbar-by-scroll'))) { - tabBar = $(view.container).find('.tabbar'); - if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar'); - app.showToolbar(tabBar); - } - - oldPage.removeClass('no-navbar-by-scroll no-toolbar-by-scroll'); - // Callbacks - app.pluginHook('pageBeforeAnimation', pageData); - if (app.params.onPageBeforeAnimation) app.params.onPageBeforeAnimation(app, pageData); - app.triggerPageCallbacks('beforeAnimation', pageData.name, pageData); - $(pageData.container).trigger('pageBeforeAnimation', {page: pageData}); - } - }; - - // Init Page Events and Manipulations - app.initPage = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length === 0) return; - // Size navbars on page load - if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]); - // Init messages - if (app.initPageMessages) app.initPageMessages(pageContainer); - // Init forms storage - if (app.initFormsStorage) app.initFormsStorage(pageContainer); - // Init smart select - if (app.initSmartSelects) app.initSmartSelects(pageContainer); - // Init slider - if (app.initPageSwiper) app.initPageSwiper(pageContainer); - // Init pull to refres - if (app.initPullToRefresh) app.initPullToRefresh(pageContainer); - // Init infinite scroll - if (app.initPageInfiniteScroll) app.initPageInfiniteScroll(pageContainer); - // Init searchbar - if (app.initSearchbar) app.initSearchbar(pageContainer); - // Init message bar - if (app.initPageMessagebar) app.initPageMessagebar(pageContainer); - // Init scroll toolbars - if (app.initPageScrollToolbars) app.initPageScrollToolbars(pageContainer); - // Init lazy images - if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer); - // Init progress bars - if (app.initPageProgressbar) app.initPageProgressbar(pageContainer); - // Init resizeable textareas - if (app.initPageResizableTextarea) app.initPageResizableTextarea(pageContainer); - // Init Material Preloader - if (app.params.material && app.initPageMaterialPreloader) app.initPageMaterialPreloader(pageContainer); - // Init Material Inputs - if (app.params.material && app.initPageMaterialInputs) app.initPageMaterialInputs(pageContainer); - // Init Material Tabbar - if (app.params.material && app.initPageMaterialTabbar) app.initPageMaterialTabbar(pageContainer); - }; - app.reinitPage = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length === 0) return; - // Size navbars on page reinit - if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]); - // Reinit slider - if (app.reinitPageSwiper) app.reinitPageSwiper(pageContainer); - // Reinit lazy load - if (app.reinitLazyLoad) app.reinitLazyLoad(pageContainer); - }; - app.initPageWithCallback = function (pageContainer) { - pageContainer = $(pageContainer); - var viewContainer = pageContainer.parents('.' + app.params.viewClass); - if (viewContainer.length === 0) return; - var view = viewContainer[0].f7View || undefined; - var url = view && view.url ? view.url : undefined; - if (viewContainer && pageContainer.attr('data-page')) { - viewContainer.attr('data-page', pageContainer.attr('data-page')); - } - app.pageInitCallback(view, {pageContainer: pageContainer[0], url: url, position: 'center'}); - }; - - /*====================================================== - ************ Navigation / Router ************ - ======================================================*/ - app.router = { - _remove: function (el) { - if (app.params.routerRemoveTimeout || app.params.routerRemoveWithTimeout) { - setTimeout(function () { - $(el).remove(); - }, 0); - } - else $(el).remove(); - }, - // Temporary DOM Element - temporaryDom: document.createElement('div'), - - // Find page or navbar in passed container which are related to View - findElement: function (selector, container, view, notCached) { - container = $(container); - if (notCached) selector = selector + ':not(.cached)'; - var found = container.find(selector); - if (found.length > 1) { - if (typeof view.selector === 'string') { - // Search in related view - found = container.find(view.selector + ' ' + selector); - } - if (found.length > 1) { - // Search in main view - found = container.find('.' + app.params.viewMainClass + ' ' + selector); - } - } - if (found.length === 1) return found; - else { - // Try to find non cached - if (!notCached) found = app.router.findElement(selector, container, view, true); - if (found && found.length === 1) return found; - if (found && found.length > 1) return $(found[0]); - else return undefined; - } - }, - - // Set pages classess for animationEnd - animatePages: function (leftPage, rightPage, direction, view) { - // Loading new page - var removeClasses = 'page-on-center page-on-right page-on-left'; - if (direction === 'to-left') { - leftPage.removeClass(removeClasses).addClass('page-from-center-to-left'); - rightPage.removeClass(removeClasses).addClass('page-from-right-to-center'); - } - // Go back - if (direction === 'to-right') { - leftPage.removeClass(removeClasses).addClass('page-from-left-to-center'); - rightPage.removeClass(removeClasses).addClass('page-from-center-to-right'); - - } - }, - - // Prepare navbar before animarion - prepareNavbar: function (newNavbarInner, oldNavbarInner, newNavbarPosition) { - $(newNavbarInner).find('.sliding').each(function () { - var sliding = $(this); - var slidingOffset = newNavbarPosition === 'right' ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset; - - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(' + (-slidingOffset) + 'px,0,0)'); - } - } - sliding.transform('translate3d(' + slidingOffset + 'px,0,0)'); - }); - }, - - // Set navbars classess for animation - animateNavbars: function (leftNavbarInner, rightNavbarInner, direction, view) { - // Loading new page - var removeClasses = 'navbar-on-right navbar-on-center navbar-on-left'; - if (direction === 'to-left') { - rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-right-to-center'); - rightNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - sliding.transform('translate3d(0px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(0px,0,0)'); - } - } - }); - - leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-left'); - leftNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - var rightText; - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) { - rightText = rightNavbarInner.find('.sliding.left .back span'); - if (rightText.length > 0) this.f7NavbarLeftOffset += rightText[0].offsetLeft; - } - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarLeftOffset) + 'px,0,0)'); - } - } - sliding.transform('translate3d(' + (this.f7NavbarLeftOffset) + 'px,0,0)'); - }); - } - // Go back - if (direction === 'to-right') { - leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-left-to-center'); - leftNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - sliding.transform('translate3d(0px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(0px,0,0)'); - } - } - }); - - rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-right'); - rightNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarRightOffset) + 'px,0,0)'); - } - } - sliding.transform('translate3d(' + (this.f7NavbarRightOffset) + 'px,0,0)'); - }); - } - }, - - preprocess: function(view, content, url, next) { - // Plugin hook - app.pluginHook('routerPreprocess', view, content, url, next); - - // Preprocess by plugin - content = app.pluginProcess('preprocess', content); - - if (view && view.params && view.params.preprocess) { - content = view.params.preprocess(content, url, next); - if (typeof content !== 'undefined') { - next(content); - } - } - else if (app.params.preprocess) { - content = app.params.preprocess(content, url, next); - if (typeof content !== 'undefined') { - next(content); - } - } - else { - next(content); - } - }, - preroute: function(view, options, isBack) { - if (isBack) options.isBack = true; - app.pluginHook('routerPreroute', view, options); - if ((app.params.preroute && app.params.preroute(view, options) === false) || (view && view.params.preroute && view.params.preroute(view, options) === false)) { - return true; - } - else { - return false; - } - }, - - template7Render: function (view, options) { - var url = options.url, - content = options.content, //initial content - t7_rendered_content = options.content, // will be rendered using Template7 - context = options.context, // Context data for Template7 - contextName = options.contextName, - template = options.template, // Template 7 compiled template - pageName = options.pageName; - - var t7_ctx, t7_template; - if (typeof content === 'string') { - if (url) { - if (app.template7Cache[url] && !options.ignoreCache) t7_template = t7.cache[url]; - else { - t7_template = t7.compile(content); - t7.cache[url] = t7_template; - } - } - else t7_template = t7.compile(content); - } - else if (template) { - t7_template = template; - } - - if (context) { - t7_ctx = context; - if (context && url) { - view.contextCache[url] = context; - } - } - else { - if (contextName) { - if (contextName.indexOf('.') >= 0) { - var _ctx_path = contextName.split('.'); - var _ctx = t7.data[_ctx_path[0]]; - for (var i = 1; i < _ctx_path.length; i++) { - if (_ctx_path[i]) _ctx = _ctx[_ctx_path[i]]; - } - t7_ctx = _ctx; - } - else t7_ctx = t7.data[contextName]; - } - if (!t7_ctx && url) { - t7_ctx = t7.data['url:' + url]; - } - if (!t7_ctx && typeof content === 'string' && !template) { - //try to find by page name in content - var pageNameMatch = content.match(/(data-page=["'][^"^']*["'])/); - if (pageNameMatch) { - var page = pageNameMatch[0].split('data-page=')[1].replace(/['"]/g, ''); - if (page) t7_ctx = t7.data['page:' + page]; - } - } - if (!t7_ctx && template && t7.templates) { - // Try to find matched template name in t7.templates - for (var templateName in t7.templates) { - if (t7.templates[templateName] === template) t7_ctx = t7.data[templateName]; - } - } - if (!t7_ctx && url && url in view.contextCache) { - t7_ctx = view.contextCache[url]; - } - if (!t7_ctx) { - t7_ctx = {}; - } - } - - if (t7_template && t7_ctx) { - if (typeof t7_ctx === 'function') t7_ctx = t7_ctx(); - if (url) { - // Extend data with URL query - var query = $.parseUrlQuery(url); - t7_ctx.url_query = {}; - for (var key in query) { - t7_ctx.url_query[key] = query[key]; - } - } - try { - t7_rendered_content = t7_template(t7_ctx); - } - catch (e) { - t7_rendered_content = ''; - if (window.console && window.console.error) { - console.error(e); - } - } - } - - return {content: t7_rendered_content, context: t7_ctx}; - } - }; - - - app.router._load = function (view, options) { - options = options || {}; - - var url = options.url, - content = options.content, //initial content - t7_rendered = {content: options.content}, - template = options.template, // Template 7 compiled template - pageName = options.pageName, - viewContainer = $(view.container), - pagesContainer = $(view.pagesContainer), - animatePages = options.animatePages, - newPage, oldPage, pagesInView, i, oldNavbarInner, newNavbarInner, navbar, dynamicNavbar, reloadPosition, - isDynamicPage = typeof url === 'undefined' && content || template, - pushState = options.pushState, - pageElement = options.pageElement; - - if (typeof animatePages === 'undefined') animatePages = view.params.animatePages; - // Plugin hook - app.pluginHook('routerLoad', view, options); - - // Render with Template7 - if (app.params.template7Pages && typeof content === 'string' || template) { - t7_rendered = app.router.template7Render(view, options); - if (t7_rendered.content && !content) { - content = t7_rendered.content; - } - } - - app.router.temporaryDom.innerHTML = ''; - - // Parse DOM - if (!pageName && !pageElement) { - if ((typeof content === 'string') || (url && (typeof content === 'string'))) { - app.router.temporaryDom.innerHTML = t7_rendered.content; - } else { - if ('length' in content && content.length > 1) { - for (var ci = 0; ci < content.length; ci++) { - $(app.router.temporaryDom).append(content[ci]); - } - } else { - $(app.router.temporaryDom).append(content); - } - } - } - - // Reload position - reloadPosition = options.reload && (options.reloadPrevious ? 'left' : 'center'); - - // Find new page - if (pageName) newPage = pagesContainer.find('.page[data-page="' + pageName + '"]'); - else { - if (pageElement) newPage = $(pageElement); - else newPage = app.router.findElement('.page', app.router.temporaryDom, view); - } - - // If page not found exit - if (!newPage || newPage.length === 0 || (pageName && view.activePage && view.activePage.name === pageName)) { - view.allowPageChange = true; - return; - } - - newPage.addClass(options.reload ? 'page-on-' + reloadPosition : 'page-on-right'); - - // Find old page (should be the last one) and remove older pages - pagesInView = pagesContainer.children('.page:not(.cached)'); - if (pageElement) { - pagesInView = pagesInView.filter(function (index, page) { - if (page !== pageElement) return page; - }); - } - - if (options.reload && options.reloadPrevious && pagesInView.length === 1) { - view.allowPageChange = true; - return; - } - - if (options.reload) { - oldPage = pagesInView.eq(pagesInView.length - 1); - } - else { - if (pagesInView.length > 1) { - for (i = 0; i < pagesInView.length - 2; i++) { - if (!view.params.domCache) { - app.pageRemoveCallback(view, pagesInView[i], 'left'); - app.router._remove(pagesInView[i]); - } - else { - $(pagesInView[i]).addClass('cached'); - } - } - if (!view.params.domCache) { - app.pageRemoveCallback(view, pagesInView[i], 'left'); - app.router._remove(pagesInView[i]); - } - else { - $(pagesInView[i]).addClass('cached'); - } - } - oldPage = pagesContainer.children('.page:not(.cached)'); - } - if (pageElement && oldPage.length > 1) { - oldPage = oldPage.filter(function (index, page) { - if (page !== pageElement) return page; - }); - } - if(view.params.domCache || pageElement) newPage.removeClass('cached'); - - // Dynamic navbar - if (view.params.dynamicNavbar) { - dynamicNavbar = true; - // Find navbar - if (pageName) { - newNavbarInner = viewContainer.find('.navbar-inner[data-page="' + pageName + '"]'); - } - else { - newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view); - } - if (!newNavbarInner || newNavbarInner.length === 0) { - // Look in page - newNavbarInner = newPage.find('.navbar-inner'); - if (!newNavbarInner || newNavbarInner.length === 0) { - // Set false - dynamicNavbar = false; - } - else { - if (newNavbarInner.parent('.navbar').length > 0) { - newNavbarInner.prependTo(newPage); - } - } - } - if (dynamicNavbar && newPage.find('.navbar').length > 0) { - app.router._remove(newPage.find('.navbar')); - } - navbar = viewContainer.children('.navbar'); - if (options.reload) { - oldNavbarInner = navbar.find('.navbar-inner:not(.cached):last-child'); - } - else { - oldNavbarInner = navbar.find('.navbar-inner:not(.cached)'); - - if (oldNavbarInner.length > 0) { - for (i = 0; i < oldNavbarInner.length - 1; i++) { - if (!view.params.domCache) { - app.navbarRemoveCallback(view, pagesInView[i], navbar[0], oldNavbarInner[i]); - app.router._remove(oldNavbarInner[i]); - } - else - $(oldNavbarInner[i]).addClass('cached'); - } - if (!newNavbarInner && oldNavbarInner.length === 1) { - if (!view.params.domCache) { - app.navbarRemoveCallback(view, pagesInView[0], navbar[0], oldNavbarInner[0]); - app.router._remove(oldNavbarInner[0]); - } - else - $(oldNavbarInner[0]).addClass('cached'); - } - oldNavbarInner = navbar.find('.navbar-inner:not(.cached)'); - } - } - } - if (dynamicNavbar) { - newNavbarInner.addClass(options.reload ? 'navbar-on-' + reloadPosition : 'navbar-on-right'); - if(view.params.domCache || pageElement) newNavbarInner.removeClass('cached'); - newPage[0].f7RelatedNavbar = newNavbarInner[0]; - newNavbarInner[0].f7RelatedPage = newPage[0]; - } - - // save content areas into view's cache - if (!url) { - var newPageName = pageName || newPage.attr('data-page'); - if (isDynamicPage) url = '#' + app.params.dynamicPageUrl.replace(/{{name}}/g, newPageName).replace(/{{index}}/g, view.history.length - (options.reload ? 1 : 0)); - else url = '#' + newPageName; - if (!view.params.domCache) { - view.contentCache[url] = content; - } - if (view.params.domCache && pageName) { - view.pagesCache[url] = pageName; - } - } - else if (url && pageElement) { - view.pageElementsCache[url] = { - page: newPage, - navbarInner: newNavbarInner - }; - } - - // Push State - if (app.params.pushState && !options.reloadPrevious && view.main) { - if (typeof pushState === 'undefined') pushState = true; - var pushStateRoot = app.params.pushStateRoot || ''; - var method = options.reload ? 'replaceState' : 'pushState'; - if (pushState) { - if (!isDynamicPage && !pageName) { - history[method]({url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url); - } - else if (isDynamicPage && content) { - history[method]({content: typeof content === 'string' ? content : '', url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url); - } - else if (pageName) { - history[method]({pageName: pageName, url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url); - } - } - } - - // Update View history - view.url = url; - if (options.reload) { - var lastUrl = view.history[view.history.length - (options.reloadPrevious ? 2 : 1)]; - if (lastUrl && - lastUrl.indexOf('#') === 0 && - lastUrl in view.contentCache && - lastUrl !== url && - view.history.indexOf(lastUrl) === -1) { - view.contentCache[lastUrl] = null; - delete view.contentCache[lastUrl]; - } - else if (lastUrl && - lastUrl in view.pageElementsCache && - lastUrl !== url && - (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) { - view.pageElementsCache[lastUrl] = null; - delete view.pageElementsCache[lastUrl]; - } - if (lastUrl && - lastUrl in view.contextCache && - lastUrl !== url && - (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) { - view.contextCache[lastUrl] = null; - delete view.contextCache[lastUrl]; - } - view.history[view.history.length - (options.reloadPrevious ? 2 : 1)] = url; - } - else { - view.history.push(url); - } - - // Unique history - var historyBecameUnique = false; - if (view.params.uniqueHistory) { - var _history = view.history; - var _url = url; - if (view.params.uniqueHistoryIgnoreGetParameters) { - _history = []; - _url = url.split('?')[0]; - for (i = 0; i < view.history.length; i++) { - _history.push(view.history[i].split('?')[0]); - } - } - - if (_history.indexOf(_url) !== _history.lastIndexOf(_url)) { - view.history = view.history.slice(0, _history.indexOf(_url)); - view.history.push(url); - historyBecameUnique = true; - } - } - // Dom manipulations - if (options.reloadPrevious) { - oldPage = oldPage.prev('.page'); - newPage.insertBefore(oldPage); - if (dynamicNavbar) { - oldNavbarInner = oldNavbarInner.prev('.navbar-inner'); - newNavbarInner.insertAfter(oldNavbarInner); - } - } - else { - pagesContainer.append(newPage[0]); - if (dynamicNavbar) navbar.append(newNavbarInner[0]); - } - // Remove Old Page And Navbar - if (options.reload) { - if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) { - oldPage.addClass('cached'); - if (dynamicNavbar) oldNavbarInner.addClass('cached'); - } - else { - app.pageRemoveCallback(view, oldPage[0], reloadPosition); - if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]); - app.router._remove(oldPage); - if (dynamicNavbar) app.router._remove(oldNavbarInner); - } - } - - // Page Init Events - app.pageInitCallback(view, { - pageContainer: newPage[0], - url: url, - position: options.reload ? reloadPosition : 'right', - navbarInnerContainer: dynamicNavbar ? newNavbarInner && newNavbarInner[0] : undefined, - oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined, - context: t7_rendered.context, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData, - reload: options.reload, - reloadPrevious: options.reloadPrevious - }); - - // Navbar init event - if (dynamicNavbar) { - app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, options.reload ? reloadPosition : 'right'); - } - - if (options.reload) { - view.allowPageChange = true; - if (historyBecameUnique) view.refreshPreviousPage(); - return; - } - - if (dynamicNavbar && animatePages) { - app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'right'); - } - // Force reLayout - var clientLeft = newPage[0].clientLeft; - - // Before Anim Callback - app.pageAnimCallback('before', view, { - pageContainer: newPage[0], - url: url, - position: 'right', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - - function afterAnimation() { - view.allowPageChange = true; - newPage.removeClass('page-from-right-to-center page-on-right page-on-left').addClass('page-on-center'); - oldPage.removeClass('page-from-center-to-left page-on-center page-on-right').addClass('page-on-left'); - if (dynamicNavbar) { - newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-left navbar-on-right').addClass('navbar-on-center'); - oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center navbar-on-right').addClass('navbar-on-left'); - } - app.pageAnimCallback('after', view, { - pageContainer: newPage[0], - url: url, - position: 'right', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - if (app.params.pushState && view.main) app.pushStateClearQueue(); - if (!(view.params.swipeBackPage || view.params.preloadPreviousPage)) { - if (view.params.domCache) { - oldPage.addClass('cached'); - if (dynamicNavbar) oldNavbarInner.addClass('cached'); - } - else { - if (!(url.indexOf('#') === 0 && newPage.attr('data-page').indexOf('smart-select-') === 0)) { - app.pageRemoveCallback(view, oldPage[0], 'left'); - if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]); - app.router._remove(oldPage); - if (dynamicNavbar) app.router._remove(oldNavbarInner); - } - } - } - if (view.params.uniqueHistory && historyBecameUnique) { - view.refreshPreviousPage(); - } - } - if (animatePages) { - // Set pages before animation - if (app.params.material && app.params.materialPageLoadDelay) { - setTimeout(function () { - app.router.animatePages(oldPage, newPage, 'to-left', view); - }, app.params.materialPageLoadDelay); - } - else { - app.router.animatePages(oldPage, newPage, 'to-left', view); - } - - // Dynamic navbar animation - if (dynamicNavbar) { - setTimeout(function() { - app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view); - }, 0); - } - newPage.animationEnd(function (e) { - afterAnimation(); - }); - } - else { - if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform(''); - afterAnimation(); - } - - }; - - app.router.load = function (view, options) { - options = options || {}; - if (app.router.preroute(view, options)) { - return false; - } - var url = options.url; - var content = options.content; - var pageName = options.pageName; - var pageElement = options.pageElement; - if (pageName) { - if (pageName.indexOf('?') > 0) { - options.query = $.parseUrlQuery(pageName); - options.pageName = pageName = pageName.split('?')[0]; - } - } - var template = options.template; - if (view.params.reloadPages === true) options.reload = true; - - if (!view.allowPageChange) return false; - if (url && view.url === url && !options.reload && !view.params.allowDuplicateUrls) return false; - view.allowPageChange = false; - if (app.xhr && view.xhr && view.xhr === app.xhr) { - app.xhr.abort(); - app.xhr = false; - } - function proceed(content) { - app.router.preprocess(view, content, url, function (content) { - options.content = content; - app.router._load(view, options); - }); - } - if (content || pageName || pageElement) { - proceed(content); - return; - } - else if (template) { - app.router._load(view, options); - return; - } - - if (!options.url || options.url === '#') { - view.allowPageChange = true; - return; - } - app.get(options.url, view, options.ignoreCache, function (content, error) { - if (error) { - view.allowPageChange = true; - return; - } - proceed(content); - }); - }; - - app.router._back = function (view, options) { - options = options || {}; - var url = options.url, - content = options.content, - t7_rendered = {content: options.content}, // will be rendered using Template7 - template = options.template, // Template 7 compiled template - animatePages = options.animatePages, - preloadOnly = options.preloadOnly, - pushState = options.pushState, - ignoreCache = options.ignoreCache, - force = options.force, - pageName = options.pageName, - pageElement = options.pageElement; - - var viewContainer = $(view.container), - pagesContainer = $(view.pagesContainer), - pagesInView = pagesContainer.children('.page:not(.cached)'), - oldPage, newPage, oldNavbarInner, newNavbarInner, navbar, navbarInners, dynamicNavbar, manipulateDom = true; - - if (typeof animatePages === 'undefined') animatePages = view.params.animatePages; - - app.pluginHook('routerBack', view, options); - - // Render with Template7 - if (app.params.template7Pages && typeof content === 'string' || template) { - t7_rendered = app.router.template7Render(view, options); - if (t7_rendered.content && !content) { - content = t7_rendered.content; - } - } - - // Animation - function afterAnimation() { - app.pageBackCallback('after', view, { - pageContainer: oldPage[0], - url: url, - position: 'center', - oldPage: oldPage, - newPage: newPage, - }); - app.pageAnimCallback('after', view, { - pageContainer: newPage[0], - url: url, - position: 'left', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - app.router.afterBack(view, oldPage[0], newPage[0]); - } - function animateBack() { - // Page before animation callback - app.pageBackCallback('before', view, { - pageContainer: oldPage[0], - url: url, - position: 'center', - oldPage: oldPage, - newPage: newPage, - }); - app.pageAnimCallback('before', view, { - pageContainer: newPage[0], - url: url, - position: 'left', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - - if (animatePages) { - // Set pages before animation - app.router.animatePages(newPage, oldPage, 'to-right', view); - - // Dynamic navbar animation - if (dynamicNavbar) { - setTimeout(function () { - app.router.animateNavbars(newNavbarInner, oldNavbarInner, 'to-right', view); - }, 0); - } - - newPage.animationEnd(function () { - afterAnimation(); - }); - } - else { - if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform(''); - afterAnimation(); - } - } - - function parseNewPage() { - app.router.temporaryDom.innerHTML = ''; - // Parse DOM - if ((typeof content === 'string') || (url && (typeof content === 'string'))) { - app.router.temporaryDom.innerHTML = t7_rendered.content; - } else { - if ('length' in content && content.length > 1) { - for (var ci = 0; ci < content.length; ci++) { - $(app.router.temporaryDom).append(content[ci]); - } - } else { - $(app.router.temporaryDom).append(content); - } - } - if (pageElement) newPage = $(pageElement); - else newPage = app.router.findElement('.page', app.router.temporaryDom, view); - - if (view.params.dynamicNavbar) { - // Find navbar - newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view); - } - } - function setPages() { - // If pages not found or there are still more than one, exit - if (!newPage || newPage.length === 0) { - view.allowPageChange = true; - return; - } - if (view.params.dynamicNavbar && typeof dynamicNavbar === 'undefined') { - if (!newNavbarInner || newNavbarInner.length === 0) { - dynamicNavbar = false; - } - else { - dynamicNavbar = true; - } - } - - newPage.addClass('page-on-left').removeClass('cached'); - if (dynamicNavbar) { - navbar = viewContainer.children('.navbar'); - navbarInners = navbar.find('.navbar-inner:not(.cached)'); - newNavbarInner.addClass('navbar-on-left').removeClass('cached'); - } - // Remove/hide previous page in force mode - if (force) { - var pageToRemove, navbarToRemove; - pageToRemove = $(pagesInView[pagesInView.length - 2]); - - if (dynamicNavbar) navbarToRemove = $(pageToRemove[0] && pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]); - if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) { - if (pageToRemove.length && pageToRemove[0] !== newPage[0]) pageToRemove.addClass('cached'); - if (dynamicNavbar && navbarToRemove.length && navbarToRemove[0] !== newNavbarInner[0]) { - navbarToRemove.addClass('cached'); - } - } - else { - var removeNavbar = dynamicNavbar && navbarToRemove.length; - if (pageToRemove.length) { - app.pageRemoveCallback(view, pageToRemove[0], 'right'); - if (removeNavbar) { - app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]); - } - app.router._remove(pageToRemove); - if (removeNavbar) app.router._remove(navbarToRemove); - } - else if (removeNavbar) { - app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]); - app.router._remove(navbarToRemove); - } - } - pagesInView = pagesContainer.children('.page:not(.cached)'); - if (dynamicNavbar) { - navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)'); - } - if (view.history.indexOf(url) >= 0) { - view.history = view.history.slice(0, view.history.indexOf(url) + 2); - } - else { - if (view.history[[view.history.length - 2]]) { - view.history[view.history.length - 2] = url; - } - else { - view.history.unshift(url); - } - } - } - - oldPage = $(pagesInView[pagesInView.length - 1]); - if (view.params.domCache) { - if (oldPage[0] === newPage[0]) { - oldPage = pagesContainer.children('.page.page-on-center'); - if (oldPage.length === 0 && view.activePage) oldPage = $(view.activePage.container); - } - } - - if (dynamicNavbar && !oldNavbarInner) { - oldNavbarInner = $(navbarInners[navbarInners.length - 1]); - if (view.params.domCache) { - if (oldNavbarInner[0] === newNavbarInner[0]) { - oldNavbarInner = navbar.children('.navbar-inner.navbar-on-center:not(.cached)'); - } - if (oldNavbarInner.length === 0) { - oldNavbarInner = navbar.children('.navbar-inner[data-page="'+oldPage.attr('data-page')+'"]'); - } - } - if (oldNavbarInner.length === 0 || newNavbarInner[0] === oldNavbarInner[0]) dynamicNavbar = false; - } - - if (dynamicNavbar) { - if (manipulateDom) newNavbarInner.insertBefore(oldNavbarInner); - newNavbarInner[0].f7RelatedPage = newPage[0]; - newPage[0].f7RelatedNavbar = newNavbarInner[0]; - } - if (manipulateDom) newPage.insertBefore(oldPage); - - // Page Init Events - app.pageInitCallback(view, { - pageContainer: newPage[0], - url: url, - position: 'left', - navbarInnerContainer: dynamicNavbar ? newNavbarInner[0] : undefined, - oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined, - context: t7_rendered.context, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData, - preloadOnly: preloadOnly - }); - if (dynamicNavbar) { - app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, 'right'); - } - - if (dynamicNavbar && newNavbarInner.hasClass('navbar-on-left') && animatePages) { - app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'left'); - } - - if (preloadOnly) { - view.allowPageChange = true; - return; - } - - // Update View's URL - view.url = url; - - // Force reLayout - var clientLeft = newPage[0].clientLeft; - - animateBack(); - - // Push state - if (app.params.pushState && view.main) { - if (typeof pushState === 'undefined') pushState = true; - if (!preloadOnly && history.state && pushState) { - history.back(); - } - } - return; - } - - // Simple go back when we have pages on left - if (pagesInView.length > 1 && !force) { - // Exit if only preloadOnly - if (preloadOnly) { - view.allowPageChange = true; - return; - } - // Update View's URL - view.url = view.history[view.history.length - 2]; - url = view.url; - - // Define old and new pages - newPage = $(pagesInView[pagesInView.length - 2]); - oldPage = $(pagesInView[pagesInView.length - 1]); - - // Dynamic navbar - if (view.params.dynamicNavbar) { - dynamicNavbar = true; - // Find navbar - navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)'); - newNavbarInner = $(navbarInners[0]); - oldNavbarInner = $(navbarInners[1]); - if (newNavbarInner.length === 0 || oldNavbarInner.length === 0 || oldNavbarInner[0] === newNavbarInner[0]) { - dynamicNavbar = false; - } - } - manipulateDom = false; - setPages(); - return; - } - - if (!force) { - // Go back when there is no pages on left - if (!preloadOnly) { - view.url = view.history[view.history.length - 2]; - url = view.url; - } - - if (content) { - parseNewPage(); - setPages(); - return; - } - else if (pageName) { - // Get dom cached pages - newPage = $(viewContainer).find('.page[data-page="' + pageName + '"]'); - if (view.params.dynamicNavbar) { - newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page="' + pageName + '"]'); - if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) { - newNavbarInner = $(newPage[0].f7RelatedNavbar); - } - if (newNavbarInner.length === 0 && newPage[0].f7PageData) { - newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer); - } - } - setPages(); - return; - } - else if (url && url in view.pageElementsCache) { - newPage = view.pageElementsCache[url].page; - newNavbarInner = view.pageElementsCache[url].navbarInner; - setPages(); - return; - } - else { - view.allowPageChange = true; - return; - } - } - else { - if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) { - view.allowPageChange = true; - return; - } - // Go back with force url - if (content) { - parseNewPage(); - setPages(); - return; - } - else if (pageName && view.params.domCache) { - if (pageName) url = '#' + pageName; - - newPage = $(viewContainer).find('.page[data-page="' + pageName + '"]'); - if (newPage[0].f7PageData && newPage[0].f7PageData.url) { - url = newPage[0].f7PageData.url; - } - if (view.params.dynamicNavbar) { - newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page="' + pageName + '"]'); - if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) { - newNavbarInner = $(newPage[0].f7RelatedNavbar); - } - if (newNavbarInner.length === 0 && newPage[0].f7PageData) { - newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer); - } - } - setPages(); - return; - } - else if (pageElement && url) { - newPage = $(pageElement); - if (view.params.dynamicNavbar) { - newNavbarInner = newPage.find('.navbar-inner'); - if (newNavbarInner.length > 0) { - newPage.prepend(newNavbarInner); - app.router._remove(newPage.find('.navbar')); - } - } - setPages(); - return; - } - else { - view.allowPageChange = true; - return; - } - } - - }; - app.router.back = function (view, options) { - options = options || {}; - if (app.router.preroute(view, options, true)) { - return false; - } - var url = options.url; - var content = options.content; - var pageName = options.pageName; - var pageElement = options.pageElement; - if (pageName) { - if (pageName.indexOf('?') > 0) { - options.query = $.parseUrlQuery(pageName); - options.pageName = pageName = pageName.split('?')[0]; - } - } - var force = options.force; - if (!view.allowPageChange) return false; - view.allowPageChange = false; - if (app.xhr && view.xhr && view.xhr === app.xhr) { - app.xhr.abort(); - app.xhr = false; - } - var pagesInView = $(view.pagesContainer).find('.page:not(.cached)'); - - function proceed(content) { - app.router.preprocess(view, content, url, function (content) { - options.content = content; - app.router._back(view, options); - }); - } - if (pagesInView.length > 1 && !force) { - // Simple go back to previos page in view - app.router._back(view, options); - return; - } - if (!force) { - url = view.history[view.history.length - 2] || options.url; - if (!options.url) options.url = url; - if (!url) { - view.allowPageChange = true; - return; - } - if (url.indexOf('#') === 0 && view.contentCache[url]) { - proceed(view.contentCache[url]); - return; - } - else if (url.indexOf('#') === 0 && view.params.domCache) { - if (!pageName) options.pageName = url.split('#')[1]; - proceed(); - return; - } - else if (url && url in view.pageElementsCache) { - proceed(); - } - else if (url.indexOf('#') !== 0) { - // Load ajax page - app.get(options.url, view, options.ignoreCache, function (content, error) { - if (error) { - view.allowPageChange = true; - return; - } - proceed(content); - }); - return; - } - } - else { - // Go back with force url - if (!url && content) { - proceed(content); - return; - } - else if (!url && pageName) { - if (pageName) url = '#' + pageName; - proceed(); - return; - } - else if (url && pageElement) { - proceed(); - return; - } - else if (url) { - app.get(options.url, view, options.ignoreCache, function (content, error) { - if (error) { - view.allowPageChange = true; - return; - } - proceed(content); - }); - return; - } - } - view.allowPageChange = true; - return; - }; - - app.router.afterBack = function (view, oldPage, newPage) { - // Remove old page and set classes on new one - oldPage = $(oldPage); - newPage = $(newPage); - - if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) { - oldPage.removeClass('page-from-center-to-right').addClass('cached'); - } - else { - app.pageRemoveCallback(view, oldPage[0], 'right'); - app.router._remove(oldPage); - } - - newPage.removeClass('page-from-left-to-center page-on-left').addClass('page-on-center'); - view.allowPageChange = true; - - // Update View's History - var previousURL = view.history.pop(); - - var newNavbar; - - // Updated dynamic navbar - if (view.params.dynamicNavbar) { - var inners = $(view.container).children('.navbar').find('.navbar-inner:not(.cached)'); - var oldNavbar = $(oldPage[0].f7RelatedNavbar || inners[1]); - if (view.params.domCache && view.initialNavbars.indexOf(oldNavbar[0]) >= 0) { - oldNavbar.removeClass('navbar-from-center-to-right').addClass('cached'); - } - else { - app.navbarRemoveCallback(view, oldPage[0], undefined, oldNavbar[0]); - app.router._remove(oldNavbar); - } - newNavbar = $(inners[0]).removeClass('navbar-on-left navbar-from-left-to-center').addClass('navbar-on-center'); - } - - // Remove pages in dom cache - if (view.params.domCache) { - $(view.container).find('.page.cached').each(function () { - var page = $(this); - var index = page.index(); - var pageUrl = page[0].f7PageData && page[0].f7PageData.url; - if (pageUrl && view.history.indexOf(pageUrl) < 0 && view.initialPages.indexOf(this) < 0) { - app.pageRemoveCallback(view, page[0], 'right'); - if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.navbarRemoveCallback(view, page[0], undefined, page[0].f7RelatedNavbar); - app.router._remove(page); - if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.router._remove(page[0].f7RelatedNavbar); - } - }); - } - - // Check previous page is content based only and remove it from content cache - if (!view.params.domCache && - previousURL && - previousURL.indexOf('#') > -1 && - (previousURL in view.contentCache) && - // If the same page is in the history multiple times, don't remove it. - view.history.indexOf(previousURL) === -1) { - view.contentCache[previousURL] = null; - delete view.contentCache[previousURL]; - } - if (previousURL && - (previousURL in view.pageElementsCache) && - // If the same page is in the history multiple times, don't remove it. - view.history.indexOf(previousURL) === -1) { - view.pageElementsCache[previousURL] = null; - delete view.pageElementsCache[previousURL]; - } - // Check for context cache - if (previousURL && - (previousURL in view.contextCache) && - // If the same page is in the history multiple times, don't remove it. - view.history.indexOf(previousURL) === -1) { - view.contextCache[previousURL] = null; - delete view.contextCache[previousURL]; - } - - if (app.params.pushState && view.main) app.pushStateClearQueue(); - - // Preload previous page - if (view.params.preloadPreviousPage) { - if (view.params.domCache && view.history.length > 1) { - var preloadUrl = view.history[view.history.length - 2]; - var previousPage; - var previousNavbar; - if (preloadUrl && view.pagesCache[preloadUrl]) { - // Load by page name - previousPage = $(view.container).find('.page[data-page="' + view.pagesCache[preloadUrl] + '"]'); - if (previousPage.next('.page')[0] !== newPage[0]) previousPage.insertBefore(newPage); - if (newNavbar) { - previousNavbar = $(view.container).children('.navbar').find('.navbar-inner[data-page="' + view.pagesCache[preloadUrl] + '"]'); - if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached'); - if (previousNavbar.next('.navbar-inner')[0] !== newNavbar[0]) previousNavbar.insertBefore(newNavbar); - } - } - else { - // Just load previous page - previousPage = newPage.prev('.page.cached'); - if (newNavbar) previousNavbar = newNavbar.prev('.navbar-inner.cached'); - } - if (previousPage && previousPage.length > 0) previousPage.removeClass('cached page-on-right page-on-center').addClass('page-on-left'); - if (previousNavbar && previousNavbar.length > 0) previousNavbar.removeClass('cached navbar-on-right navbar-on-center').addClass('navbar-on-left'); - } - else { - app.router.back(view, {preloadOnly: true}); - } - } - }; - - - /*====================================================== - ************ Modals ************ - ======================================================*/ - var _modalTemplateTempDiv = document.createElement('div'); - app.modalStack = []; - app.modalStackClearQueue = function () { - if (app.modalStack.length) { - (app.modalStack.shift())(); - } - }; - app.modal = function (params) { - params = params || {}; - var modalHTML = ''; - if (app.params.modalTemplate) { - if (!app._compiledTemplates.modal) app._compiledTemplates.modal = t7.compile(app.params.modalTemplate); - modalHTML = app._compiledTemplates.modal(params); - } - else { - var buttonsHTML = ''; - if (params.buttons && params.buttons.length > 0) { - for (var i = 0; i < params.buttons.length; i++) { - buttonsHTML += '' + params.buttons[i].text + ''; - } - } - var titleHTML = params.title ? '' : ''; - var textHTML = params.text ? '' : ''; - var afterTextHTML = params.afterText ? params.afterText : ''; - var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : ''; - var verticalButtons = params.verticalButtons ? 'modal-buttons-vertical': ''; - var modalButtonsHTML = params.buttons && params.buttons.length > 0 ? '' : ''; - modalHTML = ''; - } - - _modalTemplateTempDiv.innerHTML = modalHTML; - - var modal = $(_modalTemplateTempDiv).children(); - - app.root.append(modal[0]); - - // Add events on buttons - modal.find('.modal-button').each(function (index, el) { - $(el).on('click', function (e) { - if (params.buttons[index].close !== false) app.closeModal(modal); - if (params.buttons[index].onClick) params.buttons[index].onClick(modal, e); - if (params.onClick) params.onClick(modal, index); - }); - }); - app.openModal(modal); - return modal[0]; - }; - app.alert = function (text, title, callbackOk) { - if (typeof title === 'function') { - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - buttons: [ {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} ] - }); - }; - app.confirm = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - buttons: [ - {text: app.params.modalButtonCancel, onClick: callbackCancel}, - {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} - ] - }); - }; - app.prompt = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - afterText: '
', - buttons: [ - { - text: app.params.modalButtonCancel - }, - { - text: app.params.modalButtonOk, - bold: true - } - ], - onClick: function (modal, index) { - if (index === 0 && callbackCancel) callbackCancel($(modal).find('.modal-text-input').val()); - if (index === 1 && callbackOk) callbackOk($(modal).find('.modal-text-input').val()); - } - }); - }; - app.modalLogin = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - afterText: '', - buttons: [ - { - text: app.params.modalButtonCancel - }, - { - text: app.params.modalButtonOk, - bold: true - } - ], - onClick: function (modal, index) { - var username = $(modal).find('.modal-text-input[name="modal-username"]').val(); - var password = $(modal).find('.modal-text-input[name="modal-password"]').val(); - if (index === 0 && callbackCancel) callbackCancel(username, password); - if (index === 1 && callbackOk) callbackOk(username, password); - } - }); - }; - app.modalPassword = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - afterText: '
', - buttons: [ - { - text: app.params.modalButtonCancel - }, - { - text: app.params.modalButtonOk, - bold: true - } - ], - onClick: function (modal, index) { - var password = $(modal).find('.modal-text-input[name="modal-password"]').val(); - if (index === 0 && callbackCancel) callbackCancel(password); - if (index === 1 && callbackOk) callbackOk(password); - } - }); - }; - app.showPreloader = function (title) { - return app.modal({ - title: title || app.params.modalPreloaderTitle, - text: '
' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
', - cssClass: 'modal-preloader' - }); - }; - app.hidePreloader = function () { - app.closeModal('.modal.modal-in'); - }; - app.showIndicator = function () { - if ($('.preloader-indicator-overlay').length > 0) return; - app.root.append('
' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
'); - }; - app.hideIndicator = function () { - $('.preloader-indicator-overlay, .preloader-indicator-modal').remove(); - }; - // Action Sheet - app.actions = function (target, params) { - var toPopover = false, modal, groupSelector, buttonSelector; - if (arguments.length === 1) { - // Actions - params = target; - } - else { - // Popover - if (app.device.ios) { - if (app.device.ipad) toPopover = true; - } - else { - if ($(window).width() >= 768) toPopover = true; - } - } - params = params || []; - - if (params.length > 0 && !$.isArray(params[0])) { - params = [params]; - } - var modalHTML; - if (toPopover) { - var actionsToPopoverTemplate = app.params.modalActionsToPopoverTemplate || - '
' + - '
' + - '{{#each this}}' + - '
' + - '
    ' + - '{{#each this}}' + - '{{#if label}}' + - '
  • {{text}}
  • ' + - '{{else}}' + - '
  • {{text}}
  • ' + - '{{/if}}' + - '{{/each}}' + - '
' + - '
' + - '{{/each}}' + - '
' + - '
'; - if (!app._compiledTemplates.actionsToPopover) { - app._compiledTemplates.actionsToPopover = t7.compile(actionsToPopoverTemplate); - } - var popoverHTML = app._compiledTemplates.actionsToPopover(params); - modal = $(app.popover(popoverHTML, target, true)); - groupSelector = '.list-block ul'; - buttonSelector = '.list-button'; - } - else { - if (app.params.modalActionsTemplate) { - if (!app._compiledTemplates.actions) app._compiledTemplates.actions = t7.compile(app.params.modalActionsTemplate); - modalHTML = app._compiledTemplates.actions(params); - } - else { - var buttonsHTML = ''; - for (var i = 0; i < params.length; i++) { - for (var j = 0; j < params[i].length; j++) { - if (j === 0) buttonsHTML += '
'; - var button = params[i][j]; - var buttonClass = button.label ? 'actions-modal-label' : 'actions-modal-button'; - if (button.bold) buttonClass += ' actions-modal-button-bold'; - if (button.color) buttonClass += ' color-' + button.color; - if (button.bg) buttonClass += ' bg-' + button.bg; - if (button.disabled) buttonClass += ' disabled'; - buttonsHTML += '
' + button.text + '
'; - if (j === params[i].length - 1) buttonsHTML += '
'; - } - } - modalHTML = '
' + buttonsHTML + '
'; - } - _modalTemplateTempDiv.innerHTML = modalHTML; - modal = $(_modalTemplateTempDiv).children(); - app.root.append(modal[0]); - groupSelector = '.actions-modal-group'; - buttonSelector = '.actions-modal-button'; - } - - var groups = modal.find(groupSelector); - groups.each(function (index, el) { - var groupIndex = index; - $(el).children().each(function (index, el) { - var buttonIndex = index; - var buttonParams = params[groupIndex][buttonIndex]; - var clickTarget; - if (!toPopover && $(el).is(buttonSelector)) clickTarget = $(el); - if (toPopover && $(el).find(buttonSelector).length > 0) clickTarget = $(el).find(buttonSelector); - - if (clickTarget) { - clickTarget.on('click', function (e) { - if (buttonParams.close !== false) app.closeModal(modal); - if (buttonParams.onClick) buttonParams.onClick(modal, e); - }); - } - }); - }); - if (!toPopover) app.openModal(modal); - return modal[0]; - }; - app.popover = function (modal, target, removeOnClose) { - if (typeof removeOnClose === 'undefined') removeOnClose = true; - if (typeof modal === 'string' && modal.indexOf('<') >= 0) { - var _modal = document.createElement('div'); - _modal.innerHTML = modal.trim(); - if (_modal.childNodes.length > 0) { - modal = _modal.childNodes[0]; - if (removeOnClose) modal.classList.add('remove-on-close'); - app.root.append(modal); - } - else return false; //nothing found - } - modal = $(modal); - target = $(target); - if (modal.length === 0 || target.length === 0) return false; - if (modal.parents('body').length === 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - if (modal.find('.popover-angle').length === 0 && !app.params.material) { - modal.append('
'); - } - modal.show(); - - var material = app.params.material; - - function sizePopover() { - modal.css({left: '', top: ''}); - var modalWidth = modal.width(); - var modalHeight = modal.height(); // 13 - height of angle - var modalAngle, modalAngleSize = 0, modalAngleLeft, modalAngleTop; - if (!material) { - modalAngle = modal.find('.popover-angle'); - modalAngleSize = modalAngle.width() / 2; - modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''}); - } - else { - modal.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom').css({left: '', top: ''}); - } - - var targetWidth = target.outerWidth(); - var targetHeight = target.outerHeight(); - var targetOffset = target.offset(); - var targetParentPage = target.parents('.page'); - if (targetParentPage.length > 0) { - targetOffset.top = targetOffset.top - targetParentPage[0].scrollTop; - } - - var windowHeight = $(window).height(); - var windowWidth = $(window).width(); - - var modalTop = 0; - var modalLeft = 0; - var diff = 0; - // Top Position - var modalPosition = material ? 'bottom' : 'top'; - if (material) { - if (modalHeight < windowHeight - targetOffset.top - targetHeight) { - // On bottom - modalPosition = 'bottom'; - modalTop = targetOffset.top; - } - else if (modalHeight < targetOffset.top) { - // On top - modalTop = targetOffset.top - modalHeight + targetHeight; - modalPosition = 'top'; - } - else { - // On middle - modalPosition = 'bottom'; - modalTop = targetOffset.top; - } - - if (modalTop <= 0) { - modalTop = 8; - } - else if (modalTop + modalHeight >= windowHeight) { - modalTop = windowHeight - modalHeight - 8; - } - - // Horizontal Position - modalLeft = targetOffset.left; - if (modalLeft + modalWidth >= windowWidth - 8) { - modalLeft = targetOffset.left + targetWidth - modalWidth - 8; - } - if (modalLeft < 8) { - modalLeft = 8; - } - if (modalPosition === 'top') { - modal.addClass('popover-on-top'); - } - if (modalPosition === 'bottom') { - modal.addClass('popover-on-bottom'); - } - if (target.hasClass('floating-button-to-popover') && !modal.hasClass('modal-in')) { - modal.addClass('popover-floating-button'); - var diffX = (modalLeft + modalWidth / 2) - (targetOffset.left + targetWidth / 2), - diffY = (modalTop + modalHeight / 2) - (targetOffset.top + targetHeight / 2); - target - .addClass('floating-button-to-popover-in') - .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0)') - .transitionEnd(function (e) { - if (!target.hasClass('floating-button-to-popover-in')) return; - target - .addClass('floating-button-to-popover-scale') - .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0) scale(' + (modalWidth/targetWidth) + ', ' + (modalHeight/targetHeight) + ')'); - }); - - modal.once('close', function () { - target - .removeClass('floating-button-to-popover-in floating-button-to-popover-scale') - .addClass('floating-button-to-popover-out') - .transform('') - .transitionEnd(function (e) { - target.removeClass('floating-button-to-popover-out'); - }); - }); - modal.once('closed', function () { - modal.removeClass('popover-floating-button'); - }); - } - - } - else { - if ((modalHeight + modalAngleSize) < targetOffset.top) { - // On top - modalTop = targetOffset.top - modalHeight - modalAngleSize; - } - else if ((modalHeight + modalAngleSize) < windowHeight - targetOffset.top - targetHeight) { - // On bottom - modalPosition = 'bottom'; - modalTop = targetOffset.top + targetHeight + modalAngleSize; - } - else { - // On middle - modalPosition = 'middle'; - modalTop = targetHeight / 2 + targetOffset.top - modalHeight / 2; - diff = modalTop; - if (modalTop <= 0) { - modalTop = 5; - } - else if (modalTop + modalHeight >= windowHeight) { - modalTop = windowHeight - modalHeight - 5; - } - diff = diff - modalTop; - } - - // Horizontal Position - if (modalPosition === 'top' || modalPosition === 'bottom') { - modalLeft = targetWidth / 2 + targetOffset.left - modalWidth / 2; - diff = modalLeft; - if (modalLeft < 5) modalLeft = 5; - if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5; - if (modalPosition === 'top') { - modalAngle.addClass('on-bottom'); - } - if (modalPosition === 'bottom') { - modalAngle.addClass('on-top'); - } - diff = diff - modalLeft; - modalAngleLeft = (modalWidth / 2 - modalAngleSize + diff); - modalAngleLeft = Math.max(Math.min(modalAngleLeft, modalWidth - modalAngleSize * 2 - 13), 13); - modalAngle.css({left: modalAngleLeft + 'px'}); - - } - else if (modalPosition === 'middle') { - modalLeft = targetOffset.left - modalWidth - modalAngleSize; - modalAngle.addClass('on-right'); - if (modalLeft < 5 || (modalLeft + modalWidth > windowWidth)) { - if (modalLeft < 5) modalLeft = targetOffset.left + targetWidth + modalAngleSize; - if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5; - modalAngle.removeClass('on-right').addClass('on-left'); - } - modalAngleTop = (modalHeight / 2 - modalAngleSize + diff); - modalAngleTop = Math.max(Math.min(modalAngleTop, modalHeight - modalAngleSize * 2 - 13), 13); - modalAngle.css({top: modalAngleTop + 'px'}); - } - } - - - // Apply Styles - modal.css({top: modalTop + 'px', left: modalLeft + 'px'}); - } - - sizePopover(); - - $(window).on('resize', sizePopover); - - modal.on('close', function () { - $(window).off('resize', sizePopover); - }); - - app.openModal(modal); - return modal[0]; - }; - app.popup = function (modal, removeOnClose) { - if (typeof removeOnClose === 'undefined') removeOnClose = true; - if (typeof modal === 'string' && modal.indexOf('<') >= 0) { - var _modal = document.createElement('div'); - _modal.innerHTML = modal.trim(); - if (_modal.childNodes.length > 0) { - modal = _modal.childNodes[0]; - if (removeOnClose) modal.classList.add('remove-on-close'); - app.root.append(modal); - } - else return false; //nothing found - } - modal = $(modal); - if (modal.length === 0) return false; - if (modal.parents('body').length === 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - modal.show(); - - app.openModal(modal); - return modal[0]; - }; - app.pickerModal = function (modal, removeOnClose) { - if (typeof removeOnClose === 'undefined') removeOnClose = true; - if (typeof modal === 'string' && modal.indexOf('<') >= 0) { - modal = $(modal); - if (modal.length > 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - else return false; //nothing found - } - modal = $(modal); - if (modal.length === 0) return false; - if (modal.parents('body').length === 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - if ($('.picker-modal.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) { - app.closeModal('.picker-modal.modal-in:not(.modal-out)'); - } - modal.show(); - app.openModal(modal); - return modal[0]; - }; - app.loginScreen = function (modal) { - if (!modal) modal = '.login-screen'; - modal = $(modal); - if (modal.length === 0) return false; - if ($('.login-screen.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) { - app.closeModal('.login-screen.modal-in:not(.modal-out)'); - } - modal.show(); - - app.openModal(modal); - return modal[0]; - }; - app.openModal = function (modal) { - modal = $(modal); - var isModal = modal.hasClass('modal'); - if ($('.modal.modal-in:not(.modal-out)').length && app.params.modalStack && isModal) { - app.modalStack.push(function () { - app.openModal(modal); - }); - return; - } - // do nothing if this modal already shown - if (true === modal.data('f7-modal-shown')) { - return; - } - modal.data('f7-modal-shown', true); - modal.once('close', function() { - modal.removeData('f7-modal-shown'); - }); - var isPopover = modal.hasClass('popover'); - var isPopup = modal.hasClass('popup'); - var isLoginScreen = modal.hasClass('login-screen'); - var isPickerModal = modal.hasClass('picker-modal'); - if (isModal) { - modal.show(); - modal.css({ - marginTop: - Math.round(modal.outerHeight() / 2) + 'px' - }); - } - - var overlay; - if (!isLoginScreen && !isPickerModal) { - if ($('.modal-overlay').length === 0 && !isPopup) { - app.root.append(''); - } - if ($('.popup-overlay').length === 0 && isPopup) { - app.root.append(''); - } - overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay'); - } - if (app.params.material && isPickerModal) { - if (modal.hasClass('picker-calendar')) { - if ($('.picker-modal-overlay').length === 0 && !isPopup) { - app.root.append('
'); - } - overlay = $('.picker-modal-overlay'); - } - } - - //Make sure that styles are applied, trigger relayout; - var clientLeft = modal[0].clientLeft; - - // Trugger open event - modal.trigger('open'); - - // Picker modal body class - if (isPickerModal) { - $('body').addClass('with-picker-modal'); - } - - // Init Pages and Navbars in modal - if (modal.find('.' + app.params.viewClass).length > 0) { - modal.find('.page').each(function () { - app.initPageWithCallback(this); - }); - modal.find('.navbar').each(function () { - app.initNavbarWithCallback(this); - }); - } - - // Classes for transition in - if (!isLoginScreen && !isPickerModal) overlay.addClass('modal-overlay-visible'); - if (app.params.material && isPickerModal && overlay) overlay.addClass('modal-overlay-visible'); - modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) { - if (modal.hasClass('modal-out')) modal.trigger('closed'); - else modal.trigger('opened'); - }); - return true; - }; - app.closeModal = function (modal) { - modal = $(modal || '.modal-in'); - if (typeof modal !== 'undefined' && modal.length === 0) { - return; - } - var isModal = modal.hasClass('modal'); - var isPopover = modal.hasClass('popover'); - var isPopup = modal.hasClass('popup'); - var isLoginScreen = modal.hasClass('login-screen'); - var isPickerModal = modal.hasClass('picker-modal'); - - var removeOnClose = modal.hasClass('remove-on-close'); - - var overlay; - - if (isPopup) overlay = $('.popup-overlay'); - else { - if (isPickerModal && app.params.material) overlay = $('.picker-modal-overlay'); - else if (!isPickerModal) overlay = $('.modal-overlay'); - } - - if (isPopup){ - if (modal.length === $('.popup.modal-in').length) { - overlay.removeClass('modal-overlay-visible'); - } - } - else if (overlay && overlay.length > 0) { - overlay.removeClass('modal-overlay-visible'); - } - - modal.trigger('close'); - - // Picker modal body class - if (isPickerModal) { - $('body').removeClass('with-picker-modal'); - $('body').addClass('picker-modal-closing'); - } - - if (!(isPopover && !app.params.material)) { - modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) { - if (modal.hasClass('modal-out')) modal.trigger('closed'); - else { - modal.trigger('opened'); - if (isPopover) return; - } - - if (isPickerModal) { - $('body').removeClass('picker-modal-closing'); - } - if (isPopup || isLoginScreen || isPickerModal || isPopover) { - modal.removeClass('modal-out').hide(); - if (removeOnClose && modal.length > 0) { - modal.remove(); - } - } - else { - modal.remove(); - } - }); - if (isModal && app.params.modalStack) { - app.modalStackClearQueue(); - } - } - else { - modal.removeClass('modal-in modal-out').trigger('closed').hide(); - if (removeOnClose) { - modal.remove(); - } - } - return true; - }; - - - /*=============================================================================== - ************ Progress Bar ************ - ===============================================================================*/ - app.setProgressbar = function (container, progress, speed) { - container = $(container || app.root); - if (container.length === 0) return; - if (progress) progress = Math.min(Math.max(progress, 0), 100); - var progressbar; - if (container.hasClass('progressbar')) progressbar = container; - else { - progressbar = container.children('.progressbar'); - } - if (progressbar.length === 0 || progressbar.hasClass('progressbar-infinite')) return; - var clientLeft = progressbar[0].clientLeft; - progressbar.children('span').transform('translate3d(' + (-100 + progress) + '%,0,0)'); - if (typeof speed !== 'undefined') { - progressbar.children('span').transition(speed); - } - else { - progressbar.children('span').transition(''); - } - return progressbar[0]; - }; - app.showProgressbar = function (container, progress, color) { - if (typeof container === 'number') { - container = app.root; - progress = arguments[0]; - color = arguments[1]; - } - if (progress && typeof progress === 'string' && parseFloat(progress) !== progress * 1) { - color = progress; - progress = undefined; - } - container = $(container || app.root); - if (container.length === 0) return; - var progressbar; - if (container.hasClass('progressbar')) progressbar = container; - else { - progressbar = container.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)'); - if (progressbar.length === 0) { - // Create one - if (typeof progress !== 'undefined') { - // Determined - progressbar = $(''); - } - else { - // Infinite - progressbar = $(''); - } - container.append(progressbar); - } - } - if (progress) app.setProgressbar(container, progress); - return progressbar[0]; - }; - app.hideProgressbar = function (container) { - container = $(container || app.root); - if (container.length === 0) return; - var progressbar; - if (container.hasClass('progressbar')) progressbar = container; - else { - progressbar = container.children('.progressbar, .progressbar-infinite'); - } - if (progressbar.length === 0 || !progressbar.hasClass('progressbar-in') || progressbar.hasClass('progressbar-out')) return; - progressbar.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () { - progressbar.remove(); - progressbar = null; - }); - return; - }; - app.initPageProgressbar = function (pageContainer) { - pageContainer = $(pageContainer); - pageContainer.find('.progressbar').each(function () { - var p = $(this); - if (p.children('span').length === 0) p.append(''); - if (p.attr('data-progress')) app.setProgressbar(p, p.attr('data-progress')); - }); - }; - - /*====================================================== - ************ Panels ************ - ======================================================*/ - app.allowPanelOpen = true; - app.openPanel = function (panelPosition) { - if (!app.allowPanelOpen) return false; - var panel = $('.panel-' + panelPosition); - if (panel.length === 0 || panel.hasClass('active')) return false; - app.closePanel(); // Close if some panel is opened - app.allowPanelOpen = false; - var effect = panel.hasClass('panel-reveal') ? 'reveal' : 'cover'; - panel.css({display: 'block'}).addClass('active'); - panel.trigger('open'); - if (app.params.material) { - $('.panel-overlay').show(); - } - if (panel.find('.' + app.params.viewClass).length > 0) { - if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]); - } - - // Trigger reLayout - var clientLeft = panel[0].clientLeft; - - // Transition End; - var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : panel; - var openedTriggered = false; - - function panelTransitionEnd() { - transitionEndTarget.transitionEnd(function (e) { - if ($(e.target).is(transitionEndTarget)) { - if (panel.hasClass('active')) { - panel.trigger('opened'); - } - else { - panel.trigger('closed'); - } - if (app.params.material) $('.panel-overlay').css({display: ''}); - app.allowPanelOpen = true; - } - else panelTransitionEnd(); - }); - } - panelTransitionEnd(); - - $('body').addClass('with-panel-' + panelPosition + '-' + effect); - return true; - }; - app.closePanel = function () { - var activePanel = $('.panel.active'); - if (activePanel.length === 0) return false; - var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover'; - var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right'; - activePanel.removeClass('active'); - var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel; - activePanel.trigger('close'); - app.allowPanelOpen = false; - - transitionEndTarget.transitionEnd(function () { - if (activePanel.hasClass('active')) return; - activePanel.css({display: ''}); - activePanel.trigger('closed'); - $('body').removeClass('panel-closing'); - app.allowPanelOpen = true; - }); - - $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect); - }; - /*====================================================== - ************ Swipe panels ************ - ======================================================*/ - app.initSwipePanels = function () { - var panel, side; - if (app.params.swipePanel) { - panel = $('.panel.panel-' + app.params.swipePanel); - side = app.params.swipePanel; - if (panel.length === 0 && side !== 'both') return; - } - else { - if (app.params.swipePanelOnlyClose) { - if ($('.panel').length === 0) return; - } - else return; - } - - var panelOverlay = $('.panel-overlay'); - var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, overlayOpacity, opened, panelWidth, effect, direction; - var views = $('.' + app.params.viewsClass); - - function handleTouchStart(e) { - if (!app.allowPanelOpen || (!app.params.swipePanel && !app.params.swipePanelOnlyClose) || isTouched) return; - if ($('.modal-in, .photo-browser-in').length > 0) return; - if (!(app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose)) { - if ($('.panel.active').length > 0 && !panel.hasClass('active')) return; - } - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - if (app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose) { - if ($('.panel.active').length > 0) { - side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right'; - } - else { - if (app.params.swipePanelOnlyClose) return; - side = app.params.swipePanel; - } - if (!side) return; - } - panel = $('.panel.panel-' + side); - opened = panel.hasClass('active'); - if (app.params.swipePanelActiveArea && !opened) { - if (side === 'left') { - if (touchesStart.x > app.params.swipePanelActiveArea) return; - } - if (side === 'right') { - if (touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) return; - } - } - isMoved = false; - isTouched = true; - isScrolling = undefined; - - touchStartTime = (new Date()).getTime(); - direction = undefined; - } - function handleTouchMove(e) { - if (!isTouched) return; - if (e.f7PreventPanelSwipe) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (isScrolling) { - isTouched = false; - return; - } - if (!direction) { - if (pageX > touchesStart.x) { - direction = 'to-right'; - } - else { - direction = 'to-left'; - } - - if(side === 'both'){ - if ($('.panel.active').length > 0) { - side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right'; - } - else { - side = direction === 'to-right' ? 'left' : 'right'; - } - panel = $('.panel.panel-' + side); - } - - if ( - side === 'left' && - ( - direction === 'to-left' && !panel.hasClass('active') - ) || - side === 'right' && - ( - direction === 'to-right' && !panel.hasClass('active') - ) - ) - { - isTouched = false; - return; - } - } - - if (app.params.swipePanelNoFollow) { - var timeDiff = (new Date()).getTime() - touchStartTime; - if (timeDiff < 300) { - if (direction === 'to-left') { - if (side === 'right') app.openPanel(side); - if (side === 'left' && panel.hasClass('active')) app.closePanel(); - } - if (direction === 'to-right') { - if (side === 'left') app.openPanel(side); - if (side === 'right' && panel.hasClass('active')) app.closePanel(); - } - } - isTouched = false; - isMoved = false; - return; - } - - if (!isMoved) { - effect = panel.hasClass('panel-cover') ? 'cover' : 'reveal'; - if (!opened) { - panel.show(); - panelOverlay.show(); - } - panelWidth = panel[0].offsetWidth; - panel.transition(0); - if (panel.find('.' + app.params.viewClass).length > 0) { - if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]); - } - } - - isMoved = true; - - e.preventDefault(); - var threshold = opened ? 0 : -app.params.swipePanelThreshold; - if (side === 'right') threshold = -threshold; - - touchesDiff = pageX - touchesStart.x + threshold; - - if (side === 'right') { - translate = touchesDiff - (opened ? panelWidth : 0); - if (translate > 0) translate = 0; - if (translate < -panelWidth) { - translate = -panelWidth; - } - } - else { - translate = touchesDiff + (opened ? panelWidth : 0); - if (translate < 0) translate = 0; - if (translate > panelWidth) { - translate = panelWidth; - } - } - if (effect === 'reveal') { - views.transform('translate3d(' + translate + 'px,0,0)').transition(0); - panelOverlay.transform('translate3d(' + translate + 'px,0,0)').transition(0); - - app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth)); - } - else { - panel.transform('translate3d(' + translate + 'px,0,0)').transition(0); - if (app.params.material) { - panelOverlay.transition(0); - overlayOpacity = Math.abs(translate/panelWidth); - panelOverlay.css({opacity: overlayOpacity}); - } - app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth)); - } - } - function handleTouchEnd(e) { - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - isTouched = false; - isMoved = false; - var timeDiff = (new Date()).getTime() - touchStartTime; - var action; - var edge = (translate === 0 || Math.abs(translate) === panelWidth); - - if (!opened) { - if (translate === 0) { - action = 'reset'; - } - else if ( - timeDiff < 300 && Math.abs(translate) > 0 || - timeDiff >= 300 && (Math.abs(translate) >= panelWidth / 2) - ) { - action = 'swap'; - } - else { - action = 'reset'; - } - } - else { - if (translate === -panelWidth) { - action = 'reset'; - } - else if ( - timeDiff < 300 && Math.abs(translate) >= 0 || - timeDiff >= 300 && (Math.abs(translate) <= panelWidth / 2) - ) { - if (side === 'left' && translate === panelWidth) action = 'reset'; - else action = 'swap'; - } - else { - action = 'reset'; - } - } - if (action === 'swap') { - app.allowPanelOpen = true; - if (opened) { - app.closePanel(); - if (edge) { - panel.css({display: ''}); - $('body').removeClass('panel-closing'); - } - } - else { - app.openPanel(side); - } - if (edge) app.allowPanelOpen = true; - } - if (action === 'reset') { - if (opened) { - app.allowPanelOpen = true; - app.openPanel(side); - } - else { - app.closePanel(); - if (edge) { - app.allowPanelOpen = true; - panel.css({display: ''}); - } - else { - var target = effect === 'reveal' ? views : panel; - panel.trigger('close'); - $('body').addClass('panel-closing'); - target.transitionEnd(function () { - panel.trigger('closed'); - panel.css({display: ''}); - $('body').removeClass('panel-closing'); - app.allowPanelOpen = true; - }); - } - } - } - if (effect === 'reveal') { - views.transition(''); - views.transform(''); - } - panel.transition('').transform(''); - panelOverlay.css({display: ''}).transform('').transition('').css('opacity', ''); - } - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - $(document).on(app.touchEvents.start, handleTouchStart, passiveListener); - $(document).on(app.touchEvents.move, handleTouchMove); - $(document).on(app.touchEvents.end, handleTouchEnd, passiveListener); - }; - - - /*====================================================== - ************ Image Lazy Loading ************ - ************ Based on solution by Marc Godard, https://github.com/MarcGodard ************ - ======================================================*/ - app.initImagesLazyLoad = function (pageContainer) { - pageContainer = $(pageContainer); - - // Lazy images - var lazyLoadImages; - if (pageContainer.hasClass('lazy')) { - lazyLoadImages = pageContainer; - pageContainer = lazyLoadImages.parents('.page'); - } - else { - lazyLoadImages = pageContainer.find('.lazy'); - } - if (lazyLoadImages.length === 0) return; - - // Scrollable page content - var pageContent; - if (pageContainer.hasClass('page-content')) { - pageContent = pageContainer; - pageContainer = pageContainer.parents('.page'); - } - else { - pageContent = pageContainer.find('.page-content'); - } - if (pageContent.length === 0) return; - - // Placeholder - var placeholderSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg=='; - if (typeof app.params.imagesLazyLoadPlaceholder === 'string') { - placeholderSrc = app.params.imagesLazyLoadPlaceholder; - } - if (app.params.imagesLazyLoadPlaceholder !== false) lazyLoadImages.each(function(){ - if ($(this).attr('data-src')) $(this).attr('src', placeholderSrc); - }); - - // load image - var imagesSequence = []; - var imageIsLoading = false; - function loadImage(el) { - el = $(el); - - var bg = el.attr('data-background'); - var src = bg ? bg : el.attr('data-src'); - if (!src) return; - - function onLoad() { - el.removeClass('lazy').addClass('lazy-loaded'); - if (bg) { - el.css('background-image', 'url(' + src + ')'); - } - else { - el.attr('src', src); - } - - if (app.params.imagesLazyLoadSequential) { - imageIsLoading = false; - if (imagesSequence.length > 0) { - loadImage(imagesSequence.shift()); - } - } - } - - if (app.params.imagesLazyLoadSequential) { - if (imageIsLoading) { - if (imagesSequence.indexOf(el[0]) < 0) imagesSequence.push(el[0]); - return; - } - } - - // Loading flag - imageIsLoading = true; - - var image = new Image(); - image.onload = onLoad; - image.onerror = onLoad; - image.src =src; - } - function lazyHandler() { - lazyLoadImages = pageContainer.find('.lazy'); - lazyLoadImages.each(function(index, el) { - el = $(el); - if (el.parents('.tab:not(.active)').length > 0) { - return; - } - if (isElementInViewport(el[0])) { - loadImage(el); - } - }); - } - - function isElementInViewport (el) { - var rect = el.getBoundingClientRect(); - var threshold = app.params.imagesLazyLoadThreshold || 0; - return ( - rect.top >= (0 - threshold) && - rect.left >= (0 - threshold) && - rect.top <= (window.innerHeight + threshold) && - rect.left <= (window.innerWidth + threshold) - ); - } - - function attachEvents(destroy) { - var method = destroy ? 'off' : 'on'; - lazyLoadImages[method]('lazy', lazyHandler); - lazyLoadImages.parents('.tab')[method]('show', lazyHandler); - pageContainer[method]('lazy', lazyHandler); - pageContent[method]('lazy', lazyHandler); - pageContent[method]('scroll', lazyHandler); - $(window)[method]('resize', lazyHandler); - } - function detachEvents() { - attachEvents(true); - } - - // Store detach function - pageContainer[0].f7DestroyImagesLazyLoad = detachEvents; - - // Attach events - attachEvents(); - - // Destroy on page remove - if (pageContainer.hasClass('page')) { - pageContainer.once('pageBeforeRemove', detachEvents); - } - - // Run loader on page load/init - lazyHandler(); - - // Run after page animation - pageContainer.once('pageAfterAnimation', lazyHandler); - }; - app.destroyImagesLazyLoad = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) { - pageContainer[0].f7DestroyImagesLazyLoad(); - } - }; - app.reinitImagesLazyLoad = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length > 0) { - pageContainer.trigger('lazy'); - } - }; - - /*====================================================== - ************ Material Preloader ************ - ======================================================*/ - app.initPageMaterialPreloader = function (pageContainer) { - $(pageContainer).find('.preloader').each(function () { - if ($(this).children().length === 0) { - $(this).html(app.params.materialPreloaderHtml); - } - }); - }; - - /*====================================================== - ************ Messages ************ - ======================================================*/ - var Messages = function (container, params) { - var defaults = { - autoLayout: true, - newMessagesFirst: false, - scrollMessages: true, - scrollMessagesOnlyOnEdge: false, - messageTemplate: - '{{#if day}}' + - '
{{day}} {{#if time}}, {{time}}{{/if}}
' + - '{{/if}}' + - '
' + - '{{#if name}}
{{name}}
{{/if}}' + - '
{{text}}{{#if date}}
{{date}}
{{/if}}
' + - '{{#if avatar}}
{{/if}}' + - '{{#if label}}
{{label}}
{{/if}}' + - '
' - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined' || params[def] === null) { - params[def] = defaults[def]; - } - } - - // Instance - var m = this; - - // Params - m.params = params; - - // Container - m.container = $(container); - if (m.container.length === 0) return; - - // Autolayout - if (m.params.autoLayout) m.container.addClass('messages-auto-layout'); - - // New messages first - if (m.params.newMessagesFirst) m.container.addClass('messages-new-first'); - - // Is In Page - m.pageContainer = m.container.parents('.page').eq(0); - m.pageContent = m.pageContainer.find('.page-content'); - - // Compiled template - m.template = Template7.compile(m.params.messageTemplate); - - // Auto Layout - m.layout = function () { - if (!m.container.hasClass('messages-auto-layout')) m.container.addClass('messages-auto-layout'); - m.container.find('.message').each(function () { - var message = $(this); - if (message.find('.message-text img').length > 0) { - var childNodes = message.find('.message-text')[0].childNodes; - var onlyPic = true; - for (var i = 0 ; i < childNodes.length; i++) { - if (childNodes[i].nodeType === 1 && childNodes[i].nodeName.toLowerCase() !== 'img') onlyPic = false; - if (childNodes[i].nodeType === 3 && childNodes[i].textContent.trim() !== '') onlyPic = false; - } - if (onlyPic) message.addClass('message-pic'); - else message.removeClass('message-pic'); - } - if (message.find('.message-avatar').length > 0) message.addClass('message-with-avatar'); - }); - m.container.find('.message').each(function () { - var message = $(this); - var isSent = message.hasClass('message-sent'); - var next = message.next('.message-' + (isSent ? 'sent' : 'received')); - var prev = message.prev('.message-' + (isSent ? 'sent' : 'received')); - if (next.length === 0) { - message.addClass('message-last message-with-tail'); - } - else message.removeClass('message-last message-with-tail'); - - if (prev.length === 0) { - message.addClass('message-first'); - } - else message.removeClass('message-first'); - - if (prev.length > 0 && prev.find('.message-name').length > 0 && message.find('.message-name').length > 0) { - if (prev.find('.message-name').text() !== message.find('.message-name').text()) { - prev.addClass('message-last message-with-tail'); - message.addClass('message-first'); - } - } - }); - }; - - // Add Message - m.appendMessage = function (props, animate) { - return m.addMessage(props, 'append', animate); - }; - m.prependMessage = function (props, animate) { - return m.addMessage(props, 'prepend', animate); - }; - m.addMessage = function (props, method, animate) { - return m.addMessages([props], method, animate); - }; - m.addMessages = function (newMessages, method, animate) { - if (typeof animate === 'undefined') { - animate = true; - } - if (typeof method === 'undefined') { - method = m.params.newMessagesFirst ? 'prepend' : 'append'; - } - var newMessagesHTML = '', i; - for (i = 0; i < newMessages.length; i++) { - var props = newMessages[i] || {}; - props.type = props.type || 'sent'; - if (!props.text) continue; - props.hasImage = props.text.indexOf('= 0; - if (props.onlyImage === false) props.hasImage = false; - if (animate) props.position = method === 'append' ? 'bottom' : 'top'; - - newMessagesHTML += m.template(props); - } - var scrollHeightBefore = m.pageContent[0].scrollHeight, - heightBefore = m.pageContent[0].offsetHeight, - scrollBefore = m.pageContent[0].scrollTop; - m.container[method](newMessagesHTML); - if (m.params.autoLayout) m.layout(); - if (method === 'prepend') { - m.pageContent[0].scrollTop = scrollBefore + (m.pageContent[0].scrollHeight - scrollHeightBefore); - } - if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) { - if (m.params.scrollMessagesOnlyOnEdge) { - var onEdge = false; - if (m.params.newMessagesFirst) { - if (scrollBefore === 0) onEdge = true; - } - else { - if (scrollBefore - (scrollHeightBefore - heightBefore) >= -10) onEdge = true; - } - if (onEdge) m.scrollMessages(animate ? undefined : 0); - } - else m.scrollMessages(animate ? undefined : 0); - } - var messages = m.container.find('.message'); - if (newMessages.length === 1) { - return method === 'append' ? messages[messages.length - 1] : messages[0]; - } - else { - var messagesToReturn = []; - if (method === 'append') { - for (i = messages.length - newMessages.length; i < messages.length; i++) { - messagesToReturn.push(messages[i]); - } - } - else { - for (i = 0; i < newMessages.length; i++) { - messagesToReturn.push(messages[i]); - } - } - return messagesToReturn; - } - - }; - m.removeMessage = function (message) { - message = $(message); - if (message.length === 0) { - return false; - } - else { - message.remove(); - if (m.params.autoLayout) m.layout(); - return true; - } - }; - m.removeMessages = function (messages) { - m.removeMessage(messages); - }; - m.clean = function () { - m.container.html(''); - }; - - // Scroll - m.scrollMessages = function (duration, scrollTop) { - if (typeof duration === 'undefined') duration = 400; - var currentScroll = m.pageContent[0].scrollTop; - var newScroll; - if (typeof scrollTop !== 'undefined') newScroll = scrollTop; - else { - newScroll = m.params.newMessagesFirst ? 0 : m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight; - if (newScroll === currentScroll) return; - } - m.pageContent.scrollTop(newScroll, duration); - }; - - // Init Destroy - m.init = function () { - if (m.params.messages) { - m.addMessages(m.params.messages, undefined, false); - } - else { - if (m.params.autoLayout) m.layout(); - m.scrollMessages(0); - } - - }; - m.destroy = function () { - m = null; - }; - - // Init - m.init(); - - m.container[0].f7Messages = m; - return m; - }; - app.messages = function (container, params) { - return new Messages (container, params); - }; - app.initPageMessages = function (pageContainer) { - pageContainer = $(pageContainer); - var messages = pageContainer.find('.messages'); - if (messages.length === 0) return; - if (!messages.hasClass('messages-init')) { - return; - } - var m = app.messages(messages, messages.dataset()); - - // Destroy on page remove - function pageBeforeRemove() { - m.destroy(); - pageContainer.off('pageBeforeRemove', pageBeforeRemove); - } - if (pageContainer.hasClass('page')) { - pageContainer.on('pageBeforeRemove', pageBeforeRemove); - } - }; - - - /*=============================================================================== - ************ Swipeout Actions (Swipe to delete) ************ - ===============================================================================*/ - app.swipeoutOpenedEl = undefined; - app.allowSwipeout = true; - app.initSwipeout = function (swipeoutEl) { - var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, swipeOutEl, swipeOutContent, actionsRight, actionsLeft, actionsLeftWidth, actionsRightWidth, translate, opened, openedActions, buttonsLeft, buttonsRight, direction, overswipeLeftButton, overswipeRightButton, overswipeLeft, overswipeRight, noFoldLeft, noFoldRight; - $(document).on(app.touchEvents.start, function (e) { - if (app.swipeoutOpenedEl) { - var target = $(e.target); - if (!( - app.swipeoutOpenedEl.is(target[0]) || - target.parents('.swipeout').is(app.swipeoutOpenedEl) || - target.hasClass('modal-in') || - target.hasClass('modal-overlay') || - target.hasClass('actions-modal') || - target.parents('.actions-modal.modal-in, .modal.modal-in').length > 0 - )) { - app.swipeoutClose(app.swipeoutOpenedEl); - } - } - }); - - function handleTouchStart(e) { - if (!app.allowSwipeout) return; - isMoved = false; - isTouched = true; - isScrolling = undefined; - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - } - function handleTouchMove(e) { - if (!isTouched) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (isScrolling) { - isTouched = false; - return; - } - - if (!isMoved) { - if ($('.list-block.sortable-opened').length > 0) return; - /*jshint validthis:true */ - swipeOutEl = $(this); - swipeOutContent = swipeOutEl.find('.swipeout-content'); - actionsRight = swipeOutEl.find('.swipeout-actions-right'); - actionsLeft = swipeOutEl.find('.swipeout-actions-left'); - actionsLeftWidth = actionsRightWidth = buttonsLeft = buttonsRight = overswipeRightButton = overswipeLeftButton = null; - noFoldLeft = actionsLeft.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - noFoldRight = actionsRight.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - if (actionsLeft.length > 0) { - actionsLeftWidth = actionsLeft.outerWidth(); - buttonsLeft = actionsLeft.children('a'); - overswipeLeftButton = actionsLeft.find('.swipeout-overswipe'); - } - if (actionsRight.length > 0) { - actionsRightWidth = actionsRight.outerWidth(); - buttonsRight = actionsRight.children('a'); - overswipeRightButton = actionsRight.find('.swipeout-overswipe'); - } - opened = swipeOutEl.hasClass('swipeout-opened'); - if (opened) { - openedActions = swipeOutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right'; - } - swipeOutEl.removeClass('transitioning'); - if (!app.params.swipeoutNoFollow) { - swipeOutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened'); - swipeOutEl.removeClass('swipeout-opened'); - } - } - isMoved = true; - e.preventDefault(); - - touchesDiff = pageX - touchesStart.x; - translate = touchesDiff; - - if (opened) { - if (openedActions === 'right') translate = translate - actionsRightWidth; - else translate = translate + actionsLeftWidth; - } - - if (translate > 0 && actionsLeft.length === 0 || translate < 0 && actionsRight.length === 0) { - if (!opened) { - isTouched = isMoved = false; - swipeOutContent.transform(''); - if (buttonsRight && buttonsRight.length > 0) { - buttonsRight.transform(''); - } - if (buttonsLeft && buttonsLeft.length > 0) { - buttonsLeft.transform(''); - } - return; - } - translate = 0; - } - - if (translate < 0) direction = 'to-left'; - else if (translate > 0) direction = 'to-right'; - else { - if (direction) direction = direction; - else direction = 'to-left'; - } - - var i, buttonOffset, progress; - - e.f7PreventPanelSwipe = true; - if (app.params.swipeoutNoFollow) { - if (opened) { - if (openedActions === 'right' && touchesDiff > 0) { - app.swipeoutClose(swipeOutEl); - } - if (openedActions === 'left' && touchesDiff < 0) { - app.swipeoutClose(swipeOutEl); - } - } - else { - if (touchesDiff < 0 && actionsRight.length > 0) { - app.swipeoutOpen(swipeOutEl, 'right'); - } - if (touchesDiff > 0 && actionsLeft.length > 0) { - app.swipeoutOpen(swipeOutEl, 'left'); - } - } - isTouched = false; - isMoved = false; - return; - } - overswipeLeft = false; - overswipeRight = false; - var $button; - if (actionsRight.length > 0) { - // Show right actions - progress = translate / actionsRightWidth; - if (translate < -actionsRightWidth) { - translate = -actionsRightWidth - Math.pow(-translate - actionsRightWidth, 0.8); - if (overswipeRightButton.length > 0) { - overswipeRight = true; - } - } - for (i = 0; i < buttonsRight.length; i++) { - if (typeof buttonsRight[i]._buttonOffset === 'undefined') { - buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft; - } - buttonOffset = buttonsRight[i]._buttonOffset; - $button = $(buttonsRight[i]); - if (overswipeRightButton.length > 0 && $button.hasClass('swipeout-overswipe')) { - $button.css({left: (overswipeRight ? -buttonOffset : 0) + 'px'}); - if (overswipeRight) { - $button.addClass('swipeout-overswipe-active'); - } - else { - $button.removeClass('swipeout-overswipe-active'); - } - } - $button.transform('translate3d(' + (translate - buttonOffset * (1 + Math.max(progress, -1))) + 'px,0,0)'); - } - } - if (actionsLeft.length > 0) { - // Show left actions - progress = translate / actionsLeftWidth; - if (translate > actionsLeftWidth) { - translate = actionsLeftWidth + Math.pow(translate - actionsLeftWidth, 0.8); - if (overswipeLeftButton.length > 0) { - overswipeLeft = true; - } - } - for (i = 0; i < buttonsLeft.length; i++) { - if (typeof buttonsLeft[i]._buttonOffset === 'undefined') { - buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth; - } - buttonOffset = buttonsLeft[i]._buttonOffset; - $button = $(buttonsLeft[i]); - if (overswipeLeftButton.length > 0 && $button.hasClass('swipeout-overswipe')) { - $button.css({left: (overswipeLeft ? buttonOffset : 0) + 'px'}); - if (overswipeLeft) { - $button.addClass('swipeout-overswipe-active'); - } - else { - $button.removeClass('swipeout-overswipe-active'); - } - } - if (buttonsLeft.length > 1) { - $button.css('z-index', buttonsLeft.length - i); - } - $button.transform('translate3d(' + (translate + buttonOffset * (1 - Math.min(progress, 1))) + 'px,0,0)'); - } - } - swipeOutContent.transform('translate3d(' + translate + 'px,0,0)'); - } - function handleTouchEnd(e) { - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - - isTouched = false; - isMoved = false; - var timeDiff = (new Date()).getTime() - touchStartTime; - var action, actionsWidth, actions, buttons, i, noFold; - - noFold = direction === 'to-left' ? noFoldRight : noFoldLeft; - actions = direction === 'to-left' ? actionsRight : actionsLeft; - actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth; - - if ( - timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') || - timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2 - ) { - action = 'open'; - } - else { - action = 'close'; - } - if (timeDiff < 300) { - if (Math.abs(translate) === 0) action = 'close'; - if (Math.abs(translate) === actionsWidth) action = 'open'; - } - - if (action === 'open') { - app.swipeoutOpenedEl = swipeOutEl; - swipeOutEl.trigger('open'); - swipeOutEl.addClass('swipeout-opened transitioning'); - var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth; - swipeOutContent.transform('translate3d(' + newTranslate + 'px,0,0)'); - actions.addClass('swipeout-actions-opened'); - buttons = direction === 'to-left' ? buttonsRight : buttonsLeft; - if (buttons) { - for (i = 0; i < buttons.length; i++) { - $(buttons[i]).transform('translate3d(' + newTranslate + 'px,0,0)'); - } - } - if (overswipeRight) { - actionsRight.find('.swipeout-overswipe')[0].click(); - } - if (overswipeLeft) { - actionsLeft.find('.swipeout-overswipe')[0].click(); - } - } - else { - swipeOutEl.trigger('close'); - app.swipeoutOpenedEl = undefined; - swipeOutEl.addClass('transitioning').removeClass('swipeout-opened'); - swipeOutContent.transform(''); - actions.removeClass('swipeout-actions-opened'); - } - - var buttonOffset; - if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) { - for (i = 0; i < buttonsLeft.length; i++) { - buttonOffset = buttonsLeft[i]._buttonOffset; - if (typeof buttonOffset === 'undefined') { - buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth; - } - $(buttonsLeft[i]).transform('translate3d(' + (buttonOffset) + 'px,0,0)'); - } - } - if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) { - for (i = 0; i < buttonsRight.length; i++) { - buttonOffset = buttonsRight[i]._buttonOffset; - if (typeof buttonOffset === 'undefined') { - buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft; - } - $(buttonsRight[i]).transform('translate3d(' + (-buttonOffset) + 'px,0,0)'); - } - } - swipeOutContent.transitionEnd(function (e) { - if (opened && action === 'open' || closed && action === 'close') return; - swipeOutEl.trigger(action === 'open' ? 'opened' : 'closed'); - if (opened && action === 'close') { - if (actionsRight.length > 0) { - buttonsRight.transform(''); - } - if (actionsLeft.length > 0) { - buttonsLeft.transform(''); - } - } - }); - } - if (swipeoutEl) { - $(swipeoutEl).on(app.touchEvents.start, handleTouchStart); - $(swipeoutEl).on(app.touchEvents.move, handleTouchMove); - $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd); - } - else { - $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart); - $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove); - $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd); - } - - }; - app.swipeoutOpen = function (el, dir, callback) { - el = $(el); - if (arguments.length === 2) { - if (typeof arguments[1] === 'function') { - callback = dir; - } - } - - if (el.length === 0) return; - if (el.length > 1) el = $(el[0]); - if (!el.hasClass('swipeout') || el.hasClass('swipeout-opened')) return; - if (!dir) { - if (el.find('.swipeout-actions-right').length > 0) dir = 'right'; - else dir = 'left'; - } - var swipeOutActions = el.find('.swipeout-actions-' + dir); - if (swipeOutActions.length === 0) return; - var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - el.trigger('open').addClass('swipeout-opened').removeClass('transitioning'); - swipeOutActions.addClass('swipeout-actions-opened'); - var buttons = swipeOutActions.children('a'); - var swipeOutActionsWidth = swipeOutActions.outerWidth(); - var translate = dir === 'right' ? -swipeOutActionsWidth : swipeOutActionsWidth; - var i; - if (buttons.length > 1) { - for (i = 0; i < buttons.length; i++) { - if (dir === 'right') { - $(buttons[i]).transform('translate3d(' + (- buttons[i].offsetLeft) + 'px,0,0)'); - } - else { - $(buttons[i]).css('z-index', buttons.length - i).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)'); - } - } - var clientLeft = buttons[1].clientLeft; - } - el.addClass('transitioning'); - for (i = 0; i < buttons.length; i++) { - $(buttons[i]).transform('translate3d(' + (translate) + 'px,0,0)'); - } - el.find('.swipeout-content').transform('translate3d(' + translate + 'px,0,0)').transitionEnd(function () { - el.trigger('opened'); - if (callback) callback.call(el[0]); - }); - app.swipeoutOpenedEl = el; - }; - app.swipeoutClose = function (el, callback) { - el = $(el); - if (el.length === 0) return; - if (!el.hasClass('swipeout-opened')) return; - var dir = el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left'; - var swipeOutActions = el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened'); - var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - var buttons = swipeOutActions.children('a'); - var swipeOutActionsWidth = swipeOutActions.outerWidth(); - app.allowSwipeout = false; - el.trigger('close'); - el.removeClass('swipeout-opened').addClass('transitioning'); - - var closeTO; - function onSwipeoutClose() { - app.allowSwipeout = true; - if (el.hasClass('swipeout-opened')) return; - el.removeClass('transitioning'); - buttons.transform(''); - el.trigger('closed'); - if (callback) callback.call(el[0]); - if (closeTO) clearTimeout(closeTO); - } - el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose); - closeTO = setTimeout(onSwipeoutClose, 500); - - for (var i = 0; i < buttons.length; i++) { - if (dir === 'right') { - $(buttons[i]).transform('translate3d(' + (-buttons[i].offsetLeft) + 'px,0,0)'); - } - else { - $(buttons[i]).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)'); - } - $(buttons[i]).css({left:0 + 'px'}).removeClass('swipeout-overswipe-active'); - } - if (app.swipeoutOpenedEl && app.swipeoutOpenedEl[0] === el[0]) app.swipeoutOpenedEl = undefined; - }; - app.swipeoutDelete = function (el, callback) { - el = $(el); - if (el.length === 0) return; - if (el.length > 1) el = $(el[0]); - app.swipeoutOpenedEl = undefined; - el.trigger('delete'); - el.css({height: el.outerHeight() + 'px'}); - var clientLeft = el[0].clientLeft; - el.css({height: 0 + 'px'}).addClass('deleting transitioning').transitionEnd(function () { - el.trigger('deleted'); - if (callback) callback.call(el[0]); - if (el.parents('.virtual-list').length > 0) { - var virtualList = el.parents('.virtual-list')[0].f7VirtualList; - var virtualIndex = el[0].f7VirtualListIndex; - if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex); - } - else { - if (app.params.swipeoutRemoveWithTimeout) { - setTimeout(function () { - el.remove(); - }, 0); - } - else el.remove(); - } - }); - var translate = '-100%'; - el.find('.swipeout-content').transform('translate3d(' + translate + ',0,0)'); - }; - - - /*=============================================================================== - ************ Sortable ************ - ===============================================================================*/ - app.sortableToggle = function (sortableContainer) { - sortableContainer = $(sortableContainer); - if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable'); - sortableContainer.toggleClass('sortable-opened'); - if (sortableContainer.hasClass('sortable-opened')) { - sortableContainer.trigger('open'); - } - else { - sortableContainer.trigger('close'); - } - return sortableContainer; - }; - app.sortableOpen = function (sortableContainer) { - sortableContainer = $(sortableContainer); - if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable'); - sortableContainer.addClass('sortable-opened'); - sortableContainer.trigger('open'); - return sortableContainer; - }; - app.sortableClose = function (sortableContainer) { - sortableContainer = $(sortableContainer); - if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable'); - sortableContainer.removeClass('sortable-opened'); - sortableContainer.trigger('close'); - return sortableContainer; - }; - app.initSortable = function () { - var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer, startIndex; - - function handleTouchStart(e) { - isMoved = false; - isTouched = true; - touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - /*jshint validthis:true */ - sortingEl = $(this).parent(); - startIndex = sortingEl.index(); - sortingItems = sortingEl.parent().find('li'); - sortableContainer = sortingEl.parents('.sortable'); - e.preventDefault(); - app.allowPanelOpen = app.allowSwipeout = false; - } - function handleTouchMove(e) { - if (!isTouched || !sortingEl) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (!isMoved) { - sortingEl.addClass('sorting'); - sortableContainer.addClass('sortable-sorting'); - minTop = sortingEl[0].offsetTop; - maxTop = sortingEl.parent().height() - sortingEl[0].offsetTop - sortingEl.height(); - sortingElHeight = sortingEl[0].offsetHeight; - } - isMoved = true; - - e.preventDefault(); - e.f7PreventPanelSwipe = true; - touchesDiff = pageY - touchStartY; - var translate = touchesDiff; - if (translate < -minTop) translate = -minTop; - if (translate > maxTop) translate = maxTop; - sortingEl.transform('translate3d(0,' + translate + 'px,0)'); - - insertBefore = insertAfter = undefined; - - sortingItems.each(function () { - var currentEl = $(this); - if (currentEl[0] === sortingEl[0]) return; - var currentElOffset = currentEl[0].offsetTop; - var currentElHeight = currentEl.height(); - var sortingElOffset = sortingEl[0].offsetTop + translate; - - if ((sortingElOffset >= currentElOffset - currentElHeight / 2) && sortingEl.index() < currentEl.index()) { - currentEl.transform('translate3d(0, '+(-sortingElHeight)+'px,0)'); - insertAfter = currentEl; - insertBefore = undefined; - } - else if ((sortingElOffset <= currentElOffset + currentElHeight / 2) && sortingEl.index() > currentEl.index()) { - currentEl.transform('translate3d(0, '+(sortingElHeight)+'px,0)'); - insertAfter = undefined; - if (!insertBefore) insertBefore = currentEl; - } - else { - $(this).transform('translate3d(0, 0%,0)'); - } - }); - } - function handleTouchEnd(e) { - app.allowPanelOpen = app.allowSwipeout = true; - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - e.preventDefault(); - sortingItems.transform(''); - sortingEl.removeClass('sorting'); - sortableContainer.removeClass('sortable-sorting'); - var virtualList, oldIndex, newIndex; - if (insertAfter) { - sortingEl.insertAfter(insertAfter); - sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()}); - } - if (insertBefore) { - sortingEl.insertBefore(insertBefore); - sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()}); - } - if ((insertAfter || insertBefore) && sortableContainer.hasClass('virtual-list')) { - virtualList = sortableContainer[0].f7VirtualList; - oldIndex = sortingEl[0].f7VirtualListIndex; - newIndex = insertBefore ? insertBefore[0].f7VirtualListIndex : insertAfter[0].f7VirtualListIndex; - if (virtualList) virtualList.moveItem(oldIndex, newIndex); - } - insertAfter = insertBefore = undefined; - isTouched = false; - isMoved = false; - } - $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart); - if (app.support.touch) { - $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove); - $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd); - } - else { - $(document).on(app.touchEvents.move, handleTouchMove); - $(document).on(app.touchEvents.end, handleTouchEnd); - } - }; - - - /*=============================================================================== - ************ Smart Select ************ - ===============================================================================*/ - app.initSmartSelects = function (pageContainer) { - pageContainer = $(pageContainer); - var selects; - if (pageContainer.is('.smart-select')) { - selects = pageContainer; - } - else { - selects = pageContainer.find('.smart-select'); - } - if (selects.length === 0) return; - - selects.each(function () { - var smartSelect = $(this); - - var $select = smartSelect.find('select'); - if ($select.length === 0) return; - - var select = $select[0]; - if (select.length === 0) return; - - var valueText = []; - for (var i = 0; i < select.length; i++) { - if (select[i].selected) valueText.push(select[i].textContent.trim()); - } - - var itemAfter = smartSelect.find('.item-after'); - if (itemAfter.length === 0) { - smartSelect.find('.item-inner').append('
' + valueText.join(', ') + '
'); - } - else { - var selectedText = itemAfter.text(); - if (itemAfter.hasClass('smart-select-value')) { - for (i = 0; i < select.length; i++) { - select[i].selected = select[i].textContent.trim() === selectedText.trim(); - } - } else { - itemAfter.text(valueText.join(', ')); - } - } - - $select.on('change', function () { - var valueText = []; - for (var i = 0; i < select.length; i++) { - if (select[i].selected) valueText.push(select[i].textContent.trim()); - } - smartSelect.find('.item-after').text(valueText.join(', ')); - }); - - }); - - }; - app.smartSelectAddOption = function (select, option, index) { - select = $(select); - var smartSelect = select.parents('.smart-select'); - if (typeof index === 'undefined') { - select.append(option); - } - else { - $(option).insertBefore(select.find('option').eq(index)); - } - app.initSmartSelects(smartSelect); - var selectName = smartSelect.find('select').attr('name'); - var opened = $('.page.smart-select-page[data-select-name="' + selectName + '"]').length > 0; - if (opened) { - app.smartSelectOpen(smartSelect, true); - } - }; - app.smartSelectOpen = function (smartSelect, reLayout) { - smartSelect = $(smartSelect); - if (smartSelect.length === 0) return; - - // Find related view - var view = smartSelect.parents('.' + app.params.viewClass); - if (view.length === 0) return; - view = view[0].f7View; - - // Parameters - var openIn = smartSelect.attr('data-open-in') || app.params.smartSelectOpenIn; - if (openIn === 'popup') { - if ($('.popup.smart-select-popup').length > 0) return; - } - else if (openIn === 'picker') { - if ($('.picker-modal.modal-in').length > 0 && !reLayout){ - if (smartSelect[0].f7SmartSelectPicker !== $('.picker-modal.modal-in:not(.modal-out)')[0]) app.closeModal($('.picker-modal.modal-in:not(.modal-out)')); - else return; - } - } - else { - if (!view) return; - } - - var smartSelectData = smartSelect.dataset(); - var pageTitle = smartSelectData.pageTitle || smartSelect.find('.item-title').text(); - var backText = smartSelectData.backText || app.params.smartSelectBackText; - var closeText; - if (openIn === 'picker') { - closeText = smartSelectData.pickerCloseText || smartSelectData.backText || app.params.smartSelectPickerCloseText ; - } - else { - closeText = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ; - } - var backOnSelect = smartSelectData.backOnSelect !== undefined ? smartSelectData.backOnSelect : app.params.smartSelectBackOnSelect; - var formTheme = smartSelectData.formTheme || app.params.smartSelectFormTheme; - var navbarTheme = smartSelectData.navbarTheme || app.params.smartSelectNavbarTheme; - var toolbarTheme = smartSelectData.toolbarTheme || app.params.smartSelectToolbarTheme; - var virtualList = smartSelectData.virtualList; - var virtualListHeight = smartSelectData.virtualListHeight; - var material = app.params.material; - var pickerHeight = smartSelectData.pickerHeight || app.params.smartSelectPickerHeight; - - // Collect all options/values - var select = smartSelect.find('select')[0]; - var $select = $(select); - var $selectData = $select.dataset(); - if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) { - return; - } - var values = []; - var id = (new Date()).getTime(); - var inputType = select.multiple ? 'checkbox' : 'radio'; - var inputName = inputType + '-' + id; - var maxLength = $select.attr('maxlength'); - var selectName = select.name; - var option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionIsLabel, previousGroup, optionColor, optionClassName, optionData; - for (var i = 0; i < select.length; i++) { - option = $(select[i]); - optionData = option.dataset(); - optionImage = optionData.optionImage || $selectData.optionImage || smartSelectData.optionImage; - optionIcon = optionData.optionIcon || $selectData.optionIcon || smartSelectData.optionIcon; - optionHasMedia = optionImage || optionIcon || inputType === 'checkbox'; - if (material) optionHasMedia = optionImage || optionIcon; - optionColor = optionData.optionColor; - optionClassName = optionData.optionClass; - if (option[0].disabled) optionClassName += ' disabled'; - optionGroup = option.parent('optgroup')[0]; - optionGroupLabel = optionGroup && optionGroup.label; - optionIsLabel = false; - if (optionGroup) { - if (optionGroup !== previousGroup) { - optionIsLabel = true; - previousGroup = optionGroup; - values.push({ - groupLabel: optionGroupLabel, - isLabel: optionIsLabel - }); - } - } - values.push({ - value: option[0].value, - text: option[0].textContent.trim(), - selected: option[0].selected, - group: optionGroup, - groupLabel: optionGroupLabel, - image: optionImage, - icon: optionIcon, - color: optionColor, - className: optionClassName, - disabled: option[0].disabled, - inputType: inputType, - id: id, - hasMedia: optionHasMedia, - checkbox: inputType === 'checkbox', - inputName: inputName, - material: app.params.material - }); - } - - - // Item template/HTML - if (!app._compiledTemplates.smartSelectItem) { - app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate || - '{{#if isLabel}}' + - '
  • {{groupLabel}}
  • ' + - '{{else}}' + - '' + - '' + - '' + - '{{/if}}' - ); - } - var smartSelectItemTemplate = app._compiledTemplates.smartSelectItem; - - var inputsHTML = ''; - if (!virtualList) { - for (var j = 0; j < values.length; j++) { - inputsHTML += smartSelectItemTemplate(values[j]); - } - } - - // Toolbar / Navbar - var toolbarHTML = '', navbarHTML; - var noNavbar = '', noToolbar = '', noTabbar = '', navbarLayout; - - if (openIn === 'picker') { - if (!app._compiledTemplates.smartSelectToolbar) { - app._compiledTemplates.smartSelectToolbar = t7.compile(app.params.smartSelectToolbarTemplate || - '
    ' + - '
    ' + - '
    ' + - '' + - '
    ' + - '
    ' - ); - } - - toolbarHTML = app._compiledTemplates.smartSelectToolbar({ - pageTitle: pageTitle, - closeText: closeText, - openIn: openIn, - toolbarTheme: toolbarTheme, - inPicker: openIn === 'picker' - }); - } - else { - // Navbar HTML - if (!app._compiledTemplates.smartSelectNavbar) { - app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate || - '' - ); - } - navbarHTML = app._compiledTemplates.smartSelectNavbar({ - pageTitle: pageTitle, - backText: backText, - closeText: closeText, - openIn: openIn, - navbarTheme: navbarTheme, - inPopup: openIn === 'popup', - inPage: openIn === 'page', - leftTemplate: openIn === 'popup' ? - (app.params.smartSelectPopupCloseTemplate || (material ? '
    ' : '')).replace(/{{closeText}}/g, closeText) : - (app.params.smartSelectBackTemplate || (material ? '
    ' : '')).replace(/{{backText}}/g, backText) - }); - // Determine navbar layout type - static/fixed/through - if (openIn === 'page') { - navbarLayout = 'static'; - if (smartSelect.parents('.navbar-through').length > 0) navbarLayout = 'through'; - if (smartSelect.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed'; - noToolbar = smartSelect.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : ''; - noNavbar = smartSelect.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout; - noTabbar = smartSelect.parents('.page').hasClass('no-tabbar') ? 'no-tabbar' : ''; - } - else { - navbarLayout = 'fixed'; - } - } - - - // Page Layout - var pageName = 'smart-select-' + inputName; - - var useSearchbar = typeof smartSelect.data('searchbar') === 'undefined' ? app.params.smartSelectSearchbar : (smartSelect.data('searchbar') === 'true' ? true : false); - var searchbarPlaceholder, searchbarCancel; - - if (useSearchbar) { - searchbarPlaceholder = smartSelect.data('searchbar-placeholder') || 'Search'; - searchbarCancel = smartSelect.data('searchbar-cancel') || 'Cancel'; - } - - var searchbarHTML = '' + - '
    '; - - var pageHTML = - (openIn !== 'picker' && navbarLayout === 'through' ? navbarHTML : '') + - '
    ' + - '
    ' + - (openIn !== 'picker' && navbarLayout === 'fixed' ? navbarHTML : '') + - (useSearchbar ? searchbarHTML : '') + - '
    ' + - (openIn !== 'picker' && navbarLayout === 'static' ? navbarHTML : '') + - '
    ' + - '
      ' + - (virtualList ? '' : inputsHTML) + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '
    '; - - // Define popup and picker - var popup, picker; - - // Scroll SS Picker To Input - function scrollToInput() { - var pageContent = smartSelect.parents('.page-content'); - if (pageContent.length === 0) return; - var paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-bottom'), 10), - pageHeight = pageContent[0].offsetHeight - paddingTop - picker.height(), - pageScrollHeight = pageContent[0].scrollHeight - paddingTop - picker.height(), - newPaddingBottom; - var inputTop = smartSelect.offset().top - paddingTop + smartSelect[0].offsetHeight; - if (inputTop > pageHeight) { - var scrollTop = pageContent.scrollTop() + inputTop - pageHeight; - if (scrollTop + pageHeight > pageScrollHeight) { - newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom; - if (pageHeight === pageScrollHeight) { - newPaddingBottom = picker.height(); - } - pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'}); - } - pageContent.scrollTop(scrollTop, 300); - } - } - // Close SS Picker on HTML Click - function closeOnHTMLClick(e) { - var close = true; - if (e.target === smartSelect[0] || $(e.target).parents(smartSelect[0]).length > 0) { - close = false; - } - if ($(e.target).parents('.picker-modal').length > 0) { - close = false; - } - if (close) { - app.closeModal('.smart-select-picker.modal-in'); - } - } - - // Check max length - function checkMaxLength(container) { - if (select.selectedOptions.length >= maxLength) { - container.find('input[type="checkbox"]').each(function () { - if (!this.checked) { - $(this).parents('li').addClass('disabled'); - } - else { - $(this).parents('li').removeClass('disabled'); - } - }); - } - else { - container.find('.disabled').removeClass('disabled'); - } - } - // Event Listeners on new page - function handleInputs(container) { - container = $(container); - if (virtualList) { - var virtualListInstance = app.virtualList(container.find('.virtual-list'), { - items: values, - template: smartSelectItemTemplate, - height: virtualListHeight || undefined, - searchByItem: function (query, index, item) { - if (item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true; - return false; - } - }); - container.once(openIn === 'popup' || openIn === 'picker' ? 'closed': 'pageBeforeRemove', function () { - if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy(); - }); - } - if (maxLength) { - checkMaxLength(container); - } - if (backOnSelect) { - container.find('input[type="radio"][name="' + inputName + '"]:checked').parents('label').once('click', function () { - if (openIn === 'popup') app.closeModal(popup); - else if (openIn === 'picker') app.closeModal(picker); - else view.router.back(); - }); - } - container.on('change', 'input[name="' + inputName + '"]', function () { - var input = this; - var value = input.value; - var optionText = []; - if (input.type === 'checkbox') { - var values = []; - for (var i = 0; i < select.options.length; i++) { - var option = select.options[i]; - if (option.value === value) { - option.selected = input.checked; - } - if (option.selected) { - optionText.push(option.textContent.trim()); - } - } - if (maxLength) { - checkMaxLength(container); - } - } - else { - optionText = [smartSelect.find('option[value="' + value + '"]').text()]; - select.value = value; - } - - $select.trigger('change'); - smartSelect.find('.item-after').text(optionText.join(', ')); - if (backOnSelect && inputType === 'radio') { - if (openIn === 'popup') app.closeModal(popup); - else if (openIn === 'picker') app.closeModal(picker); - else view.router.back(); - } - }); - } - function pageInit(e) { - var page = e.detail.page; - if (page.name === pageName) { - handleInputs(page.container); - } - } - if (openIn === 'popup') { - if (reLayout) { - popup = $('.popup.smart-select-popup .view'); - popup.html(pageHTML); - } - else { - popup = app.popup( - '' - ); - popup = $(popup); - } - app.initPage(popup.find('.page')); - handleInputs(popup); - } - else if (openIn === 'picker') { - if (reLayout) { - picker = $('.picker-modal.smart-select-picker .view'); - picker.html(pageHTML); - } - else { - picker = app.pickerModal( - '
    ' + - toolbarHTML + - '
    ' + - '
    ' + - pageHTML + - '
    ' + - '
    ' + - '
    ' - ); - picker = $(picker); - - // Scroll To Input - scrollToInput(); - - // Close On Click - $('html').on('click', closeOnHTMLClick); - - // On Close - picker.once('close', function () { - // Reset linked picker - smartSelect[0].f7SmartSelectPicker = undefined; - - // Detach html click - $('html').off('click', closeOnHTMLClick); - - // Restore page padding bottom - smartSelect.parents('.page-content').css({paddingBottom: ''}); - }); - - // Link Picker - smartSelect[0].f7SmartSelectPicker = picker[0]; - } - - // Init Page - app.initPage(picker.find('.page')); - - // Attach events - handleInputs(picker); - } - else { - $(document).once('pageInit', '.smart-select-page', pageInit); - view.router.load({ - content: pageHTML, - reload: reLayout ? true : undefined - }); - } - }; - - - /*=============================================================================== - ************ Virtual List ************ - ===============================================================================*/ - var VirtualList = function (listBlock, params) { - var defaults = { - cols: 1, - height: app.params.material ? 48 : 44, - cache: true, - dynamicHeightBufferSize: 1, - showFilteredItemsOnly: false - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - - // Preparation - var vl = this; - vl.listBlock = $(listBlock); - vl.params = params; - vl.items = vl.params.items; - if (vl.params.showFilteredItemsOnly) { - vl.filteredItems = []; - } - if (vl.params.template) { - if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template); - else if (typeof vl.params.template === 'function') vl.template = vl.params.template; - } - vl.pageContent = vl.listBlock.parents('.page-content'); - - // Bad scroll - var updatableScroll; - if (typeof vl.params.updatableScroll !== 'undefined') { - updatableScroll = vl.params.updatableScroll; - } - else { - updatableScroll = true; - if (app.device.ios && app.device.osVersion.split('.')[0] < 8) { - updatableScroll = false; - } - } - - // Append
      - vl.ul = vl.params.ul ? $(vl.params.ul) : vl.listBlock.children('ul'); - if (vl.ul.length === 0) { - vl.listBlock.append('
        '); - vl.ul = vl.listBlock.children('ul'); - } - - // DOM cached items - vl.domCache = {}; - vl.displayDomCache = {}; - - // Temporary DOM Element - vl.tempDomElement = document.createElement('ul'); - - // Last repain position - vl.lastRepaintY = null; - - // Fragment - vl.fragment = document.createDocumentFragment(); - - // Filter - vl.filterItems = function (indexes, resetScrollTop) { - vl.filteredItems = []; - var firstIndex = indexes[0]; - var lastIndex = indexes[indexes.length - 1]; - for (var i = 0; i < indexes.length; i++) { - vl.filteredItems.push(vl.items[indexes[i]]); - } - if (typeof resetScrollTop === 'undefined') resetScrollTop = true; - if (resetScrollTop) { - vl.pageContent[0].scrollTop = 0; - } - vl.update(); - }; - vl.resetFilter = function () { - if (vl.params.showFilteredItemsOnly) { - vl.filteredItems = []; - } - else { - vl.filteredItems = null; - delete vl.filteredItems; - } - vl.update(); - }; - - var pageHeight, rowsPerScreen, rowsBefore, rowsAfter, rowsToRender, maxBufferHeight = 0, listHeight; - var dynamicHeight = typeof vl.params.height === 'function'; - - // Set list size - vl.setListSize = function () { - var items = vl.filteredItems || vl.items; - pageHeight = vl.pageContent[0].offsetHeight; - if (dynamicHeight) { - listHeight = 0; - vl.heights = []; - for (var i = 0; i < items.length; i++) { - var itemHeight = vl.params.height(items[i]); - listHeight += itemHeight; - vl.heights.push(itemHeight); - } - } - else { - listHeight = Math.ceil(items.length / vl.params.cols) * vl.params.height; - rowsPerScreen = Math.ceil(pageHeight / vl.params.height); - rowsBefore = vl.params.rowsBefore || rowsPerScreen * 2; - rowsAfter = vl.params.rowsAfter || rowsPerScreen; - rowsToRender = (rowsPerScreen + rowsBefore + rowsAfter); - maxBufferHeight = rowsBefore / 2 * vl.params.height; - } - - if (updatableScroll) { - vl.ul.css({height: listHeight + 'px'}); - } - }; - - // Render items - vl.render = function (force, forceScrollTop) { - if (force) vl.lastRepaintY = null; - - var scrollTop = -(vl.listBlock[0].getBoundingClientRect().top - vl.pageContent[0].getBoundingClientRect().top); - - if (typeof forceScrollTop !== 'undefined') scrollTop = forceScrollTop; - - if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > maxBufferHeight || (!updatableScroll && (vl.pageContent[0].scrollTop + pageHeight >= vl.pageContent[0].scrollHeight))) { - vl.lastRepaintY = scrollTop; - } - else { - return; - } - - var items = vl.filteredItems || vl.items, - fromIndex, toIndex, heightBeforeFirstItem = 0, heightBeforeLastItem = 0; - if (dynamicHeight) { - var itemTop = 0, j, itemHeight; - maxBufferHeight = pageHeight; - - for (j = 0; j < vl.heights.length; j++) { - itemHeight = vl.heights[j]; - if (typeof fromIndex === 'undefined') { - if (itemTop + itemHeight >= scrollTop - pageHeight * 2 * vl.params.dynamicHeightBufferSize) fromIndex = j; - else heightBeforeFirstItem += itemHeight; - } - - if (typeof toIndex === 'undefined') { - if (itemTop + itemHeight >= scrollTop + pageHeight * 2 * vl.params.dynamicHeightBufferSize || j === vl.heights.length - 1) toIndex = j + 1; - heightBeforeLastItem += itemHeight; - } - itemTop += itemHeight; - } - toIndex = Math.min(toIndex, items.length); - } - else { - fromIndex = (parseInt(scrollTop / vl.params.height) - rowsBefore) * vl.params.cols; - if (fromIndex < 0) { - fromIndex = 0; - } - toIndex = Math.min(fromIndex + rowsToRender * vl.params.cols, items.length); - } - - var topPosition; - vl.reachEnd = false; - for (var i = fromIndex; i < toIndex; i++) { - var item, index; - // Define real item index - index = vl.items.indexOf(items[i]); - - if (i === fromIndex) vl.currentFromIndex = index; - if (i === toIndex - 1) vl.currentToIndex = index; - if (index === vl.items.length - 1) vl.reachEnd = true; - - // Find items - if (vl.domCache[index]) { - item = vl.domCache[index]; - } - else { - if (vl.template) { - vl.tempDomElement.innerHTML = vl.template(items[i], {index: index}).trim(); - } - else if (vl.params.renderItem) { - vl.tempDomElement.innerHTML = vl.params.renderItem(index, items[i]).trim(); - } - else { - vl.tempDomElement.innerHTML = items[i].trim(); - } - item = vl.tempDomElement.childNodes[0]; - if (vl.params.cache) vl.domCache[index] = item; - } - item.f7VirtualListIndex = index; - - // Set item top position - if (i === fromIndex) { - if (dynamicHeight) { - topPosition = heightBeforeFirstItem; - } - else { - topPosition = (i * vl.params.height / vl.params.cols); - } - } - item.style.top = topPosition + 'px'; - - // Before item insert - if (vl.params.onItemBeforeInsert) vl.params.onItemBeforeInsert(vl, item); - - // Append item to fragment - vl.fragment.appendChild(item); - - - } - - // Update list height with not updatable scroll - if (!updatableScroll) { - if (dynamicHeight) { - vl.ul[0].style.height = heightBeforeLastItem + 'px'; - } - else { - vl.ul[0].style.height = i * vl.params.height / vl.params.cols + 'px'; - } - } - - - // Update list html - if (vl.params.onBeforeClear) vl.params.onBeforeClear(vl, vl.fragment); - vl.ul[0].innerHTML = ''; - - if (vl.params.onItemsBeforeInsert) vl.params.onItemsBeforeInsert(vl, vl.fragment); - vl.ul[0].appendChild(vl.fragment); - if (vl.params.onItemsAfterInsert) vl.params.onItemsAfterInsert(vl, vl.fragment); - - if (typeof forceScrollTop !== 'undefined' && force) { - vl.pageContent.scrollTop(forceScrollTop, 0); - } - }; - - vl.scrollToItem = function (index) { - if (index > vl.items.length) return false; - - var itemTop = 0, listTop; - if (dynamicHeight) { - for (var i = 0; i < index; i++) { - itemTop += vl.heights[i]; - } - } - else { - itemTop = index * vl.params.height; - } - listTop = vl.listBlock[0].offsetTop; - vl.render(true, listTop + itemTop - parseInt(vl.pageContent.css('padding-top'), 10)); - return true; - }; - - // Handle scroll event - vl.handleScroll = function (e) { - vl.render(); - }; - // Handle resize event - vl._isVisible = function (el) { - return !!( el.offsetWidth || el.offsetHeight || el.getClientRects().length ); - }; - vl.handleResize = function (e) { - if (vl._isVisible(vl.listBlock[0])) { - vl.setListSize(); - vl.render(true); - } - }; - - vl.attachEvents = function (detach) { - var action = detach ? 'off' : 'on'; - vl.pageContent[action]('scroll', vl.handleScroll); - vl.listBlock.parents('.tab').eq(0)[action]('show', vl.handleResize); - $(window)[action]('resize', vl.handleResize); - }; - - // Init Virtual List - vl.init = function () { - vl.attachEvents(); - vl.setListSize(); - vl.render(); - }; - - // Append - vl.appendItems = function (items) { - for (var i = 0; i < items.length; i++) { - vl.items.push(items[i]); - } - vl.update(); - }; - vl.appendItem = function (item) { - vl.appendItems([item]); - }; - // Replace - vl.replaceAllItems = function (items) { - vl.items = items; - delete vl.filteredItems; - vl.domCache = {}; - vl.update(); - }; - vl.replaceItem = function (index, item) { - vl.items[index] = item; - if (vl.params.cache) delete vl.domCache[index]; - vl.update(); - }; - // Prepend - vl.prependItems = function (items) { - for (var i = items.length - 1; i >= 0; i--) { - vl.items.unshift(items[i]); - } - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached]; - } - vl.domCache = newCache; - } - vl.update(); - }; - vl.prependItem = function (item) { - vl.prependItems([item]); - }; - - // Move - vl.moveItem = function (oldIndex, newIndex) { - if (oldIndex === newIndex) return; - // remove item from array - var item = vl.items.splice(oldIndex, 1)[0]; - if (newIndex >= vl.items.length) { - // Add item to the end - vl.items.push(item); - newIndex = vl.items.length - 1; - } - else { - // Add item to new index - vl.items.splice(newIndex, 0, item); - } - // Update cache - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - var cachedIndex = parseInt(cached, 10); - var leftIndex = oldIndex < newIndex ? oldIndex : newIndex; - var rightIndex = oldIndex < newIndex ? newIndex : oldIndex; - var indexShift = oldIndex < newIndex ? -1 : 1; - if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex]; - if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex]; - if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex]; - } - vl.domCache = newCache; - } - vl.update(); - }; - // Insert before - vl.insertItemBefore = function (index, item) { - if (index === 0) { - vl.prependItem(item); - return; - } - if (index >= vl.items.length) { - vl.appendItem(item); - return; - } - vl.items.splice(index, 0, item); - // Update cache - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - var cachedIndex = parseInt(cached, 10); - if (cachedIndex >= index) { - newCache[cachedIndex + 1] = vl.domCache[cachedIndex]; - } - } - vl.domCache = newCache; - } - vl.update(); - }; - // Delete - vl.deleteItems = function (indexes) { - var prevIndex, indexShift = 0; - for (var i = 0; i < indexes.length; i++) { - var index = indexes[i]; - if (typeof prevIndex !== 'undefined') { - if (index > prevIndex) { - indexShift = -i; - } - } - index = index + indexShift; - prevIndex = indexes[i]; - // Delete item - var deletedItem = vl.items.splice(index, 1)[0]; - - // Delete from filtered - if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) { - vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1); - } - // Update cache - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - var cachedIndex = parseInt(cached, 10); - if (cachedIndex === index) { - delete vl.domCache[index]; - } - else if (parseInt(cached, 10) > index) { - newCache[cachedIndex - 1] = vl.domCache[cached]; - } - else { - newCache[cachedIndex] = vl.domCache[cached]; - } - } - vl.domCache = newCache; - } - } - vl.update(); - }; - vl.deleteAllItems = function () { - vl.items = []; - delete vl.filteredItems; - if (vl.params.cache) vl.domCache = {}; - vl.update(); - }; - vl.deleteItem = function (index) { - vl.deleteItems([index]); - }; - - // Clear cache - vl.clearCache = function () { - vl.domCache = {}; - }; - - // Update Virtual List - vl.update = function () { - vl.setListSize(); - vl.render(true); - }; - - // Destroy - vl.destroy = function () { - vl.attachEvents(true); - delete vl.items; - delete vl.domCache; - }; - - // Init Virtual List - vl.init(); - - // Store vl in container - vl.listBlock[0].f7VirtualList = vl; - return vl; - }; - - // App Method - app.virtualList = function (listBlock, params) { - return new VirtualList(listBlock, params); - }; - - app.reinitVirtualList = function (pageContainer) { - var page = $(pageContainer); - var vlists = page.find('.virtual-list'); - if (vlists.length === 0) return; - for (var i = 0; i < vlists.length; i++) { - var vlistInstance = vlists[i].f7VirtualList; - if (vlistInstance) { - vlistInstance.update(); - } - } - }; - - /*====================================================== - ************ Pull To Refresh ************ - ======================================================*/ - app.initPullToRefresh = function (pageContainer) { - var eventsTarget = $(pageContainer); - if (!eventsTarget.hasClass('pull-to-refresh-content')) { - eventsTarget = eventsTarget.find('.pull-to-refresh-content'); - } - if (!eventsTarget || eventsTarget.length === 0) return; - - var touchId, isTouched, isMoved, touchesStart = {}, isScrolling, touchesDiff, touchStartTime, container, refresh = false, useTranslate = false, startTranslate = 0, translate, scrollTop, wasScrolled, layer, triggerDistance, dynamicTriggerDistance, pullStarted; - var page = eventsTarget.hasClass('page') ? eventsTarget : eventsTarget.parents('.page'); - var hasNavbar = false; - if (page.find('.navbar').length > 0 || page.parents('.navbar-fixed, .navbar-through').length > 0 || page.hasClass('navbar-fixed') || page.hasClass('navbar-through')) hasNavbar = true; - if (page.hasClass('no-navbar')) hasNavbar = false; - if (!hasNavbar) eventsTarget.addClass('pull-to-refresh-no-navbar'); - - container = eventsTarget; - - // Define trigger distance - if (container.attr('data-ptr-distance')) { - dynamicTriggerDistance = true; - } - else { - triggerDistance = 44; - } - - function handleTouchStart(e) { - if (isTouched) { - if (app.device.os === 'android') { - if ('targetTouches' in e && e.targetTouches.length > 1) return; - } - else return; - } - - /*jshint validthis:true */ - container = $(this); - if (container.hasClass('refreshing')) { - return; - } - - isMoved = false; - pullStarted = false; - isTouched = true; - isScrolling = undefined; - wasScrolled = undefined; - if (e.type === 'touchstart') touchId = e.targetTouches[0].identifier; - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - - } - - function handleTouchMove(e) { - if (!isTouched) return; - var pageX, pageY, touch; - if (e.type === 'touchmove') { - if (touchId && e.touches) { - for (var i = 0; i < e.touches.length; i++) { - if (e.touches[i].identifier === touchId) { - touch = e.touches[i]; - } - } - } - if (!touch) touch = e.targetTouches[0]; - pageX = touch.pageX; - pageY = touch.pageY; - } - else { - pageX = e.pageX; - pageY = e.pageY; - } - if (!pageX || !pageY) return; - - - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (!isScrolling) { - isTouched = false; - return; - } - - scrollTop = container[0].scrollTop; - if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true; - - if (!isMoved) { - /*jshint validthis:true */ - container.removeClass('transitioning'); - if (scrollTop > container[0].offsetHeight) { - isTouched = false; - return; - } - if (dynamicTriggerDistance) { - triggerDistance = container.attr('data-ptr-distance'); - if (triggerDistance.indexOf('%') >= 0) triggerDistance = container[0].offsetHeight * parseInt(triggerDistance, 10) / 100; - } - startTranslate = container.hasClass('refreshing') ? triggerDistance : 0; - if (container[0].scrollHeight === container[0].offsetHeight || app.device.os !== 'ios') { - useTranslate = true; - } - else { - useTranslate = false; - } - } - isMoved = true; - touchesDiff = pageY - touchesStart.y; - - if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) { - // iOS 8 fix - if (app.device.os === 'ios' && parseInt(app.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true; - - if (useTranslate) { - e.preventDefault(); - translate = (Math.pow(touchesDiff, 0.85) + startTranslate); - container.transform('translate3d(0,' + translate + 'px,0)'); - } - if ((useTranslate && Math.pow(touchesDiff, 0.85) > triggerDistance) || (!useTranslate && touchesDiff >= triggerDistance * 2)) { - refresh = true; - container.addClass('pull-up').removeClass('pull-down'); - } - else { - refresh = false; - container.removeClass('pull-up').addClass('pull-down'); - } - if (!pullStarted) { - container.trigger('pullstart'); - pullStarted = true; - } - container.trigger('pullmove', { - event: e, - scrollTop: scrollTop, - translate: translate, - touchesDiff: touchesDiff - }); - } - else { - pullStarted = false; - container.removeClass('pull-up pull-down'); - refresh = false; - return; - } - } - function handleTouchEnd(e) { - if (e.type === 'touchend' && e.changedTouches && e.changedTouches.length > 0 && touchId) { - if (e.changedTouches[0].identifier !== touchId) return; - } - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - if (translate) { - container.addClass('transitioning'); - translate = 0; - } - container.transform(''); - if (refresh) { - container.addClass('refreshing'); - container.trigger('refresh', { - done: function () { - app.pullToRefreshDone(container); - } - }); - } - else { - container.removeClass('pull-down'); - } - isTouched = false; - isMoved = false; - if (pullStarted) container.trigger('pullend'); - } - - // Attach Events - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - eventsTarget.on(app.touchEvents.start, handleTouchStart, passiveListener); - eventsTarget.on(app.touchEvents.move, handleTouchMove); - eventsTarget.on(app.touchEvents.end, handleTouchEnd, passiveListener); - - // Detach Events on page remove - if (page.length === 0) return; - function destroyPullToRefresh() { - eventsTarget.off(app.touchEvents.start, handleTouchStart); - eventsTarget.off(app.touchEvents.move, handleTouchMove); - eventsTarget.off(app.touchEvents.end, handleTouchEnd); - } - eventsTarget[0].f7DestroyPullToRefresh = destroyPullToRefresh; - function detachEvents() { - destroyPullToRefresh(); - page.off('pageBeforeRemove', detachEvents); - } - page.on('pageBeforeRemove', detachEvents); - - }; - - app.pullToRefreshDone = function (container) { - container = $(container); - if (container.length === 0) container = $('.pull-to-refresh-content.refreshing'); - container.removeClass('refreshing').addClass('transitioning'); - container.transitionEnd(function () { - container.removeClass('transitioning pull-up pull-down'); - container.trigger('refreshdone'); - }); - }; - app.pullToRefreshTrigger = function (container) { - container = $(container); - if (container.length === 0) container = $('.pull-to-refresh-content'); - if (container.hasClass('refreshing')) return; - container.addClass('transitioning refreshing'); - container.trigger('refresh', { - done: function () { - app.pullToRefreshDone(container); - } - }); - }; - - app.destroyPullToRefresh = function (pageContainer) { - pageContainer = $(pageContainer); - var pullToRefreshContent = pageContainer.hasClass('pull-to-refresh-content') ? pageContainer : pageContainer.find('.pull-to-refresh-content'); - if (pullToRefreshContent.length === 0) return; - if (pullToRefreshContent[0].f7DestroyPullToRefresh) pullToRefreshContent[0].f7DestroyPullToRefresh(); - }; - - - /* =============================================================================== - ************ Infinite Scroll ************ - =============================================================================== */ - function handleInfiniteScroll() { - /*jshint validthis:true */ - var inf = $(this); - var scrollTop = inf[0].scrollTop; - var scrollHeight = inf[0].scrollHeight; - var height = inf[0].offsetHeight; - var distance = inf[0].getAttribute('data-distance'); - var virtualListContainer = inf.find('.virtual-list'); - var virtualList; - var onTop = inf.hasClass('infinite-scroll-top'); - if (!distance) distance = 50; - if (typeof distance === 'string' && distance.indexOf('%') >= 0) { - distance = parseInt(distance, 10) / 100 * height; - } - if (distance > height) distance = height; - if (onTop) { - if (scrollTop < distance) { - inf.trigger('infinite'); - } - } - else { - if (scrollTop + height >= scrollHeight - distance) { - if (virtualListContainer.length > 0) { - virtualList = virtualListContainer[0].f7VirtualList; - if (virtualList && !virtualList.reachEnd) return; - } - inf.trigger('infinite'); - } - } - - } - app.attachInfiniteScroll = function (infiniteContent) { - $(infiniteContent).on('scroll', handleInfiniteScroll); - }; - app.detachInfiniteScroll = function (infiniteContent) { - $(infiniteContent).off('scroll', handleInfiniteScroll); - }; - - app.initPageInfiniteScroll = function (pageContainer) { - pageContainer = $(pageContainer); - var infiniteContent = pageContainer.find('.infinite-scroll'); - if (infiniteContent.length === 0) return; - app.attachInfiniteScroll(infiniteContent); - function detachEvents() { - app.detachInfiniteScroll(infiniteContent); - pageContainer.off('pageBeforeRemove', detachEvents); - } - pageContainer.on('pageBeforeRemove', detachEvents); - }; - - /*============================================================= - ************ Hide/show Toolbar/Navbar on scroll ************ - =============================================================*/ - app.initPageScrollToolbars = function (pageContainer) { - pageContainer = $(pageContainer); - var scrollContent = pageContainer.find('.page-content'); - if (scrollContent.length === 0) return; - var hideNavbar = (app.params.hideNavbarOnPageScroll || scrollContent.hasClass('hide-navbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-navbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll')); - var hideToolbar = (app.params.hideToolbarOnPageScroll || scrollContent.hasClass('hide-toolbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-toolbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll')); - var hideTabbar = (app.params.hideTabbarOnPageScroll || scrollContent.hasClass('hide-tabbar-on-scroll')) && !(scrollContent.hasClass('keep-tabbar-on-scroll')); - - if (!(hideNavbar || hideToolbar || hideTabbar)) return; - - var viewContainer = scrollContent.parents('.' + app.params.viewClass); - if (viewContainer.length === 0) return; - - var navbar = viewContainer.find('.navbar'), - toolbar = viewContainer.find('.toolbar'), - tabbar; - if (hideTabbar) { - tabbar = viewContainer.find('.tabbar'); - if (tabbar.length === 0) tabbar = viewContainer.parents('.' + app.params.viewsClass).find('.tabbar'); - } - - var hasNavbar = navbar.length > 0, - hasToolbar = toolbar.length > 0, - hasTabbar = tabbar && tabbar.length > 0; - - var previousScroll, currentScroll; - previousScroll = currentScroll = scrollContent[0].scrollTop; - - var scrollHeight, offsetHeight, reachEnd, action, navbarHidden, toolbarHidden, tabbarHidden; - - var toolbarHeight = (hasToolbar && hideToolbar) ? toolbar[0].offsetHeight : 0; - var tabbarHeight = (hasTabbar && hideTabbar) ? tabbar[0].offsetHeight : 0; - var bottomBarHeight = tabbarHeight || toolbarHeight; - - function handleScroll(e) { - if (pageContainer.hasClass('page-on-left')) return; - currentScroll = scrollContent[0].scrollTop; - scrollHeight = scrollContent[0].scrollHeight; - offsetHeight = scrollContent[0].offsetHeight; - reachEnd = currentScroll + offsetHeight >= scrollHeight - bottomBarHeight; - navbarHidden = navbar.hasClass('navbar-hidden'); - toolbarHidden = toolbar.hasClass('toolbar-hidden'); - tabbarHidden = tabbar && tabbar.hasClass('toolbar-hidden'); - - if (reachEnd) { - if (app.params.showBarsOnPageScrollEnd) { - action = 'show'; - } - } - else if (previousScroll > currentScroll) { - if (app.params.showBarsOnPageScrollTop || currentScroll <= 44) { - action = 'show'; - } - else { - action = 'hide'; - } - } - else { - if (currentScroll > 44) { - action = 'hide'; - } - else { - action = 'show'; - } - } - - if (action === 'show') { - if (hasNavbar && hideNavbar && navbarHidden) { - app.showNavbar(navbar); - pageContainer.removeClass('no-navbar-by-scroll'); - navbarHidden = false; - } - if (hasToolbar && hideToolbar && toolbarHidden) { - app.showToolbar(toolbar); - pageContainer.removeClass('no-toolbar-by-scroll'); - toolbarHidden = false; - } - if (hasTabbar && hideTabbar && tabbarHidden) { - app.showToolbar(tabbar); - pageContainer.removeClass('no-tabbar-by-scroll'); - tabbarHidden = false; - } - } - else { - if (hasNavbar && hideNavbar && !navbarHidden) { - app.hideNavbar(navbar); - pageContainer.addClass('no-navbar-by-scroll'); - navbarHidden = true; - } - if (hasToolbar && hideToolbar && !toolbarHidden) { - app.hideToolbar(toolbar); - pageContainer.addClass('no-toolbar-by-scroll'); - toolbarHidden = true; - } - if (hasTabbar && hideTabbar && !tabbarHidden) { - app.hideToolbar(tabbar); - pageContainer.addClass('no-tabbar-by-scroll'); - tabbarHidden = true; - } - } - - previousScroll = currentScroll; - } - scrollContent.on('scroll', handleScroll); - scrollContent[0].f7ScrollToolbarsHandler = handleScroll; - }; - app.destroyScrollToolbars = function (pageContainer) { - pageContainer = $(pageContainer); - var scrollContent = pageContainer.find('.page-content'); - if (scrollContent.length === 0) return; - var handler = scrollContent[0].f7ScrollToolbarsHandler; - if (!handler) return; - scrollContent.off('scroll', scrollContent[0].f7ScrollToolbarsHandler); - }; - - /*====================================================== - ************ Material Tabbar ************ - ======================================================*/ - app.materialTabbarSetHighlight = function (tabbar, activeLink) { - tabbar = $(tabbar); - activeLink = activeLink || tabbar.find('.tab-link.active'); - - var tabLinkWidth, highlightTranslate; - if (tabbar.hasClass('tabbar-scrollable')) { - tabLinkWidth = activeLink[0].offsetWidth + 'px'; - highlightTranslate = (app.rtl ? - activeLink[0].offsetLeft: activeLink[0].offsetLeft) + 'px'; - } - else { - tabLinkWidth = 1 / tabbar.find('.tab-link').length * 100 + '%'; - highlightTranslate = (app.rtl ? - activeLink.index(): activeLink.index()) * 100 + '%'; - } - - tabbar.find('.tab-link-highlight') - .css({width: tabLinkWidth}) - .transform('translate3d(' + highlightTranslate + ',0,0)'); - }; - app.initPageMaterialTabbar = function (pageContainer) { - pageContainer = $(pageContainer); - var tabbar = $(pageContainer).find('.tabbar'); - - function tabbarSetHighlight() { - app.materialTabbarSetHighlight(tabbar); - } - if (tabbar.length > 0) { - if (tabbar.find('.tab-link-highlight').length === 0) { - tabbar.find('.toolbar-inner').append(''); - } - - tabbarSetHighlight(); - $(window).on('resize', tabbarSetHighlight); - pageContainer.once('pageBeforeRemove', function () { - $(window).off('resize', tabbarSetHighlight); - }); - } - }; - - /* =============================================================================== - ************ Tabs ************ - =============================================================================== */ - app.showTab = function (tab, tabLink, force) { - var newTab = $(tab); - if (arguments.length === 2) { - if (typeof tabLink === 'boolean') { - force = tabLink; - } - } - if (newTab.length === 0) return false; - if (newTab.hasClass('active')) { - if (force) newTab.trigger('show'); - return false; - } - var tabs = newTab.parent('.tabs'); - if (tabs.length === 0) return false; - - // Return swipeouts in hidden tabs - app.allowSwipeout = true; - - // Animated tabs - var isAnimatedTabs = tabs.parent().hasClass('tabs-animated-wrap'); - if (isAnimatedTabs) { - var tabTranslate = (app.rtl ? newTab.index() : -newTab.index()) * 100; - tabs.transform('translate3d(' + tabTranslate + '%,0,0)'); - } - - // Swipeable tabs - var isSwipeableTabs = tabs.parent().hasClass('tabs-swipeable-wrap'), swiper; - if (isSwipeableTabs) { - swiper = tabs.parent()[0].swiper; - if (swiper.activeIndex !== newTab.index()) swiper.slideTo(newTab.index(), undefined, false); - } - - // Remove active class from old tabs - var oldTab = tabs.children('.tab.active').removeClass('active').trigger('hide'); - // Add active class to new tab - newTab.addClass('active'); - // Trigger 'show' event on new tab - newTab.trigger('show'); - - // Update navbars in new tab - if (!isAnimatedTabs && !isSwipeableTabs && newTab.find('.navbar').length > 0) { - // Find tab's view - var viewContainer; - if (newTab.hasClass(app.params.viewClass)) viewContainer = newTab[0]; - else viewContainer = newTab.parents('.' + app.params.viewClass)[0]; - app.sizeNavbars(viewContainer); - } - - // Find related link for new tab - if (tabLink) tabLink = $(tabLink); - else { - // Search by id - if (typeof tab === 'string') tabLink = $('.tab-link[href="' + tab + '"]'); - else tabLink = $('.tab-link[href="#' + newTab.attr('id') + '"]'); - // Search by data-tab - if (!tabLink || tabLink && tabLink.length === 0) { - $('[data-tab]').each(function () { - if (newTab.is($(this).attr('data-tab'))) tabLink = $(this); - }); - } - } - if (tabLink.length === 0) return; - - // Find related link for old tab - var oldTabLink; - if (oldTab && oldTab.length > 0) { - // Search by id - var oldTabId = oldTab.attr('id'); - if (oldTabId) oldTabLink = $('.tab-link[href="#' + oldTabId + '"]'); - // Search by data-tab - if (!oldTabLink || oldTabLink && oldTabLink.length === 0) { - $('[data-tab]').each(function () { - if (oldTab.is($(this).attr('data-tab'))) oldTabLink = $(this); - }); - } - } - - // Update links' classes - if (tabLink && tabLink.length > 0) { - tabLink.addClass('active'); - // Material Highlight - if (app.params.material) { - var tabbar = tabLink.parents('.tabbar'); - if (tabbar.length > 0) { - if (tabbar.find('.tab-link-highlight').length === 0) { - tabbar.find('.toolbar-inner').append(''); - } - app.materialTabbarSetHighlight(tabbar, tabLink); - } - } - } - if (oldTabLink && oldTabLink.length > 0) oldTabLink.removeClass('active'); - - return true; - }; - - /*=============================================================================== - ************ Accordion ************ - ===============================================================================*/ - app.accordionToggle = function (item) { - item = $(item); - if (item.length === 0) return; - if (item.hasClass('accordion-item-expanded')) app.accordionClose(item); - else app.accordionOpen(item); - }; - app.accordionOpen = function (item) { - item = $(item); - var list = item.parents('.accordion-list').eq(0); - var content = item.children('.accordion-item-content'); - if (content.length === 0) content = item.find('.accordion-item-content'); - var expandedItem = list.length > 0 && item.parent().children('.accordion-item-expanded'); - if (expandedItem.length > 0) { - app.accordionClose(expandedItem); - } - content.css('height', content[0].scrollHeight + 'px').transitionEnd(function () { - if (item.hasClass('accordion-item-expanded')) { - content.transition(0); - content.css('height', 'auto'); - var clientLeft = content[0].clientLeft; - content.transition(''); - item.trigger('opened'); - } - else { - content.css('height', ''); - item.trigger('closed'); - } - }); - item.trigger('open'); - item.addClass('accordion-item-expanded'); - }; - app.accordionClose = function (item) { - item = $(item); - var content = item.children('.accordion-item-content'); - if (content.length === 0) content = item.find('.accordion-item-content'); - item.removeClass('accordion-item-expanded'); - content.transition(0); - content.css('height', content[0].scrollHeight + 'px'); - // Relayout - var clientLeft = content[0].clientLeft; - // Close - content.transition(''); - content.css('height', '').transitionEnd(function () { - if (item.hasClass('accordion-item-expanded')) { - content.transition(0); - content.css('height', 'auto'); - var clientLeft = content[0].clientLeft; - content.transition(''); - item.trigger('opened'); - } - else { - content.css('height', ''); - item.trigger('closed'); - } - }); - item.trigger('close'); - }; - - /*=============================================================================== - ************ Fast Clicks ************ - ************ Inspired by https://github.com/ftlabs/fastclick ************ - ===============================================================================*/ - app.initFastClicks = function () { - if (app.params.activeState) { - $('html').addClass('watch-active-state'); - } - if (app.device.ios && app.device.webView) { - // Strange hack required for iOS 8 webview to work on inputs - window.addEventListener('touchstart', function () {}); - } - - var touchStartX, touchStartY, touchStartTime, targetElement, trackClick, activeSelection, scrollParent, lastClickTime, isMoved, tapHoldFired, tapHoldTimeout; - var activableElement, activeTimeout, needsFastClick, needsFastClickTimeOut; - var rippleWave, rippleTarget, rippleTransform, rippleTimeout; - function findActivableElement(el) { - var target = $(el); - var parents = target.parents(app.params.activeStateElements); - var activable; - if (target.is(app.params.activeStateElements)) { - activable = target; - } - if (parents.length > 0) { - activable = activable ? activable.add(parents) : parents; - } - return activable ? activable : target; - } - function isInsideScrollableView(el) { - var pageContent = el.parents('.page-content, .panel'); - - if (pageContent.length === 0) { - return false; - } - - // This event handler covers the "tap to stop scrolling". - if (pageContent.prop('scrollHandlerSet') !== 'yes') { - pageContent.on('scroll', function() { - clearTimeout(activeTimeout); - clearTimeout(rippleTimeout); - }); - pageContent.prop('scrollHandlerSet', 'yes'); - } - - return true; - } - function addActive() { - if (!activableElement) return; - activableElement.addClass('active-state'); - } - function removeActive(el) { - if (!activableElement) return; - activableElement.removeClass('active-state'); - activableElement = null; - } - function isFormElement(el) { - var nodes = ('input select textarea label').split(' '); - if (el.nodeName && nodes.indexOf(el.nodeName.toLowerCase()) >= 0) return true; - return false; - } - function androidNeedsBlur(el) { - var noBlur = ('button input textarea select').split(' '); - if (document.activeElement && el !== document.activeElement && document.activeElement !== document.body) { - if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) { - return false; - } - else { - return true; - } - } - else { - return false; - } - } - function targetNeedsFastClick(el) { - var $el = $(el); - if (el.nodeName.toLowerCase() === 'input' && el.type === 'file') return false; - if (el.nodeName.toLowerCase() === 'select' && app.device.android) return false; - if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false; - if (app.params.fastClicksExclude && $el.is(app.params.fastClicksExclude)) return false; - return true; - } - function targetNeedsFocus(el) { - if (document.activeElement === el) { - return false; - } - var tag = el.nodeName.toLowerCase(); - var skipInputs = ('button checkbox file image radio submit').split(' '); - if (el.disabled || el.readOnly) return false; - if (tag === 'textarea') return true; - if (tag === 'select') { - if (app.device.android) return false; - else return true; - } - if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true; - } - function targetNeedsPrevent(el) { - el = $(el); - var prevent = true; - if (el.is('label') || el.parents('label').length > 0) { - if (app.device.android) { - prevent = false; - } - else if (app.device.ios && el.is('input')) { - prevent = true; - } - else prevent = false; - } - return prevent; - } - - // Mouse Handlers - function handleMouseDown (e) { - findActivableElement(e.target).addClass('active-state'); - if ('which' in e && e.which === 3) { - setTimeout(function () { - $('.active-state').removeClass('active-state'); - }, 0); - } - if (app.params.material && app.params.materialRipple) { - touchStartX = e.pageX; - touchStartY = e.pageY; - rippleTouchStart(e.target, e.pageX, e.pageY); - } - } - function handleMouseMove (e) { - $('.active-state').removeClass('active-state'); - if (app.params.material && app.params.materialRipple) { - rippleTouchMove(); - } - } - function handleMouseUp (e) { - $('.active-state').removeClass('active-state'); - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - } - - // Material Touch Ripple Effect - function findRippleElement(el) { - var needsRipple = app.params.materialRippleElements; - var $el = $(el); - if ($el.is(needsRipple)) { - if ($el.hasClass('no-ripple')) { - return false; - } - return $el; - } - else if ($el.parents(needsRipple).length > 0) { - var rippleParent = $el.parents(needsRipple).eq(0); - if (rippleParent.hasClass('no-ripple')) { - return false; - } - return rippleParent; - } - else return false; - } - function createRipple(x, y, el) { - var box = el[0].getBoundingClientRect(); - var center = { - x: x - box.left, - y: y - box.top - }, - height = box.height, - width = box.width; - var diameter = Math.max(Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48); - - rippleWave = $( - '
        ' - ); - el.prepend(rippleWave); - var clientLeft = rippleWave[0].clientLeft; - rippleTransform = 'translate3d('+(-center.x + width/2)+'px, '+(-center.y + height/2)+'px, 0) scale(1)'; - rippleWave.transform(rippleTransform); - } - - function removeRipple() { - if (!rippleWave) return; - var toRemove = rippleWave; - - var removeTimeout = setTimeout(function () { - toRemove.remove(); - }, 400); - - rippleWave - .addClass('ripple-wave-fill') - .transform(rippleTransform.replace('scale(1)', 'scale(1.01)')) - .transitionEnd(function () { - clearTimeout(removeTimeout); - - var rippleWave = $(this) - .addClass('ripple-wave-out') - .transform(rippleTransform.replace('scale(1)', 'scale(1.01)')); - - removeTimeout = setTimeout(function () { - rippleWave.remove(); - }, 700); - - setTimeout(function () { - rippleWave.transitionEnd(function(){ - clearTimeout(removeTimeout); - $(this).remove(); - }); - }, 0); - }); - - rippleWave = rippleTarget = undefined; - } - - function rippleTouchStart (el, x, y) { - rippleTarget = findRippleElement(el); - if (!rippleTarget || rippleTarget.length === 0) { - rippleTarget = undefined; - return; - } - if (!isInsideScrollableView(rippleTarget)) { - createRipple(touchStartX, touchStartY, rippleTarget); - } - else { - rippleTimeout = setTimeout(function () { - createRipple(touchStartX, touchStartY, rippleTarget); - }, 80); - } - } - function rippleTouchMove() { - clearTimeout(rippleTimeout); - removeRipple(); - } - function rippleTouchEnd() { - if (rippleWave) { - removeRipple(); - } - else if (rippleTarget && !isMoved) { - clearTimeout(rippleTimeout); - createRipple(touchStartX, touchStartY, rippleTarget); - setTimeout(removeRipple, 0); - } - else { - removeRipple(); - } - } - - // Send Click - function sendClick(e) { - var touch = e.changedTouches[0]; - var evt = document.createEvent('MouseEvents'); - var eventType = 'click'; - if (app.device.android && targetElement.nodeName.toLowerCase() === 'select') { - eventType = 'mousedown'; - } - evt.initMouseEvent(eventType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); - evt.forwardedTouchEvent = true; - targetElement.dispatchEvent(evt); - } - - // Touch Handlers - function handleTouchStart(e) { - isMoved = false; - tapHoldFired = false; - if (e.targetTouches.length > 1) { - if (activableElement) removeActive(); - return true; - } - if (e.touches.length > 1 && activableElement) { - removeActive(); - } - if (app.params.tapHold) { - if (tapHoldTimeout) clearTimeout(tapHoldTimeout); - tapHoldTimeout = setTimeout(function () { - if (e && e.touches && e.touches.length > 1) return; - tapHoldFired = true; - e.preventDefault(); - $(e.target).trigger('taphold'); - }, app.params.tapHoldDelay); - } - if (needsFastClickTimeOut) clearTimeout(needsFastClickTimeOut); - needsFastClick = targetNeedsFastClick(e.target); - - if (!needsFastClick) { - trackClick = false; - return true; - } - if (app.device.ios || (app.device.android && 'getSelection' in window)) { - var selection = window.getSelection(); - if (selection.rangeCount && selection.focusNode !== document.body && (!selection.isCollapsed || document.activeElement === selection.focusNode)) { - activeSelection = true; - return true; - } - else { - activeSelection = false; - } - } - if (app.device.android) { - if (androidNeedsBlur(e.target)) { - document.activeElement.blur(); - } - } - - trackClick = true; - targetElement = e.target; - touchStartTime = (new Date()).getTime(); - touchStartX = e.targetTouches[0].pageX; - touchStartY = e.targetTouches[0].pageY; - - // Detect scroll parent - if (app.device.ios) { - scrollParent = undefined; - $(targetElement).parents().each(function () { - var parent = this; - if (parent.scrollHeight > parent.offsetHeight && !scrollParent) { - scrollParent = parent; - scrollParent.f7ScrollTop = scrollParent.scrollTop; - } - }); - } - if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) { - e.preventDefault(); - } - - if (app.params.activeState) { - activableElement = findActivableElement(targetElement); - // If it's inside a scrollable view, we don't trigger active-state yet, - // because it can be a scroll instead. Based on the link: - // http://labnote.beedesk.com/click-scroll-and-pseudo-active-on-mobile-webk - if (!isInsideScrollableView(activableElement)) { - addActive(); - } else { - activeTimeout = setTimeout(addActive, 80); - } - } - if (app.params.material && app.params.materialRipple) { - rippleTouchStart(targetElement, touchStartX, touchStartY); - } - } - function handleTouchMove(e) { - if (!trackClick) return; - var _isMoved = false; - var distance = app.params.fastClicksDistanceThreshold; - if (distance) { - var pageX = e.targetTouches[0].pageX; - var pageY = e.targetTouches[0].pageY; - if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) { - _isMoved = true; - } - } - else { - _isMoved = true; - } - if (_isMoved) { - trackClick = false; - targetElement = null; - isMoved = true; - if (app.params.tapHold) { - clearTimeout(tapHoldTimeout); - } - if (app.params.activeState) { - clearTimeout(activeTimeout); - removeActive(); - } - if (app.params.material && app.params.materialRipple) { - rippleTouchMove(); - } - } - } - function handleTouchEnd(e) { - clearTimeout(activeTimeout); - clearTimeout(tapHoldTimeout); - - if (!trackClick) { - if (!activeSelection && needsFastClick) { - if (!(app.device.android && !e.cancelable)) { - e.preventDefault(); - } - } - return true; - } - - if (document.activeElement === e.target) { - if (app.params.activeState) removeActive(); - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - return true; - } - - if (!activeSelection) { - e.preventDefault(); - } - - if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) { - setTimeout(removeActive, 0); - return true; - } - - lastClickTime = e.timeStamp; - - trackClick = false; - - if (app.device.ios && scrollParent) { - if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) { - return false; - } - } - - // Add active-state here because, in a very fast tap, the timeout didn't - // have the chance to execute. Removing active-state in a timeout gives - // the chance to the animation execute. - if (app.params.activeState) { - addActive(); - setTimeout(removeActive, 0); - } - // Remove Ripple - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - - // Trigger focus when required - if (targetNeedsFocus(targetElement)) { - if (app.device.ios && app.device.webView) { - if ((event.timeStamp - touchStartTime) > 159) { - targetElement = null; - return false; - } - targetElement.focus(); - return false; - } - else { - targetElement.focus(); - } - } - - // Blur active elements - if (document.activeElement && targetElement !== document.activeElement && document.activeElement !== document.body && targetElement.nodeName.toLowerCase() !== 'label') { - document.activeElement.blur(); - } - - // Send click - e.preventDefault(); - sendClick(e); - return false; - } - function handleTouchCancel(e) { - trackClick = false; - targetElement = null; - - // Remove Active State - clearTimeout(activeTimeout); - clearTimeout(tapHoldTimeout); - if (app.params.activeState) { - removeActive(); - } - - // Remove Ripple - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - } - - function handleClick(e) { - var allowClick = false; - - if (trackClick) { - targetElement = null; - trackClick = false; - return true; - } - if (e.target.type === 'submit' && e.detail === 0) { - return true; - } - if (!targetElement) { - if (!isFormElement(e.target)) { - allowClick = true; - } - } - if (!needsFastClick) { - allowClick = true; - } - if (document.activeElement === targetElement) { - allowClick = true; - } - if (e.forwardedTouchEvent) { - allowClick = true; - } - if (!e.cancelable) { - allowClick = true; - } - if (app.params.tapHold && app.params.tapHoldPreventClicks && tapHoldFired) { - allowClick = false; - } - if (!allowClick) { - e.stopImmediatePropagation(); - e.stopPropagation(); - if (targetElement) { - if (targetNeedsPrevent(targetElement) || isMoved) { - e.preventDefault(); - } - } - else { - e.preventDefault(); - } - targetElement = null; - } - needsFastClickTimeOut = setTimeout(function () { - needsFastClick = false; - }, (app.device.ios || app.device.androidChrome ? 100 : 400)); - - if (app.params.tapHold) { - tapHoldTimeout = setTimeout(function () { - tapHoldFired = false; - }, (app.device.ios || app.device.androidChrome ? 100 : 400)); - } - - return allowClick; - } - if (app.support.touch) { - document.addEventListener('click', handleClick, true); - - document.addEventListener('touchstart', handleTouchStart); - document.addEventListener('touchmove', handleTouchMove); - document.addEventListener('touchend', handleTouchEnd); - document.addEventListener('touchcancel', handleTouchCancel); - } - else { - if (app.params.activeState) { - document.addEventListener('mousedown', handleMouseDown); - document.addEventListener('mousemove', handleMouseMove); - document.addEventListener('mouseup', handleMouseUp); - } - } - if (app.params.material && app.params.materialRipple) { - document.addEventListener('contextmenu', function (e) { - if (activableElement) removeActive(); - rippleTouchEnd(); - }); - } - - }; - - - /*=============================================================================== - ************ Handle clicks and make them fast (on tap); ************ - ===============================================================================*/ - app.initClickEvents = function () { - function handleScrollTop(e) { - /*jshint validthis:true */ - var clicked = $(this); - var target = $(e.target); - var isLink = clicked[0].nodeName.toLowerCase() === 'a' || - clicked.parents('a').length > 0 || - target[0].nodeName.toLowerCase() === 'a' || - target.parents('a').length > 0; - - if (isLink) return; - var pageContent, page; - if (app.params.scrollTopOnNavbarClick && clicked.is('.navbar .center')) { - // Find active page - var navbar = clicked.parents('.navbar'); - - // Static Layout - pageContent = navbar.parents('.page-content'); - - if (pageContent.length === 0) { - // Fixed Layout - if (navbar.parents('.page').length > 0) { - pageContent = navbar.parents('.page').find('.page-content'); - } - // Through Layout - if (pageContent.length === 0) { - if (navbar.nextAll('.pages').length > 0) { - pageContent = navbar.nextAll('.pages').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - } - } - } - if (app.params.scrollTopOnStatusbarClick && clicked.is('.statusbar-overlay')) { - if ($('.popup.modal-in').length > 0) { - // Check for opened popup - pageContent = $('.popup.modal-in').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - else if ($('.panel.active').length > 0) { - // Check for opened panel - pageContent = $('.panel.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - else if ($('.views > .view.active').length > 0) { - // View in tab bar app layout - pageContent = $('.views > .view.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - else { - // Usual case - pageContent = $('.views').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - } - - if (pageContent && pageContent.length > 0) { - // Check for tab - if (pageContent.hasClass('tab')) { - pageContent = pageContent.parent('.tabs').children('.page-content.active'); - } - if (pageContent.length > 0) pageContent.scrollTop(0, 300); - } - } - function handleClicks(e) { - /*jshint validthis:true */ - var clicked = $(this); - var url = clicked.attr('href'); - var isLink = clicked[0].nodeName.toLowerCase() === 'a'; - - // Check if link is external - if (isLink) { - if (clicked.is(app.params.externalLinks) || (url && url.indexOf('javascript:') >= 0)) { - if(url && clicked.attr('target') === '_system') { - e.preventDefault(); - window.open(url, '_system'); - } - return; - } - } - - // Collect Clicked data- attributes - var clickedData = clicked.dataset(); - - // Smart Select - if (clicked.hasClass('smart-select')) { - if (app.smartSelectOpen) app.smartSelectOpen(clicked); - } - - // Open Panel - if (clicked.hasClass('open-panel')) { - if ($('.panel').length === 1) { - if ($('.panel').hasClass('panel-left')) app.openPanel('left'); - else app.openPanel('right'); - } - else { - if (clickedData.panel === 'right') app.openPanel('right'); - else app.openPanel('left'); - } - } - // Close Panel - if (clicked.hasClass('close-panel')) { - app.closePanel(); - } - - if (clicked.hasClass('panel-overlay') && app.params.panelsCloseByOutside) { - app.closePanel(); - } - // Popover - if (clicked.hasClass('open-popover')) { - var popover; - if (clickedData.popover) { - popover = clickedData.popover; - } - else popover = '.popover'; - app.popover(popover, clicked); - } - if (clicked.hasClass('close-popover')) { - app.closeModal('.popover.modal-in'); - } - // Popup - var popup; - if (clicked.hasClass('open-popup')) { - if (clickedData.popup) { - popup = clickedData.popup; - } - else popup = '.popup'; - app.popup(popup); - } - if (clicked.hasClass('close-popup')) { - if (clickedData.popup) { - popup = clickedData.popup; - } - else popup = '.popup.modal-in'; - app.closeModal(popup); - } - // Login Screen - var loginScreen; - if (clicked.hasClass('open-login-screen')) { - if (clickedData.loginScreen) { - loginScreen = clickedData.loginScreen; - } - else loginScreen = '.login-screen'; - app.loginScreen(loginScreen); - } - if (clicked.hasClass('close-login-screen')) { - app.closeModal('.login-screen.modal-in'); - } - // Close Modal - if (clicked.hasClass('modal-overlay')) { - if ($('.modal.modal-in').length > 0 && app.params.modalCloseByOutside) - app.closeModal('.modal.modal-in'); - if ($('.actions-modal.modal-in').length > 0 && app.params.actionsCloseByOutside) - app.closeModal('.actions-modal.modal-in'); - - if ($('.popover.modal-in').length > 0) app.closeModal('.popover.modal-in'); - } - if (clicked.hasClass('popup-overlay')) { - if ($('.popup.modal-in').length > 0 && app.params.popupCloseByOutside) - app.closeModal('.popup.modal-in'); - } - if (clicked.hasClass('picker-modal-overlay')) { - if ($('.picker-modal.modal-in').length > 0) - app.closeModal('.picker-modal.modal-in'); - } - - // Picker - if (clicked.hasClass('close-picker')) { - var pickerToClose = $('.picker-modal.modal-in'); - if (pickerToClose.length > 0) { - app.closeModal(pickerToClose); - } - else { - pickerToClose = $('.popover.modal-in .picker-modal'); - if (pickerToClose.length > 0) { - app.closeModal(pickerToClose.parents('.popover')); - } - } - } - if (clicked.hasClass('open-picker')) { - var pickerToOpen; - if (clickedData.picker) { - pickerToOpen = clickedData.picker; - } - else pickerToOpen = '.picker-modal'; - app.pickerModal(pickerToOpen, clicked); - } - - // Tabs - var isTabLink; - if (clicked.hasClass('tab-link')) { - isTabLink = true; - app.showTab(clickedData.tab || clicked.attr('href'), clicked); - } - // Swipeout Close - if (clicked.hasClass('swipeout-close')) { - app.swipeoutClose(clicked.parents('.swipeout-opened')); - } - // Swipeout Delete - if (clicked.hasClass('swipeout-delete')) { - if (clickedData.confirm) { - var text = clickedData.confirm; - var title = clickedData.confirmTitle; - if (title) { - app.confirm(text, title, function () { - app.swipeoutDelete(clicked.parents('.swipeout')); - }, function () { - if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout')); - }); - } - else { - app.confirm(text, function () { - app.swipeoutDelete(clicked.parents('.swipeout')); - }, function () { - if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout')); - }); - } - } - else { - app.swipeoutDelete(clicked.parents('.swipeout')); - } - - } - // Sortable - if (clicked.hasClass('toggle-sortable')) { - app.sortableToggle(clickedData.sortable); - } - if (clicked.hasClass('open-sortable')) { - app.sortableOpen(clickedData.sortable); - } - if (clicked.hasClass('close-sortable')) { - app.sortableClose(clickedData.sortable); - } - // Accordion - if (clicked.hasClass('accordion-item-toggle') || (clicked.hasClass('item-link') && clicked.parent().hasClass('accordion-item'))) { - var accordionItem = clicked.parent('.accordion-item'); - if (accordionItem.length === 0) accordionItem = clicked.parents('.accordion-item'); - if (accordionItem.length === 0) accordionItem = clicked.parents('li'); - app.accordionToggle(accordionItem); - } - - // Speed Dial - if (clicked.hasClass('floating-button') && clicked.parent().hasClass('speed-dial')) { - clicked.parent().toggleClass('speed-dial-opened'); - } - if (clicked.hasClass('close-speed-dial')) { - $('.speed-dial-opened').removeClass('speed-dial-opened'); - } - - // Load Page - if (app.params.ajaxLinks && !clicked.is(app.params.ajaxLinks) || !isLink || !app.params.router) { - return; - } - if (isLink) { - e.preventDefault(); - } - - var validUrl = url && url.length > 0 && url !== '#' && !isTabLink; - var template = clickedData.template; - if (validUrl || clicked.hasClass('back') || template) { - var view; - if (clickedData.view) { - view = $(clickedData.view)[0].f7View; - } - else { - view = clicked.parents('.' + app.params.viewClass)[0] && clicked.parents('.' + app.params.viewClass)[0].f7View; - if (view && view.params.linksView) { - if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View; - else if (view.params.linksView instanceof View) view = view.params.linksView; - } - } - if (!view) { - if (app.mainView) view = app.mainView; - } - if (!view) return; - - var pageName; - if (!template) { - if (url && url.indexOf('#') === 0 && url !== '#') { - if (view.params.domCache) { - pageName = url.split('#')[1]; - } - else return; - } - if (url === '#' && !clicked.hasClass('back')) return; - } - else { - url = undefined; - } - - var animatePages; - if (typeof clickedData.animatePages !== 'undefined') { - animatePages = clickedData.animatePages; - } - else { - if (clicked.hasClass('with-animation')) animatePages = true; - if (clicked.hasClass('no-animation')) animatePages = false; - } - - var options = { - animatePages: animatePages, - ignoreCache: clickedData.ignoreCache, - force: clickedData.force, - reload: clickedData.reload, - reloadPrevious: clickedData.reloadPrevious, - pageName: pageName, - pushState: clickedData.pushState, - url: url - }; - - if (app.params.template7Pages) { - options.contextName = clickedData.contextName; - var context = clickedData.context; - if (context) { - options.context = JSON.parse(context); - } - } - if (template && template in t7.templates) { - options.template = t7.templates[template]; - } - - if (clicked.hasClass('back')) view.router.back(options); - else view.router.load(options); - } - } - $(document).on('click', 'a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .swipeout-close, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle, .close-picker, .picker-modal-overlay', handleClicks); - if (app.params.scrollTopOnNavbarClick || app.params.scrollTopOnStatusbarClick) { - $(document).on('click', '.statusbar-overlay, .navbar .center', handleScrollTop); - } - - // Prevent scrolling on overlays - function preventScrolling(e) { - e.preventDefault(); - } - if (app.support.touch && !app.device.android) { - $(document).on((app.params.fastClicks ? 'touchstart' : 'touchmove'), '.panel-overlay, .modal-overlay, .preloader-indicator-overlay, .popup-overlay, .searchbar-overlay', preventScrolling); - } - }; - - - /*====================================================== - ************ App Resize Actions ************ - ======================================================*/ - // Prevent iPad horizontal body scrolling when soft keyboard is opened - function _fixIpadBodyScrolLeft() { - if (app.device.ipad) { - document.body.scrollLeft = 0; - setTimeout(function () { - document.body.scrollLeft = 0; - }, 0); - } - } - app.initResize = function () { - $(window).on('resize', app.resize); - $(window).on('orientationchange', app.orientationchange); - }; - app.resize = function () { - if (app.sizeNavbars) app.sizeNavbars(); - _fixIpadBodyScrolLeft(); - - }; - app.orientationchange = function () { - if (app.device && app.device.minimalUi) { - if (window.orientation === 90 || window.orientation === -90) document.body.scrollTop = 0; - } - _fixIpadBodyScrolLeft(); - }; - - - /*=============================================================================== - ************ Store and parse forms data ************ - ===============================================================================*/ - app.formsData = {}; - app.formStoreData = function (formId, formJSON) { - // Store form data in app.formsData - app.formsData[formId] = formJSON; - - // Store form data in local storage also - app.ls['f7form-' + formId] = JSON.stringify(formJSON); - }; - app.formDeleteData = function (formId) { - // Delete form data from app.formsData - if (app.formsData[formId]) { - app.formsData[formId] = ''; - delete app.formsData[formId]; - } - - // Delete form data from local storage also - if (app.ls['f7form-' + formId]) { - app.ls['f7form-' + formId] = ''; - app.ls.removeItem('f7form-' + formId); - } - }; - app.formGetData = function (formId) { - // First of all check in local storage - if (app.ls['f7form-' + formId]) { - return JSON.parse(app.ls['f7form-' + formId]); - } - // Try to get it from formsData obj - else if (app.formsData[formId]) return app.formsData[formId]; - }; - app.formToData = function (form) { - form = $(form); - if (form.length !== 1) return false; - - // Form data - var formData = {}; - - // Skip input types - var skipTypes = ['submit', 'image', 'button', 'file']; - var skipNames = []; - form.find('input, select, textarea').each(function () { - var input = $(this); - var name = input.attr('name'); - var type = input.attr('type'); - var tag = this.nodeName.toLowerCase(); - if (skipTypes.indexOf(type) >= 0) return; - if (skipNames.indexOf(name) >= 0 || !name) return; - if (tag === 'select' && input.prop('multiple')) { - skipNames.push(name); - formData[name] = []; - form.find('select[name="' + name + '"] option').each(function () { - if (this.selected) formData[name].push(this.value); - }); - } - else { - switch (type) { - case 'checkbox' : - skipNames.push(name); - formData[name] = []; - form.find('input[name="' + name + '"]').each(function () { - if (this.checked) formData[name].push(this.value); - }); - break; - case 'radio' : - skipNames.push(name); - form.find('input[name="' + name + '"]').each(function () { - if (this.checked) formData[name] = this.value; - }); - break; - default : - formData[name] = input.val(); - break; - } - } - - }); - form.trigger('formToJSON formToData', {formData: formData}); - - return formData; - }; - app.formToJSON = app.formToData; - app.formFromData = function (form, formData) { - form = $(form); - if (form.length !== 1) return false; - - // Skip input types - var skipTypes = ['submit', 'image', 'button', 'file']; - var skipNames = []; - - form.find('input, select, textarea').each(function () { - var input = $(this); - var name = input.attr('name'); - var type = input.attr('type'); - var tag = this.nodeName.toLowerCase(); - if (!formData[name]) return; - if (skipTypes.indexOf(type) >= 0) return; - if (skipNames.indexOf(name) >= 0 || !name) return; - if (tag === 'select' && input.prop('multiple')) { - skipNames.push(name); - form.find('select[name="' + name + '"] option').each(function () { - if (formData[name].indexOf(this.value) >= 0) this.selected = true; - else this.selected = false; - }); - } - else { - switch (type) { - case 'checkbox' : - skipNames.push(name); - form.find('input[name="' + name + '"]').each(function () { - if (formData[name].indexOf(this.value) >= 0) this.checked = true; - else this.checked = false; - }); - break; - case 'radio' : - skipNames.push(name); - form.find('input[name="' + name + '"]').each(function () { - if (formData[name] === this.value) this.checked = true; - else this.checked = false; - }); - break; - default : - input.val(formData[name]); - break; - } - } - if (tag === 'select' && input.parents('.smart-select').length > 0) { - input.trigger('change'); - } - }); - form.trigger('formFromJSON formFromData', {formData: formData}); - }; - app.formFromJSON = app.formFromData; - - app.initFormsStorage = function (pageContainer) { - pageContainer = $(pageContainer); - var forms = pageContainer.find('form.store-data'); - if (forms.length === 0) return; - - // Parse forms data and fill form if there is such data - forms.each(function () { - var id = this.getAttribute('id'); - if (!id) return; - var formData = app.formGetData(id); - if (formData) app.formFromData(this, formData); - }); - // Update forms data on inputs change - function storeForm() { - /*jshint validthis:true */ - var form = $(this); - var formId = form[0].id; - if (!formId) return; - var formJSON = app.formToData(form); - if (!formJSON) return; - app.formStoreData(formId, formJSON); - form.trigger('store', {data: formJSON}); - } - forms.on('change submit', storeForm); - - // Detach Listeners - function pageBeforeRemove() { - forms.off('change submit', storeForm); - pageContainer.off('pageBeforeRemove', pageBeforeRemove); - } - pageContainer.on('pageBeforeRemove', pageBeforeRemove); - }; - - /*=============================================================================== - ************ Ajax submit for forms ************ - ===============================================================================*/ - // Ajax submit on forms - $(document).on('submit change', 'form.ajax-submit, form.ajax-submit-onchange', function (e) { - var form = $(this); - if (e.type === 'change' && !form.hasClass('ajax-submit-onchange')) return; - if (e.type === 'submit') e.preventDefault(); - - var method = (form.attr('method') || 'GET').toUpperCase(); - var contentType = form.prop('enctype') || form.attr('enctype'); - - var url = form.attr('action'); - if (!url) return; - - var data; - if (method === 'POST') data = new FormData(form[0]); - else data = $.serializeObject(app.formToJSON(form[0])); - - var xhr = $.ajax({ - method: method, - url: url, - contentType: contentType, - data: data, - beforeSend: function (xhr) { - form.trigger('beforeSubmit', {data:data, xhr: xhr}); - }, - error: function (xhr) { - form.trigger('submitError', {data:data, xhr: xhr}); - }, - success: function (data) { - form.trigger('submitted', {data: data, xhr: xhr}); - } - }); - }); - - - - /*=============================================================================== - ************ Resizable textarea ************ - ===============================================================================*/ - app.resizeTextarea = function (textarea) { - textarea = $(textarea); - if (!textarea.hasClass('resizable')) { - return; - } - textarea.css({'height': ''}); - var height = textarea[0].offsetHeight; - var diff = height - textarea[0].clientHeight; - var scrollHeight = textarea[0].scrollHeight; - - if (scrollHeight + diff > height) { - var newAreaHeight = scrollHeight + diff; - textarea.css('height', newAreaHeight + 'px'); - } - }; - app.resizableTextarea = function (textarea) { - textarea = $(textarea); - if (textarea.length === 0) return; - var textareaTimeout; - function handleTextarea() { - clearTimeout(textareaTimeout); - textareaTimeout = setTimeout(function () { - app.resizeTextarea(textarea); - }, 0); - } - textarea[0].f7DestroyResizableTextarea = function () { - textarea.off('change keydown keypress keyup paste cut', handleTextarea); - }; - return textarea.on('change keydown keypress keyup paste cut', handleTextarea); - }; - app.destroyResizableTextarea = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length > 0 && pageContainer.is('textarea') && pageContainer[0].f7DestroyResizableTextarea) { - pageContainer[0].f7DestroyResizableTextarea(); - } - else if (pageContainer.length > 0) { - pageContainer.find('textarea.resiable').each(function () { - var textarea = this; - if (textarea.f7DestroyResizableTextarea) { - textarea.f7DestroyResizableTextarea (); - } - }); - } - }; - app.initPageResizableTextarea = function (pageContainer) { - pageContainer = $(pageContainer); - var textareas = pageContainer.find('textarea.resizable'); - textareas.each(function () { - app.resizableTextarea(this); - }); - }; - - /*====================================================== - ************ Material Text Inputs ************ - ======================================================*/ - app.initPageMaterialInputs = function (pageContainer) { - pageContainer = $(pageContainer); - var textareas = pageContainer.find('textarea.resizable'); - pageContainer.find('.item-input').each(function () { - var itemInput = $(this); - var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image']; - itemInput.find('input, select, textarea').each(function () { - var input = $(this); - if (notInputs.indexOf(input.attr('type')) < 0) { - itemInput.addClass('item-input-field'); - if (input.val().trim() !== '') { - input.parents('.item-input, .input-field').add(input.parents('.item-inner')).addClass('not-empty-state'); - } - } - }); - if (itemInput.parents('.input-item, .inputs-list').length > 0) return; - itemInput.parents('.list-block').eq(0).addClass('inputs-list'); - }); - }; - /*====================================================== - ************ Material Focus Inputs ************ - ======================================================*/ - app.initMaterialWatchInputs = function () { - var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image']; - function addFocusState(e) { - /*jshint validthis:true*/ - var i = $(this); - var type = i.attr('type'); - if (notInputs.indexOf(type) >= 0) return; - var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0)); - els.addClass('focus-state'); - } - function removeFocusState(e) { - /*jshint validthis:true*/ - var i = $(this), value = i.val(); - var type = i.attr('type'); - if (notInputs.indexOf(type) >= 0) return; - var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0)); - els.removeClass('focus-state'); - if (value && value.trim() !== '') { - els.addClass('not-empty-state'); - } - else { - els.removeClass('not-empty-state'); - } - } - function watchChangeState(e) { - /*jshint validthis:true*/ - var i = $(this), value = i.val(); - var type = i.attr('type'); - if (notInputs.indexOf(type) >= 0) return; - var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0)); - if (value && value.trim() !== '') { - els.addClass('not-empty-state'); - } - else { - els.removeClass('not-empty-state'); - } - } - $(document).on('change', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', watchChangeState, true); - $(document).on('focus', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', addFocusState, true); - $(document).on('blur', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', removeFocusState, true); - }; - - /*====================================================== - ************ Handle Browser's History ************ - ======================================================*/ - app.pushStateQueue = []; - app.pushStateClearQueue = function () { - if (app.pushStateQueue.length === 0) return; - var queue = app.pushStateQueue.pop(); - var animatePages; - if (app.params.pushStateNoAnimation === true) animatePages = false; - if (queue.action === 'back') { - app.router.back(queue.view, {animatePages: animatePages}); - } - if (queue.action === 'loadPage') { - app.router.load(queue.view, {url: queue.stateUrl, animatePages: animatePages, pushState: false}); - } - if (queue.action === 'loadContent') { - app.router.load(queue.view, {content: queue.stateContent, animatePages: animatePages, pushState: false}); - } - if (queue.action === 'loadPageName') { - app.router.load(queue.view, {pageName: queue.statePageName, url: queue.stateUrl, animatePages: animatePages, pushState: false}); - } - }; - - app.initPushState = function () { - var blockPopstate = true; - $(window).on('load', function () { - setTimeout(function () { - blockPopstate = false; - }, 0); - }); - - if (document.readyState && document.readyState === 'complete') { - blockPopstate = false; - } - - function handlePopState(e) { - if (blockPopstate) return; - var mainView = app.mainView; - if (!mainView) return; - var state = e.state; - if (!state) { - state = { - viewIndex: app.views.indexOf(mainView), - url : mainView.history[0] - }; - } - if (state.viewIndex < 0) return; - var view = app.views[state.viewIndex]; - var stateUrl = state && state.url || undefined; - var stateContent = state && state.content || undefined; - var statePageName = state && state.pageName || undefined; - var animatePages; - - if (app.params.pushStateNoAnimation === true) animatePages = false; - - if (stateUrl !== view.url) { - if (view.history.indexOf(stateUrl) >= 0) { - // Go Back - if (view.allowPageChange) { - app.router.back(view, {url:undefined, animatePages: animatePages, pushState: false, preloadOnly:false}); - } - else { - app.pushStateQueue.push({ - action: 'back', - view: view - }); - } - } - else if (stateContent) { - // Load Page - if (view.allowPageChange) { - app.router.load(view, {content:stateContent, animatePages: animatePages, pushState: false}); - } - else { - app.pushStateQueue.unshift({ - action: 'loadContent', - stateContent: stateContent, - view: view - }); - } - - } - else if (statePageName) { - // Load Page by page name with Dom Cache - if (view.allowPageChange) { - app.router.load(view, {pageName:statePageName, url: stateUrl, animatePages: animatePages, pushState: false}); - } - else { - app.pushStateQueue.unshift({ - action: 'loadPageName', - statePageName: statePageName, - view: view - }); - } - } - else { - // Load Page - if (view.allowPageChange) { - app.router.load(view, {url:stateUrl, animatePages: animatePages, pushState: false}); - } - else { - app.pushStateQueue.unshift({ - action: 'loadPage', - stateUrl: stateUrl, - view: view - }); - } - } - } - } - $(window).on('popstate', handlePopState); - }; - - - /*=========================== - Framework7 Swiper Additions - ===========================*/ - app.swiper = function (container, params) { - return new Swiper(container, params); - }; - app.initPageSwiper = function (pageContainer) { - pageContainer = $(pageContainer); - var swipers = pageContainer.find('.swiper-init, .tabs-swipeable-wrap'); - if (swipers.length === 0) return; - function destroySwiperOnRemove(slider) { - function destroySwiper() { - slider.destroy(); - pageContainer.off('pageBeforeRemove', destroySwiper); - } - pageContainer.on('pageBeforeRemove', destroySwiper); - } - swipers.each(function () { - var swiper = $(this), initialSlide; - var params; - if (swiper.hasClass('tabs-swipeable-wrap')) { - swiper.addClass('swiper-container').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide'); - initialSlide = swiper.children('.tabs').children('.tab.active').index(); - } - if (swiper.data('swiper')) { - params = JSON.parse(swiper.data('swiper')); - } - else { - params = swiper.dataset(); - } - if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') { - params.initialSlide = initialSlide; - } - if (swiper.hasClass('tabs-swipeable-wrap')) { - params.onSlideChangeStart = function (s) { - app.showTab(s.slides.eq(s.activeIndex)); - }; - } - var _slider = app.swiper(swiper[0], params); - destroySwiperOnRemove(_slider); - }); - }; - app.reinitPageSwiper = function (pageContainer) { - pageContainer = $(pageContainer); - var sliders = pageContainer.find('.swiper-init, .tabs-swipeable-wrap'); - if (sliders.length === 0) return; - for (var i = 0; i < sliders.length; i++) { - var sliderInstance = sliders[0].swiper; - if (sliderInstance) { - sliderInstance.update(true); - } - } - }; - - - /*====================================================== - ************ Photo Browser ************ - ======================================================*/ - var PhotoBrowser = function (params) { - var pb = this, i; - - var defaults = { - photos : [], - initialSlide: 0, - spaceBetween: 20, - speed: 300, - zoom: true, - zoomMax: 3, - zoomMin: 1, - exposition: true, - expositionHideCaptions: false, - type: 'standalone', - navbar: true, - toolbar: true, - theme: 'light', - swipeToClose: true, - backLinkText: 'Close', - ofText: 'of', - loop: false, - lazyLoading: false, - lazyLoadingInPrevNext: false, - lazyLoadingOnTransitionStart: false, - material: app.params.material, - materialPreloaderSvg: app.params.materialPreloaderSvg, - materialPreloaderHtml: app.params.materialPreloaderHtml, - /* - Callbacks: - onLazyImageLoad(pb, slide, img) - onLazyImageReady(pb, slide, img) - onOpen(pb) - onClose(pb) - onTransitionStart(swiper) - onTransitionEnd(swiper) - onSlideChangeStart(swiper) - onSlideChangeEnd(swiper) - onTap(swiper, e) - onClick(swiper, e) - onDoubleTap(swiper, e) - onSwipeToClose(pb) - */ - }; - - params = params || {}; - if (!params.backLinkText && app.params.material) defaults.backLinkText = ''; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - if (params.maxZoom) { - params.zoomMax = params.maxZoom; - } - if (params.minZoom) { - params.zoomMin = params.minZoom; - } - - pb.params = params; - pb.params.iconsColorClass = pb.params.iconsColor ? 'color-' + pb.params.iconsColor : (pb.params.theme === 'dark' ? 'color-white' : ''); - pb.params.preloaderColorClass = pb.params.theme === 'dark' ? 'preloader-white' : ''; - - // Templates - var photoTemplate = pb.params.photoTemplate || - '
        ' + - '' + - '' + - '' + - '
        '; - var photoLazyTemplate = pb.params.lazyPhotoTemplate || - '
        ' + - '
        {{#if @root.material}}{{@root.materialPreloaderHtml}}{{/if}}
        ' + - '' + - '' + - '' + - '
        '; - var objectTemplate = pb.params.objectTemplate || - '
        {{js "this.html || this"}}
        '; - var captionTemplate = pb.params.captionTemplate || - '
        ' + - '{{caption}}' + - '
        '; - var navbarTemplate = pb.params.navbarTemplate || - ''; - var toolbarTemplate = pb.params.toolbarTemplate || - '
        ' + - '
        ' + - '' + - '' + - '' + - '' + - '' + - '' + - '
        ' + - '
        '; - - var htmlTemplate = t7.compile('
        ' + - '' + - '
        ')(pb.params); - - pb.activeIndex = pb.params.initialSlide; - pb.openIndex = pb.activeIndex; - pb.opened = false; - - pb.open = function (index) { - if (typeof index === 'undefined') index = pb.activeIndex; - index = parseInt(index, 10); - if (pb.opened && pb.swiper) { - pb.swiper.slideTo(index); - return; - } - pb.opened = true; - pb.openIndex = index; - if (pb.params.type === 'standalone') { - app.root.append(htmlTemplate); - } - if (pb.params.type === 'popup') { - pb.popup = app.popup(''); - $(pb.popup).on('closed', pb.onPopupClose); - } - if (pb.params.type === 'page') { - $(document).on('pageBeforeInit', pb.onPageBeforeInit); - $(document).on('pageBeforeRemove', pb.onPageBeforeRemove); - if (!pb.params.view) pb.params.view = app.mainView; - pb.params.view.loadContent(htmlTemplate); - return; - } - pb.layout(pb.openIndex); - if (pb.params.onOpen) { - pb.params.onOpen(pb); - } - - }; - pb.close = function () { - pb.opened = false; - if (!pb.swiperContainer || pb.swiperContainer.length === 0) { - return; - } - if (pb.params.onClose) { - pb.params.onClose(pb); - } - // Detach events - pb.attachEvents(true); - // Delete from DOM - if (pb.params.type === 'standalone') { - pb.container.removeClass('photo-browser-in').addClass('photo-browser-out').animationEnd(function () { - pb.container.remove(); - }); - } - // Destroy slider - pb.swiper.destroy(); - // Delete references - pb.swiper = pb.swiperContainer = pb.swiperWrapper = pb.slides = undefined; //gestureSlide = gestureImg = gestureImgWrap = undefined; - }; - - pb.onPopupClose = function (e) { - pb.close(); - $(pb.popup).off('pageBeforeInit', pb.onPopupClose); - }; - pb.onPageBeforeInit = function (e) { - if (e.detail.page.name === 'photo-browser-slides') { - pb.layout(pb.openIndex); - } - $(document).off('pageBeforeInit', pb.onPageBeforeInit); - }; - pb.onPageBeforeRemove = function (e) { - if (e.detail.page.name === 'photo-browser-slides') { - pb.close(); - } - $(document).off('pageBeforeRemove', pb.onPageBeforeRemove); - }; - - pb.onSliderTransitionStart = function (swiper) { - pb.activeIndex = swiper.activeIndex; - - var current = swiper.activeIndex + 1; - var total = swiper.slides.length; - if (pb.params.loop) { - total = total - 2; - current = current - swiper.loopedSlides; - if (current < 1) current = total + current; - if (current > total) current = current - total; - } - pb.container.find('.photo-browser-current').text(current); - pb.container.find('.photo-browser-total').text(total); - - $('.photo-browser-prev, .photo-browser-next').removeClass('photo-browser-link-inactive'); - - if (swiper.isBeginning && !pb.params.loop) { - $('.photo-browser-prev').addClass('photo-browser-link-inactive'); - } - if (swiper.isEnd && !pb.params.loop) { - $('.photo-browser-next').addClass('photo-browser-link-inactive'); - } - - // Update captions - if (pb.captions.length > 0) { - pb.captionsContainer.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active'); - var captionIndex = pb.params.loop ? swiper.slides.eq(swiper.activeIndex).attr('data-swiper-slide-index') : pb.activeIndex; - pb.captionsContainer.find('[data-caption-index="' + captionIndex + '"]').addClass('photo-browser-caption-active'); - } - - - // Stop Video - var previousSlideVideo = swiper.slides.eq(swiper.previousIndex).find('video'); - if (previousSlideVideo.length > 0) { - if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause(); - } - // Callback - if (pb.params.onTransitionStart) pb.params.onTransitionStart(swiper); - }; - pb.onSliderTransitionEnd = function (swiper) { - if (pb.params.onTransitionEnd) pb.params.onTransitionEnd(swiper); - }; - - pb.layout = function (index) { - if (pb.params.type === 'page') { - pb.container = $('.photo-browser-swiper-container').parents('.view'); - } - else { - pb.container = $('.photo-browser'); - } - if (pb.params.type === 'standalone') { - pb.container.addClass('photo-browser-in'); - app.sizeNavbars(pb.container); - } - pb.swiperContainer = pb.container.find('.photo-browser-swiper-container'); - pb.swiperWrapper = pb.container.find('.photo-browser-swiper-wrapper'); - pb.slides = pb.container.find('.photo-browser-slide'); - pb.captionsContainer = pb.container.find('.photo-browser-captions'); - pb.captions = pb.container.find('.photo-browser-caption'); - - var sliderSettings = { - nextButton: pb.params.nextButton || '.photo-browser-next', - prevButton: pb.params.prevButton || '.photo-browser-prev', - indexButton: pb.params.indexButton, - initialSlide: index, - spaceBetween: pb.params.spaceBetween, - speed: pb.params.speed, - loop: pb.params.loop, - lazyLoading: pb.params.lazyLoading, - lazyLoadingInPrevNext: pb.params.lazyLoadingInPrevNext, - lazyLoadingOnTransitionStart: pb.params.lazyLoadingOnTransitionStart, - preloadImages: pb.params.lazyLoading ? false : true, - zoom: pb.params.zoom, - zoomMax: pb.params.zoomMax, - zoomMin: pb.params.zoomMin, - onTap: function (swiper, e) { - if (pb.params.onTap) pb.params.onTap(swiper, e); - }, - onClick: function (swiper, e) { - if (pb.params.exposition) pb.toggleExposition(); - if (pb.params.onClick) pb.params.onClick(swiper, e); - }, - onDoubleTap: function (swiper, e) { - // pb.toggleZoom(e); - if (pb.params.onDoubleTap) pb.params.onDoubleTap(swiper, e); - }, - onTransitionStart: function (swiper) { - pb.onSliderTransitionStart(swiper); - }, - onTransitionEnd: function (swiper) { - pb.onSliderTransitionEnd(swiper); - }, - onSlideChangeStart: pb.params.onSlideChangeStart, - onSlideChangeEnd: pb.params.onSlideChangeEnd, - onLazyImageLoad: function (swiper, slide, img) { - if (pb.params.onLazyImageLoad) pb.params.onLazyImageLoad(pb, slide, img); - }, - onLazyImageReady: function (swiper, slide, img) { - $(slide).removeClass('photo-browser-slide-lazy'); - if (pb.params.onLazyImageReady) pb.params.onLazyImageReady(pb, slide, img); - } - }; - - if (pb.params.swipeToClose && pb.params.type !== 'page') { - sliderSettings.onTouchStart = pb.swipeCloseTouchStart; - sliderSettings.onTouchMoveOpposite = pb.swipeCloseTouchMove; - sliderSettings.onTouchEnd = pb.swipeCloseTouchEnd; - } - - pb.swiper = app.swiper(pb.swiperContainer, sliderSettings); - if (index === 0) { - pb.onSliderTransitionStart(pb.swiper); - } - pb.attachEvents(); - }; - pb.attachEvents = function (detach) { - var action = detach ? 'off' : 'on'; - pb.container.find('.photo-browser-close-link')[action]('click', pb.close); - }; - - - // Expose - pb.exposed = false; - pb.toggleExposition = function () { - if (pb.container) pb.container.toggleClass('photo-browser-exposed'); - if (pb.params.expositionHideCaptions) pb.captionsContainer.toggleClass('photo-browser-captions-exposed'); - pb.exposed = !pb.exposed; - }; - pb.enableExposition = function () { - if (pb.container) pb.container.addClass('photo-browser-exposed'); - if (pb.params.expositionHideCaptions) pb.captionsContainer.addClass('photo-browser-captions-exposed'); - pb.exposed = true; - }; - pb.disableExposition = function () { - if (pb.container) pb.container.removeClass('photo-browser-exposed'); - if (pb.params.expositionHideCaptions) pb.captionsContainer.removeClass('photo-browser-captions-exposed'); - pb.exposed = false; - }; - - // Swipe Up To Close - var swipeToCloseIsTouched = false; - var allowSwipeToClose = true; - var swipeToCloseDiff, swipeToCloseStart, swipeToCloseCurrent, swipeToCloseStarted = false, swipeToCloseActiveSlide, swipeToCloseTimeStart; - pb.swipeCloseTouchStart = function (swiper, e) { - if (!allowSwipeToClose) return; - swipeToCloseIsTouched = true; - }; - pb.swipeCloseTouchMove = function (swiper, e) { - if (!swipeToCloseIsTouched) return; - if (!swipeToCloseStarted) { - swipeToCloseStarted = true; - swipeToCloseStart = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - swipeToCloseActiveSlide = pb.swiper.slides.eq(pb.swiper.activeIndex); - swipeToCloseTimeStart = (new Date()).getTime(); - } - e.preventDefault(); - swipeToCloseCurrent = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - swipeToCloseDiff = swipeToCloseStart - swipeToCloseCurrent; - var opacity = 1 - Math.abs(swipeToCloseDiff) / 300; - swipeToCloseActiveSlide.transform('translate3d(0,' + (-swipeToCloseDiff) + 'px,0)'); - pb.swiper.container.css('opacity', opacity).transition(0); - }; - pb.swipeCloseTouchEnd = function (swiper, e) { - swipeToCloseIsTouched = false; - if (!swipeToCloseStarted) { - swipeToCloseStarted = false; - return; - } - swipeToCloseStarted = false; - allowSwipeToClose = false; - var diff = Math.abs(swipeToCloseDiff); - var timeDiff = (new Date()).getTime() - swipeToCloseTimeStart; - if ((timeDiff < 300 && diff > 20) || (timeDiff >= 300 && diff > 100)) { - setTimeout(function () { - if (pb.params.type === 'standalone') { - pb.close(); - } - if (pb.params.type === 'popup') { - app.closeModal(pb.popup); - } - if (pb.params.onSwipeToClose) { - pb.params.onSwipeToClose(pb); - } - allowSwipeToClose = true; - }, 0); - return; - } - if (diff !== 0) { - swipeToCloseActiveSlide.addClass('transitioning').transitionEnd(function () { - allowSwipeToClose = true; - swipeToCloseActiveSlide.removeClass('transitioning'); - }); - } - else { - allowSwipeToClose = true; - } - pb.swiper.container.css('opacity', '').transition(''); - swipeToCloseActiveSlide.transform(''); - }; - - return pb; - }; - - app.photoBrowser = function (params) { - return new PhotoBrowser(params); - }; - - - /*=============================================================================== - ************ Autocomplete ************ - ===============================================================================*/ - var Autocomplete = function (params) { - var a = this; - - // Params - var defaults = { - // Standalone Options - /* - opener: undefined, - */ - popupCloseText: 'Close', - backText: 'Back', - searchbarPlaceholderText: 'Search...', - searchbarCancelText: 'Cancel', - openIn: 'page', - backOnSelect: false, - notFoundText: 'Nothing found', - /* - pageTitle: undefined, - */ - - // Handle Data - /* - source: undefined, - limit: undefined, - */ - valueProperty: 'id', - textProperty: 'text', - - // Dropdown Options - /* - dropdownPlaceholderText: 'Type anything...', - */ - updateInputValueOnSelect: true, - expandInput: false, - - // Preloader - preloaderColor: false, - preloader: false, - - // Templates - /* - itemTemplate: undefined, - navbarTemplate: undefined, - dropdownTemplate: undefined - dropdownItemTemplate: undefined, - dropdownPlaceholderTemplate: undefined - */ - - // Color themes - /* - navbarTheme: undefined, - formTheme: undefined, - */ - - // Callbacks - /* - onChange: function (a, value) - for not dropdown - onOpen: function (a) - onClose: function (a) - */ - }; - - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - a.params = params; - - // Opener Link & View - if (a.params.opener) { - a.opener = $(a.params.opener); - } - var view = a.params.view; - if (!a.params.view && a.opener && a.opener.length) { - // Find related view - view = a.opener.parents('.' + app.params.viewClass); - if (view.length === 0) return; - view = view[0].f7View; - } - - // Input - if (a.params.input) { - a.input = $(a.params.input); - if (a.input.length === 0 && a.params.openIn === 'dropdown') return; - } - - // Array with selected items - a.value = a.params.value || []; - - // ID & Inputs - a.id = (new Date()).getTime(); - a.inputType = a.params.multiple ? 'checkbox' : 'radio'; - a.inputName = a.inputType + '-' + a.id; - - // Is Material - var material = app.params.material; - - // Back On Select - var backOnSelect = a.params.backOnSelect; - - if (a.params.openIn !== 'dropdown') { - // Item Template - a.itemTemplate = t7.compile(a.params.itemTemplate || - '
      • ' + - '' + - '
      • ' - ); - // Page Layout - var pageTitle = a.params.pageTitle || ''; - if (!pageTitle && a.opener && a.opener.length) { - pageTitle = a.opener.find('.item-title').text(); - } - var pageName = 'autocomplete-' + a.inputName; - - var navbarTheme = a.params.navbarTheme, - formTheme = a.params.formTheme; - - // Navbar HTML - var navbarHTML; - var noNavbar = '', noToolbar = '', navbarLayout; - - a.navbarTemplate = t7.compile(a.params.navbarTemplate || - '' - ); - navbarHTML = a.navbarTemplate({ - pageTitle: pageTitle, - backText: a.params.backText, - popupCloseText: a.params.popupCloseText, - openIn: a.params.openIn, - navbarTheme: navbarTheme, - inPopup: a.params.openIn === 'popup', - inPage: a.params.openIn === 'page', - material: material, - preloader: a.params.preloader, - preloaderColor: a.params.preloaderColor, - }); - - // Determine navbar layout type - static/fixed/through - if (a.params.openIn === 'page') { - navbarLayout = 'static'; - if (a.opener) { - if (a.opener.parents('.navbar-through').length > 0) navbarLayout = 'through'; - if (a.opener.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed'; - noToolbar = a.opener.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : ''; - noNavbar = a.opener.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout; - } - else if (view.container) { - if ($(view.container).hasClass('navbar-through') || $(view.container).find('.navbar-through').length > 0) navbarLayout = 'through'; - if ($(view.container).hasClass('navbar-fixed') || $(view.container).find('.navbar-fixed').length > 0) navbarLayout = 'fixed'; - noToolbar = $(view.activePage.container).hasClass('no-toolbar') ? 'no-toolbar' : ''; - noNavbar = $(view.activePage.container).hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout; - } - } - else { - navbarLayout = 'fixed'; - } - var searchbarHTML = - '' + - '
        '; - var pageHTML = - (navbarLayout === 'through' ? navbarHTML : '') + - '
        ' + - '
        ' + - (navbarLayout === 'fixed' ? navbarHTML : '') + - searchbarHTML + - '
        ' + - (navbarLayout === 'static' ? navbarHTML : '') + - '
        ' + - '
          ' + - '
          ' + - '
          ' + - '
          • ' + a.params.notFoundText + '
          ' + - '
          ' + - '
          ' + - '
            ' + - '
            ' + - '
            ' + - '
            ' + - '
            '; - } - else { - a.dropdownItemTemplate = t7.compile(a.params.dropdownItemTemplate || - '
          • ' + - '' + - '
          • ' - ); - a.dropdownPlaceholderTemplate = t7.compile(a.params.dropdownPlaceholderTemplate || - '
          • ' + - '
            ' + - '
            ' + - '
            {{text}}
            ' + - '
            ' + - '' + - '
          • ' - ); - a.dropdownTemplate = t7.compile(a.params.dropdownTemplate || - '
            ' + - '
            ' + - '
            ' + - '
              ' + - '
              ' + - '
              ' + - '{{#if preloader}}' + - '
              {{#if material}}{{materialPreloaderHtml}}{{/if}}
              ' + - '{{/if}}' + - '
              ' - ); - } - - // Define popup - a.popup = undefined; - - // Define Dropdown - a.dropdown = undefined; - - // Handle Input Value Change - function handleInputValue (e) { - var query = a.input.val(); - if (a.params.source) { - a.params.source(a, query, function (items) { - var itemsHTML = ''; - var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length; - a.items = items; - var i, j; - var regExp = new RegExp('('+query+')', 'i'); - for (i = 0; i < limit; i++) { - var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i]; - itemsHTML += a.dropdownItemTemplate({ - value: itemValue, - text: (typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty]).replace(regExp, '$1') - }); - } - if (itemsHTML === '' && query === '' && a.params.dropdownPlaceholderText) { - itemsHTML += a.dropdownPlaceholderTemplate({ - text: a.params.dropdownPlaceholderText, - }); - } - a.dropdown.find('ul').html(itemsHTML); - }); - } - } - // Handle Drop Down Click - function handleDropdownClick (e) { - /*jshint validthis:true */ - var clicked = $(this); - var clickedItem; - for (var i = 0; i < a.items.length; i++) { - var itemValue = typeof a.items[i] === 'object' ? a.items[i][a.params.valueProperty] : a.items[i]; - var value = clicked.attr('data-value'); - if (itemValue === value || itemValue * 1 === value * 1) { - clickedItem = a.items[i]; - } - } - if (a.params.updateInputValueOnSelect) { - a.input.val(typeof clickedItem === 'object' ? clickedItem[a.params.textProperty] : clickedItem); - a.input.trigger('input change'); - } - - if (a.params.onChange) { - a.params.onChange(a, clickedItem); - } - - a.close(); - } - - // Handle HTML Click to close Dropdown - function closeOnHTMLClick (e) { - var target = $(e.target); - if (!(target.is(a.input[0]) || a.dropdown && target.parents(a.dropdown[0]).length > 0)) { - a.close(); - } - } - - a.positionDropDown = function () { - var listBlock = a.input.parents('.list-block'), - pageContent = a.input.parents('.page-content'), - paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-top'), 10), - // inputOffset = a.input.offset(), - listBlockOffsetLeft = listBlock.length > 0 ? listBlock.offset().left - listBlock.parent().offset().left : 0, - inputOffsetLeft = a.input.offset().left - (listBlock.length > 0 ? listBlock.offset().left : 0), - inputOffsetTop = a.input.offset().top - (pageContent.offset().top - pageContent[0].scrollTop), - maxHeight = pageContent[0].scrollHeight - paddingBottom - (inputOffsetTop + pageContent[0].scrollTop) - a.input[0].offsetHeight; - - a.dropdown.css({ - left: (listBlock.length > 0 ? listBlockOffsetLeft : inputOffsetLeft) + 'px', - top: inputOffsetTop + pageContent[0].scrollTop + a.input[0].offsetHeight + 'px', - width: (listBlock.length > 0 ? listBlock[0].offsetWidth : a.input[0].offsetWidth) + 'px' - }); - a.dropdown.children('.autocomplete-dropdown-inner').css({ - maxHeight: maxHeight + 'px', - paddingLeft: listBlock.length > 0 && !a.params.expandInput ? inputOffsetLeft - (material ? 16 : 15) + 'px' : '' - }); - }; - - // Event Listeners on new page - a.pageInit = function (e) { - var page = e.detail.page; - a.page = $(page.container); - a.pageData = page; - if (page.name !== pageName) { - return; - } - var container = $(page.container); - // Init Search Bar - var searchbar = app.searchbar(container.find('.searchbar'), { - customSearch: true, - onSearch: function (searchbar, data) { - if (data.query.length === 0 && searchbar.active) { - searchbar.overlay.addClass('searchbar-overlay-active'); - } - else { - searchbar.overlay.removeClass('searchbar-overlay-active'); - } - - var i, j, k; - - if (a.params.source) { - a.params.source(a, data.query, function(items) { - var itemsHTML = ''; - var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length; - a.items = items; - for (i = 0; i < limit; i++) { - var selected = false; - var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i]; - for (j = 0; j < a.value.length; j++) { - var aValue = typeof a.value[j] === 'object' ? a.value[j][a.params.valueProperty] : a.value[j]; - if (aValue === itemValue || aValue * 1 === itemValue * 1) selected = true; - } - itemsHTML += a.itemTemplate({ - value: itemValue, - text: typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty], - inputType: a.inputType, - id: a.id, - inputName: a.inputName, - selected: selected, - checkbox: a.inputType === 'checkbox', - material: material - }); - } - container.find('.autocomplete-found ul').html(itemsHTML); - if (items.length === 0) { - if (data.query.length !== 0) { - container.find('.autocomplete-not-found').show(); - container.find('.autocomplete-found, .autocomplete-values').hide(); - } - else { - container.find('.autocomplete-values').show(); - container.find('.autocomplete-found, .autocomplete-not-found').hide(); - } - } - else { - container.find('.autocomplete-found').show(); - container.find('.autocomplete-not-found, .autocomplete-values').hide(); - } - }); - } - } - }); - - // Save searchbar instance - a.searchbar = searchbar; - - // Update values - function updateValues() { - var valuesHTML = ''; - var i; - for (i = 0; i < a.value.length; i++) { - - valuesHTML += a.itemTemplate({ - value: typeof a.value[i] === 'object' ? a.value[i][a.params.valueProperty] : a.value[i], - text: typeof a.value[i] === 'object' ? a.value[i][a.params.textProperty]: a.value[i], - inputType: a.inputType, - id: a.id, - inputName: a.inputName + '-checked', - checkbox: a.inputType === 'checkbox', - material: material, - selected: true - }); - } - container.find('.autocomplete-values ul').html(valuesHTML); - } - - // Handle Inputs - container.on('change', 'input[type="radio"], input[type="checkbox"]', function () { - var i; - var input = this; - var value = input.value; - var text = $(input).parents('li').find('.item-title').text(); - var isValues = $(input).parents('.autocomplete-values').length > 0; - var item, itemValue, aValue; - if (isValues) { - if (a.inputType === 'checkbox' && !input.checked) { - for (i = 0; i < a.value.length; i++) { - aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty]; - if (aValue === value || aValue * 1 === value * 1) { - a.value.splice(i, 1); - } - } - updateValues(); - if (a.params.onChange) a.params.onChange(a, a.value); - } - return; - } - - // Find Related Item - for (i = 0; i < a.items.length; i++) { - itemValue = typeof a.items[i] === 'string' ? a.items[i] : a.items[i][a.params.valueProperty]; - if (itemValue === value || itemValue * 1 === value * 1) item = a.items[i]; - } - // Update Selected Value - if (a.inputType === 'radio') { - a.value = [item]; - } - else { - if (input.checked) { - a.value.push(item); - } - else { - for (i = 0; i < a.value.length; i++) { - aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty]; - if (aValue === value || aValue * 1 === value * 1) { - a.value.splice(i, 1); - } - } - } - } - - // Update Values Block - updateValues(); - - // On Select Callback - if ((a.inputType === 'radio' && input.checked || a.inputType === 'checkbox') && a.params.onChange ) { - a.params.onChange(a, a.value); - } - if (backOnSelect && a.inputType === 'radio') { - if (a.params.openIn === 'popup') app.closeModal(a.popup); - else view.router.back(); - } - }); - - // Update Values On Page Init - updateValues(); - - if (a.params.onOpen) a.params.onOpen(a); - }; - - // Show Hide Preloader - a.showPreloader = function () { - if (a.params.openIn === 'dropdown') { - if (a.dropdown) a.dropdown.find('.autocomplete-preloader').addClass('autocomplete-preloader-visible'); - } - else $('.autocomplete-preloader').addClass('autocomplete-preloader-visible'); - }; - - a.hidePreloader = function () { - if (a.params.openIn === 'dropdown') { - if (a.dropdown) a.dropdown.find('.autocomplete-preloader').removeClass('autocomplete-preloader-visible'); - } - else $('.autocomplete-preloader').removeClass('autocomplete-preloader-visible'); - }; - - // Open Autocomplete Page/Popup - a.open = function () { - if (a.opened) return; - a.opened = true; - if (a.params.openIn === 'dropdown') { - if (!a.dropdown) { - a.dropdown = $(a.dropdownTemplate({ - preloader: a.params.preloader, - preloaderColor: a.params.preloaderColor, - material: material, - materialPreloaderHtml: app.params.materialPreloaderHtml - })); - a.dropdown.on('click', 'label', handleDropdownClick); - - } - var listBlock = a.input.parents('.list-block'); - if (listBlock.length && a.input.parents('.item-content').length > 0 && a.params.expandInput) { - a.input.parents('.item-content').addClass('item-content-dropdown-expand'); - } - a.positionDropDown(); - a.input.parents('.page-content').append(a.dropdown); - a.dropdown.addClass('autocomplete-dropdown-in'); - a.input.trigger('input'); - $(window).on('resize', a.positionDropDown); - if (a.params.onOpen) a.params.onOpen(a); - } - else { - $(document).once('pageInit', '.autocomplete-page', a.pageInit); - if (a.params.openIn === 'popup') { - a.popup = app.popup( - '' - ); - a.popup = $(a.popup); - a.popup.once('closed', function () { - a.popup = undefined; - a.opened = false; - if (a.params.onClose) a.params.onClose(a); - }); - } - else { - view.router.load({ - content: pageHTML - }); - $(document).once('pageBack', '.autocomplete-page', function () { - a.opened = false; - if (a.params.onClose) a.params.onClose(a); - }); - } - } - }; - a.close = function (e) { - if (!a.opened) return; - if (a.params.openIn === 'dropdown') { - if (e && e.type === 'blur' && a.dropdown.find('label.active-state').length > 0) return; - a.dropdown.removeClass('autocomplete-dropdown-in').remove(); - a.input.parents('.item-content-dropdown-expand').removeClass('item-content-dropdown-expand'); - a.opened = false; - $(window).off('resize', a.positionDropDown); - if (a.params.onClose) a.params.onClose(a); - } - if (a.params.openIn === 'popup') { - if (a.popup) app.closeModal(a.popup); - } - }; - - // Init Events - a.initEvents = function (detach) { - var method = detach ? 'off' : 'on'; - if (a.params.openIn !== 'dropdown' && a.opener) { - a.opener[method]('click', a.open); - } - if (a.params.openIn === 'dropdown' && a.input) { - a.input[method]('focus', a.open); - a.input[method]('input', handleInputValue); - if (app.device.android) { - $('html')[method]('click', closeOnHTMLClick); - } - else { - a.input[method]('blur', a.close); - } - } - if (detach && a.dropdown) { - a.dropdown = null; - } - }; - - // Init/Destroy Methods - a.init = function () { - a.initEvents(); - }; - a.destroy = function () { - a.initEvents(true); - a = null; - }; - - // Init - a.init(); - - return a; - }; - app.autocomplete = function (params) { - return new Autocomplete(params); - }; - - /*====================================================== - ************ Picker ************ - ======================================================*/ - var Picker = function (params) { - var p = this; - var defaults = { - updateValuesOnMomentum: false, - updateValuesOnTouchmove: true, - rotateEffect: false, - momentumRatio: 7, - freeMode: false, - // Common settings - closeByOutsideClick: true, - scrollToInput: true, - inputReadOnly: true, - convertToPopover: true, - onlyInPopover: false, - toolbar: true, - toolbarCloseText: 'Done', - toolbarTemplate: - '
              ' + - '
              ' + - '
              ' + - '
              ' + - '{{closeText}}' + - '
              ' + - '
              ' + - '
              ' - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - p.params = params; - p.cols = []; - p.initialized = false; - - // Inline flag - p.inline = p.params.container ? true : false; - - // 3D Transforms origin bug, only on safari - var originBug = app.device.ios || (navigator.userAgent.toLowerCase().indexOf('safari') >= 0 && navigator.userAgent.toLowerCase().indexOf('chrome') < 0) && !app.device.android; - - // Should be converted to popover - function isPopover() { - var toPopover = false; - if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover; - if (!p.inline && p.params.input) { - if (p.params.onlyInPopover) toPopover = true; - else { - if (app.device.ios) { - toPopover = app.device.ipad ? true : false; - } - else { - if ($(window).width() >= 768) toPopover = true; - } - } - } - return toPopover; - } - function inPopover() { - if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true; - else return false; - } - - // Value - p.setValue = function (arrValues, transition) { - var valueIndex = 0; - if (p.cols.length === 0) { - p.value = arrValues; - p.updateValue(arrValues); - return; - } - for (var i = 0; i < p.cols.length; i++) { - if (p.cols[i] && !p.cols[i].divider) { - p.cols[i].setValue(arrValues[valueIndex], transition); - valueIndex++; - } - } - }; - p.updateValue = function (forceValues) { - var newValue = forceValues || []; - var newDisplayValue = []; - for (var i = 0; i < p.cols.length; i++) { - if (!p.cols[i].divider) { - newValue.push(p.cols[i].value); - newDisplayValue.push(p.cols[i].displayValue); - } - } - if (newValue.indexOf(undefined) >= 0) { - return; - } - p.value = newValue; - p.displayValue = newDisplayValue; - if (p.params.onChange) { - p.params.onChange(p, p.value, p.displayValue); - } - if (p.input && p.input.length > 0) { - $(p.input).val(p.params.formatValue ? p.params.formatValue(p, p.value, p.displayValue) : p.value.join(' ')); - $(p.input).trigger('change'); - } - }; - - // Columns Handlers - p.initPickerCol = function (colElement, updateItems) { - var colContainer = $(colElement); - var colIndex = colContainer.index(); - var col = p.cols[colIndex]; - if (col.divider) return; - col.container = colContainer; - col.wrapper = col.container.find('.picker-items-col-wrapper'); - col.items = col.wrapper.find('.picker-item'); - - var i, j; - var wrapperHeight, itemHeight, itemsHeight, minTranslate, maxTranslate; - col.replaceValues = function (values, displayValues) { - col.destroyEvents(); - col.values = values; - col.displayValues = displayValues; - var newItemsHTML = p.columnHTML(col, true); - col.wrapper.html(newItemsHTML); - col.items = col.wrapper.find('.picker-item'); - col.calcSize(); - col.setValue(col.values[0], 0, true); - col.initEvents(); - }; - col.calcSize = function () { - if (p.params.rotateEffect) { - col.container.removeClass('picker-items-col-absolute'); - if (!col.width) col.container.css({width:''}); - } - var colWidth, colHeight; - colWidth = 0; - colHeight = col.container[0].offsetHeight; - wrapperHeight = col.wrapper[0].offsetHeight; - itemHeight = col.items[0].offsetHeight; - itemsHeight = itemHeight * col.items.length; - minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2; - maxTranslate = colHeight / 2 - itemHeight / 2; - if (col.width) { - colWidth = col.width; - if (parseInt(colWidth, 10) === colWidth) colWidth = colWidth + 'px'; - col.container.css({width: colWidth}); - } - if (p.params.rotateEffect) { - if (!col.width) { - col.items.each(function () { - var item = $(this); - item.css({width:'auto'}); - colWidth = Math.max(colWidth, item[0].offsetWidth); - item.css({width:''}); - }); - col.container.css({width: (colWidth + 2) + 'px'}); - } - col.container.addClass('picker-items-col-absolute'); - } - }; - col.calcSize(); - - col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)').transition(0); - - - var activeIndex = 0; - var animationFrameId; - - // Set Value Function - col.setValue = function (newValue, transition, valueCallbacks) { - if (typeof transition === 'undefined') transition = ''; - var newActiveIndex = col.wrapper.find('.picker-item[data-picker-value="' + newValue + '"]').index(); - if(typeof newActiveIndex === 'undefined' || newActiveIndex === -1) { - return; - } - var newTranslate = -newActiveIndex * itemHeight + maxTranslate; - // Update wrapper - col.wrapper.transition(transition); - col.wrapper.transform('translate3d(0,' + (newTranslate) + 'px,0)'); - - // Watch items - if (p.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex ) { - $.cancelAnimationFrame(animationFrameId); - col.wrapper.transitionEnd(function(){ - $.cancelAnimationFrame(animationFrameId); - }); - updateDuringScroll(); - } - - // Update items - col.updateItems(newActiveIndex, newTranslate, transition, valueCallbacks); - }; - - col.updateItems = function (activeIndex, translate, transition, valueCallbacks) { - if (typeof translate === 'undefined') { - translate = $.getTranslate(col.wrapper[0], 'y'); - } - if(typeof activeIndex === 'undefined') activeIndex = -Math.round((translate - maxTranslate)/itemHeight); - if (activeIndex < 0) activeIndex = 0; - if (activeIndex >= col.items.length) activeIndex = col.items.length - 1; - var previousActiveIndex = col.activeIndex; - col.activeIndex = activeIndex; - col.wrapper.find('.picker-selected').removeClass('picker-selected'); - - col.items.transition(transition); - - var selectedItem = col.items.eq(activeIndex).addClass('picker-selected').transform(''); - - // Set 3D rotate effect - if (p.params.rotateEffect) { - var percentage = (translate - (Math.floor((translate - maxTranslate)/itemHeight) * itemHeight + maxTranslate)) / itemHeight; - - col.items.each(function () { - var item = $(this); - var itemOffsetTop = item.index() * itemHeight; - var translateOffset = maxTranslate - translate; - var itemOffset = itemOffsetTop - translateOffset; - var percentage = itemOffset / itemHeight; - - var itemsFit = Math.ceil(col.height / itemHeight / 2) + 1; - - var angle = (-18*percentage); - if (angle > 180) angle = 180; - if (angle < -180) angle = -180; - // Far class - if (Math.abs(percentage) > itemsFit) item.addClass('picker-item-far'); - else item.removeClass('picker-item-far'); - // Set transform - item.transform('translate3d(0, ' + (-translate + maxTranslate) + 'px, ' + (originBug ? -110 : 0) + 'px) rotateX(' + angle + 'deg)'); - }); - } - - if (valueCallbacks || typeof valueCallbacks === 'undefined') { - // Update values - col.value = selectedItem.attr('data-picker-value'); - col.displayValue = col.displayValues ? col.displayValues[activeIndex] : col.value; - // On change callback - if (previousActiveIndex !== activeIndex) { - if (col.onChange) { - col.onChange(p, col.value, col.displayValue); - } - p.updateValue(); - } - } - }; - - function updateDuringScroll() { - animationFrameId = $.requestAnimationFrame(function () { - col.updateItems(undefined, undefined, 0); - updateDuringScroll(); - }); - } - - // Update items on init - if (updateItems) col.updateItems(0, maxTranslate, 0); - - var allowItemClick = true; - var isTouched, isMoved, touchStartY, touchCurrentY, touchStartTime, touchEndTime, startTranslate, returnTo, currentTranslate, prevTranslate, velocityTranslate, velocityTime; - function handleTouchStart (e) { - if (isMoved || isTouched) return; - e.preventDefault(); - isTouched = true; - touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - - allowItemClick = true; - startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y'); - } - function handleTouchMove (e) { - if (!isTouched) return; - e.preventDefault(); - allowItemClick = false; - touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (!isMoved) { - // First move - $.cancelAnimationFrame(animationFrameId); - isMoved = true; - startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y'); - col.wrapper.transition(0); - } - - var diff = touchCurrentY - touchStartY; - currentTranslate = startTranslate + diff; - returnTo = undefined; - - // Normalize translate - if (currentTranslate < minTranslate) { - currentTranslate = minTranslate - Math.pow(minTranslate - currentTranslate, 0.8); - returnTo = 'min'; - } - if (currentTranslate > maxTranslate) { - currentTranslate = maxTranslate + Math.pow(currentTranslate - maxTranslate, 0.8); - returnTo = 'max'; - } - // Transform wrapper - col.wrapper.transform('translate3d(0,' + currentTranslate + 'px,0)'); - - // Update items - col.updateItems(undefined, currentTranslate, 0, p.params.updateValuesOnTouchmove); - - // Calc velocity - velocityTranslate = currentTranslate - prevTranslate || currentTranslate; - velocityTime = (new Date()).getTime(); - prevTranslate = currentTranslate; - } - function handleTouchEnd (e) { - if (!isTouched || !isMoved) { - isTouched = isMoved = false; - return; - } - isTouched = isMoved = false; - col.wrapper.transition(''); - if (returnTo) { - if (returnTo === 'min') { - col.wrapper.transform('translate3d(0,' + minTranslate + 'px,0)'); - } - else col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)'); - } - touchEndTime = new Date().getTime(); - var velocity, newTranslate; - if (touchEndTime - touchStartTime > 300) { - newTranslate = currentTranslate; - } - else { - velocity = Math.abs(velocityTranslate / (touchEndTime - velocityTime)); - newTranslate = currentTranslate + velocityTranslate * p.params.momentumRatio; - } - - newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); - - // Active Index - var activeIndex = -Math.floor((newTranslate - maxTranslate)/itemHeight); - - // Normalize translate - if (!p.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; - - // Transform wrapper - col.wrapper.transform('translate3d(0,' + (parseInt(newTranslate,10)) + 'px,0)'); - - // Update items - col.updateItems(activeIndex, newTranslate, '', true); - - // Watch items - if (p.params.updateValuesOnMomentum) { - updateDuringScroll(); - col.wrapper.transitionEnd(function(){ - $.cancelAnimationFrame(animationFrameId); - }); - } - - // Allow click - setTimeout(function () { - allowItemClick = true; - }, 100); - } - - function handleClick(e) { - if (!allowItemClick) return; - $.cancelAnimationFrame(animationFrameId); - /*jshint validthis:true */ - var value = $(this).attr('data-picker-value'); - col.setValue(value); - } - - col.initEvents = function (detach) { - var method = detach ? 'off' : 'on'; - col.container[method](app.touchEvents.start, handleTouchStart); - col.container[method](app.touchEvents.move, handleTouchMove); - col.container[method](app.touchEvents.end, handleTouchEnd); - col.items[method]('click', handleClick); - }; - col.destroyEvents = function () { - col.initEvents(true); - }; - - col.container[0].f7DestroyPickerCol = function () { - col.destroyEvents(); - }; - - col.initEvents(); - - }; - p.destroyPickerCol = function (colContainer) { - colContainer = $(colContainer); - if ('f7DestroyPickerCol' in colContainer[0]) colContainer[0].f7DestroyPickerCol(); - }; - // Resize cols - function resizeCols() { - if (!p.opened) return; - for (var i = 0; i < p.cols.length; i++) { - if (!p.cols[i].divider) { - p.cols[i].calcSize(); - p.cols[i].setValue(p.cols[i].value, 0, false); - } - } - } - $(window).on('resize', resizeCols); - - // HTML Layout - p.columnHTML = function (col, onlyItems) { - var columnItemsHTML = ''; - var columnHTML = ''; - if (col.divider) { - columnHTML += '
              ' + col.content + '
              '; - } - else { - for (var j = 0; j < col.values.length; j++) { - columnItemsHTML += '
              ' + (col.displayValues ? col.displayValues[j] : col.values[j]) + '
              '; - } - columnHTML += '
              ' + columnItemsHTML + '
              '; - } - return onlyItems ? columnItemsHTML : columnHTML; - }; - p.layout = function () { - var pickerHTML = ''; - var pickerClass = ''; - var i; - p.cols = []; - var colsHTML = ''; - for (i = 0; i < p.params.cols.length; i++) { - var col = p.params.cols[i]; - colsHTML += p.columnHTML(p.params.cols[i]); - p.cols.push(col); - } - pickerClass = 'picker-modal picker-columns ' + (p.params.cssClass || '') + (p.params.rotateEffect ? ' picker-3d' : ''); - pickerHTML = - '
              ' + - (p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '') + - '
              ' + - colsHTML + - '
              ' + - '
              ' + - '
              '; - - p.pickerHTML = pickerHTML; - }; - - // Input Events - function openOnInput(e) { - e.preventDefault(); - if (p.opened) return; - p.open(); - if (p.params.scrollToInput && !isPopover()) { - var pageContent = p.input.parents('.page-content'); - if (pageContent.length === 0) return; - - var paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-bottom'), 10), - pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(), - pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(), - newPaddingBottom; - var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight; - if (inputTop > pageHeight) { - var scrollTop = pageContent.scrollTop() + inputTop - pageHeight; - if (scrollTop + pageHeight > pageScrollHeight) { - newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom; - if (pageHeight === pageScrollHeight) { - newPaddingBottom = p.container.height(); - } - pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'}); - } - pageContent.scrollTop(scrollTop, 300); - } - } - } - function closeOnHTMLClick(e) { - if (inPopover()) return; - if (p.input && p.input.length > 0) { - if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close(); - } - else { - if ($(e.target).parents('.picker-modal').length === 0) p.close(); - } - } - - if (p.params.input) { - p.input = $(p.params.input); - if (p.input.length > 0) { - if (p.params.inputReadOnly) p.input.prop('readOnly', true); - if (!p.inline) { - p.input.on('click', openOnInput); - } - if (p.params.inputReadOnly) { - p.input.on('focus mousedown', function (e) { - e.preventDefault(); - }); - } - } - - } - - if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick); - - // Open - function onPickerClose() { - p.opened = false; - if (p.input && p.input.length > 0) { - p.input.parents('.page-content').css({'padding-bottom': ''}); - if (app.params.material) p.input.trigger('blur'); - } - if (p.params.onClose) p.params.onClose(p); - - // Destroy events - p.container.find('.picker-items-col').each(function () { - p.destroyPickerCol(this); - }); - } - - p.opened = false; - p.open = function () { - var toPopover = isPopover(); - - if (!p.opened) { - - // Layout - p.layout(); - - // Append - if (toPopover) { - p.pickerHTML = '
              ' + p.pickerHTML + '
              '; - p.popover = app.popover(p.pickerHTML, p.params.input, true); - p.container = $(p.popover).find('.picker-modal'); - $(p.popover).on('close', function () { - onPickerClose(); - }); - } - else if (p.inline) { - p.container = $(p.pickerHTML); - p.container.addClass('picker-modal-inline'); - $(p.params.container).append(p.container); - } - else { - p.container = $(app.pickerModal(p.pickerHTML)); - $(p.container) - .on('close', function () { - onPickerClose(); - }); - } - - // Store picker instance - p.container[0].f7Picker = p; - - // Init Events - p.container.find('.picker-items-col').each(function () { - var updateItems = true; - if ((!p.initialized && p.params.value) || (p.initialized && p.value)) updateItems = false; - p.initPickerCol(this, updateItems); - }); - - // Set value - if (!p.initialized) { - if (p.value) p.setValue(p.value, 0); - else if (p.params.value) { - p.setValue(p.params.value, 0); - } - } - else { - if (p.value) p.setValue(p.value, 0); - } - - // Material Focus - if (p.input && p.input.length > 0 && app.params.material) { - p.input.trigger('focus'); - } - } - - // Set flag - p.opened = true; - p.initialized = true; - - if (p.params.onOpen) p.params.onOpen(p); - }; - - // Close - p.close = function () { - if (!p.opened || p.inline) return; - if (inPopover()) { - app.closeModal(p.popover); - return; - } - else { - app.closeModal(p.container); - return; - } - }; - - // Destroy - p.destroy = function () { - p.close(); - if (p.params.input && p.input.length > 0) { - p.input.off('click focus', openOnInput); - } - $('html').off('click', closeOnHTMLClick); - $(window).off('resize', resizeCols); - }; - - if (p.inline) { - p.open(); - } - else { - if (!p.initialized && p.params.value) p.setValue(p.params.value); - } - - return p; - }; - app.picker = function (params) { - return new Picker(params); - }; - - /*====================================================== - ************ Calendar ************ - ======================================================*/ - var Calendar = function (params) { - var p = this; - var defaults = { - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August' , 'September' , 'October', 'November', 'December'], - monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - firstDay: 1, // First day of the week, Monday - weekendDays: [0, 6], // Sunday and Saturday - multiple: false, - rangePicker: false, - dateFormat: 'yyyy-mm-dd', - direction: 'horizontal', // or 'vertical' - minDate: null, - maxDate: null, - disabled: null, // dates range of disabled days - events: null, // dates range of days with events - rangesClasses: null, //array with custom classes date ranges - touchMove: true, - animate: true, - closeOnSelect: false, - monthPicker: true, - monthPickerTemplate: - '
              ' + - '' + - '' + - '' + - '
              ', - yearPicker: true, - yearPickerTemplate: - '
              ' + - '' + - '' + - '' + - '
              ', - weekHeader: true, - // Common settings - closeByOutsideClick: true, - scrollToInput: true, - inputReadOnly: true, - convertToPopover: true, - onlyInPopover: false, - toolbar: true, - toolbarCloseText: 'Done', - headerPlaceholder: 'Select date', - header: app.params.material, - footer: app.params.material, - toolbarTemplate: - '
              ' + - '
              ' + - '{{monthPicker}}' + - '{{yearPicker}}' + - '
              ' + - '
              ', - headerTemplate: - '
              ' + - '
              {{placeholder}}
              ' + - '
              ', - footerTemplate: - '', - - /* Callbacks - onMonthAdd - onChange - onOpen - onClose - onDayClick - onMonthYearChangeStart - onMonthYearChangeEnd - */ - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - p.params = params; - p.initialized = false; - - // Inline flag - p.inline = p.params.container ? true : false; - - // Is horizontal - p.isH = p.params.direction === 'horizontal'; - - // RTL inverter - var inverter = p.isH ? (app.rtl ? -1 : 1) : 1; - - // Animating flag - p.animating = false; - - // Should be converted to popover - function isPopover() { - var toPopover = false; - if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover; - if (!p.inline && p.params.input) { - if (p.params.onlyInPopover) toPopover = true; - else { - if (app.device.ios) { - toPopover = app.device.ipad ? true : false; - } - else { - if ($(window).width() >= 768) toPopover = true; - } - } - } - return toPopover; - } - function inPopover() { - if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true; - else return false; - } - - // Format date - function formatDate(date) { - date = new Date(date); - var year = date.getFullYear(); - var month = date.getMonth(); - var month1 = month + 1; - var day = date.getDate(); - var weekDay = date.getDay(); - - return p.params.dateFormat - .replace(/yyyy/g, year) - .replace(/yy/g, (year + '').substring(2)) - .replace(/mm/g, month1 < 10 ? '0' + month1 : month1) - .replace(/m(\W+)/g, month1 + '$1') - .replace(/MM/g, p.params.monthNames[month]) - .replace(/M(\W+)/g, p.params.monthNamesShort[month] + '$1') - .replace(/dd/g, day < 10 ? '0' + day : day) - .replace(/d(\W+)/g, day + '$1') - .replace(/DD/g, p.params.dayNames[weekDay]) - .replace(/D(\W+)/g, p.params.dayNamesShort[weekDay] + '$1'); - } - - - // Value - p.addValue = function (value) { - if (p.params.multiple) { - if (!p.value) p.value = []; - var inValuesIndex; - for (var i = 0; i < p.value.length; i++) { - if (new Date(value).getTime() === new Date(p.value[i]).getTime()) { - inValuesIndex = i; - } - } - if (typeof inValuesIndex === 'undefined') { - p.value.push(value); - } - else { - p.value.splice(inValuesIndex, 1); - } - p.updateValue(); - } - else if (p.params.rangePicker) { - if (!p.value) p.value = []; - if (p.value.length === 2 || p.value.length === 0) { - p.value = []; - } - if (p.value[0] !== value) p.value.push(value); - else p.value = []; - p.value.sort(function (a,b) { - return a - b; - }); - p.updateValue(); - } - else { - p.value = [value]; - p.updateValue(); - } - }; - p.setValue = function (arrValues) { - p.value = arrValues; - p.updateValue(); - }; - p.updateValue = function (onlyHeader) { - var i, inputValue; - if (p.container && p.container.length > 0) { - p.wrapper.find('.picker-calendar-day-selected').removeClass('picker-calendar-day-selected'); - var valueDate; - if (p.params.rangePicker && p.value.length === 2) { - for (i = p.value[0]; i <= p.value[1]; i += 24*60*60*1000) { - valueDate = new Date(i); - p.wrapper.find('.picker-calendar-day[data-date="' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '"]').addClass('picker-calendar-day-selected'); - } - } - else { - for (i = 0; i < p.value.length; i++) { - valueDate = new Date(p.value[i]); - p.wrapper.find('.picker-calendar-day[data-date="' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '"]').addClass('picker-calendar-day-selected'); - } - } - } - - if (p.params.onChange) { - p.params.onChange(p, p.value); - } - if ((p.input && p.input.length > 0) || (app.params.material && p.params.header)) { - if (p.params.formatValue) inputValue = p.params.formatValue(p, p.value); - else { - inputValue = []; - for (i = 0; i < p.value.length; i++) { - inputValue.push(formatDate(p.value[i])); - } - inputValue = inputValue.join(p.params.rangePicker ? ' - ' : ', '); - } - if (app.params.material && p.params.header && p.container && p.container.length > 0) { - p.container.find('.picker-calendar-selected-date').text(inputValue); - } - if (p.input && p.input.length > 0 && !onlyHeader) { - $(p.input).val(inputValue); - $(p.input).trigger('change'); - } - - } - }; - - // Columns Handlers - p.initCalendarEvents = function () { - var col; - var allowItemClick = true; - var isTouched, isMoved, touchStartX, touchStartY, touchCurrentX, touchCurrentY, touchStartTime, touchEndTime, startTranslate, currentTranslate, wrapperWidth, wrapperHeight, percentage, touchesDiff, isScrolling; - function handleTouchStart (e) { - if (isMoved || isTouched) return; - // e.preventDefault(); - isTouched = true; - touchStartX = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - percentage = 0; - allowItemClick = true; - isScrolling = undefined; - startTranslate = currentTranslate = p.monthsTranslate; - } - function handleTouchMove (e) { - if (!isTouched) return; - - touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX)); - } - if (p.isH && isScrolling) { - isTouched = false; - return; - } - e.preventDefault(); - if (p.animating) { - isTouched = false; - return; - } - allowItemClick = false; - if (!isMoved) { - // First move - isMoved = true; - wrapperWidth = p.wrapper[0].offsetWidth; - wrapperHeight = p.wrapper[0].offsetHeight; - p.wrapper.transition(0); - } - - touchesDiff = p.isH ? touchCurrentX - touchStartX : touchCurrentY - touchStartY; - percentage = touchesDiff/(p.isH ? wrapperWidth : wrapperHeight); - currentTranslate = (p.monthsTranslate * inverter + percentage) * 100; - - // Transform wrapper - p.wrapper.transform('translate3d(' + (p.isH ? currentTranslate : 0) + '%, ' + (p.isH ? 0 : currentTranslate) + '%, 0)'); - - } - function handleTouchEnd (e) { - if (!isTouched || !isMoved) { - isTouched = isMoved = false; - return; - } - isTouched = isMoved = false; - - touchEndTime = new Date().getTime(); - if (touchEndTime - touchStartTime < 300) { - if (Math.abs(touchesDiff) < 10) { - p.resetMonth(); - } - else if (touchesDiff >= 10) { - if (app.rtl) p.nextMonth(); - else p.prevMonth(); - } - else { - if (app.rtl) p.prevMonth(); - else p.nextMonth(); - } - } - else { - if (percentage <= -0.5) { - if (app.rtl) p.prevMonth(); - else p.nextMonth(); - } - else if (percentage >= 0.5) { - if (app.rtl) p.nextMonth(); - else p.prevMonth(); - } - else { - p.resetMonth(); - } - } - - // Allow click - setTimeout(function () { - allowItemClick = true; - }, 100); - } - - function handleDayClick(e) { - if (!allowItemClick) return; - var day = $(e.target).parents('.picker-calendar-day'); - if (day.length === 0 && $(e.target).hasClass('picker-calendar-day')) { - day = $(e.target); - } - if (day.length === 0) return; - if (day.hasClass('picker-calendar-day-selected') && !(p.params.multiple || p.params.rangePicker)) return; - if (day.hasClass('picker-calendar-day-disabled')) return; - if (!p.params.rangePicker) { - if (day.hasClass('picker-calendar-day-next')) p.nextMonth(); - if (day.hasClass('picker-calendar-day-prev')) p.prevMonth(); - } - var dateYear = day.attr('data-year'); - var dateMonth = day.attr('data-month'); - var dateDay = day.attr('data-day'); - if (p.params.onDayClick) { - p.params.onDayClick(p, day[0], dateYear, dateMonth, dateDay); - } - p.addValue(new Date(dateYear, dateMonth, dateDay).getTime()); - if (p.params.closeOnSelect) { - if (p.params.rangePicker && p.value.length === 2 || !p.params.rangePicker) p.close(); - } - } - - p.container.find('.picker-calendar-prev-month').on('click', p.prevMonth); - p.container.find('.picker-calendar-next-month').on('click', p.nextMonth); - p.container.find('.picker-calendar-prev-year').on('click', p.prevYear); - p.container.find('.picker-calendar-next-year').on('click', p.nextYear); - p.wrapper.on('click', handleDayClick); - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - if (p.params.touchMove) { - p.wrapper.on(app.touchEvents.start, handleTouchStart, passiveListener); - p.wrapper.on(app.touchEvents.move, handleTouchMove); - p.wrapper.on(app.touchEvents.end, handleTouchEnd, passiveListener); - } - - p.container[0].f7DestroyCalendarEvents = function () { - p.container.find('.picker-calendar-prev-month').off('click', p.prevMonth); - p.container.find('.picker-calendar-next-month').off('click', p.nextMonth); - p.container.find('.picker-calendar-prev-year').off('click', p.prevYear); - p.container.find('.picker-calendar-next-year').off('click', p.nextYear); - p.wrapper.off('click', handleDayClick); - if (p.params.touchMove) { - p.wrapper.off(app.touchEvents.start, handleTouchStart, passiveListener); - p.wrapper.off(app.touchEvents.move, handleTouchMove); - p.wrapper.off(app.touchEvents.end, handleTouchEnd, passiveListener); - } - }; - - - }; - p.destroyCalendarEvents = function (colContainer) { - if ('f7DestroyCalendarEvents' in p.container[0]) p.container[0].f7DestroyCalendarEvents(); - }; - - // Scan Dates Range - p.dateInRange = function (dayDate, range) { - var match = false; - var i; - if (!range) return false; - if ($.isArray(range)) { - for (i = 0; i < range.length; i ++) { - if (range[i].from || range[i].to) { - if (range[i].from && range[i].to) { - if ((dayDate <= new Date(range[i].to).getTime()) && (dayDate >= new Date(range[i].from).getTime())) { - match = true; - } - } - else if (range[i].from) { - if (dayDate >= new Date(range[i].from).getTime()) { - match = true; - } - } - else if (range[i].to) { - if (dayDate <= new Date(range[i].to).getTime()) { - match = true; - } - } - } else if (dayDate === new Date(range[i]).getTime()) { - match = true; - } - } - } - else if (range.from || range.to) { - if (range.from && range.to) { - if ((dayDate <= new Date(range.to).getTime()) && (dayDate >= new Date(range.from).getTime())) { - match = true; - } - } - else if (range.from) { - if (dayDate >= new Date(range.from).getTime()) { - match = true; - } - } - else if (range.to) { - if (dayDate <= new Date(range.to).getTime()) { - match = true; - } - } - } - else if (typeof range === 'function') { - match = range(new Date(dayDate)); - } - return match; - }; - // Calendar Methods - p.daysInMonth = function (date) { - var d = new Date(date); - return new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(); - }; - p.monthHTML = function (date, offset) { - date = new Date(date); - var year = date.getFullYear(), - month = date.getMonth(), - day = date.getDate(); - if (offset === 'next') { - if (month === 11) date = new Date(year + 1, 0); - else date = new Date(year, month + 1, 1); - } - if (offset === 'prev') { - if (month === 0) date = new Date(year - 1, 11); - else date = new Date(year, month - 1, 1); - } - if (offset === 'next' || offset === 'prev') { - month = date.getMonth(); - year = date.getFullYear(); - } - var daysInPrevMonth = p.daysInMonth(new Date(date.getFullYear(), date.getMonth()).getTime() - 10 * 24 * 60 * 60 * 1000), - daysInMonth = p.daysInMonth(date), - firstDayOfMonthIndex = new Date(date.getFullYear(), date.getMonth()).getDay(); - if (firstDayOfMonthIndex === 0) firstDayOfMonthIndex = 7; - - var dayDate, currentValues = [], i, j, k, - rows = 6, cols = 7, - monthHTML = '', - dayIndex = 0 + (p.params.firstDay - 1), - today = new Date().setHours(0,0,0,0), - minDate = p.params.minDate ? new Date(p.params.minDate).getTime() : null, - maxDate = p.params.maxDate ? new Date(p.params.maxDate).getTime() : null, - disabled, - hasEvent; - - if (p.value && p.value.length) { - for (i = 0; i < p.value.length; i++) { - currentValues.push(new Date(p.value[i]).setHours(0,0,0,0)); - } - } - - for (i = 1; i <= rows; i++) { - var rowHTML = ''; - var row = i; - for (j = 1; j <= cols; j++) { - var col = j; - dayIndex ++; - var dayNumber = dayIndex - firstDayOfMonthIndex; - var weekDayIndex = (col - 1 + p.params.firstDay > 6) ? (col - 1 - 7 + p.params.firstDay) : (col - 1 + p.params.firstDay); - var addClass = ''; - if (dayNumber < 0) { - dayNumber = daysInPrevMonth + dayNumber + 1; - addClass += ' picker-calendar-day-prev'; - dayDate = new Date(month - 1 < 0 ? year - 1 : year, month - 1 < 0 ? 11 : month - 1, dayNumber).getTime(); - } - else { - dayNumber = dayNumber + 1; - if (dayNumber > daysInMonth) { - dayNumber = dayNumber - daysInMonth; - addClass += ' picker-calendar-day-next'; - dayDate = new Date(month + 1 > 11 ? year + 1 : year, month + 1 > 11 ? 0 : month + 1, dayNumber).getTime(); - } - else { - dayDate = new Date(year, month, dayNumber).getTime(); - } - } - // Today - if (dayDate === today) addClass += ' picker-calendar-day-today'; - // Selected - if (p.params.rangePicker && currentValues.length === 2) { - if (dayDate >= currentValues[0] && dayDate <= currentValues[1]) addClass += ' picker-calendar-day-selected'; - } - else { - if (currentValues.indexOf(dayDate) >= 0) addClass += ' picker-calendar-day-selected'; - } - // Weekend - if (p.params.weekendDays.indexOf(weekDayIndex) >= 0) { - addClass += ' picker-calendar-day-weekend'; - } - // Has Events - hasEvent = false; - if (p.params.events) { - if (p.dateInRange(dayDate, p.params.events)) { - hasEvent = true; - } - } - if (hasEvent) { - addClass += ' picker-calendar-day-has-events'; - } - // Custom Ranges - if (p.params.rangesClasses) { - for (k = 0; k < p.params.rangesClasses.length; k++) { - if (p.dateInRange(dayDate, p.params.rangesClasses[k].range)) { - addClass += ' ' + p.params.rangesClasses[k].cssClass; - } - } - } - // Disabled - disabled = false; - if ((minDate && dayDate < minDate) || (maxDate && dayDate > maxDate)) { - disabled = true; - } - if (p.params.disabled) { - if (p.dateInRange(dayDate, p.params.disabled)) { - disabled = true; - } - } - if (disabled) { - addClass += ' picker-calendar-day-disabled'; - } - - - dayDate = new Date(dayDate); - var dayYear = dayDate.getFullYear(); - var dayMonth = dayDate.getMonth(); - rowHTML += '
              '+dayNumber+'
              '; - } - monthHTML += '
              ' + rowHTML + '
              '; - } - monthHTML = '
              ' + monthHTML + '
              '; - return monthHTML; - }; - p.animating = false; - p.updateCurrentMonthYear = function (dir) { - if (typeof dir === 'undefined') { - p.currentMonth = parseInt(p.months.eq(1).attr('data-month'), 10); - p.currentYear = parseInt(p.months.eq(1).attr('data-year'), 10); - } - else { - p.currentMonth = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-month'), 10); - p.currentYear = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-year'), 10); - } - p.container.find('.current-month-value').text(p.params.monthNames[p.currentMonth]); - p.container.find('.current-year-value').text(p.currentYear); - - }; - p.onMonthChangeStart = function (dir) { - p.updateCurrentMonthYear(dir); - p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next'); - var currentIndex = dir === 'next' ? p.months.length - 1 : 0; - - p.months.eq(currentIndex).addClass('picker-calendar-month-current'); - p.months.eq(dir === 'next' ? currentIndex - 1 : currentIndex + 1).addClass(dir === 'next' ? 'picker-calendar-month-prev' : 'picker-calendar-month-next'); - - if (p.params.onMonthYearChangeStart) { - p.params.onMonthYearChangeStart(p, p.currentYear, p.currentMonth); - } - }; - p.onMonthChangeEnd = function (dir, rebuildBoth) { - p.animating = false; - var nextMonthHTML, prevMonthHTML, newMonthHTML; - p.wrapper.find('.picker-calendar-month:not(.picker-calendar-month-prev):not(.picker-calendar-month-current):not(.picker-calendar-month-next)').remove(); - - if (typeof dir === 'undefined') { - dir = 'next'; - rebuildBoth = true; - } - if (!rebuildBoth) { - newMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), dir); - } - else { - p.wrapper.find('.picker-calendar-month-next, .picker-calendar-month-prev').remove(); - prevMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'prev'); - nextMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'next'); - } - if (dir === 'next' || rebuildBoth) { - p.wrapper.append(newMonthHTML || nextMonthHTML); - } - if (dir === 'prev' || rebuildBoth) { - p.wrapper.prepend(newMonthHTML || prevMonthHTML); - } - p.months = p.wrapper.find('.picker-calendar-month'); - p.setMonthsTranslate(p.monthsTranslate); - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]); - } - if (p.params.onMonthYearChangeEnd) { - p.params.onMonthYearChangeEnd(p, p.currentYear, p.currentMonth); - } - }; - p.setMonthsTranslate = function (translate) { - translate = translate || p.monthsTranslate || 0; - if (typeof p.monthsTranslate === 'undefined') p.monthsTranslate = translate; - p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next'); - var prevMonthTranslate = -(translate + 1) * 100 * inverter; - var currentMonthTranslate = -translate * 100 * inverter; - var nextMonthTranslate = -(translate - 1) * 100 * inverter; - p.months.eq(0).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev'); - p.months.eq(1).transform('translate3d(' + (p.isH ? currentMonthTranslate : 0) + '%, ' + (p.isH ? 0 : currentMonthTranslate) + '%, 0)').addClass('picker-calendar-month-current'); - p.months.eq(2).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next'); - }; - p.nextMonth = function (transition) { - if (typeof transition === 'undefined' || typeof transition === 'object') { - transition = ''; - if (!p.params.animate) transition = 0; - } - var nextMonth = parseInt(p.months.eq(p.months.length - 1).attr('data-month'), 10); - var nextYear = parseInt(p.months.eq(p.months.length - 1).attr('data-year'), 10); - var nextDate = new Date(nextYear, nextMonth); - var nextDateTime = nextDate.getTime(); - var transitionEndCallback = p.animating ? false : true; - if (p.params.maxDate) { - if (nextDateTime > new Date(p.params.maxDate).getTime()) { - return p.resetMonth(); - } - } - p.monthsTranslate --; - if (nextMonth === p.currentMonth) { - var nextMonthTranslate = -(p.monthsTranslate) * 100 * inverter; - var nextMonthHTML = $(p.monthHTML(nextDateTime, 'next')).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next'); - p.wrapper.append(nextMonthHTML[0]); - p.months = p.wrapper.find('.picker-calendar-month'); - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, p.months.eq(p.months.length - 1)[0]); - } - } - p.animating = true; - p.onMonthChangeStart('next'); - var translate = (p.monthsTranslate * 100) * inverter; - - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)'); - if (transitionEndCallback) { - p.wrapper.transitionEnd(function () { - p.onMonthChangeEnd('next'); - }); - } - if (!p.params.animate) { - p.onMonthChangeEnd('next'); - } - }; - p.prevMonth = function (transition) { - if (typeof transition === 'undefined' || typeof transition === 'object') { - transition = ''; - if (!p.params.animate) transition = 0; - } - var prevMonth = parseInt(p.months.eq(0).attr('data-month'), 10); - var prevYear = parseInt(p.months.eq(0).attr('data-year'), 10); - var prevDate = new Date(prevYear, prevMonth + 1, -1); - var prevDateTime = prevDate.getTime(); - var transitionEndCallback = p.animating ? false : true; - if (p.params.minDate) { - if (prevDateTime < new Date(p.params.minDate).getTime()) { - return p.resetMonth(); - } - } - p.monthsTranslate ++; - if (prevMonth === p.currentMonth) { - var prevMonthTranslate = -(p.monthsTranslate) * 100 * inverter; - var prevMonthHTML = $(p.monthHTML(prevDateTime, 'prev')).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev'); - p.wrapper.prepend(prevMonthHTML[0]); - p.months = p.wrapper.find('.picker-calendar-month'); - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, p.months.eq(0)[0]); - } - } - p.animating = true; - p.onMonthChangeStart('prev'); - var translate = (p.monthsTranslate * 100) * inverter; - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)'); - if (transitionEndCallback) { - p.wrapper.transitionEnd(function () { - p.onMonthChangeEnd('prev'); - }); - } - if (!p.params.animate) { - p.onMonthChangeEnd('prev'); - } - }; - p.resetMonth = function (transition) { - if (typeof transition === 'undefined') transition = ''; - var translate = (p.monthsTranslate * 100) * inverter; - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)'); - }; - p.setYearMonth = function (year, month, transition) { - if (typeof year === 'undefined') year = p.currentYear; - if (typeof month === 'undefined') month = p.currentMonth; - if (typeof transition === 'undefined' || typeof transition === 'object') { - transition = ''; - if (!p.params.animate) transition = 0; - } - var targetDate; - if (year < p.currentYear) { - targetDate = new Date(year, month + 1, -1).getTime(); - } - else { - targetDate = new Date(year, month).getTime(); - } - if (p.params.maxDate && targetDate > new Date(p.params.maxDate).getTime()) { - return false; - } - if (p.params.minDate && targetDate < new Date(p.params.minDate).getTime()) { - return false; - } - var currentDate = new Date(p.currentYear, p.currentMonth).getTime(); - var dir = targetDate > currentDate ? 'next' : 'prev'; - var newMonthHTML = p.monthHTML(new Date(year, month)); - p.monthsTranslate = p.monthsTranslate || 0; - var prevTranslate = p.monthsTranslate; - var monthTranslate, wrapperTranslate; - var transitionEndCallback = p.animating ? false : true; - if (targetDate > currentDate) { - // To next - p.monthsTranslate --; - if (!p.animating) p.months.eq(p.months.length - 1).remove(); - p.wrapper.append(newMonthHTML); - p.months = p.wrapper.find('.picker-calendar-month'); - monthTranslate = -(prevTranslate - 1) * 100 * inverter; - p.months.eq(p.months.length - 1).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-next'); - } - else { - // To prev - p.monthsTranslate ++; - if (!p.animating) p.months.eq(0).remove(); - p.wrapper.prepend(newMonthHTML); - p.months = p.wrapper.find('.picker-calendar-month'); - monthTranslate = -(prevTranslate + 1) * 100 * inverter; - p.months.eq(0).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-prev'); - } - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]); - } - p.animating = true; - p.onMonthChangeStart(dir); - wrapperTranslate = (p.monthsTranslate * 100) * inverter; - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? wrapperTranslate : 0) + '%, ' + (p.isH ? 0 : wrapperTranslate) + '%, 0)'); - if (transitionEndCallback) { - p.wrapper.transitionEnd(function () { - p.onMonthChangeEnd(dir, true); - }); - } - if (!p.params.animate) { - p.onMonthChangeEnd(dir); - } - }; - p.nextYear = function () { - p.setYearMonth(p.currentYear + 1); - }; - p.prevYear = function () { - p.setYearMonth(p.currentYear - 1); - }; - - - // HTML Layout - p.layout = function () { - var pickerHTML = ''; - var pickerClass = ''; - var i; - - var layoutDate = p.value && p.value.length ? p.value[0] : new Date().setHours(0,0,0,0); - var prevMonthHTML = p.monthHTML(layoutDate, 'prev'); - var currentMonthHTML = p.monthHTML(layoutDate); - var nextMonthHTML = p.monthHTML(layoutDate, 'next'); - var monthsHTML = '
              ' + (prevMonthHTML + currentMonthHTML + nextMonthHTML) + '
              '; - // Week days header - var weekHeaderHTML = ''; - if (p.params.weekHeader) { - for (i = 0; i < 7; i++) { - var weekDayIndex = (i + p.params.firstDay > 6) ? (i - 7 + p.params.firstDay) : (i + p.params.firstDay); - var dayName = p.params.dayNamesShort[weekDayIndex]; - weekHeaderHTML += '
              ' + dayName + '
              '; - - } - weekHeaderHTML = '
              ' + weekHeaderHTML + '
              '; - } - pickerClass = 'picker-modal picker-calendar' + - (p.params.rangePicker ? ' picker-calendar-range' : '') + - (p.params.cssClass ? ' ' + p.params.cssClass : ''); - var toolbarHTML = p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : ''; - if (p.params.toolbar) { - toolbarHTML = p.params.toolbarTemplate - .replace(/{{closeText}}/g, p.params.toolbarCloseText) - .replace(/{{monthPicker}}/g, (p.params.monthPicker ? p.params.monthPickerTemplate : '')) - .replace(/{{yearPicker}}/g, (p.params.yearPicker ? p.params.yearPickerTemplate : '')); - } - var headerHTML = p.params.header ? p.params.headerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText).replace(/{{placeholder}}/g, p.params.headerPlaceholder) : ''; - var footerHTML = p.params.footer ? p.params.footerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : ''; - - pickerHTML = - '
              ' + - headerHTML + - footerHTML + - toolbarHTML + - '
              ' + - weekHeaderHTML + - monthsHTML + - '
              ' + - '
              '; - - - p.pickerHTML = pickerHTML; - }; - - // Input Events - function openOnInput(e) { - e.preventDefault(); - if (p.opened) return; - p.open(); - if (p.params.scrollToInput && !isPopover() && !app.params.material) { - var pageContent = p.input.parents('.page-content'); - if (pageContent.length === 0) return; - - var paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-bottom'), 10), - pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(), - pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(), - newPaddingBottom; - - var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight; - if (inputTop > pageHeight) { - var scrollTop = pageContent.scrollTop() + inputTop - pageHeight; - if (scrollTop + pageHeight > pageScrollHeight) { - newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom; - if (pageHeight === pageScrollHeight) { - newPaddingBottom = p.container.height(); - } - pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'}); - } - pageContent.scrollTop(scrollTop, 300); - } - } - } - function closeOnHTMLClick(e) { - if (inPopover()) return; - if (p.input && p.input.length > 0) { - if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close(); - } - else { - if ($(e.target).parents('.picker-modal').length === 0) p.close(); - } - } - - if (p.params.input) { - p.input = $(p.params.input); - if (p.input.length > 0) { - if (p.params.inputReadOnly) p.input.prop('readOnly', true); - if (!p.inline) { - p.input.on('click', openOnInput); - } - if (p.params.inputReadOnly) { - p.input.on('focus mousedown', function (e) { - e.preventDefault(); - }); - } - } - - } - - if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick); - - // Open - function onPickerClose() { - p.opened = false; - if (p.input && p.input.length > 0) { - p.input.parents('.page-content').css({'padding-bottom': ''}); - if (app.params.material) p.input.trigger('blur'); - } - if (p.params.onClose) p.params.onClose(p); - - // Destroy events - p.destroyCalendarEvents(); - } - - p.opened = false; - p.open = function () { - var toPopover = isPopover(); - var updateValue = false; - if (!p.opened) { - // Set date value - if (!p.value) { - if (p.params.value) { - p.value = p.params.value; - updateValue = true; - } - } - - // Layout - p.layout(); - - // Append - if (toPopover) { - p.pickerHTML = '
              ' + p.pickerHTML + '
              '; - p.popover = app.popover(p.pickerHTML, p.params.input, true); - p.container = $(p.popover).find('.picker-modal'); - $(p.popover).on('close', function () { - onPickerClose(); - }); - } - else if (p.inline) { - p.container = $(p.pickerHTML); - p.container.addClass('picker-modal-inline'); - $(p.params.container).append(p.container); - } - else { - p.container = $(app.pickerModal(p.pickerHTML)); - $(p.container) - .on('close', function () { - onPickerClose(); - }); - } - - // Store calendar instance - p.container[0].f7Calendar = p; - p.wrapper = p.container.find('.picker-calendar-months-wrapper'); - - // Months - p.months = p.wrapper.find('.picker-calendar-month'); - - // Update current month and year - p.updateCurrentMonthYear(); - - // Set initial translate - p.monthsTranslate = 0; - p.setMonthsTranslate(); - - // Init events - p.initCalendarEvents(); - - // Update input value - if (updateValue) p.updateValue(); - else if (app.params.material && p.value) p.updateValue(true); - - // Material Focus - if (p.input && p.input.length > 0 && app.params.material) { - p.input.trigger('focus'); - } - - } - - // Set flag - p.opened = true; - p.initialized = true; - if (p.params.onMonthAdd) { - p.months.each(function () { - p.params.onMonthAdd(p, this); - }); - } - if (p.params.onOpen) p.params.onOpen(p); - }; - - // Close - p.close = function () { - if (!p.opened || p.inline) return; - if (inPopover()) { - app.closeModal(p.popover); - return; - } - else { - app.closeModal(p.container); - return; - } - }; - - // Destroy - p.destroy = function () { - p.close(); - if (p.params.input && p.input.length > 0) { - p.input.off('click focus', openOnInput); - } - $('html').off('click', closeOnHTMLClick); - }; - - if (p.inline) { - p.open(); - } - else { - if (!p.initialized && p.params.value) p.setValue(p.params.value); - } - - return p; - }; - app.calendar = function (params) { - return new Calendar(params); - }; - - - /*====================================================== - ************ Notifications ************ - ======================================================*/ - var _tempNotificationElement; - app.addNotification = function (params) { - if (!params) return; - - if (typeof params.media === 'undefined') params.media = app.params.notificationMedia; - if (typeof params.title === 'undefined') params.title = app.params.notificationTitle; - if (typeof params.subtitle === 'undefined') params.subtitle = app.params.notificationSubtitle; - if (typeof params.closeIcon === 'undefined') params.closeIcon = app.params.notificationCloseIcon; - if (typeof params.hold === 'undefined') params.hold = app.params.notificationHold; - if (typeof params.closeOnClick === 'undefined') params.closeOnClick = app.params.notificationCloseOnClick; - if (typeof params.button === 'undefined') params.button = app.params.notificationCloseButtonText && { - text: app.params.notificationCloseButtonText, - close: true - }; - - if (!_tempNotificationElement) _tempNotificationElement = document.createElement('div'); - - params.material = app.params.material; - - var container = $('.notifications'); - if (container.length === 0) { - app.root.append('
                '); - container = $('.notifications'); - } - var list = container.children('ul'); - - var notificationTemplate = app.params.notificationTemplate || - '{{#if custom}}' + - '
              • {{custom}}
              • ' + - '{{else}}' + - '
              • ' + - '
                ' + - '{{#if material}}' + - '
                ' + - '
                {{js "this.message || this.title || this.subtitle"}}
                ' + - '{{#if ../button}}{{#button}}' + - '
                ' + - '{{text}}' + - '
                ' + - '{{/button}}{{/if}}' + - '
                ' + - '{{else}}' + - '{{#if media}}' + - '
                {{media}}
                ' + - '{{/if}}' + - '
                ' + - '
                ' + - '{{#if title}}' + - '
                {{title}}
                ' + - '{{/if}}' + - '{{#if closeIcon}}' + - '
                ' + - '{{/if}}' + - '
                ' + - '{{#if subtitle}}' + - '
                {{subtitle}}
                ' + - '{{/if}}' + - '{{#if message}}' + - '
                {{message}}
                ' + - '
                ' + - '{{/if}}' + - '{{/if}}' + - '
                ' + - '
              • ' + - '{{/if}}'; - if (!app._compiledTemplates.notification) { - app._compiledTemplates.notification = t7.compile(notificationTemplate); - } - _tempNotificationElement.innerHTML = app._compiledTemplates.notification(params); - - var item = $(_tempNotificationElement).children(); - - item.on('click', function (e) { - var close = false; - var target = $(e.target); - if (params.material && target.hasClass('button')) { - if (params.button && params.button.onClick) params.button.onClick.call(target[0], e, item[0]); - } - if (target.is('.close-notification') || $(e.target).parents('.close-notification').length > 0) { - close = true; - } - else { - if (params.onClick) params.onClick(e, item[0]); - if (params.closeOnClick) close = true; - } - if (close) app.closeNotification(item[0]); - }); - if (params.onClose) { - item.data('f7NotificationOnClose', function () { - params.onClose(item[0]); - }); - } - if (params.additionalClass) { - item.addClass(params.additionalClass); - } - if (params.hold) { - setTimeout(function () { - if (item.length > 0) app.closeNotification(item[0]); - }, params.hold); - } - - if (!app.params.material) { - app.closeNotification(list.children('li.notification-item:last-child')); - } - list.append(item[0]); - container.show(); - - var itemHeight = item.outerHeight(), clientLeft; - if (params.material) { - container.transform('translate3d(0, '+itemHeight+'px, 0)'); - container.transition(0); - - clientLeft = item[0].clientLeft; - - container.transform('translate3d(0, 0, 0)'); - container.transition(''); - } - else { - item.transform('translate3d(0,' + (-itemHeight) + 'px,0)'); - item.transition(0); - - clientLeft = item[0].clientLeft; - - item.transition(''); - item.transform('translate3d(0,0px,0)'); - } - - container.transform('translate3d(0, 0,0)'); - item.removeClass('notification-hidden'); - - return item[0]; - }; - app.closeNotification = function (item) { - item = $(item); - if (item.length === 0) return; - if (item.hasClass('notification-item-removing')) return; - var container = $('.notifications'); - - var itemHeight = item.outerHeight(); - item.css('height', itemHeight + 'px').transition(0).addClass('notification-item-removing'); - var clientLeft = item[0].clientLeft; - - item.css({ - height: '0px', - marginBottom: '0px' - }).transition(''); - - if (item.data('f7NotificationOnClose')) item.data('f7NotificationOnClose')(); - - if (container.find('.notification-item:not(.notification-item-removing)').length === 0) { - container.transform(''); - } - - item.addClass('notification-hidden').transitionEnd(function () { - item.remove(); - if (container.find('.notification-item').length === 0) { - container.hide(); - } - }); - }; - - /*=========================== - Compile Template7 Templates On App Init - ===========================*/ - app.initTemplate7Templates = function () { - if (!window.Template7) return; - Template7.templates = Template7.templates || app.params.templates || {}; - Template7.data = Template7.data || app.params.template7Data || {}; - Template7.cache = Template7.cache || {}; - - app.templates = Template7.templates; - app.template7Data = Template7.data; - app.template7Cache = Template7.cache; - - // Precompile templates on app init - if (!app.params.precompileTemplates) return; - $('script[type="text/template7"]').each(function () { - var id = $(this).attr('id'); - if (!id) return; - Template7.templates[id] = Template7.compile($(this).html()); - }); - }; - - - /*======================================= - ************ Plugins API ************ - =======================================*/ - var _plugins = []; - app.initPlugins = function () { - // Initialize plugins - for (var plugin in app.plugins) { - var p = app.plugins[plugin](app, app.params[plugin]); - if (p) _plugins.push(p); - } - }; - // Plugin Hooks - app.pluginHook = function (hook) { - for (var i = 0; i < _plugins.length; i++) { - if (_plugins[i].hooks && hook in _plugins[i].hooks) { - _plugins[i].hooks[hook](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - } - }; - // Prevented by plugin - app.pluginPrevent = function (action) { - var prevent = false; - for (var i = 0; i < _plugins.length; i++) { - if (_plugins[i].prevents && action in _plugins[i].prevents) { - if (_plugins[i].prevents[action](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])) prevent = true; - } - } - return prevent; - }; - // Preprocess content by plugin - app.pluginProcess = function (process, data) { - var processed = data; - for (var i = 0; i < _plugins.length; i++) { - if (_plugins[i].preprocess && process in _plugins[i].preprocess) { - processed = _plugins[i].preprocess[process](data, arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]); - } - } - return processed; - }; - - - - /*====================================================== - ************ App Init ************ - ======================================================*/ - app.init = function () { - // Compile Template7 templates on app load - if (app.initTemplate7Templates) app.initTemplate7Templates(); - - // Init Plugins - if (app.initPlugins) app.initPlugins(); - - // Init Device - if (app.getDeviceInfo) app.getDeviceInfo(); - - // Init Click events - if (app.initFastClicks && app.params.fastClicks) app.initFastClicks(); - if (app.initClickEvents) app.initClickEvents(); - - // Init each page callbacks - $('.page:not(.cached)').each(function () { - app.initPageWithCallback(this); - }); - - // Init each navbar callbacks - $('.navbar:not(.cached)').each(function () { - app.initNavbarWithCallback(this); - }); - - // Init resize events - if (app.initResize) app.initResize(); - - // Init push state - if (app.initPushState && app.params.pushState) app.initPushState(); - - // Init Live Swipeouts events - if (app.initSwipeout && app.params.swipeout) app.initSwipeout(); - - // Init Live Sortable events - if (app.initSortable && app.params.sortable) app.initSortable(); - - // Init Live Swipe Panels - if (app.initSwipePanels && (app.params.swipePanel || app.params.swipePanelOnlyClose)) app.initSwipePanels(); - - // Init Material Inputs - if (app.params.material && app.initMaterialWatchInputs) app.initMaterialWatchInputs(); - - // App Init callback - if (app.params.onAppInit) app.params.onAppInit(); - - // Plugin app init hook - app.pluginHook('appInit'); - }; - if (app.params.init) app.init(); - - - //Return instance - return app; - }; - - - /*=========================== - Dom7 Library - ===========================*/ - var Dom7 = (function () { - var Dom7 = function (arr) { - var _this = this, i = 0; - // Create array-like object - for (i = 0; i < arr.length; i++) { - _this[i] = arr[i]; - } - _this.length = arr.length; - // Return collection with methods - return this; - }; - var $ = function (selector, context) { - var arr = [], i = 0; - if (selector && !context) { - if (selector instanceof Dom7) { - return selector; - } - } - if (selector) { - // String - if (typeof selector === 'string') { - var els, tempParent, html; - selector = html = selector.trim(); - if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { - var toCreate = 'div'; - if (html.indexOf(':~]/)) { - // Pure ID selector - els = [document.getElementById(selector.split('#')[1])]; - } - else { - // Other selectors - els = (context || document).querySelectorAll(selector); - } - for (i = 0; i < els.length; i++) { - if (els[i]) arr.push(els[i]); - } - } - } - // Node/element - else if (selector.nodeType || selector === window || selector === document) { - arr.push(selector); - } - //Array of elements or instance of Dom - else if (selector.length > 0 && selector[0].nodeType) { - for (i = 0; i < selector.length; i++) { - arr.push(selector[i]); - } - } - } - return new Dom7(arr); - }; - - Dom7.prototype = { - // Classes and attriutes - addClass: function (className) { - if (typeof className === 'undefined') { - return this; - } - var classes = className.split(' '); - for (var i = 0; i < classes.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]); - } - } - return this; - }, - removeClass: function (className) { - var classes = className.split(' '); - for (var i = 0; i < classes.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]); - } - } - return this; - }, - hasClass: function (className) { - if (!this[0]) return false; - else return this[0].classList.contains(className); - }, - toggleClass: function (className) { - var classes = className.split(' '); - for (var i = 0; i < classes.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]); - } - } - return this; - }, - attr: function (attrs, value) { - if (arguments.length === 1 && typeof attrs === 'string') { - // Get attr - if (this[0]) return this[0].getAttribute(attrs); - else return undefined; - } - else { - // Set attrs - for (var i = 0; i < this.length; i++) { - if (arguments.length === 2) { - // String - this[i].setAttribute(attrs, value); - } - else { - // Object - for (var attrName in attrs) { - this[i][attrName] = attrs[attrName]; - this[i].setAttribute(attrName, attrs[attrName]); - } - } - } - return this; - } - }, - removeAttr: function (attr) { - for (var i = 0; i < this.length; i++) { - this[i].removeAttribute(attr); - } - return this; - }, - prop: function (props, value) { - if (arguments.length === 1 && typeof props === 'string') { - // Get prop - if (this[0]) return this[0][props]; - else return undefined; - } - else { - // Set props - for (var i = 0; i < this.length; i++) { - if (arguments.length === 2) { - // String - this[i][props] = value; - } - else { - // Object - for (var propName in props) { - this[i][propName] = props[propName]; - } - } - } - return this; - } - }, - data: function (key, value) { - if (typeof value === 'undefined') { - // Get value - if (this[0]) { - if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) { - return this[0].dom7ElementDataStorage[key]; - } - else { - var dataKey = this[0].getAttribute('data-' + key); - if (dataKey) { - return dataKey; - } - else return undefined; - } - } - else return undefined; - } - else { - // Set value - for (var i = 0; i < this.length; i++) { - var el = this[i]; - if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {}; - el.dom7ElementDataStorage[key] = value; - } - return this; - } - }, - removeData: function(key) { - for (var i = 0; i < this.length; i++) { - var el = this[i]; - if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) { - el.dom7ElementDataStorage[key] = null; - delete el.dom7ElementDataStorage[key]; - } - } - }, - dataset: function () { - var el = this[0]; - if (el) { - var dataset = {}; - if (el.dataset) { - for (var dataKey in el.dataset) { - dataset[dataKey] = el.dataset[dataKey]; - } - } - else { - for (var i = 0; i < el.attributes.length; i++) { - var attr = el.attributes[i]; - if (attr.name.indexOf('data-') >= 0) { - dataset[$.toCamelCase(attr.name.split('data-')[1])] = attr.value; - } - } - } - for (var key in dataset) { - if (dataset[key] === 'false') dataset[key] = false; - else if (dataset[key] === 'true') dataset[key] = true; - else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] = dataset[key] * 1; - } - return dataset; - } - else return undefined; - }, - val: function (value) { - if (typeof value === 'undefined') { - if (this[0]) return this[0].value; - else return undefined; - } - else { - for (var i = 0; i < this.length; i++) { - this[i].value = value; - } - return this; - } - }, - // Transforms - transform : function (transform) { - for (var i = 0; i < this.length; i++) { - var elStyle = this[i].style; - elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform; - } - return this; - }, - transition: function (duration) { - if (typeof duration !== 'string') { - duration = duration + 'ms'; - } - for (var i = 0; i < this.length; i++) { - var elStyle = this[i].style; - elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration; - } - return this; - }, - //Events - on: function (eventName, targetSelector, listener, capture) { - function handleLiveEvent(e) { - var target = e.target; - if ($(target).is(targetSelector)) listener.call(target, e); - else { - var parents = $(target).parents(); - for (var k = 0; k < parents.length; k++) { - if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e); - } - } - } - var events = eventName.split(' '); - var i, j; - for (i = 0; i < this.length; i++) { - if (typeof targetSelector === 'function' || targetSelector === false) { - // Usual events - if (typeof targetSelector === 'function') { - listener = arguments[1]; - capture = arguments[2] || false; - } - for (j = 0; j < events.length; j++) { - this[i].addEventListener(events[j], listener, capture); - } - } - else { - //Live events - for (j = 0; j < events.length; j++) { - if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = []; - this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent}); - this[i].addEventListener(events[j], handleLiveEvent, capture); - } - } - } - - return this; - }, - off: function (eventName, targetSelector, listener, capture) { - var events = eventName.split(' '); - for (var i = 0; i < events.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof targetSelector === 'function' || targetSelector === false) { - // Usual events - if (typeof targetSelector === 'function') { - listener = arguments[1]; - capture = arguments[2] || false; - } - this[j].removeEventListener(events[i], listener, capture); - } - else { - // Live event - if (this[j].dom7LiveListeners) { - for (var k = 0; k < this[j].dom7LiveListeners.length; k++) { - if (this[j].dom7LiveListeners[k].listener === listener) { - this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture); - } - } - } - } - } - } - return this; - }, - once: function (eventName, targetSelector, listener, capture) { - var dom = this; - if (typeof targetSelector === 'function') { - listener = arguments[1]; - capture = arguments[2]; - targetSelector = false; - } - function proxy(e) { - listener.call(e.target, e); - dom.off(eventName, targetSelector, proxy, capture); - } - return dom.on(eventName, targetSelector, proxy, capture); - }, - trigger: function (eventName, eventData) { - var events = eventName.split(' '); - for (var i = 0; i < events.length; i++) { - for (var j = 0; j < this.length; j++) { - var evt; - try { - evt = new CustomEvent(events[i], {detail: eventData, bubbles: true, cancelable: true}); - } - catch (e) { - evt = document.createEvent('Event'); - evt.initEvent(events[i], true, true); - evt.detail = eventData; - } - this[j].dispatchEvent(evt); - } - } - return this; - }, - transitionEnd: function (callback) { - var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'], - i, j, dom = this; - function fireCallBack(e) { - /*jshint validthis:true */ - if (e.target !== this) return; - callback.call(this, e); - for (i = 0; i < events.length; i++) { - dom.off(events[i], fireCallBack); - } - } - if (callback) { - for (i = 0; i < events.length; i++) { - dom.on(events[i], fireCallBack); - } - } - return this; - }, - animationEnd: function (callback) { - var events = ['webkitAnimationEnd', 'OAnimationEnd', 'MSAnimationEnd', 'animationend'], - i, j, dom = this; - function fireCallBack(e) { - callback(e); - for (i = 0; i < events.length; i++) { - dom.off(events[i], fireCallBack); - } - } - if (callback) { - for (i = 0; i < events.length; i++) { - dom.on(events[i], fireCallBack); - } - } - return this; - }, - // Sizing/Styles - width: function () { - if (this[0] === window) { - return window.innerWidth; - } - else { - if (this.length > 0) { - return parseFloat(this.css('width')); - } - else { - return null; - } - } - }, - outerWidth: function (includeMargins) { - if (this.length > 0) { - if (includeMargins) { - var styles = this.styles(); - return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); - } - else - return this[0].offsetWidth; - } - else return null; - }, - height: function () { - if (this[0] === window) { - return window.innerHeight; - } - else { - if (this.length > 0) { - return parseFloat(this.css('height')); - } - else { - return null; - } - } - }, - outerHeight: function (includeMargins) { - if (this.length > 0) { - if (includeMargins) { - var styles = this.styles(); - return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); - } - else - return this[0].offsetHeight; - } - else return null; - }, - offset: function () { - if (this.length > 0) { - var el = this[0]; - var box = el.getBoundingClientRect(); - var body = document.body; - var clientTop = el.clientTop || body.clientTop || 0; - var clientLeft = el.clientLeft || body.clientLeft || 0; - var scrollTop = window.pageYOffset || el.scrollTop; - var scrollLeft = window.pageXOffset || el.scrollLeft; - return { - top: box.top + scrollTop - clientTop, - left: box.left + scrollLeft - clientLeft - }; - } - else { - return null; - } - }, - hide: function () { - for (var i = 0; i < this.length; i++) { - this[i].style.display = 'none'; - } - return this; - }, - show: function () { - for (var i = 0; i < this.length; i++) { - this[i].style.display = 'block'; - } - return this; - }, - styles: function () { - var i, styles; - if (this[0]) return window.getComputedStyle(this[0], null); - else return undefined; - }, - css: function (props, value) { - var i; - if (arguments.length === 1) { - if (typeof props === 'string') { - if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props); - } - else { - for (i = 0; i < this.length; i++) { - for (var prop in props) { - this[i].style[prop] = props[prop]; - } - } - return this; - } - } - if (arguments.length === 2 && typeof props === 'string') { - for (i = 0; i < this.length; i++) { - this[i].style[props] = value; - } - return this; - } - return this; - }, - - //Dom manipulation - each: function (callback) { - for (var i = 0; i < this.length; i++) { - callback.call(this[i], i, this[i]); - } - return this; - }, - filter: function (callback) { - var matchedItems = []; - var dom = this; - for (var i = 0; i < dom.length; i++) { - if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]); - } - return new Dom7(matchedItems); - }, - html: function (html) { - if (typeof html === 'undefined') { - return this[0] ? this[0].innerHTML : undefined; - } - else { - for (var i = 0; i < this.length; i++) { - this[i].innerHTML = html; - } - return this; - } - }, - text: function (text) { - if (typeof text === 'undefined') { - if (this[0]) { - return this[0].textContent.trim(); - } - else return null; - } - else { - for (var i = 0; i < this.length; i++) { - this[i].textContent = text; - } - return this; - } - }, - is: function (selector) { - if (!this[0] || typeof selector === 'undefined') return false; - var compareWith, i; - if (typeof selector === 'string') { - var el = this[0]; - if (el === document) return selector === document; - if (el === window) return selector === window; - - if (el.matches) return el.matches(selector); - else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector); - else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector); - else if (el.msMatchesSelector) return el.msMatchesSelector(selector); - else { - compareWith = $(selector); - for (i = 0; i < compareWith.length; i++) { - if (compareWith[i] === this[0]) return true; - } - return false; - } - } - else if (selector === document) return this[0] === document; - else if (selector === window) return this[0] === window; - else { - if (selector.nodeType || selector instanceof Dom7) { - compareWith = selector.nodeType ? [selector] : selector; - for (i = 0; i < compareWith.length; i++) { - if (compareWith[i] === this[0]) return true; - } - return false; - } - return false; - } - - }, - indexOf: function (el) { - for (var i = 0; i < this.length; i++) { - if (this[i] === el) return i; - } - }, - index: function () { - if (this[0]) { - var child = this[0]; - var i = 0; - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i++; - } - return i; - } - else return undefined; - }, - eq: function (index) { - if (typeof index === 'undefined') return this; - var length = this.length; - var returnIndex; - if (index > length - 1) { - return new Dom7([]); - } - if (index < 0) { - returnIndex = length + index; - if (returnIndex < 0) return new Dom7([]); - else return new Dom7([this[returnIndex]]); - } - return new Dom7([this[index]]); - }, - append: function (newChild) { - var i, j; - for (i = 0; i < this.length; i++) { - if (typeof newChild === 'string') { - var tempDiv = document.createElement('div'); - tempDiv.innerHTML = newChild; - while (tempDiv.firstChild) { - this[i].appendChild(tempDiv.firstChild); - } - } - else if (newChild instanceof Dom7) { - for (j = 0; j < newChild.length; j++) { - this[i].appendChild(newChild[j]); - } - } - else { - this[i].appendChild(newChild); - } - } - return this; - }, - appendTo: function (parent) { - $(parent).append(this); - return this; - }, - prepend: function (newChild) { - var i, j; - for (i = 0; i < this.length; i++) { - if (typeof newChild === 'string') { - var tempDiv = document.createElement('div'); - tempDiv.innerHTML = newChild; - for (j = tempDiv.childNodes.length - 1; j >= 0; j--) { - this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]); - } - // this[i].insertAdjacentHTML('afterbegin', newChild); - } - else if (newChild instanceof Dom7) { - for (j = 0; j < newChild.length; j++) { - this[i].insertBefore(newChild[j], this[i].childNodes[0]); - } - } - else { - this[i].insertBefore(newChild, this[i].childNodes[0]); - } - } - return this; - }, - prependTo: function (parent) { - $(parent).prepend(this); - return this; - }, - insertBefore: function (selector) { - var before = $(selector); - for (var i = 0; i < this.length; i++) { - if (before.length === 1) { - before[0].parentNode.insertBefore(this[i], before[0]); - } - else if (before.length > 1) { - for (var j = 0; j < before.length; j++) { - before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]); - } - } - } - }, - insertAfter: function (selector) { - var after = $(selector); - for (var i = 0; i < this.length; i++) { - if (after.length === 1) { - after[0].parentNode.insertBefore(this[i], after[0].nextSibling); - } - else if (after.length > 1) { - for (var j = 0; j < after.length; j++) { - after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling); - } - } - } - }, - next: function (selector) { - if (this.length > 0) { - if (selector) { - if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]); - else return new Dom7([]); - } - else { - if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]); - else return new Dom7([]); - } - } - else return new Dom7([]); - }, - nextAll: function (selector) { - var nextEls = []; - var el = this[0]; - if (!el) return new Dom7([]); - while (el.nextElementSibling) { - var next = el.nextElementSibling; - if (selector) { - if($(next).is(selector)) nextEls.push(next); - } - else nextEls.push(next); - el = next; - } - return new Dom7(nextEls); - }, - prev: function (selector) { - if (this.length > 0) { - if (selector) { - if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]); - else return new Dom7([]); - } - else { - if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]); - else return new Dom7([]); - } - } - else return new Dom7([]); - }, - prevAll: function (selector) { - var prevEls = []; - var el = this[0]; - if (!el) return new Dom7([]); - while (el.previousElementSibling) { - var prev = el.previousElementSibling; - if (selector) { - if($(prev).is(selector)) prevEls.push(prev); - } - else prevEls.push(prev); - el = prev; - } - return new Dom7(prevEls); - }, - siblings: function (selector) { - return this.nextAll(selector).add(this.prevAll(selector)); - }, - parent: function (selector) { - var parents = []; - for (var i = 0; i < this.length; i++) { - if (this[i].parentNode !== null) { - if (selector) { - if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode); - } - else { - parents.push(this[i].parentNode); - } - } - } - return $($.unique(parents)); - }, - parents: function (selector) { - var parents = []; - for (var i = 0; i < this.length; i++) { - var parent = this[i].parentNode; - while (parent) { - if (selector) { - if ($(parent).is(selector)) parents.push(parent); - } - else { - parents.push(parent); - } - parent = parent.parentNode; - } - } - return $($.unique(parents)); - }, - closest: function (selector) { - var closest = this; - if (typeof selector === 'undefined') { - return new Dom7([]); - } - if (!closest.is(selector)) { - closest = closest.parents(selector).eq(0); - } - return closest; - }, - find : function (selector) { - var foundElements = []; - for (var i = 0; i < this.length; i++) { - var found = this[i].querySelectorAll(selector); - for (var j = 0; j < found.length; j++) { - foundElements.push(found[j]); - } - } - return new Dom7(foundElements); - }, - children: function (selector) { - var children = []; - for (var i = 0; i < this.length; i++) { - var childNodes = this[i].childNodes; - - for (var j = 0; j < childNodes.length; j++) { - if (!selector) { - if (childNodes[j].nodeType === 1) children.push(childNodes[j]); - } - else { - if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]); - } - } - } - return new Dom7($.unique(children)); - }, - remove: function () { - for (var i = 0; i < this.length; i++) { - if (this[i].parentNode) this[i].parentNode.removeChild(this[i]); - } - return this; - }, - detach: function () { - return this.remove(); - }, - add: function () { - var dom = this; - var i, j; - for (i = 0; i < arguments.length; i++) { - var toAdd = $(arguments[i]); - for (j = 0; j < toAdd.length; j++) { - dom[dom.length] = toAdd[j]; - dom.length++; - } - } - return dom; - }, - empty: function () { - for (var i = 0; i < this.length; i++) { - var el = this[i]; - if (el.nodeType === 1) { - for (var j = 0; j < el.childNodes.length; j++) { - if (el.childNodes[j].parentNode) el.childNodes[j].parentNode.removeChild(el.childNodes[j]); - } - el.textContent = ''; - } - } - return this; - } - }; - - // Shortcuts - (function () { - var shortcuts = ('click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll').split(' '); - var notTrigger = ('resize scroll').split(' '); - function createMethod(name) { - Dom7.prototype[name] = function (targetSelector, listener, capture) { - var i; - if (typeof targetSelector === 'undefined') { - for (i = 0; i < this.length; i++) { - if (notTrigger.indexOf(name) < 0) { - if (name in this[i]) this[i][name](); - else { - $(this[i]).trigger(name); - } - } - } - return this; - } - else { - return this.on(name, targetSelector, listener, capture); - } - }; - } - for (var i = 0; i < shortcuts.length; i++) { - createMethod(shortcuts[i]); - } - })(); - - - // Global Ajax Setup - var globalAjaxOptions = {}; - $.ajaxSetup = function (options) { - if (options.type) options.method = options.type; - $.each(options, function (optionName, optionValue) { - globalAjaxOptions[optionName] = optionValue; - }); - }; - - // Ajax - var _jsonpRequests = 0; - $.ajax = function (options) { - var defaults = { - method: 'GET', - data: false, - async: true, - cache: true, - user: '', - password: '', - headers: {}, - xhrFields: {}, - statusCode: {}, - processData: true, - dataType: 'text', - contentType: 'application/x-www-form-urlencoded', - timeout: 0 - }; - var callbacks = ['beforeSend', 'error', 'complete', 'success', 'statusCode']; - - - //For jQuery guys - if (options.type) options.method = options.type; - - // Merge global and defaults - $.each(globalAjaxOptions, function (globalOptionName, globalOptionValue) { - if (callbacks.indexOf(globalOptionName) < 0) defaults[globalOptionName] = globalOptionValue; - }); - - // Function to run XHR callbacks and events - function fireAjaxCallback (eventName, eventData, callbackName) { - var a = arguments; - if (eventName) $(document).trigger(eventName, eventData); - if (callbackName) { - // Global callback - if (callbackName in globalAjaxOptions) globalAjaxOptions[callbackName](a[3], a[4], a[5], a[6]); - // Options callback - if (options[callbackName]) options[callbackName](a[3], a[4], a[5], a[6]); - } - } - - // Merge options and defaults - $.each(defaults, function (prop, defaultValue) { - if (!(prop in options)) options[prop] = defaultValue; - }); - - // Default URL - if (!options.url) { - options.url = window.location.toString(); - } - // Parameters Prefix - var paramsPrefix = options.url.indexOf('?') >= 0 ? '&' : '?'; - - // UC method - var _method = options.method.toUpperCase(); - // Data to modify GET URL - if ((_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') && options.data) { - var stringData; - if (typeof options.data === 'string') { - // Should be key=value string - if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1]; - else stringData = options.data; - } - else { - // Should be key=value object - stringData = $.serializeObject(options.data); - } - if (stringData.length) { - options.url += paramsPrefix + stringData; - if (paramsPrefix === '?') paramsPrefix = '&'; - } - } - // JSONP - if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) { - - var callbackName = 'f7jsonp_' + Date.now() + (_jsonpRequests++); - var abortTimeout; - var callbackSplit = options.url.split('callback='); - var requestUrl = callbackSplit[0] + 'callback=' + callbackName; - if (callbackSplit[1].indexOf('&') >= 0) { - var addVars = callbackSplit[1].split('&').filter(function (el) { return el.indexOf('=') > 0; }).join('&'); - if (addVars.length > 0) requestUrl += '&' + addVars; - } - - // Create script - var script = document.createElement('script'); - script.type = 'text/javascript'; - script.onerror = function() { - clearTimeout(abortTimeout); - fireAjaxCallback(undefined, undefined, 'error', null, 'scripterror'); - }; - script.src = requestUrl; - - // Handler - window[callbackName] = function (data) { - clearTimeout(abortTimeout); - fireAjaxCallback(undefined, undefined, 'success', data); - script.parentNode.removeChild(script); - script = null; - delete window[callbackName]; - }; - document.querySelector('head').appendChild(script); - - if (options.timeout > 0) { - abortTimeout = setTimeout(function () { - script.parentNode.removeChild(script); - script = null; - fireAjaxCallback(undefined, undefined, 'error', null, 'timeout'); - }, options.timeout); - } - - return; - } - - // Cache for GET/HEAD requests - if (_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') { - if (options.cache === false) { - options.url += (paramsPrefix + '_nocache=' + Date.now()); - } - } - - // Create XHR - var xhr = new XMLHttpRequest(); - - // Save Request URL - xhr.requestUrl = options.url; - xhr.requestParameters = options; - - // Open XHR - xhr.open(_method, options.url, options.async, options.user, options.password); - - // Create POST Data - var postData = null; - - if ((_method === 'POST' || _method === 'PUT' || _method === 'PATCH') && options.data) { - if (options.processData) { - var postDataInstances = [ArrayBuffer, Blob, Document, FormData]; - // Post Data - if (postDataInstances.indexOf(options.data.constructor) >= 0) { - postData = options.data; - } - else { - // POST Headers - var boundary = '---------------------------' + Date.now().toString(16); - - if (options.contentType === 'multipart\/form-data') { - xhr.setRequestHeader('Content-Type', 'multipart\/form-data; boundary=' + boundary); - } - else { - xhr.setRequestHeader('Content-Type', options.contentType); - } - postData = ''; - var _data = $.serializeObject(options.data); - if (options.contentType === 'multipart\/form-data') { - boundary = '---------------------------' + Date.now().toString(16); - _data = _data.split('&'); - var _newData = []; - for (var i = 0; i < _data.length; i++) { - _newData.push('Content-Disposition: form-data; name="' + _data[i].split('=')[0] + '"\r\n\r\n' + _data[i].split('=')[1] + '\r\n'); - } - postData = '--' + boundary + '\r\n' + _newData.join('--' + boundary + '\r\n') + '--' + boundary + '--\r\n'; - } - else { - postData = options.contentType === 'application/x-www-form-urlencoded' ? _data : _data.replace(/&/g, '\r\n'); - } - } - } - else { - postData = options.data; - } - - } - - // Additional headers - if (options.headers) { - $.each(options.headers, function (headerName, headerCallback) { - xhr.setRequestHeader(headerName, headerCallback); - }); - } - - // Check for crossDomain - if (typeof options.crossDomain === 'undefined') { - options.crossDomain = /^([\w-]+:)?\/\/([^\/]+)/.test(options.url) && RegExp.$2 !== window.location.host; - } - - if (!options.crossDomain) { - xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); - } - - if (options.xhrFields) { - $.each(options.xhrFields, function (fieldName, fieldValue) { - xhr[fieldName] = fieldValue; - }); - } - - var xhrTimeout; - // Handle XHR - xhr.onload = function (e) { - if (xhrTimeout) clearTimeout(xhrTimeout); - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) { - var responseData; - if (options.dataType === 'json') { - try { - responseData = JSON.parse(xhr.responseText); - fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr); - } - catch (err) { - fireAjaxCallback('ajaxError', {xhr: xhr, parseerror: true}, 'error', xhr, 'parseerror'); - } - } - else { - responseData = xhr.responseType === 'text' || xhr.responseType === '' ? xhr.responseText : xhr.response; - fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr); - } - } - else { - fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status); - } - if (options.statusCode) { - if (globalAjaxOptions.statusCode && globalAjaxOptions.statusCode[xhr.status]) globalAjaxOptions.statusCode[xhr.status](xhr); - if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr); - } - fireAjaxCallback('ajaxComplete', {xhr: xhr}, 'complete', xhr, xhr.status); - }; - - xhr.onerror = function (e) { - if (xhrTimeout) clearTimeout(xhrTimeout); - fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status); - }; - - // Ajax start callback - fireAjaxCallback('ajaxStart', {xhr: xhr}, 'start', xhr); - fireAjaxCallback(undefined, undefined, 'beforeSend', xhr); - - // Timeout - if (options.timeout > 0) { - xhr.onabort = function () { - if (xhrTimeout) clearTimeout(xhrTimeout); - }; - xhrTimeout = setTimeout(function () { - xhr.abort(); - fireAjaxCallback('ajaxError', {xhr: xhr, timeout: true}, 'error', xhr, 'timeout'); - fireAjaxCallback('ajaxComplete', {xhr: xhr, timeout: true}, 'complete', xhr, 'timeout'); - }, options.timeout); - } - - // Send XHR - xhr.send(postData); - - // Return XHR object - return xhr; - }; - // Shrotcuts - (function () { - var methods = ('get post getJSON').split(' '); - function createMethod(method) { - $[method] = function (url, data, success, error) { - return $.ajax({ - url: url, - method: method === 'post' ? 'POST' : 'GET', - data: typeof data === 'function' ? undefined : data, - success: typeof data === 'function' ? data : success, - error: typeof data === 'function' ? success : error, - dataType: method === 'getJSON' ? 'json' : undefined - }); - }; - } - for (var i = 0; i < methods.length; i++) { - createMethod(methods[i]); - } - })(); - - - // DOM Library Utilites - $.parseUrlQuery = function (url) { - var url = url || location.href; - var query = {}, i, params, param; - - if (typeof url === 'string' && url.length) { - url = (url.indexOf('#') > -1) ? url.split('#')[0] : url; - if (url.indexOf('?') > -1) url = url.split('?')[1]; - else return query; - - params = url.split('&'); - for (i = 0; i < params.length; i ++) { - param = params[i].split('='); - query[param[0]] = param[1]; - } - } - return query; - }; - $.isArray = function (arr) { - if (Object.prototype.toString.apply(arr) === '[object Array]') return true; - else return false; - }; - $.each = function (obj, callback) { - if (typeof obj !== 'object') return; - if (!callback) return; - var i, prop; - if ($.isArray(obj) || obj instanceof Dom7) { - // Array - for (i = 0; i < obj.length; i++) { - callback(i, obj[i]); - } - } - else { - // Object - for (prop in obj) { - if (obj.hasOwnProperty(prop)) { - callback(prop, obj[prop]); - } - } - } - }; - $.unique = function (arr) { - var unique = []; - for (var i = 0; i < arr.length; i++) { - if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]); - } - return unique; - }; - $.serializeObject = $.param = function (obj, parents) { - if (typeof obj === 'string') return obj; - var resultArray = []; - var separator = '&'; - parents = parents || []; - var newParents; - function var_name(name) { - if (parents.length > 0) { - var _parents = ''; - for (var j = 0; j < parents.length; j++) { - if (j === 0) _parents += parents[j]; - else _parents += '[' + encodeURIComponent(parents[j]) + ']'; - } - return _parents + '[' + encodeURIComponent(name) + ']'; - } - else { - return encodeURIComponent(name); - } - } - function var_value(value) { - return encodeURIComponent(value); - } - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) { - var toPush; - if ($.isArray(obj[prop])) { - toPush = []; - for (var i = 0; i < obj[prop].length; i ++) { - if (!$.isArray(obj[prop][i]) && typeof obj[prop][i] === 'object') { - newParents = parents.slice(); - newParents.push(prop); - newParents.push(i + ''); - toPush.push($.serializeObject(obj[prop][i], newParents)); - } - else { - toPush.push(var_name(prop) + '[]=' + var_value(obj[prop][i])); - } - - } - if (toPush.length > 0) resultArray.push(toPush.join(separator)); - } - else if (obj[prop] === null) { - resultArray.push(var_name(prop) + '='); - } - else if (typeof obj[prop] === 'object') { - // Object, convert to named array - newParents = parents.slice(); - newParents.push(prop); - toPush = $.serializeObject(obj[prop], newParents); - if (toPush !== '') resultArray.push(toPush); - } - else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') { - // Should be string or plain value - resultArray.push(var_name(prop) + '=' + var_value(obj[prop])); - } - } - } - return resultArray.join(separator); - }; - $.toCamelCase = function (string) { - return string.toLowerCase().replace(/-(.)/g, function(match, group1) { - return group1.toUpperCase(); - }); - }; - $.dataset = function (el) { - return $(el).dataset(); - }; - $.getTranslate = function (el, axis) { - var matrix, curTransform, curStyle, transformMatrix; - - // automatic axis detection - if (typeof axis === 'undefined') { - axis = 'x'; - } - - curStyle = window.getComputedStyle(el, null); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(function(a){ - return a.replace(',','.'); - }).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } - else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - - if (axis === 'x') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m41; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[12]); - //Normal Browsers - else - curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m42; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[13]); - //Normal Browsers - else - curTransform = parseFloat(matrix[5]); - } - - return curTransform || 0; - }; - - $.requestAnimationFrame = function (callback) { - if (window.requestAnimationFrame) return window.requestAnimationFrame(callback); - else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback); - else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback); - else { - return window.setTimeout(callback, 1000 / 60); - } - }; - $.cancelAnimationFrame = function (id) { - if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id); - else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id); - else if (window.mozCancelAnimationFrame) return window.mozCancelAnimationFrame(id); - else { - return window.clearTimeout(id); - } - }; - $.supportTouch = !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch); - - // Remove Diacritics - var defaultDiacriticsRemovalap = [ - {base:'A', letters:'\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'}, - {base:'AA',letters:'\uA732'}, - {base:'AE',letters:'\u00C6\u01FC\u01E2'}, - {base:'AO',letters:'\uA734'}, - {base:'AU',letters:'\uA736'}, - {base:'AV',letters:'\uA738\uA73A'}, - {base:'AY',letters:'\uA73C'}, - {base:'B', letters:'\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181'}, - {base:'C', letters:'\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E'}, - {base:'D', letters:'\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779'}, - {base:'DZ',letters:'\u01F1\u01C4'}, - {base:'Dz',letters:'\u01F2\u01C5'}, - {base:'E', letters:'\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E'}, - {base:'F', letters:'\u0046\u24BB\uFF26\u1E1E\u0191\uA77B'}, - {base:'G', letters:'\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E'}, - {base:'H', letters:'\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D'}, - {base:'I', letters:'\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197'}, - {base:'J', letters:'\u004A\u24BF\uFF2A\u0134\u0248'}, - {base:'K', letters:'\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2'}, - {base:'L', letters:'\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780'}, - {base:'LJ',letters:'\u01C7'}, - {base:'Lj',letters:'\u01C8'}, - {base:'M', letters:'\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C'}, - {base:'N', letters:'\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4'}, - {base:'NJ',letters:'\u01CA'}, - {base:'Nj',letters:'\u01CB'}, - {base:'O', letters:'\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C'}, - {base:'OI',letters:'\u01A2'}, - {base:'OO',letters:'\uA74E'}, - {base:'OU',letters:'\u0222'}, - {base:'OE',letters:'\u008C\u0152'}, - {base:'oe',letters:'\u009C\u0153'}, - {base:'P', letters:'\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754'}, - {base:'Q', letters:'\u0051\u24C6\uFF31\uA756\uA758\u024A'}, - {base:'R', letters:'\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782'}, - {base:'S', letters:'\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784'}, - {base:'T', letters:'\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786'}, - {base:'TZ',letters:'\uA728'}, - {base:'U', letters:'\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244'}, - {base:'V', letters:'\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245'}, - {base:'VY',letters:'\uA760'}, - {base:'W', letters:'\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72'}, - {base:'X', letters:'\u0058\u24CD\uFF38\u1E8A\u1E8C'}, - {base:'Y', letters:'\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE'}, - {base:'Z', letters:'\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762'}, - {base:'a', letters:'\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250'}, - {base:'aa',letters:'\uA733'}, - {base:'ae',letters:'\u00E6\u01FD\u01E3'}, - {base:'ao',letters:'\uA735'}, - {base:'au',letters:'\uA737'}, - {base:'av',letters:'\uA739\uA73B'}, - {base:'ay',letters:'\uA73D'}, - {base:'b', letters:'\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253'}, - {base:'c', letters:'\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184'}, - {base:'d', letters:'\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A'}, - {base:'dz',letters:'\u01F3\u01C6'}, - {base:'e', letters:'\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD'}, - {base:'f', letters:'\u0066\u24D5\uFF46\u1E1F\u0192\uA77C'}, - {base:'g', letters:'\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F'}, - {base:'h', letters:'\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265'}, - {base:'hv',letters:'\u0195'}, - {base:'i', letters:'\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131'}, - {base:'j', letters:'\u006A\u24D9\uFF4A\u0135\u01F0\u0249'}, - {base:'k', letters:'\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3'}, - {base:'l', letters:'\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747'}, - {base:'lj',letters:'\u01C9'}, - {base:'m', letters:'\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F'}, - {base:'n', letters:'\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5'}, - {base:'nj',letters:'\u01CC'}, - {base:'o', letters:'\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275'}, - {base:'oi',letters:'\u01A3'}, - {base:'ou',letters:'\u0223'}, - {base:'oo',letters:'\uA74F'}, - {base:'p',letters:'\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755'}, - {base:'q',letters:'\u0071\u24E0\uFF51\u024B\uA757\uA759'}, - {base:'r',letters:'\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783'}, - {base:'s',letters:'\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B'}, - {base:'t',letters:'\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787'}, - {base:'tz',letters:'\uA729'}, - {base:'u',letters: '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289'}, - {base:'v',letters:'\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C'}, - {base:'vy',letters:'\uA761'}, - {base:'w',letters:'\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73'}, - {base:'x',letters:'\u0078\u24E7\uFF58\u1E8B\u1E8D'}, - {base:'y',letters:'\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF'}, - {base:'z',letters:'\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763'} - ]; - - var diacriticsMap = {}; - for (var i=0; i < defaultDiacriticsRemovalap.length; i++){ - var letters = defaultDiacriticsRemovalap[i].letters; - for (var j=0; j < letters.length ; j++){ - diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base; - } - } - - $.removeDiacritics = function (str) { - return str.replace(/[^\u0000-\u007E]/g, function(a){ - return diacriticsMap[a] || a; - }); - }; - // Link to prototype - $.fn = Dom7.prototype; - - // Plugins - $.fn.scrollTo = function (left, top, duration, easing, callback) { - if (arguments.length === 4 && typeof easing === 'function') { - callback = easing; - easing = undefined; - } - return this.each(function () { - var el = this; - var currentTop, currentLeft, maxTop, maxLeft, newTop, newLeft, scrollTop, scrollLeft; - var animateTop = top > 0 || top === 0; - var animateLeft = left > 0 || left === 0; - if (typeof easing === 'undefined') { - easing = 'swing'; - } - if (animateTop) { - currentTop = el.scrollTop; - if (!duration) { - el.scrollTop = top; - } - } - if (animateLeft) { - currentLeft = el.scrollLeft; - if (!duration) { - el.scrollLeft = left; - } - } - if (!duration) return; - if (animateTop) { - maxTop = el.scrollHeight - el.offsetHeight; - newTop = Math.max(Math.min(top, maxTop), 0); - } - if (animateLeft) { - maxLeft = el.scrollWidth - el.offsetWidth; - newLeft = Math.max(Math.min(left, maxLeft), 0); - } - var startTime = null; - if (animateTop && newTop === currentTop) animateTop = false; - if (animateLeft && newLeft === currentLeft) animateLeft = false; - function render(time) { - if (time === undefined) { - time = new Date().getTime(); - } - if (startTime === null) { - startTime = time; - } - var doneLeft, doneTop, done; - var progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - var easeProgress = easing === 'linear' ? progress : (0.5 - Math.cos( progress * Math.PI ) / 2); - if (animateTop) scrollTop = currentTop + (easeProgress * (newTop - currentTop)); - if (animateLeft) scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft)); - if (animateTop && newTop > currentTop && scrollTop >= newTop) { - el.scrollTop = newTop; - done = true; - } - if (animateTop && newTop < currentTop && scrollTop <= newTop) { - el.scrollTop = newTop; - done = true; - } - - if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) { - el.scrollLeft = newLeft; - done = true; - } - if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) { - el.scrollLeft = newLeft; - done = true; - } - - if (done) { - if (callback) callback(); - return; - } - if (animateTop) el.scrollTop = scrollTop; - if (animateLeft) el.scrollLeft = scrollLeft; - $.requestAnimationFrame(render); - } - $.requestAnimationFrame(render); - }); - }; - $.fn.scrollTop = function (top, duration, easing, callback) { - if (arguments.length === 3 && typeof easing === 'function') { - callback = easing; - easing = undefined; - } - var dom = this; - if (typeof top === 'undefined') { - if (dom.length > 0) return dom[0].scrollTop; - else return null; - } - return dom.scrollTo(undefined, top, duration, easing, callback); - }; - $.fn.scrollLeft = function (left, duration, easing, callback) { - if (arguments.length === 3 && typeof easing === 'function') { - callback = easing; - easing = undefined; - } - var dom = this; - if (typeof left === 'undefined') { - if (dom.length > 0) return dom[0].scrollLeft; - else return null; - } - return dom.scrollTo(left, undefined, duration, easing, callback); - }; - - return $; - })(); - - // Export Dom7 to Framework7 - Framework7.$ = Dom7; - - // Export to local scope - var $ = Dom7; - - // Export to Window - window.Dom7 = Dom7; - - - /*======================== - Animate7 Animate Engine - ==========================*/ - var Animate7 = function (elements, props, params) { - props = props || {}; - params = params || {}; - var defaults = { - duration: 300, - easing: 'swing', // or 'linear' - /* Callbacks - begin(elements) - complete(elements) - progress(elements, complete, remaining, start, tweenValue) - */ - }; - - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - - var a = this; - a.params = params; - a.props = props; - a.elements = $(elements); - if (a.elements.length === 0) { - return a; - } - - a.easingProgress = function (easing, progress) { - if (easing === 'swing') { - return 0.5 - Math.cos( progress * Math.PI ) / 2; - } - if (typeof easing === 'function') { - return easing(progress); - } - return progress; - }; - - a.stop = function () { - if (a.frameId) { - $.cancelAnimationFrame(a.frameId); - } - a.animating = false; - a.elements.each(function (index, el) { - delete el.animate7Instance; - }); - a.que = []; - }; - a.done = function (complete) { - a.animating = false; - a.elements.each(function (index, el) { - delete el.animate7Instance; - }); - if (complete) complete(elements); - if (a.que.length > 0) { - var que = a.que.shift(); - a.animate(que[0], que[1]); - } - }; - a.animating = false; - a.que = []; - a.animate = function (props, params) { - if (a.animating) { - a.que.push([props, params]); - return a; - } - a.params = params; - - var _elements = []; - - // Define & Cache Initials & Units - a.elements.each(function (index, el) { - var initialFullValue, initialValue, unit, finalValue, finalFullValue; - - _elements[index] = { - _container: el - }; - - for (var prop in props) { - initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.'); - initialValue = parseFloat(initialFullValue); - unit = initialFullValue.replace(initialValue, ''); - finalValue = props[prop]; - finalFullValue = props[prop] + unit; - _elements[index][prop] = { - initialFullValue: initialFullValue, - initialValue: initialValue, - unit: unit, - finalValue: finalValue, - finalFullValue: finalFullValue, - currentValue: initialValue - }; - - } - }); - - var startTime = null, - time, - elementsDone = 0, - propsDone = 0, - done, - began = false; - - a.animating = true; - - function render() { - time = new Date().getTime(); - var progress, easeProgress, el; - if (!began) { - began = true; - if (params.begin) params.begin(elements); - } - if (startTime === null) { - startTime = time; - } - if (params.progress) { - params.progress( - a.elements, - Math.max(Math.min((time - startTime) / params.duration, 1), 0), - ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), - startTime - ); - } - - for (var i = 0; i < _elements.length; i++) { - if (done) continue; - el = _elements[i]; - if (el.done) continue; - - for (var prop in props) { - progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0); - easeProgress = a.easingProgress(params.easing, progress); - - el[prop].currentValue = el[prop].initialValue + easeProgress * (el[prop].finalValue - el[prop].initialValue); - - if (el[prop].finalValue > el[prop].initialValue && el[prop].currentValue >= el[prop].finalValue || el[prop].finalValue < el[prop].initialValue && el[prop].currentValue <= el[prop].finalValue) { - el._container.style[prop] = el[prop].finalValue + el[prop].unit; - propsDone ++; - if (propsDone === Object.keys(props).length) { - el.done = true; - elementsDone++; - } - if (elementsDone === _elements.length) { - done = true; - } - } - if (done) { - a.done(params.complete); - return a; - } - el._container.style[prop] = el[prop].currentValue + el[prop].unit; - } - } - - // Then call - a.frameId = $.requestAnimationFrame(render); - } - a.frameId = $.requestAnimationFrame(render); - return a; - }; - var foundInstance; - for (var i = 0; i < a.elements.length; i++) { - if (a.elements[i].animate7Instance) { - foundInstance = a.elements[i].animate7Instance; - } - else a.elements[i].animate7Instance = a; - } - if (foundInstance) { - return foundInstance.animate(props, params); - } - else a.animate(props, params); - return a; - }; - window.Animate7 = function (elements, props, params){ - return new Animate7(elements, props, params); - }; - Dom7.fn.animate = function (props, params) { - new Animate7(this, props, params); - return this; - }; - - /*=========================== - Features Support Detection - ===========================*/ - Framework7.prototype.support = (function () { - var support = { - touch: !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch), - passiveListener: (function () { - var supportsPassive = false; - try { - var opts = Object.defineProperty({}, 'passive', { - get: function() { - supportsPassive = true; - } - }); - window.addEventListener('testPassiveListener', null, opts); - } catch (e) {} - return supportsPassive; - })() - }; - - // Export object - return support; - })(); - - - /*=========================== - Device/OS Detection - ===========================*/ - Framework7.prototype.device = (function () { - var device = {}; - var ua = navigator.userAgent; - var $ = Dom7; - - var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); - var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/); - - device.ios = device.android = device.iphone = device.ipad = device.androidChrome = false; - - // Android - if (android) { - device.os = 'android'; - device.osVersion = android[2]; - device.android = true; - device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - // iOS - if (iphone && !ipod) { - device.osVersion = iphone[2].replace(/_/g, '.'); - device.iphone = true; - } - if (ipad) { - device.osVersion = ipad[2].replace(/_/g, '.'); - device.ipad = true; - } - if (ipod) { - device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null; - device.iphone = true; - } - // iOS 8+ changed UA - if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) { - if (device.osVersion.split('.')[0] === '10') { - device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0]; - } - } - - // Webview - device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i); - - // Minimal UI - if (device.os && device.os === 'ios') { - var osVersionArr = device.osVersion.split('.'); - device.minimalUi = !device.webView && - (ipod || iphone) && - (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) && - $('meta[name="viewport"]').length > 0 && $('meta[name="viewport"]').attr('content').indexOf('minimal-ui') >= 0; - } - - // Check for status bar and fullscreen app mode - var windowWidth = $(window).width(); - var windowHeight = $(window).height(); - device.statusBar = false; - if (device.webView && (windowWidth * windowHeight === screen.width * screen.height)) { - device.statusBar = true; - } - else { - device.statusBar = false; - } - - // Classes - var classNames = []; - - // Pixel Ratio - device.pixelRatio = window.devicePixelRatio || 1; - classNames.push('pixel-ratio-' + Math.floor(device.pixelRatio)); - if (device.pixelRatio >= 2) { - classNames.push('retina'); - } - - // OS classes - if (device.os) { - classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\./g, '-')); - if (device.os === 'ios') { - var major = parseInt(device.osVersion.split('.')[0], 10); - for (var i = major - 1; i >= 6; i--) { - classNames.push('ios-gt-' + i); - } - } - - } - // Status bar classes - if (device.statusBar) { - classNames.push('with-statusbar-overlay'); - } - else { - $('html').removeClass('with-statusbar-overlay'); - } - - // Add html classes - if (classNames.length > 0) $('html').addClass(classNames.join(' ')); - - // Export object - return device; - })(); - - - /*=========================== - Plugins prototype - ===========================*/ - Framework7.prototype.plugins = {}; - - - /*=========================== - Template7 Template engine - ===========================*/ - window.Template7 = (function () { - 'use strict'; - function isArray(arr) { - return Object.prototype.toString.apply(arr) === '[object Array]'; - } - function isObject(obj) { - return obj instanceof Object; - } - function isFunction(func) { - return typeof func === 'function'; - } - function _escape(string) { - return typeof window !== 'undefined' && window.escape ? window.escape(string) : string - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"'); - } - var cache = {}; - var quoteSingleRexExp = new RegExp('\'', 'g'); - var quoteDoubleRexExp = new RegExp('"', 'g'); - function helperToSlices(string) { - var helperParts = string.replace(/[{}#}]/g, '').split(' '); - var slices = []; - var shiftIndex, i, j; - for (i = 0; i < helperParts.length; i++) { - var part = helperParts[i]; - var blockQuoteRegExp, openingQuote; - if (i === 0) slices.push(part); - else { - if (part.indexOf('"') === 0 || part.indexOf('\'') === 0) { - blockQuoteRegExp = part.indexOf('"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp; - openingQuote = part.indexOf('"') === 0 ? '"' : '\''; - // Plain String - if (part.match(blockQuoteRegExp).length === 2) { - // One word string - slices.push(part); - } - else { - // Find closed Index - shiftIndex = 0; - for (j = i + 1; j < helperParts.length; j++) { - part += ' ' + helperParts[j]; - if (helperParts[j].indexOf(openingQuote) >= 0) { - shiftIndex = j; - slices.push(part); - break; - } - } - if (shiftIndex) i = shiftIndex; - } - } - else { - if (part.indexOf('=') > 0) { - // Hash - var hashParts = part.split('='); - var hashName = hashParts[0]; - var hashContent = hashParts[1]; - if (hashContent.match(blockQuoteRegExp).length !== 2) { - shiftIndex = 0; - for (j = i + 1; j < helperParts.length; j++) { - hashContent += ' ' + helperParts[j]; - if (helperParts[j].indexOf(openingQuote) >= 0) { - shiftIndex = j; - break; - } - } - if (shiftIndex) i = shiftIndex; - } - var hash = [hashName, hashContent.replace(blockQuoteRegExp,'')]; - slices.push(hash); - } - else { - // Plain variable - slices.push(part); - } - } - } - } - return slices; - } - function stringToBlocks(string) { - var blocks = [], i, j, k; - if (!string) return []; - var _blocks = string.split(/({{[^{^}]*}})/); - for (i = 0; i < _blocks.length; i++) { - var block = _blocks[i]; - if (block === '') continue; - if (block.indexOf('{{') < 0) { - blocks.push({ - type: 'plain', - content: block - }); - } - else { - if (block.indexOf('{/') >= 0) { - continue; - } - if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) { - // Simple variable - blocks.push({ - type: 'variable', - contextName: block.replace(/[{}]/g, '') - }); - continue; - } - // Helpers - var helperSlices = helperToSlices(block); - var helperName = helperSlices[0]; - var isPartial = helperName === '>'; - var helperContext = []; - var helperHash = {}; - for (j = 1; j < helperSlices.length; j++) { - var slice = helperSlices[j]; - if (isArray(slice)) { - // Hash - helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1]; - } - else { - helperContext.push(slice); - } - } - - if (block.indexOf('{#') >= 0) { - // Condition/Helper - var helperStartIndex = i; - var helperContent = ''; - var elseContent = ''; - var toSkip = 0; - var shiftIndex; - var foundClosed = false, foundElse = false, foundClosedElse = false, depth = 0; - for (j = i + 1; j < _blocks.length; j++) { - if (_blocks[j].indexOf('{{#') >= 0) { - depth ++; - } - if (_blocks[j].indexOf('{{/') >= 0) { - depth --; - } - if (_blocks[j].indexOf('{{#' + helperName) >= 0) { - helperContent += _blocks[j]; - if (foundElse) elseContent += _blocks[j]; - toSkip ++; - } - else if (_blocks[j].indexOf('{{/' + helperName) >= 0) { - if (toSkip > 0) { - toSkip--; - helperContent += _blocks[j]; - if (foundElse) elseContent += _blocks[j]; - } - else { - shiftIndex = j; - foundClosed = true; - break; - } - } - else if (_blocks[j].indexOf('else') >= 0 && depth === 0) { - foundElse = true; - } - else { - if (!foundElse) helperContent += _blocks[j]; - if (foundElse) elseContent += _blocks[j]; - } - - } - if (foundClosed) { - if (shiftIndex) i = shiftIndex; - blocks.push({ - type: 'helper', - helperName: helperName, - contextName: helperContext, - content: helperContent, - inverseContent: elseContent, - hash: helperHash - }); - } - } - else if (block.indexOf(' ') > 0) { - if (isPartial) { - helperName = '_partial'; - if (helperContext[0]) helperContext[0] = '"' + helperContext[0].replace(/"|'/g, '') + '"'; - } - blocks.push({ - type: 'helper', - helperName: helperName, - contextName: helperContext, - hash: helperHash - }); - } - } - } - return blocks; - } - var Template7 = function (template, options) { - var t = this; - t.template = template; - - function getCompileFn(block, depth) { - if (block.content) return compile(block.content, depth); - else return function () {return ''; }; - } - function getCompileInverse(block, depth) { - if (block.inverseContent) return compile(block.inverseContent, depth); - else return function () {return ''; }; - } - function getCompileVar(name, ctx) { - var variable, parts, levelsUp = 0, initialCtx = ctx; - if (name.indexOf('../') === 0) { - levelsUp = name.split('../').length - 1; - var newDepth = ctx.split('_')[1] - levelsUp; - ctx = 'ctx_' + (newDepth >= 1 ? newDepth : 1); - parts = name.split('../')[levelsUp].split('.'); - } - else if (name.indexOf('@global') === 0) { - ctx = 'Template7.global'; - parts = name.split('@global.')[1].split('.'); - } - else if (name.indexOf('@root') === 0) { - ctx = 'root'; - parts = name.split('@root.')[1].split('.'); - } - else { - parts = name.split('.'); - } - variable = ctx; - for (var i = 0; i < parts.length; i++) { - var part = parts[i]; - if (part.indexOf('@') === 0) { - if (i > 0) { - variable += '[(data && data.' + part.replace('@', '') + ')]'; - } - else { - variable = '(data && data.' + name.replace('@', '') + ')'; - } - } - else { - if (isFinite(part)) { - variable += '[' + part + ']'; - } - else { - if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) { - variable = part.replace('this', ctx); - } - else { - variable += '.' + part; - } - } - } - } - - return variable; - } - function getCompiledArguments(contextArray, ctx) { - var arr = []; - for (var i = 0; i < contextArray.length; i++) { - if (/^['"]/.test(contextArray[i])) arr.push(contextArray[i]); - else if (/^(true|false|\d+)$/.test(contextArray[i])) arr.push(contextArray[i]); - else { - arr.push(getCompileVar(contextArray[i], ctx)); - } - } - - return arr.join(', '); - } - function compile(template, depth) { - depth = depth || 1; - template = template || t.template; - if (typeof template !== 'string') { - throw new Error('Template7: Template must be a string'); - } - var blocks = stringToBlocks(template); - if (blocks.length === 0) { - return function () { return ''; }; - } - var ctx = 'ctx_' + depth; - var resultString = ''; - if (depth === 1) { - resultString += '(function (' + ctx + ', data, root) {\n'; - } - else { - resultString += '(function (' + ctx + ', data) {\n'; - } - if (depth === 1) { - resultString += 'function isArray(arr){return Object.prototype.toString.apply(arr) === \'[object Array]\';}\n'; - resultString += 'function isFunction(func){return (typeof func === \'function\');}\n'; - resultString += 'function c(val, ctx) {if (typeof val !== "undefined" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return "";}\n'; - resultString += 'root = root || ctx_1 || {};\n'; - } - resultString += 'var r = \'\';\n'; - var i, j, context; - for (i = 0; i < blocks.length; i++) { - var block = blocks[i]; - // Plain block - if (block.type === 'plain') { - resultString += 'r +=\'' + (block.content).replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/'/g, '\\' + '\'') + '\';'; - continue; - } - var variable, compiledArguments; - // Variable block - if (block.type === 'variable') { - variable = getCompileVar(block.contextName, ctx); - resultString += 'r += c(' + variable + ', ' + ctx + ');'; - } - // Helpers block - if (block.type === 'helper') { - if (block.helperName in t.helpers) { - compiledArguments = getCompiledArguments(block.contextName, ctx); - - resultString += 'r += (Template7.helpers.' + block.helperName + ').call(' + ctx + ', ' + (compiledArguments && (compiledArguments + ', ')) +'{hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth + 1) + ', inverse: ' + getCompileInverse(block, depth + 1) + ', root: root});'; - - } - else { - if (block.contextName.length > 0) { - throw new Error('Template7: Missing helper: "' + block.helperName + '"'); - } - else { - variable = getCompileVar(block.helperName, ctx); - resultString += 'if (' + variable + ') {'; - resultString += 'if (isArray(' + variable + ')) {'; - resultString += 'r += (Template7.helpers.each).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});'; - resultString += '}else {'; - resultString += 'r += (Template7.helpers.with).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});'; - resultString += '}}'; - } - } - } - } - resultString += '\nreturn r;})'; - return eval.call(window, resultString); - } - t.compile = function (template) { - if (!t.compiled) { - t.compiled = compile(template); - } - return t.compiled; - }; - }; - Template7.prototype = { - options: {}, - partials: {}, - helpers: { - '_partial' : function (partialName, options) { - var p = Template7.prototype.partials[partialName]; - if (!p || (p && !p.template)) return ''; - if (!p.compiled) { - p.compiled = new Template7(p.template).compile(); - } - var ctx = this; - for (var hashName in options.hash) { - ctx[hashName] = options.hash[hashName]; - } - return p.compiled(ctx, options.data, options.root); - }, - 'escape': function (context, options) { - if (typeof context !== 'string') { - throw new Error('Template7: Passed context to "escape" helper should be a string'); - } - return _escape(context); - }, - 'if': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - if (context) { - return options.fn(this, options.data); - } - else { - return options.inverse(this, options.data); - } - }, - 'unless': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - if (!context) { - return options.fn(this, options.data); - } - else { - return options.inverse(this, options.data); - } - }, - 'each': function (context, options) { - var ret = '', i = 0; - if (isFunction(context)) { context = context.call(this); } - if (isArray(context)) { - if (options.hash.reverse) { - context = context.reverse(); - } - for (i = 0; i < context.length; i++) { - ret += options.fn(context[i], {first: i === 0, last: i === context.length - 1, index: i}); - } - if (options.hash.reverse) { - context = context.reverse(); - } - } - else { - for (var key in context) { - i++; - ret += options.fn(context[key], {key: key}); - } - } - if (i > 0) return ret; - else return options.inverse(this); - }, - 'with': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - return options.fn(context); - }, - 'join': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - return context.join(options.hash.delimiter || options.hash.delimeter); - }, - 'js': function (expression, options) { - var func; - if (expression.indexOf('return')>=0) { - func = '(function(){'+expression+'})'; - } - else { - func = '(function(){return ('+expression+')})'; - } - return eval.call(this, func).call(this); - }, - 'js_compare': function (expression, options) { - var func; - if (expression.indexOf('return')>=0) { - func = '(function(){'+expression+'})'; - } - else { - func = '(function(){return ('+expression+')})'; - } - var condition = eval.call(this, func).call(this); - if (condition) { - return options.fn(this, options.data); - } - else { - return options.inverse(this, options.data); - } - } - } - }; - var t7 = function (template, data) { - if (arguments.length === 2) { - var instance = new Template7(template); - var rendered = instance.compile()(data); - instance = null; - return (rendered); - } - else return new Template7(template); - }; - t7.registerHelper = function (name, fn) { - Template7.prototype.helpers[name] = fn; - }; - t7.unregisterHelper = function (name) { - Template7.prototype.helpers[name] = undefined; - delete Template7.prototype.helpers[name]; - }; - t7.registerPartial = function (name, template) { - Template7.prototype.partials[name] = {template: template}; - }; - t7.unregisterPartial = function (name, template) { - if (Template7.prototype.partials[name]) { - Template7.prototype.partials[name] = undefined; - delete Template7.prototype.partials[name]; - } - }; - t7.compile = function (template, options) { - var instance = new Template7(template, options); - return instance.compile(); - }; - - t7.options = Template7.prototype.options; - t7.helpers = Template7.prototype.helpers; - t7.partials = Template7.prototype.partials; - return t7; - })(); - - /*=========================== - Swiper - ===========================*/ - window.Swiper = function (container, params) { - if (!(this instanceof Swiper)) return new Swiper(container, params); - var defaults = { - direction: 'horizontal', - touchEventsTarget: 'container', - initialSlide: 0, - speed: 300, - // autoplay - autoplay: false, - autoplayDisableOnInteraction: true, - autoplayStopOnLast: false, - // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView). - iOSEdgeSwipeDetection: false, - iOSEdgeSwipeThreshold: 20, - // Free mode - freeMode: false, - freeModeMomentum: true, - freeModeMomentumRatio: 1, - freeModeMomentumBounce: true, - freeModeMomentumBounceRatio: 1, - freeModeMomentumVelocityRatio: 1, - freeModeSticky: false, - freeModeMinimumVelocity: 0.02, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - coverflow: { - rotate: 50, - stretch: 0, - depth: 100, - modifier: 1, - slideShadows : true - }, - flip: { - slideShadows : true, - limitRotation: true - }, - cube: { - slideShadows: true, - shadow: true, - shadowOffset: 20, - shadowScale: 0.94 - }, - fade: { - crossFade: false - }, - // Parallax - parallax: false, - // Zoom - zoom: false, - zoomMax: 3, - zoomMin: 1, - zoomToggle: true, - // Scrollbar - scrollbar: null, - scrollbarHide: true, - scrollbarDraggable: false, - scrollbarSnapOnRelease: false, - // Keyboard Mousewheel - keyboardControl: false, - mousewheelControl: false, - mousewheelReleaseOnEdges: false, - mousewheelInvert: false, - mousewheelForceToAxis: false, - mousewheelSensitivity: 1, - mousewheelEventsTarged: 'container', - // Hash Navigation - hashnav: false, - hashnavWatchState: false, - // History - history: false, - // Commong Nav State - replaceState: false, - // Breakpoints - breakpoints: undefined, - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerColumn: 1, - slidesPerColumnFill: 'column', - slidesPerGroup: 1, - centeredSlides: false, - slidesOffsetBefore: 0, // in px - slidesOffsetAfter: 0, // in px - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - onlyExternal: false, - threshold: 0, - touchMoveStopPropagation: true, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Pagination - pagination: null, - paginationElement: 'span', - paginationClickable: false, - paginationHide: false, - paginationBulletRender: null, - paginationProgressRender: null, - paginationFractionRender: null, - paginationCustomRender: null, - paginationType: 'bullets', // 'bullets' or 'progress' or 'fraction' or 'custom' - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Next/prev buttons - nextButton: null, - prevButton: null, - // Progress - watchSlidesProgress: false, - watchSlidesVisibility: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // Lazy Loading - lazyLoading: false, - lazyLoadingInPrevNext: false, - lazyLoadingInPrevNextAmount: 1, - lazyLoadingOnTransitionStart: false, - // Images - preloadImages: true, - updateOnImagesReady: true, - // loop - loop: false, - loopAdditionalSlides: 0, - loopedSlides: null, - // Control - control: undefined, - controlInverse: false, - controlBy: 'slide', //or 'container' - normalizeSlideIndex: true, - // Swiping/no swiping - allowSwipeToPrev: true, - allowSwipeToNext: true, - swipeHandler: null, //'.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - // Passive Listeners - passiveListeners: true, - // NS - containerModifierClass: 'swiper-container-', // NEW - slideClass: 'swiper-slide', - slideActiveClass: 'swiper-slide-active', - slideDuplicateActiveClass: 'swiper-slide-duplicate-active', - slideVisibleClass: 'swiper-slide-visible', - slideDuplicateClass: 'swiper-slide-duplicate', - slideNextClass: 'swiper-slide-next', - slideDuplicateNextClass: 'swiper-slide-duplicate-next', - slidePrevClass: 'swiper-slide-prev', - slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', - wrapperClass: 'swiper-wrapper', - bulletClass: 'swiper-pagination-bullet', - bulletActiveClass: 'swiper-pagination-bullet-active', - buttonDisabledClass: 'swiper-button-disabled', - paginationCurrentClass: 'swiper-pagination-current', - paginationTotalClass: 'swiper-pagination-total', - paginationHiddenClass: 'swiper-pagination-hidden', - paginationProgressbarClass: 'swiper-pagination-progressbar', - paginationClickableClass: 'swiper-pagination-clickable', // NEW - paginationModifierClass: 'swiper-pagination-', // NEW - lazyLoadingClass: 'swiper-lazy', - lazyStatusLoadingClass: 'swiper-lazy-loading', - lazyStatusLoadedClass: 'swiper-lazy-loaded', - lazyPreloaderClass: 'swiper-lazy-preloader', - notificationClass: 'swiper-notification', - preloaderClass: 'preloader', - zoomContainerClass: 'swiper-zoom-container', - - // Observer - observer: false, - observeParents: false, - // Accessibility - a11y: false, - prevSlideMessage: 'Previous slide', - nextSlideMessage: 'Next slide', - firstSlideMessage: 'This is the first slide', - lastSlideMessage: 'This is the last slide', - paginationBulletMessage: 'Go to slide {{index}}', - // Callbacks - runCallbacksOnInit: true - /* - Callbacks: - onInit: function (swiper) - onDestroy: function (swiper) - onClick: function (swiper, e) - onTap: function (swiper, e) - onDoubleTap: function (swiper, e) - onSliderMove: function (swiper, e) - onSlideChangeStart: function (swiper) - onSlideChangeEnd: function (swiper) - onTransitionStart: function (swiper) - onTransitionEnd: function (swiper) - onImagesReady: function (swiper) - onProgress: function (swiper, progress) - onTouchStart: function (swiper, e) - onTouchMove: function (swiper, e) - onTouchMoveOpposite: function (swiper, e) - onTouchEnd: function (swiper, e) - onReachBeginning: function (swiper) - onReachEnd: function (swiper) - onSetTransition: function (swiper, duration) - onSetTranslate: function (swiper, translate) - onAutoplayStart: function (swiper) - onAutoplayStop: function (swiper), - onLazyImageLoad: function (swiper, slide, image) - onLazyImageReady: function (swiper, slide, image) - */ - - }; - var initialVirtualTranslate = params && params.virtualTranslate; - - params = params || {}; - var originalParams = {}; - for (var param in params) { - if (typeof params[param] === 'object' && params[param] !== null && !(params[param].nodeType || params[param] === window || params[param] === document || (typeof Dom7 !== 'undefined' && params[param] instanceof Dom7) || (typeof jQuery !== 'undefined' && params[param] instanceof jQuery))) { - originalParams[param] = {}; - for (var deepParam in params[param]) { - originalParams[param][deepParam] = params[param][deepParam]; - } - } - else { - originalParams[param] = params[param]; - } - } - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - else if (typeof params[def] === 'object') { - for (var deepDef in defaults[def]) { - if (typeof params[def][deepDef] === 'undefined') { - params[def][deepDef] = defaults[def][deepDef]; - } - } - } - } - - // Swiper - var s = this; - - // Params - s.params = params; - s.originalParams = originalParams; - - // Classname - s.classNames = []; - /*========================= - Dom Library and plugins - ===========================*/ - if (typeof $ !== 'undefined' && typeof Dom7 !== 'undefined'){ - $ = Dom7; - } - if (typeof $ === 'undefined') { - if (typeof Dom7 === 'undefined') { - $ = window.Dom7 || window.Zepto || window.jQuery; - } - else { - $ = Dom7; - } - if (!$) return; - } - // Export it to Swiper instance - s.$ = $; - - /*========================= - Breakpoints - ===========================*/ - s.currentBreakpoint = undefined; - s.getActiveBreakpoint = function () { - //Get breakpoint for window width - if (!s.params.breakpoints) return false; - var breakpoint = false; - var points = [], point; - for ( point in s.params.breakpoints ) { - if (s.params.breakpoints.hasOwnProperty(point)) { - points.push(point); - } - } - points.sort(function (a, b) { - return parseInt(a, 10) > parseInt(b, 10); - }); - for (var i = 0; i < points.length; i++) { - point = points[i]; - if (point >= window.innerWidth && !breakpoint) { - breakpoint = point; - } - } - return breakpoint || 'max'; - }; - s.setBreakpoint = function () { - //Set breakpoint for window width and update parameters - var breakpoint = s.getActiveBreakpoint(); - if (breakpoint && s.currentBreakpoint !== breakpoint) { - var breakPointsParams = breakpoint in s.params.breakpoints ? s.params.breakpoints[breakpoint] : s.originalParams; - var needsReLoop = s.params.loop && (breakPointsParams.slidesPerView !== s.params.slidesPerView); - for ( var param in breakPointsParams ) { - s.params[param] = breakPointsParams[param]; - } - s.currentBreakpoint = breakpoint; - if(needsReLoop && s.destroyLoop) { - s.reLoop(true); - } - } - }; - // Set breakpoint on load - if (s.params.breakpoints) { - s.setBreakpoint(); - } - - /*========================= - Preparation - Define Container, Wrapper and Pagination - ===========================*/ - s.container = $(container); - if (s.container.length === 0) return; - if (s.container.length > 1) { - var swipers = []; - s.container.each(function () { - var container = this; - swipers.push(new Swiper(this, params)); - }); - return swipers; - } - - // Save instance in container HTML Element and in data - s.container[0].swiper = s; - s.container.data('swiper', s); - - s.classNames.push(s.params.containerModifierClass + s.params.direction); - - if (s.params.freeMode) { - s.classNames.push(s.params.containerModifierClass + 'free-mode'); - } - if (!s.support.flexbox) { - s.classNames.push(s.params.containerModifierClass + 'no-flexbox'); - s.params.slidesPerColumn = 1; - } - if (s.params.autoHeight) { - s.classNames.push(s.params.containerModifierClass + 'autoheight'); - } - // Enable slides progress when required - if (s.params.parallax || s.params.watchSlidesVisibility) { - s.params.watchSlidesProgress = true; - } - // Max resistance when touchReleaseOnEdges - if (s.params.touchReleaseOnEdges) { - s.params.resistanceRatio = 0; - } - // Coverflow / 3D - if (['cube', 'coverflow', 'flip'].indexOf(s.params.effect) >= 0) { - if (s.support.transforms3d) { - s.params.watchSlidesProgress = true; - s.classNames.push(s.params.containerModifierClass + '3d'); - } - else { - s.params.effect = 'slide'; - } - } - if (s.params.effect !== 'slide') { - s.classNames.push(s.params.containerModifierClass + s.params.effect); - } - if (s.params.effect === 'cube') { - s.params.resistanceRatio = 0; - s.params.slidesPerView = 1; - s.params.slidesPerColumn = 1; - s.params.slidesPerGroup = 1; - s.params.centeredSlides = false; - s.params.spaceBetween = 0; - s.params.virtualTranslate = true; - s.params.setWrapperSize = false; - } - if (s.params.effect === 'fade' || s.params.effect === 'flip') { - s.params.slidesPerView = 1; - s.params.slidesPerColumn = 1; - s.params.slidesPerGroup = 1; - s.params.watchSlidesProgress = true; - s.params.spaceBetween = 0; - s.params.setWrapperSize = false; - if (typeof initialVirtualTranslate === 'undefined') { - s.params.virtualTranslate = true; - } - } - - // Grab Cursor - if (s.params.grabCursor && s.support.touch) { - s.params.grabCursor = false; - } - - // Wrapper - s.wrapper = s.container.children('.' + s.params.wrapperClass); - - // Pagination - if (s.params.pagination) { - s.paginationContainer = $(s.params.pagination); - if (s.params.uniqueNavElements && typeof s.params.pagination === 'string' && s.paginationContainer.length > 1 && s.container.find(s.params.pagination).length === 1) { - s.paginationContainer = s.container.find(s.params.pagination); - } - - if (s.params.paginationType === 'bullets' && s.params.paginationClickable) { - s.paginationContainer.addClass(s.params.paginationModifierClass + 'clickable'); - } - else { - s.params.paginationClickable = false; - } - s.paginationContainer.addClass(s.params.paginationModifierClass + s.params.paginationType); - } - // Next/Prev Buttons - if (s.params.nextButton || s.params.prevButton) { - if (s.params.nextButton) { - s.nextButton = $(s.params.nextButton); - if (s.params.uniqueNavElements && typeof s.params.nextButton === 'string' && s.nextButton.length > 1 && s.container.find(s.params.nextButton).length === 1) { - s.nextButton = s.container.find(s.params.nextButton); - } - } - if (s.params.prevButton) { - s.prevButton = $(s.params.prevButton); - if (s.params.uniqueNavElements && typeof s.params.prevButton === 'string' && s.prevButton.length > 1 && s.container.find(s.params.prevButton).length === 1) { - s.prevButton = s.container.find(s.params.prevButton); - } - } - } - - // Is Horizontal - s.isHorizontal = function () { - return s.params.direction === 'horizontal'; - }; - // s.isH = isH; - - // RTL - s.rtl = s.isHorizontal() && (s.container[0].dir.toLowerCase() === 'rtl' || s.container.css('direction') === 'rtl'); - if (s.rtl) { - s.classNames.push(s.params.containerModifierClass + 'rtl'); - } - - // Wrong RTL support - if (s.rtl) { - s.wrongRTL = s.wrapper.css('display') === '-webkit-box'; - } - - // Columns - if (s.params.slidesPerColumn > 1) { - s.classNames.push(s.params.containerModifierClass + 'multirow'); - } - - // Check for Android - if (s.device.android) { - s.classNames.push(s.params.containerModifierClass + 'android'); - } - - // Add classes - s.container.addClass(s.classNames.join(' ')); - - // Translate - s.translate = 0; - - // Progress - s.progress = 0; - - // Velocity - s.velocity = 0; - - /*========================= - Locks, unlocks - ===========================*/ - s.lockSwipeToNext = function () { - s.params.allowSwipeToNext = false; - if (s.params.allowSwipeToPrev === false && s.params.grabCursor) { - s.unsetGrabCursor(); - } - }; - s.lockSwipeToPrev = function () { - s.params.allowSwipeToPrev = false; - if (s.params.allowSwipeToNext === false && s.params.grabCursor) { - s.unsetGrabCursor(); - } - }; - s.lockSwipes = function () { - s.params.allowSwipeToNext = s.params.allowSwipeToPrev = false; - if (s.params.grabCursor) s.unsetGrabCursor(); - }; - s.unlockSwipeToNext = function () { - s.params.allowSwipeToNext = true; - if (s.params.allowSwipeToPrev === true && s.params.grabCursor) { - s.setGrabCursor(); - } - }; - s.unlockSwipeToPrev = function () { - s.params.allowSwipeToPrev = true; - if (s.params.allowSwipeToNext === true && s.params.grabCursor) { - s.setGrabCursor(); - } - }; - s.unlockSwipes = function () { - s.params.allowSwipeToNext = s.params.allowSwipeToPrev = true; - if (s.params.grabCursor) s.setGrabCursor(); - }; - - /*========================= - Round helper - ===========================*/ - function round(a) { - return Math.floor(a); - } - /*========================= - Set grab cursor - ===========================*/ - s.setGrabCursor = function(moving) { - s.container[0].style.cursor = 'move'; - s.container[0].style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab'; - s.container[0].style.cursor = moving ? '-moz-grabbin' : '-moz-grab'; - s.container[0].style.cursor = moving ? 'grabbing': 'grab'; - }; - s.unsetGrabCursor = function () { - s.container[0].style.cursor = ''; - }; - if (s.params.grabCursor) { - s.setGrabCursor(); - } - /*========================= - Update on Images Ready - ===========================*/ - s.imagesToLoad = []; - s.imagesLoaded = 0; - - s.loadImage = function (imgElement, src, srcset, sizes, checkForComplete, callback) { - var image; - function onReady () { - if (callback) callback(); - } - if (!imgElement.complete || !checkForComplete) { - if (src) { - image = new window.Image(); - image.onload = onReady; - image.onerror = onReady; - if (sizes) { - image.sizes = sizes; - } - if (srcset) { - image.srcset = srcset; - } - if (src) { - image.src = src; - } - } else { - onReady(); - } - - } else {//image already loaded... - onReady(); - } - }; - s.preloadImages = function () { - s.imagesToLoad = s.container.find('img'); - function _onReady() { - if (typeof s === 'undefined' || s === null) return; - if (s.imagesLoaded !== undefined) s.imagesLoaded++; - if (s.imagesLoaded === s.imagesToLoad.length) { - if (s.params.updateOnImagesReady) s.update(); - s.emit('onImagesReady', s); - } - } - for (var i = 0; i < s.imagesToLoad.length; i++) { - s.loadImage(s.imagesToLoad[i], (s.imagesToLoad[i].currentSrc || s.imagesToLoad[i].getAttribute('src')), (s.imagesToLoad[i].srcset || s.imagesToLoad[i].getAttribute('srcset')), s.imagesToLoad[i].sizes || s.imagesToLoad[i].getAttribute('sizes'), true, _onReady); - } - }; - - /*========================= - Autoplay - ===========================*/ - s.autoplayTimeoutId = undefined; - s.autoplaying = false; - s.autoplayPaused = false; - function autoplay() { - var autoplayDelay = s.params.autoplay; - var activeSlide = s.slides.eq(s.activeIndex); - if (activeSlide.attr('data-swiper-autoplay')) { - autoplayDelay = activeSlide.attr('data-swiper-autoplay') || s.params.autoplay; - } - s.autoplayTimeoutId = setTimeout(function () { - if (s.params.loop) { - s.fixLoop(); - s._slideNext(); - s.emit('onAutoplay', s); - } - else { - if (!s.isEnd) { - s._slideNext(); - s.emit('onAutoplay', s); - } - else { - if (!params.autoplayStopOnLast) { - s._slideTo(0); - s.emit('onAutoplay', s); - } - else { - s.stopAutoplay(); - } - } - } - }, autoplayDelay); - } - s.startAutoplay = function () { - if (typeof s.autoplayTimeoutId !== 'undefined') return false; - if (!s.params.autoplay) return false; - if (s.autoplaying) return false; - s.autoplaying = true; - s.emit('onAutoplayStart', s); - autoplay(); - }; - s.stopAutoplay = function (internal) { - if (!s.autoplayTimeoutId) return; - if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId); - s.autoplaying = false; - s.autoplayTimeoutId = undefined; - s.emit('onAutoplayStop', s); - }; - s.pauseAutoplay = function (speed) { - if (s.autoplayPaused) return; - if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId); - s.autoplayPaused = true; - if (speed === 0) { - s.autoplayPaused = false; - autoplay(); - } - else { - s.wrapper.transitionEnd(function () { - if (!s) return; - s.autoplayPaused = false; - if (!s.autoplaying) { - s.stopAutoplay(); - } - else { - autoplay(); - } - }); - } - }; - /*========================= - Min/Max Translate - ===========================*/ - s.minTranslate = function () { - return (-s.snapGrid[0]); - }; - s.maxTranslate = function () { - return (-s.snapGrid[s.snapGrid.length - 1]); - }; - /*========================= - Slider/slides sizes - ===========================*/ - s.updateAutoHeight = function () { - var activeSlides = []; - var newHeight = 0; - - // Find slides currently in view - if(s.params.slidesPerView !== 'auto' && s.params.slidesPerView > 1) { - for (i = 0; i < Math.ceil(s.params.slidesPerView); i++) { - var index = s.activeIndex + i; - if(index > s.slides.length) break; - activeSlides.push(s.slides.eq(index)[0]); - } - } else { - activeSlides.push(s.slides.eq(s.activeIndex)[0]); - } - - // Find new height from heighest slide in view - for (i = 0; i < activeSlides.length; i++) { - if (typeof activeSlides[i] !== 'undefined') { - var height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight) s.wrapper.css('height', newHeight + 'px'); - }; - s.updateContainerSize = function () { - var width, height; - if (typeof s.params.width !== 'undefined') { - width = s.params.width; - } - else { - width = s.container[0].clientWidth; - } - if (typeof s.params.height !== 'undefined') { - height = s.params.height; - } - else { - height = s.container[0].clientHeight; - } - if (width === 0 && s.isHorizontal() || height === 0 && !s.isHorizontal()) { - return; - } - - //Subtract paddings - width = width - parseInt(s.container.css('padding-left'), 10) - parseInt(s.container.css('padding-right'), 10); - height = height - parseInt(s.container.css('padding-top'), 10) - parseInt(s.container.css('padding-bottom'), 10); - - // Store values - s.width = width; - s.height = height; - s.size = s.isHorizontal() ? s.width : s.height; - }; - - s.updateSlidesSize = function () { - s.slides = s.wrapper.children('.' + s.params.slideClass); - s.snapGrid = []; - s.slidesGrid = []; - s.slidesSizesGrid = []; - - var spaceBetween = s.params.spaceBetween, - slidePosition = -s.params.slidesOffsetBefore, - i, - prevSlideSize = 0, - index = 0; - if (typeof s.size === 'undefined') return; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * s.size; - } - - s.virtualSize = -spaceBetween; - // reset margins - if (s.rtl) s.slides.css({marginLeft: '', marginTop: ''}); - else s.slides.css({marginRight: '', marginBottom: ''}); - - var slidesNumberEvenToRows; - if (s.params.slidesPerColumn > 1) { - if (Math.floor(s.slides.length / s.params.slidesPerColumn) === s.slides.length / s.params.slidesPerColumn) { - slidesNumberEvenToRows = s.slides.length; - } - else { - slidesNumberEvenToRows = Math.ceil(s.slides.length / s.params.slidesPerColumn) * s.params.slidesPerColumn; - } - if (s.params.slidesPerView !== 'auto' && s.params.slidesPerColumnFill === 'row') { - slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, s.params.slidesPerView * s.params.slidesPerColumn); - } - } - - // Calc slides - var slideSize; - var slidesPerColumn = s.params.slidesPerColumn; - var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn; - var numFullColumns = slidesPerRow - (s.params.slidesPerColumn * slidesPerRow - s.slides.length); - for (i = 0; i < s.slides.length; i++) { - slideSize = 0; - var slide = s.slides.eq(i); - if (s.params.slidesPerColumn > 1) { - // Set slides order - var newSlideOrderIndex; - var column, row; - if (s.params.slidesPerColumnFill === 'column') { - column = Math.floor(i / slidesPerColumn); - row = i - column * slidesPerColumn; - if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn-1)) { - if (++row >= slidesPerColumn) { - row = 0; - column++; - } - } - newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn; - slide - .css({ - '-webkit-box-ordinal-group': newSlideOrderIndex, - '-moz-box-ordinal-group': newSlideOrderIndex, - '-ms-flex-order': newSlideOrderIndex, - '-webkit-order': newSlideOrderIndex, - 'order': newSlideOrderIndex - }); - } - else { - row = Math.floor(i / slidesPerRow); - column = i - row * slidesPerRow; - } - slide - .css( - 'margin-' + (s.isHorizontal() ? 'top' : 'left'), - (row !== 0 && s.params.spaceBetween) && (s.params.spaceBetween + 'px') - ) - .attr('data-swiper-column', column) - .attr('data-swiper-row', row); - - } - if (slide.css('display') === 'none') continue; - if (s.params.slidesPerView === 'auto') { - slideSize = s.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true); - if (s.params.roundLengths) slideSize = round(slideSize); - } - else { - slideSize = (s.size - (s.params.slidesPerView - 1) * spaceBetween) / s.params.slidesPerView; - if (s.params.roundLengths) slideSize = round(slideSize); - - if (s.isHorizontal()) { - s.slides[i].style.width = slideSize + 'px'; - } - else { - s.slides[i].style.height = slideSize + 'px'; - } - } - s.slides[i].swiperSlideSize = slideSize; - s.slidesSizesGrid.push(slideSize); - - - if (s.params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (i === 0) slidePosition = slidePosition - s.size / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition); - s.slidesGrid.push(slidePosition); - } - else { - if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition); - s.slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - - s.virtualSize += slideSize + spaceBetween; - - prevSlideSize = slideSize; - - index ++; - } - s.virtualSize = Math.max(s.virtualSize, s.size) + s.params.slidesOffsetAfter; - var newSlidesGrid; - - if ( - s.rtl && s.wrongRTL && (s.params.effect === 'slide' || s.params.effect === 'coverflow')) { - s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'}); - } - if (!s.support.flexbox || s.params.setWrapperSize) { - if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'}); - else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'}); - } - - if (s.params.slidesPerColumn > 1) { - s.virtualSize = (slideSize + s.params.spaceBetween) * slidesNumberEvenToRows; - s.virtualSize = Math.ceil(s.virtualSize / s.params.slidesPerColumn) - s.params.spaceBetween; - if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'}); - else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'}); - if (s.params.centeredSlides) { - newSlidesGrid = []; - for (i = 0; i < s.snapGrid.length; i++) { - if (s.snapGrid[i] < s.virtualSize + s.snapGrid[0]) newSlidesGrid.push(s.snapGrid[i]); - } - s.snapGrid = newSlidesGrid; - } - } - - // Remove last grid elements depending on width - if (!s.params.centeredSlides) { - newSlidesGrid = []; - for (i = 0; i < s.snapGrid.length; i++) { - if (s.snapGrid[i] <= s.virtualSize - s.size) { - newSlidesGrid.push(s.snapGrid[i]); - } - } - s.snapGrid = newSlidesGrid; - if (Math.floor(s.virtualSize - s.size) - Math.floor(s.snapGrid[s.snapGrid.length - 1]) > 1) { - s.snapGrid.push(s.virtualSize - s.size); - } - } - if (s.snapGrid.length === 0) s.snapGrid = [0]; - - if (s.params.spaceBetween !== 0) { - if (s.isHorizontal()) { - if (s.rtl) s.slides.css({marginLeft: spaceBetween + 'px'}); - else s.slides.css({marginRight: spaceBetween + 'px'}); - } - else s.slides.css({marginBottom: spaceBetween + 'px'}); - } - if (s.params.watchSlidesProgress) { - s.updateSlidesOffset(); - } - }; - s.updateSlidesOffset = function () { - for (var i = 0; i < s.slides.length; i++) { - s.slides[i].swiperSlideOffset = s.isHorizontal() ? s.slides[i].offsetLeft : s.slides[i].offsetTop; - } - }; - - /*========================= - Slider/slides progress - ===========================*/ - s.updateSlidesProgress = function (translate) { - if (typeof translate === 'undefined') { - translate = s.translate || 0; - } - if (s.slides.length === 0) return; - if (typeof s.slides[0].swiperSlideOffset === 'undefined') s.updateSlidesOffset(); - - var offsetCenter = -translate; - if (s.rtl) offsetCenter = translate; - - // Visible Slides - s.slides.removeClass(s.params.slideVisibleClass); - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides[i]; - var slideProgress = (offsetCenter + (s.params.centeredSlides ? s.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + s.params.spaceBetween); - if (s.params.watchSlidesVisibility) { - var slideBefore = -(offsetCenter - slide.swiperSlideOffset); - var slideAfter = slideBefore + s.slidesSizesGrid[i]; - var isVisible = - (slideBefore >= 0 && slideBefore < s.size) || - (slideAfter > 0 && slideAfter <= s.size) || - (slideBefore <= 0 && slideAfter >= s.size); - if (isVisible) { - s.slides.eq(i).addClass(s.params.slideVisibleClass); - } - } - slide.progress = s.rtl ? -slideProgress : slideProgress; - } - }; - s.updateProgress = function (translate) { - if (typeof translate === 'undefined') { - translate = s.translate || 0; - } - var translatesDiff = s.maxTranslate() - s.minTranslate(); - var wasBeginning = s.isBeginning; - var wasEnd = s.isEnd; - if (translatesDiff === 0) { - s.progress = 0; - s.isBeginning = s.isEnd = true; - } - else { - s.progress = (translate - s.minTranslate()) / (translatesDiff); - s.isBeginning = s.progress <= 0; - s.isEnd = s.progress >= 1; - } - if (s.isBeginning && !wasBeginning) s.emit('onReachBeginning', s); - if (s.isEnd && !wasEnd) s.emit('onReachEnd', s); - - if (s.params.watchSlidesProgress) s.updateSlidesProgress(translate); - s.emit('onProgress', s, s.progress); - }; - s.updateActiveIndex = function () { - var translate = s.rtl ? s.translate : -s.translate; - var newActiveIndex, i, snapIndex; - for (i = 0; i < s.slidesGrid.length; i ++) { - if (typeof s.slidesGrid[i + 1] !== 'undefined') { - if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1] - (s.slidesGrid[i + 1] - s.slidesGrid[i]) / 2) { - newActiveIndex = i; - } - else if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1]) { - newActiveIndex = i + 1; - } - } - else { - if (translate >= s.slidesGrid[i]) { - newActiveIndex = i; - } - } - } - // Normalize slideIndex - if(s.params.normalizeSlideIndex){ - if (newActiveIndex < 0 || typeof newActiveIndex === 'undefined') newActiveIndex = 0; - } - // for (i = 0; i < s.slidesGrid.length; i++) { - // if (- translate >= s.slidesGrid[i]) { - // newActiveIndex = i; - // } - // } - snapIndex = Math.floor(newActiveIndex / s.params.slidesPerGroup); - if (snapIndex >= s.snapGrid.length) snapIndex = s.snapGrid.length - 1; - - if (newActiveIndex === s.activeIndex) { - return; - } - s.snapIndex = snapIndex; - s.previousIndex = s.activeIndex; - s.activeIndex = newActiveIndex; - s.updateClasses(); - s.updateRealIndex(); - }; - s.updateRealIndex = function(){ - s.realIndex = s.slides.eq(s.activeIndex).attr('data-swiper-slide-index') || s.activeIndex; - }; - - /*========================= - Classes - ===========================*/ - s.updateClasses = function () { - s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass + ' ' + s.params.slideDuplicateActiveClass + ' ' + s.params.slideDuplicateNextClass + ' ' + s.params.slideDuplicatePrevClass); - var activeSlide = s.slides.eq(s.activeIndex); - // Active classes - activeSlide.addClass(s.params.slideActiveClass); - if (params.loop) { - // Duplicate to all looped slides - if (activeSlide.hasClass(s.params.slideDuplicateClass)) { - s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index="' + s.realIndex + '"]').addClass(s.params.slideDuplicateActiveClass); - } - else { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + s.realIndex + '"]').addClass(s.params.slideDuplicateActiveClass); - } - } - // Next Slide - var nextSlide = activeSlide.next('.' + s.params.slideClass).addClass(s.params.slideNextClass); - if (s.params.loop && nextSlide.length === 0) { - nextSlide = s.slides.eq(0); - nextSlide.addClass(s.params.slideNextClass); - } - // Prev Slide - var prevSlide = activeSlide.prev('.' + s.params.slideClass).addClass(s.params.slidePrevClass); - if (s.params.loop && prevSlide.length === 0) { - prevSlide = s.slides.eq(-1); - prevSlide.addClass(s.params.slidePrevClass); - } - if (params.loop) { - // Duplicate to all looped slides - if (nextSlide.hasClass(s.params.slideDuplicateClass)) { - s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index="' + nextSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicateNextClass); - } - else { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + nextSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicateNextClass); - } - if (prevSlide.hasClass(s.params.slideDuplicateClass)) { - s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index="' + prevSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicatePrevClass); - } - else { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + prevSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicatePrevClass); - } - } - - // Pagination - if (s.paginationContainer && s.paginationContainer.length > 0) { - // Current/Total - var current, - total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; - if (s.params.loop) { - current = Math.ceil((s.activeIndex - s.loopedSlides)/s.params.slidesPerGroup); - if (current > s.slides.length - 1 - s.loopedSlides * 2) { - current = current - (s.slides.length - s.loopedSlides * 2); - } - if (current > total - 1) current = current - total; - if (current < 0 && s.params.paginationType !== 'bullets') current = total + current; - } - else { - if (typeof s.snapIndex !== 'undefined') { - current = s.snapIndex; - } - else { - current = s.activeIndex || 0; - } - } - // Types - if (s.params.paginationType === 'bullets' && s.bullets && s.bullets.length > 0) { - s.bullets.removeClass(s.params.bulletActiveClass); - if (s.paginationContainer.length > 1) { - s.bullets.each(function () { - if ($(this).index() === current) $(this).addClass(s.params.bulletActiveClass); - }); - } - else { - s.bullets.eq(current).addClass(s.params.bulletActiveClass); - } - } - if (s.params.paginationType === 'fraction') { - s.paginationContainer.find('.' + s.params.paginationCurrentClass).text(current + 1); - s.paginationContainer.find('.' + s.params.paginationTotalClass).text(total); - } - if (s.params.paginationType === 'progress') { - var scale = (current + 1) / total, - scaleX = scale, - scaleY = 1; - if (!s.isHorizontal()) { - scaleY = scale; - scaleX = 1; - } - s.paginationContainer.find('.' + s.params.paginationProgressbarClass).transform('translate3d(0,0,0) scaleX(' + scaleX + ') scaleY(' + scaleY + ')').transition(s.params.speed); - } - if (s.params.paginationType === 'custom' && s.params.paginationCustomRender) { - s.paginationContainer.html(s.params.paginationCustomRender(s, current + 1, total)); - s.emit('onPaginationRendered', s, s.paginationContainer[0]); - } - } - - // Next/active buttons - if (!s.params.loop) { - if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) { - if (s.isBeginning) { - s.prevButton.addClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.disable(s.prevButton); - } - else { - s.prevButton.removeClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.enable(s.prevButton); - } - } - if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) { - if (s.isEnd) { - s.nextButton.addClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.disable(s.nextButton); - } - else { - s.nextButton.removeClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.enable(s.nextButton); - } - } - } - }; - - /*========================= - Pagination - ===========================*/ - s.updatePagination = function () { - if (!s.params.pagination) return; - if (s.paginationContainer && s.paginationContainer.length > 0) { - var paginationHTML = ''; - if (s.params.paginationType === 'bullets') { - var numberOfBullets = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; - for (var i = 0; i < numberOfBullets; i++) { - if (s.params.paginationBulletRender) { - paginationHTML += s.params.paginationBulletRender(s, i, s.params.bulletClass); - } - else { - paginationHTML += '<' + s.params.paginationElement+' class="' + s.params.bulletClass + '">'; - } - } - s.paginationContainer.html(paginationHTML); - s.bullets = s.paginationContainer.find('.' + s.params.bulletClass); - if (s.params.paginationClickable && s.params.a11y && s.a11y) { - s.a11y.initPagination(); - } - } - if (s.params.paginationType === 'fraction') { - if (s.params.paginationFractionRender) { - paginationHTML = s.params.paginationFractionRender(s, s.params.paginationCurrentClass, s.params.paginationTotalClass); - } - else { - paginationHTML = - '' + - ' / ' + - ''; - } - s.paginationContainer.html(paginationHTML); - } - if (s.params.paginationType === 'progress') { - if (s.params.paginationProgressRender) { - paginationHTML = s.params.paginationProgressRender(s, s.params.paginationProgressbarClass); - } - else { - paginationHTML = ''; - } - s.paginationContainer.html(paginationHTML); - } - if (s.params.paginationType !== 'custom') { - s.emit('onPaginationRendered', s, s.paginationContainer[0]); - } - } - }; - /*========================= - Common update method - ===========================*/ - s.update = function (updateTranslate) { - s.updateContainerSize(); - s.updateSlidesSize(); - s.updateProgress(); - s.updatePagination(); - s.updateClasses(); - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.set(); - } - function forceSetTranslate() { - var translate = s.rtl ? -s.translate : s.translate; - newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate()); - s.setWrapperTranslate(newTranslate); - s.updateActiveIndex(); - s.updateClasses(); - } - if (updateTranslate) { - var translated, newTranslate; - if (s.controller && s.controller.spline) { - s.controller.spline = undefined; - } - if (s.params.freeMode) { - forceSetTranslate(); - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - } - else { - if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) { - translated = s.slideTo(s.slides.length - 1, 0, false, true); - } - else { - translated = s.slideTo(s.activeIndex, 0, false, true); - } - if (!translated) { - forceSetTranslate(); - } - } - } - else if (s.params.autoHeight) { - s.updateAutoHeight(); - } - }; - - /*========================= - Resize Handler - ===========================*/ - s.onResize = function (forceUpdatePagination) { - //Breakpoints - if (s.params.breakpoints) { - s.setBreakpoint(); - } - - // Disable locks on resize - var allowSwipeToPrev = s.params.allowSwipeToPrev; - var allowSwipeToNext = s.params.allowSwipeToNext; - s.params.allowSwipeToPrev = s.params.allowSwipeToNext = true; - - s.updateContainerSize(); - s.updateSlidesSize(); - if (s.params.slidesPerView === 'auto' || s.params.freeMode || forceUpdatePagination) s.updatePagination(); - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.set(); - } - if (s.controller && s.controller.spline) { - s.controller.spline = undefined; - } - var slideChangedBySlideTo = false; - if (s.params.freeMode) { - var newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate()); - s.setWrapperTranslate(newTranslate); - s.updateActiveIndex(); - s.updateClasses(); - - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - } - else { - s.updateClasses(); - if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) { - slideChangedBySlideTo = s.slideTo(s.slides.length - 1, 0, false, true); - } - else { - slideChangedBySlideTo = s.slideTo(s.activeIndex, 0, false, true); - } - } - if (s.params.lazyLoading && !slideChangedBySlideTo && s.lazy) { - s.lazy.load(); - } - // Return locks after resize - s.params.allowSwipeToPrev = allowSwipeToPrev; - s.params.allowSwipeToNext = allowSwipeToNext; - }; - - /*========================= - Events - ===========================*/ - - //Define Touch Events - s.touchEventsDesktop = {start: 'mousedown', move: 'mousemove', end: 'mouseup'}; - if (window.navigator.pointerEnabled) s.touchEventsDesktop = {start: 'pointerdown', move: 'pointermove', end: 'pointerup'}; - else if (window.navigator.msPointerEnabled) s.touchEventsDesktop = {start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp'}; - s.touchEvents = { - start : s.support.touch || !s.params.simulateTouch ? 'touchstart' : s.touchEventsDesktop.start, - move : s.support.touch || !s.params.simulateTouch ? 'touchmove' : s.touchEventsDesktop.move, - end : s.support.touch || !s.params.simulateTouch ? 'touchend' : s.touchEventsDesktop.end - }; - - - // WP8 Touch Events Fix - if (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) { - (s.params.touchEventsTarget === 'container' ? s.container : s.wrapper).addClass('swiper-wp8-' + s.params.direction); - } - - // Attach/detach events - s.initEvents = function (detach) { - var actionDom = detach ? 'off' : 'on'; - var action = detach ? 'removeEventListener' : 'addEventListener'; - var touchEventsTarget = s.params.touchEventsTarget === 'container' ? s.container[0] : s.wrapper[0]; - var target = s.support.touch ? touchEventsTarget : document; - - var moveCapture = s.params.nested ? true : false; - - //Touch Events - if (s.browser.ie) { - touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, false); - target[action](s.touchEvents.move, s.onTouchMove, moveCapture); - target[action](s.touchEvents.end, s.onTouchEnd, false); - } - else { - if (s.support.touch) { - var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false; - touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, passiveListener); - touchEventsTarget[action](s.touchEvents.move, s.onTouchMove, moveCapture); - touchEventsTarget[action](s.touchEvents.end, s.onTouchEnd, passiveListener); - } - if ((params.simulateTouch && !s.device.ios && !s.device.android) || (params.simulateTouch && !s.support.touch && s.device.ios)) { - touchEventsTarget[action]('mousedown', s.onTouchStart, false); - document[action]('mousemove', s.onTouchMove, moveCapture); - document[action]('mouseup', s.onTouchEnd, false); - } - } - window[action]('resize', s.onResize); - - // Next, Prev, Index - if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) { - s.nextButton[actionDom]('click', s.onClickNext); - if (s.params.a11y && s.a11y) s.nextButton[actionDom]('keydown', s.a11y.onEnterKey); - } - if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) { - s.prevButton[actionDom]('click', s.onClickPrev); - if (s.params.a11y && s.a11y) s.prevButton[actionDom]('keydown', s.a11y.onEnterKey); - } - if (s.params.pagination && s.params.paginationClickable) { - s.paginationContainer[actionDom]('click', '.' + s.params.bulletClass, s.onClickIndex); - if (s.params.a11y && s.a11y) s.paginationContainer[actionDom]('keydown', '.' + s.params.bulletClass, s.a11y.onEnterKey); - } - - // Prevent Links Clicks - if (s.params.preventClicks || s.params.preventClicksPropagation) touchEventsTarget[action]('click', s.preventClicks, true); - }; - s.attachEvents = function () { - s.initEvents(); - }; - s.detachEvents = function () { - s.initEvents(true); - }; - - /*========================= - Handle Clicks - ===========================*/ - // Prevent Clicks - s.allowClick = true; - s.preventClicks = function (e) { - if (!s.allowClick) { - if (s.params.preventClicks) e.preventDefault(); - if (s.params.preventClicksPropagation && s.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } - }; - // Clicks - s.onClickNext = function (e) { - e.preventDefault(); - if (s.isEnd && !s.params.loop) return; - s.slideNext(); - }; - s.onClickPrev = function (e) { - e.preventDefault(); - if (s.isBeginning && !s.params.loop) return; - s.slidePrev(); - }; - s.onClickIndex = function (e) { - e.preventDefault(); - var index = $(this).index() * s.params.slidesPerGroup; - if (s.params.loop) index = index + s.loopedSlides; - s.slideTo(index); - }; - - /*========================= - Handle Touches - ===========================*/ - function findElementInEvent(e, selector) { - var el = $(e.target); - if (!el.is(selector)) { - if (typeof selector === 'string') { - el = el.parents(selector); - } - else if (selector.nodeType) { - var found; - el.parents().each(function (index, _el) { - if (_el === selector) found = selector; - }); - if (!found) return undefined; - else return selector; - } - } - if (el.length === 0) { - return undefined; - } - return el[0]; - } - s.updateClickedSlide = function (e) { - var slide = findElementInEvent(e, '.' + s.params.slideClass); - var slideFound = false; - if (slide) { - for (var i = 0; i < s.slides.length; i++) { - if (s.slides[i] === slide) slideFound = true; - } - } - - if (slide && slideFound) { - s.clickedSlide = slide; - s.clickedIndex = $(slide).index(); - } - else { - s.clickedSlide = undefined; - s.clickedIndex = undefined; - return; - } - if (s.params.slideToClickedSlide && s.clickedIndex !== undefined && s.clickedIndex !== s.activeIndex) { - var slideToIndex = s.clickedIndex, - realIndex, - duplicatedSlides; - if (s.params.loop) { - if (s.animating) return; - realIndex = $(s.clickedSlide).attr('data-swiper-slide-index'); - if (s.params.centeredSlides) { - if ((slideToIndex < s.loopedSlides - s.params.slidesPerView/2) || (slideToIndex > s.slides.length - s.loopedSlides + s.params.slidesPerView/2)) { - s.fixLoop(); - slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index="' + realIndex + '"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index(); - setTimeout(function () { - s.slideTo(slideToIndex); - }, 0); - } - else { - s.slideTo(slideToIndex); - } - } - else { - if (slideToIndex > s.slides.length - s.params.slidesPerView) { - s.fixLoop(); - slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index="' + realIndex + '"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index(); - setTimeout(function () { - s.slideTo(slideToIndex); - }, 0); - } - else { - s.slideTo(slideToIndex); - } - } - } - else { - s.slideTo(slideToIndex); - } - } - }; - - var isTouched, - isMoved, - allowTouchCallbacks, - touchStartTime, - isScrolling, - currentTranslate, - startTranslate, - allowThresholdMove, - // Form elements to match - formElements = 'input, select, textarea, button, video', - // Last click time - lastClickTime = Date.now(), clickTimeout, - //Velocities - velocities = [], - allowMomentumBounce; - - // Animating Flag - s.animating = false; - - // Touches information - s.touches = { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }; - - // Touch handlers - var isTouchEvent, startMoving; - s.onTouchStart = function (e) { - if (e.originalEvent) e = e.originalEvent; - isTouchEvent = e.type === 'touchstart'; - if (!isTouchEvent && 'which' in e && e.which === 3) return; - if (s.params.noSwiping && findElementInEvent(e, '.' + s.params.noSwipingClass)) { - s.allowClick = true; - return; - } - if (s.params.swipeHandler) { - if (!findElementInEvent(e, s.params.swipeHandler)) return; - } - - var startX = s.touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - var startY = s.touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore - if(s.device.ios && s.params.iOSEdgeSwipeDetection && startX <= s.params.iOSEdgeSwipeThreshold) { - return; - } - - isTouched = true; - isMoved = false; - allowTouchCallbacks = true; - isScrolling = undefined; - startMoving = undefined; - s.touches.startX = startX; - s.touches.startY = startY; - touchStartTime = Date.now(); - s.allowClick = true; - s.updateContainerSize(); - s.swipeDirection = undefined; - if (s.params.threshold > 0) allowThresholdMove = false; - if (e.type !== 'touchstart') { - var preventDefault = true; - if ($(e.target).is(formElements)) preventDefault = false; - if (document.activeElement && $(document.activeElement).is(formElements)) { - document.activeElement.blur(); - } - if (preventDefault) { - e.preventDefault(); - } - } - s.emit('onTouchStart', s, e); - }; - - s.onTouchMove = function (e) { - if (e.originalEvent) e = e.originalEvent; - if (isTouchEvent && e.type === 'mousemove') return; - if (e.preventedByNestedSwiper) { - s.touches.startX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - s.touches.startY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - return; - } - if (s.params.onlyExternal) { - // isMoved = true; - s.allowClick = false; - if (isTouched) { - s.touches.startX = s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - s.touches.startY = s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = Date.now(); - } - return; - } - if (isTouchEvent && s.params.touchReleaseOnEdges && !s.params.loop) { - if (!s.isHorizontal()) { - // Vertical - if ( - (s.touches.currentY < s.touches.startY && s.translate <= s.maxTranslate()) || - (s.touches.currentY > s.touches.startY && s.translate >= s.minTranslate()) - ) { - return; - } - } - else { - if ( - (s.touches.currentX < s.touches.startX && s.translate <= s.maxTranslate()) || - (s.touches.currentX > s.touches.startX && s.translate >= s.minTranslate()) - ) { - return; - } - } - } - if (isTouchEvent && document.activeElement) { - if (e.target === document.activeElement && $(e.target).is(formElements)) { - isMoved = true; - s.allowClick = false; - return; - } - } - if (allowTouchCallbacks) { - s.emit('onTouchMove', s, e); - } - if (e.targetTouches && e.targetTouches.length > 1) return; - - s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - - if (typeof isScrolling === 'undefined') { - var touchAngle; - if (s.isHorizontal() && s.touches.currentY === s.touches.startY || !s.isHorizontal() && s.touches.currentX !== s.touches.startX) { - isScrolling = false; - } - else { - touchAngle = Math.atan2(Math.abs(s.touches.currentY - s.touches.startY), Math.abs(s.touches.currentX - s.touches.startX)) * 180 / Math.PI; - isScrolling = s.isHorizontal() ? touchAngle > s.params.touchAngle : (90 - touchAngle > s.params.touchAngle); - } - } - if (isScrolling) { - s.emit('onTouchMoveOpposite', s, e); - } - if (typeof startMoving === 'undefined' && s.browser.ieTouch) { - if (s.touches.currentX !== s.touches.startX || s.touches.currentY !== s.touches.startY) { - startMoving = true; - } - } - if (!isTouched) return; - if (isScrolling) { - isTouched = false; - return; - } - if (!startMoving && s.browser.ieTouch) { - return; - } - s.allowClick = false; - s.emit('onSliderMove', s, e); - e.preventDefault(); - if (s.params.touchMoveStopPropagation && !s.params.nested) { - e.stopPropagation(); - } - - if (!isMoved) { - if (params.loop) { - s.fixLoop(); - } - startTranslate = s.getWrapperTranslate(); - s.setWrapperTransition(0); - if (s.animating) { - s.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd'); - } - if (s.params.autoplay && s.autoplaying) { - if (s.params.autoplayDisableOnInteraction) { - s.stopAutoplay(); - } - else { - s.pauseAutoplay(); - } - } - allowMomentumBounce = false; - //Grab Cursor - if (s.params.grabCursor && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) { - s.setGrabCursor(true); - } - } - isMoved = true; - - var diff = s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY; - - diff = diff * s.params.touchRatio; - if (s.rtl) diff = -diff; - - s.swipeDirection = diff > 0 ? 'prev' : 'next'; - currentTranslate = diff + startTranslate; - - var disableParentSwiper = true; - if ((diff > 0 && currentTranslate > s.minTranslate())) { - disableParentSwiper = false; - if (s.params.resistance) currentTranslate = s.minTranslate() - 1 + Math.pow(-s.minTranslate() + startTranslate + diff, s.params.resistanceRatio); - } - else if (diff < 0 && currentTranslate < s.maxTranslate()) { - disableParentSwiper = false; - if (s.params.resistance) currentTranslate = s.maxTranslate() + 1 - Math.pow(s.maxTranslate() - startTranslate - diff, s.params.resistanceRatio); - } - - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!s.params.allowSwipeToNext && s.swipeDirection === 'next' && currentTranslate < startTranslate) { - currentTranslate = startTranslate; - } - if (!s.params.allowSwipeToPrev && s.swipeDirection === 'prev' && currentTranslate > startTranslate) { - currentTranslate = startTranslate; - } - - - // Threshold - if (s.params.threshold > 0) { - if (Math.abs(diff) > s.params.threshold || allowThresholdMove) { - if (!allowThresholdMove) { - allowThresholdMove = true; - s.touches.startX = s.touches.currentX; - s.touches.startY = s.touches.currentY; - currentTranslate = startTranslate; - s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY; - return; - } - } - else { - currentTranslate = startTranslate; - return; - } - } - - if (!s.params.followFinger) return; - - // Update active index in free mode - if (s.params.freeMode || s.params.watchSlidesProgress) { - s.updateActiveIndex(); - } - if (s.params.freeMode) { - //Velocity - if (velocities.length === 0) { - velocities.push({ - position: s.touches[s.isHorizontal() ? 'startX' : 'startY'], - time: touchStartTime - }); - } - velocities.push({ - position: s.touches[s.isHorizontal() ? 'currentX' : 'currentY'], - time: (new window.Date()).getTime() - }); - } - // Update progress - s.updateProgress(currentTranslate); - // Update translate - s.setWrapperTranslate(currentTranslate); - }; - s.onTouchEnd = function (e) { - if (e.originalEvent) e = e.originalEvent; - if (allowTouchCallbacks) { - s.emit('onTouchEnd', s, e); - } - allowTouchCallbacks = false; - if (!isTouched) return; - //Return Grab Cursor - if (s.params.grabCursor && isMoved && isTouched && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) { - s.setGrabCursor(false); - } - - // Time diff - var touchEndTime = Date.now(); - var timeDiff = touchEndTime - touchStartTime; - - // Tap, doubleTap, Click - if (s.allowClick) { - s.updateClickedSlide(e); - s.emit('onTap', s, e); - if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) { - if (clickTimeout) clearTimeout(clickTimeout); - clickTimeout = setTimeout(function () { - if (!s) return; - if (s.params.paginationHide && s.paginationContainer.length > 0 && !$(e.target).hasClass(s.params.bulletClass)) { - s.paginationContainer.toggleClass(s.params.paginationHiddenClass); - } - s.emit('onClick', s, e); - }, 300); - - } - if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) { - if (clickTimeout) clearTimeout(clickTimeout); - s.emit('onDoubleTap', s, e); - } - } - - lastClickTime = Date.now(); - setTimeout(function () { - if (s) s.allowClick = true; - }, 0); - - if (!isTouched || !isMoved || !s.swipeDirection || s.touches.diff === 0 || currentTranslate === startTranslate) { - isTouched = isMoved = false; - return; - } - isTouched = isMoved = false; - - var currentPos; - if (s.params.followFinger) { - currentPos = s.rtl ? s.translate : -s.translate; - } - else { - currentPos = -currentTranslate; - } - if (s.params.freeMode) { - if (currentPos < -s.minTranslate()) { - s.slideTo(s.activeIndex); - return; - } - else if (currentPos > -s.maxTranslate()) { - if (s.slides.length < s.snapGrid.length) { - s.slideTo(s.snapGrid.length - 1); - } - else { - s.slideTo(s.slides.length - 1); - } - return; - } - - if (s.params.freeModeMomentum) { - if (velocities.length > 1) { - var lastMoveEvent = velocities.pop(), velocityEvent = velocities.pop(); - - var distance = lastMoveEvent.position - velocityEvent.position; - var time = lastMoveEvent.time - velocityEvent.time; - s.velocity = distance / time; - s.velocity = s.velocity / 2; - if (Math.abs(s.velocity) < s.params.freeModeMinimumVelocity) { - s.velocity = 0; - } - // this implies that the user stopped moving a finger then released. - // There would be no events with distance zero, so the last event is stale. - if (time > 150 || (new window.Date().getTime() - lastMoveEvent.time) > 300) { - s.velocity = 0; - } - } else { - s.velocity = 0; - } - s.velocity = s.velocity * s.params.freeModeMomentumVelocityRatio; - - velocities.length = 0; - var momentumDuration = 1000 * s.params.freeModeMomentumRatio; - var momentumDistance = s.velocity * momentumDuration; - - var newPosition = s.translate + momentumDistance; - if (s.rtl) newPosition = - newPosition; - var doBounce = false; - var afterBouncePosition; - var bounceAmount = Math.abs(s.velocity) * 20 * s.params.freeModeMomentumBounceRatio; - if (newPosition < s.maxTranslate()) { - if (s.params.freeModeMomentumBounce) { - if (newPosition + s.maxTranslate() < -bounceAmount) { - newPosition = s.maxTranslate() - bounceAmount; - } - afterBouncePosition = s.maxTranslate(); - doBounce = true; - allowMomentumBounce = true; - } - else { - newPosition = s.maxTranslate(); - } - } - else if (newPosition > s.minTranslate()) { - if (s.params.freeModeMomentumBounce) { - if (newPosition - s.minTranslate() > bounceAmount) { - newPosition = s.minTranslate() + bounceAmount; - } - afterBouncePosition = s.minTranslate(); - doBounce = true; - allowMomentumBounce = true; - } - else { - newPosition = s.minTranslate(); - } - } - else if (s.params.freeModeSticky) { - var j = 0, - nextSlide; - for (j = 0; j < s.snapGrid.length; j += 1) { - if (s.snapGrid[j] > -newPosition) { - nextSlide = j; - break; - } - - } - if (Math.abs(s.snapGrid[nextSlide] - newPosition) < Math.abs(s.snapGrid[nextSlide - 1] - newPosition) || s.swipeDirection === 'next') { - newPosition = s.snapGrid[nextSlide]; - } else { - newPosition = s.snapGrid[nextSlide - 1]; - } - if (!s.rtl) newPosition = - newPosition; - } - //Fix duration - if (s.velocity !== 0) { - if (s.rtl) { - momentumDuration = Math.abs((-newPosition - s.translate) / s.velocity); - } - else { - momentumDuration = Math.abs((newPosition - s.translate) / s.velocity); - } - } - else if (s.params.freeModeSticky) { - s.slideReset(); - return; - } - - if (s.params.freeModeMomentumBounce && doBounce) { - s.updateProgress(afterBouncePosition); - s.setWrapperTransition(momentumDuration); - s.setWrapperTranslate(newPosition); - s.onTransitionStart(); - s.animating = true; - s.wrapper.transitionEnd(function () { - if (!s || !allowMomentumBounce) return; - s.emit('onMomentumBounce', s); - - s.setWrapperTransition(s.params.speed); - s.setWrapperTranslate(afterBouncePosition); - s.wrapper.transitionEnd(function () { - if (!s) return; - s.onTransitionEnd(); - }); - }); - } else if (s.velocity) { - s.updateProgress(newPosition); - s.setWrapperTransition(momentumDuration); - s.setWrapperTranslate(newPosition); - s.onTransitionStart(); - if (!s.animating) { - s.animating = true; - s.wrapper.transitionEnd(function () { - if (!s) return; - s.onTransitionEnd(); - }); - } - - } else { - s.updateProgress(newPosition); - } - - s.updateActiveIndex(); - } - if (!s.params.freeModeMomentum || timeDiff >= s.params.longSwipesMs) { - s.updateProgress(); - s.updateActiveIndex(); - } - return; - } - - // Find current slide - var i, stopIndex = 0, groupSize = s.slidesSizesGrid[0]; - for (i = 0; i < s.slidesGrid.length; i += s.params.slidesPerGroup) { - if (typeof s.slidesGrid[i + s.params.slidesPerGroup] !== 'undefined') { - if (currentPos >= s.slidesGrid[i] && currentPos < s.slidesGrid[i + s.params.slidesPerGroup]) { - stopIndex = i; - groupSize = s.slidesGrid[i + s.params.slidesPerGroup] - s.slidesGrid[i]; - } - } - else { - if (currentPos >= s.slidesGrid[i]) { - stopIndex = i; - groupSize = s.slidesGrid[s.slidesGrid.length - 1] - s.slidesGrid[s.slidesGrid.length - 2]; - } - } - } - - // Find current slide size - var ratio = (currentPos - s.slidesGrid[stopIndex]) / groupSize; - - if (timeDiff > s.params.longSwipesMs) { - // Long touches - if (!s.params.longSwipes) { - s.slideTo(s.activeIndex); - return; - } - if (s.swipeDirection === 'next') { - if (ratio >= s.params.longSwipesRatio) s.slideTo(stopIndex + s.params.slidesPerGroup); - else s.slideTo(stopIndex); - - } - if (s.swipeDirection === 'prev') { - if (ratio > (1 - s.params.longSwipesRatio)) s.slideTo(stopIndex + s.params.slidesPerGroup); - else s.slideTo(stopIndex); - } - } - else { - // Short swipes - if (!s.params.shortSwipes) { - s.slideTo(s.activeIndex); - return; - } - if (s.swipeDirection === 'next') { - s.slideTo(stopIndex + s.params.slidesPerGroup); - - } - if (s.swipeDirection === 'prev') { - s.slideTo(stopIndex); - } - } - }; - /*========================= - Transitions - ===========================*/ - s._slideTo = function (slideIndex, speed) { - return s.slideTo(slideIndex, speed, true, true); - }; - s.slideTo = function (slideIndex, speed, runCallbacks, internal) { - if (typeof runCallbacks === 'undefined') runCallbacks = true; - if (typeof slideIndex === 'undefined') slideIndex = 0; - if (slideIndex < 0) slideIndex = 0; - s.snapIndex = Math.floor(slideIndex / s.params.slidesPerGroup); - if (s.snapIndex >= s.snapGrid.length) s.snapIndex = s.snapGrid.length - 1; - - var translate = - s.snapGrid[s.snapIndex]; - // Stop autoplay - if (s.params.autoplay && s.autoplaying) { - if (internal || !s.params.autoplayDisableOnInteraction) { - s.pauseAutoplay(speed); - } - else { - s.stopAutoplay(); - } - } - // Update progress - s.updateProgress(translate); - - // Normalize slideIndex - if(s.params.normalizeSlideIndex){ - for (var i = 0; i < s.slidesGrid.length; i++) { - if (- Math.floor(translate * 100) >= Math.floor(s.slidesGrid[i] * 100)) { - slideIndex = i; - } - } - } - - // Directions locks - if (!s.params.allowSwipeToNext && translate < s.translate && translate < s.minTranslate()) { - return false; - } - if (!s.params.allowSwipeToPrev && translate > s.translate && translate > s.maxTranslate()) { - if ((s.activeIndex || 0) !== slideIndex ) return false; - } - - // Update Index - if (typeof speed === 'undefined') speed = s.params.speed; - s.previousIndex = s.activeIndex || 0; - s.activeIndex = slideIndex; - s.updateRealIndex(); - if ((s.rtl && -translate === s.translate) || (!s.rtl && translate === s.translate)) { - // Update Height - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - s.updateClasses(); - if (s.params.effect !== 'slide') { - s.setWrapperTranslate(translate); - } - return false; - } - s.updateClasses(); - s.onTransitionStart(runCallbacks); - - if (speed === 0 || s.browser.lteIE9) { - s.setWrapperTranslate(translate); - s.setWrapperTransition(0); - s.onTransitionEnd(runCallbacks); - } - else { - s.setWrapperTranslate(translate); - s.setWrapperTransition(speed); - if (!s.animating) { - s.animating = true; - s.wrapper.transitionEnd(function () { - if (!s) return; - s.onTransitionEnd(runCallbacks); - }); - } - - } - - return true; - }; - - s.onTransitionStart = function (runCallbacks) { - if (typeof runCallbacks === 'undefined') runCallbacks = true; - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - if (s.lazy) s.lazy.onTransitionStart(); - if (runCallbacks) { - s.emit('onTransitionStart', s); - if (s.activeIndex !== s.previousIndex) { - s.emit('onSlideChangeStart', s); - if (s.activeIndex > s.previousIndex) { - s.emit('onSlideNextStart', s); - } - else { - s.emit('onSlidePrevStart', s); - } - } - - } - }; - s.onTransitionEnd = function (runCallbacks) { - s.animating = false; - s.setWrapperTransition(0); - if (typeof runCallbacks === 'undefined') runCallbacks = true; - if (s.lazy) s.lazy.onTransitionEnd(); - if (runCallbacks) { - s.emit('onTransitionEnd', s); - if (s.activeIndex !== s.previousIndex) { - s.emit('onSlideChangeEnd', s); - if (s.activeIndex > s.previousIndex) { - s.emit('onSlideNextEnd', s); - } - else { - s.emit('onSlidePrevEnd', s); - } - } - } - if (s.params.history && s.history) { - s.history.setHistory(s.params.history, s.activeIndex); - } - if (s.params.hashnav && s.hashnav) { - s.hashnav.setHash(); - } - - }; - s.slideNext = function (runCallbacks, speed, internal) { - if (s.params.loop) { - if (s.animating) return false; - s.fixLoop(); - var clientLeft = s.container[0].clientLeft; - return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal); - } - else return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal); - }; - s._slideNext = function (speed) { - return s.slideNext(true, speed, true); - }; - s.slidePrev = function (runCallbacks, speed, internal) { - if (s.params.loop) { - if (s.animating) return false; - s.fixLoop(); - var clientLeft = s.container[0].clientLeft; - return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal); - } - else return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal); - }; - s._slidePrev = function (speed) { - return s.slidePrev(true, speed, true); - }; - s.slideReset = function (runCallbacks, speed, internal) { - return s.slideTo(s.activeIndex, speed, runCallbacks); - }; - - s.disableTouchControl = function () { - s.params.onlyExternal = true; - return true; - }; - s.enableTouchControl = function () { - s.params.onlyExternal = false; - return true; - }; - - /*========================= - Translate/transition helpers - ===========================*/ - s.setWrapperTransition = function (duration, byController) { - s.wrapper.transition(duration); - if (s.params.effect !== 'slide' && s.effects[s.params.effect]) { - s.effects[s.params.effect].setTransition(duration); - } - if (s.params.parallax && s.parallax) { - s.parallax.setTransition(duration); - } - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.setTransition(duration); - } - if (s.params.control && s.controller) { - s.controller.setTransition(duration, byController); - } - s.emit('onSetTransition', s, duration); - }; - s.setWrapperTranslate = function (translate, updateActiveIndex, byController) { - var x = 0, y = 0, z = 0; - if (s.isHorizontal()) { - x = s.rtl ? -translate : translate; - } - else { - y = translate; - } - - if (s.params.roundLengths) { - x = round(x); - y = round(y); - } - - if (!s.params.virtualTranslate) { - if (s.support.transforms3d) s.wrapper.transform('translate3d(' + x + 'px, ' + y + 'px, ' + z + 'px)'); - else s.wrapper.transform('translate(' + x + 'px, ' + y + 'px)'); - } - - s.translate = s.isHorizontal() ? x : y; - - // Check if we need to update progress - var progress; - var translatesDiff = s.maxTranslate() - s.minTranslate(); - if (translatesDiff === 0) { - progress = 0; - } - else { - progress = (translate - s.minTranslate()) / (translatesDiff); - } - if (progress !== s.progress) { - s.updateProgress(translate); - } - - if (updateActiveIndex) s.updateActiveIndex(); - if (s.params.effect !== 'slide' && s.effects[s.params.effect]) { - s.effects[s.params.effect].setTranslate(s.translate); - } - if (s.params.parallax && s.parallax) { - s.parallax.setTranslate(s.translate); - } - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.setTranslate(s.translate); - } - if (s.params.control && s.controller) { - s.controller.setTranslate(s.translate, byController); - } - s.emit('onSetTranslate', s, s.translate); - }; - - s.getTranslate = function (el, axis) { - var matrix, curTransform, curStyle, transformMatrix; - - // automatic axis detection - if (typeof axis === 'undefined') { - axis = 'x'; - } - - if (s.params.virtualTranslate) { - return s.rtl ? -s.translate : s.translate; - } - - curStyle = window.getComputedStyle(el, null); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(function(a){ - return a.replace(',','.'); - }).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } - else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - - if (axis === 'x') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m41; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[12]); - //Normal Browsers - else - curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m42; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[13]); - //Normal Browsers - else - curTransform = parseFloat(matrix[5]); - } - if (s.rtl && curTransform) curTransform = -curTransform; - return curTransform || 0; - }; - s.getWrapperTranslate = function (axis) { - if (typeof axis === 'undefined') { - axis = s.isHorizontal() ? 'x' : 'y'; - } - return s.getTranslate(s.wrapper[0], axis); - }; - - /*========================= - Observer - ===========================*/ - s.observers = []; - function initObserver(target, options) { - options = options || {}; - // create an observer instance - var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - var observer = new ObserverFunc(function (mutations) { - mutations.forEach(function (mutation) { - s.onResize(true); - s.emit('onObserverUpdate', s, mutation); - }); - }); - - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - - s.observers.push(observer); - } - s.initObservers = function () { - if (s.params.observeParents) { - var containerParents = s.container.parents(); - for (var i = 0; i < containerParents.length; i++) { - initObserver(containerParents[i]); - } - } - - // Observe container - initObserver(s.container[0], {childList: false}); - - // Observe wrapper - initObserver(s.wrapper[0], {attributes: false}); - }; - s.disconnectObservers = function () { - for (var i = 0; i < s.observers.length; i++) { - s.observers[i].disconnect(); - } - s.observers = []; - }; - /*========================= - Loop - ===========================*/ - // Create looped slides - s.createLoop = function () { - // Remove duplicated slides - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove(); - - var slides = s.wrapper.children('.' + s.params.slideClass); - - if(s.params.slidesPerView === 'auto' && !s.params.loopedSlides) s.params.loopedSlides = slides.length; - - s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10); - s.loopedSlides = s.loopedSlides + s.params.loopAdditionalSlides; - if (s.loopedSlides > slides.length) { - s.loopedSlides = slides.length; - } - - var prependSlides = [], appendSlides = [], i; - slides.each(function (index, el) { - var slide = $(this); - if (index < s.loopedSlides) appendSlides.push(el); - if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el); - slide.attr('data-swiper-slide-index', index); - }); - for (i = 0; i < appendSlides.length; i++) { - s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass)); - } - for (i = prependSlides.length - 1; i >= 0; i--) { - s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass)); - } - }; - s.destroyLoop = function () { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove(); - s.slides.removeAttr('data-swiper-slide-index'); - }; - s.reLoop = function (updatePosition) { - var oldIndex = s.activeIndex - s.loopedSlides; - s.destroyLoop(); - s.createLoop(); - s.updateSlidesSize(); - if (updatePosition) { - s.slideTo(oldIndex + s.loopedSlides, 0, false); - } - - }; - s.fixLoop = function () { - var newIndex; - //Fix For Negative Oversliding - if (s.activeIndex < s.loopedSlides) { - newIndex = s.slides.length - s.loopedSlides * 3 + s.activeIndex; - newIndex = newIndex + s.loopedSlides; - s.slideTo(newIndex, 0, false, true); - } - //Fix For Positive Oversliding - else if ((s.params.slidesPerView === 'auto' && s.activeIndex >= s.loopedSlides * 2) || (s.activeIndex > s.slides.length - s.params.slidesPerView * 2)) { - newIndex = -s.slides.length + s.activeIndex + s.loopedSlides; - newIndex = newIndex + s.loopedSlides; - s.slideTo(newIndex, 0, false, true); - } - }; - /*========================= - Append/Prepend/Remove Slides - ===========================*/ - s.appendSlide = function (slides) { - if (s.params.loop) { - s.destroyLoop(); - } - if (typeof slides === 'object' && slides.length) { - for (var i = 0; i < slides.length; i++) { - if (slides[i]) s.wrapper.append(slides[i]); - } - } - else { - s.wrapper.append(slides); - } - if (s.params.loop) { - s.createLoop(); - } - if (!(s.params.observer && s.support.observer)) { - s.update(true); - } - }; - s.prependSlide = function (slides) { - if (s.params.loop) { - s.destroyLoop(); - } - var newActiveIndex = s.activeIndex + 1; - if (typeof slides === 'object' && slides.length) { - for (var i = 0; i < slides.length; i++) { - if (slides[i]) s.wrapper.prepend(slides[i]); - } - newActiveIndex = s.activeIndex + slides.length; - } - else { - s.wrapper.prepend(slides); - } - if (s.params.loop) { - s.createLoop(); - } - if (!(s.params.observer && s.support.observer)) { - s.update(true); - } - s.slideTo(newActiveIndex, 0, false); - }; - s.removeSlide = function (slidesIndexes) { - if (s.params.loop) { - s.destroyLoop(); - s.slides = s.wrapper.children('.' + s.params.slideClass); - } - var newActiveIndex = s.activeIndex, - indexToRemove; - if (typeof slidesIndexes === 'object' && slidesIndexes.length) { - for (var i = 0; i < slidesIndexes.length; i++) { - indexToRemove = slidesIndexes[i]; - if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove(); - if (indexToRemove < newActiveIndex) newActiveIndex--; - } - newActiveIndex = Math.max(newActiveIndex, 0); - } - else { - indexToRemove = slidesIndexes; - if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove(); - if (indexToRemove < newActiveIndex) newActiveIndex--; - newActiveIndex = Math.max(newActiveIndex, 0); - } - - if (s.params.loop) { - s.createLoop(); - } - - if (!(s.params.observer && s.support.observer)) { - s.update(true); - } - if (s.params.loop) { - s.slideTo(newActiveIndex + s.loopedSlides, 0, false); - } - else { - s.slideTo(newActiveIndex, 0, false); - } - - }; - s.removeAllSlides = function () { - var slidesIndexes = []; - for (var i = 0; i < s.slides.length; i++) { - slidesIndexes.push(i); - } - s.removeSlide(slidesIndexes); - }; - - - /*========================= - Effects - ===========================*/ - s.effects = { - fade: { - setTranslate: function () { - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides.eq(i); - var offset = slide[0].swiperSlideOffset; - var tx = -offset; - if (!s.params.virtualTranslate) tx = tx - s.translate; - var ty = 0; - if (!s.isHorizontal()) { - ty = tx; - tx = 0; - } - var slideOpacity = s.params.fade.crossFade ? - Math.max(1 - Math.abs(slide[0].progress), 0) : - 1 + Math.min(Math.max(slide[0].progress, -1), 0); - slide - .css({ - opacity: slideOpacity - }) - .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px)'); - - } - - }, - setTransition: function (duration) { - s.slides.transition(duration); - if (s.params.virtualTranslate && duration !== 0) { - var eventTriggered = false; - s.slides.transitionEnd(function () { - if (eventTriggered) return; - if (!s) return; - eventTriggered = true; - s.animating = false; - var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd']; - for (var i = 0; i < triggerEvents.length; i++) { - s.wrapper.trigger(triggerEvents[i]); - } - }); - } - } - }, - flip: { - setTranslate: function () { - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides.eq(i); - var progress = slide[0].progress; - if (s.params.flip.limitRotation) { - progress = Math.max(Math.min(slide[0].progress, 1), -1); - } - var offset = slide[0].swiperSlideOffset; - var rotate = -180 * progress, - rotateY = rotate, - rotateX = 0, - tx = -offset, - ty = 0; - if (!s.isHorizontal()) { - ty = tx; - tx = 0; - rotateX = -rotateY; - rotateY = 0; - } - else if (s.rtl) { - rotateY = -rotateY; - } - - slide[0].style.zIndex = -Math.abs(Math.round(progress)) + s.slides.length; - - if (s.params.flip.slideShadows) { - //Set shadows - var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top'); - var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom'); - if (shadowBefore.length === 0) { - shadowBefore = $('
                '); - slide.append(shadowBefore); - } - if (shadowAfter.length === 0) { - shadowAfter = $('
                '); - slide.append(shadowAfter); - } - if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); - if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); - } - - slide - .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)'); - } - }, - setTransition: function (duration) { - s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); - if (s.params.virtualTranslate && duration !== 0) { - var eventTriggered = false; - s.slides.eq(s.activeIndex).transitionEnd(function () { - if (eventTriggered) return; - if (!s) return; - if (!$(this).hasClass(s.params.slideActiveClass)) return; - eventTriggered = true; - s.animating = false; - var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd']; - for (var i = 0; i < triggerEvents.length; i++) { - s.wrapper.trigger(triggerEvents[i]); - } - }); - } - } - }, - cube: { - setTranslate: function () { - var wrapperRotate = 0, cubeShadow; - if (s.params.cube.shadow) { - if (s.isHorizontal()) { - cubeShadow = s.wrapper.find('.swiper-cube-shadow'); - if (cubeShadow.length === 0) { - cubeShadow = $('
                '); - s.wrapper.append(cubeShadow); - } - cubeShadow.css({height: s.width + 'px'}); - } - else { - cubeShadow = s.container.find('.swiper-cube-shadow'); - if (cubeShadow.length === 0) { - cubeShadow = $('
                '); - s.container.append(cubeShadow); - } - } - } - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides.eq(i); - var slideAngle = i * 90; - var round = Math.floor(slideAngle / 360); - if (s.rtl) { - slideAngle = -slideAngle; - round = Math.floor(-slideAngle / 360); - } - var progress = Math.max(Math.min(slide[0].progress, 1), -1); - var tx = 0, ty = 0, tz = 0; - if (i % 4 === 0) { - tx = - round * 4 * s.size; - tz = 0; - } - else if ((i - 1) % 4 === 0) { - tx = 0; - tz = - round * 4 * s.size; - } - else if ((i - 2) % 4 === 0) { - tx = s.size + round * 4 * s.size; - tz = s.size; - } - else if ((i - 3) % 4 === 0) { - tx = - s.size; - tz = 3 * s.size + s.size * 4 * round; - } - if (s.rtl) { - tx = -tx; - } - - if (!s.isHorizontal()) { - ty = tx; - tx = 0; - } - - var transform = 'rotateX(' + (s.isHorizontal() ? 0 : -slideAngle) + 'deg) rotateY(' + (s.isHorizontal() ? slideAngle : 0) + 'deg) translate3d(' + tx + 'px, ' + ty + 'px, ' + tz + 'px)'; - if (progress <= 1 && progress > -1) { - wrapperRotate = i * 90 + progress * 90; - if (s.rtl) wrapperRotate = -i * 90 - progress * 90; - } - slide.transform(transform); - if (s.params.cube.slideShadows) { - //Set shadows - var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top'); - var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom'); - if (shadowBefore.length === 0) { - shadowBefore = $('
                '); - slide.append(shadowBefore); - } - if (shadowAfter.length === 0) { - shadowAfter = $('
                '); - slide.append(shadowAfter); - } - if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); - if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); - } - } - s.wrapper.css({ - '-webkit-transform-origin': '50% 50% -' + (s.size / 2) + 'px', - '-moz-transform-origin': '50% 50% -' + (s.size / 2) + 'px', - '-ms-transform-origin': '50% 50% -' + (s.size / 2) + 'px', - 'transform-origin': '50% 50% -' + (s.size / 2) + 'px' - }); - - if (s.params.cube.shadow) { - if (s.isHorizontal()) { - cubeShadow.transform('translate3d(0px, ' + (s.width / 2 + s.params.cube.shadowOffset) + 'px, ' + (-s.width / 2) + 'px) rotateX(90deg) rotateZ(0deg) scale(' + (s.params.cube.shadowScale) + ')'); - } - else { - var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; - var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); - var scale1 = s.params.cube.shadowScale, - scale2 = s.params.cube.shadowScale / multiplier, - offset = s.params.cube.shadowOffset; - cubeShadow.transform('scale3d(' + scale1 + ', 1, ' + scale2 + ') translate3d(0px, ' + (s.height / 2 + offset) + 'px, ' + (-s.height / 2 / scale2) + 'px) rotateX(-90deg)'); - } - } - var zFactor = (s.isSafari || s.isUiWebView) ? (-s.size / 2) : 0; - s.wrapper.transform('translate3d(0px,0,' + zFactor + 'px) rotateX(' + (s.isHorizontal() ? 0 : wrapperRotate) + 'deg) rotateY(' + (s.isHorizontal() ? -wrapperRotate : 0) + 'deg)'); - }, - setTransition: function (duration) { - s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); - if (s.params.cube.shadow && !s.isHorizontal()) { - s.container.find('.swiper-cube-shadow').transition(duration); - } - } - }, - coverflow: { - setTranslate: function () { - var transform = s.translate; - var center = s.isHorizontal() ? -transform + s.width / 2 : -transform + s.height / 2; - var rotate = s.isHorizontal() ? s.params.coverflow.rotate: -s.params.coverflow.rotate; - var translate = s.params.coverflow.depth; - //Each slide offset from center - for (var i = 0, length = s.slides.length; i < length; i++) { - var slide = s.slides.eq(i); - var slideSize = s.slidesSizesGrid[i]; - var slideOffset = slide[0].swiperSlideOffset; - var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * s.params.coverflow.modifier; - - var rotateY = s.isHorizontal() ? rotate * offsetMultiplier : 0; - var rotateX = s.isHorizontal() ? 0 : rotate * offsetMultiplier; - // var rotateZ = 0 - var translateZ = -translate * Math.abs(offsetMultiplier); - - var translateY = s.isHorizontal() ? 0 : s.params.coverflow.stretch * (offsetMultiplier); - var translateX = s.isHorizontal() ? s.params.coverflow.stretch * (offsetMultiplier) : 0; - - //Fix for ultra small values - if (Math.abs(translateX) < 0.001) translateX = 0; - if (Math.abs(translateY) < 0.001) translateY = 0; - if (Math.abs(translateZ) < 0.001) translateZ = 0; - if (Math.abs(rotateY) < 0.001) rotateY = 0; - if (Math.abs(rotateX) < 0.001) rotateX = 0; - - var slideTransform = 'translate3d(' + translateX + 'px,' + translateY + 'px,' + translateZ + 'px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)'; - - slide.transform(slideTransform); - slide[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; - if (s.params.coverflow.slideShadows) { - //Set shadows - var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top'); - var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom'); - if (shadowBefore.length === 0) { - shadowBefore = $('
                '); - slide.append(shadowBefore); - } - if (shadowAfter.length === 0) { - shadowAfter = $('
                '); - slide.append(shadowAfter); - } - if (shadowBefore.length) shadowBefore[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; - if (shadowAfter.length) shadowAfter[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0; - } - } - - //Set correct perspective for IE10 - if (s.browser.ie) { - var ws = s.wrapper[0].style; - ws.perspectiveOrigin = center + 'px 50%'; - } - }, - setTransition: function (duration) { - s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); - } - } - }; - - /*========================= - Images Lazy Loading - ===========================*/ - s.lazy = { - initialImageLoaded: false, - loadImageInSlide: function (index, loadInDuplicate) { - if (typeof index === 'undefined') return; - if (typeof loadInDuplicate === 'undefined') loadInDuplicate = true; - if (s.slides.length === 0) return; - - var slide = s.slides.eq(index); - var img = slide.find('.' + s.params.lazyLoadingClass + ':not(.' + s.params.lazyStatusLoadedClass + '):not(.' + s.params.lazyStatusLoadingClass + ')'); - if (slide.hasClass(s.params.lazyLoadingClass) && !slide.hasClass(s.params.lazyStatusLoadedClass) && !slide.hasClass(s.params.lazyStatusLoadingClass)) { - img = img.add(slide[0]); - } - if (img.length === 0) return; - - img.each(function () { - var _img = $(this); - _img.addClass(s.params.lazyStatusLoadingClass); - var background = _img.attr('data-background'); - var src = _img.attr('data-src'), - srcset = _img.attr('data-srcset'), - sizes = _img.attr('data-sizes'); - s.loadImage(_img[0], (src || background), srcset, sizes, false, function () { - if (background) { - _img.css('background-image', 'url("' + background + '")'); - _img.removeAttr('data-background'); - } - else { - if (srcset) { - _img.attr('srcset', srcset); - _img.removeAttr('data-srcset'); - } - if (sizes) { - _img.attr('sizes', sizes); - _img.removeAttr('data-sizes'); - } - if (src) { - _img.attr('src', src); - _img.removeAttr('data-src'); - } - - } - - _img.addClass(s.params.lazyStatusLoadedClass).removeClass(s.params.lazyStatusLoadingClass); - slide.find('.' + s.params.lazyPreloaderClass + ', .' + s.params.preloaderClass).remove(); - if (s.params.loop && loadInDuplicate) { - var slideOriginalIndex = slide.attr('data-swiper-slide-index'); - if (slide.hasClass(s.params.slideDuplicateClass)) { - var originalSlide = s.wrapper.children('[data-swiper-slide-index="' + slideOriginalIndex + '"]:not(.' + s.params.slideDuplicateClass + ')'); - s.lazy.loadImageInSlide(originalSlide.index(), false); - } - else { - var duplicatedSlide = s.wrapper.children('.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + slideOriginalIndex + '"]'); - s.lazy.loadImageInSlide(duplicatedSlide.index(), false); - } - } - s.emit('onLazyImageReady', s, slide[0], _img[0]); - }); - - s.emit('onLazyImageLoad', s, slide[0], _img[0]); - }); - - }, - load: function () { - var i; - var slidesPerView = s.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = 0; - } - if (!s.lazy.initialImageLoaded) s.lazy.initialImageLoaded = true; - if (s.params.watchSlidesVisibility) { - s.wrapper.children('.' + s.params.slideVisibleClass).each(function () { - s.lazy.loadImageInSlide($(this).index()); - }); - } - else { - if (slidesPerView > 1) { - for (i = s.activeIndex; i < s.activeIndex + slidesPerView ; i++) { - if (s.slides[i]) s.lazy.loadImageInSlide(i); - } - } - else { - s.lazy.loadImageInSlide(s.activeIndex); - } - } - if (s.params.lazyLoadingInPrevNext) { - if (slidesPerView > 1 || (s.params.lazyLoadingInPrevNextAmount && s.params.lazyLoadingInPrevNextAmount > 1)) { - var amount = s.params.lazyLoadingInPrevNextAmount; - var spv = slidesPerView; - var maxIndex = Math.min(s.activeIndex + spv + Math.max(amount, spv), s.slides.length); - var minIndex = Math.max(s.activeIndex - Math.max(spv, amount), 0); - // Next Slides - for (i = s.activeIndex + slidesPerView; i < maxIndex; i++) { - if (s.slides[i]) s.lazy.loadImageInSlide(i); - } - // Prev Slides - for (i = minIndex; i < s.activeIndex ; i++) { - if (s.slides[i]) s.lazy.loadImageInSlide(i); - } - } - else { - var nextSlide = s.wrapper.children('.' + s.params.slideNextClass); - if (nextSlide.length > 0) s.lazy.loadImageInSlide(nextSlide.index()); - - var prevSlide = s.wrapper.children('.' + s.params.slidePrevClass); - if (prevSlide.length > 0) s.lazy.loadImageInSlide(prevSlide.index()); - } - } - }, - onTransitionStart: function () { - if (s.params.lazyLoading) { - if (s.params.lazyLoadingOnTransitionStart || (!s.params.lazyLoadingOnTransitionStart && !s.lazy.initialImageLoaded)) { - s.lazy.load(); - } - } - }, - onTransitionEnd: function () { - if (s.params.lazyLoading && !s.params.lazyLoadingOnTransitionStart) { - s.lazy.load(); - } - } - }; - - - /*========================= - Scrollbar - ===========================*/ - s.scrollbar = { - isTouched: false, - setDragPosition: function (e) { - var sb = s.scrollbar; - var x = 0, y = 0; - var translate; - var pointerPosition = s.isHorizontal() ? - ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX) : - ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY) ; - var position = (pointerPosition) - sb.track.offset()[s.isHorizontal() ? 'left' : 'top'] - sb.dragSize / 2; - var positionMin = -s.minTranslate() * sb.moveDivider; - var positionMax = -s.maxTranslate() * sb.moveDivider; - if (position < positionMin) { - position = positionMin; - } - else if (position > positionMax) { - position = positionMax; - } - position = -position / sb.moveDivider; - s.updateProgress(position); - s.setWrapperTranslate(position, true); - }, - dragStart: function (e) { - var sb = s.scrollbar; - sb.isTouched = true; - e.preventDefault(); - e.stopPropagation(); - - sb.setDragPosition(e); - clearTimeout(sb.dragTimeout); - - sb.track.transition(0); - if (s.params.scrollbarHide) { - sb.track.css('opacity', 1); - } - s.wrapper.transition(100); - sb.drag.transition(100); - s.emit('onScrollbarDragStart', s); - }, - dragMove: function (e) { - var sb = s.scrollbar; - if (!sb.isTouched) return; - if (e.preventDefault) e.preventDefault(); - else e.returnValue = false; - sb.setDragPosition(e); - s.wrapper.transition(0); - sb.track.transition(0); - sb.drag.transition(0); - s.emit('onScrollbarDragMove', s); - }, - dragEnd: function (e) { - var sb = s.scrollbar; - if (!sb.isTouched) return; - sb.isTouched = false; - if (s.params.scrollbarHide) { - clearTimeout(sb.dragTimeout); - sb.dragTimeout = setTimeout(function () { - sb.track.css('opacity', 0); - sb.track.transition(400); - }, 1000); - - } - s.emit('onScrollbarDragEnd', s); - if (s.params.scrollbarSnapOnRelease) { - s.slideReset(); - } - }, - draggableEvents: (function () { - if ((s.params.simulateTouch === false && !s.support.touch)) return s.touchEventsDesktop; - else return s.touchEvents; - })(), - enableDraggable: function () { - var sb = s.scrollbar; - var target = s.support.touch ? sb.track : document; - $(sb.track).on(sb.draggableEvents.start, sb.dragStart); - $(target).on(sb.draggableEvents.move, sb.dragMove); - $(target).on(sb.draggableEvents.end, sb.dragEnd); - }, - disableDraggable: function () { - var sb = s.scrollbar; - var target = s.support.touch ? sb.track : document; - $(sb.track).off(s.draggableEvents.start, sb.dragStart); - $(target).off(s.draggableEvents.move, sb.dragMove); - $(target).off(s.draggableEvents.end, sb.dragEnd); - }, - set: function () { - if (!s.params.scrollbar) return; - var sb = s.scrollbar; - sb.track = $(s.params.scrollbar); - if (s.params.uniqueNavElements && typeof s.params.scrollbar === 'string' && sb.track.length > 1 && s.container.find(s.params.scrollbar).length === 1) { - sb.track = s.container.find(s.params.scrollbar); - } - sb.drag = sb.track.find('.swiper-scrollbar-drag'); - if (sb.drag.length === 0) { - sb.drag = $('
                '); - sb.track.append(sb.drag); - } - sb.drag[0].style.width = ''; - sb.drag[0].style.height = ''; - sb.trackSize = s.isHorizontal() ? sb.track[0].offsetWidth : sb.track[0].offsetHeight; - - sb.divider = s.size / s.virtualSize; - sb.moveDivider = sb.divider * (sb.trackSize / s.size); - sb.dragSize = sb.trackSize * sb.divider; - - if (s.isHorizontal()) { - sb.drag[0].style.width = sb.dragSize + 'px'; - } - else { - sb.drag[0].style.height = sb.dragSize + 'px'; - } - - if (sb.divider >= 1) { - sb.track[0].style.display = 'none'; - } - else { - sb.track[0].style.display = ''; - } - if (s.params.scrollbarHide) { - sb.track[0].style.opacity = 0; - } - }, - setTranslate: function () { - if (!s.params.scrollbar) return; - var diff; - var sb = s.scrollbar; - var translate = s.translate || 0; - var newPos; - - var newSize = sb.dragSize; - newPos = (sb.trackSize - sb.dragSize) * s.progress; - if (s.rtl && s.isHorizontal()) { - newPos = -newPos; - if (newPos > 0) { - newSize = sb.dragSize - newPos; - newPos = 0; - } - else if (-newPos + sb.dragSize > sb.trackSize) { - newSize = sb.trackSize + newPos; - } - } - else { - if (newPos < 0) { - newSize = sb.dragSize + newPos; - newPos = 0; - } - else if (newPos + sb.dragSize > sb.trackSize) { - newSize = sb.trackSize - newPos; - } - } - if (s.isHorizontal()) { - if (s.support.transforms3d) { - sb.drag.transform('translate3d(' + (newPos) + 'px, 0, 0)'); - } - else { - sb.drag.transform('translateX(' + (newPos) + 'px)'); - } - sb.drag[0].style.width = newSize + 'px'; - } - else { - if (s.support.transforms3d) { - sb.drag.transform('translate3d(0px, ' + (newPos) + 'px, 0)'); - } - else { - sb.drag.transform('translateY(' + (newPos) + 'px)'); - } - sb.drag[0].style.height = newSize + 'px'; - } - if (s.params.scrollbarHide) { - clearTimeout(sb.timeout); - sb.track[0].style.opacity = 1; - sb.timeout = setTimeout(function () { - sb.track[0].style.opacity = 0; - sb.track.transition(400); - }, 1000); - } - }, - setTransition: function (duration) { - if (!s.params.scrollbar) return; - s.scrollbar.drag.transition(duration); - } - }; - - /*========================= - Controller - ===========================*/ - s.controller = { - LinearSpline: function (x, y) { - this.x = x; - this.y = y; - this.lastIndex = x.length - 1; - // Given an x value (x2), return the expected y2 value: - // (x1,y1) is the known point before given value, - // (x3,y3) is the known point after given value. - var i1, i3; - var l = this.x.length; - - this.interpolate = function (x2) { - if (!x2) return 0; - - // Get the indexes of x1 and x3 (the array indexes before and after given x2): - i3 = binarySearch(this.x, x2); - i1 = i3 - 1; - - // We have our indexes i1 & i3, so we can calculate already: - // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 - return ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1]; - }; - - var binarySearch = (function() { - var maxIndex, minIndex, guess; - return function(array, val) { - minIndex = -1; - maxIndex = array.length; - while (maxIndex - minIndex > 1) - if (array[guess = maxIndex + minIndex >> 1] <= val) { - minIndex = guess; - } else { - maxIndex = guess; - } - return maxIndex; - }; - })(); - }, - //xxx: for now i will just save one spline function to to - getInterpolateFunction: function(c){ - if(!s.controller.spline) s.controller.spline = s.params.loop ? - new s.controller.LinearSpline(s.slidesGrid, c.slidesGrid) : - new s.controller.LinearSpline(s.snapGrid, c.snapGrid); - }, - setTranslate: function (translate, byController) { - var controlled = s.params.control; - var multiplier, controlledTranslate; - function setControlledTranslate(c) { - // this will create an Interpolate function based on the snapGrids - // x is the Grid of the scrolled scroller and y will be the controlled scroller - // it makes sense to create this only once and recall it for the interpolation - // the function does a lot of value caching for performance - translate = c.rtl && c.params.direction === 'horizontal' ? -s.translate : s.translate; - if (s.params.controlBy === 'slide') { - s.controller.getInterpolateFunction(c); - // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid - // but it did not work out - controlledTranslate = -s.controller.spline.interpolate(-translate); - } - - if(!controlledTranslate || s.params.controlBy === 'container'){ - multiplier = (c.maxTranslate() - c.minTranslate()) / (s.maxTranslate() - s.minTranslate()); - controlledTranslate = (translate - s.minTranslate()) * multiplier + c.minTranslate(); - } - - if (s.params.controlInverse) { - controlledTranslate = c.maxTranslate() - controlledTranslate; - } - c.updateProgress(controlledTranslate); - c.setWrapperTranslate(controlledTranslate, false, s); - c.updateActiveIndex(); - } - if (s.isArray(controlled)) { - for (var i = 0; i < controlled.length; i++) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTranslate(controlled[i]); - } - } - } - else if (controlled instanceof Swiper && byController !== controlled) { - - setControlledTranslate(controlled); - } - }, - setTransition: function (duration, byController) { - var controlled = s.params.control; - var i; - function setControlledTransition(c) { - c.setWrapperTransition(duration, s); - if (duration !== 0) { - c.onTransitionStart(); - c.wrapper.transitionEnd(function(){ - if (!controlled) return; - if (c.params.loop && s.params.controlBy === 'slide') { - c.fixLoop(); - } - c.onTransitionEnd(); - - }); - } - } - if (s.isArray(controlled)) { - for (i = 0; i < controlled.length; i++) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTransition(controlled[i]); - } - } - } - else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTransition(controlled); - } - } - }; - - /*========================= - Parallax - ===========================*/ - function setParallaxTransform(el, progress) { - el = $(el); - var p, pX, pY; - var rtlFactor = s.rtl ? -1 : 1; - - p = el.attr('data-swiper-parallax') || '0'; - pX = el.attr('data-swiper-parallax-x'); - pY = el.attr('data-swiper-parallax-y'); - if (pX || pY) { - pX = pX || '0'; - pY = pY || '0'; - } - else { - if (s.isHorizontal()) { - pX = p; - pY = '0'; - } - else { - pY = p; - pX = '0'; - } - } - - if ((pX).indexOf('%') >= 0) { - pX = parseInt(pX, 10) * progress * rtlFactor + '%'; - } - else { - pX = pX * progress * rtlFactor + 'px' ; - } - if ((pY).indexOf('%') >= 0) { - pY = parseInt(pY, 10) * progress + '%'; - } - else { - pY = pY * progress + 'px' ; - } - - el.transform('translate3d(' + pX + ', ' + pY + ',0px)'); - } - s.parallax = { - setTranslate: function () { - s.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){ - setParallaxTransform(this, s.progress); - - }); - s.slides.each(function () { - var slide = $(this); - slide.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function () { - var progress = Math.min(Math.max(slide[0].progress, -1), 1); - setParallaxTransform(this, progress); - }); - }); - }, - setTransition: function (duration) { - if (typeof duration === 'undefined') duration = s.params.speed; - s.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){ - var el = $(this); - var parallaxDuration = parseInt(el.attr('data-swiper-parallax-duration'), 10) || duration; - if (duration === 0) parallaxDuration = 0; - el.transition(parallaxDuration); - }); - } - }; - - - /*========================= - Zoom - ===========================*/ - s.zoom = { - // "Global" Props - scale: 1, - currentScale: 1, - isScaling: false, - gesture: { - slide: undefined, - slideWidth: undefined, - slideHeight: undefined, - image: undefined, - imageWrap: undefined, - zoomMax: s.params.zoomMax - }, - image: { - isTouched: undefined, - isMoved: undefined, - currentX: undefined, - currentY: undefined, - minX: undefined, - minY: undefined, - maxX: undefined, - maxY: undefined, - width: undefined, - height: undefined, - startX: undefined, - startY: undefined, - touchesStart: {}, - touchesCurrent: {} - }, - velocity: { - x: undefined, - y: undefined, - prevPositionX: undefined, - prevPositionY: undefined, - prevTime: undefined - }, - // Calc Scale From Multi-touches - getDistanceBetweenTouches: function (e) { - if (e.targetTouches.length < 2) return 1; - var x1 = e.targetTouches[0].pageX, - y1 = e.targetTouches[0].pageY, - x2 = e.targetTouches[1].pageX, - y2 = e.targetTouches[1].pageY; - var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)); - return distance; - }, - // Events - onGestureStart: function (e) { - var z = s.zoom; - if (!s.support.gestures) { - if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) { - return; - } - z.gesture.scaleStart = z.getDistanceBetweenTouches(e); - } - if (!z.gesture.slide || !z.gesture.slide.length) { - z.gesture.slide = $(this); - if (z.gesture.slide.length === 0) z.gesture.slide = s.slides.eq(s.activeIndex); - z.gesture.image = z.gesture.slide.find('img, svg, canvas'); - z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass); - z.gesture.zoomMax = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax ; - if (z.gesture.imageWrap.length === 0) { - z.gesture.image = undefined; - return; - } - } - z.gesture.image.transition(0); - z.isScaling = true; - }, - onGestureChange: function (e) { - var z = s.zoom; - if (!s.support.gestures) { - if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) { - return; - } - z.gesture.scaleMove = z.getDistanceBetweenTouches(e); - } - if (!z.gesture.image || z.gesture.image.length === 0) return; - if (s.support.gestures) { - z.scale = e.scale * z.currentScale; - } - else { - z.scale = (z.gesture.scaleMove / z.gesture.scaleStart) * z.currentScale; - } - if (z.scale > z.gesture.zoomMax) { - z.scale = z.gesture.zoomMax - 1 + Math.pow((z.scale - z.gesture.zoomMax + 1), 0.5); - } - if (z.scale < s.params.zoomMin) { - z.scale = s.params.zoomMin + 1 - Math.pow((s.params.zoomMin - z.scale + 1), 0.5); - } - z.gesture.image.transform('translate3d(0,0,0) scale(' + z.scale + ')'); - }, - onGestureEnd: function (e) { - var z = s.zoom; - if (!s.support.gestures) { - if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2) { - return; - } - } - if (!z.gesture.image || z.gesture.image.length === 0) return; - z.scale = Math.max(Math.min(z.scale, z.gesture.zoomMax), s.params.zoomMin); - z.gesture.image.transition(s.params.speed).transform('translate3d(0,0,0) scale(' + z.scale + ')'); - z.currentScale = z.scale; - z.isScaling = false; - if (z.scale === 1) z.gesture.slide = undefined; - }, - onTouchStart: function (s, e) { - var z = s.zoom; - if (!z.gesture.image || z.gesture.image.length === 0) return; - if (z.image.isTouched) return; - if (s.device.os === 'android') e.preventDefault(); - z.image.isTouched = true; - z.image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - z.image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - }, - onTouchMove: function (e) { - var z = s.zoom; - if (!z.gesture.image || z.gesture.image.length === 0) return; - s.allowClick = false; - if (!z.image.isTouched || !z.gesture.slide) return; - - if (!z.image.isMoved) { - z.image.width = z.gesture.image[0].offsetWidth; - z.image.height = z.gesture.image[0].offsetHeight; - z.image.startX = s.getTranslate(z.gesture.imageWrap[0], 'x') || 0; - z.image.startY = s.getTranslate(z.gesture.imageWrap[0], 'y') || 0; - z.gesture.slideWidth = z.gesture.slide[0].offsetWidth; - z.gesture.slideHeight = z.gesture.slide[0].offsetHeight; - z.gesture.imageWrap.transition(0); - } - // Define if we need image drag - var scaledWidth = z.image.width * z.scale; - var scaledHeight = z.image.height * z.scale; - - if (scaledWidth < z.gesture.slideWidth && scaledHeight < z.gesture.slideHeight) return; - - z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0); - z.image.maxX = -z.image.minX; - z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0); - z.image.maxY = -z.image.minY; - - z.image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - z.image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - - if (!z.image.isMoved && !z.isScaling) { - if (s.isHorizontal() && - (Math.floor(z.image.minX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x < z.image.touchesStart.x) || - (Math.floor(z.image.maxX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x > z.image.touchesStart.x) - ) { - z.image.isTouched = false; - return; - } - else if (!s.isHorizontal() && - (Math.floor(z.image.minY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y < z.image.touchesStart.y) || - (Math.floor(z.image.maxY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y > z.image.touchesStart.y) - ) { - z.image.isTouched = false; - return; - } - } - e.preventDefault(); - e.stopPropagation(); - - z.image.isMoved = true; - z.image.currentX = z.image.touchesCurrent.x - z.image.touchesStart.x + z.image.startX; - z.image.currentY = z.image.touchesCurrent.y - z.image.touchesStart.y + z.image.startY; - - if (z.image.currentX < z.image.minX) { - z.image.currentX = z.image.minX + 1 - Math.pow((z.image.minX - z.image.currentX + 1), 0.8); - } - if (z.image.currentX > z.image.maxX) { - z.image.currentX = z.image.maxX - 1 + Math.pow((z.image.currentX - z.image.maxX + 1), 0.8); - } - - if (z.image.currentY < z.image.minY) { - z.image.currentY = z.image.minY + 1 - Math.pow((z.image.minY - z.image.currentY + 1), 0.8); - } - if (z.image.currentY > z.image.maxY) { - z.image.currentY = z.image.maxY - 1 + Math.pow((z.image.currentY - z.image.maxY + 1), 0.8); - } - - //Velocity - if (!z.velocity.prevPositionX) z.velocity.prevPositionX = z.image.touchesCurrent.x; - if (!z.velocity.prevPositionY) z.velocity.prevPositionY = z.image.touchesCurrent.y; - if (!z.velocity.prevTime) z.velocity.prevTime = Date.now(); - z.velocity.x = (z.image.touchesCurrent.x - z.velocity.prevPositionX) / (Date.now() - z.velocity.prevTime) / 2; - z.velocity.y = (z.image.touchesCurrent.y - z.velocity.prevPositionY) / (Date.now() - z.velocity.prevTime) / 2; - if (Math.abs(z.image.touchesCurrent.x - z.velocity.prevPositionX) < 2) z.velocity.x = 0; - if (Math.abs(z.image.touchesCurrent.y - z.velocity.prevPositionY) < 2) z.velocity.y = 0; - z.velocity.prevPositionX = z.image.touchesCurrent.x; - z.velocity.prevPositionY = z.image.touchesCurrent.y; - z.velocity.prevTime = Date.now(); - - z.gesture.imageWrap.transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)'); - }, - onTouchEnd: function (s, e) { - var z = s.zoom; - if (!z.gesture.image || z.gesture.image.length === 0) return; - if (!z.image.isTouched || !z.image.isMoved) { - z.image.isTouched = false; - z.image.isMoved = false; - return; - } - z.image.isTouched = false; - z.image.isMoved = false; - var momentumDurationX = 300; - var momentumDurationY = 300; - var momentumDistanceX = z.velocity.x * momentumDurationX; - var newPositionX = z.image.currentX + momentumDistanceX; - var momentumDistanceY = z.velocity.y * momentumDurationY; - var newPositionY = z.image.currentY + momentumDistanceY; - - //Fix duration - if (z.velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - z.image.currentX) / z.velocity.x); - if (z.velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - z.image.currentY) / z.velocity.y); - var momentumDuration = Math.max(momentumDurationX, momentumDurationY); - - z.image.currentX = newPositionX; - z.image.currentY = newPositionY; - - // Define if we need image drag - var scaledWidth = z.image.width * z.scale; - var scaledHeight = z.image.height * z.scale; - z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0); - z.image.maxX = -z.image.minX; - z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0); - z.image.maxY = -z.image.minY; - z.image.currentX = Math.max(Math.min(z.image.currentX, z.image.maxX), z.image.minX); - z.image.currentY = Math.max(Math.min(z.image.currentY, z.image.maxY), z.image.minY); - - z.gesture.imageWrap.transition(momentumDuration).transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)'); - }, - onTransitionEnd: function (s) { - var z = s.zoom; - if (z.gesture.slide && s.previousIndex !== s.activeIndex) { - z.gesture.image.transform('translate3d(0,0,0) scale(1)'); - z.gesture.imageWrap.transform('translate3d(0,0,0)'); - z.gesture.slide = z.gesture.image = z.gesture.imageWrap = undefined; - z.scale = z.currentScale = 1; - } - }, - // Toggle Zoom - toggleZoom: function (s, e) { - var z = s.zoom; - if (!z.gesture.slide) { - z.gesture.slide = s.clickedSlide ? $(s.clickedSlide) : s.slides.eq(s.activeIndex); - z.gesture.image = z.gesture.slide.find('img, svg, canvas'); - z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass); - } - if (!z.gesture.image || z.gesture.image.length === 0) return; - - var touchX, touchY, offsetX, offsetY, diffX, diffY, translateX, translateY, imageWidth, imageHeight, scaledWidth, scaledHeight, translateMinX, translateMinY, translateMaxX, translateMaxY, slideWidth, slideHeight; - - if (typeof z.image.touchesStart.x === 'undefined' && e) { - touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX; - touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY; - } - else { - touchX = z.image.touchesStart.x; - touchY = z.image.touchesStart.y; - } - - if (z.scale && z.scale !== 1) { - // Zoom Out - z.scale = z.currentScale = 1; - z.gesture.imageWrap.transition(300).transform('translate3d(0,0,0)'); - z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(1)'); - z.gesture.slide = undefined; - } - else { - // Zoom In - z.scale = z.currentScale = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax; - if (e) { - slideWidth = z.gesture.slide[0].offsetWidth; - slideHeight = z.gesture.slide[0].offsetHeight; - offsetX = z.gesture.slide.offset().left; - offsetY = z.gesture.slide.offset().top; - diffX = offsetX + slideWidth/2 - touchX; - diffY = offsetY + slideHeight/2 - touchY; - - imageWidth = z.gesture.image[0].offsetWidth; - imageHeight = z.gesture.image[0].offsetHeight; - scaledWidth = imageWidth * z.scale; - scaledHeight = imageHeight * z.scale; - - translateMinX = Math.min((slideWidth / 2 - scaledWidth / 2), 0); - translateMinY = Math.min((slideHeight / 2 - scaledHeight / 2), 0); - translateMaxX = -translateMinX; - translateMaxY = -translateMinY; - - translateX = diffX * z.scale; - translateY = diffY * z.scale; - - if (translateX < translateMinX) { - translateX = translateMinX; - } - if (translateX > translateMaxX) { - translateX = translateMaxX; - } - - if (translateY < translateMinY) { - translateY = translateMinY; - } - if (translateY > translateMaxY) { - translateY = translateMaxY; - } - } - else { - translateX = 0; - translateY = 0; - } - z.gesture.imageWrap.transition(300).transform('translate3d(' + translateX + 'px, ' + translateY + 'px,0)'); - z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(' + z.scale + ')'); - } - }, - // Attach/Detach Events - attachEvents: function (detach) { - var action = detach ? 'off' : 'on'; - - if (s.params.zoom) { - var target = s.slides; - var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false; - // Scale image - if (s.support.gestures) { - s.slides[action]('gesturestart', s.zoom.onGestureStart, passiveListener); - s.slides[action]('gesturechange', s.zoom.onGestureChange, passiveListener); - s.slides[action]('gestureend', s.zoom.onGestureEnd, passiveListener); - } - else if (s.touchEvents.start === 'touchstart') { - s.slides[action](s.touchEvents.start, s.zoom.onGestureStart, passiveListener); - s.slides[action](s.touchEvents.move, s.zoom.onGestureChange, passiveListener); - s.slides[action](s.touchEvents.end, s.zoom.onGestureEnd, passiveListener); - } - - // Move image - s[action]('touchStart', s.zoom.onTouchStart); - s.slides.each(function (index, slide){ - if ($(slide).find('.' + s.params.zoomContainerClass).length > 0) { - $(slide)[action](s.touchEvents.move, s.zoom.onTouchMove); - } - }); - s[action]('touchEnd', s.zoom.onTouchEnd); - - // Scale Out - s[action]('transitionEnd', s.zoom.onTransitionEnd); - if (s.params.zoomToggle) { - s.on('doubleTap', s.zoom.toggleZoom); - } - } - }, - init: function () { - s.zoom.attachEvents(); - }, - destroy: function () { - s.zoom.attachEvents(true); - } - }; - - /*========================= - Plugins API. Collect all and init all plugins - ===========================*/ - s._plugins = []; - for (var plugin in s.plugins) { - var p = s.plugins[plugin](s, s.params[plugin]); - if (p) s._plugins.push(p); - } - // Method to call all plugins event/method - s.callPlugins = function (eventName) { - for (var i = 0; i < s._plugins.length; i++) { - if (eventName in s._plugins[i]) { - s._plugins[i][eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - } - }; - - /*========================= - Events/Callbacks/Plugins Emitter - ===========================*/ - function normalizeEventName (eventName) { - if (eventName.indexOf('on') !== 0) { - if (eventName[0] !== eventName[0].toUpperCase()) { - eventName = 'on' + eventName[0].toUpperCase() + eventName.substring(1); - } - else { - eventName = 'on' + eventName; - } - } - return eventName; - } - s.emitterEventListeners = { - - }; - s.emit = function (eventName) { - // Trigger callbacks - if (s.params[eventName]) { - s.params[eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - var i; - // Trigger events - if (s.emitterEventListeners[eventName]) { - for (i = 0; i < s.emitterEventListeners[eventName].length; i++) { - s.emitterEventListeners[eventName][i](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - } - // Trigger plugins - if (s.callPlugins) s.callPlugins(eventName, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - }; - s.on = function (eventName, handler) { - eventName = normalizeEventName(eventName); - if (!s.emitterEventListeners[eventName]) s.emitterEventListeners[eventName] = []; - s.emitterEventListeners[eventName].push(handler); - return s; - }; - s.off = function (eventName, handler) { - var i; - eventName = normalizeEventName(eventName); - if (typeof handler === 'undefined') { - // Remove all handlers for such event - s.emitterEventListeners[eventName] = []; - return s; - } - if (!s.emitterEventListeners[eventName] || s.emitterEventListeners[eventName].length === 0) return; - for (i = 0; i < s.emitterEventListeners[eventName].length; i++) { - if(s.emitterEventListeners[eventName][i] === handler) s.emitterEventListeners[eventName].splice(i, 1); - } - return s; - }; - s.once = function (eventName, handler) { - eventName = normalizeEventName(eventName); - var _handler = function () { - handler(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]); - s.off(eventName, _handler); - }; - s.on(eventName, _handler); - return s; - }; - - // Accessibility tools - s.a11y = { - makeFocusable: function ($el) { - $el.attr('tabIndex', '0'); - return $el; - }, - addRole: function ($el, role) { - $el.attr('role', role); - return $el; - }, - - addLabel: function ($el, label) { - $el.attr('aria-label', label); - return $el; - }, - - disable: function ($el) { - $el.attr('aria-disabled', true); - return $el; - }, - - enable: function ($el) { - $el.attr('aria-disabled', false); - return $el; - }, - - onEnterKey: function (event) { - if (event.keyCode !== 13) return; - if ($(event.target).is(s.params.nextButton)) { - s.onClickNext(event); - if (s.isEnd) { - s.a11y.notify(s.params.lastSlideMessage); - } - else { - s.a11y.notify(s.params.nextSlideMessage); - } - } - else if ($(event.target).is(s.params.prevButton)) { - s.onClickPrev(event); - if (s.isBeginning) { - s.a11y.notify(s.params.firstSlideMessage); - } - else { - s.a11y.notify(s.params.prevSlideMessage); - } - } - if ($(event.target).is('.' + s.params.bulletClass)) { - $(event.target)[0].click(); - } - }, - - liveRegion: $(''), - - notify: function (message) { - var notification = s.a11y.liveRegion; - if (notification.length === 0) return; - notification.html(''); - notification.html(message); - }, - init: function () { - // Setup accessibility - if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) { - s.a11y.makeFocusable(s.nextButton); - s.a11y.addRole(s.nextButton, 'button'); - s.a11y.addLabel(s.nextButton, s.params.nextSlideMessage); - } - if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) { - s.a11y.makeFocusable(s.prevButton); - s.a11y.addRole(s.prevButton, 'button'); - s.a11y.addLabel(s.prevButton, s.params.prevSlideMessage); - } - - $(s.container).append(s.a11y.liveRegion); - }, - initPagination: function () { - if (s.params.pagination && s.params.paginationClickable && s.bullets && s.bullets.length) { - s.bullets.each(function () { - var bullet = $(this); - s.a11y.makeFocusable(bullet); - s.a11y.addRole(bullet, 'button'); - s.a11y.addLabel(bullet, s.params.paginationBulletMessage.replace(/{{index}}/, bullet.index() + 1)); - }); - } - }, - destroy: function () { - if (s.a11y.liveRegion && s.a11y.liveRegion.length > 0) s.a11y.liveRegion.remove(); - } - }; - - - /*========================= - Init/Destroy - ===========================*/ - s.init = function () { - if (s.params.loop) s.createLoop(); - s.updateContainerSize(); - s.updateSlidesSize(); - s.updatePagination(); - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.set(); - if (s.params.scrollbarDraggable) { - s.scrollbar.enableDraggable(); - } - } - if (s.params.effect !== 'slide' && s.effects[s.params.effect]) { - if (!s.params.loop) s.updateProgress(); - s.effects[s.params.effect].setTranslate(); - } - if (s.params.loop) { - s.slideTo(s.params.initialSlide + s.loopedSlides, 0, s.params.runCallbacksOnInit); - } - else { - s.slideTo(s.params.initialSlide, 0, s.params.runCallbacksOnInit); - if (s.params.initialSlide === 0) { - if (s.parallax && s.params.parallax) s.parallax.setTranslate(); - if (s.lazy && s.params.lazyLoading) { - s.lazy.load(); - s.lazy.initialImageLoaded = true; - } - } - } - s.attachEvents(); - if (s.params.observer && s.support.observer) { - s.initObservers(); - } - if (s.params.preloadImages && !s.params.lazyLoading) { - s.preloadImages(); - } - if (s.params.zoom && s.zoom) { - s.zoom.init(); - } - if (s.params.autoplay) { - s.startAutoplay(); - } - if (s.params.keyboardControl) { - if (s.enableKeyboardControl) s.enableKeyboardControl(); - } - if (s.params.mousewheelControl) { - if (s.enableMousewheelControl) s.enableMousewheelControl(); - } - // Deprecated hashnavReplaceState changed to replaceState for use in hashnav and history - if (s.params.hashnavReplaceState) { - s.params.replaceState = s.params.hashnavReplaceState; - } - if (s.params.history) { - if (s.history) s.history.init(); - } - if (s.params.hashnav) { - if (s.hashnav) s.hashnav.init(); - } - if (s.params.a11y && s.a11y) s.a11y.init(); - s.emit('onInit', s); - }; - - // Cleanup dynamic styles - s.cleanupStyles = function () { - // Container - s.container.removeClass(s.classNames.join(' ')).removeAttr('style'); - - // Wrapper - s.wrapper.removeAttr('style'); - - // Slides - if (s.slides && s.slides.length) { - s.slides - .removeClass([ - s.params.slideVisibleClass, - s.params.slideActiveClass, - s.params.slideNextClass, - s.params.slidePrevClass - ].join(' ')) - .removeAttr('style') - .removeAttr('data-swiper-column') - .removeAttr('data-swiper-row'); - } - - // Pagination/Bullets - if (s.paginationContainer && s.paginationContainer.length) { - s.paginationContainer.removeClass(s.params.paginationHiddenClass); - } - if (s.bullets && s.bullets.length) { - s.bullets.removeClass(s.params.bulletActiveClass); - } - - // Buttons - if (s.params.prevButton) $(s.params.prevButton).removeClass(s.params.buttonDisabledClass); - if (s.params.nextButton) $(s.params.nextButton).removeClass(s.params.buttonDisabledClass); - - // Scrollbar - if (s.params.scrollbar && s.scrollbar) { - if (s.scrollbar.track && s.scrollbar.track.length) s.scrollbar.track.removeAttr('style'); - if (s.scrollbar.drag && s.scrollbar.drag.length) s.scrollbar.drag.removeAttr('style'); - } - }; - - // Destroy - s.destroy = function (deleteInstance, cleanupStyles) { - // Detach evebts - s.detachEvents(); - // Stop autoplay - s.stopAutoplay(); - // Disable draggable - if (s.params.scrollbar && s.scrollbar) { - if (s.params.scrollbarDraggable) { - s.scrollbar.disableDraggable(); - } - } - // Destroy loop - if (s.params.loop) { - s.destroyLoop(); - } - // Cleanup styles - if (cleanupStyles) { - s.cleanupStyles(); - } - // Disconnect observer - s.disconnectObservers(); - - // Destroy zoom - if (s.params.zoom && s.zoom) { - s.zoom.destroy(); - } - // Disable keyboard/mousewheel - if (s.params.keyboardControl) { - if (s.disableKeyboardControl) s.disableKeyboardControl(); - } - if (s.params.mousewheelControl) { - if (s.disableMousewheelControl) s.disableMousewheelControl(); - } - // Disable a11y - if (s.params.a11y && s.a11y) s.a11y.destroy(); - // Delete history popstate - if (s.params.history && !s.params.replaceState) { - window.removeEventListener('popstate', s.history.setHistoryPopState); - } - if (s.params.hashnav && s.hashnav) { - s.hashnav.destroy(); - } - // Destroy callback - s.emit('onDestroy'); - // Delete instance - if (deleteInstance !== false) s = null; - }; - - s.init(); - - - - // Return swiper instance - return s; - }; - - /*================================================== - Prototype - ====================================================*/ - Swiper.prototype = { - isSafari: (function () { - var ua = navigator.userAgent.toLowerCase(); - return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0); - })(), - isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent), - isArray: function (arr) { - return Object.prototype.toString.apply(arr) === '[object Array]'; - }, - /*================================================== - Browser - ====================================================*/ - browser: { - ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled, - ieTouch: (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1) || (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1), - lteIE9: (function() { - // create temporary DIV - var div = document.createElement('div'); - // add content to tmp DIV which is wrapped into the IE HTML conditional statement - div.innerHTML = ''; - // return true / false value based on what will browser render - return div.getElementsByTagName('i').length === 1; - })() - }, - /*================================================== - Devices - ====================================================*/ - device: (function () { - var ua = navigator.userAgent; - var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); - var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/); - return { - ios: ipad || iphone || ipod, - android: android - }; - })(), - /*================================================== - Feature Detection - ====================================================*/ - support: { - touch : (window.Modernizr && Modernizr.touch === true) || (function () { - return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch); - })(), - - transforms3d : (window.Modernizr && Modernizr.csstransforms3d === true) || (function () { - var div = document.createElement('div').style; - return ('webkitPerspective' in div || 'MozPerspective' in div || 'OPerspective' in div || 'MsPerspective' in div || 'perspective' in div); - })(), - - flexbox: (function () { - var div = document.createElement('div').style; - var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' '); - for (var i = 0; i < styles.length; i++) { - if (styles[i] in div) return true; - } - })(), - - observer: (function () { - return ('MutationObserver' in window || 'WebkitMutationObserver' in window); - })(), - - passiveListener: (function () { - var supportsPassive = false; - try { - var opts = Object.defineProperty({}, 'passive', { - get: function() { - supportsPassive = true; - } - }); - window.addEventListener('testPassiveListener', null, opts); - } catch (e) {} - return supportsPassive; - })(), - - gestures: (function () { - return 'ongesturestart' in window; - })() - }, - /*================================================== - Plugins - ====================================================*/ - plugins: {} - }; - -})(); - -//# sourceMappingURL=framework7.js.map diff --git a/vendor/framework7/js/framework7.js.map b/vendor/framework7/js/framework7.js.map deleted file mode 100644 index c0d5486b3..000000000 --- a/vendor/framework7/js/framework7.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["wrap-start.js","f7-intro.js","views.js","navbars.js","searchbar.js","messagebar.js","xhr.js","pages.js","router.js","modals.js","progressbar.js","panels.js","lazy-load.js","material-preloader.js","messages.js","swipeout.js","sortable.js","smart-select.js","virtual-list.js","pull-to-refresh.js","infinite-scroll.js","scroll-toolbars.js","material-tabbar.js","tabs.js","accordion.js","fast-clicks.js","clicks.js","resize.js","forms-storage.js","forms-ajax.js","forms-textarea.js","material-inputs.js","push-state.js","swiper-init.js","photo-browser.js","autocomplete.js","picker.js","calendar.js","notifications.js","template7-templates.js","plugins.js","init.js","f7-outro.js","dom7-intro.js","dom7-methods.js","dom7-ajax.js","dom7-utils.js","dom7-outro.js","animate7.js","proto-support.js","proto-device.js","proto-plugins.js","template7.js","swiper.js","wrap-end.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AACA;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChqBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1OA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1hBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7aA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/lBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACr+BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrDA;AACA;AACA;AACA;AACA;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzGA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACzdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACh6HA;AACA","file":"framework7.js","sourcesContent":["(function () {\n"," 'use strict';\n /*===========================\n Framework 7\n ===========================*/\n window.Framework7 = function (params) {\n // App\n var app = this;\n \n // Version\n app.version = '1.5.0';\n \n // Default Parameters\n app.params = {\n //\n root: 'body',\n //\n cache: true,\n cacheIgnore: [],\n cacheIgnoreGetParameters: false,\n cacheDuration: 1000 * 60 * 10, // Ten minutes\n preloadPreviousPage: true,\n uniqueHistory: false,\n uniqueHistoryIgnoreGetParameters: false,\n dynamicPageUrl: 'content-{{index}}',\n allowDuplicateUrls: false,\n router: true,\n routerRemoveTimeout: false,\n routerRemoveWithTimeout: false,\n // Push State\n pushState: false,\n pushStateRoot: undefined,\n pushStateNoAnimation: false,\n pushStateSeparator: '#!/',\n pushStateOnLoad: true,\n // Fast clicks\n fastClicks: true,\n fastClicksDistanceThreshold: 10,\n fastClicksDelayBetweenClicks: 50,\n fastClicksExclude: '', // CSS selector\n // Tap Hold\n tapHold: false,\n tapHoldDelay: 750,\n tapHoldPreventClicks: true,\n // Active State\n activeState: true,\n activeStateElements: 'a, button, label, span',\n // Animate Nav Back Icon\n animateNavBackIcon: false,\n // Swipe Back\n swipeBackPage: true,\n swipeBackPageThreshold: 0,\n swipeBackPageActiveArea: 30,\n swipeBackPageAnimateShadow: true,\n swipeBackPageAnimateOpacity: true,\n // Ajax\n ajaxLinks: undefined, // or CSS selector\n // External Links\n externalLinks: '.external', // CSS selector\n // Sortable\n sortable: true,\n // Scroll toolbars\n hideNavbarOnPageScroll: false,\n hideToolbarOnPageScroll: false,\n hideTabbarOnPageScroll: false,\n showBarsOnPageScrollEnd: true,\n showBarsOnPageScrollTop: true,\n // Swipeout\n swipeout: true,\n swipeoutActionsNoFold: false,\n swipeoutNoFollow: false,\n swipeoutRemoveWithTimeout: false,\n // Smart Select Back link template\n smartSelectOpenIn: 'page', // or 'popup' or 'picker'\n smartSelectBackText: 'Back',\n smartSelectPopupCloseText: 'Close',\n smartSelectPickerCloseText: 'Done',\n smartSelectSearchbar: false,\n smartSelectBackOnSelect: false,\n // Tap Navbar or Statusbar to scroll to top\n scrollTopOnNavbarClick: false,\n scrollTopOnStatusbarClick: false,\n // Panels\n swipePanel: false, // or 'left' or 'right'\n swipePanelActiveArea: 0,\n swipePanelCloseOpposite: true,\n swipePanelOnlyClose: false,\n swipePanelNoFollow: false,\n swipePanelThreshold: 0,\n panelsCloseByOutside: true,\n // Modals\n modalButtonOk: 'OK',\n modalButtonCancel: 'Cancel',\n modalUsernamePlaceholder: 'Username',\n modalPasswordPlaceholder: 'Password',\n modalTitle: 'Framework7',\n modalCloseByOutside: false,\n actionsCloseByOutside: true,\n popupCloseByOutside: true,\n modalPreloaderTitle: 'Loading... ',\n modalStack: true,\n // Lazy Load\n imagesLazyLoadThreshold: 0,\n imagesLazyLoadSequential: true,\n // Name space\n viewClass: 'view',\n viewMainClass: 'view-main',\n viewsClass: 'views',\n // Notifications defaults\n notificationCloseOnClick: false,\n notificationCloseIcon: true,\n notificationCloseButtonText: 'Close',\n // Animate Pages\n animatePages: true,\n // Template7\n templates: {},\n template7Data: {},\n template7Pages: false,\n precompileTemplates: false,\n // Material\n material: false,\n materialPageLoadDelay: 0,\n materialPreloaderSvg: '',\n materialPreloaderHtml:\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '',\n materialRipple: true,\n materialRippleElements: '.ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a',\n // Auto init\n init: true,\n };\n \n // Extend defaults with parameters\n for (var param in params) {\n app.params[param] = params[param];\n }\n \n // DOM lib\n var $ = Dom7;\n \n // Template7 lib\n var t7 = Template7;\n app._compiledTemplates = {};\n \n // App Root\n app.root = $(app.params.root);\n app.root.eq(0).addClass('framework7-root');\n \n // Touch events\n app.touchEvents = {\n start: app.support.touch ? 'touchstart' : 'mousedown',\n move: app.support.touch ? 'touchmove' : 'mousemove',\n end: app.support.touch ? 'touchend' : 'mouseup'\n };\n \n // Link to local storage\n app.ls = window.localStorage;\n \n // RTL\n app.rtl = $('body').css('direction') === 'rtl';\n if (app.rtl) $('html').attr('dir', 'rtl');\n \n // Overwrite statusbar overlay\n if (typeof app.params.statusbarOverlay !== 'undefined') {\n if (app.params.statusbarOverlay) $('html').addClass('with-statusbar-overlay');\n else $('html').removeClass('with-statusbar-overlay');\n }\n \n"," /*======================================================\n ************ Views ************\n ======================================================*/\n app.views = [];\n var View = function (selector, params) {\n var defaults = {\n dynamicNavbar: false,\n domCache: false,\n linksView: undefined,\n reloadPages: false,\n uniqueHistory: app.params.uniqueHistory,\n uniqueHistoryIgnoreGetParameters: app.params.uniqueHistoryIgnoreGetParameters,\n allowDuplicateUrls: app.params.allowDuplicateUrls,\n swipeBackPage: app.params.swipeBackPage,\n swipeBackPageAnimateShadow: app.params.swipeBackPageAnimateShadow,\n swipeBackPageAnimateOpacity: app.params.swipeBackPageAnimateOpacity,\n swipeBackPageActiveArea: app.params.swipeBackPageActiveArea,\n swipeBackPageThreshold: app.params.swipeBackPageThreshold,\n animatePages: app.params.animatePages,\n preloadPreviousPage: app.params.preloadPreviousPage\n };\n var i;\n \n // Params\n params = params || {};\n \n // Disable dynamic navbar for material theme\n if (params.dynamicNavbar && app.params.material) params.dynamicNavbar = false;\n \n // Extend params with defaults\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n // View\n var view = this;\n view.params = params;\n \n // Selector\n view.selector = selector;\n \n // Container\n var container = $(selector);\n view.container = container[0];\n \n // Fix Selector\n \n if (typeof selector !== 'string') {\n // Supposed to be HTMLElement or Dom7\n selector = (container.attr('id') ? '#' + container.attr('id') : '') + (container.attr('class') ? '.' + container.attr('class').replace(/ /g, '.').replace('.active', '') : '');\n view.selector = selector;\n }\n \n // Is main\n view.main = container.hasClass(app.params.viewMainClass);\n \n // Content cache\n view.contentCache = {};\n \n // Context cache\n view.contextCache = {};\n \n // Pages cache\n view.pagesCache = {};\n view.pageElementsCache = {};\n \n // Store View in element for easy access\n container[0].f7View = view;\n \n // Pages\n view.pagesContainer = container.find('.pages')[0];\n view.initialPages = [];\n view.initialPagesUrl = [];\n view.initialNavbars = [];\n if (view.params.domCache) {\n var initialPages = container.find('.page');\n for (i = 0; i < initialPages.length; i++) {\n view.initialPages.push(initialPages[i]);\n view.initialPagesUrl.push('#' + initialPages.eq(i).attr('data-page'));\n }\n if (view.params.dynamicNavbar) {\n var initialNavbars = container.find('.navbar-inner');\n for (i = 0; i < initialNavbars.length; i++) {\n view.initialNavbars.push(initialNavbars[i]);\n }\n }\n \n }\n \n view.allowPageChange = true;\n \n // Location\n var docLocation = document.location.href;\n \n // History\n view.history = [];\n var viewURL = docLocation;\n var pushStateSeparator = app.params.pushStateSeparator;\n var pushStateRoot = app.params.pushStateRoot;\n if (app.params.pushState && view.main) {\n if (pushStateRoot) {\n viewURL = pushStateRoot;\n }\n else {\n if (pushStateSeparator && viewURL.indexOf(pushStateSeparator) >= 0 && viewURL.indexOf(pushStateSeparator + '#') < 0) viewURL = viewURL.split(pushStateSeparator)[0];\n }\n \n }\n \n // Active Page\n var currentPage, currentPageData;\n if (!view.activePage) {\n currentPage = $(view.pagesContainer).find('.page-on-center');\n if (currentPage.length === 0) {\n currentPage = $(view.pagesContainer).find('.page:not(.cached)');\n currentPage = currentPage.eq(currentPage.length - 1);\n }\n if (currentPage.length > 0) {\n currentPageData = currentPage[0].f7PageData;\n }\n }\n \n // View startup URL\n if (view.params.domCache && currentPage) {\n view.url = container.attr('data-url') || view.params.url || '#' + currentPage.attr('data-page'); \n view.pagesCache[view.url] = currentPage.attr('data-page');\n }\n else view.url = container.attr('data-url') || view.params.url || viewURL;\n \n // Update current page Data\n if (currentPageData) {\n currentPageData.view = view;\n currentPageData.url = view.url;\n if (view.params.domCache && view.params.dynamicNavbar && !currentPageData.navbarInnerContainer) {\n currentPageData.navbarInnerContainer = view.initialNavbars[view.initialPages.indexOf(currentPageData.container)];\n }\n view.activePage = currentPageData;\n currentPage[0].f7PageData = currentPageData;\n }\n \n // Store to history main view's url\n if (view.url) {\n view.history.push(view.url);\n }\n \n // Touch events\n var isTouched = false,\n isMoved = false,\n touchesStart = {},\n isScrolling,\n activePage = [],\n previousPage = [],\n viewContainerWidth,\n touchesDiff,\n allowViewTouchMove = true,\n touchStartTime,\n activeNavbar = [],\n previousNavbar = [],\n activeNavElements,\n previousNavElements,\n activeNavBackIcon,\n previousNavBackIcon,\n dynamicNavbar,\n pageShadow,\n el;\n \n view.handleTouchStart = function (e) {\n if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl || !view.allowPageChange) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n dynamicNavbar = view.params.dynamicNavbar && container.find('.navbar-inner').length > 1;\n };\n \n view.handleTouchMove = function (e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n if (!isMoved) {\n var cancel = false;\n // Calc values during first move fired\n viewContainerWidth = container.width();\n var target = $(e.target);\n var swipeout = target.hasClass('swipeout') ? target : target.parents('.swipeout');\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n activePage = target.is('.page') ? target : target.parents('.page');\n if (activePage.hasClass('no-swipeback')) cancel = true;\n previousPage = container.find('.page-on-left:not(.cached)');\n var notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n if (app.rtl) {\n notFromBorder = touchesStart.x < container.offset().left - container[0].scrollLeft + viewContainerWidth - view.params.swipeBackPageActiveArea;\n }\n else {\n notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n }\n if (notFromBorder) cancel = true;\n if (previousPage.length === 0 || activePage.length === 0) cancel = true;\n if (cancel) {\n isTouched = false;\n return;\n }\n \n if (view.params.swipeBackPageAnimateShadow && !app.device.android) {\n pageShadow = activePage.find('.swipeback-page-shadow');\n if (pageShadow.length === 0) {\n pageShadow = $('
                ');\n activePage.append(pageShadow);\n }\n }\n \n if (dynamicNavbar) {\n activeNavbar = container.find('.navbar-on-center:not(.cached)');\n previousNavbar = container.find('.navbar-on-left:not(.cached)');\n activeNavElements = activeNavbar.find('.left, .center, .right, .subnavbar, .fading');\n previousNavElements = previousNavbar.find('.left, .center, .right, .subnavbar, .fading');\n if (app.params.animateNavBackIcon) {\n activeNavBackIcon = activeNavbar.find('.left.sliding .back .icon');\n previousNavBackIcon = previousNavbar.find('.left.sliding .back .icon');\n }\n }\n \n // Close/Hide Any Picker\n if ($('.picker-modal.modal-in').length > 0) {\n app.closeModal($('.picker-modal.modal-in'));\n }\n }\n e.f7PreventPanelSwipe = true;\n isMoved = true;\n e.preventDefault();\n \n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n // Touches diff\n touchesDiff = (pageX - touchesStart.x - view.params.swipeBackPageThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n var percentage = touchesDiff / viewContainerWidth;\n \n // Swipe Back Callback\n var callbackData = {\n percentage: percentage,\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (view.params.onSwipeBackMove) {\n view.params.onSwipeBackMove(callbackData);\n }\n container.trigger('swipeBackMove', callbackData);\n \n // Transform pages\n var activePageTranslate = touchesDiff * inverter;\n var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n if (app.device.pixelRatio === 1) {\n activePageTranslate = Math.round(activePageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n \n activePage.transform('translate3d(' + activePageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateShadow && !app.device.android) pageShadow[0].style.opacity = 1 - 1 * percentage;\n \n previousPage.transform('translate3d(' + previousPageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateOpacity) previousPage[0].style.opacity = 0.9 + 0.1 * percentage;\n \n // Dynamic Navbars Animation\n if (dynamicNavbar) {\n var i;\n for (i = 0; i < activeNavElements.length; i++) {\n el = $(activeNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = (1 - percentage * 1.3);\n if (el[0].className.indexOf('sliding') >= 0) {\n var activeNavTranslate = percentage * el[0].f7NavbarRightOffset;\n if (app.device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n el.transform('translate3d(' + activeNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && activeNavBackIcon.length > 0) {\n activeNavBackIcon.transform('translate3d(' + -activeNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n for (i = 0; i < previousNavElements.length; i++) {\n el = $(previousNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = percentage * 1.3 - 0.3;\n if (el[0].className.indexOf('sliding') >= 0) {\n var previousNavTranslate = el[0].f7NavbarLeftOffset * (1 - percentage);\n if (app.device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n el.transform('translate3d(' + previousNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && previousNavBackIcon.length > 0) {\n previousNavBackIcon.transform('translate3d(' + -previousNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n }\n };\n \n view.handleTouchEnd = function (e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n if (touchesDiff === 0) {\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''});\n if (dynamicNavbar) {\n activeNavElements.transform('').css({opacity: ''});\n previousNavElements.transform('').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.transform('');\n if (previousNavBackIcon && activeNavBackIcon.length > 0) previousNavBackIcon.transform('');\n }\n return;\n }\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var pageChanged = false;\n // Swipe back to previous page\n if (\n timeDiff < 300 && touchesDiff > 10 ||\n timeDiff >= 300 && touchesDiff > viewContainerWidth / 2\n ) {\n activePage.removeClass('page-on-center').addClass('page-on-right');\n previousPage.removeClass('page-on-left').addClass('page-on-center');\n if (dynamicNavbar) {\n activeNavbar.removeClass('navbar-on-center').addClass('navbar-on-right');\n previousNavbar.removeClass('navbar-on-left').addClass('navbar-on-center');\n }\n pageChanged = true;\n }\n // Reset custom styles\n // Add transitioning class for transition-duration\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}).addClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.css({opacity: ''})\n .each(function () {\n var translate = pageChanged ? this.f7NavbarRightOffset : 0;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && activeNavBackIcon.length > 0) {\n activeNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n \n }).addClass('page-transitioning');\n \n previousNavElements.transform('').css({opacity: ''}).each(function () {\n var translate = pageChanged ? 0 : this.f7NavbarLeftOffset;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && previousNavBackIcon.length > 0) {\n previousNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n }).addClass('page-transitioning');\n }\n allowViewTouchMove = false;\n view.allowPageChange = false;\n // Swipe Back Callback\n var callbackData = {\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (pageChanged) {\n // Update View's URL\n var url = view.history[view.history.length - 2];\n view.url = url;\n \n // Page before animation callback\n app.pageBackCallback('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n \n if (view.params.onSwipeBackBeforeChange) {\n view.params.onSwipeBackBeforeChange(callbackData);\n }\n container.trigger('swipeBackBeforeChange', callbackData);\n }\n else {\n if (view.params.onSwipeBackBeforeReset) {\n view.params.onSwipeBackBeforeReset(callbackData);\n }\n container.trigger('swipeBackBeforeReset', callbackData);\n }\n \n activePage.transitionEnd(function () {\n $([activePage[0], previousPage[0]]).removeClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.removeClass('page-transitioning').css({opacity: ''});\n previousNavElements.removeClass('page-transitioning').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.removeClass('page-transitioning');\n if (previousNavBackIcon && previousNavBackIcon.length > 0) previousNavBackIcon.removeClass('page-transitioning');\n }\n allowViewTouchMove = true;\n view.allowPageChange = true;\n if (pageChanged) {\n if (app.params.pushState && view.main) history.back();\n // Page after animation callback\n app.pageBackCallback('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.router.afterBack(view, activePage, previousPage);\n \n if (view.params.onSwipeBackAfterChange) {\n view.params.onSwipeBackAfterChange(callbackData);\n }\n container.trigger('swipeBackAfterChange', callbackData);\n }\n else {\n if (view.params.onSwipeBackAfterReset) {\n view.params.onSwipeBackAfterReset(callbackData);\n }\n container.trigger('swipeBackAfterReset', callbackData);\n }\n if (pageShadow && pageShadow.length > 0) pageShadow.remove();\n });\n };\n view.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n container[action](app.touchEvents.start, view.handleTouchStart, passiveListener);\n container[action](app.touchEvents.move, view.handleTouchMove);\n container[action](app.touchEvents.end, view.handleTouchEnd, passiveListener);\n };\n view.detachEvents = function () {\n view.attachEvents(true);\n };\n \n // Init\n if (view.params.swipeBackPage && !app.params.material) {\n view.attachEvents();\n }\n \n // Add view to app\n app.views.push(view);\n if (view.main) app.mainView = view;\n \n // Router\n view.router = {\n load: function (options) {\n return app.router.load(view, options);\n },\n back: function (options) {\n return app.router.back(view, options);\n },\n // Shortcuts\n loadPage: function (options) {\n options = options || {};\n if (typeof options === 'string') {\n var url = options;\n options = {};\n if (url && url.indexOf('#') === 0 && view.params.domCache) {\n options.pageName = url.split('#')[1];\n }\n else options.url = url;\n }\n return app.router.load(view, options);\n },\n loadContent: function (content) {\n return app.router.load(view, {content: content});\n },\n reloadPage: function (url) {\n return app.router.load(view, {url: url, reload: true});\n },\n reloadContent: function (content) {\n return app.router.load(view, {content: content, reload: true});\n },\n reloadPreviousPage: function (url) {\n return app.router.load(view, {url: url, reloadPrevious: true, reload: true});\n },\n reloadPreviousContent: function (content) {\n return app.router.load(view, {content: content, reloadPrevious: true, reload: true});\n },\n refreshPage: function () {\n var options = {\n url: view.url,\n reload: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0) {\n if (view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n else if (view.contentCache[options.url]) {\n options.content = view.contentCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n }\n return app.router.load(view, options);\n },\n refreshPreviousPage: function () {\n var options = {\n url: view.history[view.history.length - 2],\n reload: true,\n reloadPrevious: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0 && view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n return app.router.load(view, options);\n }\n };\n \n // Aliases for temporary backward compatibility\n view.loadPage = view.router.loadPage;\n view.loadContent = view.router.loadContent;\n view.reloadPage = view.router.reloadPage;\n view.reloadContent = view.router.reloadContent;\n view.reloadPreviousPage = view.router.reloadPreviousPage;\n view.reloadPreviousContent = view.router.reloadPreviousContent;\n view.refreshPage = view.router.refreshPage;\n view.refreshPreviousPage = view.router.refreshPreviousPage;\n view.back = view.router.back;\n \n // Bars methods\n view.hideNavbar = function () {\n return app.hideNavbar(container.find('.navbar'));\n };\n view.showNavbar = function () {\n return app.showNavbar(container.find('.navbar'));\n };\n view.hideToolbar = function () {\n return app.hideToolbar(container.find('.toolbar'));\n };\n view.showToolbar = function () {\n return app.showToolbar(container.find('.toolbar'));\n };\n \n // Push State on load\n if (app.params.pushState && app.params.pushStateOnLoad && view.main) {\n var pushStateUrl;\n var pushStateUrlSplit = docLocation.split(pushStateSeparator)[1];\n if (pushStateRoot) {\n pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1];\n }\n else if (pushStateSeparator && docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) {\n pushStateUrl = pushStateUrlSplit;\n }\n var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined;\n var historyState = history.state;\n if (pushStateUrl) {\n if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && view.initialPagesUrl.indexOf(pushStateUrl) >= 0) {\n app.router.load(view, {pageName: pushStateUrl.replace('#',''), animatePages: pushStateAnimatePages, pushState: false});\n }\n else app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (view.params.domCache && docLocation.indexOf(pushStateSeparator + '#') >= 0) {\n if (historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateSeparator && pushStateUrlSplit.indexOf('#') === 0) {\n if (view.initialPagesUrl.indexOf(pushStateUrlSplit)) {\n app.router.load(view, {pageName: pushStateUrlSplit.replace('#', ''), animatePages: pushStateAnimatePages, pushState: false});\n }\n }\n }\n }\n \n // Destroy\n view.destroy = function () {\n view.detachEvents();\n view = undefined;\n };\n \n // Plugin hook\n app.pluginHook('addView', view);\n \n // Return view\n return view;\n };\n \n app.addView = function (selector, params) {\n return new View(selector, params);\n };\n \n app.getCurrentView = function (index) {\n var popoverView = $('.popover.modal-in .view');\n var popupView = $('.popup.modal-in .view');\n var panelView = $('.panel.active .view');\n var appViews = $('.views');\n // Find active view as tab\n var appView = appViews.children('.view');\n // Propably in tabs or split view\n if (appView.length > 1) {\n if (appView.hasClass('tab')) {\n // Tabs\n appView = appViews.children('.view.active');\n }\n else {\n // Split View, leave appView intact\n }\n }\n if (popoverView.length > 0 && popoverView[0].f7View) return popoverView[0].f7View;\n if (popupView.length > 0 && popupView[0].f7View) return popupView[0].f7View;\n if (panelView.length > 0 && panelView[0].f7View) return panelView[0].f7View;\n if (appView.length > 0) {\n if (appView.length === 1 && appView[0].f7View) return appView[0].f7View;\n if (appView.length > 1) {\n var currentViews = [];\n for (var i = 0; i < appView.length; i++) {\n if (appView[i].f7View) currentViews.push(appView[i].f7View);\n }\n if (currentViews.length > 0 && typeof index !== 'undefined') return currentViews[index];\n if (currentViews.length > 1) return currentViews;\n if (currentViews.length === 1) return currentViews[0];\n return undefined;\n }\n }\n return undefined;\n };\n \n"," /*======================================================\n ************ Navbars && Toolbars ************\n ======================================================*/\n // On Navbar Init Callback\n app.navbarInitCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n if (!navbarInnerContainer || navbarInnerContainer.f7NavbarInitialized && view && !view.params.domCache) return;\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData = pageContainer && pageContainer.f7PageData;\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n \n if (navbarInnerContainer.f7NavbarInitialized && ((view && view.params.domCache) || (!view && $(navbarContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Navbar\n app.reinitNavbar(navbarContainer, navbarInnerContainer);\n \n // Plugin hook\n app.pluginHook('navbarReinit', eventData);\n \n // Event\n $(navbarInnerContainer).trigger('navbarReinit', eventData);\n return;\n }\n navbarInnerContainer.f7NavbarInitialized = true;\n // Before Init\n app.pluginHook('navbarBeforeInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeInit', eventData);\n \n // Initialize Navbar\n app.initNavbar(navbarContainer, navbarInnerContainer);\n \n // On init\n app.pluginHook('navbarInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarInit', eventData);\n };\n // Navbar Remove Callback\n app.navbarRemoveCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData;\n if (pageContainer) {\n pageData = pageContainer.f7PageData;\n }\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n app.pluginHook('navbarBeforeRemove', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeRemove', eventData);\n navbarData = null;\n pageData = null;\n };\n app.initNavbar = function (navbarContainer, navbarInnerContainer) {\n // Init Subnavbar Searchbar\n if (app.initSearchbar) app.initSearchbar(navbarInnerContainer);\n };\n app.reinitNavbar = function (navbarContainer, navbarInnerContainer) {\n // Re init navbar methods\n };\n app.initNavbarWithCallback = function (navbarContainer) {\n navbarContainer = $(navbarContainer);\n var viewContainer = navbarContainer.parents('.' + app.params.viewClass);\n var view;\n if (viewContainer.length === 0) return;\n if (navbarContainer.parents('.navbar-through').length === 0 && viewContainer.find('.navbar-through').length === 0) return;\n view = viewContainer[0].f7View || undefined;\n \n navbarContainer.find('.navbar-inner').each(function () {\n var navbarInnerContainer = this;\n var pageContainer;\n if ($(navbarInnerContainer).attr('data-page')) {\n // For dom cache\n pageContainer = viewContainer.find('.page[data-page=\"' + $(navbarInnerContainer).attr('data-page') + '\"]')[0];\n }\n if (!pageContainer) {\n var pages = viewContainer.find('.page');\n if (pages.length === 1) {\n pageContainer = pages[0];\n }\n else {\n viewContainer.find('.page').each(function () {\n if (this.f7PageData && this.f7PageData.navbarInnerContainer === navbarInnerContainer) {\n pageContainer = this;\n }\n });\n }\n }\n app.navbarInitCallback(view, pageContainer, navbarContainer[0], navbarInnerContainer);\n });\n };\n \n // Size Navbars\n app.sizeNavbars = function (viewContainer) {\n if (app.params.material) return;\n var navbarInner = viewContainer ? $(viewContainer).find('.navbar .navbar-inner:not(.cached)') : $('.navbar .navbar-inner:not(.cached)');\n navbarInner.each(function () {\n var n = $(this);\n if (n.hasClass('cached')) return;\n var left = app.rtl ? n.find('.right') : n.find('.left'),\n right = app.rtl ? n.find('.left') : n.find('.right'),\n center = n.find('.center'),\n subnavbar = n.find('.subnavbar'),\n noLeft = left.length === 0,\n noRight = right.length === 0,\n leftWidth = noLeft ? 0 : left.outerWidth(true),\n rightWidth = noRight ? 0 : right.outerWidth(true),\n centerWidth = center.outerWidth(true),\n navbarStyles = n.styles(),\n navbarWidth = n[0].offsetWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10),\n onLeft = n.hasClass('navbar-on-left'),\n currLeft, diff;\n \n if (noRight) {\n currLeft = navbarWidth - centerWidth;\n }\n if (noLeft) {\n currLeft = 0;\n }\n if (!noLeft && !noRight) {\n currLeft = (navbarWidth - rightWidth - centerWidth + leftWidth) / 2;\n }\n var requiredLeft = (navbarWidth - centerWidth) / 2;\n if (navbarWidth - leftWidth - rightWidth > centerWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n if (requiredLeft + centerWidth > navbarWidth - rightWidth) {\n requiredLeft = navbarWidth - rightWidth - centerWidth;\n }\n diff = requiredLeft - currLeft;\n }\n else {\n diff = 0;\n }\n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n if (center.hasClass('sliding')) {\n center[0].f7NavbarLeftOffset = -(currLeft + diff) * inverter;\n center[0].f7NavbarRightOffset = (navbarWidth - currLeft - diff - centerWidth) * inverter;\n if (onLeft) {\n if (app.params.animateNavBackIcon) {\n var activeNavbarBackLink = n.parent().find('.navbar-on-center').find('.left.sliding .back .icon ~ span');\n if (activeNavbarBackLink.length > 0) {\n center[0].f7NavbarLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n }\n if (!noLeft && left.hasClass('sliding')) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = -(navbarWidth - left[0].offsetWidth) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n }\n else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarWidth - left[0].offsetWidth) / 2;\n if (app.params.animateNavBackIcon && left.find('.back .icon').length > 0) {\n left[0].f7NavbarRightOffset -= left.find('.back .icon')[0].offsetWidth;\n }\n }\n if (onLeft) left.transform('translate3d(' + left[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (!noRight && right.hasClass('sliding')) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = (navbarWidth - right[0].offsetWidth) / 2 * inverter;\n }\n else {\n right[0].f7NavbarLeftOffset = -(navbarWidth - right[0].offsetWidth) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (subnavbar.length && subnavbar.hasClass('sliding')) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;\n }\n \n // Center left\n var centerLeft = diff;\n if (app.rtl && noLeft && noRight && center.length > 0) centerLeft = -centerLeft;\n center.css({left: centerLeft + 'px'});\n \n });\n };\n \n // Hide/Show Navbars/Toolbars\n app.hideNavbar = function (navbarContainer) {\n $(navbarContainer).addClass('navbar-hidden');\n return true;\n };\n app.showNavbar = function (navbarContainer) {\n var navbar = $(navbarContainer);\n navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () {\n navbar.removeClass('navbar-hiding');\n });\n return true;\n };\n app.hideToolbar = function (toolbarContainer) {\n $(toolbarContainer).addClass('toolbar-hidden');\n return true;\n };\n app.showToolbar = function (toolbarContainer) {\n var toolbar = $(toolbarContainer);\n toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () {\n toolbar.removeClass('toolbar-hiding');\n });\n };\n \n"," /*======================================================\n ************ Searchbar ************\n ======================================================*/\n var Searchbar = function (container, params) {\n var defaults = {\n input: null,\n clearButton: null,\n cancelButton: null,\n searchList: null,\n searchIn: '.item-title',\n searchBy: '',\n found: null,\n notFound: null,\n overlay: null,\n ignore: '.searchbar-ignore',\n customSearch: false,\n removeDiacritics: false,\n hideDividers: true,\n hideGroups: true,\n /* Callbacks\n onSearch\n onEnable\n onDisable\n onClear\n */\n \n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var s = this;\n \n // Material\n s.material = app.params.material;\n \n // Params\n s.params = params;\n \n // Container\n container = $(container);\n s.container = container;\n \n // Active\n s.active = false;\n \n // Input\n s.input = s.params.input ? $(s.params.input) : s.container.find('input[type=\"search\"]');\n s.clearButton = s.params.clearButton ? $(s.params.clearButton) : s.container.find('.searchbar-clear');\n s.cancelButton = s.params.cancelButton ? $(s.params.cancelButton) : s.container.find('.searchbar-cancel');\n \n // Search List\n s.searchList = $(s.params.searchList);\n \n // Is Virtual List\n s.isVirtualList = s.searchList.hasClass('virtual-list');\n \n // Is In Page\n s.pageContainer = s.container.parents('.page').eq(0);\n \n // Overlay\n if (!s.params.overlay) {\n s.overlay = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay');\n }\n else {\n s.overlay = $(s.params.overlay);\n }\n // Found and not found\n if (!s.params.found) {\n s.found = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-found') : $('.searchbar-found');\n }\n else {\n s.found = $(s.params.found);\n }\n if (!s.params.notFound) {\n s.notFound = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-not-found') : $('.searchbar-not-found');\n }\n else {\n s.notFound = $(s.params.notFound);\n }\n \n // Set Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n var cancelButtonHasMargin = false;\n s.setCancelButtonMargin = function () {\n s.cancelButton.transition(0).show();\n s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n var clientLeft = s.cancelButton[0].clientLeft;\n s.cancelButton.transition('');\n cancelButtonHasMargin = true;\n };\n \n // Trigger\n s.triggerEvent = function (eventName, callbackName, eventData) {\n s.container.trigger(eventName, eventData);\n if (s.searchList.length > 0) s.searchList.trigger(eventName, eventData);\n if (callbackName && s.params[callbackName]) s.params[callbackName](s, eventData);\n };\n \n // Enable/disalbe\n s.enable = function (e) {\n function _enable() {\n if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active') && !s.query) s.overlay.addClass('searchbar-overlay-active');\n s.container.addClass('searchbar-active');\n if (s.cancelButton.length > 0 && !s.material) {\n if (!cancelButtonHasMargin) {\n s.setCancelButtonMargin();\n }\n s.cancelButton.css(cancelMarginProp, '0px');\n }\n s.triggerEvent('enableSearch', 'onEnable');\n s.active = true;\n }\n if (app.device.ios && !app.params.material && e && e.type === 'focus') {\n setTimeout(function () {\n _enable();\n }, 400);\n }\n else {\n _enable();\n }\n };\n \n s.disable = function () {\n s.input.val('').trigger('change');\n s.container.removeClass('searchbar-active searchbar-not-empty');\n if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n \n if (s.searchList.length || s.params.customSearch) s.overlay.removeClass('searchbar-overlay-active');\n \n s.active = false;\n function _disable() {\n s.input.blur();\n }\n if (app.device.ios) {\n setTimeout(function () {\n _disable();\n }, 400);\n }\n else {\n _disable();\n }\n s.triggerEvent('disableSearch', 'onDisable');\n };\n \n // Clear\n s.clear = function (e) {\n if (!s.query && e && $(e.target).hasClass('searchbar-clear')) {\n s.disable();\n return;\n }\n s.input.val('').trigger('change').focus();\n s.triggerEvent('clearSearch', 'onClear');\n };\n \n // Search\n s.handleInput = function () {\n setTimeout(function () {\n var value = s.input.val().trim();\n if ((s.searchList.length > 0 || s.params.customSearch) && (s.params.searchIn || s.isVirtualList)) s.search(value, true);\n }, 0);\n };\n \n var previousQuery = '';\n var virtualList;\n s.search = function (query, internal) {\n if (query.trim() === previousQuery) return;\n previousQuery = query.trim();\n \n if (!internal) {\n if (!s.active) {\n s.enable();\n }\n s.input.val(query);\n }\n s.query = s.value = query;\n // Add active/inactive classes on overlay\n if (query.length === 0) {\n s.container.removeClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active');\n }\n else {\n s.container.addClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.removeClass('searchbar-overlay-active');\n }\n \n if (s.params.customSearch) {\n s.triggerEvent('search', 'onSearch', {query: query});\n return;\n }\n \n var foundItems = [], _vlQuery;\n if (s.isVirtualList) {\n virtualList = s.searchList[0].f7VirtualList;\n if (query.trim() === '') {\n virtualList.resetFilter();\n s.notFound.hide();\n s.found.show();\n return;\n }\n _vlQuery = s.params.removeDiacritics ? $.removeDiacritics(query) : query;\n if (virtualList.params.searchAll) {\n foundItems = virtualList.params.searchAll(_vlQuery, virtualList.items) || [];\n }\n else if (virtualList.params.searchByItem) {\n for (var i = 0; i < virtualList.items.length; i++) {\n if(virtualList.params.searchByItem(_vlQuery, i, virtualList.params.items[i])) {\n foundItems.push(i);\n }\n }\n }\n }\n else {\n var values;\n if (s.params.removeDiacritics) values = $.removeDiacritics(query.trim().toLowerCase()).split(' ');\n else {\n values = query.trim().toLowerCase().split(' ');\n }\n s.searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) {\n el = $(el);\n var compareWithText = [];\n el.find(s.params.searchIn).each(function () {\n var itemText = $(this).text().trim().toLowerCase();\n if (s.params.removeDiacritics) itemText = $.removeDiacritics(itemText);\n compareWithText.push(itemText);\n });\n compareWithText = compareWithText.join(' ');\n var wordsMatch = 0;\n for (var i = 0; i < values.length; i++) {\n if (compareWithText.indexOf(values[i]) >= 0) wordsMatch++;\n }\n if (wordsMatch !== values.length && !(s.params.ignore && el.is(s.params.ignore))) {\n el.addClass('hidden-by-searchbar');\n }\n else {\n foundItems.push(el[0]);\n }\n });\n \n if (s.params.hideDividers) {\n s.searchList.find('.item-divider, .list-group-title').each(function () {\n var title = $(this);\n var nextElements = title.nextAll('li');\n var hide = true;\n for (var i = 0; i < nextElements.length; i++) {\n var nextEl = $(nextElements[i]);\n if (nextEl.hasClass('list-group-title') || nextEl.hasClass('item-divider')) break;\n if (!nextEl.hasClass('hidden-by-searchbar')) {\n hide = false;\n }\n }\n var ignore = s.params.ignore && title.is(s.params.ignore);\n if (hide && !ignore) title.addClass('hidden-by-searchbar');\n else title.removeClass('hidden-by-searchbar');\n });\n }\n if (s.params.hideGroups) {\n s.searchList.find('.list-group').each(function () {\n var group = $(this);\n var ignore = s.params.ignore && group.is(s.params.ignore);\n var notHidden = group.find('li:not(.hidden-by-searchbar)');\n if (notHidden.length === 0 && !ignore) {\n group.addClass('hidden-by-searchbar');\n }\n else {\n group.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n s.triggerEvent('search', 'onSearch', {query: query, foundItems: foundItems});\n if (foundItems.length === 0) {\n s.notFound.show();\n s.found.hide();\n }\n else {\n s.notFound.hide();\n s.found.show();\n }\n if (s.isVirtualList) {\n virtualList.filterItems(foundItems);\n }\n };\n \n // Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n s.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n s.container[method]('submit', preventSubmit);\n if (!s.material) s.cancelButton[method]('click', s.disable);\n s.overlay[method]('click', s.disable);\n s.input[method]('focus', s.enable);\n s.input[method]('change keydown keypress keyup', s.handleInput);\n s.clearButton[method]('click', s.clear);\n \n };\n s.detachEvents = function() {\n s.attachEvents(true);\n };\n \n // Init Destroy\n s.init = function () {\n s.attachEvents();\n };\n s.destroy = function () {\n if (!s) return;\n s.detachEvents();\n s = null;\n };\n \n // Init\n s.init();\n \n s.container[0].f7Searchbar = s;\n return s;\n \n };\n app.searchbar = function (container, params) {\n return new Searchbar(container, params);\n };\n app.initSearchbar = function (container) {\n container = $(container);\n var searchbar = container.hasClass('searchbar') ? container : container.find('.searchbar');\n if (searchbar.length === 0) return;\n if (!searchbar.hasClass('searchbar-init')) return;\n \n var sb = app.searchbar(searchbar, searchbar.dataset());\n \n function onBeforeRemove() {\n if (sb) sb.destroy();\n }\n if (container.hasClass('page')) {\n container.once('pageBeforeRemove', onBeforeRemove); \n }\n else if (container.hasClass('navbar-inner')) {\n container.once('navbarBeforeRemove', onBeforeRemove);\n }\n };\n"," /*======================================================\n ************ Messagebar ************\n ======================================================*/\n var Messagebar = function (container, params) {\n var defaults = {\n textarea: null,\n maxHeight: null,\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Textarea\n m.textarea = m.params.textarea ? $(m.params.textarea) : m.container.find('textarea');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Initial Sizes\n m.pageContentPadding = parseInt(m.pageContent.css('padding-bottom'));\n m.initialBarHeight = m.container[0].offsetHeight;\n m.initialAreaHeight = m.textarea[0].offsetHeight;\n \n \n // Resize textarea\n m.sizeTextarea = function () {\n // Reset\n m.textarea.css({'height': ''});\n \n var height = m.textarea[0].offsetHeight;\n var diff = height - m.textarea[0].clientHeight;\n var scrollHeight = m.textarea[0].scrollHeight;\n \n // Update\n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n var newBarHeight = m.initialBarHeight + (newAreaHeight - m.initialAreaHeight);\n var maxBarHeight = m.params.maxHeight || m.container.parents('.view')[0].offsetHeight - 88;\n if (newBarHeight > maxBarHeight) {\n newBarHeight = parseInt(maxBarHeight, 10);\n newAreaHeight = newBarHeight - m.initialBarHeight + m.initialAreaHeight;\n }\n m.textarea.css('height', newAreaHeight + 'px');\n m.container.css('height', newBarHeight + 'px');\n var onBottom = (m.pageContent[0].scrollTop === m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n if (m.pageContent.length > 0) {\n m.pageContent.css('padding-bottom', newBarHeight + 'px');\n if (m.pageContent.find('.messages-new-first').length === 0 && onBottom) {\n m.pageContent.scrollTop(m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n }\n }\n }\n else {\n if (m.pageContent.length > 0) {\n m.container.css({'height': '', 'bottom': ''});\n m.pageContent.css({'padding-bottom': ''});\n }\n }\n };\n \n // Clear\n m.clear = function () {\n m.textarea.val('').trigger('change');\n };\n m.value = function (value) {\n if (typeof value === 'undefined') return m.textarea.val();\n else m.textarea.val(value).trigger('change'); \n };\n \n // Handle textarea\n m.textareaTimeout = undefined;\n m.handleTextarea = function (e) {\n clearTimeout(m.textareaTimeout);\n m.textareaTimeout = setTimeout(function () {\n m.sizeTextarea();\n }, 0);\n };\n \n //Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n m.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n m.container[method]('submit', preventSubmit);\n m.textarea[method]('change keydown keypress keyup paste cut', m.handleTextarea);\n };\n m.detachEvents = function () {\n m.attachEvents(true);\n };\n \n // Init Destroy\n m.init = function () {\n m.attachEvents();\n };\n m.destroy = function () {\n m.detachEvents();\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messagebar = m;\n return m;\n };\n app.messagebar = function (container, params) {\n return new Messagebar(container, params);\n };\n app.initPageMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n if (!messagebar.hasClass('messagebar-init')) return;\n var mb = app.messagebar(messagebar, messagebar.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n mb.destroy();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n };\n"," /*======================================================\n ************ XHR ************\n ======================================================*/\n // XHR Caching\n app.cache = [];\n app.removeFromCache = function (url) {\n var index = false;\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === url) index = i;\n }\n if (index !== false) app.cache.splice(index, 1);\n };\n \n // XHR\n app.xhr = false;\n app.get = function (url, view, ignoreCache, callback) {\n // should we ignore get params or not\n var _url = url;\n if (app.params.cacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n _url = url.split('?')[0];\n }\n if (app.params.cache && !ignoreCache && url.indexOf('nocache') < 0 && app.params.cacheIgnore.indexOf(_url) < 0) {\n // Check is the url cached\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === _url) {\n // Check expiration\n if ((new Date()).getTime() - app.cache[i].time < app.params.cacheDuration) {\n // Load from cache\n callback(app.cache[i].content);\n return false;\n }\n }\n }\n }\n \n app.xhr = $.ajax({\n url: url,\n method: 'GET',\n beforeSend: app.params.onAjaxStart,\n complete: function (xhr) {\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n if (app.params.cache) {\n app.removeFromCache(_url);\n app.cache.push({\n url: _url,\n time: (new Date()).getTime(),\n content: xhr.responseText\n });\n }\n callback(xhr.responseText, false);\n }\n else {\n callback(xhr.responseText, true);\n }\n if (app.params.onAjaxComplete) app.params.onAjaxComplete(xhr);\n },\n error: function (xhr) {\n callback(xhr.responseText, true);\n if (app.params.onAjaxError) app.params.onAjaxError(xhr);\n }\n });\n if (view) view.xhr = app.xhr;\n \n return app.xhr;\n };\n \n"," /*======================================================\n ************ Pages ************\n ======================================================*/\n // Page Callbacks API\n app.pageCallbacks = {};\n \n app.onPage = function (callbackName, pageName, callback) {\n if (pageName && pageName.split(' ').length > 1) {\n var pageNames = pageName.split(' ');\n var returnCallbacks = [];\n for (var i = 0; i < pageNames.length; i++) {\n returnCallbacks.push(app.onPage(callbackName, pageNames[i], callback));\n }\n returnCallbacks.remove = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].remove();\n }\n };\n returnCallbacks.trigger = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].trigger();\n }\n };\n return returnCallbacks;\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks) {\n callbacks = app.pageCallbacks[callbackName][pageName] = [];\n }\n app.pageCallbacks[callbackName][pageName].push(callback);\n return {\n remove: function () {\n var removeIndex;\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i].toString() === callback.toString()) {\n removeIndex = i;\n }\n }\n if (typeof removeIndex !== 'undefined') callbacks.splice(removeIndex, 1);\n },\n trigger: callback\n };\n };\n \n //Create callbacks methods dynamically\n function createPageCallback(callbackName) {\n var capitalized = callbackName.replace(/^./, function (match) {\n return match.toUpperCase();\n });\n app['onPage' + capitalized] = function (pageName, callback) {\n return app.onPage(callbackName, pageName, callback);\n };\n }\n \n var pageCallbacksNames = ('beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove').split(' ');\n for (var i = 0; i < pageCallbacksNames.length; i++) {\n app.pageCallbacks[pageCallbacksNames[i]] = {};\n createPageCallback(pageCallbacksNames[i]);\n }\n \n app.triggerPageCallbacks = function (callbackName, pageName, pageData) {\n var allPagesCallbacks = app.pageCallbacks[callbackName]['*'];\n if (allPagesCallbacks) {\n for (var j = 0; j < allPagesCallbacks.length; j++) {\n allPagesCallbacks[j](pageData);\n }\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks || callbacks.length === 0) return;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](pageData);\n }\n };\n \n // On Page Init Callback\n app.pageInitCallback = function (view, params) {\n var pageContainer = params.pageContainer;\n if (!pageContainer) return;\n if (pageContainer.f7PageInitialized && view && !view.params.domCache) return;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: params.context,\n navbarInnerContainer: params.navbarInnerContainer,\n fromPage: params.fromPage\n };\n if (params.fromPage && !params.fromPage.navbarInnerContainer && params.oldNavbarInnerContainer) {\n params.fromPage.navbarInnerContainer = params.oldNavbarInnerContainer;\n }\n \n if (pageContainer.f7PageInitialized && ((view && view.params.domCache) || (!view && $(pageContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Page\n app.reinitPage(pageContainer);\n \n // Callbacks\n app.pluginHook('pageReinit', pageData);\n if (app.params.onPageReinit) app.params.onPageReinit(app, pageData);\n app.triggerPageCallbacks('reinit', pageData.name, pageData);\n $(pageData.container).trigger('pageReinit', {page: pageData});\n return;\n }\n pageContainer.f7PageInitialized = true;\n \n // Store pagedata in page\n pageContainer.f7PageData = pageData;\n \n // Update View's activePage\n if (view && !params.preloadOnly && !params.reloadPrevious) {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n // Update View active page data\n view.activePage = pageData;\n }\n \n // Before Init Callbacks\n app.pluginHook('pageBeforeInit', pageData);\n if (app.params.onPageBeforeInit) app.params.onPageBeforeInit(app, pageData);\n app.triggerPageCallbacks('beforeInit', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeInit', {page: pageData});\n \n // Init page\n app.initPage(pageContainer);\n \n // Init Callback\n app.pluginHook('pageInit', pageData);\n if (app.params.onPageInit) app.params.onPageInit(app, pageData);\n app.triggerPageCallbacks('init', pageData.name, pageData);\n $(pageData.container).trigger('pageInit', {page: pageData});\n };\n app.pageRemoveCallback = function (view, pageContainer, position) {\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n // Page Data\n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n view: view,\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n from: position,\n context: pageContext\n };\n // Before Init Callback\n app.pluginHook('pageBeforeRemove', pageData);\n if (app.params.onPageBeforeRemove) app.params.onPageBeforeRemove(app, pageData);\n app.triggerPageCallbacks('beforeRemove', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeRemove', {page: pageData});\n pageData = null;\n };\n app.pageBackCallback = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n view: view,\n from: params.position,\n context: pageContext,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n swipeBack: params.swipeBack\n };\n \n if (callback === 'after') {\n app.pluginHook('pageAfterBack', pageData);\n if (app.params.onPageAfterBack) app.params.onPageAfterBack(app, pageData);\n app.triggerPageCallbacks('afterBack', pageData.name, pageData);\n $(pageContainer).trigger('pageAfterBack', {page: pageData});\n \n }\n if (callback === 'before') {\n app.pluginHook('pageBack', pageData);\n if (app.params.onPageBack) app.params.onPageBack(app, pageData);\n app.triggerPageCallbacks('back', pageData.name, pageData);\n $(pageData.container).trigger('pageBack', {page: pageData});\n }\n };\n app.pageAnimCallback = function (callback, view, params) {\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: pageContext,\n swipeBack: params.swipeBack,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n fromPage: params.fromPage\n };\n var oldPage = params.oldPage,\n newPage = params.newPage;\n \n // Update page date\n pageContainer.f7PageData = pageData;\n \n if (callback === 'after') {\n app.pluginHook('pageAfterAnimation', pageData);\n if (app.params.onPageAfterAnimation) app.params.onPageAfterAnimation(app, pageData);\n app.triggerPageCallbacks('afterAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageAfterAnimation', {page: pageData});\n \n }\n if (callback === 'before') {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n \n // Update View's activePage\n if (view) view.activePage = pageData;\n \n // Hide/show navbar dynamically\n if (newPage.hasClass('no-navbar') && !oldPage.hasClass('no-navbar')) {\n view.hideNavbar();\n }\n if (!newPage.hasClass('no-navbar') && (oldPage.hasClass('no-navbar') || oldPage.hasClass('no-navbar-by-scroll'))) {\n view.showNavbar();\n }\n // Hide/show navbar toolbar\n if (newPage.hasClass('no-toolbar') && !oldPage.hasClass('no-toolbar')) {\n view.hideToolbar();\n }\n if (!newPage.hasClass('no-toolbar') && (oldPage.hasClass('no-toolbar') || oldPage.hasClass('no-toolbar-by-scroll'))) {\n view.showToolbar();\n }\n // Hide/show tabbar\n var tabBar;\n if (newPage.hasClass('no-tabbar') && !oldPage.hasClass('no-tabbar')) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.hideToolbar(tabBar);\n }\n if (!newPage.hasClass('no-tabbar') && (oldPage.hasClass('no-tabbar') || oldPage.hasClass('no-tabbar-by-scroll'))) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.showToolbar(tabBar);\n }\n \n oldPage.removeClass('no-navbar-by-scroll no-toolbar-by-scroll');\n // Callbacks\n app.pluginHook('pageBeforeAnimation', pageData);\n if (app.params.onPageBeforeAnimation) app.params.onPageBeforeAnimation(app, pageData);\n app.triggerPageCallbacks('beforeAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeAnimation', {page: pageData});\n }\n };\n \n // Init Page Events and Manipulations\n app.initPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page load\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Init messages\n if (app.initPageMessages) app.initPageMessages(pageContainer);\n // Init forms storage\n if (app.initFormsStorage) app.initFormsStorage(pageContainer);\n // Init smart select\n if (app.initSmartSelects) app.initSmartSelects(pageContainer);\n // Init slider\n if (app.initPageSwiper) app.initPageSwiper(pageContainer);\n // Init pull to refres\n if (app.initPullToRefresh) app.initPullToRefresh(pageContainer);\n // Init infinite scroll\n if (app.initPageInfiniteScroll) app.initPageInfiniteScroll(pageContainer);\n // Init searchbar\n if (app.initSearchbar) app.initSearchbar(pageContainer);\n // Init message bar\n if (app.initPageMessagebar) app.initPageMessagebar(pageContainer);\n // Init scroll toolbars\n if (app.initPageScrollToolbars) app.initPageScrollToolbars(pageContainer);\n // Init lazy images\n if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer);\n // Init progress bars\n if (app.initPageProgressbar) app.initPageProgressbar(pageContainer);\n // Init resizeable textareas\n if (app.initPageResizableTextarea) app.initPageResizableTextarea(pageContainer);\n // Init Material Preloader\n if (app.params.material && app.initPageMaterialPreloader) app.initPageMaterialPreloader(pageContainer);\n // Init Material Inputs\n if (app.params.material && app.initPageMaterialInputs) app.initPageMaterialInputs(pageContainer);\n // Init Material Tabbar\n if (app.params.material && app.initPageMaterialTabbar) app.initPageMaterialTabbar(pageContainer);\n };\n app.reinitPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page reinit\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Reinit slider\n if (app.reinitPageSwiper) app.reinitPageSwiper(pageContainer);\n // Reinit lazy load\n if (app.reinitLazyLoad) app.reinitLazyLoad(pageContainer);\n };\n app.initPageWithCallback = function (pageContainer) {\n pageContainer = $(pageContainer);\n var viewContainer = pageContainer.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n var view = viewContainer[0].f7View || undefined;\n var url = view && view.url ? view.url : undefined;\n if (viewContainer && pageContainer.attr('data-page')) {\n viewContainer.attr('data-page', pageContainer.attr('data-page'));\n }\n app.pageInitCallback(view, {pageContainer: pageContainer[0], url: url, position: 'center'});\n };\n"," /*======================================================\n ************ Navigation / Router ************\n ======================================================*/\n app.router = {\n _remove: function (el) {\n if (app.params.routerRemoveTimeout || app.params.routerRemoveWithTimeout) {\n setTimeout(function () {\n $(el).remove();\n }, 0);\n }\n else $(el).remove();\n },\n // Temporary DOM Element\n temporaryDom: document.createElement('div'),\n \n // Find page or navbar in passed container which are related to View\n findElement: function (selector, container, view, notCached) {\n container = $(container);\n if (notCached) selector = selector + ':not(.cached)';\n var found = container.find(selector);\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = container.find(view.selector + ' ' + selector);\n }\n if (found.length > 1) {\n // Search in main view\n found = container.find('.' + app.params.viewMainClass + ' ' + selector);\n }\n }\n if (found.length === 1) return found;\n else {\n // Try to find non cached\n if (!notCached) found = app.router.findElement(selector, container, view, true);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return $(found[0]);\n else return undefined;\n }\n },\n \n // Set pages classess for animationEnd\n animatePages: function (leftPage, rightPage, direction, view) {\n // Loading new page\n var removeClasses = 'page-on-center page-on-right page-on-left';\n if (direction === 'to-left') {\n leftPage.removeClass(removeClasses).addClass('page-from-center-to-left');\n rightPage.removeClass(removeClasses).addClass('page-from-right-to-center');\n }\n // Go back\n if (direction === 'to-right') {\n leftPage.removeClass(removeClasses).addClass('page-from-left-to-center');\n rightPage.removeClass(removeClasses).addClass('page-from-center-to-right');\n \n }\n },\n \n // Prepare navbar before animarion\n prepareNavbar: function (newNavbarInner, oldNavbarInner, newNavbarPosition) {\n $(newNavbarInner).find('.sliding').each(function () {\n var sliding = $(this);\n var slidingOffset = newNavbarPosition === 'right' ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset;\n \n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-slidingOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + slidingOffset + 'px,0,0)');\n });\n },\n \n // Set navbars classess for animation\n animateNavbars: function (leftNavbarInner, rightNavbarInner, direction, view) {\n // Loading new page\n var removeClasses = 'navbar-on-right navbar-on-center navbar-on-left';\n if (direction === 'to-left') {\n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-right-to-center');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-left');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n var rightText;\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) {\n rightText = rightNavbarInner.find('.sliding.left .back span');\n if (rightText.length > 0) this.f7NavbarLeftOffset += rightText[0].offsetLeft;\n }\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarLeftOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarLeftOffset) + 'px,0,0)');\n });\n }\n // Go back\n if (direction === 'to-right') {\n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-left-to-center');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-right');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarRightOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarRightOffset) + 'px,0,0)');\n });\n }\n },\n \n preprocess: function(view, content, url, next) {\n // Plugin hook\n app.pluginHook('routerPreprocess', view, content, url, next);\n \n // Preprocess by plugin\n content = app.pluginProcess('preprocess', content);\n \n if (view && view.params && view.params.preprocess) {\n content = view.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else if (app.params.preprocess) {\n content = app.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else {\n next(content);\n }\n },\n preroute: function(view, options, isBack) {\n if (isBack) options.isBack = true;\n app.pluginHook('routerPreroute', view, options);\n if ((app.params.preroute && app.params.preroute(view, options) === false) || (view && view.params.preroute && view.params.preroute(view, options) === false)) {\n return true;\n }\n else {\n return false;\n }\n },\n \n template7Render: function (view, options) {\n var url = options.url,\n content = options.content, //initial content\n t7_rendered_content = options.content, // will be rendered using Template7\n context = options.context, // Context data for Template7\n contextName = options.contextName,\n template = options.template, // Template 7 compiled template\n pageName = options.pageName;\n \n var t7_ctx, t7_template;\n if (typeof content === 'string') {\n if (url) {\n if (app.template7Cache[url] && !options.ignoreCache) t7_template = t7.cache[url];\n else {\n t7_template = t7.compile(content);\n t7.cache[url] = t7_template;\n }\n }\n else t7_template = t7.compile(content);\n }\n else if (template) {\n t7_template = template;\n }\n \n if (context) {\n t7_ctx = context;\n if (context && url) {\n view.contextCache[url] = context;\n }\n }\n else {\n if (contextName) {\n if (contextName.indexOf('.') >= 0) {\n var _ctx_path = contextName.split('.');\n var _ctx = t7.data[_ctx_path[0]];\n for (var i = 1; i < _ctx_path.length; i++) {\n if (_ctx_path[i]) _ctx = _ctx[_ctx_path[i]];\n }\n t7_ctx = _ctx;\n }\n else t7_ctx = t7.data[contextName];\n }\n if (!t7_ctx && url) {\n t7_ctx = t7.data['url:' + url];\n }\n if (!t7_ctx && typeof content === 'string' && !template) {\n //try to find by page name in content\n var pageNameMatch = content.match(/(data-page=[\"'][^\"^']*[\"'])/);\n if (pageNameMatch) {\n var page = pageNameMatch[0].split('data-page=')[1].replace(/['\"]/g, '');\n if (page) t7_ctx = t7.data['page:' + page];\n }\n }\n if (!t7_ctx && template && t7.templates) {\n // Try to find matched template name in t7.templates\n for (var templateName in t7.templates) {\n if (t7.templates[templateName] === template) t7_ctx = t7.data[templateName];\n }\n }\n if (!t7_ctx && url && url in view.contextCache) {\n t7_ctx = view.contextCache[url];\n }\n if (!t7_ctx) {\n t7_ctx = {};\n }\n }\n \n if (t7_template && t7_ctx) {\n if (typeof t7_ctx === 'function') t7_ctx = t7_ctx();\n if (url) {\n // Extend data with URL query\n var query = $.parseUrlQuery(url);\n t7_ctx.url_query = {};\n for (var key in query) {\n t7_ctx.url_query[key] = query[key];\n }\n }\n try {\n t7_rendered_content = t7_template(t7_ctx);\n }\n catch (e) {\n t7_rendered_content = '';\n if (window.console && window.console.error) {\n console.error(e);\n }\n }\n }\n \n return {content: t7_rendered_content, context: t7_ctx};\n }\n };\n \n \n app.router._load = function (view, options) {\n options = options || {};\n \n var url = options.url,\n content = options.content, //initial content\n t7_rendered = {content: options.content},\n template = options.template, // Template 7 compiled template\n pageName = options.pageName,\n viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n animatePages = options.animatePages,\n newPage, oldPage, pagesInView, i, oldNavbarInner, newNavbarInner, navbar, dynamicNavbar, reloadPosition,\n isDynamicPage = typeof url === 'undefined' && content || template,\n pushState = options.pushState,\n pageElement = options.pageElement;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n // Plugin hook\n app.pluginHook('routerLoad', view, options);\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n app.router.temporaryDom.innerHTML = '';\n \n // Parse DOM\n if (!pageName && !pageElement) {\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n }\n \n // Reload position\n reloadPosition = options.reload && (options.reloadPrevious ? 'left' : 'center');\n \n // Find new page\n if (pageName) newPage = pagesContainer.find('.page[data-page=\"' + pageName + '\"]');\n else {\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n }\n \n // If page not found exit\n if (!newPage || newPage.length === 0 || (pageName && view.activePage && view.activePage.name === pageName)) {\n view.allowPageChange = true;\n return;\n }\n \n newPage.addClass(options.reload ? 'page-on-' + reloadPosition : 'page-on-right');\n \n // Find old page (should be the last one) and remove older pages\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (pageElement) {\n pagesInView = pagesInView.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n \n if (options.reload && options.reloadPrevious && pagesInView.length === 1) {\n view.allowPageChange = true;\n return;\n }\n \n if (options.reload) {\n oldPage = pagesInView.eq(pagesInView.length - 1);\n }\n else {\n if (pagesInView.length > 1) {\n for (i = 0; i < pagesInView.length - 2; i++) {\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n oldPage = pagesContainer.children('.page:not(.cached)');\n }\n if (pageElement && oldPage.length > 1) {\n oldPage = oldPage.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n if(view.params.domCache || pageElement) newPage.removeClass('cached');\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n if (pageName) {\n newNavbarInner = viewContainer.find('.navbar-inner[data-page=\"' + pageName + '\"]');\n }\n else {\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Look in page\n newNavbarInner = newPage.find('.navbar-inner');\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Set false\n dynamicNavbar = false;\n }\n else {\n if (newNavbarInner.parent('.navbar').length > 0) {\n newNavbarInner.prependTo(newPage);\n }\n }\n }\n if (dynamicNavbar && newPage.find('.navbar').length > 0) {\n app.router._remove(newPage.find('.navbar'));\n }\n navbar = viewContainer.children('.navbar');\n if (options.reload) {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached):last-child');\n }\n else {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n \n if (oldNavbarInner.length > 0) {\n for (i = 0; i < oldNavbarInner.length - 1; i++) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[i], navbar[0], oldNavbarInner[i]);\n app.router._remove(oldNavbarInner[i]);\n }\n else\n $(oldNavbarInner[i]).addClass('cached');\n }\n if (!newNavbarInner && oldNavbarInner.length === 1) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldNavbarInner[0]);\n }\n else\n $(oldNavbarInner[0]).addClass('cached');\n }\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n }\n }\n }\n if (dynamicNavbar) {\n newNavbarInner.addClass(options.reload ? 'navbar-on-' + reloadPosition : 'navbar-on-right');\n if(view.params.domCache || pageElement) newNavbarInner.removeClass('cached');\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n newNavbarInner[0].f7RelatedPage = newPage[0];\n }\n \n // save content areas into view's cache\n if (!url) {\n var newPageName = pageName || newPage.attr('data-page');\n if (isDynamicPage) url = '#' + app.params.dynamicPageUrl.replace(/{{name}}/g, newPageName).replace(/{{index}}/g, view.history.length - (options.reload ? 1 : 0));\n else url = '#' + newPageName;\n if (!view.params.domCache) {\n view.contentCache[url] = content;\n }\n if (view.params.domCache && pageName) {\n view.pagesCache[url] = pageName;\n }\n }\n else if (url && pageElement) {\n view.pageElementsCache[url] = {\n page: newPage,\n navbarInner: newNavbarInner\n };\n }\n \n // Push State\n if (app.params.pushState && !options.reloadPrevious && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n var pushStateRoot = app.params.pushStateRoot || '';\n var method = options.reload ? 'replaceState' : 'pushState';\n if (pushState) {\n if (!isDynamicPage && !pageName) {\n history[method]({url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (isDynamicPage && content) {\n history[method]({content: typeof content === 'string' ? content : '', url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (pageName) {\n history[method]({pageName: pageName, url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n }\n }\n \n // Update View history\n view.url = url;\n if (options.reload) {\n var lastUrl = view.history[view.history.length - (options.reloadPrevious ? 2 : 1)];\n if (lastUrl &&\n lastUrl.indexOf('#') === 0 &&\n lastUrl in view.contentCache &&\n lastUrl !== url &&\n view.history.indexOf(lastUrl) === -1) {\n view.contentCache[lastUrl] = null;\n delete view.contentCache[lastUrl];\n }\n else if (lastUrl &&\n lastUrl in view.pageElementsCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.pageElementsCache[lastUrl] = null;\n delete view.pageElementsCache[lastUrl];\n }\n if (lastUrl &&\n lastUrl in view.contextCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.contextCache[lastUrl] = null;\n delete view.contextCache[lastUrl];\n }\n view.history[view.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n }\n else {\n view.history.push(url);\n }\n \n // Unique history\n var historyBecameUnique = false;\n if (view.params.uniqueHistory) {\n var _history = view.history;\n var _url = url;\n if (view.params.uniqueHistoryIgnoreGetParameters) {\n _history = [];\n _url = url.split('?')[0];\n for (i = 0; i < view.history.length; i++) {\n _history.push(view.history[i].split('?')[0]);\n }\n }\n \n if (_history.indexOf(_url) !== _history.lastIndexOf(_url)) {\n view.history = view.history.slice(0, _history.indexOf(_url));\n view.history.push(url);\n historyBecameUnique = true;\n }\n }\n // Dom manipulations\n if (options.reloadPrevious) {\n oldPage = oldPage.prev('.page');\n newPage.insertBefore(oldPage);\n if (dynamicNavbar) {\n oldNavbarInner = oldNavbarInner.prev('.navbar-inner');\n newNavbarInner.insertAfter(oldNavbarInner);\n }\n }\n else {\n pagesContainer.append(newPage[0]);\n if (dynamicNavbar) navbar.append(newNavbarInner[0]);\n }\n // Remove Old Page And Navbar\n if (options.reload) {\n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], reloadPosition);\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: options.reload ? reloadPosition : 'right',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner && newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n reload: options.reload,\n reloadPrevious: options.reloadPrevious\n });\n \n // Navbar init event\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, options.reload ? reloadPosition : 'right');\n }\n \n if (options.reload) {\n view.allowPageChange = true;\n if (historyBecameUnique) view.refreshPreviousPage();\n return;\n }\n \n if (dynamicNavbar && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'right');\n }\n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n // Before Anim Callback\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n function afterAnimation() {\n view.allowPageChange = true;\n newPage.removeClass('page-from-right-to-center page-on-right page-on-left').addClass('page-on-center');\n oldPage.removeClass('page-from-center-to-left page-on-center page-on-right').addClass('page-on-left');\n if (dynamicNavbar) {\n newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-left navbar-on-right').addClass('navbar-on-center');\n oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center navbar-on-right').addClass('navbar-on-left');\n }\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n if (app.params.pushState && view.main) app.pushStateClearQueue();\n if (!(view.params.swipeBackPage || view.params.preloadPreviousPage)) {\n if (view.params.domCache) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n if (!(url.indexOf('#') === 0 && newPage.attr('data-page').indexOf('smart-select-') === 0)) {\n app.pageRemoveCallback(view, oldPage[0], 'left');\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n }\n if (view.params.uniqueHistory && historyBecameUnique) {\n view.refreshPreviousPage();\n }\n }\n if (animatePages) {\n // Set pages before animation\n if (app.params.material && app.params.materialPageLoadDelay) {\n setTimeout(function () {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }, app.params.materialPageLoadDelay);\n }\n else {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function() {\n app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view);\n }, 0);\n }\n newPage.animationEnd(function (e) {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n \n };\n \n app.router.load = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var template = options.template;\n if (view.params.reloadPages === true) options.reload = true;\n \n if (!view.allowPageChange) return false;\n if (url && view.url === url && !options.reload && !view.params.allowDuplicateUrls) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._load(view, options);\n });\n }\n if (content || pageName || pageElement) {\n proceed(content);\n return;\n }\n else if (template) {\n app.router._load(view, options);\n return;\n }\n \n if (!options.url || options.url === '#') {\n view.allowPageChange = true;\n return;\n }\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n };\n \n app.router._back = function (view, options) {\n options = options || {};\n var url = options.url,\n content = options.content,\n t7_rendered = {content: options.content}, // will be rendered using Template7\n template = options.template, // Template 7 compiled template\n animatePages = options.animatePages,\n preloadOnly = options.preloadOnly,\n pushState = options.pushState,\n ignoreCache = options.ignoreCache,\n force = options.force,\n pageName = options.pageName,\n pageElement = options.pageElement;\n \n var viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n pagesInView = pagesContainer.children('.page:not(.cached)'),\n oldPage, newPage, oldNavbarInner, newNavbarInner, navbar, navbarInners, dynamicNavbar, manipulateDom = true;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n app.pluginHook('routerBack', view, options);\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n // Animation\n function afterAnimation() {\n app.pageBackCallback('after', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n app.router.afterBack(view, oldPage[0], newPage[0]);\n }\n function animateBack() {\n // Page before animation callback\n app.pageBackCallback('before', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n if (animatePages) {\n // Set pages before animation\n app.router.animatePages(newPage, oldPage, 'to-right', view);\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function () {\n app.router.animateNavbars(newNavbarInner, oldNavbarInner, 'to-right', view);\n }, 0);\n }\n \n newPage.animationEnd(function () {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n }\n \n function parseNewPage() {\n app.router.temporaryDom.innerHTML = '';\n // Parse DOM\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n \n if (view.params.dynamicNavbar) {\n // Find navbar\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n }\n function setPages() {\n // If pages not found or there are still more than one, exit\n if (!newPage || newPage.length === 0) {\n view.allowPageChange = true;\n return;\n }\n if (view.params.dynamicNavbar && typeof dynamicNavbar === 'undefined') {\n if (!newNavbarInner || newNavbarInner.length === 0) {\n dynamicNavbar = false;\n }\n else {\n dynamicNavbar = true;\n }\n }\n \n newPage.addClass('page-on-left').removeClass('cached');\n if (dynamicNavbar) {\n navbar = viewContainer.children('.navbar');\n navbarInners = navbar.find('.navbar-inner:not(.cached)');\n newNavbarInner.addClass('navbar-on-left').removeClass('cached');\n }\n // Remove/hide previous page in force mode\n if (force) {\n var pageToRemove, navbarToRemove;\n pageToRemove = $(pagesInView[pagesInView.length - 2]);\n \n if (dynamicNavbar) navbarToRemove = $(pageToRemove[0] && pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]);\n if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) {\n if (pageToRemove.length && pageToRemove[0] !== newPage[0]) pageToRemove.addClass('cached');\n if (dynamicNavbar && navbarToRemove.length && navbarToRemove[0] !== newNavbarInner[0]) {\n navbarToRemove.addClass('cached');\n }\n }\n else {\n var removeNavbar = dynamicNavbar && navbarToRemove.length;\n if (pageToRemove.length) {\n app.pageRemoveCallback(view, pageToRemove[0], 'right');\n if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n }\n app.router._remove(pageToRemove);\n if (removeNavbar) app.router._remove(navbarToRemove);\n }\n else if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n app.router._remove(navbarToRemove);\n }\n }\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (dynamicNavbar) {\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n }\n if (view.history.indexOf(url) >= 0) {\n view.history = view.history.slice(0, view.history.indexOf(url) + 2);\n }\n else {\n if (view.history[[view.history.length - 2]]) {\n view.history[view.history.length - 2] = url;\n }\n else {\n view.history.unshift(url);\n }\n }\n }\n \n oldPage = $(pagesInView[pagesInView.length - 1]);\n if (view.params.domCache) {\n if (oldPage[0] === newPage[0]) {\n oldPage = pagesContainer.children('.page.page-on-center');\n if (oldPage.length === 0 && view.activePage) oldPage = $(view.activePage.container);\n }\n }\n \n if (dynamicNavbar && !oldNavbarInner) {\n oldNavbarInner = $(navbarInners[navbarInners.length - 1]);\n if (view.params.domCache) {\n if (oldNavbarInner[0] === newNavbarInner[0]) {\n oldNavbarInner = navbar.children('.navbar-inner.navbar-on-center:not(.cached)');\n }\n if (oldNavbarInner.length === 0) {\n oldNavbarInner = navbar.children('.navbar-inner[data-page=\"'+oldPage.attr('data-page')+'\"]');\n }\n }\n if (oldNavbarInner.length === 0 || newNavbarInner[0] === oldNavbarInner[0]) dynamicNavbar = false;\n }\n \n if (dynamicNavbar) {\n if (manipulateDom) newNavbarInner.insertBefore(oldNavbarInner);\n newNavbarInner[0].f7RelatedPage = newPage[0];\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n }\n if (manipulateDom) newPage.insertBefore(oldPage);\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n preloadOnly: preloadOnly\n });\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, 'right');\n }\n \n if (dynamicNavbar && newNavbarInner.hasClass('navbar-on-left') && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'left');\n }\n \n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n \n // Update View's URL\n view.url = url;\n \n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n animateBack();\n \n // Push state\n if (app.params.pushState && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n if (!preloadOnly && history.state && pushState) {\n history.back();\n }\n }\n return;\n }\n \n // Simple go back when we have pages on left\n if (pagesInView.length > 1 && !force) {\n // Exit if only preloadOnly\n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n // Update View's URL\n view.url = view.history[view.history.length - 2];\n url = view.url;\n \n // Define old and new pages\n newPage = $(pagesInView[pagesInView.length - 2]);\n oldPage = $(pagesInView[pagesInView.length - 1]);\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n newNavbarInner = $(navbarInners[0]);\n oldNavbarInner = $(navbarInners[1]);\n if (newNavbarInner.length === 0 || oldNavbarInner.length === 0 || oldNavbarInner[0] === newNavbarInner[0]) {\n dynamicNavbar = false;\n }\n }\n manipulateDom = false;\n setPages();\n return;\n }\n \n if (!force) {\n // Go back when there is no pages on left\n if (!preloadOnly) {\n view.url = view.history[view.history.length - 2];\n url = view.url;\n }\n \n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName) {\n // Get dom cached pages\n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n newPage = view.pageElementsCache[url].page;\n newNavbarInner = view.pageElementsCache[url].navbarInner;\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n else {\n if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) {\n view.allowPageChange = true;\n return;\n }\n // Go back with force url\n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName && view.params.domCache) {\n if (pageName) url = '#' + pageName;\n \n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (newPage[0].f7PageData && newPage[0].f7PageData.url) {\n url = newPage[0].f7PageData.url;\n }\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (pageElement && url) {\n newPage = $(pageElement);\n if (view.params.dynamicNavbar) {\n newNavbarInner = newPage.find('.navbar-inner');\n if (newNavbarInner.length > 0) {\n newPage.prepend(newNavbarInner);\n app.router._remove(newPage.find('.navbar'));\n }\n }\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n \n };\n app.router.back = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options, true)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var force = options.force;\n if (!view.allowPageChange) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n var pagesInView = $(view.pagesContainer).find('.page:not(.cached)');\n \n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._back(view, options);\n });\n }\n if (pagesInView.length > 1 && !force) {\n // Simple go back to previos page in view\n app.router._back(view, options);\n return;\n }\n if (!force) {\n url = view.history[view.history.length - 2] || options.url;\n if (!options.url) options.url = url;\n if (!url) {\n view.allowPageChange = true;\n return;\n }\n if (url.indexOf('#') === 0 && view.contentCache[url]) {\n proceed(view.contentCache[url]);\n return;\n }\n else if (url.indexOf('#') === 0 && view.params.domCache) {\n if (!pageName) options.pageName = url.split('#')[1];\n proceed();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n proceed();\n }\n else if (url.indexOf('#') !== 0) {\n // Load ajax page\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n else {\n // Go back with force url\n if (!url && content) {\n proceed(content);\n return;\n }\n else if (!url && pageName) {\n if (pageName) url = '#' + pageName;\n proceed();\n return;\n }\n else if (url && pageElement) {\n proceed();\n return;\n }\n else if (url) {\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n view.allowPageChange = true;\n return;\n };\n \n app.router.afterBack = function (view, oldPage, newPage) {\n // Remove old page and set classes on new one\n oldPage = $(oldPage);\n newPage = $(newPage);\n \n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.removeClass('page-from-center-to-right').addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], 'right');\n app.router._remove(oldPage);\n }\n \n newPage.removeClass('page-from-left-to-center page-on-left').addClass('page-on-center');\n view.allowPageChange = true;\n \n // Update View's History\n var previousURL = view.history.pop();\n \n var newNavbar;\n \n // Updated dynamic navbar\n if (view.params.dynamicNavbar) {\n var inners = $(view.container).children('.navbar').find('.navbar-inner:not(.cached)');\n var oldNavbar = $(oldPage[0].f7RelatedNavbar || inners[1]);\n if (view.params.domCache && view.initialNavbars.indexOf(oldNavbar[0]) >= 0) {\n oldNavbar.removeClass('navbar-from-center-to-right').addClass('cached');\n }\n else {\n app.navbarRemoveCallback(view, oldPage[0], undefined, oldNavbar[0]);\n app.router._remove(oldNavbar);\n }\n newNavbar = $(inners[0]).removeClass('navbar-on-left navbar-from-left-to-center').addClass('navbar-on-center');\n }\n \n // Remove pages in dom cache\n if (view.params.domCache) {\n $(view.container).find('.page.cached').each(function () {\n var page = $(this);\n var index = page.index();\n var pageUrl = page[0].f7PageData && page[0].f7PageData.url;\n if (pageUrl && view.history.indexOf(pageUrl) < 0 && view.initialPages.indexOf(this) < 0) {\n app.pageRemoveCallback(view, page[0], 'right');\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.navbarRemoveCallback(view, page[0], undefined, page[0].f7RelatedNavbar);\n app.router._remove(page);\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.router._remove(page[0].f7RelatedNavbar);\n }\n });\n }\n \n // Check previous page is content based only and remove it from content cache\n if (!view.params.domCache &&\n previousURL &&\n previousURL.indexOf('#') > -1 &&\n (previousURL in view.contentCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contentCache[previousURL] = null;\n delete view.contentCache[previousURL];\n }\n if (previousURL &&\n (previousURL in view.pageElementsCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.pageElementsCache[previousURL] = null;\n delete view.pageElementsCache[previousURL];\n }\n // Check for context cache\n if (previousURL &&\n (previousURL in view.contextCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contextCache[previousURL] = null;\n delete view.contextCache[previousURL];\n }\n \n if (app.params.pushState && view.main) app.pushStateClearQueue();\n \n // Preload previous page\n if (view.params.preloadPreviousPage) {\n if (view.params.domCache && view.history.length > 1) {\n var preloadUrl = view.history[view.history.length - 2];\n var previousPage;\n var previousNavbar;\n if (preloadUrl && view.pagesCache[preloadUrl]) {\n // Load by page name\n previousPage = $(view.container).find('.page[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if (previousPage.next('.page')[0] !== newPage[0]) previousPage.insertBefore(newPage);\n if (newNavbar) {\n previousNavbar = $(view.container).children('.navbar').find('.navbar-inner[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n if (previousNavbar.next('.navbar-inner')[0] !== newNavbar[0]) previousNavbar.insertBefore(newNavbar);\n }\n }\n else {\n // Just load previous page\n previousPage = newPage.prev('.page.cached');\n if (newNavbar) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n }\n if (previousPage && previousPage.length > 0) previousPage.removeClass('cached page-on-right page-on-center').addClass('page-on-left');\n if (previousNavbar && previousNavbar.length > 0) previousNavbar.removeClass('cached navbar-on-right navbar-on-center').addClass('navbar-on-left');\n }\n else {\n app.router.back(view, {preloadOnly: true});\n }\n }\n };\n \n"," /*======================================================\n ************ Modals ************\n ======================================================*/\n var _modalTemplateTempDiv = document.createElement('div');\n app.modalStack = [];\n app.modalStackClearQueue = function () {\n if (app.modalStack.length) {\n (app.modalStack.shift())();\n }\n };\n app.modal = function (params) {\n params = params || {};\n var modalHTML = '';\n if (app.params.modalTemplate) {\n if (!app._compiledTemplates.modal) app._compiledTemplates.modal = t7.compile(app.params.modalTemplate);\n modalHTML = app._compiledTemplates.modal(params);\n }\n else {\n var buttonsHTML = '';\n if (params.buttons && params.buttons.length > 0) {\n for (var i = 0; i < params.buttons.length; i++) {\n buttonsHTML += '' + params.buttons[i].text + '';\n }\n }\n var titleHTML = params.title ? '
                ' + params.title + '
                ' : '';\n var textHTML = params.text ? '
                ' + params.text + '
                ' : '';\n var afterTextHTML = params.afterText ? params.afterText : '';\n var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : '';\n var verticalButtons = params.verticalButtons ? 'modal-buttons-vertical': '';\n var modalButtonsHTML = params.buttons && params.buttons.length > 0 ? '
                ' + buttonsHTML + '
                ' : '';\n modalHTML = '
                ' + (titleHTML + textHTML + afterTextHTML) + '
                ' + modalButtonsHTML + '
                ';\n }\n \n _modalTemplateTempDiv.innerHTML = modalHTML;\n \n var modal = $(_modalTemplateTempDiv).children();\n \n app.root.append(modal[0]);\n \n // Add events on buttons\n modal.find('.modal-button').each(function (index, el) {\n $(el).on('click', function (e) {\n if (params.buttons[index].close !== false) app.closeModal(modal);\n if (params.buttons[index].onClick) params.buttons[index].onClick(modal, e);\n if (params.onClick) params.onClick(modal, index);\n });\n });\n app.openModal(modal);\n return modal[0];\n };\n app.alert = function (text, title, callbackOk) {\n if (typeof title === 'function') {\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [ {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} ]\n });\n };\n app.confirm = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [\n {text: app.params.modalButtonCancel, onClick: callbackCancel},\n {text: app.params.modalButtonOk, bold: true, onClick: callbackOk}\n ]\n });\n };\n app.prompt = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
                ',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n if (index === 0 && callbackCancel) callbackCancel($(modal).find('.modal-text-input').val());\n if (index === 1 && callbackOk) callbackOk($(modal).find('.modal-text-input').val());\n }\n });\n };\n app.modalLogin = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
                ',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var username = $(modal).find('.modal-text-input[name=\"modal-username\"]').val();\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(username, password);\n if (index === 1 && callbackOk) callbackOk(username, password);\n }\n });\n };\n app.modalPassword = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
                ',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(password);\n if (index === 1 && callbackOk) callbackOk(password);\n }\n });\n };\n app.showPreloader = function (title) {\n return app.modal({\n title: title || app.params.modalPreloaderTitle,\n text: '
                ' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
                ',\n cssClass: 'modal-preloader'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n if ($('.preloader-indicator-overlay').length > 0) return;\n app.root.append('
                ' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
                ');\n };\n app.hideIndicator = function () {\n $('.preloader-indicator-overlay, .preloader-indicator-modal').remove();\n };\n // Action Sheet\n app.actions = function (target, params) {\n var toPopover = false, modal, groupSelector, buttonSelector;\n if (arguments.length === 1) {\n // Actions\n params = target;\n }\n else {\n // Popover\n if (app.device.ios) {\n if (app.device.ipad) toPopover = true;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n params = params || [];\n \n if (params.length > 0 && !$.isArray(params[0])) {\n params = [params];\n }\n var modalHTML;\n if (toPopover) {\n var actionsToPopoverTemplate = app.params.modalActionsToPopoverTemplate ||\n '
                ' +\n '
                ' +\n '{{#each this}}' +\n '
                ' +\n '
                  ' +\n '{{#each this}}' +\n '{{#if label}}' +\n '
                • {{text}}
                • ' +\n '{{else}}' +\n '
                • {{text}}
                • ' +\n '{{/if}}' +\n '{{/each}}' +\n '
                ' +\n '
                ' +\n '{{/each}}' +\n '
                ' +\n '
                ';\n if (!app._compiledTemplates.actionsToPopover) {\n app._compiledTemplates.actionsToPopover = t7.compile(actionsToPopoverTemplate);\n }\n var popoverHTML = app._compiledTemplates.actionsToPopover(params);\n modal = $(app.popover(popoverHTML, target, true));\n groupSelector = '.list-block ul';\n buttonSelector = '.list-button';\n }\n else {\n if (app.params.modalActionsTemplate) {\n if (!app._compiledTemplates.actions) app._compiledTemplates.actions = t7.compile(app.params.modalActionsTemplate);\n modalHTML = app._compiledTemplates.actions(params);\n }\n else {\n var buttonsHTML = '';\n for (var i = 0; i < params.length; i++) {\n for (var j = 0; j < params[i].length; j++) {\n if (j === 0) buttonsHTML += '
                ';\n var button = params[i][j];\n var buttonClass = button.label ? 'actions-modal-label' : 'actions-modal-button';\n if (button.bold) buttonClass += ' actions-modal-button-bold';\n if (button.color) buttonClass += ' color-' + button.color;\n if (button.bg) buttonClass += ' bg-' + button.bg;\n if (button.disabled) buttonClass += ' disabled';\n buttonsHTML += '
                ' + button.text + '
                ';\n if (j === params[i].length - 1) buttonsHTML += '
                ';\n }\n }\n modalHTML = '
                ' + buttonsHTML + '
                ';\n }\n _modalTemplateTempDiv.innerHTML = modalHTML;\n modal = $(_modalTemplateTempDiv).children();\n app.root.append(modal[0]);\n groupSelector = '.actions-modal-group';\n buttonSelector = '.actions-modal-button';\n }\n \n var groups = modal.find(groupSelector);\n groups.each(function (index, el) {\n var groupIndex = index;\n $(el).children().each(function (index, el) {\n var buttonIndex = index;\n var buttonParams = params[groupIndex][buttonIndex];\n var clickTarget;\n if (!toPopover && $(el).is(buttonSelector)) clickTarget = $(el);\n if (toPopover && $(el).find(buttonSelector).length > 0) clickTarget = $(el).find(buttonSelector);\n \n if (clickTarget) {\n clickTarget.on('click', function (e) {\n if (buttonParams.close !== false) app.closeModal(modal);\n if (buttonParams.onClick) buttonParams.onClick(modal, e);\n });\n }\n });\n });\n if (!toPopover) app.openModal(modal);\n return modal[0];\n };\n app.popover = function (modal, target, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n target = $(target);\n if (modal.length === 0 || target.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if (modal.find('.popover-angle').length === 0 && !app.params.material) {\n modal.append('
                ');\n }\n modal.show();\n \n var material = app.params.material;\n \n function sizePopover() {\n modal.css({left: '', top: ''});\n var modalWidth = modal.width();\n var modalHeight = modal.height(); // 13 - height of angle\n var modalAngle, modalAngleSize = 0, modalAngleLeft, modalAngleTop;\n if (!material) {\n modalAngle = modal.find('.popover-angle');\n modalAngleSize = modalAngle.width() / 2;\n modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''});\n }\n else {\n modal.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom').css({left: '', top: ''});\n }\n \n var targetWidth = target.outerWidth();\n var targetHeight = target.outerHeight();\n var targetOffset = target.offset();\n var targetParentPage = target.parents('.page');\n if (targetParentPage.length > 0) {\n targetOffset.top = targetOffset.top - targetParentPage[0].scrollTop;\n }\n \n var windowHeight = $(window).height();\n var windowWidth = $(window).width();\n \n var modalTop = 0;\n var modalLeft = 0;\n var diff = 0;\n // Top Position\n var modalPosition = material ? 'bottom' : 'top';\n if (material) {\n if (modalHeight < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n else if (modalHeight < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight + targetHeight;\n modalPosition = 'top';\n }\n else {\n // On middle\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n \n if (modalTop <= 0) {\n modalTop = 8;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 8;\n }\n \n // Horizontal Position\n modalLeft = targetOffset.left;\n if (modalLeft + modalWidth >= windowWidth - 8) {\n modalLeft = targetOffset.left + targetWidth - modalWidth - 8;\n }\n if (modalLeft < 8) {\n modalLeft = 8;\n }\n if (modalPosition === 'top') {\n modal.addClass('popover-on-top');\n }\n if (modalPosition === 'bottom') {\n modal.addClass('popover-on-bottom');\n }\n if (target.hasClass('floating-button-to-popover') && !modal.hasClass('modal-in')) {\n modal.addClass('popover-floating-button');\n var diffX = (modalLeft + modalWidth / 2) - (targetOffset.left + targetWidth / 2),\n diffY = (modalTop + modalHeight / 2) - (targetOffset.top + targetHeight / 2);\n target\n .addClass('floating-button-to-popover-in')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0)')\n .transitionEnd(function (e) {\n if (!target.hasClass('floating-button-to-popover-in')) return;\n target\n .addClass('floating-button-to-popover-scale')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0) scale(' + (modalWidth/targetWidth) + ', ' + (modalHeight/targetHeight) + ')');\n });\n \n modal.once('close', function () {\n target\n .removeClass('floating-button-to-popover-in floating-button-to-popover-scale')\n .addClass('floating-button-to-popover-out')\n .transform('')\n .transitionEnd(function (e) {\n target.removeClass('floating-button-to-popover-out');\n });\n });\n modal.once('closed', function () {\n modal.removeClass('popover-floating-button');\n });\n }\n \n }\n else {\n if ((modalHeight + modalAngleSize) < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight - modalAngleSize;\n }\n else if ((modalHeight + modalAngleSize) < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top + targetHeight + modalAngleSize;\n }\n else {\n // On middle\n modalPosition = 'middle';\n modalTop = targetHeight / 2 + targetOffset.top - modalHeight / 2;\n diff = modalTop;\n if (modalTop <= 0) {\n modalTop = 5;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 5;\n }\n diff = diff - modalTop;\n }\n \n // Horizontal Position\n if (modalPosition === 'top' || modalPosition === 'bottom') {\n modalLeft = targetWidth / 2 + targetOffset.left - modalWidth / 2;\n diff = modalLeft;\n if (modalLeft < 5) modalLeft = 5;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n if (modalPosition === 'top') {\n modalAngle.addClass('on-bottom');\n }\n if (modalPosition === 'bottom') {\n modalAngle.addClass('on-top');\n }\n diff = diff - modalLeft;\n modalAngleLeft = (modalWidth / 2 - modalAngleSize + diff);\n modalAngleLeft = Math.max(Math.min(modalAngleLeft, modalWidth - modalAngleSize * 2 - 13), 13);\n modalAngle.css({left: modalAngleLeft + 'px'});\n \n }\n else if (modalPosition === 'middle') {\n modalLeft = targetOffset.left - modalWidth - modalAngleSize;\n modalAngle.addClass('on-right');\n if (modalLeft < 5 || (modalLeft + modalWidth > windowWidth)) {\n if (modalLeft < 5) modalLeft = targetOffset.left + targetWidth + modalAngleSize;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n modalAngle.removeClass('on-right').addClass('on-left');\n }\n modalAngleTop = (modalHeight / 2 - modalAngleSize + diff);\n modalAngleTop = Math.max(Math.min(modalAngleTop, modalHeight - modalAngleSize * 2 - 13), 13);\n modalAngle.css({top: modalAngleTop + 'px'});\n }\n }\n \n \n // Apply Styles\n modal.css({top: modalTop + 'px', left: modalLeft + 'px'});\n }\n \n sizePopover();\n \n $(window).on('resize', sizePopover);\n \n modal.on('close', function () {\n $(window).off('resize', sizePopover);\n });\n \n app.openModal(modal);\n return modal[0];\n };\n app.popup = function (modal, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n modal.show();\n \n app.openModal(modal);\n return modal[0];\n };\n app.pickerModal = function (modal, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n modal = $(modal);\n if (modal.length > 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if ($('.picker-modal.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.picker-modal.modal-in:not(.modal-out)');\n }\n modal.show();\n app.openModal(modal);\n return modal[0];\n };\n app.loginScreen = function (modal) {\n if (!modal) modal = '.login-screen';\n modal = $(modal);\n if (modal.length === 0) return false;\n if ($('.login-screen.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.login-screen.modal-in:not(.modal-out)');\n }\n modal.show();\n \n app.openModal(modal);\n return modal[0];\n };\n app.openModal = function (modal) {\n modal = $(modal);\n var isModal = modal.hasClass('modal');\n if ($('.modal.modal-in:not(.modal-out)').length && app.params.modalStack && isModal) {\n app.modalStack.push(function () {\n app.openModal(modal);\n });\n return;\n }\n // do nothing if this modal already shown\n if (true === modal.data('f7-modal-shown')) {\n return;\n }\n modal.data('f7-modal-shown', true);\n modal.once('close', function() {\n modal.removeData('f7-modal-shown');\n });\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n if (isModal) {\n modal.show();\n modal.css({\n marginTop: - Math.round(modal.outerHeight() / 2) + 'px'\n });\n }\n \n var overlay;\n if (!isLoginScreen && !isPickerModal) {\n if ($('.modal-overlay').length === 0 && !isPopup) {\n app.root.append('
                ');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n app.root.append('
                ');\n }\n overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\n }\n if (app.params.material && isPickerModal) {\n if (modal.hasClass('picker-calendar')) {\n if ($('.picker-modal-overlay').length === 0 && !isPopup) {\n app.root.append('
                ');\n }\n overlay = $('.picker-modal-overlay');\n }\n }\n \n //Make sure that styles are applied, trigger relayout;\n var clientLeft = modal[0].clientLeft;\n \n // Trugger open event\n modal.trigger('open');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').addClass('with-picker-modal');\n }\n \n // Init Pages and Navbars in modal\n if (modal.find('.' + app.params.viewClass).length > 0) {\n modal.find('.page').each(function () {\n app.initPageWithCallback(this);\n });\n modal.find('.navbar').each(function () {\n app.initNavbarWithCallback(this); \n });\n }\n \n // Classes for transition in\n if (!isLoginScreen && !isPickerModal) overlay.addClass('modal-overlay-visible');\n if (app.params.material && isPickerModal && overlay) overlay.addClass('modal-overlay-visible');\n modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed');\n else modal.trigger('opened');\n });\n return true;\n };\n app.closeModal = function (modal) {\n modal = $(modal || '.modal-in');\n if (typeof modal !== 'undefined' && modal.length === 0) {\n return;\n }\n var isModal = modal.hasClass('modal');\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n \n var removeOnClose = modal.hasClass('remove-on-close');\n \n var overlay;\n \n if (isPopup) overlay = $('.popup-overlay');\n else {\n if (isPickerModal && app.params.material) overlay = $('.picker-modal-overlay');\n else if (!isPickerModal) overlay = $('.modal-overlay');\n }\n \n if (isPopup){\n if (modal.length === $('.popup.modal-in').length) {\n overlay.removeClass('modal-overlay-visible');\n }\n }\n else if (overlay && overlay.length > 0) {\n overlay.removeClass('modal-overlay-visible');\n }\n \n modal.trigger('close');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').removeClass('with-picker-modal');\n $('body').addClass('picker-modal-closing');\n }\n \n if (!(isPopover && !app.params.material)) {\n modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed');\n else {\n modal.trigger('opened');\n if (isPopover) return;\n }\n \n if (isPickerModal) {\n $('body').removeClass('picker-modal-closing');\n }\n if (isPopup || isLoginScreen || isPickerModal || isPopover) {\n modal.removeClass('modal-out').hide();\n if (removeOnClose && modal.length > 0) {\n modal.remove();\n }\n }\n else {\n modal.remove();\n }\n });\n if (isModal && app.params.modalStack) {\n app.modalStackClearQueue();\n }\n }\n else {\n modal.removeClass('modal-in modal-out').trigger('closed').hide();\n if (removeOnClose) {\n modal.remove();\n }\n }\n return true;\n };\n \n"," /*===============================================================================\n ************ Progress Bar ************\n ===============================================================================*/\n app.setProgressbar = function (container, progress, speed) {\n container = $(container || app.root);\n if (container.length === 0) return;\n if (progress) progress = Math.min(Math.max(progress, 0), 100);\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar');\n }\n if (progressbar.length === 0 || progressbar.hasClass('progressbar-infinite')) return;\n var clientLeft = progressbar[0].clientLeft;\n progressbar.children('span').transform('translate3d(' + (-100 + progress) + '%,0,0)');\n if (typeof speed !== 'undefined') {\n progressbar.children('span').transition(speed);\n }\n else {\n progressbar.children('span').transition('');\n }\n return progressbar[0];\n };\n app.showProgressbar = function (container, progress, color) {\n if (typeof container === 'number') {\n container = app.root;\n progress = arguments[0];\n color = arguments[1];\n }\n if (progress && typeof progress === 'string' && parseFloat(progress) !== progress * 1) {\n color = progress;\n progress = undefined;\n }\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)');\n if (progressbar.length === 0) {\n // Create one\n if (typeof progress !== 'undefined') {\n // Determined\n progressbar = $('');\n }\n else {\n // Infinite\n progressbar = $('');\n }\n container.append(progressbar);\n }\n }\n if (progress) app.setProgressbar(container, progress);\n return progressbar[0];\n };\n app.hideProgressbar = function (container) {\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar, .progressbar-infinite');\n }\n if (progressbar.length === 0 || !progressbar.hasClass('progressbar-in') || progressbar.hasClass('progressbar-out')) return;\n progressbar.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () {\n progressbar.remove();\n progressbar = null;\n });\n return;\n };\n app.initPageProgressbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n pageContainer.find('.progressbar').each(function () {\n var p = $(this);\n if (p.children('span').length === 0) p.append('');\n if (p.attr('data-progress')) app.setProgressbar(p, p.attr('data-progress'));\n });\n };\n"," /*======================================================\n ************ Panels ************\n ======================================================*/\n app.allowPanelOpen = true;\n app.openPanel = function (panelPosition) {\n if (!app.allowPanelOpen) return false;\n var panel = $('.panel-' + panelPosition);\n if (panel.length === 0 || panel.hasClass('active')) return false;\n app.closePanel(); // Close if some panel is opened\n app.allowPanelOpen = false;\n var effect = panel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n panel.css({display: 'block'}).addClass('active');\n panel.trigger('open');\n if (app.params.material) {\n $('.panel-overlay').show();\n }\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n \n // Trigger reLayout\n var clientLeft = panel[0].clientLeft;\n \n // Transition End;\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : panel;\n var openedTriggered = false;\n \n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if ($(e.target).is(transitionEndTarget)) {\n if (panel.hasClass('active')) {\n panel.trigger('opened');\n }\n else {\n panel.trigger('closed');\n }\n if (app.params.material) $('.panel-overlay').css({display: ''});\n app.allowPanelOpen = true;\n }\n else panelTransitionEnd();\n });\n }\n panelTransitionEnd();\n \n $('body').addClass('with-panel-' + panelPosition + '-' + effect);\n return true;\n };\n app.closePanel = function () {\n var activePanel = $('.panel.active');\n if (activePanel.length === 0) return false;\n var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right';\n activePanel.removeClass('active');\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel;\n activePanel.trigger('close');\n app.allowPanelOpen = false;\n \n transitionEndTarget.transitionEnd(function () {\n if (activePanel.hasClass('active')) return;\n activePanel.css({display: ''});\n activePanel.trigger('closed');\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n \n $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect);\n };\n /*======================================================\n ************ Swipe panels ************\n ======================================================*/\n app.initSwipePanels = function () {\n var panel, side;\n if (app.params.swipePanel) {\n panel = $('.panel.panel-' + app.params.swipePanel);\n side = app.params.swipePanel;\n if (panel.length === 0 && side !== 'both') return;\n }\n else {\n if (app.params.swipePanelOnlyClose) {\n if ($('.panel').length === 0) return;\n }\n else return;\n }\n \n var panelOverlay = $('.panel-overlay');\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, overlayOpacity, opened, panelWidth, effect, direction;\n var views = $('.' + app.params.viewsClass);\n \n function handleTouchStart(e) {\n if (!app.allowPanelOpen || (!app.params.swipePanel && !app.params.swipePanelOnlyClose) || isTouched) return;\n if ($('.modal-in, .photo-browser-in').length > 0) return;\n if (!(app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose)) {\n if ($('.panel.active').length > 0 && !panel.hasClass('active')) return;\n }\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n if (app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose) {\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n if (app.params.swipePanelOnlyClose) return;\n side = app.params.swipePanel;\n }\n if (!side) return;\n }\n panel = $('.panel.panel-' + side);\n opened = panel.hasClass('active');\n if (app.params.swipePanelActiveArea && !opened) {\n if (side === 'left') {\n if (touchesStart.x > app.params.swipePanelActiveArea) return;\n }\n if (side === 'right') {\n if (touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) return;\n }\n }\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n \n touchStartTime = (new Date()).getTime();\n direction = undefined;\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n if (e.f7PreventPanelSwipe) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n if (!direction) {\n if (pageX > touchesStart.x) {\n direction = 'to-right';\n }\n else {\n direction = 'to-left';\n }\n \n if(side === 'both'){\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n side = direction === 'to-right' ? 'left' : 'right';\n }\n panel = $('.panel.panel-' + side);\n }\n \n if (\n side === 'left' &&\n (\n direction === 'to-left' && !panel.hasClass('active')\n ) ||\n side === 'right' &&\n (\n direction === 'to-right' && !panel.hasClass('active')\n )\n )\n {\n isTouched = false;\n return;\n }\n }\n \n if (app.params.swipePanelNoFollow) {\n var timeDiff = (new Date()).getTime() - touchStartTime;\n if (timeDiff < 300) {\n if (direction === 'to-left') {\n if (side === 'right') app.openPanel(side);\n if (side === 'left' && panel.hasClass('active')) app.closePanel();\n }\n if (direction === 'to-right') {\n if (side === 'left') app.openPanel(side);\n if (side === 'right' && panel.hasClass('active')) app.closePanel();\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n \n if (!isMoved) {\n effect = panel.hasClass('panel-cover') ? 'cover' : 'reveal';\n if (!opened) {\n panel.show();\n panelOverlay.show();\n }\n panelWidth = panel[0].offsetWidth;\n panel.transition(0);\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n }\n \n isMoved = true;\n \n e.preventDefault();\n var threshold = opened ? 0 : -app.params.swipePanelThreshold;\n if (side === 'right') threshold = -threshold;\n \n touchesDiff = pageX - touchesStart.x + threshold;\n \n if (side === 'right') {\n translate = touchesDiff - (opened ? panelWidth : 0);\n if (translate > 0) translate = 0;\n if (translate < -panelWidth) {\n translate = -panelWidth;\n }\n }\n else {\n translate = touchesDiff + (opened ? panelWidth : 0);\n if (translate < 0) translate = 0;\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n }\n if (effect === 'reveal') {\n views.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n panelOverlay.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n \n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n else {\n panel.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n if (app.params.material) {\n panelOverlay.transition(0);\n overlayOpacity = Math.abs(translate/panelWidth);\n panelOverlay.css({opacity: overlayOpacity});\n }\n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action;\n var edge = (translate === 0 || Math.abs(translate) === panelWidth);\n \n if (!opened) {\n if (translate === 0) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) > 0 ||\n timeDiff >= 300 && (Math.abs(translate) >= panelWidth / 2)\n ) {\n action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n else {\n if (translate === -panelWidth) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) >= 0 ||\n timeDiff >= 300 && (Math.abs(translate) <= panelWidth / 2)\n ) {\n if (side === 'left' && translate === panelWidth) action = 'reset';\n else action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n if (action === 'swap') {\n app.allowPanelOpen = true;\n if (opened) {\n app.closePanel();\n if (edge) {\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n }\n }\n else {\n app.openPanel(side);\n }\n if (edge) app.allowPanelOpen = true;\n }\n if (action === 'reset') {\n if (opened) {\n app.allowPanelOpen = true;\n app.openPanel(side);\n }\n else {\n app.closePanel();\n if (edge) {\n app.allowPanelOpen = true;\n panel.css({display: ''});\n }\n else {\n var target = effect === 'reveal' ? views : panel;\n panel.trigger('close');\n $('body').addClass('panel-closing');\n target.transitionEnd(function () {\n panel.trigger('closed');\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n }\n }\n }\n if (effect === 'reveal') {\n views.transition('');\n views.transform('');\n }\n panel.transition('').transform('');\n panelOverlay.css({display: ''}).transform('').transition('').css('opacity', '');\n }\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n $(document).on(app.touchEvents.start, handleTouchStart, passiveListener);\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd, passiveListener);\n };\n \n"," /*======================================================\n ************ Image Lazy Loading ************\n ************ Based on solution by Marc Godard, https://github.com/MarcGodard ************\n ======================================================*/\n app.initImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n \n // Lazy images\n var lazyLoadImages;\n if (pageContainer.hasClass('lazy')) {\n lazyLoadImages = pageContainer;\n pageContainer = lazyLoadImages.parents('.page');\n }\n else {\n lazyLoadImages = pageContainer.find('.lazy');\n }\n if (lazyLoadImages.length === 0) return;\n \n // Scrollable page content\n var pageContent;\n if (pageContainer.hasClass('page-content')) {\n pageContent = pageContainer;\n pageContainer = pageContainer.parents('.page');\n }\n else {\n pageContent = pageContainer.find('.page-content');\n }\n if (pageContent.length === 0) return;\n \n // Placeholder\n var placeholderSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';\n if (typeof app.params.imagesLazyLoadPlaceholder === 'string') {\n placeholderSrc = app.params.imagesLazyLoadPlaceholder;\n }\n if (app.params.imagesLazyLoadPlaceholder !== false) lazyLoadImages.each(function(){\n if ($(this).attr('data-src')) $(this).attr('src', placeholderSrc);\n });\n \n // load image\n var imagesSequence = [];\n var imageIsLoading = false;\n function loadImage(el) {\n el = $(el);\n \n var bg = el.attr('data-background');\n var src = bg ? bg : el.attr('data-src');\n if (!src) return;\n \n function onLoad() {\n el.removeClass('lazy').addClass('lazy-loaded');\n if (bg) {\n el.css('background-image', 'url(' + src + ')');\n }\n else {\n el.attr('src', src);\n }\n \n if (app.params.imagesLazyLoadSequential) {\n imageIsLoading = false;\n if (imagesSequence.length > 0) {\n loadImage(imagesSequence.shift());\n }\n }\n }\n \n if (app.params.imagesLazyLoadSequential) {\n if (imageIsLoading) {\n if (imagesSequence.indexOf(el[0]) < 0) imagesSequence.push(el[0]);\n return;\n }\n }\n \n // Loading flag\n imageIsLoading = true;\n \n var image = new Image();\n image.onload = onLoad;\n image.onerror = onLoad;\n image.src =src;\n }\n function lazyHandler() {\n lazyLoadImages = pageContainer.find('.lazy');\n lazyLoadImages.each(function(index, el) {\n el = $(el);\n if (el.parents('.tab:not(.active)').length > 0) {\n return;\n }\n if (isElementInViewport(el[0])) {\n loadImage(el);\n }\n });\n }\n \n function isElementInViewport (el) {\n var rect = el.getBoundingClientRect();\n var threshold = app.params.imagesLazyLoadThreshold || 0;\n return (\n rect.top >= (0 - threshold) &&\n rect.left >= (0 - threshold) &&\n rect.top <= (window.innerHeight + threshold) &&\n rect.left <= (window.innerWidth + threshold)\n );\n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n lazyLoadImages[method]('lazy', lazyHandler);\n lazyLoadImages.parents('.tab')[method]('show', lazyHandler);\n pageContainer[method]('lazy', lazyHandler);\n pageContent[method]('lazy', lazyHandler);\n pageContent[method]('scroll', lazyHandler);\n $(window)[method]('resize', lazyHandler);\n }\n function detachEvents() {\n attachEvents(true);\n }\n \n // Store detach function\n pageContainer[0].f7DestroyImagesLazyLoad = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Destroy on page remove\n if (pageContainer.hasClass('page')) {\n pageContainer.once('pageBeforeRemove', detachEvents);\n }\n \n // Run loader on page load/init\n lazyHandler();\n \n // Run after page animation\n pageContainer.once('pageAfterAnimation', lazyHandler);\n };\n app.destroyImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) {\n pageContainer[0].f7DestroyImagesLazyLoad();\n }\n };\n app.reinitImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0) {\n pageContainer.trigger('lazy');\n }\n };\n"," /*======================================================\n ************ Material Preloader ************\n ======================================================*/\n app.initPageMaterialPreloader = function (pageContainer) {\n $(pageContainer).find('.preloader').each(function () {\n if ($(this).children().length === 0) {\n $(this).html(app.params.materialPreloaderHtml);\n }\n });\n };\n"," /*======================================================\n ************ Messages ************\n ======================================================*/\n var Messages = function (container, params) {\n var defaults = {\n autoLayout: true,\n newMessagesFirst: false,\n scrollMessages: true,\n scrollMessagesOnlyOnEdge: false,\n messageTemplate:\n '{{#if day}}' +\n '
                {{day}} {{#if time}}, {{time}}{{/if}}
                ' +\n '{{/if}}' +\n '
                ' +\n '{{#if name}}
                {{name}}
                {{/if}}' +\n '
                {{text}}{{#if date}}
                {{date}}
                {{/if}}
                ' +\n '{{#if avatar}}
                {{/if}}' +\n '{{#if label}}
                {{label}}
                {{/if}}' +\n '
                '\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Autolayout\n if (m.params.autoLayout) m.container.addClass('messages-auto-layout');\n \n // New messages first\n if (m.params.newMessagesFirst) m.container.addClass('messages-new-first');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Compiled template\n m.template = Template7.compile(m.params.messageTemplate);\n \n // Auto Layout\n m.layout = function () {\n if (!m.container.hasClass('messages-auto-layout')) m.container.addClass('messages-auto-layout');\n m.container.find('.message').each(function () {\n var message = $(this);\n if (message.find('.message-text img').length > 0) {\n var childNodes = message.find('.message-text')[0].childNodes;\n var onlyPic = true;\n for (var i = 0 ; i < childNodes.length; i++) {\n if (childNodes[i].nodeType === 1 && childNodes[i].nodeName.toLowerCase() !== 'img') onlyPic = false;\n if (childNodes[i].nodeType === 3 && childNodes[i].textContent.trim() !== '') onlyPic = false;\n }\n if (onlyPic) message.addClass('message-pic');\n else message.removeClass('message-pic');\n }\n if (message.find('.message-avatar').length > 0) message.addClass('message-with-avatar');\n });\n m.container.find('.message').each(function () {\n var message = $(this);\n var isSent = message.hasClass('message-sent');\n var next = message.next('.message-' + (isSent ? 'sent' : 'received'));\n var prev = message.prev('.message-' + (isSent ? 'sent' : 'received'));\n if (next.length === 0) {\n message.addClass('message-last message-with-tail');\n }\n else message.removeClass('message-last message-with-tail');\n \n if (prev.length === 0) {\n message.addClass('message-first');\n }\n else message.removeClass('message-first');\n \n if (prev.length > 0 && prev.find('.message-name').length > 0 && message.find('.message-name').length > 0) {\n if (prev.find('.message-name').text() !== message.find('.message-name').text()) {\n prev.addClass('message-last message-with-tail');\n message.addClass('message-first');\n }\n }\n });\n };\n \n // Add Message\n m.appendMessage = function (props, animate) {\n return m.addMessage(props, 'append', animate);\n };\n m.prependMessage = function (props, animate) {\n return m.addMessage(props, 'prepend', animate);\n };\n m.addMessage = function (props, method, animate) {\n return m.addMessages([props], method, animate);\n };\n m.addMessages = function (newMessages, method, animate) {\n if (typeof animate === 'undefined') {\n animate = true;\n }\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n }\n var newMessagesHTML = '', i;\n for (i = 0; i < newMessages.length; i++) {\n var props = newMessages[i] || {};\n props.type = props.type || 'sent';\n if (!props.text) continue;\n props.hasImage = props.text.indexOf('= 0;\n if (props.onlyImage === false) props.hasImage = false;\n if (animate) props.position = method === 'append' ? 'bottom' : 'top';\n \n newMessagesHTML += m.template(props);\n }\n var scrollHeightBefore = m.pageContent[0].scrollHeight,\n heightBefore = m.pageContent[0].offsetHeight,\n scrollBefore = m.pageContent[0].scrollTop;\n m.container[method](newMessagesHTML);\n if (m.params.autoLayout) m.layout();\n if (method === 'prepend') {\n m.pageContent[0].scrollTop = scrollBefore + (m.pageContent[0].scrollHeight - scrollHeightBefore);\n }\n if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) {\n if (m.params.scrollMessagesOnlyOnEdge) {\n var onEdge = false;\n if (m.params.newMessagesFirst) {\n if (scrollBefore === 0) onEdge = true;\n }\n else {\n if (scrollBefore - (scrollHeightBefore - heightBefore) >= -10) onEdge = true;\n }\n if (onEdge) m.scrollMessages(animate ? undefined : 0);\n }\n else m.scrollMessages(animate ? undefined : 0);\n }\n var messages = m.container.find('.message');\n if (newMessages.length === 1) {\n return method === 'append' ? messages[messages.length - 1] : messages[0];\n }\n else {\n var messagesToReturn = [];\n if (method === 'append') {\n for (i = messages.length - newMessages.length; i < messages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n else {\n for (i = 0; i < newMessages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n return messagesToReturn;\n }\n \n };\n m.removeMessage = function (message) {\n message = $(message);\n if (message.length === 0) {\n return false;\n }\n else {\n message.remove();\n if (m.params.autoLayout) m.layout();\n return true;\n }\n };\n m.removeMessages = function (messages) {\n m.removeMessage(messages);\n };\n m.clean = function () {\n m.container.html('');\n };\n \n // Scroll\n m.scrollMessages = function (duration, scrollTop) {\n if (typeof duration === 'undefined') duration = 400;\n var currentScroll = m.pageContent[0].scrollTop;\n var newScroll;\n if (typeof scrollTop !== 'undefined') newScroll = scrollTop;\n else {\n newScroll = m.params.newMessagesFirst ? 0 : m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight;\n if (newScroll === currentScroll) return;\n }\n m.pageContent.scrollTop(newScroll, duration);\n };\n \n // Init Destroy\n m.init = function () {\n if (m.params.messages) {\n m.addMessages(m.params.messages, undefined, false);\n }\n else {\n if (m.params.autoLayout) m.layout();\n m.scrollMessages(0);\n }\n \n };\n m.destroy = function () {\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messages = m;\n return m;\n };\n app.messages = function (container, params) {\n return new Messages (container, params);\n };\n app.initPageMessages = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messages = pageContainer.find('.messages');\n if (messages.length === 0) return;\n if (!messages.hasClass('messages-init')) {\n return;\n }\n var m = app.messages(messages, messages.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n m.destroy();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n };\n \n"," /*===============================================================================\n ************ Swipeout Actions (Swipe to delete) ************\n ===============================================================================*/\n app.swipeoutOpenedEl = undefined;\n app.allowSwipeout = true;\n app.initSwipeout = function (swipeoutEl) {\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, swipeOutEl, swipeOutContent, actionsRight, actionsLeft, actionsLeftWidth, actionsRightWidth, translate, opened, openedActions, buttonsLeft, buttonsRight, direction, overswipeLeftButton, overswipeRightButton, overswipeLeft, overswipeRight, noFoldLeft, noFoldRight;\n $(document).on(app.touchEvents.start, function (e) {\n if (app.swipeoutOpenedEl) {\n var target = $(e.target);\n if (!(\n app.swipeoutOpenedEl.is(target[0]) ||\n target.parents('.swipeout').is(app.swipeoutOpenedEl) ||\n target.hasClass('modal-in') ||\n target.hasClass('modal-overlay') ||\n target.hasClass('actions-modal') || \n target.parents('.actions-modal.modal-in, .modal.modal-in').length > 0\n )) {\n app.swipeoutClose(app.swipeoutOpenedEl);\n }\n }\n });\n \n function handleTouchStart(e) {\n if (!app.allowSwipeout) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n \n if (!isMoved) {\n if ($('.list-block.sortable-opened').length > 0) return;\n /*jshint validthis:true */\n swipeOutEl = $(this);\n swipeOutContent = swipeOutEl.find('.swipeout-content');\n actionsRight = swipeOutEl.find('.swipeout-actions-right');\n actionsLeft = swipeOutEl.find('.swipeout-actions-left');\n actionsLeftWidth = actionsRightWidth = buttonsLeft = buttonsRight = overswipeRightButton = overswipeLeftButton = null;\n noFoldLeft = actionsLeft.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n noFoldRight = actionsRight.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n if (actionsLeft.length > 0) {\n actionsLeftWidth = actionsLeft.outerWidth();\n buttonsLeft = actionsLeft.children('a');\n overswipeLeftButton = actionsLeft.find('.swipeout-overswipe');\n }\n if (actionsRight.length > 0) {\n actionsRightWidth = actionsRight.outerWidth();\n buttonsRight = actionsRight.children('a');\n overswipeRightButton = actionsRight.find('.swipeout-overswipe');\n }\n opened = swipeOutEl.hasClass('swipeout-opened');\n if (opened) {\n openedActions = swipeOutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right';\n }\n swipeOutEl.removeClass('transitioning');\n if (!app.params.swipeoutNoFollow) {\n swipeOutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n swipeOutEl.removeClass('swipeout-opened');\n }\n }\n isMoved = true;\n e.preventDefault();\n \n touchesDiff = pageX - touchesStart.x;\n translate = touchesDiff;\n \n if (opened) {\n if (openedActions === 'right') translate = translate - actionsRightWidth;\n else translate = translate + actionsLeftWidth;\n }\n \n if (translate > 0 && actionsLeft.length === 0 || translate < 0 && actionsRight.length === 0) {\n if (!opened) {\n isTouched = isMoved = false;\n swipeOutContent.transform('');\n if (buttonsRight && buttonsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (buttonsLeft && buttonsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n return;\n }\n translate = 0;\n }\n \n if (translate < 0) direction = 'to-left';\n else if (translate > 0) direction = 'to-right';\n else {\n if (direction) direction = direction;\n else direction = 'to-left';\n }\n \n var i, buttonOffset, progress;\n \n e.f7PreventPanelSwipe = true;\n if (app.params.swipeoutNoFollow) {\n if (opened) {\n if (openedActions === 'right' && touchesDiff > 0) {\n app.swipeoutClose(swipeOutEl);\n }\n if (openedActions === 'left' && touchesDiff < 0) {\n app.swipeoutClose(swipeOutEl);\n }\n }\n else {\n if (touchesDiff < 0 && actionsRight.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'right');\n }\n if (touchesDiff > 0 && actionsLeft.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'left');\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n overswipeLeft = false;\n overswipeRight = false;\n var $button;\n if (actionsRight.length > 0) {\n // Show right actions\n progress = translate / actionsRightWidth;\n if (translate < -actionsRightWidth) {\n translate = -actionsRightWidth - Math.pow(-translate - actionsRightWidth, 0.8);\n if (overswipeRightButton.length > 0) {\n overswipeRight = true;\n }\n }\n for (i = 0; i < buttonsRight.length; i++) {\n if (typeof buttonsRight[i]._buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n buttonOffset = buttonsRight[i]._buttonOffset;\n $button = $(buttonsRight[i]);\n if (overswipeRightButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeRight ? -buttonOffset : 0) + 'px'});\n if (overswipeRight) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n $button.transform('translate3d(' + (translate - buttonOffset * (1 + Math.max(progress, -1))) + 'px,0,0)');\n }\n }\n if (actionsLeft.length > 0) {\n // Show left actions\n progress = translate / actionsLeftWidth;\n if (translate > actionsLeftWidth) {\n translate = actionsLeftWidth + Math.pow(translate - actionsLeftWidth, 0.8);\n if (overswipeLeftButton.length > 0) {\n overswipeLeft = true;\n }\n }\n for (i = 0; i < buttonsLeft.length; i++) {\n if (typeof buttonsLeft[i]._buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n buttonOffset = buttonsLeft[i]._buttonOffset;\n $button = $(buttonsLeft[i]);\n if (overswipeLeftButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeLeft ? buttonOffset : 0) + 'px'});\n if (overswipeLeft) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n if (buttonsLeft.length > 1) {\n $button.css('z-index', buttonsLeft.length - i); \n }\n $button.transform('translate3d(' + (translate + buttonOffset * (1 - Math.min(progress, 1))) + 'px,0,0)');\n }\n }\n swipeOutContent.transform('translate3d(' + translate + 'px,0,0)');\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n \n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action, actionsWidth, actions, buttons, i, noFold;\n \n noFold = direction === 'to-left' ? noFoldRight : noFoldLeft;\n actions = direction === 'to-left' ? actionsRight : actionsLeft;\n actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth;\n \n if (\n timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') ||\n timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2\n ) {\n action = 'open';\n }\n else {\n action = 'close';\n }\n if (timeDiff < 300) {\n if (Math.abs(translate) === 0) action = 'close';\n if (Math.abs(translate) === actionsWidth) action = 'open';\n }\n \n if (action === 'open') {\n app.swipeoutOpenedEl = swipeOutEl;\n swipeOutEl.trigger('open');\n swipeOutEl.addClass('swipeout-opened transitioning');\n var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth;\n swipeOutContent.transform('translate3d(' + newTranslate + 'px,0,0)');\n actions.addClass('swipeout-actions-opened');\n buttons = direction === 'to-left' ? buttonsRight : buttonsLeft;\n if (buttons) {\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + newTranslate + 'px,0,0)');\n }\n }\n if (overswipeRight) {\n actionsRight.find('.swipeout-overswipe')[0].click();\n }\n if (overswipeLeft) {\n actionsLeft.find('.swipeout-overswipe')[0].click();\n }\n }\n else {\n swipeOutEl.trigger('close');\n app.swipeoutOpenedEl = undefined;\n swipeOutEl.addClass('transitioning').removeClass('swipeout-opened');\n swipeOutContent.transform('');\n actions.removeClass('swipeout-actions-opened');\n }\n \n var buttonOffset;\n if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) {\n for (i = 0; i < buttonsLeft.length; i++) {\n buttonOffset = buttonsLeft[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n $(buttonsLeft[i]).transform('translate3d(' + (buttonOffset) + 'px,0,0)');\n }\n }\n if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) {\n for (i = 0; i < buttonsRight.length; i++) {\n buttonOffset = buttonsRight[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n $(buttonsRight[i]).transform('translate3d(' + (-buttonOffset) + 'px,0,0)');\n }\n }\n swipeOutContent.transitionEnd(function (e) {\n if (opened && action === 'open' || closed && action === 'close') return;\n swipeOutEl.trigger(action === 'open' ? 'opened' : 'closed');\n if (opened && action === 'close') {\n if (actionsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (actionsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n }\n });\n }\n if (swipeoutEl) {\n $(swipeoutEl).on(app.touchEvents.start, handleTouchStart);\n $(swipeoutEl).on(app.touchEvents.move, handleTouchMove);\n $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart);\n $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd);\n }\n \n };\n app.swipeoutOpen = function (el, dir, callback) {\n el = $(el);\n if (arguments.length === 2) {\n if (typeof arguments[1] === 'function') {\n callback = dir;\n }\n }\n \n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n if (!el.hasClass('swipeout') || el.hasClass('swipeout-opened')) return;\n if (!dir) {\n if (el.find('.swipeout-actions-right').length > 0) dir = 'right';\n else dir = 'left';\n }\n var swipeOutActions = el.find('.swipeout-actions-' + dir);\n if (swipeOutActions.length === 0) return;\n var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n el.trigger('open').addClass('swipeout-opened').removeClass('transitioning');\n swipeOutActions.addClass('swipeout-actions-opened');\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n var translate = dir === 'right' ? -swipeOutActionsWidth : swipeOutActionsWidth;\n var i;\n if (buttons.length > 1) {\n for (i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (- buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).css('z-index', buttons.length - i).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n }\n var clientLeft = buttons[1].clientLeft;\n }\n el.addClass('transitioning');\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + (translate) + 'px,0,0)');\n }\n el.find('.swipeout-content').transform('translate3d(' + translate + 'px,0,0)').transitionEnd(function () {\n el.trigger('opened');\n if (callback) callback.call(el[0]);\n });\n app.swipeoutOpenedEl = el;\n };\n app.swipeoutClose = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (!el.hasClass('swipeout-opened')) return;\n var dir = el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left';\n var swipeOutActions = el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n app.allowSwipeout = false;\n el.trigger('close');\n el.removeClass('swipeout-opened').addClass('transitioning');\n \n var closeTO;\n function onSwipeoutClose() {\n app.allowSwipeout = true;\n if (el.hasClass('swipeout-opened')) return;\n el.removeClass('transitioning');\n buttons.transform('');\n el.trigger('closed');\n if (callback) callback.call(el[0]);\n if (closeTO) clearTimeout(closeTO);\n }\n el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose);\n closeTO = setTimeout(onSwipeoutClose, 500);\n \n for (var i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (-buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n $(buttons[i]).css({left:0 + 'px'}).removeClass('swipeout-overswipe-active');\n }\n if (app.swipeoutOpenedEl && app.swipeoutOpenedEl[0] === el[0]) app.swipeoutOpenedEl = undefined;\n };\n app.swipeoutDelete = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n app.swipeoutOpenedEl = undefined;\n el.trigger('delete');\n el.css({height: el.outerHeight() + 'px'});\n var clientLeft = el[0].clientLeft;\n el.css({height: 0 + 'px'}).addClass('deleting transitioning').transitionEnd(function () {\n el.trigger('deleted');\n if (callback) callback.call(el[0]);\n if (el.parents('.virtual-list').length > 0) {\n var virtualList = el.parents('.virtual-list')[0].f7VirtualList;\n var virtualIndex = el[0].f7VirtualListIndex;\n if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex);\n }\n else {\n if (app.params.swipeoutRemoveWithTimeout) {\n setTimeout(function () {\n el.remove();\n }, 0);\n }\n else el.remove();\n }\n });\n var translate = '-100%';\n el.find('.swipeout-content').transform('translate3d(' + translate + ',0,0)');\n };\n \n"," /*===============================================================================\n ************ Sortable ************\n ===============================================================================*/\n app.sortableToggle = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.toggleClass('sortable-opened');\n if (sortableContainer.hasClass('sortable-opened')) {\n sortableContainer.trigger('open');\n }\n else {\n sortableContainer.trigger('close');\n }\n return sortableContainer;\n };\n app.sortableOpen = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.addClass('sortable-opened');\n sortableContainer.trigger('open');\n return sortableContainer;\n };\n app.sortableClose = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.removeClass('sortable-opened');\n sortableContainer.trigger('close');\n return sortableContainer;\n };\n app.initSortable = function () {\n var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer, startIndex;\n \n function handleTouchStart(e) {\n isMoved = false;\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n /*jshint validthis:true */\n sortingEl = $(this).parent();\n startIndex = sortingEl.index();\n sortingItems = sortingEl.parent().find('li');\n sortableContainer = sortingEl.parents('.sortable');\n e.preventDefault();\n app.allowPanelOpen = app.allowSwipeout = false;\n }\n function handleTouchMove(e) {\n if (!isTouched || !sortingEl) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (!isMoved) {\n sortingEl.addClass('sorting');\n sortableContainer.addClass('sortable-sorting');\n minTop = sortingEl[0].offsetTop;\n maxTop = sortingEl.parent().height() - sortingEl[0].offsetTop - sortingEl.height();\n sortingElHeight = sortingEl[0].offsetHeight;\n }\n isMoved = true;\n \n e.preventDefault();\n e.f7PreventPanelSwipe = true;\n touchesDiff = pageY - touchStartY;\n var translate = touchesDiff;\n if (translate < -minTop) translate = -minTop;\n if (translate > maxTop) translate = maxTop;\n sortingEl.transform('translate3d(0,' + translate + 'px,0)');\n \n insertBefore = insertAfter = undefined;\n \n sortingItems.each(function () {\n var currentEl = $(this);\n if (currentEl[0] === sortingEl[0]) return;\n var currentElOffset = currentEl[0].offsetTop;\n var currentElHeight = currentEl.height();\n var sortingElOffset = sortingEl[0].offsetTop + translate;\n \n if ((sortingElOffset >= currentElOffset - currentElHeight / 2) && sortingEl.index() < currentEl.index()) {\n currentEl.transform('translate3d(0, '+(-sortingElHeight)+'px,0)');\n insertAfter = currentEl;\n insertBefore = undefined;\n }\n else if ((sortingElOffset <= currentElOffset + currentElHeight / 2) && sortingEl.index() > currentEl.index()) {\n currentEl.transform('translate3d(0, '+(sortingElHeight)+'px,0)');\n insertAfter = undefined;\n if (!insertBefore) insertBefore = currentEl;\n }\n else {\n $(this).transform('translate3d(0, 0%,0)');\n }\n });\n }\n function handleTouchEnd(e) {\n app.allowPanelOpen = app.allowSwipeout = true;\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n e.preventDefault();\n sortingItems.transform('');\n sortingEl.removeClass('sorting');\n sortableContainer.removeClass('sortable-sorting');\n var virtualList, oldIndex, newIndex;\n if (insertAfter) {\n sortingEl.insertAfter(insertAfter);\n sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if (insertBefore) {\n sortingEl.insertBefore(insertBefore);\n sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if ((insertAfter || insertBefore) && sortableContainer.hasClass('virtual-list')) {\n virtualList = sortableContainer[0].f7VirtualList;\n oldIndex = sortingEl[0].f7VirtualListIndex;\n newIndex = insertBefore ? insertBefore[0].f7VirtualListIndex : insertAfter[0].f7VirtualListIndex;\n if (virtualList) virtualList.moveItem(oldIndex, newIndex);\n }\n insertAfter = insertBefore = undefined;\n isTouched = false;\n isMoved = false;\n }\n $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart);\n if (app.support.touch) {\n $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd);\n }\n };\n \n"," /*===============================================================================\n ************ Smart Select ************\n ===============================================================================*/\n app.initSmartSelects = function (pageContainer) {\n pageContainer = $(pageContainer);\n var selects;\n if (pageContainer.is('.smart-select')) {\n selects = pageContainer;\n }\n else {\n selects = pageContainer.find('.smart-select');\n }\n if (selects.length === 0) return;\n \n selects.each(function () {\n var smartSelect = $(this);\n \n var $select = smartSelect.find('select');\n if ($select.length === 0) return;\n \n var select = $select[0];\n if (select.length === 0) return;\n \n var valueText = [];\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) valueText.push(select[i].textContent.trim());\n }\n \n var itemAfter = smartSelect.find('.item-after');\n if (itemAfter.length === 0) {\n smartSelect.find('.item-inner').append('
                ' + valueText.join(', ') + '
                ');\n }\n else {\n var selectedText = itemAfter.text();\n if (itemAfter.hasClass('smart-select-value')) {\n for (i = 0; i < select.length; i++) {\n select[i].selected = select[i].textContent.trim() === selectedText.trim();\n }\n } else {\n itemAfter.text(valueText.join(', '));\n }\n }\n \n $select.on('change', function () {\n var valueText = [];\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) valueText.push(select[i].textContent.trim());\n }\n smartSelect.find('.item-after').text(valueText.join(', '));\n });\n \n });\n \n };\n app.smartSelectAddOption = function (select, option, index) {\n select = $(select);\n var smartSelect = select.parents('.smart-select');\n if (typeof index === 'undefined') {\n select.append(option);\n }\n else {\n $(option).insertBefore(select.find('option').eq(index));\n }\n app.initSmartSelects(smartSelect);\n var selectName = smartSelect.find('select').attr('name');\n var opened = $('.page.smart-select-page[data-select-name=\"' + selectName + '\"]').length > 0;\n if (opened) {\n app.smartSelectOpen(smartSelect, true);\n }\n };\n app.smartSelectOpen = function (smartSelect, reLayout) {\n smartSelect = $(smartSelect);\n if (smartSelect.length === 0) return;\n \n // Find related view\n var view = smartSelect.parents('.' + app.params.viewClass);\n if (view.length === 0) return;\n view = view[0].f7View;\n \n // Parameters\n var openIn = smartSelect.attr('data-open-in') || app.params.smartSelectOpenIn;\n if (openIn === 'popup') {\n if ($('.popup.smart-select-popup').length > 0) return;\n }\n else if (openIn === 'picker') {\n if ($('.picker-modal.modal-in').length > 0 && !reLayout){\n if (smartSelect[0].f7SmartSelectPicker !== $('.picker-modal.modal-in:not(.modal-out)')[0]) app.closeModal($('.picker-modal.modal-in:not(.modal-out)'));\n else return;\n }\n }\n else {\n if (!view) return;\n }\n \n var smartSelectData = smartSelect.dataset();\n var pageTitle = smartSelectData.pageTitle || smartSelect.find('.item-title').text();\n var backText = smartSelectData.backText || app.params.smartSelectBackText;\n var closeText;\n if (openIn === 'picker') {\n closeText = smartSelectData.pickerCloseText || smartSelectData.backText || app.params.smartSelectPickerCloseText ; \n }\n else {\n closeText = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ; \n }\n var backOnSelect = smartSelectData.backOnSelect !== undefined ? smartSelectData.backOnSelect : app.params.smartSelectBackOnSelect;\n var formTheme = smartSelectData.formTheme || app.params.smartSelectFormTheme;\n var navbarTheme = smartSelectData.navbarTheme || app.params.smartSelectNavbarTheme;\n var toolbarTheme = smartSelectData.toolbarTheme || app.params.smartSelectToolbarTheme;\n var virtualList = smartSelectData.virtualList;\n var virtualListHeight = smartSelectData.virtualListHeight;\n var material = app.params.material;\n var pickerHeight = smartSelectData.pickerHeight || app.params.smartSelectPickerHeight;\n \n // Collect all options/values\n var select = smartSelect.find('select')[0];\n var $select = $(select);\n var $selectData = $select.dataset();\n if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) {\n return;\n }\n var values = [];\n var id = (new Date()).getTime();\n var inputType = select.multiple ? 'checkbox' : 'radio';\n var inputName = inputType + '-' + id;\n var maxLength = $select.attr('maxlength');\n var selectName = select.name;\n var option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionIsLabel, previousGroup, optionColor, optionClassName, optionData;\n for (var i = 0; i < select.length; i++) {\n option = $(select[i]);\n optionData = option.dataset();\n optionImage = optionData.optionImage || $selectData.optionImage || smartSelectData.optionImage;\n optionIcon = optionData.optionIcon || $selectData.optionIcon || smartSelectData.optionIcon;\n optionHasMedia = optionImage || optionIcon || inputType === 'checkbox';\n if (material) optionHasMedia = optionImage || optionIcon;\n optionColor = optionData.optionColor;\n optionClassName = optionData.optionClass;\n if (option[0].disabled) optionClassName += ' disabled';\n optionGroup = option.parent('optgroup')[0];\n optionGroupLabel = optionGroup && optionGroup.label;\n optionIsLabel = false;\n if (optionGroup) {\n if (optionGroup !== previousGroup) {\n optionIsLabel = true;\n previousGroup = optionGroup;\n values.push({\n groupLabel: optionGroupLabel,\n isLabel: optionIsLabel\n });\n }\n }\n values.push({\n value: option[0].value,\n text: option[0].textContent.trim(),\n selected: option[0].selected,\n group: optionGroup,\n groupLabel: optionGroupLabel,\n image: optionImage,\n icon: optionIcon,\n color: optionColor,\n className: optionClassName,\n disabled: option[0].disabled,\n inputType: inputType,\n id: id,\n hasMedia: optionHasMedia,\n checkbox: inputType === 'checkbox',\n inputName: inputName,\n material: app.params.material\n });\n }\n \n \n // Item template/HTML\n if (!app._compiledTemplates.smartSelectItem) {\n app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate || \n '{{#if isLabel}}' +\n '
              • {{groupLabel}}
              • ' +\n '{{else}}' +\n '' +\n '' +\n '' +\n '{{/if}}'\n );\n }\n var smartSelectItemTemplate = app._compiledTemplates.smartSelectItem;\n \n var inputsHTML = '';\n if (!virtualList) {\n for (var j = 0; j < values.length; j++) {\n inputsHTML += smartSelectItemTemplate(values[j]);\n }\n }\n \n // Toolbar / Navbar\n var toolbarHTML = '', navbarHTML;\n var noNavbar = '', noToolbar = '', noTabbar = '', navbarLayout;\n \n if (openIn === 'picker') {\n if (!app._compiledTemplates.smartSelectToolbar) {\n app._compiledTemplates.smartSelectToolbar = t7.compile(app.params.smartSelectToolbarTemplate || \n '
                ' +\n '
                ' +\n '
                ' +\n '' +\n '
                ' +\n '
                '\n );\n }\n \n toolbarHTML = app._compiledTemplates.smartSelectToolbar({\n pageTitle: pageTitle,\n closeText: closeText,\n openIn: openIn,\n toolbarTheme: toolbarTheme,\n inPicker: openIn === 'picker' \n });\n }\n else {\n // Navbar HTML\n if (!app._compiledTemplates.smartSelectNavbar) {\n app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate || \n '
                ' +\n '
                ' +\n '{{leftTemplate}}' +\n '
                {{pageTitle}}
                ' +\n '
                ' +\n '
                '\n );\n }\n navbarHTML = app._compiledTemplates.smartSelectNavbar({\n pageTitle: pageTitle,\n backText: backText,\n closeText: closeText,\n openIn: openIn,\n navbarTheme: navbarTheme,\n inPopup: openIn === 'popup',\n inPage: openIn === 'page',\n leftTemplate: openIn === 'popup' ? \n (app.params.smartSelectPopupCloseTemplate || (material ? '
                ' : '')).replace(/{{closeText}}/g, closeText) :\n (app.params.smartSelectBackTemplate || (material ? '
                ' : '')).replace(/{{backText}}/g, backText)\n });\n // Determine navbar layout type - static/fixed/through\n if (openIn === 'page') {\n navbarLayout = 'static';\n if (smartSelect.parents('.navbar-through').length > 0) navbarLayout = 'through';\n if (smartSelect.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = smartSelect.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = smartSelect.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n noTabbar = smartSelect.parents('.page').hasClass('no-tabbar') ? 'no-tabbar' : '';\n }\n else {\n navbarLayout = 'fixed';\n }\n }\n \n \n // Page Layout\n var pageName = 'smart-select-' + inputName;\n \n var useSearchbar = typeof smartSelect.data('searchbar') === 'undefined' ? app.params.smartSelectSearchbar : (smartSelect.data('searchbar') === 'true' ? true : false);\n var searchbarPlaceholder, searchbarCancel;\n \n if (useSearchbar) {\n searchbarPlaceholder = smartSelect.data('searchbar-placeholder') || 'Search';\n searchbarCancel = smartSelect.data('searchbar-cancel') || 'Cancel';\n }\n \n var searchbarHTML = '
                ' +\n '
                ' +\n '' +\n '' +\n '
                ' +\n (material ? '' : '' + searchbarCancel + '') +\n '
                ' +\n '
                ';\n \n var pageHTML =\n (openIn !== 'picker' && navbarLayout === 'through' ? navbarHTML : '') +\n '
                ' +\n '
                ' +\n (openIn !== 'picker' && navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n '
                ' +\n (openIn !== 'picker' && navbarLayout === 'static' ? navbarHTML : '') +\n '
                ' +\n '
                  ' +\n (virtualList ? '' : inputsHTML) +\n '
                ' +\n '
                ' +\n '
                ' +\n '
                ' +\n '
                ';\n \n // Define popup and picker\n var popup, picker;\n \n // Scroll SS Picker To Input\n function scrollToInput() {\n var pageContent = smartSelect.parents('.page-content');\n if (pageContent.length === 0) return;\n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - picker.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - picker.height(),\n newPaddingBottom;\n var inputTop = smartSelect.offset().top - paddingTop + smartSelect[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = picker.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n // Close SS Picker on HTML Click\n function closeOnHTMLClick(e) {\n var close = true;\n if (e.target === smartSelect[0] || $(e.target).parents(smartSelect[0]).length > 0) {\n close = false;\n }\n if ($(e.target).parents('.picker-modal').length > 0) {\n close = false;\n }\n if (close) {\n app.closeModal('.smart-select-picker.modal-in'); \n }\n }\n \n // Check max length\n function checkMaxLength(container) {\n if (select.selectedOptions.length >= maxLength) {\n container.find('input[type=\"checkbox\"]').each(function () {\n if (!this.checked) {\n $(this).parents('li').addClass('disabled');\n }\n else {\n $(this).parents('li').removeClass('disabled'); \n }\n });\n }\n else {\n container.find('.disabled').removeClass('disabled');\n }\n }\n // Event Listeners on new page\n function handleInputs(container) {\n container = $(container);\n if (virtualList) {\n var virtualListInstance = app.virtualList(container.find('.virtual-list'), {\n items: values,\n template: smartSelectItemTemplate,\n height: virtualListHeight || undefined,\n searchByItem: function (query, index, item) {\n if (item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true;\n return false;\n }\n });\n container.once(openIn === 'popup' || openIn === 'picker' ? 'closed': 'pageBeforeRemove', function () {\n if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy();\n });\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n if (backOnSelect) {\n container.find('input[type=\"radio\"][name=\"' + inputName + '\"]:checked').parents('label').once('click', function () {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n });\n }\n container.on('change', 'input[name=\"' + inputName + '\"]', function () {\n var input = this;\n var value = input.value;\n var optionText = [];\n if (input.type === 'checkbox') {\n var values = [];\n for (var i = 0; i < select.options.length; i++) {\n var option = select.options[i];\n if (option.value === value) {\n option.selected = input.checked;\n }\n if (option.selected) {\n optionText.push(option.textContent.trim());\n }\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n }\n else {\n optionText = [smartSelect.find('option[value=\"' + value + '\"]').text()];\n select.value = value;\n }\n \n $select.trigger('change');\n smartSelect.find('.item-after').text(optionText.join(', '));\n if (backOnSelect && inputType === 'radio') {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n }\n });\n }\n function pageInit(e) {\n var page = e.detail.page;\n if (page.name === pageName) {\n handleInputs(page.container);\n }\n }\n if (openIn === 'popup') {\n if (reLayout) {\n popup = $('.popup.smart-select-popup .view');\n popup.html(pageHTML);\n }\n else {\n popup = app.popup(\n '
                ' +\n '
                ' +\n pageHTML +\n '
                ' +\n '
                '\n );\n popup = $(popup);\n }\n app.initPage(popup.find('.page'));\n handleInputs(popup);\n }\n else if (openIn === 'picker') {\n if (reLayout) {\n picker = $('.picker-modal.smart-select-picker .view');\n picker.html(pageHTML);\n }\n else {\n picker = app.pickerModal(\n '
                ' +\n toolbarHTML +\n '
                ' +\n '
                ' +\n pageHTML +\n '
                ' +\n '
                ' +\n '
                '\n );\n picker = $(picker);\n \n // Scroll To Input\n scrollToInput();\n \n // Close On Click\n $('html').on('click', closeOnHTMLClick);\n \n // On Close\n picker.once('close', function () {\n // Reset linked picker\n smartSelect[0].f7SmartSelectPicker = undefined;\n \n // Detach html click\n $('html').off('click', closeOnHTMLClick); \n \n // Restore page padding bottom\n smartSelect.parents('.page-content').css({paddingBottom: ''});\n });\n \n // Link Picker\n smartSelect[0].f7SmartSelectPicker = picker[0];\n }\n \n // Init Page\n app.initPage(picker.find('.page'));\n \n // Attach events\n handleInputs(picker);\n }\n else {\n $(document).once('pageInit', '.smart-select-page', pageInit);\n view.router.load({\n content: pageHTML,\n reload: reLayout ? true : undefined\n });\n }\n };\n \n"," /*===============================================================================\n ************ Virtual List ************\n ===============================================================================*/\n var VirtualList = function (listBlock, params) {\n var defaults = {\n cols: 1,\n height: app.params.material ? 48 : 44,\n cache: true,\n dynamicHeightBufferSize: 1,\n showFilteredItemsOnly: false\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n // Preparation\n var vl = this;\n vl.listBlock = $(listBlock);\n vl.params = params;\n vl.items = vl.params.items;\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n if (vl.params.template) {\n if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template);\n else if (typeof vl.params.template === 'function') vl.template = vl.params.template;\n }\n vl.pageContent = vl.listBlock.parents('.page-content');\n \n // Bad scroll\n var updatableScroll;\n if (typeof vl.params.updatableScroll !== 'undefined') {\n updatableScroll = vl.params.updatableScroll;\n }\n else {\n updatableScroll = true;\n if (app.device.ios && app.device.osVersion.split('.')[0] < 8) {\n updatableScroll = false;\n }\n }\n \n // Append
                  \n vl.ul = vl.params.ul ? $(vl.params.ul) : vl.listBlock.children('ul');\n if (vl.ul.length === 0) {\n vl.listBlock.append('
                    ');\n vl.ul = vl.listBlock.children('ul');\n }\n \n // DOM cached items\n vl.domCache = {};\n vl.displayDomCache = {};\n \n // Temporary DOM Element\n vl.tempDomElement = document.createElement('ul');\n \n // Last repain position\n vl.lastRepaintY = null;\n \n // Fragment\n vl.fragment = document.createDocumentFragment();\n \n // Filter\n vl.filterItems = function (indexes, resetScrollTop) {\n vl.filteredItems = [];\n var firstIndex = indexes[0];\n var lastIndex = indexes[indexes.length - 1];\n for (var i = 0; i < indexes.length; i++) {\n vl.filteredItems.push(vl.items[indexes[i]]);\n }\n if (typeof resetScrollTop === 'undefined') resetScrollTop = true;\n if (resetScrollTop) {\n vl.pageContent[0].scrollTop = 0;\n }\n vl.update();\n };\n vl.resetFilter = function () {\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n else {\n vl.filteredItems = null;\n delete vl.filteredItems; \n }\n vl.update();\n };\n \n var pageHeight, rowsPerScreen, rowsBefore, rowsAfter, rowsToRender, maxBufferHeight = 0, listHeight;\n var dynamicHeight = typeof vl.params.height === 'function';\n \n // Set list size\n vl.setListSize = function () {\n var items = vl.filteredItems || vl.items;\n pageHeight = vl.pageContent[0].offsetHeight;\n if (dynamicHeight) {\n listHeight = 0;\n vl.heights = [];\n for (var i = 0; i < items.length; i++) {\n var itemHeight = vl.params.height(items[i]);\n listHeight += itemHeight;\n vl.heights.push(itemHeight);\n }\n }\n else {\n listHeight = Math.ceil(items.length / vl.params.cols) * vl.params.height;\n rowsPerScreen = Math.ceil(pageHeight / vl.params.height);\n rowsBefore = vl.params.rowsBefore || rowsPerScreen * 2;\n rowsAfter = vl.params.rowsAfter || rowsPerScreen;\n rowsToRender = (rowsPerScreen + rowsBefore + rowsAfter);\n maxBufferHeight = rowsBefore / 2 * vl.params.height;\n }\n \n if (updatableScroll) {\n vl.ul.css({height: listHeight + 'px'});\n }\n };\n \n // Render items\n vl.render = function (force, forceScrollTop) {\n if (force) vl.lastRepaintY = null;\n \n var scrollTop = -(vl.listBlock[0].getBoundingClientRect().top - vl.pageContent[0].getBoundingClientRect().top);\n \n if (typeof forceScrollTop !== 'undefined') scrollTop = forceScrollTop;\n \n if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > maxBufferHeight || (!updatableScroll && (vl.pageContent[0].scrollTop + pageHeight >= vl.pageContent[0].scrollHeight))) {\n vl.lastRepaintY = scrollTop;\n }\n else {\n return;\n }\n \n var items = vl.filteredItems || vl.items, \n fromIndex, toIndex, heightBeforeFirstItem = 0, heightBeforeLastItem = 0;\n if (dynamicHeight) {\n var itemTop = 0, j, itemHeight; \n maxBufferHeight = pageHeight;\n \n for (j = 0; j < vl.heights.length; j++) {\n itemHeight = vl.heights[j];\n if (typeof fromIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop - pageHeight * 2 * vl.params.dynamicHeightBufferSize) fromIndex = j;\n else heightBeforeFirstItem += itemHeight;\n }\n \n if (typeof toIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop + pageHeight * 2 * vl.params.dynamicHeightBufferSize || j === vl.heights.length - 1) toIndex = j + 1;\n heightBeforeLastItem += itemHeight;\n }\n itemTop += itemHeight;\n }\n toIndex = Math.min(toIndex, items.length);\n }\n else {\n fromIndex = (parseInt(scrollTop / vl.params.height) - rowsBefore) * vl.params.cols;\n if (fromIndex < 0) {\n fromIndex = 0;\n }\n toIndex = Math.min(fromIndex + rowsToRender * vl.params.cols, items.length);\n }\n \n var topPosition;\n vl.reachEnd = false;\n for (var i = fromIndex; i < toIndex; i++) {\n var item, index;\n // Define real item index\n index = vl.items.indexOf(items[i]);\n \n if (i === fromIndex) vl.currentFromIndex = index;\n if (i === toIndex - 1) vl.currentToIndex = index;\n if (index === vl.items.length - 1) vl.reachEnd = true;\n \n // Find items\n if (vl.domCache[index]) {\n item = vl.domCache[index];\n }\n else {\n if (vl.template) {\n vl.tempDomElement.innerHTML = vl.template(items[i], {index: index}).trim();\n }\n else if (vl.params.renderItem) {\n vl.tempDomElement.innerHTML = vl.params.renderItem(index, items[i]).trim();\n }\n else {\n vl.tempDomElement.innerHTML = items[i].trim();\n }\n item = vl.tempDomElement.childNodes[0];\n if (vl.params.cache) vl.domCache[index] = item;\n }\n item.f7VirtualListIndex = index;\n \n // Set item top position\n if (i === fromIndex) {\n if (dynamicHeight) {\n topPosition = heightBeforeFirstItem;\n }\n else {\n topPosition = (i * vl.params.height / vl.params.cols);\n }\n }\n item.style.top = topPosition + 'px';\n \n // Before item insert\n if (vl.params.onItemBeforeInsert) vl.params.onItemBeforeInsert(vl, item);\n \n // Append item to fragment\n vl.fragment.appendChild(item);\n \n \n }\n \n // Update list height with not updatable scroll\n if (!updatableScroll) {\n if (dynamicHeight) {\n vl.ul[0].style.height = heightBeforeLastItem + 'px';\n }\n else {\n vl.ul[0].style.height = i * vl.params.height / vl.params.cols + 'px';\n }\n }\n \n \n // Update list html\n if (vl.params.onBeforeClear) vl.params.onBeforeClear(vl, vl.fragment);\n vl.ul[0].innerHTML = '';\n \n if (vl.params.onItemsBeforeInsert) vl.params.onItemsBeforeInsert(vl, vl.fragment);\n vl.ul[0].appendChild(vl.fragment);\n if (vl.params.onItemsAfterInsert) vl.params.onItemsAfterInsert(vl, vl.fragment);\n \n if (typeof forceScrollTop !== 'undefined' && force) {\n vl.pageContent.scrollTop(forceScrollTop, 0);\n }\n };\n \n vl.scrollToItem = function (index) {\n if (index > vl.items.length) return false;\n \n var itemTop = 0, listTop;\n if (dynamicHeight) {\n for (var i = 0; i < index; i++) {\n itemTop += vl.heights[i];\n }\n }\n else {\n itemTop = index * vl.params.height;\n }\n listTop = vl.listBlock[0].offsetTop;\n vl.render(true, listTop + itemTop - parseInt(vl.pageContent.css('padding-top'), 10));\n return true;\n };\n \n // Handle scroll event\n vl.handleScroll = function (e) {\n vl.render();\n };\n // Handle resize event\n vl._isVisible = function (el) {\n return !!( el.offsetWidth || el.offsetHeight || el.getClientRects().length );\n };\n vl.handleResize = function (e) {\n if (vl._isVisible(vl.listBlock[0])) {\n vl.setListSize();\n vl.render(true);\n }\n };\n \n vl.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n vl.pageContent[action]('scroll', vl.handleScroll);\n vl.listBlock.parents('.tab').eq(0)[action]('show', vl.handleResize);\n $(window)[action]('resize', vl.handleResize);\n };\n \n // Init Virtual List\n vl.init = function () {\n vl.attachEvents();\n vl.setListSize();\n vl.render();\n };\n \n // Append\n vl.appendItems = function (items) {\n for (var i = 0; i < items.length; i++) {\n vl.items.push(items[i]);\n }\n vl.update();\n };\n vl.appendItem = function (item) {\n vl.appendItems([item]);\n };\n // Replace\n vl.replaceAllItems = function (items) {\n vl.items = items;\n delete vl.filteredItems;\n vl.domCache = {};\n vl.update();\n };\n vl.replaceItem = function (index, item) {\n vl.items[index] = item;\n if (vl.params.cache) delete vl.domCache[index];\n vl.update();\n };\n // Prepend\n vl.prependItems = function (items) {\n for (var i = items.length - 1; i >= 0; i--) {\n vl.items.unshift(items[i]);\n }\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n vl.prependItem = function (item) {\n vl.prependItems([item]);\n };\n \n // Move\n vl.moveItem = function (oldIndex, newIndex) {\n if (oldIndex === newIndex) return;\n // remove item from array\n var item = vl.items.splice(oldIndex, 1)[0];\n if (newIndex >= vl.items.length) {\n // Add item to the end\n vl.items.push(item);\n newIndex = vl.items.length - 1;\n }\n else {\n // Add item to new index\n vl.items.splice(newIndex, 0, item);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n var leftIndex = oldIndex < newIndex ? oldIndex : newIndex;\n var rightIndex = oldIndex < newIndex ? newIndex : oldIndex;\n var indexShift = oldIndex < newIndex ? -1 : 1;\n if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex];\n if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex];\n if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Insert before\n vl.insertItemBefore = function (index, item) {\n if (index === 0) {\n vl.prependItem(item);\n return;\n }\n if (index >= vl.items.length) {\n vl.appendItem(item);\n return;\n }\n vl.items.splice(index, 0, item);\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex >= index) {\n newCache[cachedIndex + 1] = vl.domCache[cachedIndex];\n }\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Delete\n vl.deleteItems = function (indexes) {\n var prevIndex, indexShift = 0;\n for (var i = 0; i < indexes.length; i++) {\n var index = indexes[i];\n if (typeof prevIndex !== 'undefined') {\n if (index > prevIndex) {\n indexShift = -i;\n }\n }\n index = index + indexShift;\n prevIndex = indexes[i];\n // Delete item\n var deletedItem = vl.items.splice(index, 1)[0];\n \n // Delete from filtered\n if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) {\n vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex === index) {\n delete vl.domCache[index];\n }\n else if (parseInt(cached, 10) > index) {\n newCache[cachedIndex - 1] = vl.domCache[cached];\n }\n else {\n newCache[cachedIndex] = vl.domCache[cached]; \n }\n }\n vl.domCache = newCache;\n }\n }\n vl.update();\n };\n vl.deleteAllItems = function () {\n vl.items = [];\n delete vl.filteredItems;\n if (vl.params.cache) vl.domCache = {};\n vl.update();\n };\n vl.deleteItem = function (index) {\n vl.deleteItems([index]);\n };\n \n // Clear cache\n vl.clearCache = function () {\n vl.domCache = {};\n };\n \n // Update Virtual List\n vl.update = function () {\n vl.setListSize();\n vl.render(true);\n };\n \n // Destroy\n vl.destroy = function () {\n vl.attachEvents(true);\n delete vl.items;\n delete vl.domCache;\n };\n \n // Init Virtual List\n vl.init();\n \n // Store vl in container\n vl.listBlock[0].f7VirtualList = vl;\n return vl;\n };\n \n // App Method\n app.virtualList = function (listBlock, params) {\n return new VirtualList(listBlock, params);\n };\n \n app.reinitVirtualList = function (pageContainer) {\n var page = $(pageContainer);\n var vlists = page.find('.virtual-list');\n if (vlists.length === 0) return;\n for (var i = 0; i < vlists.length; i++) {\n var vlistInstance = vlists[i].f7VirtualList;\n if (vlistInstance) {\n vlistInstance.update();\n }\n }\n };\n"," /*======================================================\n ************ Pull To Refresh ************\n ======================================================*/\n app.initPullToRefresh = function (pageContainer) {\n var eventsTarget = $(pageContainer);\n if (!eventsTarget.hasClass('pull-to-refresh-content')) {\n eventsTarget = eventsTarget.find('.pull-to-refresh-content');\n }\n if (!eventsTarget || eventsTarget.length === 0) return;\n \n var touchId, isTouched, isMoved, touchesStart = {}, isScrolling, touchesDiff, touchStartTime, container, refresh = false, useTranslate = false, startTranslate = 0, translate, scrollTop, wasScrolled, layer, triggerDistance, dynamicTriggerDistance, pullStarted;\n var page = eventsTarget.hasClass('page') ? eventsTarget : eventsTarget.parents('.page');\n var hasNavbar = false;\n if (page.find('.navbar').length > 0 || page.parents('.navbar-fixed, .navbar-through').length > 0 || page.hasClass('navbar-fixed') || page.hasClass('navbar-through')) hasNavbar = true;\n if (page.hasClass('no-navbar')) hasNavbar = false;\n if (!hasNavbar) eventsTarget.addClass('pull-to-refresh-no-navbar');\n \n container = eventsTarget;\n \n // Define trigger distance\n if (container.attr('data-ptr-distance')) {\n dynamicTriggerDistance = true;\n }\n else {\n triggerDistance = 44; \n }\n \n function handleTouchStart(e) {\n if (isTouched) {\n if (app.device.os === 'android') {\n if ('targetTouches' in e && e.targetTouches.length > 1) return;\n }\n else return;\n }\n \n /*jshint validthis:true */\n container = $(this);\n if (container.hasClass('refreshing')) {\n return;\n }\n \n isMoved = false;\n pullStarted = false;\n isTouched = true;\n isScrolling = undefined;\n wasScrolled = undefined;\n if (e.type === 'touchstart') touchId = e.targetTouches[0].identifier;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n \n }\n \n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX, pageY, touch;\n if (e.type === 'touchmove') {\n if (touchId && e.touches) {\n for (var i = 0; i < e.touches.length; i++) {\n if (e.touches[i].identifier === touchId) {\n touch = e.touches[i];\n }\n }\n }\n if (!touch) touch = e.targetTouches[0];\n pageX = touch.pageX;\n pageY = touch.pageY;\n }\n else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n if (!pageX || !pageY) return;\n \n \n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (!isScrolling) {\n isTouched = false;\n return;\n }\n \n scrollTop = container[0].scrollTop;\n if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true; \n \n if (!isMoved) {\n /*jshint validthis:true */\n container.removeClass('transitioning');\n if (scrollTop > container[0].offsetHeight) {\n isTouched = false;\n return;\n }\n if (dynamicTriggerDistance) {\n triggerDistance = container.attr('data-ptr-distance');\n if (triggerDistance.indexOf('%') >= 0) triggerDistance = container[0].offsetHeight * parseInt(triggerDistance, 10) / 100;\n }\n startTranslate = container.hasClass('refreshing') ? triggerDistance : 0;\n if (container[0].scrollHeight === container[0].offsetHeight || app.device.os !== 'ios') {\n useTranslate = true;\n }\n else {\n useTranslate = false;\n }\n }\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n \n if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) {\n // iOS 8 fix\n if (app.device.os === 'ios' && parseInt(app.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true;\n \n if (useTranslate) {\n e.preventDefault();\n translate = (Math.pow(touchesDiff, 0.85) + startTranslate);\n container.transform('translate3d(0,' + translate + 'px,0)');\n }\n if ((useTranslate && Math.pow(touchesDiff, 0.85) > triggerDistance) || (!useTranslate && touchesDiff >= triggerDistance * 2)) {\n refresh = true;\n container.addClass('pull-up').removeClass('pull-down');\n }\n else {\n refresh = false;\n container.removeClass('pull-up').addClass('pull-down');\n }\n if (!pullStarted) {\n container.trigger('pullstart');\n pullStarted = true;\n }\n container.trigger('pullmove', {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n }\n else {\n pullStarted = false;\n container.removeClass('pull-up pull-down');\n refresh = false;\n return;\n }\n }\n function handleTouchEnd(e) {\n if (e.type === 'touchend' && e.changedTouches && e.changedTouches.length > 0 && touchId) {\n if (e.changedTouches[0].identifier !== touchId) return;\n }\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n if (translate) {\n container.addClass('transitioning');\n translate = 0;\n }\n container.transform('');\n if (refresh) {\n container.addClass('refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n }\n else {\n container.removeClass('pull-down');\n }\n isTouched = false;\n isMoved = false;\n if (pullStarted) container.trigger('pullend');\n }\n \n // Attach Events\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n eventsTarget.on(app.touchEvents.start, handleTouchStart, passiveListener);\n eventsTarget.on(app.touchEvents.move, handleTouchMove);\n eventsTarget.on(app.touchEvents.end, handleTouchEnd, passiveListener);\n \n // Detach Events on page remove\n if (page.length === 0) return;\n function destroyPullToRefresh() {\n eventsTarget.off(app.touchEvents.start, handleTouchStart);\n eventsTarget.off(app.touchEvents.move, handleTouchMove);\n eventsTarget.off(app.touchEvents.end, handleTouchEnd);\n }\n eventsTarget[0].f7DestroyPullToRefresh = destroyPullToRefresh;\n function detachEvents() {\n destroyPullToRefresh();\n page.off('pageBeforeRemove', detachEvents);\n }\n page.on('pageBeforeRemove', detachEvents);\n \n };\n \n app.pullToRefreshDone = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content.refreshing');\n container.removeClass('refreshing').addClass('transitioning');\n container.transitionEnd(function () {\n container.removeClass('transitioning pull-up pull-down');\n container.trigger('refreshdone');\n });\n };\n app.pullToRefreshTrigger = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content');\n if (container.hasClass('refreshing')) return;\n container.addClass('transitioning refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n };\n \n app.destroyPullToRefresh = function (pageContainer) {\n pageContainer = $(pageContainer);\n var pullToRefreshContent = pageContainer.hasClass('pull-to-refresh-content') ? pageContainer : pageContainer.find('.pull-to-refresh-content');\n if (pullToRefreshContent.length === 0) return;\n if (pullToRefreshContent[0].f7DestroyPullToRefresh) pullToRefreshContent[0].f7DestroyPullToRefresh();\n };\n \n"," /* ===============================================================================\n ************ Infinite Scroll ************\n =============================================================================== */\n function handleInfiniteScroll() {\n /*jshint validthis:true */\n var inf = $(this);\n var scrollTop = inf[0].scrollTop;\n var scrollHeight = inf[0].scrollHeight;\n var height = inf[0].offsetHeight;\n var distance = inf[0].getAttribute('data-distance');\n var virtualListContainer = inf.find('.virtual-list');\n var virtualList;\n var onTop = inf.hasClass('infinite-scroll-top');\n if (!distance) distance = 50;\n if (typeof distance === 'string' && distance.indexOf('%') >= 0) {\n distance = parseInt(distance, 10) / 100 * height;\n }\n if (distance > height) distance = height;\n if (onTop) {\n if (scrollTop < distance) {\n inf.trigger('infinite');\n }\n }\n else {\n if (scrollTop + height >= scrollHeight - distance) {\n if (virtualListContainer.length > 0) {\n virtualList = virtualListContainer[0].f7VirtualList;\n if (virtualList && !virtualList.reachEnd) return;\n }\n inf.trigger('infinite');\n }\n }\n \n }\n app.attachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).on('scroll', handleInfiniteScroll);\n };\n app.detachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).off('scroll', handleInfiniteScroll);\n };\n \n app.initPageInfiniteScroll = function (pageContainer) {\n pageContainer = $(pageContainer);\n var infiniteContent = pageContainer.find('.infinite-scroll');\n if (infiniteContent.length === 0) return;\n app.attachInfiniteScroll(infiniteContent);\n function detachEvents() {\n app.detachInfiniteScroll(infiniteContent);\n pageContainer.off('pageBeforeRemove', detachEvents);\n }\n pageContainer.on('pageBeforeRemove', detachEvents);\n };\n"," /*=============================================================\n ************ Hide/show Toolbar/Navbar on scroll ************\n =============================================================*/\n app.initPageScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var hideNavbar = (app.params.hideNavbarOnPageScroll || scrollContent.hasClass('hide-navbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-navbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll'));\n var hideToolbar = (app.params.hideToolbarOnPageScroll || scrollContent.hasClass('hide-toolbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-toolbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll'));\n var hideTabbar = (app.params.hideTabbarOnPageScroll || scrollContent.hasClass('hide-tabbar-on-scroll')) && !(scrollContent.hasClass('keep-tabbar-on-scroll'));\n \n if (!(hideNavbar || hideToolbar || hideTabbar)) return;\n \n var viewContainer = scrollContent.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n \n var navbar = viewContainer.find('.navbar'), \n toolbar = viewContainer.find('.toolbar'), \n tabbar;\n if (hideTabbar) {\n tabbar = viewContainer.find('.tabbar');\n if (tabbar.length === 0) tabbar = viewContainer.parents('.' + app.params.viewsClass).find('.tabbar');\n }\n \n var hasNavbar = navbar.length > 0,\n hasToolbar = toolbar.length > 0,\n hasTabbar = tabbar && tabbar.length > 0;\n \n var previousScroll, currentScroll;\n previousScroll = currentScroll = scrollContent[0].scrollTop;\n \n var scrollHeight, offsetHeight, reachEnd, action, navbarHidden, toolbarHidden, tabbarHidden;\n \n var toolbarHeight = (hasToolbar && hideToolbar) ? toolbar[0].offsetHeight : 0;\n var tabbarHeight = (hasTabbar && hideTabbar) ? tabbar[0].offsetHeight : 0;\n var bottomBarHeight = tabbarHeight || toolbarHeight;\n \n function handleScroll(e) {\n if (pageContainer.hasClass('page-on-left')) return;\n currentScroll = scrollContent[0].scrollTop;\n scrollHeight = scrollContent[0].scrollHeight;\n offsetHeight = scrollContent[0].offsetHeight;\n reachEnd = currentScroll + offsetHeight >= scrollHeight - bottomBarHeight;\n navbarHidden = navbar.hasClass('navbar-hidden');\n toolbarHidden = toolbar.hasClass('toolbar-hidden');\n tabbarHidden = tabbar && tabbar.hasClass('toolbar-hidden');\n \n if (reachEnd) {\n if (app.params.showBarsOnPageScrollEnd) {\n action = 'show';\n }\n }\n else if (previousScroll > currentScroll) {\n if (app.params.showBarsOnPageScrollTop || currentScroll <= 44) {\n action = 'show';\n }\n else {\n action = 'hide';\n }\n }\n else {\n if (currentScroll > 44) {\n action = 'hide';\n }\n else {\n action = 'show';\n }\n }\n \n if (action === 'show') {\n if (hasNavbar && hideNavbar && navbarHidden) {\n app.showNavbar(navbar);\n pageContainer.removeClass('no-navbar-by-scroll'); \n navbarHidden = false;\n }\n if (hasToolbar && hideToolbar && toolbarHidden) {\n app.showToolbar(toolbar);\n pageContainer.removeClass('no-toolbar-by-scroll'); \n toolbarHidden = false;\n }\n if (hasTabbar && hideTabbar && tabbarHidden) {\n app.showToolbar(tabbar);\n pageContainer.removeClass('no-tabbar-by-scroll'); \n tabbarHidden = false;\n }\n }\n else {\n if (hasNavbar && hideNavbar && !navbarHidden) {\n app.hideNavbar(navbar);\n pageContainer.addClass('no-navbar-by-scroll'); \n navbarHidden = true;\n }\n if (hasToolbar && hideToolbar && !toolbarHidden) {\n app.hideToolbar(toolbar);\n pageContainer.addClass('no-toolbar-by-scroll'); \n toolbarHidden = true;\n }\n if (hasTabbar && hideTabbar && !tabbarHidden) {\n app.hideToolbar(tabbar);\n pageContainer.addClass('no-tabbar-by-scroll'); \n tabbarHidden = true;\n }\n }\n \n previousScroll = currentScroll;\n }\n scrollContent.on('scroll', handleScroll);\n scrollContent[0].f7ScrollToolbarsHandler = handleScroll;\n };\n app.destroyScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var handler = scrollContent[0].f7ScrollToolbarsHandler;\n if (!handler) return;\n scrollContent.off('scroll', scrollContent[0].f7ScrollToolbarsHandler);\n };\n"," /*======================================================\n ************ Material Tabbar ************\n ======================================================*/\n app.materialTabbarSetHighlight = function (tabbar, activeLink) {\n tabbar = $(tabbar);\n activeLink = activeLink || tabbar.find('.tab-link.active');\n \n var tabLinkWidth, highlightTranslate;\n if (tabbar.hasClass('tabbar-scrollable')) {\n tabLinkWidth = activeLink[0].offsetWidth + 'px';\n highlightTranslate = (app.rtl ? - activeLink[0].offsetLeft: activeLink[0].offsetLeft) + 'px';\n }\n else {\n tabLinkWidth = 1 / tabbar.find('.tab-link').length * 100 + '%';\n highlightTranslate = (app.rtl ? - activeLink.index(): activeLink.index()) * 100 + '%';\n }\n \n tabbar.find('.tab-link-highlight')\n .css({width: tabLinkWidth})\n .transform('translate3d(' + highlightTranslate + ',0,0)');\n };\n app.initPageMaterialTabbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var tabbar = $(pageContainer).find('.tabbar');\n \n function tabbarSetHighlight() {\n app.materialTabbarSetHighlight(tabbar);\n }\n if (tabbar.length > 0) {\n if (tabbar.find('.tab-link-highlight').length === 0) {\n tabbar.find('.toolbar-inner').append('');\n }\n \n tabbarSetHighlight();\n $(window).on('resize', tabbarSetHighlight);\n pageContainer.once('pageBeforeRemove', function () {\n $(window).off('resize', tabbarSetHighlight);\n });\n }\n };\n"," /* ===============================================================================\n ************ Tabs ************\n =============================================================================== */\n app.showTab = function (tab, tabLink, force) {\n var newTab = $(tab);\n if (arguments.length === 2) {\n if (typeof tabLink === 'boolean') {\n force = tabLink;\n }\n }\n if (newTab.length === 0) return false;\n if (newTab.hasClass('active')) {\n if (force) newTab.trigger('show');\n return false;\n }\n var tabs = newTab.parent('.tabs');\n if (tabs.length === 0) return false;\n \n // Return swipeouts in hidden tabs\n app.allowSwipeout = true;\n \n // Animated tabs\n var isAnimatedTabs = tabs.parent().hasClass('tabs-animated-wrap');\n if (isAnimatedTabs) {\n var tabTranslate = (app.rtl ? newTab.index() : -newTab.index()) * 100;\n tabs.transform('translate3d(' + tabTranslate + '%,0,0)');\n }\n \n // Swipeable tabs\n var isSwipeableTabs = tabs.parent().hasClass('tabs-swipeable-wrap'), swiper;\n if (isSwipeableTabs) {\n swiper = tabs.parent()[0].swiper;\n if (swiper.activeIndex !== newTab.index()) swiper.slideTo(newTab.index(), undefined, false);\n }\n \n // Remove active class from old tabs\n var oldTab = tabs.children('.tab.active').removeClass('active').trigger('hide');\n // Add active class to new tab\n newTab.addClass('active');\n // Trigger 'show' event on new tab\n newTab.trigger('show');\n \n // Update navbars in new tab\n if (!isAnimatedTabs && !isSwipeableTabs && newTab.find('.navbar').length > 0) {\n // Find tab's view\n var viewContainer;\n if (newTab.hasClass(app.params.viewClass)) viewContainer = newTab[0];\n else viewContainer = newTab.parents('.' + app.params.viewClass)[0];\n app.sizeNavbars(viewContainer);\n }\n \n // Find related link for new tab\n if (tabLink) tabLink = $(tabLink);\n else {\n // Search by id\n if (typeof tab === 'string') tabLink = $('.tab-link[href=\"' + tab + '\"]');\n else tabLink = $('.tab-link[href=\"#' + newTab.attr('id') + '\"]');\n // Search by data-tab\n if (!tabLink || tabLink && tabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (newTab.is($(this).attr('data-tab'))) tabLink = $(this);\n });\n }\n }\n if (tabLink.length === 0) return;\n \n // Find related link for old tab\n var oldTabLink;\n if (oldTab && oldTab.length > 0) {\n // Search by id\n var oldTabId = oldTab.attr('id');\n if (oldTabId) oldTabLink = $('.tab-link[href=\"#' + oldTabId + '\"]');\n // Search by data-tab\n if (!oldTabLink || oldTabLink && oldTabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (oldTab.is($(this).attr('data-tab'))) oldTabLink = $(this);\n });\n }\n }\n \n // Update links' classes\n if (tabLink && tabLink.length > 0) {\n tabLink.addClass('active');\n // Material Highlight\n if (app.params.material) {\n var tabbar = tabLink.parents('.tabbar');\n if (tabbar.length > 0) {\n if (tabbar.find('.tab-link-highlight').length === 0) {\n tabbar.find('.toolbar-inner').append('');\n }\n app.materialTabbarSetHighlight(tabbar, tabLink);\n }\n }\n }\n if (oldTabLink && oldTabLink.length > 0) oldTabLink.removeClass('active');\n \n return true;\n };\n"," /*===============================================================================\n ************ Accordion ************\n ===============================================================================*/\n app.accordionToggle = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('accordion-item-expanded')) app.accordionClose(item);\n else app.accordionOpen(item);\n };\n app.accordionOpen = function (item) {\n item = $(item);\n var list = item.parents('.accordion-list').eq(0);\n var content = item.children('.accordion-item-content');\n if (content.length === 0) content = item.find('.accordion-item-content');\n var expandedItem = list.length > 0 && item.parent().children('.accordion-item-expanded');\n if (expandedItem.length > 0) {\n app.accordionClose(expandedItem);\n }\n content.css('height', content[0].scrollHeight + 'px').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('open');\n item.addClass('accordion-item-expanded');\n };\n app.accordionClose = function (item) {\n item = $(item);\n var content = item.children('.accordion-item-content');\n if (content.length === 0) content = item.find('.accordion-item-content');\n item.removeClass('accordion-item-expanded');\n content.transition(0);\n content.css('height', content[0].scrollHeight + 'px');\n // Relayout\n var clientLeft = content[0].clientLeft;\n // Close\n content.transition('');\n content.css('height', '').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('close');\n };\n"," /*===============================================================================\n ************ Fast Clicks ************\n ************ Inspired by https://github.com/ftlabs/fastclick ************\n ===============================================================================*/\n app.initFastClicks = function () {\n if (app.params.activeState) {\n $('html').addClass('watch-active-state');\n }\n if (app.device.ios && app.device.webView) {\n // Strange hack required for iOS 8 webview to work on inputs\n window.addEventListener('touchstart', function () {});\n }\n \n var touchStartX, touchStartY, touchStartTime, targetElement, trackClick, activeSelection, scrollParent, lastClickTime, isMoved, tapHoldFired, tapHoldTimeout;\n var activableElement, activeTimeout, needsFastClick, needsFastClickTimeOut;\n var rippleWave, rippleTarget, rippleTransform, rippleTimeout;\n function findActivableElement(el) {\n var target = $(el);\n var parents = target.parents(app.params.activeStateElements);\n var activable;\n if (target.is(app.params.activeStateElements)) {\n activable = target;\n }\n if (parents.length > 0) {\n activable = activable ? activable.add(parents) : parents;\n }\n return activable ? activable : target;\n }\n function isInsideScrollableView(el) {\n var pageContent = el.parents('.page-content, .panel');\n \n if (pageContent.length === 0) {\n return false;\n }\n \n // This event handler covers the \"tap to stop scrolling\".\n if (pageContent.prop('scrollHandlerSet') !== 'yes') {\n pageContent.on('scroll', function() {\n clearTimeout(activeTimeout);\n clearTimeout(rippleTimeout);\n });\n pageContent.prop('scrollHandlerSet', 'yes');\n }\n \n return true;\n }\n function addActive() {\n if (!activableElement) return;\n activableElement.addClass('active-state');\n }\n function removeActive(el) {\n if (!activableElement) return;\n activableElement.removeClass('active-state');\n activableElement = null;\n }\n function isFormElement(el) {\n var nodes = ('input select textarea label').split(' ');\n if (el.nodeName && nodes.indexOf(el.nodeName.toLowerCase()) >= 0) return true;\n return false;\n }\n function androidNeedsBlur(el) {\n var noBlur = ('button input textarea select').split(' ');\n if (document.activeElement && el !== document.activeElement && document.activeElement !== document.body) {\n if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) {\n return false;\n }\n else {\n return true;\n }\n }\n else {\n return false;\n }\n }\n function targetNeedsFastClick(el) {\n var $el = $(el);\n if (el.nodeName.toLowerCase() === 'input' && el.type === 'file') return false;\n if (el.nodeName.toLowerCase() === 'select' && app.device.android) return false;\n if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false;\n if (app.params.fastClicksExclude && $el.is(app.params.fastClicksExclude)) return false;\n return true;\n }\n function targetNeedsFocus(el) {\n if (document.activeElement === el) {\n return false;\n }\n var tag = el.nodeName.toLowerCase();\n var skipInputs = ('button checkbox file image radio submit').split(' ');\n if (el.disabled || el.readOnly) return false;\n if (tag === 'textarea') return true;\n if (tag === 'select') {\n if (app.device.android) return false;\n else return true;\n }\n if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true;\n }\n function targetNeedsPrevent(el) {\n el = $(el);\n var prevent = true;\n if (el.is('label') || el.parents('label').length > 0) {\n if (app.device.android) {\n prevent = false;\n }\n else if (app.device.ios && el.is('input')) {\n prevent = true;\n }\n else prevent = false;\n }\n return prevent;\n }\n \n // Mouse Handlers\n function handleMouseDown (e) {\n findActivableElement(e.target).addClass('active-state');\n if ('which' in e && e.which === 3) {\n setTimeout(function () {\n $('.active-state').removeClass('active-state');\n }, 0);\n }\n if (app.params.material && app.params.materialRipple) {\n touchStartX = e.pageX;\n touchStartY = e.pageY;\n rippleTouchStart(e.target, e.pageX, e.pageY);\n }\n }\n function handleMouseMove (e) {\n $('.active-state').removeClass('active-state');\n if (app.params.material && app.params.materialRipple) {\n rippleTouchMove();\n }\n }\n function handleMouseUp (e) {\n $('.active-state').removeClass('active-state');\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n }\n \n // Material Touch Ripple Effect\n function findRippleElement(el) {\n var needsRipple = app.params.materialRippleElements;\n var $el = $(el);\n if ($el.is(needsRipple)) {\n if ($el.hasClass('no-ripple')) {\n return false;\n }\n return $el;\n }\n else if ($el.parents(needsRipple).length > 0) {\n var rippleParent = $el.parents(needsRipple).eq(0);\n if (rippleParent.hasClass('no-ripple')) {\n return false;\n }\n return rippleParent;\n }\n else return false;\n }\n function createRipple(x, y, el) {\n var box = el[0].getBoundingClientRect();\n var center = {\n x: x - box.left,\n y: y - box.top\n },\n height = box.height,\n width = box.width;\n var diameter = Math.max(Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48);\n \n rippleWave = $(\n '
                    '\n );\n el.prepend(rippleWave);\n var clientLeft = rippleWave[0].clientLeft;\n rippleTransform = 'translate3d('+(-center.x + width/2)+'px, '+(-center.y + height/2)+'px, 0) scale(1)';\n rippleWave.transform(rippleTransform);\n }\n \n function removeRipple() {\n if (!rippleWave) return;\n var toRemove = rippleWave;\n \n var removeTimeout = setTimeout(function () {\n toRemove.remove();\n }, 400);\n \n rippleWave\n .addClass('ripple-wave-fill')\n .transform(rippleTransform.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(function () {\n clearTimeout(removeTimeout);\n \n var rippleWave = $(this)\n .addClass('ripple-wave-out')\n .transform(rippleTransform.replace('scale(1)', 'scale(1.01)'));\n \n removeTimeout = setTimeout(function () {\n rippleWave.remove();\n }, 700);\n \n setTimeout(function () {\n rippleWave.transitionEnd(function(){\n clearTimeout(removeTimeout);\n $(this).remove();\n });\n }, 0);\n });\n \n rippleWave = rippleTarget = undefined;\n }\n \n function rippleTouchStart (el, x, y) {\n rippleTarget = findRippleElement(el);\n if (!rippleTarget || rippleTarget.length === 0) {\n rippleTarget = undefined;\n return;\n }\n if (!isInsideScrollableView(rippleTarget)) {\n createRipple(touchStartX, touchStartY, rippleTarget);\n }\n else {\n rippleTimeout = setTimeout(function () {\n createRipple(touchStartX, touchStartY, rippleTarget);\n }, 80);\n }\n }\n function rippleTouchMove() {\n clearTimeout(rippleTimeout);\n removeRipple();\n }\n function rippleTouchEnd() {\n if (rippleWave) {\n removeRipple();\n }\n else if (rippleTarget && !isMoved) {\n clearTimeout(rippleTimeout);\n createRipple(touchStartX, touchStartY, rippleTarget);\n setTimeout(removeRipple, 0);\n }\n else {\n removeRipple();\n }\n }\n \n // Send Click\n function sendClick(e) {\n var touch = e.changedTouches[0];\n var evt = document.createEvent('MouseEvents');\n var eventType = 'click';\n if (app.device.android && targetElement.nodeName.toLowerCase() === 'select') {\n eventType = 'mousedown';\n }\n evt.initMouseEvent(eventType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n evt.forwardedTouchEvent = true;\n targetElement.dispatchEvent(evt);\n }\n \n // Touch Handlers\n function handleTouchStart(e) {\n isMoved = false;\n tapHoldFired = false;\n if (e.targetTouches.length > 1) {\n if (activableElement) removeActive();\n return true;\n }\n if (e.touches.length > 1 && activableElement) {\n removeActive();\n }\n if (app.params.tapHold) {\n if (tapHoldTimeout) clearTimeout(tapHoldTimeout);\n tapHoldTimeout = setTimeout(function () {\n if (e && e.touches && e.touches.length > 1) return;\n tapHoldFired = true;\n e.preventDefault();\n $(e.target).trigger('taphold');\n }, app.params.tapHoldDelay);\n }\n if (needsFastClickTimeOut) clearTimeout(needsFastClickTimeOut);\n needsFastClick = targetNeedsFastClick(e.target);\n \n if (!needsFastClick) {\n trackClick = false;\n return true;\n }\n if (app.device.ios || (app.device.android && 'getSelection' in window)) {\n var selection = window.getSelection();\n if (selection.rangeCount && selection.focusNode !== document.body && (!selection.isCollapsed || document.activeElement === selection.focusNode)) {\n activeSelection = true;\n return true;\n }\n else {\n activeSelection = false;\n }\n }\n if (app.device.android) {\n if (androidNeedsBlur(e.target)) {\n document.activeElement.blur();\n }\n }\n \n trackClick = true;\n targetElement = e.target;\n touchStartTime = (new Date()).getTime();\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n \n // Detect scroll parent\n if (app.device.ios) {\n scrollParent = undefined;\n $(targetElement).parents().each(function () {\n var parent = this;\n if (parent.scrollHeight > parent.offsetHeight && !scrollParent) {\n scrollParent = parent;\n scrollParent.f7ScrollTop = scrollParent.scrollTop;\n }\n });\n }\n if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) {\n e.preventDefault();\n }\n \n if (app.params.activeState) {\n activableElement = findActivableElement(targetElement);\n // If it's inside a scrollable view, we don't trigger active-state yet,\n // because it can be a scroll instead. Based on the link:\n // http://labnote.beedesk.com/click-scroll-and-pseudo-active-on-mobile-webk\n if (!isInsideScrollableView(activableElement)) {\n addActive();\n } else {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n if (app.params.material && app.params.materialRipple) {\n rippleTouchStart(targetElement, touchStartX, touchStartY);\n }\n }\n function handleTouchMove(e) {\n if (!trackClick) return;\n var _isMoved = false;\n var distance = app.params.fastClicksDistanceThreshold;\n if (distance) {\n var pageX = e.targetTouches[0].pageX;\n var pageY = e.targetTouches[0].pageY;\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n _isMoved = true;\n }\n }\n else {\n _isMoved = true;\n }\n if (_isMoved) {\n trackClick = false;\n targetElement = null;\n isMoved = true;\n if (app.params.tapHold) {\n clearTimeout(tapHoldTimeout);\n }\n \t\t\tif (app.params.activeState) {\n \t\t\t\tclearTimeout(activeTimeout);\n \t\t\t\tremoveActive();\n \t\t\t}\n if (app.params.material && app.params.materialRipple) {\n rippleTouchMove();\n }\n }\n }\n function handleTouchEnd(e) {\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n \n if (!trackClick) {\n if (!activeSelection && needsFastClick) {\n if (!(app.device.android && !e.cancelable)) {\n e.preventDefault();\n }\n }\n return true;\n }\n \n if (document.activeElement === e.target) {\n if (app.params.activeState) removeActive();\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n return true;\n }\n \n if (!activeSelection) {\n e.preventDefault();\n }\n \n if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) {\n setTimeout(removeActive, 0);\n return true;\n }\n \n lastClickTime = e.timeStamp;\n \n trackClick = false;\n \n if (app.device.ios && scrollParent) {\n if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) {\n return false;\n }\n }\n \n // Add active-state here because, in a very fast tap, the timeout didn't\n // have the chance to execute. Removing active-state in a timeout gives\n // the chance to the animation execute.\n if (app.params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n // Remove Ripple\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n \n // Trigger focus when required\n if (targetNeedsFocus(targetElement)) {\n if (app.device.ios && app.device.webView) {\n if ((event.timeStamp - touchStartTime) > 159) {\n targetElement = null;\n return false;\n }\n targetElement.focus();\n return false;\n }\n else {\n targetElement.focus();\n }\n }\n \n // Blur active elements\n if (document.activeElement && targetElement !== document.activeElement && document.activeElement !== document.body && targetElement.nodeName.toLowerCase() !== 'label') {\n document.activeElement.blur();\n }\n \n // Send click\n e.preventDefault();\n sendClick(e);\n return false;\n }\n function handleTouchCancel(e) {\n trackClick = false;\n targetElement = null;\n \n // Remove Active State\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n if (app.params.activeState) {\n removeActive();\n }\n \n // Remove Ripple\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n }\n \n function handleClick(e) {\n var allowClick = false;\n \n if (trackClick) {\n targetElement = null;\n trackClick = false;\n return true;\n }\n if (e.target.type === 'submit' && e.detail === 0) {\n return true;\n }\n if (!targetElement) {\n if (!isFormElement(e.target)) {\n allowClick = true;\n }\n }\n if (!needsFastClick) {\n allowClick = true;\n }\n if (document.activeElement === targetElement) {\n allowClick = true;\n }\n if (e.forwardedTouchEvent) {\n allowClick = true;\n }\n if (!e.cancelable) {\n allowClick = true;\n }\n if (app.params.tapHold && app.params.tapHoldPreventClicks && tapHoldFired) {\n allowClick = false;\n }\n if (!allowClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n if (targetElement) {\n if (targetNeedsPrevent(targetElement) || isMoved) {\n e.preventDefault();\n }\n }\n else {\n e.preventDefault();\n }\n targetElement = null;\n }\n needsFastClickTimeOut = setTimeout(function () {\n needsFastClick = false;\n }, (app.device.ios || app.device.androidChrome ? 100 : 400));\n \n if (app.params.tapHold) {\n tapHoldTimeout = setTimeout(function () {\n tapHoldFired = false;\n }, (app.device.ios || app.device.androidChrome ? 100 : 400));\n }\n \n return allowClick;\n }\n if (app.support.touch) {\n document.addEventListener('click', handleClick, true);\n \n document.addEventListener('touchstart', handleTouchStart);\n document.addEventListener('touchmove', handleTouchMove);\n document.addEventListener('touchend', handleTouchEnd);\n document.addEventListener('touchcancel', handleTouchCancel);\n }\n else {\n if (app.params.activeState) {\n document.addEventListener('mousedown', handleMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n }\n if (app.params.material && app.params.materialRipple) {\n document.addEventListener('contextmenu', function (e) {\n if (activableElement) removeActive();\n rippleTouchEnd();\n });\n }\n \n };\n \n"," /*===============================================================================\n ************ Handle clicks and make them fast (on tap); ************\n ===============================================================================*/\n app.initClickEvents = function () {\n function handleScrollTop(e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var target = $(e.target);\n var isLink = clicked[0].nodeName.toLowerCase() === 'a' ||\n clicked.parents('a').length > 0 ||\n target[0].nodeName.toLowerCase() === 'a' ||\n target.parents('a').length > 0;\n \n if (isLink) return;\n var pageContent, page;\n if (app.params.scrollTopOnNavbarClick && clicked.is('.navbar .center')) {\n // Find active page\n var navbar = clicked.parents('.navbar');\n \n // Static Layout\n pageContent = navbar.parents('.page-content');\n \n if (pageContent.length === 0) {\n // Fixed Layout\n if (navbar.parents('.page').length > 0) {\n pageContent = navbar.parents('.page').find('.page-content');\n }\n // Through Layout\n if (pageContent.length === 0) {\n if (navbar.nextAll('.pages').length > 0) {\n pageContent = navbar.nextAll('.pages').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n }\n }\n }\n if (app.params.scrollTopOnStatusbarClick && clicked.is('.statusbar-overlay')) {\n if ($('.popup.modal-in').length > 0) {\n // Check for opened popup\n pageContent = $('.popup.modal-in').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n else if ($('.panel.active').length > 0) {\n // Check for opened panel\n pageContent = $('.panel.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n else if ($('.views > .view.active').length > 0) {\n // View in tab bar app layout\n pageContent = $('.views > .view.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n else {\n // Usual case\n pageContent = $('.views').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n }\n \n if (pageContent && pageContent.length > 0) {\n // Check for tab\n if (pageContent.hasClass('tab')) {\n pageContent = pageContent.parent('.tabs').children('.page-content.active');\n }\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n }\n function handleClicks(e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var url = clicked.attr('href');\n var isLink = clicked[0].nodeName.toLowerCase() === 'a';\n \n // Check if link is external\n if (isLink) {\n if (clicked.is(app.params.externalLinks) || (url && url.indexOf('javascript:') >= 0)) {\n if(url && clicked.attr('target') === '_system') {\n e.preventDefault();\n window.open(url, '_system');\n }\n return;\n }\n }\n \n // Collect Clicked data- attributes\n var clickedData = clicked.dataset();\n \n // Smart Select\n if (clicked.hasClass('smart-select')) {\n if (app.smartSelectOpen) app.smartSelectOpen(clicked);\n }\n \n // Open Panel\n if (clicked.hasClass('open-panel')) {\n if ($('.panel').length === 1) {\n if ($('.panel').hasClass('panel-left')) app.openPanel('left');\n else app.openPanel('right');\n }\n else {\n if (clickedData.panel === 'right') app.openPanel('right');\n else app.openPanel('left');\n }\n }\n // Close Panel\n if (clicked.hasClass('close-panel')) {\n app.closePanel();\n }\n \n if (clicked.hasClass('panel-overlay') && app.params.panelsCloseByOutside) {\n app.closePanel();\n }\n // Popover\n if (clicked.hasClass('open-popover')) {\n var popover;\n if (clickedData.popover) {\n popover = clickedData.popover;\n }\n else popover = '.popover';\n app.popover(popover, clicked);\n }\n if (clicked.hasClass('close-popover')) {\n app.closeModal('.popover.modal-in');\n }\n // Popup\n var popup;\n if (clicked.hasClass('open-popup')) {\n if (clickedData.popup) {\n popup = clickedData.popup;\n }\n else popup = '.popup';\n app.popup(popup);\n }\n if (clicked.hasClass('close-popup')) {\n if (clickedData.popup) {\n popup = clickedData.popup;\n }\n else popup = '.popup.modal-in';\n app.closeModal(popup);\n }\n // Login Screen\n var loginScreen;\n if (clicked.hasClass('open-login-screen')) {\n if (clickedData.loginScreen) {\n loginScreen = clickedData.loginScreen;\n }\n else loginScreen = '.login-screen';\n app.loginScreen(loginScreen);\n }\n if (clicked.hasClass('close-login-screen')) {\n app.closeModal('.login-screen.modal-in');\n }\n // Close Modal\n if (clicked.hasClass('modal-overlay')) {\n if ($('.modal.modal-in').length > 0 && app.params.modalCloseByOutside)\n app.closeModal('.modal.modal-in');\n if ($('.actions-modal.modal-in').length > 0 && app.params.actionsCloseByOutside)\n app.closeModal('.actions-modal.modal-in');\n \n if ($('.popover.modal-in').length > 0) app.closeModal('.popover.modal-in');\n }\n if (clicked.hasClass('popup-overlay')) {\n if ($('.popup.modal-in').length > 0 && app.params.popupCloseByOutside)\n app.closeModal('.popup.modal-in');\n }\n if (clicked.hasClass('picker-modal-overlay')) {\n if ($('.picker-modal.modal-in').length > 0)\n app.closeModal('.picker-modal.modal-in');\n }\n \n // Picker\n if (clicked.hasClass('close-picker')) {\n var pickerToClose = $('.picker-modal.modal-in');\n if (pickerToClose.length > 0) {\n app.closeModal(pickerToClose);\n }\n else {\n pickerToClose = $('.popover.modal-in .picker-modal');\n if (pickerToClose.length > 0) {\n app.closeModal(pickerToClose.parents('.popover'));\n }\n }\n }\n if (clicked.hasClass('open-picker')) {\n var pickerToOpen;\n if (clickedData.picker) {\n pickerToOpen = clickedData.picker;\n }\n else pickerToOpen = '.picker-modal';\n app.pickerModal(pickerToOpen, clicked);\n }\n \n // Tabs\n var isTabLink;\n if (clicked.hasClass('tab-link')) {\n isTabLink = true;\n app.showTab(clickedData.tab || clicked.attr('href'), clicked);\n }\n // Swipeout Close\n if (clicked.hasClass('swipeout-close')) {\n app.swipeoutClose(clicked.parents('.swipeout-opened'));\n }\n // Swipeout Delete\n if (clicked.hasClass('swipeout-delete')) {\n if (clickedData.confirm) {\n var text = clickedData.confirm;\n var title = clickedData.confirmTitle;\n if (title) {\n app.confirm(text, title, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }, function () {\n if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout'));\n });\n }\n else {\n app.confirm(text, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }, function () {\n if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout'));\n });\n }\n }\n else {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }\n \n }\n // Sortable\n if (clicked.hasClass('toggle-sortable')) {\n app.sortableToggle(clickedData.sortable);\n }\n if (clicked.hasClass('open-sortable')) {\n app.sortableOpen(clickedData.sortable);\n }\n if (clicked.hasClass('close-sortable')) {\n app.sortableClose(clickedData.sortable);\n }\n // Accordion\n if (clicked.hasClass('accordion-item-toggle') || (clicked.hasClass('item-link') && clicked.parent().hasClass('accordion-item'))) {\n var accordionItem = clicked.parent('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('li');\n app.accordionToggle(accordionItem);\n }\n \n // Speed Dial\n if (clicked.hasClass('floating-button') && clicked.parent().hasClass('speed-dial')) {\n clicked.parent().toggleClass('speed-dial-opened');\n }\n if (clicked.hasClass('close-speed-dial')) {\n $('.speed-dial-opened').removeClass('speed-dial-opened');\n }\n \n // Load Page\n if (app.params.ajaxLinks && !clicked.is(app.params.ajaxLinks) || !isLink || !app.params.router) {\n return;\n }\n if (isLink) {\n e.preventDefault();\n }\n \n var validUrl = url && url.length > 0 && url !== '#' && !isTabLink;\n var template = clickedData.template;\n if (validUrl || clicked.hasClass('back') || template) {\n var view;\n if (clickedData.view) {\n view = $(clickedData.view)[0].f7View;\n }\n else {\n view = clicked.parents('.' + app.params.viewClass)[0] && clicked.parents('.' + app.params.viewClass)[0].f7View;\n if (view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;\n else if (view.params.linksView instanceof View) view = view.params.linksView;\n }\n }\n if (!view) {\n if (app.mainView) view = app.mainView;\n }\n if (!view) return;\n \n var pageName;\n if (!template) {\n if (url && url.indexOf('#') === 0 && url !== '#') {\n if (view.params.domCache) {\n pageName = url.split('#')[1];\n }\n else return;\n }\n if (url === '#' && !clicked.hasClass('back')) return;\n }\n else {\n url = undefined;\n }\n \n var animatePages;\n if (typeof clickedData.animatePages !== 'undefined') {\n animatePages = clickedData.animatePages;\n }\n else {\n if (clicked.hasClass('with-animation')) animatePages = true;\n if (clicked.hasClass('no-animation')) animatePages = false;\n }\n \n var options = {\n animatePages: animatePages,\n ignoreCache: clickedData.ignoreCache,\n force: clickedData.force,\n reload: clickedData.reload,\n reloadPrevious: clickedData.reloadPrevious,\n pageName: pageName,\n pushState: clickedData.pushState,\n url: url\n };\n \n if (app.params.template7Pages) {\n options.contextName = clickedData.contextName;\n var context = clickedData.context;\n if (context) {\n options.context = JSON.parse(context);\n }\n }\n if (template && template in t7.templates) {\n options.template = t7.templates[template];\n }\n \n if (clicked.hasClass('back')) view.router.back(options);\n else view.router.load(options);\n }\n }\n $(document).on('click', 'a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .swipeout-close, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle, .close-picker, .picker-modal-overlay', handleClicks);\n if (app.params.scrollTopOnNavbarClick || app.params.scrollTopOnStatusbarClick) {\n $(document).on('click', '.statusbar-overlay, .navbar .center', handleScrollTop);\n }\n \n // Prevent scrolling on overlays\n function preventScrolling(e) {\n e.preventDefault();\n }\n if (app.support.touch && !app.device.android) {\n $(document).on((app.params.fastClicks ? 'touchstart' : 'touchmove'), '.panel-overlay, .modal-overlay, .preloader-indicator-overlay, .popup-overlay, .searchbar-overlay', preventScrolling);\n }\n };\n \n"," /*======================================================\n ************ App Resize Actions ************\n ======================================================*/\n // Prevent iPad horizontal body scrolling when soft keyboard is opened\n function _fixIpadBodyScrolLeft() {\n if (app.device.ipad) {\n document.body.scrollLeft = 0;\n setTimeout(function () {\n document.body.scrollLeft = 0;\n }, 0);\n }\n }\n app.initResize = function () {\n $(window).on('resize', app.resize);\n $(window).on('orientationchange', app.orientationchange);\n };\n app.resize = function () {\n if (app.sizeNavbars) app.sizeNavbars();\n _fixIpadBodyScrolLeft();\n \n };\n app.orientationchange = function () {\n if (app.device && app.device.minimalUi) {\n if (window.orientation === 90 || window.orientation === -90) document.body.scrollTop = 0;\n }\n _fixIpadBodyScrolLeft();\n };\n \n"," /*===============================================================================\n ************ Store and parse forms data ************\n ===============================================================================*/\n app.formsData = {};\n app.formStoreData = function (formId, formJSON) {\n // Store form data in app.formsData\n app.formsData[formId] = formJSON;\n \n // Store form data in local storage also\n app.ls['f7form-' + formId] = JSON.stringify(formJSON);\n };\n app.formDeleteData = function (formId) {\n // Delete form data from app.formsData\n if (app.formsData[formId]) {\n app.formsData[formId] = '';\n delete app.formsData[formId];\n }\n \n // Delete form data from local storage also\n if (app.ls['f7form-' + formId]) {\n app.ls['f7form-' + formId] = '';\n app.ls.removeItem('f7form-' + formId);\n }\n };\n app.formGetData = function (formId) {\n // First of all check in local storage\n if (app.ls['f7form-' + formId]) {\n return JSON.parse(app.ls['f7form-' + formId]);\n }\n // Try to get it from formsData obj\n else if (app.formsData[formId]) return app.formsData[formId];\n };\n app.formToData = function (form) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Form data\n var formData = {};\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.prop('multiple')) {\n skipNames.push(name);\n formData[name] = [];\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (this.selected) formData[name].push(this.value);\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n formData[name] = [];\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name].push(this.value);\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name] = this.value;\n });\n break;\n default :\n formData[name] = input.val();\n break;\n }\n }\n \n });\n form.trigger('formToJSON formToData', {formData: formData});\n \n return formData;\n };\n app.formToJSON = app.formToData;\n app.formFromData = function (form, formData) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n \n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (!formData[name]) return;\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.prop('multiple')) {\n skipNames.push(name);\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.selected = true;\n else this.selected = false;\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.checked = true;\n else this.checked = false;\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name] === this.value) this.checked = true;\n else this.checked = false;\n });\n break;\n default :\n input.val(formData[name]);\n break;\n }\n }\n if (tag === 'select' && input.parents('.smart-select').length > 0) {\n input.trigger('change');\n }\n });\n form.trigger('formFromJSON formFromData', {formData: formData});\n };\n app.formFromJSON = app.formFromData;\n \n app.initFormsStorage = function (pageContainer) {\n pageContainer = $(pageContainer);\n var forms = pageContainer.find('form.store-data');\n if (forms.length === 0) return;\n \n // Parse forms data and fill form if there is such data\n forms.each(function () {\n var id = this.getAttribute('id');\n if (!id) return;\n var formData = app.formGetData(id);\n if (formData) app.formFromData(this, formData);\n });\n // Update forms data on inputs change\n function storeForm() {\n /*jshint validthis:true */\n var form = $(this);\n var formId = form[0].id;\n if (!formId) return;\n var formJSON = app.formToData(form);\n if (!formJSON) return;\n app.formStoreData(formId, formJSON);\n form.trigger('store', {data: formJSON});\n }\n forms.on('change submit', storeForm);\n \n // Detach Listeners\n function pageBeforeRemove() {\n forms.off('change submit', storeForm);\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n };\n"," /*===============================================================================\n ************ Ajax submit for forms ************\n ===============================================================================*/\n // Ajax submit on forms\n $(document).on('submit change', 'form.ajax-submit, form.ajax-submit-onchange', function (e) {\n var form = $(this);\n if (e.type === 'change' && !form.hasClass('ajax-submit-onchange')) return;\n if (e.type === 'submit') e.preventDefault();\n \n var method = (form.attr('method') || 'GET').toUpperCase();\n var contentType = form.prop('enctype') || form.attr('enctype');\n \n var url = form.attr('action');\n if (!url) return;\n \n var data;\n if (method === 'POST') data = new FormData(form[0]);\n else data = $.serializeObject(app.formToJSON(form[0]));\n \n var xhr = $.ajax({\n method: method,\n url: url,\n contentType: contentType,\n data: data,\n beforeSend: function (xhr) {\n form.trigger('beforeSubmit', {data:data, xhr: xhr});\n },\n error: function (xhr) {\n form.trigger('submitError', {data:data, xhr: xhr}); \n },\n success: function (data) {\n form.trigger('submitted', {data: data, xhr: xhr});\n }\n });\n });\n \n \n"," /*===============================================================================\n ************ Resizable textarea ************\n ===============================================================================*/\n app.resizeTextarea = function (textarea) {\n textarea = $(textarea);\n if (!textarea.hasClass('resizable')) {\n return;\n }\n textarea.css({'height': ''});\n var height = textarea[0].offsetHeight;\n var diff = height - textarea[0].clientHeight;\n var scrollHeight = textarea[0].scrollHeight;\n \n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n textarea.css('height', newAreaHeight + 'px');\n }\n };\n app.resizableTextarea = function (textarea) {\n textarea = $(textarea);\n if (textarea.length === 0) return;\n var textareaTimeout;\n function handleTextarea() {\n clearTimeout(textareaTimeout);\n textareaTimeout = setTimeout(function () {\n app.resizeTextarea(textarea);\n }, 0);\n }\n textarea[0].f7DestroyResizableTextarea = function () {\n textarea.off('change keydown keypress keyup paste cut', handleTextarea);\n };\n return textarea.on('change keydown keypress keyup paste cut', handleTextarea);\n };\n app.destroyResizableTextarea = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer.is('textarea') && pageContainer[0].f7DestroyResizableTextarea) {\n pageContainer[0].f7DestroyResizableTextarea();\n }\n else if (pageContainer.length > 0) {\n pageContainer.find('textarea.resiable').each(function () {\n var textarea = this;\n if (textarea.f7DestroyResizableTextarea) {\n textarea.f7DestroyResizableTextarea ();\n }\n });\n }\n };\n app.initPageResizableTextarea = function (pageContainer) {\n pageContainer = $(pageContainer);\n var textareas = pageContainer.find('textarea.resizable');\n textareas.each(function () {\n app.resizableTextarea(this);\n });\n };\n"," /*======================================================\n ************ Material Text Inputs ************\n ======================================================*/\n app.initPageMaterialInputs = function (pageContainer) {\n pageContainer = $(pageContainer);\n var textareas = pageContainer.find('textarea.resizable');\n pageContainer.find('.item-input').each(function () {\n var itemInput = $(this);\n var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image'];\n itemInput.find('input, select, textarea').each(function () {\n var input = $(this);\n if (notInputs.indexOf(input.attr('type')) < 0) {\n itemInput.addClass('item-input-field');\n if (input.val().trim() !== '') {\n input.parents('.item-input, .input-field').add(input.parents('.item-inner')).addClass('not-empty-state');\n }\n }\n });\n if (itemInput.parents('.input-item, .inputs-list').length > 0) return;\n itemInput.parents('.list-block').eq(0).addClass('inputs-list');\n });\n };\n /*======================================================\n ************ Material Focus Inputs ************\n ======================================================*/\n app.initMaterialWatchInputs = function () {\n var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image'];\n function addFocusState(e) {\n /*jshint validthis:true*/\n var i = $(this);\n var type = i.attr('type');\n if (notInputs.indexOf(type) >= 0) return;\n var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0));\n els.addClass('focus-state');\n }\n function removeFocusState(e) {\n /*jshint validthis:true*/\n var i = $(this), value = i.val();\n var type = i.attr('type');\n if (notInputs.indexOf(type) >= 0) return;\n var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0));\n els.removeClass('focus-state');\n if (value && value.trim() !== '') {\n els.addClass('not-empty-state');\n }\n else {\n els.removeClass('not-empty-state');\n }\n }\n function watchChangeState(e) {\n /*jshint validthis:true*/\n var i = $(this), value = i.val();\n var type = i.attr('type');\n if (notInputs.indexOf(type) >= 0) return;\n var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0));\n if (value && value.trim() !== '') {\n els.addClass('not-empty-state');\n }\n else {\n els.removeClass('not-empty-state');\n }\n }\n $(document).on('change', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', watchChangeState, true);\n $(document).on('focus', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', addFocusState, true);\n $(document).on('blur', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', removeFocusState, true);\n };\n"," /*======================================================\n ************ Handle Browser's History ************\n ======================================================*/\n app.pushStateQueue = [];\n app.pushStateClearQueue = function () {\n if (app.pushStateQueue.length === 0) return;\n var queue = app.pushStateQueue.pop();\n var animatePages;\n if (app.params.pushStateNoAnimation === true) animatePages = false;\n if (queue.action === 'back') {\n app.router.back(queue.view, {animatePages: animatePages});\n }\n if (queue.action === 'loadPage') {\n app.router.load(queue.view, {url: queue.stateUrl, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadContent') {\n app.router.load(queue.view, {content: queue.stateContent, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadPageName') {\n app.router.load(queue.view, {pageName: queue.statePageName, url: queue.stateUrl, animatePages: animatePages, pushState: false});\n }\n };\n \n app.initPushState = function () {\n var blockPopstate = true;\n $(window).on('load', function () {\n setTimeout(function () {\n blockPopstate = false;\n }, 0);\n });\n \n if (document.readyState && document.readyState === 'complete') {\n blockPopstate = false;\n }\n \n function handlePopState(e) {\n if (blockPopstate) return;\n var mainView = app.mainView;\n if (!mainView) return;\n var state = e.state;\n if (!state) {\n state = {\n viewIndex: app.views.indexOf(mainView),\n url : mainView.history[0]\n };\n }\n if (state.viewIndex < 0) return;\n var view = app.views[state.viewIndex];\n var stateUrl = state && state.url || undefined;\n var stateContent = state && state.content || undefined;\n var statePageName = state && state.pageName || undefined;\n var animatePages;\n \n if (app.params.pushStateNoAnimation === true) animatePages = false;\n \n if (stateUrl !== view.url) {\n if (view.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (view.allowPageChange) {\n app.router.back(view, {url:undefined, animatePages: animatePages, pushState: false, preloadOnly:false});\n }\n else {\n app.pushStateQueue.push({\n action: 'back',\n view: view\n });\n }\n }\n else if (stateContent) {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {content:stateContent, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadContent',\n stateContent: stateContent,\n view: view\n });\n }\n \n }\n else if (statePageName) {\n // Load Page by page name with Dom Cache\n if (view.allowPageChange) {\n app.router.load(view, {pageName:statePageName, url: stateUrl, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPageName',\n statePageName: statePageName,\n view: view\n });\n }\n }\n else {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {url:stateUrl, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPage',\n stateUrl: stateUrl,\n view: view\n });\n }\n }\n }\n }\n $(window).on('popstate', handlePopState);\n };\n \n"," /*===========================\n Framework7 Swiper Additions\n ===========================*/\n app.swiper = function (container, params) {\n return new Swiper(container, params);\n };\n app.initPageSwiper = function (pageContainer) {\n pageContainer = $(pageContainer);\n var swipers = pageContainer.find('.swiper-init, .tabs-swipeable-wrap');\n if (swipers.length === 0) return;\n function destroySwiperOnRemove(slider) {\n function destroySwiper() {\n slider.destroy();\n pageContainer.off('pageBeforeRemove', destroySwiper);\n }\n pageContainer.on('pageBeforeRemove', destroySwiper);\n }\n swipers.each(function () {\n var swiper = $(this), initialSlide;\n var params;\n if (swiper.hasClass('tabs-swipeable-wrap')) {\n swiper.addClass('swiper-container').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide');\n initialSlide = swiper.children('.tabs').children('.tab.active').index();\n }\n if (swiper.data('swiper')) {\n params = JSON.parse(swiper.data('swiper'));\n }\n else {\n params = swiper.dataset();\n }\n if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') {\n params.initialSlide = initialSlide;\n }\n if (swiper.hasClass('tabs-swipeable-wrap')) {\n params.onSlideChangeStart = function (s) {\n app.showTab(s.slides.eq(s.activeIndex));\n };\n }\n var _slider = app.swiper(swiper[0], params);\n destroySwiperOnRemove(_slider);\n });\n };\n app.reinitPageSwiper = function (pageContainer) {\n pageContainer = $(pageContainer);\n var sliders = pageContainer.find('.swiper-init, .tabs-swipeable-wrap');\n if (sliders.length === 0) return;\n for (var i = 0; i < sliders.length; i++) {\n var sliderInstance = sliders[0].swiper;\n if (sliderInstance) {\n sliderInstance.update(true);\n }\n }\n };\n \n"," /*======================================================\n ************ Photo Browser ************\n ======================================================*/\n var PhotoBrowser = function (params) {\n var pb = this, i;\n \n var defaults = {\n photos : [],\n initialSlide: 0,\n spaceBetween: 20,\n speed: 300,\n zoom: true,\n zoomMax: 3,\n zoomMin: 1,\n exposition: true,\n expositionHideCaptions: false,\n type: 'standalone',\n navbar: true,\n toolbar: true,\n theme: 'light',\n swipeToClose: true,\n backLinkText: 'Close',\n ofText: 'of',\n loop: false,\n lazyLoading: false,\n lazyLoadingInPrevNext: false,\n lazyLoadingOnTransitionStart: false,\n material: app.params.material,\n materialPreloaderSvg: app.params.materialPreloaderSvg,\n materialPreloaderHtml: app.params.materialPreloaderHtml,\n /*\n Callbacks:\n onLazyImageLoad(pb, slide, img)\n onLazyImageReady(pb, slide, img)\n onOpen(pb)\n onClose(pb)\n onTransitionStart(swiper)\n onTransitionEnd(swiper)\n onSlideChangeStart(swiper)\n onSlideChangeEnd(swiper)\n onTap(swiper, e)\n onClick(swiper, e)\n onDoubleTap(swiper, e)\n onSwipeToClose(pb)\n */\n };\n \n params = params || {};\n if (!params.backLinkText && app.params.material) defaults.backLinkText = '';\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n if (params.maxZoom) {\n params.zoomMax = params.maxZoom;\n }\n if (params.minZoom) {\n params.zoomMin = params.minZoom;\n }\n \n pb.params = params;\n pb.params.iconsColorClass = pb.params.iconsColor ? 'color-' + pb.params.iconsColor : (pb.params.theme === 'dark' ? 'color-white' : '');\n pb.params.preloaderColorClass = pb.params.theme === 'dark' ? 'preloader-white' : '';\n \n // Templates\n var photoTemplate = pb.params.photoTemplate || \n '
                    ' +\n '' +\n '' +\n '' +\n '
                    ';\n var photoLazyTemplate = pb.params.lazyPhotoTemplate ||\n '
                    ' +\n '
                    {{#if @root.material}}{{@root.materialPreloaderHtml}}{{/if}}
                    ' +\n '' +\n '' +\n '' +\n '
                    ';\n var objectTemplate = pb.params.objectTemplate ||\n '
                    {{js \"this.html || this\"}}
                    ';\n var captionTemplate = pb.params.captionTemplate ||\n '
                    ' +\n '{{caption}}' +\n '
                    ';\n var navbarTemplate = pb.params.navbarTemplate ||\n '
                    ' +\n '
                    ' +\n '' +\n '
                    ' +\n ' ' +\n '{{ofText}} ' +\n '' +\n '
                    ' +\n '
                    ' +\n '
                    ' +\n '
                    ';\n var toolbarTemplate = pb.params.toolbarTemplate ||\n '
                    ' +\n '
                    ' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
                    ' +\n '
                    ';\n \n var htmlTemplate = t7.compile('
                    ' +\n '
                    ' +\n '{{#unless material}}{{#if navbar}}' +\n navbarTemplate +\n '{{/if}}{{/unless}}' +\n '
                    ' +\n '{{#if material}}{{#if navbar}}' +\n navbarTemplate +\n '{{/if}}{{/if}}' +\n '{{#if toolbar}}' +\n toolbarTemplate +\n '{{/if}}' +\n '
                    ' +\n '{{#each photos}}{{#if caption}}' +\n captionTemplate +\n '{{/if}}{{/each}}' +\n '
                    ' +\n '
                    ' +\n '
                    ' +\n '{{#each photos}}' +\n '{{#js_compare \"this.html || ((typeof this === \\'string\\' || this instanceof String) && (this.indexOf(\\'<\\') >= 0 || this.indexOf(\\'>\\') >= 0))\"}}' +\n objectTemplate +\n '{{else}}' +\n '{{#if @root.lazyLoading}}' +\n photoLazyTemplate +\n '{{else}}' +\n photoTemplate +\n '{{/if}}' +\n '{{/js_compare}}' +\n '{{/each}}' +\n '
                    ' +\n '
                    ' +\n '
                    ' +\n '
                    ' +\n '
                    ')(pb.params);\n \n pb.activeIndex = pb.params.initialSlide;\n pb.openIndex = pb.activeIndex;\n pb.opened = false;\n \n pb.open = function (index) {\n if (typeof index === 'undefined') index = pb.activeIndex;\n index = parseInt(index, 10);\n if (pb.opened && pb.swiper) {\n pb.swiper.slideTo(index);\n return;\n }\n pb.opened = true;\n pb.openIndex = index;\n if (pb.params.type === 'standalone') {\n app.root.append(htmlTemplate);\n }\n if (pb.params.type === 'popup') {\n pb.popup = app.popup('
                    ' + htmlTemplate + '
                    ');\n $(pb.popup).on('closed', pb.onPopupClose);\n }\n if (pb.params.type === 'page') {\n $(document).on('pageBeforeInit', pb.onPageBeforeInit);\n $(document).on('pageBeforeRemove', pb.onPageBeforeRemove);\n if (!pb.params.view) pb.params.view = app.mainView;\n pb.params.view.loadContent(htmlTemplate);\n return;\n }\n pb.layout(pb.openIndex);\n if (pb.params.onOpen) {\n pb.params.onOpen(pb);\n }\n \n };\n pb.close = function () {\n pb.opened = false;\n if (!pb.swiperContainer || pb.swiperContainer.length === 0) {\n return;\n }\n if (pb.params.onClose) {\n pb.params.onClose(pb);\n }\n // Detach events\n pb.attachEvents(true);\n // Delete from DOM\n if (pb.params.type === 'standalone') {\n pb.container.removeClass('photo-browser-in').addClass('photo-browser-out').animationEnd(function () {\n pb.container.remove();\n });\n }\n // Destroy slider\n pb.swiper.destroy();\n // Delete references\n pb.swiper = pb.swiperContainer = pb.swiperWrapper = pb.slides = undefined; //gestureSlide = gestureImg = gestureImgWrap = undefined;\n };\n \n pb.onPopupClose = function (e) {\n pb.close();\n $(pb.popup).off('pageBeforeInit', pb.onPopupClose);\n };\n pb.onPageBeforeInit = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.layout(pb.openIndex);\n }\n $(document).off('pageBeforeInit', pb.onPageBeforeInit);\n };\n pb.onPageBeforeRemove = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.close();\n }\n $(document).off('pageBeforeRemove', pb.onPageBeforeRemove);\n };\n \n pb.onSliderTransitionStart = function (swiper) {\n pb.activeIndex = swiper.activeIndex;\n \n var current = swiper.activeIndex + 1;\n var total = swiper.slides.length;\n if (pb.params.loop) {\n total = total - 2;\n current = current - swiper.loopedSlides;\n if (current < 1) current = total + current;\n if (current > total) current = current - total;\n }\n pb.container.find('.photo-browser-current').text(current);\n pb.container.find('.photo-browser-total').text(total);\n \n $('.photo-browser-prev, .photo-browser-next').removeClass('photo-browser-link-inactive');\n \n if (swiper.isBeginning && !pb.params.loop) {\n $('.photo-browser-prev').addClass('photo-browser-link-inactive');\n }\n if (swiper.isEnd && !pb.params.loop) {\n $('.photo-browser-next').addClass('photo-browser-link-inactive');\n }\n \n // Update captions\n if (pb.captions.length > 0) {\n pb.captionsContainer.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active');\n var captionIndex = pb.params.loop ? swiper.slides.eq(swiper.activeIndex).attr('data-swiper-slide-index') : pb.activeIndex;\n pb.captionsContainer.find('[data-caption-index=\"' + captionIndex + '\"]').addClass('photo-browser-caption-active');\n }\n \n \n // Stop Video\n var previousSlideVideo = swiper.slides.eq(swiper.previousIndex).find('video');\n if (previousSlideVideo.length > 0) {\n if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause();\n }\n // Callback\n if (pb.params.onTransitionStart) pb.params.onTransitionStart(swiper);\n };\n pb.onSliderTransitionEnd = function (swiper) {\n if (pb.params.onTransitionEnd) pb.params.onTransitionEnd(swiper);\n };\n \n pb.layout = function (index) {\n if (pb.params.type === 'page') {\n pb.container = $('.photo-browser-swiper-container').parents('.view');\n }\n else {\n pb.container = $('.photo-browser');\n }\n if (pb.params.type === 'standalone') {\n pb.container.addClass('photo-browser-in');\n app.sizeNavbars(pb.container);\n }\n pb.swiperContainer = pb.container.find('.photo-browser-swiper-container');\n pb.swiperWrapper = pb.container.find('.photo-browser-swiper-wrapper');\n pb.slides = pb.container.find('.photo-browser-slide');\n pb.captionsContainer = pb.container.find('.photo-browser-captions');\n pb.captions = pb.container.find('.photo-browser-caption');\n \n var sliderSettings = {\n nextButton: pb.params.nextButton || '.photo-browser-next',\n prevButton: pb.params.prevButton || '.photo-browser-prev',\n indexButton: pb.params.indexButton,\n initialSlide: index,\n spaceBetween: pb.params.spaceBetween,\n speed: pb.params.speed,\n loop: pb.params.loop,\n lazyLoading: pb.params.lazyLoading,\n lazyLoadingInPrevNext: pb.params.lazyLoadingInPrevNext,\n lazyLoadingOnTransitionStart: pb.params.lazyLoadingOnTransitionStart,\n preloadImages: pb.params.lazyLoading ? false : true,\n zoom: pb.params.zoom,\n zoomMax: pb.params.zoomMax,\n zoomMin: pb.params.zoomMin,\n onTap: function (swiper, e) {\n if (pb.params.onTap) pb.params.onTap(swiper, e);\n },\n onClick: function (swiper, e) {\n if (pb.params.exposition) pb.toggleExposition();\n if (pb.params.onClick) pb.params.onClick(swiper, e);\n },\n onDoubleTap: function (swiper, e) {\n // pb.toggleZoom(e);\n if (pb.params.onDoubleTap) pb.params.onDoubleTap(swiper, e);\n },\n onTransitionStart: function (swiper) {\n pb.onSliderTransitionStart(swiper);\n },\n onTransitionEnd: function (swiper) {\n pb.onSliderTransitionEnd(swiper);\n },\n onSlideChangeStart: pb.params.onSlideChangeStart,\n onSlideChangeEnd: pb.params.onSlideChangeEnd,\n onLazyImageLoad: function (swiper, slide, img) {\n if (pb.params.onLazyImageLoad) pb.params.onLazyImageLoad(pb, slide, img);\n },\n onLazyImageReady: function (swiper, slide, img) {\n $(slide).removeClass('photo-browser-slide-lazy');\n if (pb.params.onLazyImageReady) pb.params.onLazyImageReady(pb, slide, img);\n }\n };\n \n if (pb.params.swipeToClose && pb.params.type !== 'page') {\n sliderSettings.onTouchStart = pb.swipeCloseTouchStart;\n sliderSettings.onTouchMoveOpposite = pb.swipeCloseTouchMove;\n sliderSettings.onTouchEnd = pb.swipeCloseTouchEnd;\n }\n \n pb.swiper = app.swiper(pb.swiperContainer, sliderSettings);\n if (index === 0) {\n pb.onSliderTransitionStart(pb.swiper);\n }\n pb.attachEvents();\n };\n pb.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n pb.container.find('.photo-browser-close-link')[action]('click', pb.close);\n };\n \n \n // Expose\n pb.exposed = false;\n pb.toggleExposition = function () {\n if (pb.container) pb.container.toggleClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.toggleClass('photo-browser-captions-exposed');\n pb.exposed = !pb.exposed;\n };\n pb.enableExposition = function () {\n if (pb.container) pb.container.addClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.addClass('photo-browser-captions-exposed');\n pb.exposed = true;\n };\n pb.disableExposition = function () {\n if (pb.container) pb.container.removeClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.removeClass('photo-browser-captions-exposed');\n pb.exposed = false;\n };\n \n // Swipe Up To Close\n var swipeToCloseIsTouched = false;\n var allowSwipeToClose = true;\n var swipeToCloseDiff, swipeToCloseStart, swipeToCloseCurrent, swipeToCloseStarted = false, swipeToCloseActiveSlide, swipeToCloseTimeStart;\n pb.swipeCloseTouchStart = function (swiper, e) {\n if (!allowSwipeToClose) return;\n swipeToCloseIsTouched = true;\n };\n pb.swipeCloseTouchMove = function (swiper, e) {\n if (!swipeToCloseIsTouched) return;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = true;\n swipeToCloseStart = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseActiveSlide = pb.swiper.slides.eq(pb.swiper.activeIndex);\n swipeToCloseTimeStart = (new Date()).getTime();\n }\n e.preventDefault();\n swipeToCloseCurrent = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseDiff = swipeToCloseStart - swipeToCloseCurrent;\n var opacity = 1 - Math.abs(swipeToCloseDiff) / 300;\n swipeToCloseActiveSlide.transform('translate3d(0,' + (-swipeToCloseDiff) + 'px,0)');\n pb.swiper.container.css('opacity', opacity).transition(0);\n };\n pb.swipeCloseTouchEnd = function (swiper, e) {\n swipeToCloseIsTouched = false;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = false;\n return;\n }\n swipeToCloseStarted = false;\n allowSwipeToClose = false;\n var diff = Math.abs(swipeToCloseDiff);\n var timeDiff = (new Date()).getTime() - swipeToCloseTimeStart;\n if ((timeDiff < 300 && diff > 20) || (timeDiff >= 300 && diff > 100)) {\n setTimeout(function () {\n if (pb.params.type === 'standalone') {\n pb.close();\n }\n if (pb.params.type === 'popup') {\n app.closeModal(pb.popup);\n }\n if (pb.params.onSwipeToClose) {\n pb.params.onSwipeToClose(pb);\n }\n allowSwipeToClose = true;\n }, 0);\n return;\n }\n if (diff !== 0) {\n swipeToCloseActiveSlide.addClass('transitioning').transitionEnd(function () {\n allowSwipeToClose = true;\n swipeToCloseActiveSlide.removeClass('transitioning');\n });\n }\n else {\n allowSwipeToClose = true;\n }\n pb.swiper.container.css('opacity', '').transition('');\n swipeToCloseActiveSlide.transform('');\n };\n \n return pb;\n };\n \n app.photoBrowser = function (params) {\n return new PhotoBrowser(params);\n };\n \n"," /*===============================================================================\n ************ Autocomplete ************\n ===============================================================================*/\n var Autocomplete = function (params) {\n var a = this;\n \n // Params\n var defaults = {\n // Standalone Options\n /*\n opener: undefined,\n */\n popupCloseText: 'Close',\n backText: 'Back',\n searchbarPlaceholderText: 'Search...',\n searchbarCancelText: 'Cancel',\n openIn: 'page',\n backOnSelect: false,\n notFoundText: 'Nothing found',\n /*\n pageTitle: undefined,\n */\n \n // Handle Data\n /*\n source: undefined,\n limit: undefined,\n */\n valueProperty: 'id',\n textProperty: 'text',\n \n // Dropdown Options\n /*\n dropdownPlaceholderText: 'Type anything...',\n */\n updateInputValueOnSelect: true,\n expandInput: false,\n \n // Preloader\n preloaderColor: false,\n preloader: false,\n \n // Templates\n /*\n itemTemplate: undefined,\n navbarTemplate: undefined,\n dropdownTemplate: undefined\n dropdownItemTemplate: undefined,\n dropdownPlaceholderTemplate: undefined\n */\n \n // Color themes\n /*\n navbarTheme: undefined,\n formTheme: undefined,\n */\n \n // Callbacks\n /*\n onChange: function (a, value) - for not dropdown\n onOpen: function (a)\n onClose: function (a)\n */\n };\n \n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n a.params = params;\n \n // Opener Link & View\n if (a.params.opener) {\n a.opener = $(a.params.opener);\n }\n var view = a.params.view;\n if (!a.params.view && a.opener && a.opener.length) {\n // Find related view\n view = a.opener.parents('.' + app.params.viewClass);\n if (view.length === 0) return;\n view = view[0].f7View;\n }\n \n // Input\n if (a.params.input) {\n a.input = $(a.params.input);\n if (a.input.length === 0 && a.params.openIn === 'dropdown') return;\n }\n \n // Array with selected items\n a.value = a.params.value || [];\n \n // ID & Inputs\n a.id = (new Date()).getTime();\n a.inputType = a.params.multiple ? 'checkbox' : 'radio';\n a.inputName = a.inputType + '-' + a.id;\n \n // Is Material\n var material = app.params.material;\n \n // Back On Select\n var backOnSelect = a.params.backOnSelect;\n \n if (a.params.openIn !== 'dropdown') {\n // Item Template\n a.itemTemplate = t7.compile(a.params.itemTemplate ||\n '
                  • ' +\n '' +\n '
                  • '\n );\n // Page Layout\n var pageTitle = a.params.pageTitle || '';\n if (!pageTitle && a.opener && a.opener.length) {\n pageTitle = a.opener.find('.item-title').text();\n }\n var pageName = 'autocomplete-' + a.inputName;\n \n var navbarTheme = a.params.navbarTheme,\n formTheme = a.params.formTheme;\n \n // Navbar HTML\n var navbarHTML;\n var noNavbar = '', noToolbar = '', navbarLayout;\n \n a.navbarTemplate = t7.compile(a.params.navbarTemplate ||\n '
                    ' +\n '
                    ' +\n '
                    ' +\n '{{#if material}}' +\n '' +\n '{{else}}' +\n '' +\n '' +\n '{{#if inPopup}}' +\n '{{popupCloseText}}' +\n '{{else}}' +\n '{{backText}}' +\n '{{/if}}' +\n '' +\n '{{/if}}' +\n '
                    ' +\n '
                    {{pageTitle}}
                    ' +\n '{{#if preloader}}' +\n '
                    ' +\n '
                    ' +\n '
                    ' +\n '{{/if}}' +\n '
                    ' +\n '
                    '\n );\n navbarHTML = a.navbarTemplate({\n pageTitle: pageTitle,\n backText: a.params.backText,\n popupCloseText: a.params.popupCloseText,\n openIn: a.params.openIn,\n navbarTheme: navbarTheme,\n inPopup: a.params.openIn === 'popup',\n inPage: a.params.openIn === 'page',\n material: material,\n preloader: a.params.preloader,\n preloaderColor: a.params.preloaderColor,\n });\n \n // Determine navbar layout type - static/fixed/through\n if (a.params.openIn === 'page') {\n navbarLayout = 'static';\n if (a.opener) {\n if (a.opener.parents('.navbar-through').length > 0) navbarLayout = 'through';\n if (a.opener.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = a.opener.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = a.opener.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n }\n else if (view.container) {\n if ($(view.container).hasClass('navbar-through') || $(view.container).find('.navbar-through').length > 0) navbarLayout = 'through';\n if ($(view.container).hasClass('navbar-fixed') || $(view.container).find('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = $(view.activePage.container).hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = $(view.activePage.container).hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n }\n }\n else {\n navbarLayout = 'fixed';\n }\n var searchbarHTML =\n '
                    ' +\n '
                    ' +\n '' +\n '' +\n '
                    ' +\n (material ? '' : '' + a.params.searchbarCancelText + '') +\n '
                    ' +\n '
                    ';\n var pageHTML =\n (navbarLayout === 'through' ? navbarHTML : '') +\n '
                    ' +\n '
                    ' +\n (navbarLayout === 'fixed' ? navbarHTML : '') +\n searchbarHTML +\n '
                    ' +\n (navbarLayout === 'static' ? navbarHTML : '') +\n '
                    ' +\n '
                      ' +\n '
                      ' +\n '
                      ' +\n '
                      • ' + a.params.notFoundText + '
                      ' +\n '
                      ' +\n '
                      ' +\n '
                        ' +\n '
                        ' +\n '
                        ' +\n '
                        ' +\n '
                        ';\n }\n else {\n a.dropdownItemTemplate = t7.compile(a.params.dropdownItemTemplate ||\n '
                      • ' +\n '' +\n '
                      • '\n );\n a.dropdownPlaceholderTemplate = t7.compile(a.params.dropdownPlaceholderTemplate ||\n '
                      • ' +\n '
                        ' +\n '
                        ' +\n '
                        {{text}}
                        ' +\n '
                        ' +\n '' +\n '
                      • '\n );\n a.dropdownTemplate = t7.compile(a.params.dropdownTemplate ||\n '
                        ' +\n '
                        ' +\n '
                        ' +\n '
                          ' +\n '
                          ' +\n '
                          ' +\n '{{#if preloader}}' +\n '
                          {{#if material}}{{materialPreloaderHtml}}{{/if}}
                          ' +\n '{{/if}}' +\n '
                          '\n );\n }\n \n // Define popup\n a.popup = undefined;\n \n // Define Dropdown\n a.dropdown = undefined;\n \n // Handle Input Value Change\n function handleInputValue (e) {\n var query = a.input.val();\n if (a.params.source) {\n a.params.source(a, query, function (items) {\n var itemsHTML = '';\n var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length;\n a.items = items;\n var i, j;\n var regExp = new RegExp('('+query+')', 'i');\n for (i = 0; i < limit; i++) {\n var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i];\n itemsHTML += a.dropdownItemTemplate({\n value: itemValue,\n text: (typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty]).replace(regExp, '$1')\n });\n }\n if (itemsHTML === '' && query === '' && a.params.dropdownPlaceholderText) {\n itemsHTML += a.dropdownPlaceholderTemplate({\n text: a.params.dropdownPlaceholderText,\n });\n }\n a.dropdown.find('ul').html(itemsHTML);\n });\n }\n }\n // Handle Drop Down Click\n function handleDropdownClick (e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var clickedItem;\n for (var i = 0; i < a.items.length; i++) {\n var itemValue = typeof a.items[i] === 'object' ? a.items[i][a.params.valueProperty] : a.items[i];\n var value = clicked.attr('data-value');\n if (itemValue === value || itemValue * 1 === value * 1) {\n clickedItem = a.items[i];\n }\n }\n if (a.params.updateInputValueOnSelect) {\n a.input.val(typeof clickedItem === 'object' ? clickedItem[a.params.textProperty] : clickedItem);\n a.input.trigger('input change');\n }\n \n if (a.params.onChange) {\n a.params.onChange(a, clickedItem);\n }\n \n a.close();\n }\n \n // Handle HTML Click to close Dropdown\n function closeOnHTMLClick (e) {\n var target = $(e.target);\n if (!(target.is(a.input[0]) || a.dropdown && target.parents(a.dropdown[0]).length > 0)) {\n a.close();\n }\n }\n \n a.positionDropDown = function () {\n var listBlock = a.input.parents('.list-block'),\n pageContent = a.input.parents('.page-content'),\n paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-top'), 10),\n // inputOffset = a.input.offset(),\n listBlockOffsetLeft = listBlock.length > 0 ? listBlock.offset().left - listBlock.parent().offset().left : 0,\n inputOffsetLeft = a.input.offset().left - (listBlock.length > 0 ? listBlock.offset().left : 0),\n inputOffsetTop = a.input.offset().top - (pageContent.offset().top - pageContent[0].scrollTop),\n maxHeight = pageContent[0].scrollHeight - paddingBottom - (inputOffsetTop + pageContent[0].scrollTop) - a.input[0].offsetHeight;\n \n a.dropdown.css({\n left: (listBlock.length > 0 ? listBlockOffsetLeft : inputOffsetLeft) + 'px',\n top: inputOffsetTop + pageContent[0].scrollTop + a.input[0].offsetHeight + 'px',\n width: (listBlock.length > 0 ? listBlock[0].offsetWidth : a.input[0].offsetWidth) + 'px'\n });\n a.dropdown.children('.autocomplete-dropdown-inner').css({\n maxHeight: maxHeight + 'px',\n paddingLeft: listBlock.length > 0 && !a.params.expandInput ? inputOffsetLeft - (material ? 16 : 15) + 'px' : ''\n });\n };\n \n // Event Listeners on new page\n a.pageInit = function (e) {\n var page = e.detail.page;\n a.page = $(page.container);\n a.pageData = page;\n if (page.name !== pageName) {\n return;\n }\n var container = $(page.container);\n // Init Search Bar\n var searchbar = app.searchbar(container.find('.searchbar'), {\n customSearch: true,\n onSearch: function (searchbar, data) {\n if (data.query.length === 0 && searchbar.active) {\n searchbar.overlay.addClass('searchbar-overlay-active');\n }\n else {\n searchbar.overlay.removeClass('searchbar-overlay-active');\n }\n \n var i, j, k;\n \n if (a.params.source) {\n a.params.source(a, data.query, function(items) {\n var itemsHTML = '';\n var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length;\n a.items = items;\n for (i = 0; i < limit; i++) {\n var selected = false;\n var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i];\n for (j = 0; j < a.value.length; j++) {\n var aValue = typeof a.value[j] === 'object' ? a.value[j][a.params.valueProperty] : a.value[j];\n if (aValue === itemValue || aValue * 1 === itemValue * 1) selected = true;\n }\n itemsHTML += a.itemTemplate({\n value: itemValue,\n text: typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty],\n inputType: a.inputType,\n id: a.id,\n inputName: a.inputName,\n selected: selected,\n checkbox: a.inputType === 'checkbox',\n material: material\n });\n }\n container.find('.autocomplete-found ul').html(itemsHTML);\n if (items.length === 0) {\n if (data.query.length !== 0) {\n container.find('.autocomplete-not-found').show();\n container.find('.autocomplete-found, .autocomplete-values').hide();\n }\n else {\n container.find('.autocomplete-values').show();\n container.find('.autocomplete-found, .autocomplete-not-found').hide();\n }\n }\n else {\n container.find('.autocomplete-found').show();\n container.find('.autocomplete-not-found, .autocomplete-values').hide();\n }\n });\n }\n }\n });\n \n // Save searchbar instance\n a.searchbar = searchbar;\n \n // Update values\n function updateValues() {\n var valuesHTML = '';\n var i;\n for (i = 0; i < a.value.length; i++) {\n \n valuesHTML += a.itemTemplate({\n value: typeof a.value[i] === 'object' ? a.value[i][a.params.valueProperty] : a.value[i],\n text: typeof a.value[i] === 'object' ? a.value[i][a.params.textProperty]: a.value[i],\n inputType: a.inputType,\n id: a.id,\n inputName: a.inputName + '-checked',\n checkbox: a.inputType === 'checkbox',\n material: material,\n selected: true\n });\n }\n container.find('.autocomplete-values ul').html(valuesHTML);\n }\n \n // Handle Inputs\n container.on('change', 'input[type=\"radio\"], input[type=\"checkbox\"]', function () {\n var i;\n var input = this;\n var value = input.value;\n var text = $(input).parents('li').find('.item-title').text();\n var isValues = $(input).parents('.autocomplete-values').length > 0;\n var item, itemValue, aValue;\n if (isValues) {\n if (a.inputType === 'checkbox' && !input.checked) {\n for (i = 0; i < a.value.length; i++) {\n aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty];\n if (aValue === value || aValue * 1 === value * 1) {\n a.value.splice(i, 1);\n }\n }\n updateValues();\n if (a.params.onChange) a.params.onChange(a, a.value);\n }\n return;\n }\n \n // Find Related Item\n for (i = 0; i < a.items.length; i++) {\n itemValue = typeof a.items[i] === 'string' ? a.items[i] : a.items[i][a.params.valueProperty];\n if (itemValue === value || itemValue * 1 === value * 1) item = a.items[i];\n }\n // Update Selected Value\n if (a.inputType === 'radio') {\n a.value = [item];\n }\n else {\n if (input.checked) {\n a.value.push(item);\n }\n else {\n for (i = 0; i < a.value.length; i++) {\n aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty];\n if (aValue === value || aValue * 1 === value * 1) {\n a.value.splice(i, 1);\n }\n }\n }\n }\n \n // Update Values Block\n updateValues();\n \n // On Select Callback\n if ((a.inputType === 'radio' && input.checked || a.inputType === 'checkbox') && a.params.onChange ) {\n a.params.onChange(a, a.value);\n }\n if (backOnSelect && a.inputType === 'radio') {\n if (a.params.openIn === 'popup') app.closeModal(a.popup);\n else view.router.back();\n }\n });\n \n // Update Values On Page Init\n updateValues();\n \n if (a.params.onOpen) a.params.onOpen(a);\n };\n \n // Show Hide Preloader\n a.showPreloader = function () {\n if (a.params.openIn === 'dropdown') {\n if (a.dropdown) a.dropdown.find('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n }\n else $('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n };\n \n a.hidePreloader = function () {\n if (a.params.openIn === 'dropdown') {\n if (a.dropdown) a.dropdown.find('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n }\n else $('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n };\n \n // Open Autocomplete Page/Popup\n a.open = function () {\n if (a.opened) return;\n a.opened = true;\n if (a.params.openIn === 'dropdown') {\n if (!a.dropdown) {\n a.dropdown = $(a.dropdownTemplate({\n preloader: a.params.preloader,\n preloaderColor: a.params.preloaderColor,\n material: material,\n materialPreloaderHtml: app.params.materialPreloaderHtml\n }));\n a.dropdown.on('click', 'label', handleDropdownClick);\n \n }\n var listBlock = a.input.parents('.list-block');\n if (listBlock.length && a.input.parents('.item-content').length > 0 && a.params.expandInput) {\n a.input.parents('.item-content').addClass('item-content-dropdown-expand');\n }\n a.positionDropDown();\n a.input.parents('.page-content').append(a.dropdown);\n a.dropdown.addClass('autocomplete-dropdown-in');\n a.input.trigger('input');\n $(window).on('resize', a.positionDropDown);\n if (a.params.onOpen) a.params.onOpen(a);\n }\n else {\n $(document).once('pageInit', '.autocomplete-page', a.pageInit);\n if (a.params.openIn === 'popup') {\n a.popup = app.popup(\n '
                          ' +\n '
                          ' +\n pageHTML +\n '
                          ' +\n '
                          '\n );\n a.popup = $(a.popup);\n a.popup.once('closed', function () {\n a.popup = undefined;\n a.opened = false;\n if (a.params.onClose) a.params.onClose(a);\n });\n }\n else {\n view.router.load({\n content: pageHTML\n });\n $(document).once('pageBack', '.autocomplete-page', function () {\n a.opened = false;\n if (a.params.onClose) a.params.onClose(a);\n });\n }\n }\n };\n a.close = function (e) {\n if (!a.opened) return;\n if (a.params.openIn === 'dropdown') {\n if (e && e.type === 'blur' && a.dropdown.find('label.active-state').length > 0) return;\n a.dropdown.removeClass('autocomplete-dropdown-in').remove();\n a.input.parents('.item-content-dropdown-expand').removeClass('item-content-dropdown-expand');\n a.opened = false;\n $(window).off('resize', a.positionDropDown);\n if (a.params.onClose) a.params.onClose(a);\n }\n if (a.params.openIn === 'popup') {\n if (a.popup) app.closeModal(a.popup);\n }\n };\n \n // Init Events\n a.initEvents = function (detach) {\n var method = detach ? 'off' : 'on';\n if (a.params.openIn !== 'dropdown' && a.opener) {\n a.opener[method]('click', a.open);\n }\n if (a.params.openIn === 'dropdown' && a.input) {\n a.input[method]('focus', a.open);\n a.input[method]('input', handleInputValue);\n if (app.device.android) {\n $('html')[method]('click', closeOnHTMLClick);\n }\n else {\n a.input[method]('blur', a.close);\n }\n }\n if (detach && a.dropdown) {\n a.dropdown = null;\n }\n };\n \n // Init/Destroy Methods\n a.init = function () {\n a.initEvents();\n };\n a.destroy = function () {\n a.initEvents(true);\n a = null;\n };\n \n // Init\n a.init();\n \n return a;\n };\n app.autocomplete = function (params) {\n return new Autocomplete(params);\n };\n"," /*======================================================\n ************ Picker ************\n ======================================================*/\n var Picker = function (params) {\n var p = this;\n var defaults = {\n updateValuesOnMomentum: false,\n updateValuesOnTouchmove: true,\n rotateEffect: false,\n momentumRatio: 7,\n freeMode: false,\n // Common settings\n closeByOutsideClick: true,\n scrollToInput: true,\n inputReadOnly: true,\n convertToPopover: true,\n onlyInPopover: false,\n toolbar: true,\n toolbarCloseText: 'Done',\n toolbarTemplate: \n '
                          ' +\n '
                          ' +\n '
                          ' +\n '
                          ' +\n '{{closeText}}' +\n '
                          ' +\n '
                          ' +\n '
                          '\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n p.params = params;\n p.cols = [];\n p.initialized = false;\n \n // Inline flag\n p.inline = p.params.container ? true : false;\n \n // 3D Transforms origin bug, only on safari\n var originBug = app.device.ios || (navigator.userAgent.toLowerCase().indexOf('safari') >= 0 && navigator.userAgent.toLowerCase().indexOf('chrome') < 0) && !app.device.android;\n \n // Should be converted to popover\n function isPopover() {\n var toPopover = false;\n if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover;\n if (!p.inline && p.params.input) {\n if (p.params.onlyInPopover) toPopover = true;\n else {\n if (app.device.ios) {\n toPopover = app.device.ipad ? true : false;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n } \n return toPopover; \n }\n function inPopover() {\n if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true;\n else return false;\n }\n \n // Value\n p.setValue = function (arrValues, transition) {\n var valueIndex = 0;\n if (p.cols.length === 0) {\n p.value = arrValues;\n p.updateValue(arrValues);\n return;\n }\n for (var i = 0; i < p.cols.length; i++) {\n if (p.cols[i] && !p.cols[i].divider) {\n p.cols[i].setValue(arrValues[valueIndex], transition);\n valueIndex++;\n }\n }\n };\n p.updateValue = function (forceValues) {\n var newValue = forceValues || [];\n var newDisplayValue = [];\n for (var i = 0; i < p.cols.length; i++) {\n if (!p.cols[i].divider) {\n newValue.push(p.cols[i].value);\n newDisplayValue.push(p.cols[i].displayValue);\n }\n }\n if (newValue.indexOf(undefined) >= 0) {\n return;\n }\n p.value = newValue;\n p.displayValue = newDisplayValue;\n if (p.params.onChange) {\n p.params.onChange(p, p.value, p.displayValue);\n }\n if (p.input && p.input.length > 0) {\n $(p.input).val(p.params.formatValue ? p.params.formatValue(p, p.value, p.displayValue) : p.value.join(' '));\n $(p.input).trigger('change');\n }\n };\n \n // Columns Handlers\n p.initPickerCol = function (colElement, updateItems) {\n var colContainer = $(colElement);\n var colIndex = colContainer.index();\n var col = p.cols[colIndex];\n if (col.divider) return;\n col.container = colContainer;\n col.wrapper = col.container.find('.picker-items-col-wrapper');\n col.items = col.wrapper.find('.picker-item');\n \n var i, j;\n var wrapperHeight, itemHeight, itemsHeight, minTranslate, maxTranslate;\n col.replaceValues = function (values, displayValues) {\n col.destroyEvents();\n col.values = values;\n col.displayValues = displayValues;\n var newItemsHTML = p.columnHTML(col, true);\n col.wrapper.html(newItemsHTML);\n col.items = col.wrapper.find('.picker-item');\n col.calcSize();\n col.setValue(col.values[0], 0, true);\n col.initEvents();\n };\n col.calcSize = function () {\n if (p.params.rotateEffect) {\n col.container.removeClass('picker-items-col-absolute');\n if (!col.width) col.container.css({width:''});\n }\n var colWidth, colHeight;\n colWidth = 0;\n colHeight = col.container[0].offsetHeight;\n wrapperHeight = col.wrapper[0].offsetHeight;\n itemHeight = col.items[0].offsetHeight;\n itemsHeight = itemHeight * col.items.length;\n minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2;\n maxTranslate = colHeight / 2 - itemHeight / 2; \n if (col.width) {\n colWidth = col.width;\n if (parseInt(colWidth, 10) === colWidth) colWidth = colWidth + 'px';\n col.container.css({width: colWidth});\n }\n if (p.params.rotateEffect) {\n if (!col.width) {\n col.items.each(function () {\n var item = $(this);\n item.css({width:'auto'});\n colWidth = Math.max(colWidth, item[0].offsetWidth);\n item.css({width:''});\n });\n col.container.css({width: (colWidth + 2) + 'px'});\n }\n col.container.addClass('picker-items-col-absolute');\n }\n };\n col.calcSize();\n \n col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)').transition(0);\n \n \n var activeIndex = 0;\n var animationFrameId;\n \n // Set Value Function\n col.setValue = function (newValue, transition, valueCallbacks) {\n if (typeof transition === 'undefined') transition = '';\n var newActiveIndex = col.wrapper.find('.picker-item[data-picker-value=\"' + newValue + '\"]').index();\n if(typeof newActiveIndex === 'undefined' || newActiveIndex === -1) {\n return;\n }\n var newTranslate = -newActiveIndex * itemHeight + maxTranslate;\n // Update wrapper\n col.wrapper.transition(transition);\n col.wrapper.transform('translate3d(0,' + (newTranslate) + 'px,0)');\n \n // Watch items\n if (p.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex ) {\n $.cancelAnimationFrame(animationFrameId);\n col.wrapper.transitionEnd(function(){\n $.cancelAnimationFrame(animationFrameId);\n });\n updateDuringScroll();\n }\n \n // Update items\n col.updateItems(newActiveIndex, newTranslate, transition, valueCallbacks);\n };\n \n col.updateItems = function (activeIndex, translate, transition, valueCallbacks) {\n if (typeof translate === 'undefined') {\n translate = $.getTranslate(col.wrapper[0], 'y');\n }\n if(typeof activeIndex === 'undefined') activeIndex = -Math.round((translate - maxTranslate)/itemHeight);\n if (activeIndex < 0) activeIndex = 0;\n if (activeIndex >= col.items.length) activeIndex = col.items.length - 1;\n var previousActiveIndex = col.activeIndex;\n col.activeIndex = activeIndex;\n col.wrapper.find('.picker-selected').removeClass('picker-selected');\n \n col.items.transition(transition);\n \n var selectedItem = col.items.eq(activeIndex).addClass('picker-selected').transform('');\n \n // Set 3D rotate effect\n if (p.params.rotateEffect) {\n var percentage = (translate - (Math.floor((translate - maxTranslate)/itemHeight) * itemHeight + maxTranslate)) / itemHeight;\n \n col.items.each(function () {\n var item = $(this);\n var itemOffsetTop = item.index() * itemHeight;\n var translateOffset = maxTranslate - translate;\n var itemOffset = itemOffsetTop - translateOffset;\n var percentage = itemOffset / itemHeight;\n \n var itemsFit = Math.ceil(col.height / itemHeight / 2) + 1;\n \n var angle = (-18*percentage);\n if (angle > 180) angle = 180;\n if (angle < -180) angle = -180;\n // Far class\n if (Math.abs(percentage) > itemsFit) item.addClass('picker-item-far');\n else item.removeClass('picker-item-far');\n // Set transform\n item.transform('translate3d(0, ' + (-translate + maxTranslate) + 'px, ' + (originBug ? -110 : 0) + 'px) rotateX(' + angle + 'deg)');\n });\n }\n \n if (valueCallbacks || typeof valueCallbacks === 'undefined') {\n // Update values\n col.value = selectedItem.attr('data-picker-value');\n col.displayValue = col.displayValues ? col.displayValues[activeIndex] : col.value;\n // On change callback\n if (previousActiveIndex !== activeIndex) {\n if (col.onChange) {\n col.onChange(p, col.value, col.displayValue);\n }\n p.updateValue();\n }\n }\n };\n \n function updateDuringScroll() {\n animationFrameId = $.requestAnimationFrame(function () {\n col.updateItems(undefined, undefined, 0);\n updateDuringScroll();\n });\n }\n \n // Update items on init\n if (updateItems) col.updateItems(0, maxTranslate, 0);\n \n var allowItemClick = true;\n var isTouched, isMoved, touchStartY, touchCurrentY, touchStartTime, touchEndTime, startTranslate, returnTo, currentTranslate, prevTranslate, velocityTranslate, velocityTime;\n function handleTouchStart (e) {\n if (isMoved || isTouched) return;\n e.preventDefault();\n isTouched = true;\n touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n \n allowItemClick = true;\n startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y');\n }\n function handleTouchMove (e) {\n if (!isTouched) return;\n e.preventDefault();\n allowItemClick = false;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (!isMoved) {\n // First move\n $.cancelAnimationFrame(animationFrameId);\n isMoved = true;\n startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y');\n col.wrapper.transition(0);\n }\n \n var diff = touchCurrentY - touchStartY;\n currentTranslate = startTranslate + diff;\n returnTo = undefined;\n \n // Normalize translate\n if (currentTranslate < minTranslate) {\n currentTranslate = minTranslate - Math.pow(minTranslate - currentTranslate, 0.8);\n returnTo = 'min';\n }\n if (currentTranslate > maxTranslate) {\n currentTranslate = maxTranslate + Math.pow(currentTranslate - maxTranslate, 0.8);\n returnTo = 'max';\n }\n // Transform wrapper\n col.wrapper.transform('translate3d(0,' + currentTranslate + 'px,0)');\n \n // Update items\n col.updateItems(undefined, currentTranslate, 0, p.params.updateValuesOnTouchmove);\n \n // Calc velocity\n velocityTranslate = currentTranslate - prevTranslate || currentTranslate;\n velocityTime = (new Date()).getTime();\n prevTranslate = currentTranslate;\n }\n function handleTouchEnd (e) {\n if (!isTouched || !isMoved) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n col.wrapper.transition('');\n if (returnTo) {\n if (returnTo === 'min') {\n col.wrapper.transform('translate3d(0,' + minTranslate + 'px,0)');\n }\n else col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)');\n }\n touchEndTime = new Date().getTime();\n var velocity, newTranslate;\n if (touchEndTime - touchStartTime > 300) {\n newTranslate = currentTranslate;\n }\n else {\n velocity = Math.abs(velocityTranslate / (touchEndTime - velocityTime));\n newTranslate = currentTranslate + velocityTranslate * p.params.momentumRatio;\n }\n \n newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate);\n \n // Active Index\n var activeIndex = -Math.floor((newTranslate - maxTranslate)/itemHeight);\n \n // Normalize translate\n if (!p.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate;\n \n // Transform wrapper\n col.wrapper.transform('translate3d(0,' + (parseInt(newTranslate,10)) + 'px,0)');\n \n // Update items\n col.updateItems(activeIndex, newTranslate, '', true);\n \n // Watch items\n if (p.params.updateValuesOnMomentum) {\n updateDuringScroll();\n col.wrapper.transitionEnd(function(){\n $.cancelAnimationFrame(animationFrameId);\n });\n }\n \n // Allow click\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n \n function handleClick(e) {\n if (!allowItemClick) return;\n $.cancelAnimationFrame(animationFrameId);\n /*jshint validthis:true */\n var value = $(this).attr('data-picker-value');\n col.setValue(value);\n }\n \n col.initEvents = function (detach) {\n var method = detach ? 'off' : 'on';\n col.container[method](app.touchEvents.start, handleTouchStart);\n col.container[method](app.touchEvents.move, handleTouchMove);\n col.container[method](app.touchEvents.end, handleTouchEnd);\n col.items[method]('click', handleClick);\n };\n col.destroyEvents = function () {\n col.initEvents(true);\n };\n \n col.container[0].f7DestroyPickerCol = function () {\n col.destroyEvents();\n };\n \n col.initEvents();\n \n };\n p.destroyPickerCol = function (colContainer) {\n colContainer = $(colContainer);\n if ('f7DestroyPickerCol' in colContainer[0]) colContainer[0].f7DestroyPickerCol();\n };\n // Resize cols\n function resizeCols() {\n if (!p.opened) return;\n for (var i = 0; i < p.cols.length; i++) {\n if (!p.cols[i].divider) {\n p.cols[i].calcSize();\n p.cols[i].setValue(p.cols[i].value, 0, false);\n }\n }\n }\n $(window).on('resize', resizeCols);\n \n // HTML Layout\n p.columnHTML = function (col, onlyItems) {\n var columnItemsHTML = '';\n var columnHTML = '';\n if (col.divider) {\n columnHTML += '
                          ' + col.content + '
                          ';\n }\n else {\n for (var j = 0; j < col.values.length; j++) {\n columnItemsHTML += '
                          ' + (col.displayValues ? col.displayValues[j] : col.values[j]) + '
                          ';\n }\n columnHTML += '
                          ' + columnItemsHTML + '
                          ';\n }\n return onlyItems ? columnItemsHTML : columnHTML;\n };\n p.layout = function () {\n var pickerHTML = '';\n var pickerClass = '';\n var i;\n p.cols = [];\n var colsHTML = '';\n for (i = 0; i < p.params.cols.length; i++) {\n var col = p.params.cols[i];\n colsHTML += p.columnHTML(p.params.cols[i]);\n p.cols.push(col);\n }\n pickerClass = 'picker-modal picker-columns ' + (p.params.cssClass || '') + (p.params.rotateEffect ? ' picker-3d' : '');\n pickerHTML =\n '
                          ' +\n (p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '') +\n '
                          ' +\n colsHTML +\n '
                          ' +\n '
                          ' +\n '
                          ';\n \n p.pickerHTML = pickerHTML; \n };\n \n // Input Events\n function openOnInput(e) {\n e.preventDefault();\n if (p.opened) return;\n p.open();\n if (p.params.scrollToInput && !isPopover()) {\n var pageContent = p.input.parents('.page-content');\n if (pageContent.length === 0) return;\n \n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(),\n newPaddingBottom;\n var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = p.container.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n }\n function closeOnHTMLClick(e) {\n if (inPopover()) return;\n if (p.input && p.input.length > 0) {\n if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close();\n }\n else {\n if ($(e.target).parents('.picker-modal').length === 0) p.close(); \n }\n }\n \n if (p.params.input) {\n p.input = $(p.params.input);\n if (p.input.length > 0) {\n if (p.params.inputReadOnly) p.input.prop('readOnly', true);\n if (!p.inline) {\n p.input.on('click', openOnInput); \n }\n if (p.params.inputReadOnly) {\n p.input.on('focus mousedown', function (e) {\n e.preventDefault();\n });\n }\n }\n \n }\n \n if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick);\n \n // Open\n function onPickerClose() {\n p.opened = false;\n if (p.input && p.input.length > 0) {\n p.input.parents('.page-content').css({'padding-bottom': ''});\n if (app.params.material) p.input.trigger('blur');\n }\n if (p.params.onClose) p.params.onClose(p);\n \n // Destroy events\n p.container.find('.picker-items-col').each(function () {\n p.destroyPickerCol(this);\n });\n }\n \n p.opened = false;\n p.open = function () {\n var toPopover = isPopover();\n \n if (!p.opened) {\n \n // Layout\n p.layout();\n \n // Append\n if (toPopover) {\n p.pickerHTML = '
                          ' + p.pickerHTML + '
                          ';\n p.popover = app.popover(p.pickerHTML, p.params.input, true);\n p.container = $(p.popover).find('.picker-modal');\n $(p.popover).on('close', function () {\n onPickerClose();\n });\n }\n else if (p.inline) {\n p.container = $(p.pickerHTML);\n p.container.addClass('picker-modal-inline');\n $(p.params.container).append(p.container);\n }\n else {\n p.container = $(app.pickerModal(p.pickerHTML));\n $(p.container)\n .on('close', function () {\n onPickerClose();\n });\n }\n \n // Store picker instance\n p.container[0].f7Picker = p;\n \n // Init Events\n p.container.find('.picker-items-col').each(function () {\n var updateItems = true;\n if ((!p.initialized && p.params.value) || (p.initialized && p.value)) updateItems = false;\n p.initPickerCol(this, updateItems);\n });\n \n // Set value\n if (!p.initialized) {\n if (p.value) p.setValue(p.value, 0);\n else if (p.params.value) {\n p.setValue(p.params.value, 0);\n }\n }\n else {\n if (p.value) p.setValue(p.value, 0);\n }\n \n // Material Focus\n if (p.input && p.input.length > 0 && app.params.material) {\n p.input.trigger('focus');\n }\n }\n \n // Set flag\n p.opened = true;\n p.initialized = true;\n \n if (p.params.onOpen) p.params.onOpen(p);\n };\n \n // Close\n p.close = function () {\n if (!p.opened || p.inline) return;\n if (inPopover()) {\n app.closeModal(p.popover);\n return;\n }\n else {\n app.closeModal(p.container);\n return;\n }\n };\n \n // Destroy\n p.destroy = function () {\n p.close();\n if (p.params.input && p.input.length > 0) {\n p.input.off('click focus', openOnInput);\n }\n $('html').off('click', closeOnHTMLClick);\n $(window).off('resize', resizeCols);\n };\n \n if (p.inline) {\n p.open();\n }\n else {\n if (!p.initialized && p.params.value) p.setValue(p.params.value);\n }\n \n return p;\n };\n app.picker = function (params) {\n return new Picker(params);\n };\n"," /*======================================================\n ************ Calendar ************\n ======================================================*/\n var Calendar = function (params) {\n var p = this;\n var defaults = {\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August' , 'September' , 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n firstDay: 1, // First day of the week, Monday\n weekendDays: [0, 6], // Sunday and Saturday\n multiple: false,\n rangePicker: false,\n dateFormat: 'yyyy-mm-dd',\n direction: 'horizontal', // or 'vertical'\n minDate: null,\n maxDate: null,\n disabled: null, // dates range of disabled days\n events: null, // dates range of days with events\n rangesClasses: null, //array with custom classes date ranges\n touchMove: true,\n animate: true,\n closeOnSelect: false,\n monthPicker: true,\n monthPickerTemplate:\n '
                          ' +\n '' +\n '' +\n '' +\n '
                          ',\n yearPicker: true,\n yearPickerTemplate:\n '
                          ' +\n '' +\n '' +\n '' +\n '
                          ',\n weekHeader: true,\n // Common settings\n closeByOutsideClick: true,\n scrollToInput: true,\n inputReadOnly: true,\n convertToPopover: true,\n onlyInPopover: false,\n toolbar: true,\n toolbarCloseText: 'Done',\n headerPlaceholder: 'Select date',\n header: app.params.material,\n footer: app.params.material,\n toolbarTemplate:\n '
                          ' +\n '
                          ' +\n '{{monthPicker}}' +\n '{{yearPicker}}' +\n '
                          ' +\n '
                          ',\n headerTemplate:\n '
                          ' +\n '
                          {{placeholder}}
                          ' +\n '
                          ',\n footerTemplate:\n '
                          ' +\n '{{closeText}}' +\n '
                          ',\n \n /* Callbacks\n onMonthAdd\n onChange\n onOpen\n onClose\n onDayClick\n onMonthYearChangeStart\n onMonthYearChangeEnd\n */\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n p.params = params;\n p.initialized = false;\n \n // Inline flag\n p.inline = p.params.container ? true : false;\n \n // Is horizontal\n p.isH = p.params.direction === 'horizontal';\n \n // RTL inverter\n var inverter = p.isH ? (app.rtl ? -1 : 1) : 1;\n \n // Animating flag\n p.animating = false;\n \n // Should be converted to popover\n function isPopover() {\n var toPopover = false;\n if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover;\n if (!p.inline && p.params.input) {\n if (p.params.onlyInPopover) toPopover = true;\n else {\n if (app.device.ios) {\n toPopover = app.device.ipad ? true : false;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n }\n return toPopover;\n }\n function inPopover() {\n if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true;\n else return false;\n }\n \n // Format date\n function formatDate(date) {\n date = new Date(date);\n var year = date.getFullYear();\n var month = date.getMonth();\n var month1 = month + 1;\n var day = date.getDate();\n var weekDay = date.getDay();\n \n return p.params.dateFormat\n .replace(/yyyy/g, year)\n .replace(/yy/g, (year + '').substring(2))\n .replace(/mm/g, month1 < 10 ? '0' + month1 : month1)\n .replace(/m(\\W+)/g, month1 + '$1')\n .replace(/MM/g, p.params.monthNames[month])\n .replace(/M(\\W+)/g, p.params.monthNamesShort[month] + '$1')\n .replace(/dd/g, day < 10 ? '0' + day : day)\n .replace(/d(\\W+)/g, day + '$1')\n .replace(/DD/g, p.params.dayNames[weekDay])\n .replace(/D(\\W+)/g, p.params.dayNamesShort[weekDay] + '$1');\n }\n \n \n // Value\n p.addValue = function (value) {\n if (p.params.multiple) {\n if (!p.value) p.value = [];\n var inValuesIndex;\n for (var i = 0; i < p.value.length; i++) {\n if (new Date(value).getTime() === new Date(p.value[i]).getTime()) {\n inValuesIndex = i;\n }\n }\n if (typeof inValuesIndex === 'undefined') {\n p.value.push(value);\n }\n else {\n p.value.splice(inValuesIndex, 1);\n }\n p.updateValue();\n }\n else if (p.params.rangePicker) {\n if (!p.value) p.value = [];\n if (p.value.length === 2 || p.value.length === 0) {\n p.value = [];\n }\n if (p.value[0] !== value) p.value.push(value);\n else p.value = [];\n p.value.sort(function (a,b) {\n return a - b;\n });\n p.updateValue();\n }\n else {\n p.value = [value];\n p.updateValue();\n }\n };\n p.setValue = function (arrValues) {\n p.value = arrValues;\n p.updateValue();\n };\n p.updateValue = function (onlyHeader) {\n var i, inputValue;\n if (p.container && p.container.length > 0) {\n p.wrapper.find('.picker-calendar-day-selected').removeClass('picker-calendar-day-selected');\n var valueDate;\n if (p.params.rangePicker && p.value.length === 2) {\n for (i = p.value[0]; i <= p.value[1]; i += 24*60*60*1000) {\n valueDate = new Date(i);\n p.wrapper.find('.picker-calendar-day[data-date=\"' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '\"]').addClass('picker-calendar-day-selected');\n }\n }\n else {\n for (i = 0; i < p.value.length; i++) {\n valueDate = new Date(p.value[i]);\n p.wrapper.find('.picker-calendar-day[data-date=\"' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '\"]').addClass('picker-calendar-day-selected');\n }\n }\n }\n \n if (p.params.onChange) {\n p.params.onChange(p, p.value);\n }\n if ((p.input && p.input.length > 0) || (app.params.material && p.params.header)) {\n if (p.params.formatValue) inputValue = p.params.formatValue(p, p.value);\n else {\n inputValue = [];\n for (i = 0; i < p.value.length; i++) {\n inputValue.push(formatDate(p.value[i]));\n }\n inputValue = inputValue.join(p.params.rangePicker ? ' - ' : ', ');\n }\n if (app.params.material && p.params.header && p.container && p.container.length > 0) {\n p.container.find('.picker-calendar-selected-date').text(inputValue);\n }\n if (p.input && p.input.length > 0 && !onlyHeader) {\n $(p.input).val(inputValue);\n $(p.input).trigger('change');\n }\n \n }\n };\n \n // Columns Handlers\n p.initCalendarEvents = function () {\n var col;\n var allowItemClick = true;\n var isTouched, isMoved, touchStartX, touchStartY, touchCurrentX, touchCurrentY, touchStartTime, touchEndTime, startTranslate, currentTranslate, wrapperWidth, wrapperHeight, percentage, touchesDiff, isScrolling;\n function handleTouchStart (e) {\n if (isMoved || isTouched) return;\n // e.preventDefault();\n isTouched = true;\n touchStartX = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n percentage = 0;\n allowItemClick = true;\n isScrolling = undefined;\n startTranslate = currentTranslate = p.monthsTranslate;\n }\n function handleTouchMove (e) {\n if (!isTouched) return;\n \n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX));\n }\n if (p.isH && isScrolling) {\n isTouched = false;\n return;\n }\n e.preventDefault();\n if (p.animating) {\n isTouched = false;\n return;\n }\n allowItemClick = false;\n if (!isMoved) {\n // First move\n isMoved = true;\n wrapperWidth = p.wrapper[0].offsetWidth;\n wrapperHeight = p.wrapper[0].offsetHeight;\n p.wrapper.transition(0);\n }\n \n touchesDiff = p.isH ? touchCurrentX - touchStartX : touchCurrentY - touchStartY;\n percentage = touchesDiff/(p.isH ? wrapperWidth : wrapperHeight);\n currentTranslate = (p.monthsTranslate * inverter + percentage) * 100;\n \n // Transform wrapper\n p.wrapper.transform('translate3d(' + (p.isH ? currentTranslate : 0) + '%, ' + (p.isH ? 0 : currentTranslate) + '%, 0)');\n \n }\n function handleTouchEnd (e) {\n if (!isTouched || !isMoved) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n \n touchEndTime = new Date().getTime();\n if (touchEndTime - touchStartTime < 300) {\n if (Math.abs(touchesDiff) < 10) {\n p.resetMonth();\n }\n else if (touchesDiff >= 10) {\n if (app.rtl) p.nextMonth();\n else p.prevMonth();\n }\n else {\n if (app.rtl) p.prevMonth();\n else p.nextMonth();\n }\n }\n else {\n if (percentage <= -0.5) {\n if (app.rtl) p.prevMonth();\n else p.nextMonth();\n }\n else if (percentage >= 0.5) {\n if (app.rtl) p.nextMonth();\n else p.prevMonth();\n }\n else {\n p.resetMonth();\n }\n }\n \n // Allow click\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n \n function handleDayClick(e) {\n if (!allowItemClick) return;\n var day = $(e.target).parents('.picker-calendar-day');\n if (day.length === 0 && $(e.target).hasClass('picker-calendar-day')) {\n day = $(e.target);\n }\n if (day.length === 0) return;\n if (day.hasClass('picker-calendar-day-selected') && !(p.params.multiple || p.params.rangePicker)) return;\n if (day.hasClass('picker-calendar-day-disabled')) return;\n if (!p.params.rangePicker) {\n if (day.hasClass('picker-calendar-day-next')) p.nextMonth();\n if (day.hasClass('picker-calendar-day-prev')) p.prevMonth();\n }\n var dateYear = day.attr('data-year');\n var dateMonth = day.attr('data-month');\n var dateDay = day.attr('data-day');\n if (p.params.onDayClick) {\n p.params.onDayClick(p, day[0], dateYear, dateMonth, dateDay);\n }\n p.addValue(new Date(dateYear, dateMonth, dateDay).getTime());\n if (p.params.closeOnSelect) {\n if (p.params.rangePicker && p.value.length === 2 || !p.params.rangePicker) p.close();\n }\n }\n \n p.container.find('.picker-calendar-prev-month').on('click', p.prevMonth);\n p.container.find('.picker-calendar-next-month').on('click', p.nextMonth);\n p.container.find('.picker-calendar-prev-year').on('click', p.prevYear);\n p.container.find('.picker-calendar-next-year').on('click', p.nextYear);\n p.wrapper.on('click', handleDayClick);\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n if (p.params.touchMove) {\n p.wrapper.on(app.touchEvents.start, handleTouchStart, passiveListener);\n p.wrapper.on(app.touchEvents.move, handleTouchMove);\n p.wrapper.on(app.touchEvents.end, handleTouchEnd, passiveListener);\n }\n \n p.container[0].f7DestroyCalendarEvents = function () {\n p.container.find('.picker-calendar-prev-month').off('click', p.prevMonth);\n p.container.find('.picker-calendar-next-month').off('click', p.nextMonth);\n p.container.find('.picker-calendar-prev-year').off('click', p.prevYear);\n p.container.find('.picker-calendar-next-year').off('click', p.nextYear);\n p.wrapper.off('click', handleDayClick);\n if (p.params.touchMove) {\n p.wrapper.off(app.touchEvents.start, handleTouchStart, passiveListener);\n p.wrapper.off(app.touchEvents.move, handleTouchMove);\n p.wrapper.off(app.touchEvents.end, handleTouchEnd, passiveListener);\n }\n };\n \n \n };\n p.destroyCalendarEvents = function (colContainer) {\n if ('f7DestroyCalendarEvents' in p.container[0]) p.container[0].f7DestroyCalendarEvents();\n };\n \n // Scan Dates Range\n p.dateInRange = function (dayDate, range) {\n var match = false;\n var i;\n if (!range) return false;\n if ($.isArray(range)) {\n for (i = 0; i < range.length; i ++) {\n if (range[i].from || range[i].to) {\n if (range[i].from && range[i].to) {\n if ((dayDate <= new Date(range[i].to).getTime()) && (dayDate >= new Date(range[i].from).getTime())) {\n match = true;\n }\n }\n else if (range[i].from) {\n if (dayDate >= new Date(range[i].from).getTime()) {\n match = true;\n }\n }\n else if (range[i].to) {\n if (dayDate <= new Date(range[i].to).getTime()) {\n match = true;\n }\n }\n } else if (dayDate === new Date(range[i]).getTime()) {\n match = true;\n }\n }\n }\n else if (range.from || range.to) {\n if (range.from && range.to) {\n if ((dayDate <= new Date(range.to).getTime()) && (dayDate >= new Date(range.from).getTime())) {\n match = true;\n }\n }\n else if (range.from) {\n if (dayDate >= new Date(range.from).getTime()) {\n match = true;\n }\n }\n else if (range.to) {\n if (dayDate <= new Date(range.to).getTime()) {\n match = true;\n }\n }\n }\n else if (typeof range === 'function') {\n match = range(new Date(dayDate));\n }\n return match;\n };\n // Calendar Methods\n p.daysInMonth = function (date) {\n var d = new Date(date);\n return new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();\n };\n p.monthHTML = function (date, offset) {\n date = new Date(date);\n var year = date.getFullYear(),\n month = date.getMonth(),\n day = date.getDate();\n if (offset === 'next') {\n if (month === 11) date = new Date(year + 1, 0);\n else date = new Date(year, month + 1, 1);\n }\n if (offset === 'prev') {\n if (month === 0) date = new Date(year - 1, 11);\n else date = new Date(year, month - 1, 1);\n }\n if (offset === 'next' || offset === 'prev') {\n month = date.getMonth();\n year = date.getFullYear();\n }\n var daysInPrevMonth = p.daysInMonth(new Date(date.getFullYear(), date.getMonth()).getTime() - 10 * 24 * 60 * 60 * 1000),\n daysInMonth = p.daysInMonth(date),\n firstDayOfMonthIndex = new Date(date.getFullYear(), date.getMonth()).getDay();\n if (firstDayOfMonthIndex === 0) firstDayOfMonthIndex = 7;\n \n var dayDate, currentValues = [], i, j, k,\n rows = 6, cols = 7,\n monthHTML = '',\n dayIndex = 0 + (p.params.firstDay - 1),\n today = new Date().setHours(0,0,0,0),\n minDate = p.params.minDate ? new Date(p.params.minDate).getTime() : null,\n maxDate = p.params.maxDate ? new Date(p.params.maxDate).getTime() : null,\n disabled,\n hasEvent;\n \n if (p.value && p.value.length) {\n for (i = 0; i < p.value.length; i++) {\n currentValues.push(new Date(p.value[i]).setHours(0,0,0,0));\n }\n }\n \n for (i = 1; i <= rows; i++) {\n var rowHTML = '';\n var row = i;\n for (j = 1; j <= cols; j++) {\n var col = j;\n dayIndex ++;\n var dayNumber = dayIndex - firstDayOfMonthIndex;\n var weekDayIndex = (col - 1 + p.params.firstDay > 6) ? (col - 1 - 7 + p.params.firstDay) : (col - 1 + p.params.firstDay);\n var addClass = '';\n if (dayNumber < 0) {\n dayNumber = daysInPrevMonth + dayNumber + 1;\n addClass += ' picker-calendar-day-prev';\n dayDate = new Date(month - 1 < 0 ? year - 1 : year, month - 1 < 0 ? 11 : month - 1, dayNumber).getTime();\n }\n else {\n dayNumber = dayNumber + 1;\n if (dayNumber > daysInMonth) {\n dayNumber = dayNumber - daysInMonth;\n addClass += ' picker-calendar-day-next';\n dayDate = new Date(month + 1 > 11 ? year + 1 : year, month + 1 > 11 ? 0 : month + 1, dayNumber).getTime();\n }\n else {\n dayDate = new Date(year, month, dayNumber).getTime();\n }\n }\n // Today\n if (dayDate === today) addClass += ' picker-calendar-day-today';\n // Selected\n if (p.params.rangePicker && currentValues.length === 2) {\n if (dayDate >= currentValues[0] && dayDate <= currentValues[1]) addClass += ' picker-calendar-day-selected';\n }\n else {\n if (currentValues.indexOf(dayDate) >= 0) addClass += ' picker-calendar-day-selected';\n }\n // Weekend\n if (p.params.weekendDays.indexOf(weekDayIndex) >= 0) {\n addClass += ' picker-calendar-day-weekend';\n }\n // Has Events\n hasEvent = false;\n if (p.params.events) {\n if (p.dateInRange(dayDate, p.params.events)) {\n hasEvent = true;\n }\n }\n if (hasEvent) {\n addClass += ' picker-calendar-day-has-events';\n }\n // Custom Ranges\n if (p.params.rangesClasses) {\n for (k = 0; k < p.params.rangesClasses.length; k++) {\n if (p.dateInRange(dayDate, p.params.rangesClasses[k].range)) {\n addClass += ' ' + p.params.rangesClasses[k].cssClass;\n }\n }\n }\n // Disabled\n disabled = false;\n if ((minDate && dayDate < minDate) || (maxDate && dayDate > maxDate)) {\n disabled = true;\n }\n if (p.params.disabled) {\n if (p.dateInRange(dayDate, p.params.disabled)) {\n disabled = true;\n }\n }\n if (disabled) {\n addClass += ' picker-calendar-day-disabled';\n }\n \n \n dayDate = new Date(dayDate);\n var dayYear = dayDate.getFullYear();\n var dayMonth = dayDate.getMonth();\n rowHTML += '
                          '+dayNumber+'
                          ';\n }\n monthHTML += '
                          ' + rowHTML + '
                          ';\n }\n monthHTML = '
                          ' + monthHTML + '
                          ';\n return monthHTML;\n };\n p.animating = false;\n p.updateCurrentMonthYear = function (dir) {\n if (typeof dir === 'undefined') {\n p.currentMonth = parseInt(p.months.eq(1).attr('data-month'), 10);\n p.currentYear = parseInt(p.months.eq(1).attr('data-year'), 10);\n }\n else {\n p.currentMonth = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-month'), 10);\n p.currentYear = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-year'), 10);\n }\n p.container.find('.current-month-value').text(p.params.monthNames[p.currentMonth]);\n p.container.find('.current-year-value').text(p.currentYear);\n \n };\n p.onMonthChangeStart = function (dir) {\n p.updateCurrentMonthYear(dir);\n p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next');\n var currentIndex = dir === 'next' ? p.months.length - 1 : 0;\n \n p.months.eq(currentIndex).addClass('picker-calendar-month-current');\n p.months.eq(dir === 'next' ? currentIndex - 1 : currentIndex + 1).addClass(dir === 'next' ? 'picker-calendar-month-prev' : 'picker-calendar-month-next');\n \n if (p.params.onMonthYearChangeStart) {\n p.params.onMonthYearChangeStart(p, p.currentYear, p.currentMonth);\n }\n };\n p.onMonthChangeEnd = function (dir, rebuildBoth) {\n p.animating = false;\n var nextMonthHTML, prevMonthHTML, newMonthHTML;\n p.wrapper.find('.picker-calendar-month:not(.picker-calendar-month-prev):not(.picker-calendar-month-current):not(.picker-calendar-month-next)').remove();\n \n if (typeof dir === 'undefined') {\n dir = 'next';\n rebuildBoth = true;\n }\n if (!rebuildBoth) {\n newMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), dir);\n }\n else {\n p.wrapper.find('.picker-calendar-month-next, .picker-calendar-month-prev').remove();\n prevMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'prev');\n nextMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'next');\n }\n if (dir === 'next' || rebuildBoth) {\n p.wrapper.append(newMonthHTML || nextMonthHTML);\n }\n if (dir === 'prev' || rebuildBoth) {\n p.wrapper.prepend(newMonthHTML || prevMonthHTML);\n }\n p.months = p.wrapper.find('.picker-calendar-month');\n p.setMonthsTranslate(p.monthsTranslate);\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]);\n }\n if (p.params.onMonthYearChangeEnd) {\n p.params.onMonthYearChangeEnd(p, p.currentYear, p.currentMonth);\n }\n };\n p.setMonthsTranslate = function (translate) {\n translate = translate || p.monthsTranslate || 0;\n if (typeof p.monthsTranslate === 'undefined') p.monthsTranslate = translate;\n p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next');\n var prevMonthTranslate = -(translate + 1) * 100 * inverter;\n var currentMonthTranslate = -translate * 100 * inverter;\n var nextMonthTranslate = -(translate - 1) * 100 * inverter;\n p.months.eq(0).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev');\n p.months.eq(1).transform('translate3d(' + (p.isH ? currentMonthTranslate : 0) + '%, ' + (p.isH ? 0 : currentMonthTranslate) + '%, 0)').addClass('picker-calendar-month-current');\n p.months.eq(2).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next');\n };\n p.nextMonth = function (transition) {\n if (typeof transition === 'undefined' || typeof transition === 'object') {\n transition = '';\n if (!p.params.animate) transition = 0;\n }\n var nextMonth = parseInt(p.months.eq(p.months.length - 1).attr('data-month'), 10);\n var nextYear = parseInt(p.months.eq(p.months.length - 1).attr('data-year'), 10);\n var nextDate = new Date(nextYear, nextMonth);\n var nextDateTime = nextDate.getTime();\n var transitionEndCallback = p.animating ? false : true;\n if (p.params.maxDate) {\n if (nextDateTime > new Date(p.params.maxDate).getTime()) {\n return p.resetMonth();\n }\n }\n p.monthsTranslate --;\n if (nextMonth === p.currentMonth) {\n var nextMonthTranslate = -(p.monthsTranslate) * 100 * inverter;\n var nextMonthHTML = $(p.monthHTML(nextDateTime, 'next')).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next');\n p.wrapper.append(nextMonthHTML[0]);\n p.months = p.wrapper.find('.picker-calendar-month');\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, p.months.eq(p.months.length - 1)[0]);\n }\n }\n p.animating = true;\n p.onMonthChangeStart('next');\n var translate = (p.monthsTranslate * 100) * inverter;\n \n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)');\n if (transitionEndCallback) {\n p.wrapper.transitionEnd(function () {\n p.onMonthChangeEnd('next');\n });\n }\n if (!p.params.animate) {\n p.onMonthChangeEnd('next');\n }\n };\n p.prevMonth = function (transition) {\n if (typeof transition === 'undefined' || typeof transition === 'object') {\n transition = '';\n if (!p.params.animate) transition = 0;\n }\n var prevMonth = parseInt(p.months.eq(0).attr('data-month'), 10);\n var prevYear = parseInt(p.months.eq(0).attr('data-year'), 10);\n var prevDate = new Date(prevYear, prevMonth + 1, -1);\n var prevDateTime = prevDate.getTime();\n var transitionEndCallback = p.animating ? false : true;\n if (p.params.minDate) {\n if (prevDateTime < new Date(p.params.minDate).getTime()) {\n return p.resetMonth();\n }\n }\n p.monthsTranslate ++;\n if (prevMonth === p.currentMonth) {\n var prevMonthTranslate = -(p.monthsTranslate) * 100 * inverter;\n var prevMonthHTML = $(p.monthHTML(prevDateTime, 'prev')).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev');\n p.wrapper.prepend(prevMonthHTML[0]);\n p.months = p.wrapper.find('.picker-calendar-month');\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, p.months.eq(0)[0]);\n }\n }\n p.animating = true;\n p.onMonthChangeStart('prev');\n var translate = (p.monthsTranslate * 100) * inverter;\n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)');\n if (transitionEndCallback) {\n p.wrapper.transitionEnd(function () {\n p.onMonthChangeEnd('prev');\n });\n }\n if (!p.params.animate) {\n p.onMonthChangeEnd('prev');\n }\n };\n p.resetMonth = function (transition) {\n if (typeof transition === 'undefined') transition = '';\n var translate = (p.monthsTranslate * 100) * inverter;\n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)');\n };\n p.setYearMonth = function (year, month, transition) {\n if (typeof year === 'undefined') year = p.currentYear;\n if (typeof month === 'undefined') month = p.currentMonth;\n if (typeof transition === 'undefined' || typeof transition === 'object') {\n transition = '';\n if (!p.params.animate) transition = 0;\n }\n var targetDate;\n if (year < p.currentYear) {\n targetDate = new Date(year, month + 1, -1).getTime();\n }\n else {\n targetDate = new Date(year, month).getTime();\n }\n if (p.params.maxDate && targetDate > new Date(p.params.maxDate).getTime()) {\n return false;\n }\n if (p.params.minDate && targetDate < new Date(p.params.minDate).getTime()) {\n return false;\n }\n var currentDate = new Date(p.currentYear, p.currentMonth).getTime();\n var dir = targetDate > currentDate ? 'next' : 'prev';\n var newMonthHTML = p.monthHTML(new Date(year, month));\n p.monthsTranslate = p.monthsTranslate || 0;\n var prevTranslate = p.monthsTranslate;\n var monthTranslate, wrapperTranslate;\n var transitionEndCallback = p.animating ? false : true;\n if (targetDate > currentDate) {\n // To next\n p.monthsTranslate --;\n if (!p.animating) p.months.eq(p.months.length - 1).remove();\n p.wrapper.append(newMonthHTML);\n p.months = p.wrapper.find('.picker-calendar-month');\n monthTranslate = -(prevTranslate - 1) * 100 * inverter;\n p.months.eq(p.months.length - 1).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-next');\n }\n else {\n // To prev\n p.monthsTranslate ++;\n if (!p.animating) p.months.eq(0).remove();\n p.wrapper.prepend(newMonthHTML);\n p.months = p.wrapper.find('.picker-calendar-month');\n monthTranslate = -(prevTranslate + 1) * 100 * inverter;\n p.months.eq(0).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-prev');\n }\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]);\n }\n p.animating = true;\n p.onMonthChangeStart(dir);\n wrapperTranslate = (p.monthsTranslate * 100) * inverter;\n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? wrapperTranslate : 0) + '%, ' + (p.isH ? 0 : wrapperTranslate) + '%, 0)');\n if (transitionEndCallback) {\n p.wrapper.transitionEnd(function () {\n p.onMonthChangeEnd(dir, true);\n });\n }\n if (!p.params.animate) {\n p.onMonthChangeEnd(dir);\n }\n };\n p.nextYear = function () {\n p.setYearMonth(p.currentYear + 1);\n };\n p.prevYear = function () {\n p.setYearMonth(p.currentYear - 1);\n };\n \n \n // HTML Layout\n p.layout = function () {\n var pickerHTML = '';\n var pickerClass = '';\n var i;\n \n var layoutDate = p.value && p.value.length ? p.value[0] : new Date().setHours(0,0,0,0);\n var prevMonthHTML = p.monthHTML(layoutDate, 'prev');\n var currentMonthHTML = p.monthHTML(layoutDate);\n var nextMonthHTML = p.monthHTML(layoutDate, 'next');\n var monthsHTML = '
                          ' + (prevMonthHTML + currentMonthHTML + nextMonthHTML) + '
                          ';\n // Week days header\n var weekHeaderHTML = '';\n if (p.params.weekHeader) {\n for (i = 0; i < 7; i++) {\n var weekDayIndex = (i + p.params.firstDay > 6) ? (i - 7 + p.params.firstDay) : (i + p.params.firstDay);\n var dayName = p.params.dayNamesShort[weekDayIndex];\n weekHeaderHTML += '
                          = 0) ? 'picker-calendar-week-day-weekend' : '') + '\"> ' + dayName + '
                          ';\n \n }\n weekHeaderHTML = '
                          ' + weekHeaderHTML + '
                          ';\n }\n pickerClass = 'picker-modal picker-calendar' +\n (p.params.rangePicker ? ' picker-calendar-range' : '') +\n (p.params.cssClass ? ' ' + p.params.cssClass : '');\n var toolbarHTML = p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '';\n if (p.params.toolbar) {\n toolbarHTML = p.params.toolbarTemplate\n .replace(/{{closeText}}/g, p.params.toolbarCloseText)\n .replace(/{{monthPicker}}/g, (p.params.monthPicker ? p.params.monthPickerTemplate : ''))\n .replace(/{{yearPicker}}/g, (p.params.yearPicker ? p.params.yearPickerTemplate : ''));\n }\n var headerHTML = p.params.header ? p.params.headerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText).replace(/{{placeholder}}/g, p.params.headerPlaceholder) : '';\n var footerHTML = p.params.footer ? p.params.footerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '';\n \n pickerHTML =\n '
                          ' +\n headerHTML +\n footerHTML +\n toolbarHTML +\n '
                          ' +\n weekHeaderHTML +\n monthsHTML +\n '
                          ' +\n '
                          ';\n \n \n p.pickerHTML = pickerHTML;\n };\n \n // Input Events\n function openOnInput(e) {\n e.preventDefault();\n if (p.opened) return;\n p.open();\n if (p.params.scrollToInput && !isPopover() && !app.params.material) {\n var pageContent = p.input.parents('.page-content');\n if (pageContent.length === 0) return;\n \n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(),\n newPaddingBottom;\n \n var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = p.container.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n }\n function closeOnHTMLClick(e) {\n if (inPopover()) return;\n if (p.input && p.input.length > 0) {\n if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close();\n }\n else {\n if ($(e.target).parents('.picker-modal').length === 0) p.close();\n }\n }\n \n if (p.params.input) {\n p.input = $(p.params.input);\n if (p.input.length > 0) {\n if (p.params.inputReadOnly) p.input.prop('readOnly', true);\n if (!p.inline) {\n p.input.on('click', openOnInput);\n }\n if (p.params.inputReadOnly) {\n p.input.on('focus mousedown', function (e) {\n e.preventDefault();\n });\n }\n }\n \n }\n \n if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick);\n \n // Open\n function onPickerClose() {\n p.opened = false;\n if (p.input && p.input.length > 0) {\n p.input.parents('.page-content').css({'padding-bottom': ''});\n if (app.params.material) p.input.trigger('blur');\n }\n if (p.params.onClose) p.params.onClose(p);\n \n // Destroy events\n p.destroyCalendarEvents();\n }\n \n p.opened = false;\n p.open = function () {\n var toPopover = isPopover();\n var updateValue = false;\n if (!p.opened) {\n // Set date value\n if (!p.value) {\n if (p.params.value) {\n p.value = p.params.value;\n updateValue = true;\n }\n }\n \n // Layout\n p.layout();\n \n // Append\n if (toPopover) {\n p.pickerHTML = '
                          ' + p.pickerHTML + '
                          ';\n p.popover = app.popover(p.pickerHTML, p.params.input, true);\n p.container = $(p.popover).find('.picker-modal');\n $(p.popover).on('close', function () {\n onPickerClose();\n });\n }\n else if (p.inline) {\n p.container = $(p.pickerHTML);\n p.container.addClass('picker-modal-inline');\n $(p.params.container).append(p.container);\n }\n else {\n p.container = $(app.pickerModal(p.pickerHTML));\n $(p.container)\n .on('close', function () {\n onPickerClose();\n });\n }\n \n // Store calendar instance\n p.container[0].f7Calendar = p;\n p.wrapper = p.container.find('.picker-calendar-months-wrapper');\n \n // Months\n p.months = p.wrapper.find('.picker-calendar-month');\n \n // Update current month and year\n p.updateCurrentMonthYear();\n \n // Set initial translate\n p.monthsTranslate = 0;\n p.setMonthsTranslate();\n \n // Init events\n p.initCalendarEvents();\n \n // Update input value\n if (updateValue) p.updateValue();\n else if (app.params.material && p.value) p.updateValue(true);\n \n // Material Focus\n if (p.input && p.input.length > 0 && app.params.material) {\n p.input.trigger('focus');\n }\n \n }\n \n // Set flag\n p.opened = true;\n p.initialized = true;\n if (p.params.onMonthAdd) {\n p.months.each(function () {\n p.params.onMonthAdd(p, this);\n });\n }\n if (p.params.onOpen) p.params.onOpen(p);\n };\n \n // Close\n p.close = function () {\n if (!p.opened || p.inline) return;\n if (inPopover()) {\n app.closeModal(p.popover);\n return;\n }\n else {\n app.closeModal(p.container);\n return;\n }\n };\n \n // Destroy\n p.destroy = function () {\n p.close();\n if (p.params.input && p.input.length > 0) {\n p.input.off('click focus', openOnInput);\n }\n $('html').off('click', closeOnHTMLClick);\n };\n \n if (p.inline) {\n p.open();\n }\n else {\n if (!p.initialized && p.params.value) p.setValue(p.params.value);\n }\n \n return p;\n };\n app.calendar = function (params) {\n return new Calendar(params);\n };\n \n"," /*======================================================\n ************ Notifications ************\n ======================================================*/\n var _tempNotificationElement;\n app.addNotification = function (params) {\n if (!params) return;\n \n if (typeof params.media === 'undefined') params.media = app.params.notificationMedia;\n if (typeof params.title === 'undefined') params.title = app.params.notificationTitle;\n if (typeof params.subtitle === 'undefined') params.subtitle = app.params.notificationSubtitle;\n if (typeof params.closeIcon === 'undefined') params.closeIcon = app.params.notificationCloseIcon;\n if (typeof params.hold === 'undefined') params.hold = app.params.notificationHold;\n if (typeof params.closeOnClick === 'undefined') params.closeOnClick = app.params.notificationCloseOnClick;\n if (typeof params.button === 'undefined') params.button = app.params.notificationCloseButtonText && {\n text: app.params.notificationCloseButtonText,\n close: true\n };\n \n if (!_tempNotificationElement) _tempNotificationElement = document.createElement('div');\n \n params.material = app.params.material;\n \n var container = $('.notifications');\n if (container.length === 0) {\n app.root.append('
                            ');\n container = $('.notifications');\n }\n var list = container.children('ul');\n \n var notificationTemplate = app.params.notificationTemplate || \n '{{#if custom}}' +\n '
                          • {{custom}}
                          • ' +\n '{{else}}' +\n '
                          • ' +\n '
                            ' +\n '{{#if material}}' +\n '
                            ' +\n '
                            {{js \"this.message || this.title || this.subtitle\"}}
                            ' +\n '{{#if ../button}}{{#button}}' +\n '
                            ' +\n '{{text}}' +\n '
                            ' +\n '{{/button}}{{/if}}' +\n '
                            ' +\n '{{else}}' +\n '{{#if media}}' +\n '
                            {{media}}
                            ' +\n '{{/if}}' +\n '
                            ' +\n '
                            ' +\n '{{#if title}}' +\n '
                            {{title}}
                            ' +\n '{{/if}}' +\n '{{#if closeIcon}}' +\n '
                            ' +\n '{{/if}}' +\n '
                            ' +\n '{{#if subtitle}}' +\n '
                            {{subtitle}}
                            ' +\n '{{/if}}' +\n '{{#if message}}' +\n '
                            {{message}}
                            ' +\n '
                            ' +\n '{{/if}}' +\n '{{/if}}' +\n '
                            ' +\n '
                          • ' +\n '{{/if}}';\n if (!app._compiledTemplates.notification) {\n app._compiledTemplates.notification = t7.compile(notificationTemplate);\n }\n _tempNotificationElement.innerHTML = app._compiledTemplates.notification(params);\n \n var item = $(_tempNotificationElement).children();\n \n item.on('click', function (e) {\n var close = false;\n var target = $(e.target);\n if (params.material && target.hasClass('button')) {\n if (params.button && params.button.onClick) params.button.onClick.call(target[0], e, item[0]);\n }\n if (target.is('.close-notification') || $(e.target).parents('.close-notification').length > 0) {\n close = true;\n }\n else {\n if (params.onClick) params.onClick(e, item[0]);\n if (params.closeOnClick) close = true;\n }\n if (close) app.closeNotification(item[0]);\n });\n if (params.onClose) {\n item.data('f7NotificationOnClose', function () {\n params.onClose(item[0]);\n });\n }\n if (params.additionalClass) {\n item.addClass(params.additionalClass);\n }\n if (params.hold) {\n setTimeout(function () {\n if (item.length > 0) app.closeNotification(item[0]);\n }, params.hold);\n }\n \n if (!app.params.material) {\n app.closeNotification(list.children('li.notification-item:last-child'));\n }\n list.append(item[0]);\n container.show();\n \n var itemHeight = item.outerHeight(), clientLeft;\n if (params.material) {\n container.transform('translate3d(0, '+itemHeight+'px, 0)');\n container.transition(0);\n \n clientLeft = item[0].clientLeft;\n \n container.transform('translate3d(0, 0, 0)');\n container.transition('');\n }\n else {\n item.transform('translate3d(0,' + (-itemHeight) + 'px,0)');\n item.transition(0);\n \n clientLeft = item[0].clientLeft;\n \n item.transition('');\n item.transform('translate3d(0,0px,0)');\n }\n \n container.transform('translate3d(0, 0,0)');\n item.removeClass('notification-hidden');\n \n return item[0];\n };\n app.closeNotification = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('notification-item-removing')) return;\n var container = $('.notifications');\n \n var itemHeight = item.outerHeight();\n item.css('height', itemHeight + 'px').transition(0).addClass('notification-item-removing');\n var clientLeft = item[0].clientLeft;\n \n item.css({\n height: '0px',\n marginBottom: '0px'\n }).transition('');\n \n if (item.data('f7NotificationOnClose')) item.data('f7NotificationOnClose')();\n \n if (container.find('.notification-item:not(.notification-item-removing)').length === 0) {\n container.transform('');\n }\n \n item.addClass('notification-hidden').transitionEnd(function () {\n item.remove();\n if (container.find('.notification-item').length === 0) {\n container.hide();\n }\n });\n };\n"," /*===========================\n Compile Template7 Templates On App Init\n ===========================*/\n app.initTemplate7Templates = function () {\n if (!window.Template7) return;\n Template7.templates = Template7.templates || app.params.templates || {};\n Template7.data = Template7.data || app.params.template7Data || {};\n Template7.cache = Template7.cache || {};\n \n app.templates = Template7.templates;\n app.template7Data = Template7.data;\n app.template7Cache = Template7.cache;\n \n // Precompile templates on app init\n if (!app.params.precompileTemplates) return;\n $('script[type=\"text/template7\"]').each(function () {\n var id = $(this).attr('id');\n if (!id) return;\n Template7.templates[id] = Template7.compile($(this).html());\n });\n };\n \n"," /*=======================================\n ************ Plugins API ************\n =======================================*/\n var _plugins = [];\n app.initPlugins = function () {\n // Initialize plugins\n for (var plugin in app.plugins) {\n var p = app.plugins[plugin](app, app.params[plugin]);\n if (p) _plugins.push(p);\n }\n };\n // Plugin Hooks\n app.pluginHook = function (hook) {\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].hooks && hook in _plugins[i].hooks) {\n _plugins[i].hooks[hook](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n };\n // Prevented by plugin\n app.pluginPrevent = function (action) {\n var prevent = false;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].prevents && action in _plugins[i].prevents) {\n if (_plugins[i].prevents[action](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])) prevent = true;\n }\n }\n return prevent;\n };\n // Preprocess content by plugin\n app.pluginProcess = function (process, data) {\n var processed = data;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].preprocess && process in _plugins[i].preprocess) {\n processed = _plugins[i].preprocess[process](data, arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);\n }\n }\n return processed;\n };\n \n \n"," /*======================================================\n ************ App Init ************\n ======================================================*/\n app.init = function () {\n // Compile Template7 templates on app load\n if (app.initTemplate7Templates) app.initTemplate7Templates();\n \n // Init Plugins\n if (app.initPlugins) app.initPlugins();\n \n // Init Device\n if (app.getDeviceInfo) app.getDeviceInfo();\n \n // Init Click events\n if (app.initFastClicks && app.params.fastClicks) app.initFastClicks();\n if (app.initClickEvents) app.initClickEvents();\n \n // Init each page callbacks\n $('.page:not(.cached)').each(function () {\n app.initPageWithCallback(this);\n });\n \n // Init each navbar callbacks\n $('.navbar:not(.cached)').each(function () {\n app.initNavbarWithCallback(this); \n });\n \n // Init resize events\n if (app.initResize) app.initResize();\n \n // Init push state\n if (app.initPushState && app.params.pushState) app.initPushState();\n \n // Init Live Swipeouts events\n if (app.initSwipeout && app.params.swipeout) app.initSwipeout();\n \n // Init Live Sortable events\n if (app.initSortable && app.params.sortable) app.initSortable();\n \n // Init Live Swipe Panels\n if (app.initSwipePanels && (app.params.swipePanel || app.params.swipePanelOnlyClose)) app.initSwipePanels();\n \n // Init Material Inputs\n if (app.params.material && app.initMaterialWatchInputs) app.initMaterialWatchInputs();\n \n // App Init callback\n if (app.params.onAppInit) app.params.onAppInit();\n \n // Plugin app init hook\n app.pluginHook('appInit');\n };\n if (app.params.init) app.init();\n \n"," //Return instance \n return app;\n };\n \n"," /*===========================\n Dom7 Library\n ===========================*/\n var Dom7 = (function () {\n var Dom7 = function (arr) {\n var _this = this, i = 0;\n // Create array-like object\n for (i = 0; i < arr.length; i++) {\n _this[i] = arr[i];\n }\n _this.length = arr.length;\n // Return collection with methods\n return this;\n };\n var $ = function (selector, context) {\n var arr = [], i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els, tempParent, html;\n selector = html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [document.getElementById(selector.split('#')[1])];\n }\n else {\n // Other selectors\n els = (context || document).querySelectorAll(selector);\n }\n for (i = 0; i < els.length; i++) {\n if (els[i]) arr.push(els[i]);\n }\n }\n }\n // Node/element\n else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n }\n //Array of elements or instance of Dom\n else if (selector.length > 0 && selector[0].nodeType) {\n for (i = 0; i < selector.length; i++) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n };\n"," Dom7.prototype = {\n // Classes and attriutes\n addClass: function (className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]);\n }\n }\n return this;\n },\n removeClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]);\n }\n }\n return this;\n },\n hasClass: function (className) {\n if (!this[0]) return false;\n else return this[0].classList.contains(className);\n },\n toggleClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]);\n }\n }\n return this;\n },\n attr: function (attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n else return undefined;\n }\n else {\n // Set attrs\n for (var i = 0; i < this.length; i++) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n }\n else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n },\n removeAttr: function (attr) {\n for (var i = 0; i < this.length; i++) {\n this[i].removeAttribute(attr);\n }\n return this;\n },\n prop: function (props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n else return undefined;\n }\n else {\n // Set props\n for (var i = 0; i < this.length; i++) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n }\n else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n },\n data: function (key, value) {\n if (typeof value === 'undefined') {\n // Get value\n if (this[0]) {\n if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) {\n return this[0].dom7ElementDataStorage[key];\n }\n else {\n var dataKey = this[0].getAttribute('data-' + key); \n if (dataKey) {\n return dataKey;\n }\n else return undefined;\n }\n }\n else return undefined;\n }\n else {\n // Set value\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n },\n removeData: function(key) {\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n },\n dataset: function () {\n var el = this[0];\n if (el) {\n var dataset = {};\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n }\n else {\n for (var i = 0; i < el.attributes.length; i++) {\n var attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[$.toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;\n else if (dataset[key] === 'true') dataset[key] = true;\n else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] = dataset[key] * 1;\n }\n return dataset;\n }\n else return undefined;\n },\n val: function (value) {\n if (typeof value === 'undefined') {\n if (this[0]) return this[0].value;\n else return undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].value = value;\n }\n return this;\n }\n },\n // Transforms\n transform : function (transform) {\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;\n }\n return this;\n },\n transition: function (duration) {\n if (typeof duration !== 'string') {\n duration = duration + 'ms';\n }\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;\n }\n return this;\n },\n //Events\n on: function (eventName, targetSelector, listener, capture) {\n function handleLiveEvent(e) {\n var target = e.target;\n if ($(target).is(targetSelector)) listener.call(target, e);\n else {\n var parents = $(target).parents();\n for (var k = 0; k < parents.length; k++) {\n if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e);\n }\n }\n }\n var events = eventName.split(' ');\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n for (j = 0; j < events.length; j++) {\n this[i].addEventListener(events[j], listener, capture);\n }\n }\n else {\n //Live events\n for (j = 0; j < events.length; j++) {\n if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = [];\n this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent});\n this[i].addEventListener(events[j], handleLiveEvent, capture);\n }\n }\n }\n \n return this;\n },\n off: function (eventName, targetSelector, listener, capture) {\n var events = eventName.split(' ');\n for (var i = 0; i < events.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n this[j].removeEventListener(events[i], listener, capture);\n }\n else {\n // Live event\n if (this[j].dom7LiveListeners) {\n for (var k = 0; k < this[j].dom7LiveListeners.length; k++) {\n if (this[j].dom7LiveListeners[k].listener === listener) {\n this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture);\n }\n }\n }\n }\n }\n }\n return this;\n },\n once: function (eventName, targetSelector, listener, capture) {\n var dom = this;\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2];\n targetSelector = false;\n }\n function proxy(e) {\n listener.call(e.target, e);\n dom.off(eventName, targetSelector, proxy, capture);\n }\n return dom.on(eventName, targetSelector, proxy, capture);\n },\n trigger: function (eventName, eventData) {\n var events = eventName.split(' ');\n for (var i = 0; i < events.length; i++) {\n for (var j = 0; j < this.length; j++) {\n var evt;\n try {\n evt = new CustomEvent(events[i], {detail: eventData, bubbles: true, cancelable: true});\n }\n catch (e) {\n evt = document.createEvent('Event');\n evt.initEvent(events[i], true, true);\n evt.detail = eventData;\n }\n this[j].dispatchEvent(evt);\n }\n }\n return this;\n },\n transitionEnd: function (callback) {\n var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'],\n i, j, dom = this;\n function fireCallBack(e) {\n /*jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n animationEnd: function (callback) {\n var events = ['webkitAnimationEnd', 'OAnimationEnd', 'MSAnimationEnd', 'animationend'],\n i, j, dom = this;\n function fireCallBack(e) {\n callback(e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n // Sizing/Styles\n width: function () {\n if (this[0] === window) {\n return window.innerWidth;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n else {\n return null;\n }\n }\n },\n outerWidth: function (includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); \n }\n else\n return this[0].offsetWidth;\n }\n else return null;\n },\n height: function () {\n if (this[0] === window) {\n return window.innerHeight;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n else {\n return null;\n }\n }\n },\n outerHeight: function (includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); \n }\n else\n return this[0].offsetHeight;\n }\n else return null;\n },\n offset: function () {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = window.pageYOffset || el.scrollTop;\n var scrollLeft = window.pageXOffset || el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n else {\n return null;\n }\n },\n hide: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'none';\n }\n return this;\n },\n show: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'block';\n }\n return this;\n },\n styles: function () {\n var i, styles;\n if (this[0]) return window.getComputedStyle(this[0], null);\n else return undefined;\n },\n css: function (props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n }\n else {\n for (i = 0; i < this.length; i++) {\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i++) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n },\n \n //Dom manipulation\n each: function (callback) {\n for (var i = 0; i < this.length; i++) {\n callback.call(this[i], i, this[i]);\n }\n return this;\n },\n filter: function (callback) {\n var matchedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i++) {\n if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]);\n }\n return new Dom7(matchedItems);\n },\n html: function (html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].innerHTML = html;\n }\n return this;\n }\n },\n text: function (text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n else return null;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].textContent = text;\n }\n return this;\n }\n },\n is: function (selector) {\n if (!this[0] || typeof selector === 'undefined') return false;\n var compareWith, i;\n if (typeof selector === 'string') {\n var el = this[0];\n if (el === document) return selector === document;\n if (el === window) return selector === window;\n \n if (el.matches) return el.matches(selector);\n else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector);\n else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n else {\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n }\n else if (selector === document) return this[0] === document;\n else if (selector === window) return this[0] === window;\n else {\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n return false;\n }\n \n },\n indexOf: function (el) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] === el) return i;\n }\n },\n index: function () {\n if (this[0]) {\n var child = this[0];\n var i = 0;\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i++;\n }\n return i;\n }\n else return undefined;\n },\n eq: function (index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n else return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n },\n append: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].appendChild(newChild[j]);\n }\n }\n else {\n this[i].appendChild(newChild);\n }\n }\n return this;\n },\n appendTo: function (parent) {\n $(parent).append(this);\n return this;\n },\n prepend: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j--) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n // this[i].insertAdjacentHTML('afterbegin', newChild);\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n }\n else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n },\n prependTo: function (parent) {\n $(parent).prepend(this);\n return this;\n },\n insertBefore: function (selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n }\n else if (before.length > 1) {\n for (var j = 0; j < before.length; j++) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n },\n insertAfter: function (selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n }\n else if (after.length > 1) {\n for (var j = 0; j < after.length; j++) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n },\n next: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n nextAll: function (selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.nextElementSibling) {\n var next = el.nextElementSibling;\n if (selector) {\n if($(next).is(selector)) nextEls.push(next);\n }\n else nextEls.push(next);\n el = next;\n }\n return new Dom7(nextEls);\n },\n prev: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n prevAll: function (selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling;\n if (selector) {\n if($(prev).is(selector)) prevEls.push(prev);\n }\n else prevEls.push(prev);\n el = prev;\n }\n return new Dom7(prevEls);\n },\n siblings: function (selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n },\n parent: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n }\n else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $($.unique(parents));\n },\n parents: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n var parent = this[i].parentNode;\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n }\n else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $($.unique(parents));\n },\n closest: function (selector) {\n var closest = this;\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n },\n find : function (selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i++) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j++) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n },\n children: function (selector) {\n var children = [];\n for (var i = 0; i < this.length; i++) {\n var childNodes = this[i].childNodes;\n \n for (var j = 0; j < childNodes.length; j++) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n }\n else {\n if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]);\n }\n }\n }\n return new Dom7($.unique(children));\n },\n remove: function () {\n for (var i = 0; i < this.length; i++) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n return this;\n },\n detach: function () {\n return this.remove();\n },\n add: function () {\n var dom = this;\n var i, j;\n for (i = 0; i < arguments.length; i++) {\n var toAdd = $(arguments[i]);\n for (j = 0; j < toAdd.length; j++) {\n dom[dom.length] = toAdd[j];\n dom.length++;\n }\n }\n return dom;\n },\n empty: function () {\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j++) {\n if (el.childNodes[j].parentNode) el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n el.textContent = '';\n }\n }\n return this;\n }\n };\n \n // Shortcuts\n (function () {\n var shortcuts = ('click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll').split(' ');\n var notTrigger = ('resize scroll').split(' ');\n function createMethod(name) {\n Dom7.prototype[name] = function (targetSelector, listener, capture) {\n var i;\n if (typeof targetSelector === 'undefined') {\n for (i = 0; i < this.length; i++) {\n if (notTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n else {\n return this.on(name, targetSelector, listener, capture);\n }\n };\n }\n for (var i = 0; i < shortcuts.length; i++) {\n createMethod(shortcuts[i]);\n }\n })();\n \n"," // Global Ajax Setup\n var globalAjaxOptions = {};\n $.ajaxSetup = function (options) {\n if (options.type) options.method = options.type;\n $.each(options, function (optionName, optionValue) {\n globalAjaxOptions[optionName] = optionValue;\n });\n };\n \n // Ajax\n var _jsonpRequests = 0;\n $.ajax = function (options) {\n var defaults = {\n method: 'GET',\n data: false,\n async: true,\n cache: true,\n user: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n processData: true,\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0\n };\n var callbacks = ['beforeSend', 'error', 'complete', 'success', 'statusCode'];\n \n \n //For jQuery guys\n if (options.type) options.method = options.type;\n \n // Merge global and defaults\n $.each(globalAjaxOptions, function (globalOptionName, globalOptionValue) {\n if (callbacks.indexOf(globalOptionName) < 0) defaults[globalOptionName] = globalOptionValue;\n });\n \n // Function to run XHR callbacks and events\n function fireAjaxCallback (eventName, eventData, callbackName) {\n var a = arguments;\n if (eventName) $(document).trigger(eventName, eventData);\n if (callbackName) {\n // Global callback\n if (callbackName in globalAjaxOptions) globalAjaxOptions[callbackName](a[3], a[4], a[5], a[6]);\n // Options callback\n if (options[callbackName]) options[callbackName](a[3], a[4], a[5], a[6]);\n }\n }\n \n // Merge options and defaults\n $.each(defaults, function (prop, defaultValue) {\n if (!(prop in options)) options[prop] = defaultValue;\n });\n \n // Default URL\n if (!options.url) {\n options.url = window.location.toString();\n }\n // Parameters Prefix\n var paramsPrefix = options.url.indexOf('?') >= 0 ? '&' : '?';\n \n // UC method\n var _method = options.method.toUpperCase();\n // Data to modify GET URL\n if ((_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') && options.data) {\n var stringData;\n if (typeof options.data === 'string') {\n // Should be key=value string\n if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1];\n else stringData = options.data;\n }\n else {\n // Should be key=value object\n stringData = $.serializeObject(options.data);\n }\n if (stringData.length) {\n options.url += paramsPrefix + stringData;\n if (paramsPrefix === '?') paramsPrefix = '&';\n }\n }\n // JSONP\n if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) {\n \n var callbackName = 'f7jsonp_' + Date.now() + (_jsonpRequests++);\n var abortTimeout;\n var callbackSplit = options.url.split('callback=');\n var requestUrl = callbackSplit[0] + 'callback=' + callbackName;\n if (callbackSplit[1].indexOf('&') >= 0) {\n var addVars = callbackSplit[1].split('&').filter(function (el) { return el.indexOf('=') > 0; }).join('&');\n if (addVars.length > 0) requestUrl += '&' + addVars;\n }\n \n // Create script\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = function() {\n clearTimeout(abortTimeout);\n fireAjaxCallback(undefined, undefined, 'error', null, 'scripterror');\n };\n script.src = requestUrl;\n \n // Handler\n window[callbackName] = function (data) {\n clearTimeout(abortTimeout);\n fireAjaxCallback(undefined, undefined, 'success', data);\n script.parentNode.removeChild(script);\n script = null;\n delete window[callbackName];\n };\n document.querySelector('head').appendChild(script);\n \n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n script.parentNode.removeChild(script);\n script = null;\n fireAjaxCallback(undefined, undefined, 'error', null, 'timeout');\n }, options.timeout);\n }\n \n return;\n }\n \n // Cache for GET/HEAD requests\n if (_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') {\n if (options.cache === false) {\n options.url += (paramsPrefix + '_nocache=' + Date.now());\n }\n }\n \n // Create XHR\n var xhr = new XMLHttpRequest();\n \n // Save Request URL\n xhr.requestUrl = options.url;\n xhr.requestParameters = options;\n \n // Open XHR\n xhr.open(_method, options.url, options.async, options.user, options.password);\n \n // Create POST Data\n var postData = null;\n \n if ((_method === 'POST' || _method === 'PUT' || _method === 'PATCH') && options.data) {\n if (options.processData) {\n var postDataInstances = [ArrayBuffer, Blob, Document, FormData];\n // Post Data\n if (postDataInstances.indexOf(options.data.constructor) >= 0) {\n postData = options.data;\n }\n else {\n // POST Headers\n var boundary = '---------------------------' + Date.now().toString(16);\n \n if (options.contentType === 'multipart\\/form-data') {\n xhr.setRequestHeader('Content-Type', 'multipart\\/form-data; boundary=' + boundary);\n }\n else {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n postData = '';\n var _data = $.serializeObject(options.data);\n if (options.contentType === 'multipart\\/form-data') {\n boundary = '---------------------------' + Date.now().toString(16);\n _data = _data.split('&');\n var _newData = [];\n for (var i = 0; i < _data.length; i++) {\n _newData.push('Content-Disposition: form-data; name=\"' + _data[i].split('=')[0] + '\"\\r\\n\\r\\n' + _data[i].split('=')[1] + '\\r\\n');\n }\n postData = '--' + boundary + '\\r\\n' + _newData.join('--' + boundary + '\\r\\n') + '--' + boundary + '--\\r\\n';\n }\n else {\n postData = options.contentType === 'application/x-www-form-urlencoded' ? _data : _data.replace(/&/g, '\\r\\n');\n }\n }\n }\n else {\n postData = options.data;\n }\n \n }\n \n // Additional headers\n if (options.headers) {\n $.each(options.headers, function (headerName, headerCallback) {\n xhr.setRequestHeader(headerName, headerCallback);\n });\n }\n \n // Check for crossDomain\n if (typeof options.crossDomain === 'undefined') {\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^\\/]+)/.test(options.url) && RegExp.$2 !== window.location.host;\n }\n \n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n \n if (options.xhrFields) {\n $.each(options.xhrFields, function (fieldName, fieldValue) {\n xhr[fieldName] = fieldValue;\n });\n }\n \n var xhrTimeout;\n // Handle XHR\n xhr.onload = function (e) {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n var responseData;\n if (options.dataType === 'json') {\n try {\n responseData = JSON.parse(xhr.responseText);\n fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr);\n }\n catch (err) {\n fireAjaxCallback('ajaxError', {xhr: xhr, parseerror: true}, 'error', xhr, 'parseerror');\n }\n }\n else {\n responseData = xhr.responseType === 'text' || xhr.responseType === '' ? xhr.responseText : xhr.response;\n fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr);\n }\n }\n else {\n fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status);\n }\n if (options.statusCode) {\n if (globalAjaxOptions.statusCode && globalAjaxOptions.statusCode[xhr.status]) globalAjaxOptions.statusCode[xhr.status](xhr);\n if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr);\n }\n fireAjaxCallback('ajaxComplete', {xhr: xhr}, 'complete', xhr, xhr.status);\n };\n \n xhr.onerror = function (e) {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status);\n };\n \n // Ajax start callback\n fireAjaxCallback('ajaxStart', {xhr: xhr}, 'start', xhr);\n fireAjaxCallback(undefined, undefined, 'beforeSend', xhr);\n \n // Timeout\n if (options.timeout > 0) {\n xhr.onabort = function () {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n };\n xhrTimeout = setTimeout(function () {\n xhr.abort();\n fireAjaxCallback('ajaxError', {xhr: xhr, timeout: true}, 'error', xhr, 'timeout');\n fireAjaxCallback('ajaxComplete', {xhr: xhr, timeout: true}, 'complete', xhr, 'timeout');\n }, options.timeout);\n }\n \n // Send XHR\n xhr.send(postData);\n \n // Return XHR object\n return xhr;\n };\n // Shrotcuts\n (function () {\n var methods = ('get post getJSON').split(' ');\n function createMethod(method) {\n $[method] = function (url, data, success, error) {\n return $.ajax({\n url: url,\n method: method === 'post' ? 'POST' : 'GET',\n data: typeof data === 'function' ? undefined : data,\n success: typeof data === 'function' ? data : success,\n error: typeof data === 'function' ? success : error,\n dataType: method === 'getJSON' ? 'json' : undefined\n });\n };\n }\n for (var i = 0; i < methods.length; i++) {\n createMethod(methods[i]);\n }\n })();\n \n"," // DOM Library Utilites\n $.parseUrlQuery = function (url) {\n var url = url || location.href;\n var query = {}, i, params, param;\n \n if (typeof url === 'string' && url.length) {\n url = (url.indexOf('#') > -1) ? url.split('#')[0] : url;\n if (url.indexOf('?') > -1) url = url.split('?')[1];\n else return query;\n \n params = url.split('&');\n for (i = 0; i < params.length; i ++) {\n param = params[i].split('=');\n query[param[0]] = param[1];\n }\n }\n return query;\n };\n $.isArray = function (arr) {\n if (Object.prototype.toString.apply(arr) === '[object Array]') return true;\n else return false;\n };\n $.each = function (obj, callback) {\n if (typeof obj !== 'object') return;\n if (!callback) return;\n var i, prop;\n if ($.isArray(obj) || obj instanceof Dom7) {\n // Array\n for (i = 0; i < obj.length; i++) {\n callback(i, obj[i]);\n }\n }\n else {\n // Object\n for (prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(prop, obj[prop]);\n }\n }\n }\n };\n $.unique = function (arr) {\n var unique = [];\n for (var i = 0; i < arr.length; i++) {\n if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]);\n }\n return unique;\n };\n $.serializeObject = $.param = function (obj, parents) {\n if (typeof obj === 'string') return obj;\n var resultArray = [];\n var separator = '&';\n parents = parents || [];\n var newParents;\n function var_name(name) {\n if (parents.length > 0) {\n var _parents = '';\n for (var j = 0; j < parents.length; j++) {\n if (j === 0) _parents += parents[j];\n else _parents += '[' + encodeURIComponent(parents[j]) + ']';\n }\n return _parents + '[' + encodeURIComponent(name) + ']';\n }\n else {\n return encodeURIComponent(name);\n }\n }\n function var_value(value) {\n return encodeURIComponent(value);\n }\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n var toPush;\n if ($.isArray(obj[prop])) {\n toPush = [];\n for (var i = 0; i < obj[prop].length; i ++) {\n if (!$.isArray(obj[prop][i]) && typeof obj[prop][i] === 'object') {\n newParents = parents.slice();\n newParents.push(prop);\n newParents.push(i + '');\n toPush.push($.serializeObject(obj[prop][i], newParents));\n }\n else {\n toPush.push(var_name(prop) + '[]=' + var_value(obj[prop][i]));\n }\n \n }\n if (toPush.length > 0) resultArray.push(toPush.join(separator));\n }\n else if (obj[prop] === null) {\n resultArray.push(var_name(prop) + '=');\n }\n else if (typeof obj[prop] === 'object') {\n // Object, convert to named array\n newParents = parents.slice();\n newParents.push(prop);\n toPush = $.serializeObject(obj[prop], newParents);\n if (toPush !== '') resultArray.push(toPush);\n }\n else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') {\n // Should be string or plain value\n resultArray.push(var_name(prop) + '=' + var_value(obj[prop]));\n }\n }\n }\n return resultArray.join(separator);\n };\n $.toCamelCase = function (string) {\n return string.toLowerCase().replace(/-(.)/g, function(match, group1) {\n return group1.toUpperCase();\n });\n };\n $.dataset = function (el) {\n return $(el).dataset();\n };\n $.getTranslate = function (el, axis) {\n var matrix, curTransform, curStyle, transformMatrix;\n \n // automatic axis detection\n if (typeof axis === 'undefined') {\n axis = 'x';\n }\n \n curStyle = window.getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function(a){\n return a.replace(',','.');\n }).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n }\n else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n \n if (axis === 'x') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m41;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[12]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m42;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[13]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[5]);\n }\n \n return curTransform || 0;\n };\n \n $.requestAnimationFrame = function (callback) {\n if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);\n else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);\n else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback);\n else {\n return window.setTimeout(callback, 1000 / 60);\n }\n };\n $.cancelAnimationFrame = function (id) {\n if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id);\n else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id);\n else if (window.mozCancelAnimationFrame) return window.mozCancelAnimationFrame(id);\n else {\n return window.clearTimeout(id);\n } \n };\n $.supportTouch = !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\n \n // Remove Diacritics\n var defaultDiacriticsRemovalap = [\n {base:'A', letters:'\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F'},\n {base:'AA',letters:'\\uA732'},\n {base:'AE',letters:'\\u00C6\\u01FC\\u01E2'},\n {base:'AO',letters:'\\uA734'},\n {base:'AU',letters:'\\uA736'},\n {base:'AV',letters:'\\uA738\\uA73A'},\n {base:'AY',letters:'\\uA73C'},\n {base:'B', letters:'\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181'},\n {base:'C', letters:'\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E'},\n {base:'D', letters:'\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779'},\n {base:'DZ',letters:'\\u01F1\\u01C4'},\n {base:'Dz',letters:'\\u01F2\\u01C5'},\n {base:'E', letters:'\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E'},\n {base:'F', letters:'\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B'},\n {base:'G', letters:'\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E'},\n {base:'H', letters:'\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D'},\n {base:'I', letters:'\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197'},\n {base:'J', letters:'\\u004A\\u24BF\\uFF2A\\u0134\\u0248'},\n {base:'K', letters:'\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2'},\n {base:'L', letters:'\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780'},\n {base:'LJ',letters:'\\u01C7'},\n {base:'Lj',letters:'\\u01C8'},\n {base:'M', letters:'\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C'},\n {base:'N', letters:'\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4'},\n {base:'NJ',letters:'\\u01CA'},\n {base:'Nj',letters:'\\u01CB'},\n {base:'O', letters:'\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C'},\n {base:'OI',letters:'\\u01A2'},\n {base:'OO',letters:'\\uA74E'},\n {base:'OU',letters:'\\u0222'},\n {base:'OE',letters:'\\u008C\\u0152'},\n {base:'oe',letters:'\\u009C\\u0153'},\n {base:'P', letters:'\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754'},\n {base:'Q', letters:'\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A'},\n {base:'R', letters:'\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782'},\n {base:'S', letters:'\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784'},\n {base:'T', letters:'\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786'},\n {base:'TZ',letters:'\\uA728'},\n {base:'U', letters:'\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244'},\n {base:'V', letters:'\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245'},\n {base:'VY',letters:'\\uA760'},\n {base:'W', letters:'\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72'},\n {base:'X', letters:'\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C'},\n {base:'Y', letters:'\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE'},\n {base:'Z', letters:'\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762'},\n {base:'a', letters:'\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250'},\n {base:'aa',letters:'\\uA733'},\n {base:'ae',letters:'\\u00E6\\u01FD\\u01E3'},\n {base:'ao',letters:'\\uA735'},\n {base:'au',letters:'\\uA737'},\n {base:'av',letters:'\\uA739\\uA73B'},\n {base:'ay',letters:'\\uA73D'},\n {base:'b', letters:'\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253'},\n {base:'c', letters:'\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184'},\n {base:'d', letters:'\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A'},\n {base:'dz',letters:'\\u01F3\\u01C6'},\n {base:'e', letters:'\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD'},\n {base:'f', letters:'\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C'},\n {base:'g', letters:'\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F'},\n {base:'h', letters:'\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265'},\n {base:'hv',letters:'\\u0195'},\n {base:'i', letters:'\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131'},\n {base:'j', letters:'\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249'},\n {base:'k', letters:'\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3'},\n {base:'l', letters:'\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747'},\n {base:'lj',letters:'\\u01C9'},\n {base:'m', letters:'\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F'},\n {base:'n', letters:'\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5'},\n {base:'nj',letters:'\\u01CC'},\n {base:'o', letters:'\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275'},\n {base:'oi',letters:'\\u01A3'},\n {base:'ou',letters:'\\u0223'},\n {base:'oo',letters:'\\uA74F'},\n {base:'p',letters:'\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755'},\n {base:'q',letters:'\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759'},\n {base:'r',letters:'\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783'},\n {base:'s',letters:'\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B'},\n {base:'t',letters:'\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787'},\n {base:'tz',letters:'\\uA729'},\n {base:'u',letters: '\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289'},\n {base:'v',letters:'\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C'},\n {base:'vy',letters:'\\uA761'},\n {base:'w',letters:'\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73'},\n {base:'x',letters:'\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D'},\n {base:'y',letters:'\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF'},\n {base:'z',letters:'\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763'}\n ];\n \n var diacriticsMap = {};\n for (var i=0; i < defaultDiacriticsRemovalap.length; i++){\n var letters = defaultDiacriticsRemovalap[i].letters;\n for (var j=0; j < letters.length ; j++){\n diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base;\n }\n }\n \n $.removeDiacritics = function (str) {\n return str.replace(/[^\\u0000-\\u007E]/g, function(a){\n return diacriticsMap[a] || a;\n });\n };\n // Link to prototype\n $.fn = Dom7.prototype;\n \n // Plugins\n $.fn.scrollTo = function (left, top, duration, easing, callback) {\n if (arguments.length === 4 && typeof easing === 'function') {\n callback = easing;\n easing = undefined;\n }\n return this.each(function () {\n var el = this;\n var currentTop, currentLeft, maxTop, maxLeft, newTop, newLeft, scrollTop, scrollLeft;\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) return;\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n function render(time) {\n if (time === undefined) {\n time = new Date().getTime();\n }\n if (startTime === null) {\n startTime = time;\n }\n var doneLeft, doneTop, done;\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : (0.5 - Math.cos( progress * Math.PI ) / 2);\n if (animateTop) scrollTop = currentTop + (easeProgress * (newTop - currentTop));\n if (animateLeft) scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft));\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n \n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n \n if (done) {\n if (callback) callback();\n return;\n }\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n $.requestAnimationFrame(render);\n }\n $.requestAnimationFrame(render);\n });\n };\n $.fn.scrollTop = function (top, duration, easing, callback) {\n if (arguments.length === 3 && typeof easing === 'function') {\n callback = easing;\n easing = undefined;\n }\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n else return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n };\n $.fn.scrollLeft = function (left, duration, easing, callback) {\n if (arguments.length === 3 && typeof easing === 'function') {\n callback = easing;\n easing = undefined;\n }\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n else return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n };\n"," return $;\n })();\n \n // Export Dom7 to Framework7\n Framework7.$ = Dom7;\n \n // Export to local scope\n var $ = Dom7;\n \n // Export to Window\n window.Dom7 = Dom7;\n \n"," /*========================\n Animate7 Animate Engine\n ==========================*/\n var Animate7 = function (elements, props, params) {\n props = props || {};\n params = params || {};\n var defaults = {\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n };\n \n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n var a = this;\n a.params = params;\n a.props = props;\n a.elements = $(elements);\n if (a.elements.length === 0) {\n return a;\n }\n \n a.easingProgress = function (easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos( progress * Math.PI ) / 2;\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n };\n \n a.stop = function () {\n if (a.frameId) {\n $.cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each(function (index, el) {\n delete el.animate7Instance;\n });\n a.que = [];\n };\n a.done = function (complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n delete el.animate7Instance;\n });\n if (complete) complete(elements);\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n };\n a.animating = false;\n a.que = [];\n a.animate = function (props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n a.params = params;\n \n var _elements = [];\n \n // Define & Cache Initials & Units\n a.elements.each(function (index, el) {\n var initialFullValue, initialValue, unit, finalValue, finalFullValue;\n \n _elements[index] = {\n _container: el\n };\n \n for (var prop in props) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = props[prop];\n finalFullValue = props[prop] + unit;\n _elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n \n }\n });\n \n var startTime = null,\n time,\n elementsDone = 0,\n propsDone = 0,\n done,\n began = false;\n \n a.animating = true;\n \n function render() {\n time = new Date().getTime();\n var progress, easeProgress, el;\n if (!began) {\n began = true;\n if (params.begin) params.begin(elements);\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n params.progress(\n a.elements,\n Math.max(Math.min((time - startTime) / params.duration, 1), 0),\n ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time),\n startTime\n );\n }\n \n for (var i = 0; i < _elements.length; i++) {\n if (done) continue;\n el = _elements[i];\n if (el.done) continue;\n \n for (var prop in props) {\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n \n el[prop].currentValue = el[prop].initialValue + easeProgress * (el[prop].finalValue - el[prop].initialValue);\n \n if (el[prop].finalValue > el[prop].initialValue && el[prop].currentValue >= el[prop].finalValue || el[prop].finalValue < el[prop].initialValue && el[prop].currentValue <= el[prop].finalValue) {\n el._container.style[prop] = el[prop].finalValue + el[prop].unit;\n propsDone ++;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone++;\n }\n if (elementsDone === _elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return a;\n }\n el._container.style[prop] = el[prop].currentValue + el[prop].unit;\n }\n }\n \n // Then call\n a.frameId = $.requestAnimationFrame(render);\n }\n a.frameId = $.requestAnimationFrame(render);\n return a;\n };\n var foundInstance;\n for (var i = 0; i < a.elements.length; i++) {\n if (a.elements[i].animate7Instance) {\n foundInstance = a.elements[i].animate7Instance;\n }\n else a.elements[i].animate7Instance = a;\n }\n if (foundInstance) {\n return foundInstance.animate(props, params);\n }\n else a.animate(props, params);\n return a;\n };\n window.Animate7 = function (elements, props, params){\n return new Animate7(elements, props, params);\n };\n Dom7.fn.animate = function (props, params) {\n new Animate7(this, props, params);\n return this;\n };\n"," /*===========================\n Features Support Detection\n ===========================*/\n Framework7.prototype.support = (function () {\n var support = {\n touch: !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch),\n passiveListener: (function () {\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {}\n return supportsPassive;\n })()\n };\n \n // Export object\n return support;\n })();\n \n"," /*===========================\n Device/OS Detection\n ===========================*/\n Framework7.prototype.device = (function () {\n var device = {};\n var ua = navigator.userAgent;\n var $ = Dom7;\n \n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n \n device.ios = device.android = device.iphone = device.ipad = device.androidChrome = false;\n \n // Android\n if (android) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.iphone = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n \n // Webview\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\n \n // Minimal UI\n if (device.os && device.os === 'ios') {\n var osVersionArr = device.osVersion.split('.');\n device.minimalUi = !device.webView &&\n (ipod || iphone) &&\n (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) &&\n $('meta[name=\"viewport\"]').length > 0 && $('meta[name=\"viewport\"]').attr('content').indexOf('minimal-ui') >= 0;\n }\n \n // Check for status bar and fullscreen app mode\n var windowWidth = $(window).width();\n var windowHeight = $(window).height();\n device.statusBar = false;\n if (device.webView && (windowWidth * windowHeight === screen.width * screen.height)) {\n device.statusBar = true;\n }\n else {\n device.statusBar = false;\n }\n \n // Classes\n var classNames = [];\n \n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n classNames.push('pixel-ratio-' + Math.floor(device.pixelRatio));\n if (device.pixelRatio >= 2) {\n classNames.push('retina');\n }\n \n // OS classes\n if (device.os) {\n classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\\./g, '-'));\n if (device.os === 'ios') {\n var major = parseInt(device.osVersion.split('.')[0], 10);\n for (var i = major - 1; i >= 6; i--) {\n classNames.push('ios-gt-' + i);\n }\n }\n \n }\n // Status bar classes\n if (device.statusBar) {\n classNames.push('with-statusbar-overlay');\n }\n else {\n $('html').removeClass('with-statusbar-overlay');\n }\n \n // Add html classes\n if (classNames.length > 0) $('html').addClass(classNames.join(' '));\n \n // Export object\n return device;\n })();\n \n"," /*===========================\n Plugins prototype\n ===========================*/\n Framework7.prototype.plugins = {};\n \n"," /*===========================\n Template7 Template engine\n ===========================*/\n window.Template7 = (function () {\n 'use strict';\n function isArray(arr) {\n return Object.prototype.toString.apply(arr) === '[object Array]';\n }\n function isObject(obj) {\n return obj instanceof Object;\n }\n function isFunction(func) {\n return typeof func === 'function';\n }\n function _escape(string) {\n return typeof window !== 'undefined' && window.escape ? window.escape(string) : string\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n }\n var cache = {};\n var quoteSingleRexExp = new RegExp('\\'', 'g');\n var quoteDoubleRexExp = new RegExp('\"', 'g');\n function helperToSlices(string) {\n var helperParts = string.replace(/[{}#}]/g, '').split(' ');\n var slices = [];\n var shiftIndex, i, j;\n for (i = 0; i < helperParts.length; i++) {\n var part = helperParts[i];\n var blockQuoteRegExp, openingQuote;\n if (i === 0) slices.push(part);\n else {\n if (part.indexOf('\"') === 0 || part.indexOf('\\'') === 0) {\n blockQuoteRegExp = part.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\n openingQuote = part.indexOf('\"') === 0 ? '\"' : '\\'';\n // Plain String\n if (part.match(blockQuoteRegExp).length === 2) {\n // One word string\n slices.push(part);\n }\n else {\n // Find closed Index\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n part += ' ' + helperParts[j];\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n slices.push(part);\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n }\n else {\n if (part.indexOf('=') > 0) {\n // Hash\n var hashParts = part.split('=');\n var hashName = hashParts[0];\n var hashContent = hashParts[1];\n if (hashContent.match(blockQuoteRegExp).length !== 2) {\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n hashContent += ' ' + helperParts[j];\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n var hash = [hashName, hashContent.replace(blockQuoteRegExp,'')];\n slices.push(hash);\n }\n else {\n // Plain variable\n slices.push(part);\n }\n }\n }\n }\n return slices;\n }\n function stringToBlocks(string) {\n var blocks = [], i, j, k;\n if (!string) return [];\n var _blocks = string.split(/({{[^{^}]*}})/);\n for (i = 0; i < _blocks.length; i++) {\n var block = _blocks[i];\n if (block === '') continue;\n if (block.indexOf('{{') < 0) {\n blocks.push({\n type: 'plain',\n content: block\n });\n }\n else {\n if (block.indexOf('{/') >= 0) {\n continue;\n }\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\n // Simple variable\n blocks.push({\n type: 'variable',\n contextName: block.replace(/[{}]/g, '')\n });\n continue;\n }\n // Helpers\n var helperSlices = helperToSlices(block);\n var helperName = helperSlices[0];\n var isPartial = helperName === '>';\n var helperContext = [];\n var helperHash = {};\n for (j = 1; j < helperSlices.length; j++) {\n var slice = helperSlices[j];\n if (isArray(slice)) {\n // Hash\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\n }\n else {\n helperContext.push(slice);\n }\n }\n \n if (block.indexOf('{#') >= 0) {\n // Condition/Helper\n var helperStartIndex = i;\n var helperContent = '';\n var elseContent = '';\n var toSkip = 0;\n var shiftIndex;\n var foundClosed = false, foundElse = false, foundClosedElse = false, depth = 0;\n for (j = i + 1; j < _blocks.length; j++) {\n if (_blocks[j].indexOf('{{#') >= 0) {\n depth ++;\n }\n if (_blocks[j].indexOf('{{/') >= 0) {\n depth --;\n }\n if (_blocks[j].indexOf('{{#' + helperName) >= 0) {\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n toSkip ++;\n }\n else if (_blocks[j].indexOf('{{/' + helperName) >= 0) {\n if (toSkip > 0) {\n toSkip--;\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n else {\n shiftIndex = j;\n foundClosed = true;\n break;\n }\n }\n else if (_blocks[j].indexOf('else') >= 0 && depth === 0) {\n foundElse = true;\n }\n else {\n if (!foundElse) helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n \n }\n if (foundClosed) {\n if (shiftIndex) i = shiftIndex;\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n content: helperContent,\n inverseContent: elseContent,\n hash: helperHash\n });\n }\n }\n else if (block.indexOf(' ') > 0) {\n if (isPartial) {\n helperName = '_partial';\n if (helperContext[0]) helperContext[0] = '\"' + helperContext[0].replace(/\"|'/g, '') + '\"';\n }\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n hash: helperHash\n });\n }\n }\n }\n return blocks;\n }\n var Template7 = function (template, options) {\n var t = this;\n t.template = template;\n \n function getCompileFn(block, depth) {\n if (block.content) return compile(block.content, depth);\n else return function () {return ''; };\n }\n function getCompileInverse(block, depth) {\n if (block.inverseContent) return compile(block.inverseContent, depth);\n else return function () {return ''; };\n }\n function getCompileVar(name, ctx) {\n var variable, parts, levelsUp = 0, initialCtx = ctx;\n if (name.indexOf('../') === 0) {\n levelsUp = name.split('../').length - 1;\n var newDepth = ctx.split('_')[1] - levelsUp;\n ctx = 'ctx_' + (newDepth >= 1 ? newDepth : 1);\n parts = name.split('../')[levelsUp].split('.');\n }\n else if (name.indexOf('@global') === 0) {\n ctx = 'Template7.global';\n parts = name.split('@global.')[1].split('.');\n }\n else if (name.indexOf('@root') === 0) {\n ctx = 'root';\n parts = name.split('@root.')[1].split('.');\n }\n else {\n parts = name.split('.');\n }\n variable = ctx;\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n if (part.indexOf('@') === 0) {\n if (i > 0) {\n variable += '[(data && data.' + part.replace('@', '') + ')]';\n }\n else {\n variable = '(data && data.' + name.replace('@', '') + ')';\n }\n }\n else {\n if (isFinite(part)) {\n variable += '[' + part + ']';\n }\n else {\n if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) {\n variable = part.replace('this', ctx);\n }\n else {\n variable += '.' + part;\n }\n }\n }\n }\n \n return variable;\n }\n function getCompiledArguments(contextArray, ctx) {\n var arr = [];\n for (var i = 0; i < contextArray.length; i++) {\n if (/^['\"]/.test(contextArray[i])) arr.push(contextArray[i]);\n else if (/^(true|false|\\d+)$/.test(contextArray[i])) arr.push(contextArray[i]);\n else {\n arr.push(getCompileVar(contextArray[i], ctx));\n }\n }\n \n return arr.join(', ');\n }\n function compile(template, depth) {\n depth = depth || 1;\n template = template || t.template;\n if (typeof template !== 'string') {\n throw new Error('Template7: Template must be a string');\n }\n var blocks = stringToBlocks(template);\n if (blocks.length === 0) {\n return function () { return ''; };\n }\n var ctx = 'ctx_' + depth;\n var resultString = '';\n if (depth === 1) {\n resultString += '(function (' + ctx + ', data, root) {\\n';\n }\n else {\n resultString += '(function (' + ctx + ', data) {\\n';\n }\n if (depth === 1) {\n resultString += 'function isArray(arr){return Object.prototype.toString.apply(arr) === \\'[object Array]\\';}\\n';\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\n resultString += 'root = root || ctx_1 || {};\\n';\n }\n resultString += 'var r = \\'\\';\\n';\n var i, j, context;\n for (i = 0; i < blocks.length; i++) {\n var block = blocks[i];\n // Plain block\n if (block.type === 'plain') {\n resultString += 'r +=\\'' + (block.content).replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\'') + '\\';';\n continue;\n }\n var variable, compiledArguments;\n // Variable block\n if (block.type === 'variable') {\n variable = getCompileVar(block.contextName, ctx);\n resultString += 'r += c(' + variable + ', ' + ctx + ');';\n }\n // Helpers block\n if (block.type === 'helper') {\n if (block.helperName in t.helpers) {\n compiledArguments = getCompiledArguments(block.contextName, ctx);\n \n resultString += 'r += (Template7.helpers.' + block.helperName + ').call(' + ctx + ', ' + (compiledArguments && (compiledArguments + ', ')) +'{hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth + 1) + ', inverse: ' + getCompileInverse(block, depth + 1) + ', root: root});';\n \n }\n else {\n if (block.contextName.length > 0) {\n throw new Error('Template7: Missing helper: \"' + block.helperName + '\"');\n }\n else {\n variable = getCompileVar(block.helperName, ctx);\n resultString += 'if (' + variable + ') {';\n resultString += 'if (isArray(' + variable + ')) {';\n resultString += 'r += (Template7.helpers.each).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});';\n resultString += '}else {';\n resultString += 'r += (Template7.helpers.with).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});';\n resultString += '}}';\n }\n }\n }\n }\n resultString += '\\nreturn r;})';\n return eval.call(window, resultString);\n }\n t.compile = function (template) {\n if (!t.compiled) {\n t.compiled = compile(template);\n }\n return t.compiled;\n };\n };\n Template7.prototype = {\n options: {},\n partials: {},\n helpers: {\n '_partial' : function (partialName, options) {\n var p = Template7.prototype.partials[partialName];\n if (!p || (p && !p.template)) return '';\n if (!p.compiled) {\n p.compiled = new Template7(p.template).compile();\n }\n var ctx = this;\n for (var hashName in options.hash) {\n ctx[hashName] = options.hash[hashName];\n }\n return p.compiled(ctx, options.data, options.root);\n },\n 'escape': function (context, options) {\n if (typeof context !== 'string') {\n throw new Error('Template7: Passed context to \"escape\" helper should be a string');\n }\n return _escape(context);\n },\n 'if': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'unless': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (!context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'each': function (context, options) {\n var ret = '', i = 0;\n if (isFunction(context)) { context = context.call(this); }\n if (isArray(context)) {\n if (options.hash.reverse) {\n context = context.reverse();\n }\n for (i = 0; i < context.length; i++) {\n ret += options.fn(context[i], {first: i === 0, last: i === context.length - 1, index: i});\n }\n if (options.hash.reverse) {\n context = context.reverse();\n }\n }\n else {\n for (var key in context) {\n i++;\n ret += options.fn(context[key], {key: key});\n }\n }\n if (i > 0) return ret;\n else return options.inverse(this);\n },\n 'with': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return options.fn(context);\n },\n 'join': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return context.join(options.hash.delimiter || options.hash.delimeter);\n },\n 'js': function (expression, options) {\n var func;\n if (expression.indexOf('return')>=0) {\n func = '(function(){'+expression+'})';\n }\n else {\n func = '(function(){return ('+expression+')})';\n }\n return eval.call(this, func).call(this);\n },\n 'js_compare': function (expression, options) {\n var func;\n if (expression.indexOf('return')>=0) {\n func = '(function(){'+expression+'})';\n }\n else {\n func = '(function(){return ('+expression+')})';\n }\n var condition = eval.call(this, func).call(this);\n if (condition) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n }\n }\n };\n var t7 = function (template, data) {\n if (arguments.length === 2) {\n var instance = new Template7(template);\n var rendered = instance.compile()(data);\n instance = null;\n return (rendered);\n }\n else return new Template7(template);\n };\n t7.registerHelper = function (name, fn) {\n Template7.prototype.helpers[name] = fn;\n };\n t7.unregisterHelper = function (name) {\n Template7.prototype.helpers[name] = undefined;\n delete Template7.prototype.helpers[name];\n };\n t7.registerPartial = function (name, template) {\n Template7.prototype.partials[name] = {template: template};\n };\n t7.unregisterPartial = function (name, template) {\n if (Template7.prototype.partials[name]) {\n Template7.prototype.partials[name] = undefined;\n delete Template7.prototype.partials[name];\n }\n };\n t7.compile = function (template, options) {\n var instance = new Template7(template, options);\n return instance.compile();\n };\n \n t7.options = Template7.prototype.options;\n t7.helpers = Template7.prototype.helpers;\n t7.partials = Template7.prototype.partials;\n return t7;\n })();\n"," /*===========================\n Swiper\n ===========================*/\n window.Swiper = function (container, params) {\n if (!(this instanceof Swiper)) return new Swiper(container, params);\n var defaults = {\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n // autoplay\n autoplay: false,\n autoplayDisableOnInteraction: true,\n autoplayStopOnLast: false,\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\n iOSEdgeSwipeDetection: false,\n iOSEdgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n coverflow: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows : true\n },\n flip: {\n slideShadows : true,\n limitRotation: true\n },\n cube: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n },\n fade: {\n crossFade: false\n },\n // Parallax\n parallax: false,\n // Zoom\n zoom: false,\n zoomMax: 3,\n zoomMin: 1,\n zoomToggle: true,\n // Scrollbar\n scrollbar: null,\n scrollbarHide: true,\n scrollbarDraggable: false,\n scrollbarSnapOnRelease: false,\n // Keyboard Mousewheel\n keyboardControl: false,\n mousewheelControl: false,\n mousewheelReleaseOnEdges: false,\n mousewheelInvert: false,\n mousewheelForceToAxis: false,\n mousewheelSensitivity: 1,\n mousewheelEventsTarged: 'container',\n // Hash Navigation\n hashnav: false,\n hashnavWatchState: false,\n // History\n history: false,\n // Commong Nav State\n replaceState: false,\n // Breakpoints\n breakpoints: undefined,\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0, // in px\n slidesOffsetAfter: 0, // in px\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n onlyExternal: false,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Pagination\n pagination: null,\n paginationElement: 'span',\n paginationClickable: false,\n paginationHide: false,\n paginationBulletRender: null,\n paginationProgressRender: null,\n paginationFractionRender: null,\n paginationCustomRender: null,\n paginationType: 'bullets', // 'bullets' or 'progress' or 'fraction' or 'custom'\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Next/prev buttons\n nextButton: null,\n prevButton: null,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Lazy Loading\n lazyLoading: false,\n lazyLoadingInPrevNext: false,\n lazyLoadingInPrevNextAmount: 1,\n lazyLoadingOnTransitionStart: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n // Control\n control: undefined,\n controlInverse: false,\n controlBy: 'slide', //or 'container'\n normalizeSlideIndex: true,\n // Swiping/no swiping\n allowSwipeToPrev: true,\n allowSwipeToNext: true,\n swipeHandler: null, //'.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-', // NEW\n slideClass: 'swiper-slide',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n buttonDisabledClass: 'swiper-button-disabled',\n paginationCurrentClass: 'swiper-pagination-current',\n paginationTotalClass: 'swiper-pagination-total',\n paginationHiddenClass: 'swiper-pagination-hidden',\n paginationProgressbarClass: 'swiper-pagination-progressbar',\n paginationClickableClass: 'swiper-pagination-clickable', // NEW\n paginationModifierClass: 'swiper-pagination-', // NEW\n lazyLoadingClass: 'swiper-lazy',\n lazyStatusLoadingClass: 'swiper-lazy-loading',\n lazyStatusLoadedClass: 'swiper-lazy-loaded',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n notificationClass: 'swiper-notification',\n preloaderClass: 'preloader',\n zoomContainerClass: 'swiper-zoom-container',\n \n // Observer\n observer: false,\n observeParents: false,\n // Accessibility\n a11y: false,\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n // Callbacks\n runCallbacksOnInit: true\n /*\n Callbacks:\n onInit: function (swiper)\n onDestroy: function (swiper)\n onClick: function (swiper, e)\n onTap: function (swiper, e)\n onDoubleTap: function (swiper, e)\n onSliderMove: function (swiper, e)\n onSlideChangeStart: function (swiper)\n onSlideChangeEnd: function (swiper)\n onTransitionStart: function (swiper)\n onTransitionEnd: function (swiper)\n onImagesReady: function (swiper)\n onProgress: function (swiper, progress)\n onTouchStart: function (swiper, e)\n onTouchMove: function (swiper, e)\n onTouchMoveOpposite: function (swiper, e)\n onTouchEnd: function (swiper, e)\n onReachBeginning: function (swiper)\n onReachEnd: function (swiper)\n onSetTransition: function (swiper, duration)\n onSetTranslate: function (swiper, translate)\n onAutoplayStart: function (swiper)\n onAutoplayStop: function (swiper),\n onLazyImageLoad: function (swiper, slide, image)\n onLazyImageReady: function (swiper, slide, image)\n */\n \n };\n var initialVirtualTranslate = params && params.virtualTranslate;\n \n params = params || {};\n var originalParams = {};\n for (var param in params) {\n if (typeof params[param] === 'object' && params[param] !== null && !(params[param].nodeType || params[param] === window || params[param] === document || (typeof Dom7 !== 'undefined' && params[param] instanceof Dom7) || (typeof jQuery !== 'undefined' && params[param] instanceof jQuery))) {\n originalParams[param] = {};\n for (var deepParam in params[param]) {\n originalParams[param][deepParam] = params[param][deepParam];\n }\n }\n else {\n originalParams[param] = params[param];\n }\n }\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n else if (typeof params[def] === 'object') {\n for (var deepDef in defaults[def]) {\n if (typeof params[def][deepDef] === 'undefined') {\n params[def][deepDef] = defaults[def][deepDef];\n }\n }\n }\n }\n \n // Swiper\n var s = this;\n \n // Params\n s.params = params;\n s.originalParams = originalParams;\n \n // Classname\n s.classNames = [];\n /*=========================\n Dom Library and plugins\n ===========================*/\n if (typeof $ !== 'undefined' && typeof Dom7 !== 'undefined'){\n $ = Dom7;\n }\n if (typeof $ === 'undefined') {\n if (typeof Dom7 === 'undefined') {\n $ = window.Dom7 || window.Zepto || window.jQuery;\n }\n else {\n $ = Dom7;\n }\n if (!$) return;\n }\n // Export it to Swiper instance\n s.$ = $;\n \n /*=========================\n Breakpoints\n ===========================*/\n s.currentBreakpoint = undefined;\n s.getActiveBreakpoint = function () {\n //Get breakpoint for window width\n if (!s.params.breakpoints) return false;\n var breakpoint = false;\n var points = [], point;\n for ( point in s.params.breakpoints ) {\n if (s.params.breakpoints.hasOwnProperty(point)) {\n points.push(point);\n }\n }\n points.sort(function (a, b) {\n return parseInt(a, 10) > parseInt(b, 10);\n });\n for (var i = 0; i < points.length; i++) {\n point = points[i];\n if (point >= window.innerWidth && !breakpoint) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n };\n s.setBreakpoint = function () {\n //Set breakpoint for window width and update parameters\n var breakpoint = s.getActiveBreakpoint();\n if (breakpoint && s.currentBreakpoint !== breakpoint) {\n var breakPointsParams = breakpoint in s.params.breakpoints ? s.params.breakpoints[breakpoint] : s.originalParams;\n var needsReLoop = s.params.loop && (breakPointsParams.slidesPerView !== s.params.slidesPerView);\n for ( var param in breakPointsParams ) {\n s.params[param] = breakPointsParams[param];\n }\n s.currentBreakpoint = breakpoint;\n if(needsReLoop && s.destroyLoop) {\n s.reLoop(true);\n }\n }\n };\n // Set breakpoint on load\n if (s.params.breakpoints) {\n s.setBreakpoint();\n }\n \n /*=========================\n Preparation - Define Container, Wrapper and Pagination\n ===========================*/\n s.container = $(container);\n if (s.container.length === 0) return;\n if (s.container.length > 1) {\n var swipers = [];\n s.container.each(function () {\n var container = this;\n swipers.push(new Swiper(this, params));\n });\n return swipers;\n }\n \n // Save instance in container HTML Element and in data\n s.container[0].swiper = s;\n s.container.data('swiper', s);\n \n s.classNames.push(s.params.containerModifierClass + s.params.direction);\n \n if (s.params.freeMode) {\n s.classNames.push(s.params.containerModifierClass + 'free-mode');\n }\n if (!s.support.flexbox) {\n s.classNames.push(s.params.containerModifierClass + 'no-flexbox');\n s.params.slidesPerColumn = 1;\n }\n if (s.params.autoHeight) {\n s.classNames.push(s.params.containerModifierClass + 'autoheight');\n }\n // Enable slides progress when required\n if (s.params.parallax || s.params.watchSlidesVisibility) {\n s.params.watchSlidesProgress = true;\n }\n // Max resistance when touchReleaseOnEdges\n if (s.params.touchReleaseOnEdges) {\n s.params.resistanceRatio = 0;\n }\n // Coverflow / 3D\n if (['cube', 'coverflow', 'flip'].indexOf(s.params.effect) >= 0) {\n if (s.support.transforms3d) {\n s.params.watchSlidesProgress = true;\n s.classNames.push(s.params.containerModifierClass + '3d');\n }\n else {\n s.params.effect = 'slide';\n }\n }\n if (s.params.effect !== 'slide') {\n s.classNames.push(s.params.containerModifierClass + s.params.effect);\n }\n if (s.params.effect === 'cube') {\n s.params.resistanceRatio = 0;\n s.params.slidesPerView = 1;\n s.params.slidesPerColumn = 1;\n s.params.slidesPerGroup = 1;\n s.params.centeredSlides = false;\n s.params.spaceBetween = 0;\n s.params.virtualTranslate = true;\n s.params.setWrapperSize = false;\n }\n if (s.params.effect === 'fade' || s.params.effect === 'flip') {\n s.params.slidesPerView = 1;\n s.params.slidesPerColumn = 1;\n s.params.slidesPerGroup = 1;\n s.params.watchSlidesProgress = true;\n s.params.spaceBetween = 0;\n s.params.setWrapperSize = false;\n if (typeof initialVirtualTranslate === 'undefined') {\n s.params.virtualTranslate = true;\n }\n }\n \n // Grab Cursor\n if (s.params.grabCursor && s.support.touch) {\n s.params.grabCursor = false;\n }\n \n // Wrapper\n s.wrapper = s.container.children('.' + s.params.wrapperClass);\n \n // Pagination\n if (s.params.pagination) {\n s.paginationContainer = $(s.params.pagination);\n if (s.params.uniqueNavElements && typeof s.params.pagination === 'string' && s.paginationContainer.length > 1 && s.container.find(s.params.pagination).length === 1) {\n s.paginationContainer = s.container.find(s.params.pagination);\n }\n \n if (s.params.paginationType === 'bullets' && s.params.paginationClickable) {\n s.paginationContainer.addClass(s.params.paginationModifierClass + 'clickable');\n }\n else {\n s.params.paginationClickable = false;\n }\n s.paginationContainer.addClass(s.params.paginationModifierClass + s.params.paginationType);\n }\n // Next/Prev Buttons\n if (s.params.nextButton || s.params.prevButton) {\n if (s.params.nextButton) {\n s.nextButton = $(s.params.nextButton);\n if (s.params.uniqueNavElements && typeof s.params.nextButton === 'string' && s.nextButton.length > 1 && s.container.find(s.params.nextButton).length === 1) {\n s.nextButton = s.container.find(s.params.nextButton);\n }\n }\n if (s.params.prevButton) {\n s.prevButton = $(s.params.prevButton);\n if (s.params.uniqueNavElements && typeof s.params.prevButton === 'string' && s.prevButton.length > 1 && s.container.find(s.params.prevButton).length === 1) {\n s.prevButton = s.container.find(s.params.prevButton);\n }\n }\n }\n \n // Is Horizontal\n s.isHorizontal = function () {\n return s.params.direction === 'horizontal';\n };\n // s.isH = isH;\n \n // RTL\n s.rtl = s.isHorizontal() && (s.container[0].dir.toLowerCase() === 'rtl' || s.container.css('direction') === 'rtl');\n if (s.rtl) {\n s.classNames.push(s.params.containerModifierClass + 'rtl');\n }\n \n // Wrong RTL support\n if (s.rtl) {\n s.wrongRTL = s.wrapper.css('display') === '-webkit-box';\n }\n \n // Columns\n if (s.params.slidesPerColumn > 1) {\n s.classNames.push(s.params.containerModifierClass + 'multirow');\n }\n \n // Check for Android\n if (s.device.android) {\n s.classNames.push(s.params.containerModifierClass + 'android');\n }\n \n // Add classes\n s.container.addClass(s.classNames.join(' '));\n \n // Translate\n s.translate = 0;\n \n // Progress\n s.progress = 0;\n \n // Velocity\n s.velocity = 0;\n \n /*=========================\n Locks, unlocks\n ===========================*/\n s.lockSwipeToNext = function () {\n s.params.allowSwipeToNext = false;\n if (s.params.allowSwipeToPrev === false && s.params.grabCursor) {\n s.unsetGrabCursor();\n }\n };\n s.lockSwipeToPrev = function () {\n s.params.allowSwipeToPrev = false;\n if (s.params.allowSwipeToNext === false && s.params.grabCursor) {\n s.unsetGrabCursor();\n }\n };\n s.lockSwipes = function () {\n s.params.allowSwipeToNext = s.params.allowSwipeToPrev = false;\n if (s.params.grabCursor) s.unsetGrabCursor();\n };\n s.unlockSwipeToNext = function () {\n s.params.allowSwipeToNext = true;\n if (s.params.allowSwipeToPrev === true && s.params.grabCursor) {\n s.setGrabCursor();\n }\n };\n s.unlockSwipeToPrev = function () {\n s.params.allowSwipeToPrev = true;\n if (s.params.allowSwipeToNext === true && s.params.grabCursor) {\n s.setGrabCursor();\n }\n };\n s.unlockSwipes = function () {\n s.params.allowSwipeToNext = s.params.allowSwipeToPrev = true;\n if (s.params.grabCursor) s.setGrabCursor();\n };\n \n /*=========================\n Round helper\n ===========================*/\n function round(a) {\n return Math.floor(a);\n }\n /*=========================\n Set grab cursor\n ===========================*/\n s.setGrabCursor = function(moving) {\n s.container[0].style.cursor = 'move';\n s.container[0].style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n s.container[0].style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n s.container[0].style.cursor = moving ? 'grabbing': 'grab';\n };\n s.unsetGrabCursor = function () {\n s.container[0].style.cursor = '';\n };\n if (s.params.grabCursor) {\n s.setGrabCursor();\n }\n /*=========================\n Update on Images Ready\n ===========================*/\n s.imagesToLoad = [];\n s.imagesLoaded = 0;\n \n s.loadImage = function (imgElement, src, srcset, sizes, checkForComplete, callback) {\n var image;\n function onReady () {\n if (callback) callback();\n }\n if (!imgElement.complete || !checkForComplete) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n if (sizes) {\n image.sizes = sizes;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n \n } else {//image already loaded...\n onReady();\n }\n };\n s.preloadImages = function () {\n s.imagesToLoad = s.container.find('img');\n function _onReady() {\n if (typeof s === 'undefined' || s === null) return;\n if (s.imagesLoaded !== undefined) s.imagesLoaded++;\n if (s.imagesLoaded === s.imagesToLoad.length) {\n if (s.params.updateOnImagesReady) s.update();\n s.emit('onImagesReady', s);\n }\n }\n for (var i = 0; i < s.imagesToLoad.length; i++) {\n s.loadImage(s.imagesToLoad[i], (s.imagesToLoad[i].currentSrc || s.imagesToLoad[i].getAttribute('src')), (s.imagesToLoad[i].srcset || s.imagesToLoad[i].getAttribute('srcset')), s.imagesToLoad[i].sizes || s.imagesToLoad[i].getAttribute('sizes'), true, _onReady);\n }\n };\n \n /*=========================\n Autoplay\n ===========================*/\n s.autoplayTimeoutId = undefined;\n s.autoplaying = false;\n s.autoplayPaused = false;\n function autoplay() {\n var autoplayDelay = s.params.autoplay;\n var activeSlide = s.slides.eq(s.activeIndex);\n if (activeSlide.attr('data-swiper-autoplay')) {\n autoplayDelay = activeSlide.attr('data-swiper-autoplay') || s.params.autoplay;\n }\n s.autoplayTimeoutId = setTimeout(function () {\n if (s.params.loop) {\n s.fixLoop();\n s._slideNext();\n s.emit('onAutoplay', s);\n }\n else {\n if (!s.isEnd) {\n s._slideNext();\n s.emit('onAutoplay', s);\n }\n else {\n if (!params.autoplayStopOnLast) {\n s._slideTo(0);\n s.emit('onAutoplay', s);\n }\n else {\n s.stopAutoplay();\n }\n }\n }\n }, autoplayDelay);\n }\n s.startAutoplay = function () {\n if (typeof s.autoplayTimeoutId !== 'undefined') return false;\n if (!s.params.autoplay) return false;\n if (s.autoplaying) return false;\n s.autoplaying = true;\n s.emit('onAutoplayStart', s);\n autoplay();\n };\n s.stopAutoplay = function (internal) {\n if (!s.autoplayTimeoutId) return;\n if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId);\n s.autoplaying = false;\n s.autoplayTimeoutId = undefined;\n s.emit('onAutoplayStop', s);\n };\n s.pauseAutoplay = function (speed) {\n if (s.autoplayPaused) return;\n if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId);\n s.autoplayPaused = true;\n if (speed === 0) {\n s.autoplayPaused = false;\n autoplay();\n }\n else {\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.autoplayPaused = false;\n if (!s.autoplaying) {\n s.stopAutoplay();\n }\n else {\n autoplay();\n }\n });\n }\n };\n /*=========================\n Min/Max Translate\n ===========================*/\n s.minTranslate = function () {\n return (-s.snapGrid[0]);\n };\n s.maxTranslate = function () {\n return (-s.snapGrid[s.snapGrid.length - 1]);\n };\n /*=========================\n Slider/slides sizes\n ===========================*/\n s.updateAutoHeight = function () {\n var activeSlides = [];\n var newHeight = 0;\n \n // Find slides currently in view\n if(s.params.slidesPerView !== 'auto' && s.params.slidesPerView > 1) {\n for (i = 0; i < Math.ceil(s.params.slidesPerView); i++) {\n var index = s.activeIndex + i;\n if(index > s.slides.length) break;\n activeSlides.push(s.slides.eq(index)[0]);\n }\n } else {\n activeSlides.push(s.slides.eq(s.activeIndex)[0]);\n }\n \n // Find new height from heighest slide in view\n for (i = 0; i < activeSlides.length; i++) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n \n // Update Height\n if (newHeight) s.wrapper.css('height', newHeight + 'px');\n };\n s.updateContainerSize = function () {\n var width, height;\n if (typeof s.params.width !== 'undefined') {\n width = s.params.width;\n }\n else {\n width = s.container[0].clientWidth;\n }\n if (typeof s.params.height !== 'undefined') {\n height = s.params.height;\n }\n else {\n height = s.container[0].clientHeight;\n }\n if (width === 0 && s.isHorizontal() || height === 0 && !s.isHorizontal()) {\n return;\n }\n \n //Subtract paddings\n width = width - parseInt(s.container.css('padding-left'), 10) - parseInt(s.container.css('padding-right'), 10);\n height = height - parseInt(s.container.css('padding-top'), 10) - parseInt(s.container.css('padding-bottom'), 10);\n \n // Store values\n s.width = width;\n s.height = height;\n s.size = s.isHorizontal() ? s.width : s.height;\n };\n \n s.updateSlidesSize = function () {\n s.slides = s.wrapper.children('.' + s.params.slideClass);\n s.snapGrid = [];\n s.slidesGrid = [];\n s.slidesSizesGrid = [];\n \n var spaceBetween = s.params.spaceBetween,\n slidePosition = -s.params.slidesOffsetBefore,\n i,\n prevSlideSize = 0,\n index = 0;\n if (typeof s.size === 'undefined') return;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * s.size;\n }\n \n s.virtualSize = -spaceBetween;\n // reset margins\n if (s.rtl) s.slides.css({marginLeft: '', marginTop: ''});\n else s.slides.css({marginRight: '', marginBottom: ''});\n \n var slidesNumberEvenToRows;\n if (s.params.slidesPerColumn > 1) {\n if (Math.floor(s.slides.length / s.params.slidesPerColumn) === s.slides.length / s.params.slidesPerColumn) {\n slidesNumberEvenToRows = s.slides.length;\n }\n else {\n slidesNumberEvenToRows = Math.ceil(s.slides.length / s.params.slidesPerColumn) * s.params.slidesPerColumn;\n }\n if (s.params.slidesPerView !== 'auto' && s.params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, s.params.slidesPerView * s.params.slidesPerColumn);\n }\n }\n \n // Calc slides\n var slideSize;\n var slidesPerColumn = s.params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = slidesPerRow - (s.params.slidesPerColumn * slidesPerRow - s.slides.length);\n for (i = 0; i < s.slides.length; i++) {\n slideSize = 0;\n var slide = s.slides.eq(i);\n if (s.params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex;\n var column, row;\n if (s.params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn-1)) {\n if (++row >= slidesPerColumn) {\n row = 0;\n column++;\n }\n }\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide\n .css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n 'order': newSlideOrderIndex\n });\n }\n else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide\n .css(\n 'margin-' + (s.isHorizontal() ? 'top' : 'left'),\n (row !== 0 && s.params.spaceBetween) && (s.params.spaceBetween + 'px')\n )\n .attr('data-swiper-column', column)\n .attr('data-swiper-row', row);\n \n }\n if (slide.css('display') === 'none') continue;\n if (s.params.slidesPerView === 'auto') {\n slideSize = s.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n if (s.params.roundLengths) slideSize = round(slideSize);\n }\n else {\n slideSize = (s.size - (s.params.slidesPerView - 1) * spaceBetween) / s.params.slidesPerView;\n if (s.params.roundLengths) slideSize = round(slideSize);\n \n if (s.isHorizontal()) {\n s.slides[i].style.width = slideSize + 'px';\n }\n else {\n s.slides[i].style.height = slideSize + 'px';\n }\n }\n s.slides[i].swiperSlideSize = slideSize;\n s.slidesSizesGrid.push(slideSize);\n \n \n if (s.params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (i === 0) slidePosition = slidePosition - s.size / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition);\n s.slidesGrid.push(slidePosition);\n }\n else {\n if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition);\n s.slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n \n s.virtualSize += slideSize + spaceBetween;\n \n prevSlideSize = slideSize;\n \n index ++;\n }\n s.virtualSize = Math.max(s.virtualSize, s.size) + s.params.slidesOffsetAfter;\n var newSlidesGrid;\n \n if (\n s.rtl && s.wrongRTL && (s.params.effect === 'slide' || s.params.effect === 'coverflow')) {\n s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\n }\n if (!s.support.flexbox || s.params.setWrapperSize) {\n if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\n else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'});\n }\n \n if (s.params.slidesPerColumn > 1) {\n s.virtualSize = (slideSize + s.params.spaceBetween) * slidesNumberEvenToRows;\n s.virtualSize = Math.ceil(s.virtualSize / s.params.slidesPerColumn) - s.params.spaceBetween;\n if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\n else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'});\n if (s.params.centeredSlides) {\n newSlidesGrid = [];\n for (i = 0; i < s.snapGrid.length; i++) {\n if (s.snapGrid[i] < s.virtualSize + s.snapGrid[0]) newSlidesGrid.push(s.snapGrid[i]);\n }\n s.snapGrid = newSlidesGrid;\n }\n }\n \n // Remove last grid elements depending on width\n if (!s.params.centeredSlides) {\n newSlidesGrid = [];\n for (i = 0; i < s.snapGrid.length; i++) {\n if (s.snapGrid[i] <= s.virtualSize - s.size) {\n newSlidesGrid.push(s.snapGrid[i]);\n }\n }\n s.snapGrid = newSlidesGrid;\n if (Math.floor(s.virtualSize - s.size) - Math.floor(s.snapGrid[s.snapGrid.length - 1]) > 1) {\n s.snapGrid.push(s.virtualSize - s.size);\n }\n }\n if (s.snapGrid.length === 0) s.snapGrid = [0];\n \n if (s.params.spaceBetween !== 0) {\n if (s.isHorizontal()) {\n if (s.rtl) s.slides.css({marginLeft: spaceBetween + 'px'});\n else s.slides.css({marginRight: spaceBetween + 'px'});\n }\n else s.slides.css({marginBottom: spaceBetween + 'px'});\n }\n if (s.params.watchSlidesProgress) {\n s.updateSlidesOffset();\n }\n };\n s.updateSlidesOffset = function () {\n for (var i = 0; i < s.slides.length; i++) {\n s.slides[i].swiperSlideOffset = s.isHorizontal() ? s.slides[i].offsetLeft : s.slides[i].offsetTop;\n }\n };\n \n /*=========================\n Slider/slides progress\n ===========================*/\n s.updateSlidesProgress = function (translate) {\n if (typeof translate === 'undefined') {\n translate = s.translate || 0;\n }\n if (s.slides.length === 0) return;\n if (typeof s.slides[0].swiperSlideOffset === 'undefined') s.updateSlidesOffset();\n \n var offsetCenter = -translate;\n if (s.rtl) offsetCenter = translate;\n \n // Visible Slides\n s.slides.removeClass(s.params.slideVisibleClass);\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides[i];\n var slideProgress = (offsetCenter + (s.params.centeredSlides ? s.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + s.params.spaceBetween);\n if (s.params.watchSlidesVisibility) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + s.slidesSizesGrid[i];\n var isVisible =\n (slideBefore >= 0 && slideBefore < s.size) ||\n (slideAfter > 0 && slideAfter <= s.size) ||\n (slideBefore <= 0 && slideAfter >= s.size);\n if (isVisible) {\n s.slides.eq(i).addClass(s.params.slideVisibleClass);\n }\n }\n slide.progress = s.rtl ? -slideProgress : slideProgress;\n }\n };\n s.updateProgress = function (translate) {\n if (typeof translate === 'undefined') {\n translate = s.translate || 0;\n }\n var translatesDiff = s.maxTranslate() - s.minTranslate();\n var wasBeginning = s.isBeginning;\n var wasEnd = s.isEnd;\n if (translatesDiff === 0) {\n s.progress = 0;\n s.isBeginning = s.isEnd = true;\n }\n else {\n s.progress = (translate - s.minTranslate()) / (translatesDiff);\n s.isBeginning = s.progress <= 0;\n s.isEnd = s.progress >= 1;\n }\n if (s.isBeginning && !wasBeginning) s.emit('onReachBeginning', s);\n if (s.isEnd && !wasEnd) s.emit('onReachEnd', s);\n \n if (s.params.watchSlidesProgress) s.updateSlidesProgress(translate);\n s.emit('onProgress', s, s.progress);\n };\n s.updateActiveIndex = function () {\n var translate = s.rtl ? s.translate : -s.translate;\n var newActiveIndex, i, snapIndex;\n for (i = 0; i < s.slidesGrid.length; i ++) {\n if (typeof s.slidesGrid[i + 1] !== 'undefined') {\n if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1] - (s.slidesGrid[i + 1] - s.slidesGrid[i]) / 2) {\n newActiveIndex = i;\n }\n else if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1]) {\n newActiveIndex = i + 1;\n }\n }\n else {\n if (translate >= s.slidesGrid[i]) {\n newActiveIndex = i;\n }\n }\n }\n // Normalize slideIndex\n if(s.params.normalizeSlideIndex){\n if (newActiveIndex < 0 || typeof newActiveIndex === 'undefined') newActiveIndex = 0;\n }\n // for (i = 0; i < s.slidesGrid.length; i++) {\n // if (- translate >= s.slidesGrid[i]) {\n // newActiveIndex = i;\n // }\n // }\n snapIndex = Math.floor(newActiveIndex / s.params.slidesPerGroup);\n if (snapIndex >= s.snapGrid.length) snapIndex = s.snapGrid.length - 1;\n \n if (newActiveIndex === s.activeIndex) {\n return;\n }\n s.snapIndex = snapIndex;\n s.previousIndex = s.activeIndex;\n s.activeIndex = newActiveIndex;\n s.updateClasses();\n s.updateRealIndex();\n };\n s.updateRealIndex = function(){\n s.realIndex = s.slides.eq(s.activeIndex).attr('data-swiper-slide-index') || s.activeIndex;\n };\n \n /*=========================\n Classes\n ===========================*/\n s.updateClasses = function () {\n s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass + ' ' + s.params.slideDuplicateActiveClass + ' ' + s.params.slideDuplicateNextClass + ' ' + s.params.slideDuplicatePrevClass);\n var activeSlide = s.slides.eq(s.activeIndex);\n // Active classes\n activeSlide.addClass(s.params.slideActiveClass);\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(s.params.slideDuplicateClass)) {\n s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index=\"' + s.realIndex + '\"]').addClass(s.params.slideDuplicateActiveClass);\n }\n else {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + s.realIndex + '\"]').addClass(s.params.slideDuplicateActiveClass);\n }\n }\n // Next Slide\n var nextSlide = activeSlide.next('.' + s.params.slideClass).addClass(s.params.slideNextClass);\n if (s.params.loop && nextSlide.length === 0) {\n nextSlide = s.slides.eq(0);\n nextSlide.addClass(s.params.slideNextClass);\n }\n // Prev Slide\n var prevSlide = activeSlide.prev('.' + s.params.slideClass).addClass(s.params.slidePrevClass);\n if (s.params.loop && prevSlide.length === 0) {\n prevSlide = s.slides.eq(-1);\n prevSlide.addClass(s.params.slidePrevClass);\n }\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(s.params.slideDuplicateClass)) {\n s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index=\"' + nextSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicateNextClass);\n }\n else {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + nextSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicateNextClass);\n }\n if (prevSlide.hasClass(s.params.slideDuplicateClass)) {\n s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index=\"' + prevSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicatePrevClass);\n }\n else {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + prevSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicatePrevClass);\n }\n }\n \n // Pagination\n if (s.paginationContainer && s.paginationContainer.length > 0) {\n // Current/Total\n var current,\n total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length;\n if (s.params.loop) {\n current = Math.ceil((s.activeIndex - s.loopedSlides)/s.params.slidesPerGroup);\n if (current > s.slides.length - 1 - s.loopedSlides * 2) {\n current = current - (s.slides.length - s.loopedSlides * 2);\n }\n if (current > total - 1) current = current - total;\n if (current < 0 && s.params.paginationType !== 'bullets') current = total + current;\n }\n else {\n if (typeof s.snapIndex !== 'undefined') {\n current = s.snapIndex;\n }\n else {\n current = s.activeIndex || 0;\n }\n }\n // Types\n if (s.params.paginationType === 'bullets' && s.bullets && s.bullets.length > 0) {\n s.bullets.removeClass(s.params.bulletActiveClass);\n if (s.paginationContainer.length > 1) {\n s.bullets.each(function () {\n if ($(this).index() === current) $(this).addClass(s.params.bulletActiveClass);\n });\n }\n else {\n s.bullets.eq(current).addClass(s.params.bulletActiveClass);\n }\n }\n if (s.params.paginationType === 'fraction') {\n s.paginationContainer.find('.' + s.params.paginationCurrentClass).text(current + 1);\n s.paginationContainer.find('.' + s.params.paginationTotalClass).text(total);\n }\n if (s.params.paginationType === 'progress') {\n var scale = (current + 1) / total,\n scaleX = scale,\n scaleY = 1;\n if (!s.isHorizontal()) {\n scaleY = scale;\n scaleX = 1;\n }\n s.paginationContainer.find('.' + s.params.paginationProgressbarClass).transform('translate3d(0,0,0) scaleX(' + scaleX + ') scaleY(' + scaleY + ')').transition(s.params.speed);\n }\n if (s.params.paginationType === 'custom' && s.params.paginationCustomRender) {\n s.paginationContainer.html(s.params.paginationCustomRender(s, current + 1, total));\n s.emit('onPaginationRendered', s, s.paginationContainer[0]);\n }\n }\n \n // Next/active buttons\n if (!s.params.loop) {\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\n if (s.isBeginning) {\n s.prevButton.addClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.disable(s.prevButton);\n }\n else {\n s.prevButton.removeClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.enable(s.prevButton);\n }\n }\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\n if (s.isEnd) {\n s.nextButton.addClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.disable(s.nextButton);\n }\n else {\n s.nextButton.removeClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.enable(s.nextButton);\n }\n }\n }\n };\n \n /*=========================\n Pagination\n ===========================*/\n s.updatePagination = function () {\n if (!s.params.pagination) return;\n if (s.paginationContainer && s.paginationContainer.length > 0) {\n var paginationHTML = '';\n if (s.params.paginationType === 'bullets') {\n var numberOfBullets = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length;\n for (var i = 0; i < numberOfBullets; i++) {\n if (s.params.paginationBulletRender) {\n paginationHTML += s.params.paginationBulletRender(s, i, s.params.bulletClass);\n }\n else {\n paginationHTML += '<' + s.params.paginationElement+' class=\"' + s.params.bulletClass + '\">';\n }\n }\n s.paginationContainer.html(paginationHTML);\n s.bullets = s.paginationContainer.find('.' + s.params.bulletClass);\n if (s.params.paginationClickable && s.params.a11y && s.a11y) {\n s.a11y.initPagination();\n }\n }\n if (s.params.paginationType === 'fraction') {\n if (s.params.paginationFractionRender) {\n paginationHTML = s.params.paginationFractionRender(s, s.params.paginationCurrentClass, s.params.paginationTotalClass);\n }\n else {\n paginationHTML =\n '' +\n ' / ' +\n '';\n }\n s.paginationContainer.html(paginationHTML);\n }\n if (s.params.paginationType === 'progress') {\n if (s.params.paginationProgressRender) {\n paginationHTML = s.params.paginationProgressRender(s, s.params.paginationProgressbarClass);\n }\n else {\n paginationHTML = '';\n }\n s.paginationContainer.html(paginationHTML);\n }\n if (s.params.paginationType !== 'custom') {\n s.emit('onPaginationRendered', s, s.paginationContainer[0]);\n }\n }\n };\n /*=========================\n Common update method\n ===========================*/\n s.update = function (updateTranslate) {\n s.updateContainerSize();\n s.updateSlidesSize();\n s.updateProgress();\n s.updatePagination();\n s.updateClasses();\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.set();\n }\n function forceSetTranslate() {\n var translate = s.rtl ? -s.translate : s.translate;\n newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate());\n s.setWrapperTranslate(newTranslate);\n s.updateActiveIndex();\n s.updateClasses();\n }\n if (updateTranslate) {\n var translated, newTranslate;\n if (s.controller && s.controller.spline) {\n s.controller.spline = undefined;\n }\n if (s.params.freeMode) {\n forceSetTranslate();\n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n }\n else {\n if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) {\n translated = s.slideTo(s.slides.length - 1, 0, false, true);\n }\n else {\n translated = s.slideTo(s.activeIndex, 0, false, true);\n }\n if (!translated) {\n forceSetTranslate();\n }\n }\n }\n else if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n };\n \n /*=========================\n Resize Handler\n ===========================*/\n s.onResize = function (forceUpdatePagination) {\n //Breakpoints\n if (s.params.breakpoints) {\n s.setBreakpoint();\n }\n \n // Disable locks on resize\n var allowSwipeToPrev = s.params.allowSwipeToPrev;\n var allowSwipeToNext = s.params.allowSwipeToNext;\n s.params.allowSwipeToPrev = s.params.allowSwipeToNext = true;\n \n s.updateContainerSize();\n s.updateSlidesSize();\n if (s.params.slidesPerView === 'auto' || s.params.freeMode || forceUpdatePagination) s.updatePagination();\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.set();\n }\n if (s.controller && s.controller.spline) {\n s.controller.spline = undefined;\n }\n var slideChangedBySlideTo = false;\n if (s.params.freeMode) {\n var newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate());\n s.setWrapperTranslate(newTranslate);\n s.updateActiveIndex();\n s.updateClasses();\n \n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n }\n else {\n s.updateClasses();\n if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) {\n slideChangedBySlideTo = s.slideTo(s.slides.length - 1, 0, false, true);\n }\n else {\n slideChangedBySlideTo = s.slideTo(s.activeIndex, 0, false, true);\n }\n }\n if (s.params.lazyLoading && !slideChangedBySlideTo && s.lazy) {\n s.lazy.load();\n }\n // Return locks after resize\n s.params.allowSwipeToPrev = allowSwipeToPrev;\n s.params.allowSwipeToNext = allowSwipeToNext;\n };\n \n /*=========================\n Events\n ===========================*/\n \n //Define Touch Events\n s.touchEventsDesktop = {start: 'mousedown', move: 'mousemove', end: 'mouseup'};\n if (window.navigator.pointerEnabled) s.touchEventsDesktop = {start: 'pointerdown', move: 'pointermove', end: 'pointerup'};\n else if (window.navigator.msPointerEnabled) s.touchEventsDesktop = {start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp'};\n s.touchEvents = {\n start : s.support.touch || !s.params.simulateTouch ? 'touchstart' : s.touchEventsDesktop.start,\n move : s.support.touch || !s.params.simulateTouch ? 'touchmove' : s.touchEventsDesktop.move,\n end : s.support.touch || !s.params.simulateTouch ? 'touchend' : s.touchEventsDesktop.end\n };\n \n \n // WP8 Touch Events Fix\n if (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) {\n (s.params.touchEventsTarget === 'container' ? s.container : s.wrapper).addClass('swiper-wp8-' + s.params.direction);\n }\n \n // Attach/detach events\n s.initEvents = function (detach) {\n var actionDom = detach ? 'off' : 'on';\n var action = detach ? 'removeEventListener' : 'addEventListener';\n var touchEventsTarget = s.params.touchEventsTarget === 'container' ? s.container[0] : s.wrapper[0];\n var target = s.support.touch ? touchEventsTarget : document;\n \n var moveCapture = s.params.nested ? true : false;\n \n //Touch Events\n if (s.browser.ie) {\n touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, false);\n target[action](s.touchEvents.move, s.onTouchMove, moveCapture);\n target[action](s.touchEvents.end, s.onTouchEnd, false);\n }\n else {\n if (s.support.touch) {\n var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false;\n touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, passiveListener);\n touchEventsTarget[action](s.touchEvents.move, s.onTouchMove, moveCapture);\n touchEventsTarget[action](s.touchEvents.end, s.onTouchEnd, passiveListener);\n }\n if ((params.simulateTouch && !s.device.ios && !s.device.android) || (params.simulateTouch && !s.support.touch && s.device.ios)) {\n touchEventsTarget[action]('mousedown', s.onTouchStart, false);\n document[action]('mousemove', s.onTouchMove, moveCapture);\n document[action]('mouseup', s.onTouchEnd, false);\n }\n }\n window[action]('resize', s.onResize);\n \n // Next, Prev, Index\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\n s.nextButton[actionDom]('click', s.onClickNext);\n if (s.params.a11y && s.a11y) s.nextButton[actionDom]('keydown', s.a11y.onEnterKey);\n }\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\n s.prevButton[actionDom]('click', s.onClickPrev);\n if (s.params.a11y && s.a11y) s.prevButton[actionDom]('keydown', s.a11y.onEnterKey);\n }\n if (s.params.pagination && s.params.paginationClickable) {\n s.paginationContainer[actionDom]('click', '.' + s.params.bulletClass, s.onClickIndex);\n if (s.params.a11y && s.a11y) s.paginationContainer[actionDom]('keydown', '.' + s.params.bulletClass, s.a11y.onEnterKey);\n }\n \n // Prevent Links Clicks\n if (s.params.preventClicks || s.params.preventClicksPropagation) touchEventsTarget[action]('click', s.preventClicks, true);\n };\n s.attachEvents = function () {\n s.initEvents();\n };\n s.detachEvents = function () {\n s.initEvents(true);\n };\n \n /*=========================\n Handle Clicks\n ===========================*/\n // Prevent Clicks\n s.allowClick = true;\n s.preventClicks = function (e) {\n if (!s.allowClick) {\n if (s.params.preventClicks) e.preventDefault();\n if (s.params.preventClicksPropagation && s.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n };\n // Clicks\n s.onClickNext = function (e) {\n e.preventDefault();\n if (s.isEnd && !s.params.loop) return;\n s.slideNext();\n };\n s.onClickPrev = function (e) {\n e.preventDefault();\n if (s.isBeginning && !s.params.loop) return;\n s.slidePrev();\n };\n s.onClickIndex = function (e) {\n e.preventDefault();\n var index = $(this).index() * s.params.slidesPerGroup;\n if (s.params.loop) index = index + s.loopedSlides;\n s.slideTo(index);\n };\n \n /*=========================\n Handle Touches\n ===========================*/\n function findElementInEvent(e, selector) {\n var el = $(e.target);\n if (!el.is(selector)) {\n if (typeof selector === 'string') {\n el = el.parents(selector);\n }\n else if (selector.nodeType) {\n var found;\n el.parents().each(function (index, _el) {\n if (_el === selector) found = selector;\n });\n if (!found) return undefined;\n else return selector;\n }\n }\n if (el.length === 0) {\n return undefined;\n }\n return el[0];\n }\n s.updateClickedSlide = function (e) {\n var slide = findElementInEvent(e, '.' + s.params.slideClass);\n var slideFound = false;\n if (slide) {\n for (var i = 0; i < s.slides.length; i++) {\n if (s.slides[i] === slide) slideFound = true;\n }\n }\n \n if (slide && slideFound) {\n s.clickedSlide = slide;\n s.clickedIndex = $(slide).index();\n }\n else {\n s.clickedSlide = undefined;\n s.clickedIndex = undefined;\n return;\n }\n if (s.params.slideToClickedSlide && s.clickedIndex !== undefined && s.clickedIndex !== s.activeIndex) {\n var slideToIndex = s.clickedIndex,\n realIndex,\n duplicatedSlides;\n if (s.params.loop) {\n if (s.animating) return;\n realIndex = $(s.clickedSlide).attr('data-swiper-slide-index');\n if (s.params.centeredSlides) {\n if ((slideToIndex < s.loopedSlides - s.params.slidesPerView/2) || (slideToIndex > s.slides.length - s.loopedSlides + s.params.slidesPerView/2)) {\n s.fixLoop();\n slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index=\"' + realIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index();\n setTimeout(function () {\n s.slideTo(slideToIndex);\n }, 0);\n }\n else {\n s.slideTo(slideToIndex);\n }\n }\n else {\n if (slideToIndex > s.slides.length - s.params.slidesPerView) {\n s.fixLoop();\n slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index=\"' + realIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index();\n setTimeout(function () {\n s.slideTo(slideToIndex);\n }, 0);\n }\n else {\n s.slideTo(slideToIndex);\n }\n }\n }\n else {\n s.slideTo(slideToIndex);\n }\n }\n };\n \n var isTouched,\n isMoved,\n allowTouchCallbacks,\n touchStartTime,\n isScrolling,\n currentTranslate,\n startTranslate,\n allowThresholdMove,\n // Form elements to match\n formElements = 'input, select, textarea, button, video',\n // Last click time\n lastClickTime = Date.now(), clickTimeout,\n //Velocities\n velocities = [],\n allowMomentumBounce;\n \n // Animating Flag\n s.animating = false;\n \n // Touches information\n s.touches = {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n };\n \n // Touch handlers\n var isTouchEvent, startMoving;\n s.onTouchStart = function (e) {\n if (e.originalEvent) e = e.originalEvent;\n isTouchEvent = e.type === 'touchstart';\n if (!isTouchEvent && 'which' in e && e.which === 3) return;\n if (s.params.noSwiping && findElementInEvent(e, '.' + s.params.noSwipingClass)) {\n s.allowClick = true;\n return;\n }\n if (s.params.swipeHandler) {\n if (!findElementInEvent(e, s.params.swipeHandler)) return;\n }\n \n var startX = s.touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n var startY = s.touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n \n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\n if(s.device.ios && s.params.iOSEdgeSwipeDetection && startX <= s.params.iOSEdgeSwipeThreshold) {\n return;\n }\n \n isTouched = true;\n isMoved = false;\n allowTouchCallbacks = true;\n isScrolling = undefined;\n startMoving = undefined;\n s.touches.startX = startX;\n s.touches.startY = startY;\n touchStartTime = Date.now();\n s.allowClick = true;\n s.updateContainerSize();\n s.swipeDirection = undefined;\n if (s.params.threshold > 0) allowThresholdMove = false;\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($(e.target).is(formElements)) preventDefault = false;\n if (document.activeElement && $(document.activeElement).is(formElements)) {\n document.activeElement.blur();\n }\n if (preventDefault) {\n e.preventDefault();\n }\n }\n s.emit('onTouchStart', s, e);\n };\n \n s.onTouchMove = function (e) {\n if (e.originalEvent) e = e.originalEvent;\n if (isTouchEvent && e.type === 'mousemove') return;\n if (e.preventedByNestedSwiper) {\n s.touches.startX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n s.touches.startY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n return;\n }\n if (s.params.onlyExternal) {\n // isMoved = true;\n s.allowClick = false;\n if (isTouched) {\n s.touches.startX = s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n s.touches.startY = s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = Date.now();\n }\n return;\n }\n if (isTouchEvent && s.params.touchReleaseOnEdges && !s.params.loop) {\n if (!s.isHorizontal()) {\n // Vertical\n if (\n (s.touches.currentY < s.touches.startY && s.translate <= s.maxTranslate()) ||\n (s.touches.currentY > s.touches.startY && s.translate >= s.minTranslate())\n ) {\n return;\n }\n }\n else {\n if (\n (s.touches.currentX < s.touches.startX && s.translate <= s.maxTranslate()) ||\n (s.touches.currentX > s.touches.startX && s.translate >= s.minTranslate())\n ) {\n return;\n }\n }\n }\n if (isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(formElements)) {\n isMoved = true;\n s.allowClick = false;\n return;\n }\n }\n if (allowTouchCallbacks) {\n s.emit('onTouchMove', s, e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n \n s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (typeof isScrolling === 'undefined') {\n var touchAngle;\n if (s.isHorizontal() && s.touches.currentY === s.touches.startY || !s.isHorizontal() && s.touches.currentX !== s.touches.startX) {\n isScrolling = false;\n }\n else {\n touchAngle = Math.atan2(Math.abs(s.touches.currentY - s.touches.startY), Math.abs(s.touches.currentX - s.touches.startX)) * 180 / Math.PI;\n isScrolling = s.isHorizontal() ? touchAngle > s.params.touchAngle : (90 - touchAngle > s.params.touchAngle);\n }\n }\n if (isScrolling) {\n s.emit('onTouchMoveOpposite', s, e);\n }\n if (typeof startMoving === 'undefined' && s.browser.ieTouch) {\n if (s.touches.currentX !== s.touches.startX || s.touches.currentY !== s.touches.startY) {\n startMoving = true;\n }\n }\n if (!isTouched) return;\n if (isScrolling) {\n isTouched = false;\n return;\n }\n if (!startMoving && s.browser.ieTouch) {\n return;\n }\n s.allowClick = false;\n s.emit('onSliderMove', s, e);\n e.preventDefault();\n if (s.params.touchMoveStopPropagation && !s.params.nested) {\n e.stopPropagation();\n }\n \n if (!isMoved) {\n if (params.loop) {\n s.fixLoop();\n }\n startTranslate = s.getWrapperTranslate();\n s.setWrapperTransition(0);\n if (s.animating) {\n s.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd');\n }\n if (s.params.autoplay && s.autoplaying) {\n if (s.params.autoplayDisableOnInteraction) {\n s.stopAutoplay();\n }\n else {\n s.pauseAutoplay();\n }\n }\n allowMomentumBounce = false;\n //Grab Cursor\n if (s.params.grabCursor && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) {\n s.setGrabCursor(true);\n }\n }\n isMoved = true;\n \n var diff = s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY;\n \n diff = diff * s.params.touchRatio;\n if (s.rtl) diff = -diff;\n \n s.swipeDirection = diff > 0 ? 'prev' : 'next';\n currentTranslate = diff + startTranslate;\n \n var disableParentSwiper = true;\n if ((diff > 0 && currentTranslate > s.minTranslate())) {\n disableParentSwiper = false;\n if (s.params.resistance) currentTranslate = s.minTranslate() - 1 + Math.pow(-s.minTranslate() + startTranslate + diff, s.params.resistanceRatio);\n }\n else if (diff < 0 && currentTranslate < s.maxTranslate()) {\n disableParentSwiper = false;\n if (s.params.resistance) currentTranslate = s.maxTranslate() + 1 - Math.pow(s.maxTranslate() - startTranslate - diff, s.params.resistanceRatio);\n }\n \n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n \n // Directions locks\n if (!s.params.allowSwipeToNext && s.swipeDirection === 'next' && currentTranslate < startTranslate) {\n currentTranslate = startTranslate;\n }\n if (!s.params.allowSwipeToPrev && s.swipeDirection === 'prev' && currentTranslate > startTranslate) {\n currentTranslate = startTranslate;\n }\n \n \n // Threshold\n if (s.params.threshold > 0) {\n if (Math.abs(diff) > s.params.threshold || allowThresholdMove) {\n if (!allowThresholdMove) {\n allowThresholdMove = true;\n s.touches.startX = s.touches.currentX;\n s.touches.startY = s.touches.currentY;\n currentTranslate = startTranslate;\n s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY;\n return;\n }\n }\n else {\n currentTranslate = startTranslate;\n return;\n }\n }\n \n if (!s.params.followFinger) return;\n \n // Update active index in free mode\n if (s.params.freeMode || s.params.watchSlidesProgress) {\n s.updateActiveIndex();\n }\n if (s.params.freeMode) {\n //Velocity\n if (velocities.length === 0) {\n velocities.push({\n position: s.touches[s.isHorizontal() ? 'startX' : 'startY'],\n time: touchStartTime\n });\n }\n velocities.push({\n position: s.touches[s.isHorizontal() ? 'currentX' : 'currentY'],\n time: (new window.Date()).getTime()\n });\n }\n // Update progress\n s.updateProgress(currentTranslate);\n // Update translate\n s.setWrapperTranslate(currentTranslate);\n };\n s.onTouchEnd = function (e) {\n if (e.originalEvent) e = e.originalEvent;\n if (allowTouchCallbacks) {\n s.emit('onTouchEnd', s, e);\n }\n allowTouchCallbacks = false;\n if (!isTouched) return;\n //Return Grab Cursor\n if (s.params.grabCursor && isMoved && isTouched && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) {\n s.setGrabCursor(false);\n }\n \n // Time diff\n var touchEndTime = Date.now();\n var timeDiff = touchEndTime - touchStartTime;\n \n // Tap, doubleTap, Click\n if (s.allowClick) {\n s.updateClickedSlide(e);\n s.emit('onTap', s, e);\n if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n clickTimeout = setTimeout(function () {\n if (!s) return;\n if (s.params.paginationHide && s.paginationContainer.length > 0 && !$(e.target).hasClass(s.params.bulletClass)) {\n s.paginationContainer.toggleClass(s.params.paginationHiddenClass);\n }\n s.emit('onClick', s, e);\n }, 300);\n \n }\n if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n s.emit('onDoubleTap', s, e);\n }\n }\n \n lastClickTime = Date.now();\n setTimeout(function () {\n if (s) s.allowClick = true;\n }, 0);\n \n if (!isTouched || !isMoved || !s.swipeDirection || s.touches.diff === 0 || currentTranslate === startTranslate) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n \n var currentPos;\n if (s.params.followFinger) {\n currentPos = s.rtl ? s.translate : -s.translate;\n }\n else {\n currentPos = -currentTranslate;\n }\n if (s.params.freeMode) {\n if (currentPos < -s.minTranslate()) {\n s.slideTo(s.activeIndex);\n return;\n }\n else if (currentPos > -s.maxTranslate()) {\n if (s.slides.length < s.snapGrid.length) {\n s.slideTo(s.snapGrid.length - 1);\n }\n else {\n s.slideTo(s.slides.length - 1);\n }\n return;\n }\n \n if (s.params.freeModeMomentum) {\n if (velocities.length > 1) {\n var lastMoveEvent = velocities.pop(), velocityEvent = velocities.pop();\n \n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n s.velocity = distance / time;\n s.velocity = s.velocity / 2;\n if (Math.abs(s.velocity) < s.params.freeModeMinimumVelocity) {\n s.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || (new window.Date().getTime() - lastMoveEvent.time) > 300) {\n s.velocity = 0;\n }\n } else {\n s.velocity = 0;\n }\n s.velocity = s.velocity * s.params.freeModeMomentumVelocityRatio;\n \n velocities.length = 0;\n var momentumDuration = 1000 * s.params.freeModeMomentumRatio;\n var momentumDistance = s.velocity * momentumDuration;\n \n var newPosition = s.translate + momentumDistance;\n if (s.rtl) newPosition = - newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(s.velocity) * 20 * s.params.freeModeMomentumBounceRatio;\n if (newPosition < s.maxTranslate()) {\n if (s.params.freeModeMomentumBounce) {\n if (newPosition + s.maxTranslate() < -bounceAmount) {\n newPosition = s.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = s.maxTranslate();\n doBounce = true;\n allowMomentumBounce = true;\n }\n else {\n newPosition = s.maxTranslate();\n }\n }\n else if (newPosition > s.minTranslate()) {\n if (s.params.freeModeMomentumBounce) {\n if (newPosition - s.minTranslate() > bounceAmount) {\n newPosition = s.minTranslate() + bounceAmount;\n }\n afterBouncePosition = s.minTranslate();\n doBounce = true;\n allowMomentumBounce = true;\n }\n else {\n newPosition = s.minTranslate();\n }\n }\n else if (s.params.freeModeSticky) {\n var j = 0,\n nextSlide;\n for (j = 0; j < s.snapGrid.length; j += 1) {\n if (s.snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n \n }\n if (Math.abs(s.snapGrid[nextSlide] - newPosition) < Math.abs(s.snapGrid[nextSlide - 1] - newPosition) || s.swipeDirection === 'next') {\n newPosition = s.snapGrid[nextSlide];\n } else {\n newPosition = s.snapGrid[nextSlide - 1];\n }\n if (!s.rtl) newPosition = - newPosition;\n }\n //Fix duration\n if (s.velocity !== 0) {\n if (s.rtl) {\n momentumDuration = Math.abs((-newPosition - s.translate) / s.velocity);\n }\n else {\n momentumDuration = Math.abs((newPosition - s.translate) / s.velocity);\n }\n }\n else if (s.params.freeModeSticky) {\n s.slideReset();\n return;\n }\n \n if (s.params.freeModeMomentumBounce && doBounce) {\n s.updateProgress(afterBouncePosition);\n s.setWrapperTransition(momentumDuration);\n s.setWrapperTranslate(newPosition);\n s.onTransitionStart();\n s.animating = true;\n s.wrapper.transitionEnd(function () {\n if (!s || !allowMomentumBounce) return;\n s.emit('onMomentumBounce', s);\n \n s.setWrapperTransition(s.params.speed);\n s.setWrapperTranslate(afterBouncePosition);\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.onTransitionEnd();\n });\n });\n } else if (s.velocity) {\n s.updateProgress(newPosition);\n s.setWrapperTransition(momentumDuration);\n s.setWrapperTranslate(newPosition);\n s.onTransitionStart();\n if (!s.animating) {\n s.animating = true;\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.onTransitionEnd();\n });\n }\n \n } else {\n s.updateProgress(newPosition);\n }\n \n s.updateActiveIndex();\n }\n if (!s.params.freeModeMomentum || timeDiff >= s.params.longSwipesMs) {\n s.updateProgress();\n s.updateActiveIndex();\n }\n return;\n }\n \n // Find current slide\n var i, stopIndex = 0, groupSize = s.slidesSizesGrid[0];\n for (i = 0; i < s.slidesGrid.length; i += s.params.slidesPerGroup) {\n if (typeof s.slidesGrid[i + s.params.slidesPerGroup] !== 'undefined') {\n if (currentPos >= s.slidesGrid[i] && currentPos < s.slidesGrid[i + s.params.slidesPerGroup]) {\n stopIndex = i;\n groupSize = s.slidesGrid[i + s.params.slidesPerGroup] - s.slidesGrid[i];\n }\n }\n else {\n if (currentPos >= s.slidesGrid[i]) {\n stopIndex = i;\n groupSize = s.slidesGrid[s.slidesGrid.length - 1] - s.slidesGrid[s.slidesGrid.length - 2];\n }\n }\n }\n \n // Find current slide size\n var ratio = (currentPos - s.slidesGrid[stopIndex]) / groupSize;\n \n if (timeDiff > s.params.longSwipesMs) {\n // Long touches\n if (!s.params.longSwipes) {\n s.slideTo(s.activeIndex);\n return;\n }\n if (s.swipeDirection === 'next') {\n if (ratio >= s.params.longSwipesRatio) s.slideTo(stopIndex + s.params.slidesPerGroup);\n else s.slideTo(stopIndex);\n \n }\n if (s.swipeDirection === 'prev') {\n if (ratio > (1 - s.params.longSwipesRatio)) s.slideTo(stopIndex + s.params.slidesPerGroup);\n else s.slideTo(stopIndex);\n }\n }\n else {\n // Short swipes\n if (!s.params.shortSwipes) {\n s.slideTo(s.activeIndex);\n return;\n }\n if (s.swipeDirection === 'next') {\n s.slideTo(stopIndex + s.params.slidesPerGroup);\n \n }\n if (s.swipeDirection === 'prev') {\n s.slideTo(stopIndex);\n }\n }\n };\n /*=========================\n Transitions\n ===========================*/\n s._slideTo = function (slideIndex, speed) {\n return s.slideTo(slideIndex, speed, true, true);\n };\n s.slideTo = function (slideIndex, speed, runCallbacks, internal) {\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\n if (typeof slideIndex === 'undefined') slideIndex = 0;\n if (slideIndex < 0) slideIndex = 0;\n s.snapIndex = Math.floor(slideIndex / s.params.slidesPerGroup);\n if (s.snapIndex >= s.snapGrid.length) s.snapIndex = s.snapGrid.length - 1;\n \n var translate = - s.snapGrid[s.snapIndex];\n // Stop autoplay\n if (s.params.autoplay && s.autoplaying) {\n if (internal || !s.params.autoplayDisableOnInteraction) {\n s.pauseAutoplay(speed);\n }\n else {\n s.stopAutoplay();\n }\n }\n // Update progress\n s.updateProgress(translate);\n \n // Normalize slideIndex\n if(s.params.normalizeSlideIndex){\n for (var i = 0; i < s.slidesGrid.length; i++) {\n if (- Math.floor(translate * 100) >= Math.floor(s.slidesGrid[i] * 100)) {\n slideIndex = i;\n }\n }\n }\n \n // Directions locks\n if (!s.params.allowSwipeToNext && translate < s.translate && translate < s.minTranslate()) {\n return false;\n }\n if (!s.params.allowSwipeToPrev && translate > s.translate && translate > s.maxTranslate()) {\n if ((s.activeIndex || 0) !== slideIndex ) return false;\n }\n \n // Update Index\n if (typeof speed === 'undefined') speed = s.params.speed;\n s.previousIndex = s.activeIndex || 0;\n s.activeIndex = slideIndex;\n s.updateRealIndex();\n if ((s.rtl && -translate === s.translate) || (!s.rtl && translate === s.translate)) {\n // Update Height\n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n s.updateClasses();\n if (s.params.effect !== 'slide') {\n s.setWrapperTranslate(translate);\n }\n return false;\n }\n s.updateClasses();\n s.onTransitionStart(runCallbacks);\n \n if (speed === 0 || s.browser.lteIE9) {\n s.setWrapperTranslate(translate);\n s.setWrapperTransition(0);\n s.onTransitionEnd(runCallbacks);\n }\n else {\n s.setWrapperTranslate(translate);\n s.setWrapperTransition(speed);\n if (!s.animating) {\n s.animating = true;\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.onTransitionEnd(runCallbacks);\n });\n }\n \n }\n \n return true;\n };\n \n s.onTransitionStart = function (runCallbacks) {\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n if (s.lazy) s.lazy.onTransitionStart();\n if (runCallbacks) {\n s.emit('onTransitionStart', s);\n if (s.activeIndex !== s.previousIndex) {\n s.emit('onSlideChangeStart', s);\n if (s.activeIndex > s.previousIndex) {\n s.emit('onSlideNextStart', s);\n }\n else {\n s.emit('onSlidePrevStart', s);\n }\n }\n \n }\n };\n s.onTransitionEnd = function (runCallbacks) {\n s.animating = false;\n s.setWrapperTransition(0);\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\n if (s.lazy) s.lazy.onTransitionEnd();\n if (runCallbacks) {\n s.emit('onTransitionEnd', s);\n if (s.activeIndex !== s.previousIndex) {\n s.emit('onSlideChangeEnd', s);\n if (s.activeIndex > s.previousIndex) {\n s.emit('onSlideNextEnd', s);\n }\n else {\n s.emit('onSlidePrevEnd', s);\n }\n }\n }\n if (s.params.history && s.history) {\n s.history.setHistory(s.params.history, s.activeIndex);\n }\n if (s.params.hashnav && s.hashnav) {\n s.hashnav.setHash();\n }\n \n };\n s.slideNext = function (runCallbacks, speed, internal) {\n if (s.params.loop) {\n if (s.animating) return false;\n s.fixLoop();\n var clientLeft = s.container[0].clientLeft;\n return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal);\n }\n else return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal);\n };\n s._slideNext = function (speed) {\n return s.slideNext(true, speed, true);\n };\n s.slidePrev = function (runCallbacks, speed, internal) {\n if (s.params.loop) {\n if (s.animating) return false;\n s.fixLoop();\n var clientLeft = s.container[0].clientLeft;\n return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal);\n }\n else return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal);\n };\n s._slidePrev = function (speed) {\n return s.slidePrev(true, speed, true);\n };\n s.slideReset = function (runCallbacks, speed, internal) {\n return s.slideTo(s.activeIndex, speed, runCallbacks);\n };\n \n s.disableTouchControl = function () {\n s.params.onlyExternal = true;\n return true;\n };\n s.enableTouchControl = function () {\n s.params.onlyExternal = false;\n return true;\n };\n \n /*=========================\n Translate/transition helpers\n ===========================*/\n s.setWrapperTransition = function (duration, byController) {\n s.wrapper.transition(duration);\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\n s.effects[s.params.effect].setTransition(duration);\n }\n if (s.params.parallax && s.parallax) {\n s.parallax.setTransition(duration);\n }\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.setTransition(duration);\n }\n if (s.params.control && s.controller) {\n s.controller.setTransition(duration, byController);\n }\n s.emit('onSetTransition', s, duration);\n };\n s.setWrapperTranslate = function (translate, updateActiveIndex, byController) {\n var x = 0, y = 0, z = 0;\n if (s.isHorizontal()) {\n x = s.rtl ? -translate : translate;\n }\n else {\n y = translate;\n }\n \n if (s.params.roundLengths) {\n x = round(x);\n y = round(y);\n }\n \n if (!s.params.virtualTranslate) {\n if (s.support.transforms3d) s.wrapper.transform('translate3d(' + x + 'px, ' + y + 'px, ' + z + 'px)');\n else s.wrapper.transform('translate(' + x + 'px, ' + y + 'px)');\n }\n \n s.translate = s.isHorizontal() ? x : y;\n \n // Check if we need to update progress\n var progress;\n var translatesDiff = s.maxTranslate() - s.minTranslate();\n if (translatesDiff === 0) {\n progress = 0;\n }\n else {\n progress = (translate - s.minTranslate()) / (translatesDiff);\n }\n if (progress !== s.progress) {\n s.updateProgress(translate);\n }\n \n if (updateActiveIndex) s.updateActiveIndex();\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\n s.effects[s.params.effect].setTranslate(s.translate);\n }\n if (s.params.parallax && s.parallax) {\n s.parallax.setTranslate(s.translate);\n }\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.setTranslate(s.translate);\n }\n if (s.params.control && s.controller) {\n s.controller.setTranslate(s.translate, byController);\n }\n s.emit('onSetTranslate', s, s.translate);\n };\n \n s.getTranslate = function (el, axis) {\n var matrix, curTransform, curStyle, transformMatrix;\n \n // automatic axis detection\n if (typeof axis === 'undefined') {\n axis = 'x';\n }\n \n if (s.params.virtualTranslate) {\n return s.rtl ? -s.translate : s.translate;\n }\n \n curStyle = window.getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function(a){\n return a.replace(',','.');\n }).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n }\n else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n \n if (axis === 'x') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m41;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[12]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m42;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[13]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[5]);\n }\n if (s.rtl && curTransform) curTransform = -curTransform;\n return curTransform || 0;\n };\n s.getWrapperTranslate = function (axis) {\n if (typeof axis === 'undefined') {\n axis = s.isHorizontal() ? 'x' : 'y';\n }\n return s.getTranslate(s.wrapper[0], axis);\n };\n \n /*=========================\n Observer\n ===========================*/\n s.observers = [];\n function initObserver(target, options) {\n options = options || {};\n // create an observer instance\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n mutations.forEach(function (mutation) {\n s.onResize(true);\n s.emit('onObserverUpdate', s, mutation);\n });\n });\n \n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n \n s.observers.push(observer);\n }\n s.initObservers = function () {\n if (s.params.observeParents) {\n var containerParents = s.container.parents();\n for (var i = 0; i < containerParents.length; i++) {\n initObserver(containerParents[i]);\n }\n }\n \n // Observe container\n initObserver(s.container[0], {childList: false});\n \n // Observe wrapper\n initObserver(s.wrapper[0], {attributes: false});\n };\n s.disconnectObservers = function () {\n for (var i = 0; i < s.observers.length; i++) {\n s.observers[i].disconnect();\n }\n s.observers = [];\n };\n /*=========================\n Loop\n ===========================*/\n // Create looped slides\n s.createLoop = function () {\n // Remove duplicated slides\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();\n \n var slides = s.wrapper.children('.' + s.params.slideClass);\n \n if(s.params.slidesPerView === 'auto' && !s.params.loopedSlides) s.params.loopedSlides = slides.length;\n \n s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10);\n s.loopedSlides = s.loopedSlides + s.params.loopAdditionalSlides;\n if (s.loopedSlides > slides.length) {\n s.loopedSlides = slides.length;\n }\n \n var prependSlides = [], appendSlides = [], i;\n slides.each(function (index, el) {\n var slide = $(this);\n if (index < s.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el);\n slide.attr('data-swiper-slide-index', index);\n });\n for (i = 0; i < appendSlides.length; i++) {\n s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));\n }\n for (i = prependSlides.length - 1; i >= 0; i--) {\n s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));\n }\n };\n s.destroyLoop = function () {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();\n s.slides.removeAttr('data-swiper-slide-index');\n };\n s.reLoop = function (updatePosition) {\n var oldIndex = s.activeIndex - s.loopedSlides;\n s.destroyLoop();\n s.createLoop();\n s.updateSlidesSize();\n if (updatePosition) {\n s.slideTo(oldIndex + s.loopedSlides, 0, false);\n }\n \n };\n s.fixLoop = function () {\n var newIndex;\n //Fix For Negative Oversliding\n if (s.activeIndex < s.loopedSlides) {\n newIndex = s.slides.length - s.loopedSlides * 3 + s.activeIndex;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false, true);\n }\n //Fix For Positive Oversliding\n else if ((s.params.slidesPerView === 'auto' && s.activeIndex >= s.loopedSlides * 2) || (s.activeIndex > s.slides.length - s.params.slidesPerView * 2)) {\n newIndex = -s.slides.length + s.activeIndex + s.loopedSlides;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false, true);\n }\n };\n /*=========================\n Append/Prepend/Remove Slides\n ===========================*/\n s.appendSlide = function (slides) {\n if (s.params.loop) {\n s.destroyLoop();\n }\n if (typeof slides === 'object' && slides.length) {\n for (var i = 0; i < slides.length; i++) {\n if (slides[i]) s.wrapper.append(slides[i]);\n }\n }\n else {\n s.wrapper.append(slides);\n }\n if (s.params.loop) {\n s.createLoop();\n }\n if (!(s.params.observer && s.support.observer)) {\n s.update(true);\n }\n };\n s.prependSlide = function (slides) {\n if (s.params.loop) {\n s.destroyLoop();\n }\n var newActiveIndex = s.activeIndex + 1;\n if (typeof slides === 'object' && slides.length) {\n for (var i = 0; i < slides.length; i++) {\n if (slides[i]) s.wrapper.prepend(slides[i]);\n }\n newActiveIndex = s.activeIndex + slides.length;\n }\n else {\n s.wrapper.prepend(slides);\n }\n if (s.params.loop) {\n s.createLoop();\n }\n if (!(s.params.observer && s.support.observer)) {\n s.update(true);\n }\n s.slideTo(newActiveIndex, 0, false);\n };\n s.removeSlide = function (slidesIndexes) {\n if (s.params.loop) {\n s.destroyLoop();\n s.slides = s.wrapper.children('.' + s.params.slideClass);\n }\n var newActiveIndex = s.activeIndex,\n indexToRemove;\n if (typeof slidesIndexes === 'object' && slidesIndexes.length) {\n for (var i = 0; i < slidesIndexes.length; i++) {\n indexToRemove = slidesIndexes[i];\n if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex--;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n else {\n indexToRemove = slidesIndexes;\n if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex--;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n \n if (s.params.loop) {\n s.createLoop();\n }\n \n if (!(s.params.observer && s.support.observer)) {\n s.update(true);\n }\n if (s.params.loop) {\n s.slideTo(newActiveIndex + s.loopedSlides, 0, false);\n }\n else {\n s.slideTo(newActiveIndex, 0, false);\n }\n \n };\n s.removeAllSlides = function () {\n var slidesIndexes = [];\n for (var i = 0; i < s.slides.length; i++) {\n slidesIndexes.push(i);\n }\n s.removeSlide(slidesIndexes);\n };\n \n \n /*=========================\n Effects\n ===========================*/\n s.effects = {\n fade: {\n setTranslate: function () {\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides.eq(i);\n var offset = slide[0].swiperSlideOffset;\n var tx = -offset;\n if (!s.params.virtualTranslate) tx = tx - s.translate;\n var ty = 0;\n if (!s.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n var slideOpacity = s.params.fade.crossFade ?\n Math.max(1 - Math.abs(slide[0].progress), 0) :\n 1 + Math.min(Math.max(slide[0].progress, -1), 0);\n slide\n .css({\n opacity: slideOpacity\n })\n .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px)');\n \n }\n \n },\n setTransition: function (duration) {\n s.slides.transition(duration);\n if (s.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n s.slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!s) return;\n eventTriggered = true;\n s.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];\n for (var i = 0; i < triggerEvents.length; i++) {\n s.wrapper.trigger(triggerEvents[i]);\n }\n });\n }\n }\n },\n flip: {\n setTranslate: function () {\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides.eq(i);\n var progress = slide[0].progress;\n if (s.params.flip.limitRotation) {\n progress = Math.max(Math.min(slide[0].progress, 1), -1);\n }\n var offset = slide[0].swiperSlideOffset;\n var rotate = -180 * progress,\n rotateY = rotate,\n rotateX = 0,\n tx = -offset,\n ty = 0;\n if (!s.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n }\n else if (s.rtl) {\n rotateY = -rotateY;\n }\n \n slide[0].style.zIndex = -Math.abs(Math.round(progress)) + s.slides.length;\n \n if (s.params.flip.slideShadows) {\n //Set shadows\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $('
                            ');\n slide.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $('
                            ');\n slide.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n \n slide\n .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)');\n }\n },\n setTransition: function (duration) {\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n if (s.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n s.slides.eq(s.activeIndex).transitionEnd(function () {\n if (eventTriggered) return;\n if (!s) return;\n if (!$(this).hasClass(s.params.slideActiveClass)) return;\n eventTriggered = true;\n s.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];\n for (var i = 0; i < triggerEvents.length; i++) {\n s.wrapper.trigger(triggerEvents[i]);\n }\n });\n }\n }\n },\n cube: {\n setTranslate: function () {\n var wrapperRotate = 0, cubeShadow;\n if (s.params.cube.shadow) {\n if (s.isHorizontal()) {\n cubeShadow = s.wrapper.find('.swiper-cube-shadow');\n if (cubeShadow.length === 0) {\n cubeShadow = $('
                            ');\n s.wrapper.append(cubeShadow);\n }\n cubeShadow.css({height: s.width + 'px'});\n }\n else {\n cubeShadow = s.container.find('.swiper-cube-shadow');\n if (cubeShadow.length === 0) {\n cubeShadow = $('
                            ');\n s.container.append(cubeShadow);\n }\n }\n }\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides.eq(i);\n var slideAngle = i * 90;\n var round = Math.floor(slideAngle / 360);\n if (s.rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n var progress = Math.max(Math.min(slide[0].progress, 1), -1);\n var tx = 0, ty = 0, tz = 0;\n if (i % 4 === 0) {\n tx = - round * 4 * s.size;\n tz = 0;\n }\n else if ((i - 1) % 4 === 0) {\n tx = 0;\n tz = - round * 4 * s.size;\n }\n else if ((i - 2) % 4 === 0) {\n tx = s.size + round * 4 * s.size;\n tz = s.size;\n }\n else if ((i - 3) % 4 === 0) {\n tx = - s.size;\n tz = 3 * s.size + s.size * 4 * round;\n }\n if (s.rtl) {\n tx = -tx;\n }\n \n if (!s.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n \n var transform = 'rotateX(' + (s.isHorizontal() ? 0 : -slideAngle) + 'deg) rotateY(' + (s.isHorizontal() ? slideAngle : 0) + 'deg) translate3d(' + tx + 'px, ' + ty + 'px, ' + tz + 'px)';\n if (progress <= 1 && progress > -1) {\n wrapperRotate = i * 90 + progress * 90;\n if (s.rtl) wrapperRotate = -i * 90 - progress * 90;\n }\n slide.transform(transform);\n if (s.params.cube.slideShadows) {\n //Set shadows\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $('
                            ');\n slide.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $('
                            ');\n slide.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n s.wrapper.css({\n '-webkit-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\n '-moz-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\n '-ms-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\n 'transform-origin': '50% 50% -' + (s.size / 2) + 'px'\n });\n \n if (s.params.cube.shadow) {\n if (s.isHorizontal()) {\n cubeShadow.transform('translate3d(0px, ' + (s.width / 2 + s.params.cube.shadowOffset) + 'px, ' + (-s.width / 2) + 'px) rotateX(90deg) rotateZ(0deg) scale(' + (s.params.cube.shadowScale) + ')');\n }\n else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = s.params.cube.shadowScale,\n scale2 = s.params.cube.shadowScale / multiplier,\n offset = s.params.cube.shadowOffset;\n cubeShadow.transform('scale3d(' + scale1 + ', 1, ' + scale2 + ') translate3d(0px, ' + (s.height / 2 + offset) + 'px, ' + (-s.height / 2 / scale2) + 'px) rotateX(-90deg)');\n }\n }\n var zFactor = (s.isSafari || s.isUiWebView) ? (-s.size / 2) : 0;\n s.wrapper.transform('translate3d(0px,0,' + zFactor + 'px) rotateX(' + (s.isHorizontal() ? 0 : wrapperRotate) + 'deg) rotateY(' + (s.isHorizontal() ? -wrapperRotate : 0) + 'deg)');\n },\n setTransition: function (duration) {\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n if (s.params.cube.shadow && !s.isHorizontal()) {\n s.container.find('.swiper-cube-shadow').transition(duration);\n }\n }\n },\n coverflow: {\n setTranslate: function () {\n var transform = s.translate;\n var center = s.isHorizontal() ? -transform + s.width / 2 : -transform + s.height / 2;\n var rotate = s.isHorizontal() ? s.params.coverflow.rotate: -s.params.coverflow.rotate;\n var translate = s.params.coverflow.depth;\n //Each slide offset from center\n for (var i = 0, length = s.slides.length; i < length; i++) {\n var slide = s.slides.eq(i);\n var slideSize = s.slidesSizesGrid[i];\n var slideOffset = slide[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * s.params.coverflow.modifier;\n \n var rotateY = s.isHorizontal() ? rotate * offsetMultiplier : 0;\n var rotateX = s.isHorizontal() ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n var translateZ = -translate * Math.abs(offsetMultiplier);\n \n var translateY = s.isHorizontal() ? 0 : s.params.coverflow.stretch * (offsetMultiplier);\n var translateX = s.isHorizontal() ? s.params.coverflow.stretch * (offsetMultiplier) : 0;\n \n //Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n \n var slideTransform = 'translate3d(' + translateX + 'px,' + translateY + 'px,' + translateZ + 'px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)';\n \n slide.transform(slideTransform);\n slide[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (s.params.coverflow.slideShadows) {\n //Set shadows\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $('
                            ');\n slide.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $('
                            ');\n slide.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if (shadowAfter.length) shadowAfter[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0;\n }\n }\n \n //Set correct perspective for IE10\n if (s.browser.ie) {\n var ws = s.wrapper[0].style;\n ws.perspectiveOrigin = center + 'px 50%';\n }\n },\n setTransition: function (duration) {\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n }\n };\n \n /*=========================\n Images Lazy Loading\n ===========================*/\n s.lazy = {\n initialImageLoaded: false,\n loadImageInSlide: function (index, loadInDuplicate) {\n if (typeof index === 'undefined') return;\n if (typeof loadInDuplicate === 'undefined') loadInDuplicate = true;\n if (s.slides.length === 0) return;\n \n var slide = s.slides.eq(index);\n var img = slide.find('.' + s.params.lazyLoadingClass + ':not(.' + s.params.lazyStatusLoadedClass + '):not(.' + s.params.lazyStatusLoadingClass + ')');\n if (slide.hasClass(s.params.lazyLoadingClass) && !slide.hasClass(s.params.lazyStatusLoadedClass) && !slide.hasClass(s.params.lazyStatusLoadingClass)) {\n img = img.add(slide[0]);\n }\n if (img.length === 0) return;\n \n img.each(function () {\n var _img = $(this);\n _img.addClass(s.params.lazyStatusLoadingClass);\n var background = _img.attr('data-background');\n var src = _img.attr('data-src'),\n srcset = _img.attr('data-srcset'),\n sizes = _img.attr('data-sizes');\n s.loadImage(_img[0], (src || background), srcset, sizes, false, function () {\n if (background) {\n _img.css('background-image', 'url(\"' + background + '\")');\n _img.removeAttr('data-background');\n }\n else {\n if (srcset) {\n _img.attr('srcset', srcset);\n _img.removeAttr('data-srcset');\n }\n if (sizes) {\n _img.attr('sizes', sizes);\n _img.removeAttr('data-sizes');\n }\n if (src) {\n _img.attr('src', src);\n _img.removeAttr('data-src');\n }\n \n }\n \n _img.addClass(s.params.lazyStatusLoadedClass).removeClass(s.params.lazyStatusLoadingClass);\n slide.find('.' + s.params.lazyPreloaderClass + ', .' + s.params.preloaderClass).remove();\n if (s.params.loop && loadInDuplicate) {\n var slideOriginalIndex = slide.attr('data-swiper-slide-index');\n if (slide.hasClass(s.params.slideDuplicateClass)) {\n var originalSlide = s.wrapper.children('[data-swiper-slide-index=\"' + slideOriginalIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')');\n s.lazy.loadImageInSlide(originalSlide.index(), false);\n }\n else {\n var duplicatedSlide = s.wrapper.children('.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + slideOriginalIndex + '\"]');\n s.lazy.loadImageInSlide(duplicatedSlide.index(), false);\n }\n }\n s.emit('onLazyImageReady', s, slide[0], _img[0]);\n });\n \n s.emit('onLazyImageLoad', s, slide[0], _img[0]);\n });\n \n },\n load: function () {\n var i;\n var slidesPerView = s.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n if (!s.lazy.initialImageLoaded) s.lazy.initialImageLoaded = true;\n if (s.params.watchSlidesVisibility) {\n s.wrapper.children('.' + s.params.slideVisibleClass).each(function () {\n s.lazy.loadImageInSlide($(this).index());\n });\n }\n else {\n if (slidesPerView > 1) {\n for (i = s.activeIndex; i < s.activeIndex + slidesPerView ; i++) {\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\n }\n }\n else {\n s.lazy.loadImageInSlide(s.activeIndex);\n }\n }\n if (s.params.lazyLoadingInPrevNext) {\n if (slidesPerView > 1 || (s.params.lazyLoadingInPrevNextAmount && s.params.lazyLoadingInPrevNextAmount > 1)) {\n var amount = s.params.lazyLoadingInPrevNextAmount;\n var spv = slidesPerView;\n var maxIndex = Math.min(s.activeIndex + spv + Math.max(amount, spv), s.slides.length);\n var minIndex = Math.max(s.activeIndex - Math.max(spv, amount), 0);\n // Next Slides\n for (i = s.activeIndex + slidesPerView; i < maxIndex; i++) {\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\n }\n // Prev Slides\n for (i = minIndex; i < s.activeIndex ; i++) {\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\n }\n }\n else {\n var nextSlide = s.wrapper.children('.' + s.params.slideNextClass);\n if (nextSlide.length > 0) s.lazy.loadImageInSlide(nextSlide.index());\n \n var prevSlide = s.wrapper.children('.' + s.params.slidePrevClass);\n if (prevSlide.length > 0) s.lazy.loadImageInSlide(prevSlide.index());\n }\n }\n },\n onTransitionStart: function () {\n if (s.params.lazyLoading) {\n if (s.params.lazyLoadingOnTransitionStart || (!s.params.lazyLoadingOnTransitionStart && !s.lazy.initialImageLoaded)) {\n s.lazy.load();\n }\n }\n },\n onTransitionEnd: function () {\n if (s.params.lazyLoading && !s.params.lazyLoadingOnTransitionStart) {\n s.lazy.load();\n }\n }\n };\n \n \n /*=========================\n Scrollbar\n ===========================*/\n s.scrollbar = {\n isTouched: false,\n setDragPosition: function (e) {\n var sb = s.scrollbar;\n var x = 0, y = 0;\n var translate;\n var pointerPosition = s.isHorizontal() ?\n ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX) :\n ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY) ;\n var position = (pointerPosition) - sb.track.offset()[s.isHorizontal() ? 'left' : 'top'] - sb.dragSize / 2;\n var positionMin = -s.minTranslate() * sb.moveDivider;\n var positionMax = -s.maxTranslate() * sb.moveDivider;\n if (position < positionMin) {\n position = positionMin;\n }\n else if (position > positionMax) {\n position = positionMax;\n }\n position = -position / sb.moveDivider;\n s.updateProgress(position);\n s.setWrapperTranslate(position, true);\n },\n dragStart: function (e) {\n var sb = s.scrollbar;\n sb.isTouched = true;\n e.preventDefault();\n e.stopPropagation();\n \n sb.setDragPosition(e);\n clearTimeout(sb.dragTimeout);\n \n sb.track.transition(0);\n if (s.params.scrollbarHide) {\n sb.track.css('opacity', 1);\n }\n s.wrapper.transition(100);\n sb.drag.transition(100);\n s.emit('onScrollbarDragStart', s);\n },\n dragMove: function (e) {\n var sb = s.scrollbar;\n if (!sb.isTouched) return;\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n sb.setDragPosition(e);\n s.wrapper.transition(0);\n sb.track.transition(0);\n sb.drag.transition(0);\n s.emit('onScrollbarDragMove', s);\n },\n dragEnd: function (e) {\n var sb = s.scrollbar;\n if (!sb.isTouched) return;\n sb.isTouched = false;\n if (s.params.scrollbarHide) {\n clearTimeout(sb.dragTimeout);\n sb.dragTimeout = setTimeout(function () {\n sb.track.css('opacity', 0);\n sb.track.transition(400);\n }, 1000);\n \n }\n s.emit('onScrollbarDragEnd', s);\n if (s.params.scrollbarSnapOnRelease) {\n s.slideReset();\n }\n },\n draggableEvents: (function () {\n if ((s.params.simulateTouch === false && !s.support.touch)) return s.touchEventsDesktop;\n else return s.touchEvents;\n })(),\n enableDraggable: function () {\n var sb = s.scrollbar;\n var target = s.support.touch ? sb.track : document;\n $(sb.track).on(sb.draggableEvents.start, sb.dragStart);\n $(target).on(sb.draggableEvents.move, sb.dragMove);\n $(target).on(sb.draggableEvents.end, sb.dragEnd);\n },\n disableDraggable: function () {\n var sb = s.scrollbar;\n var target = s.support.touch ? sb.track : document;\n $(sb.track).off(s.draggableEvents.start, sb.dragStart);\n $(target).off(s.draggableEvents.move, sb.dragMove);\n $(target).off(s.draggableEvents.end, sb.dragEnd);\n },\n set: function () {\n if (!s.params.scrollbar) return;\n var sb = s.scrollbar;\n sb.track = $(s.params.scrollbar);\n if (s.params.uniqueNavElements && typeof s.params.scrollbar === 'string' && sb.track.length > 1 && s.container.find(s.params.scrollbar).length === 1) {\n sb.track = s.container.find(s.params.scrollbar);\n }\n sb.drag = sb.track.find('.swiper-scrollbar-drag');\n if (sb.drag.length === 0) {\n sb.drag = $('
                            ');\n sb.track.append(sb.drag);\n }\n sb.drag[0].style.width = '';\n sb.drag[0].style.height = '';\n sb.trackSize = s.isHorizontal() ? sb.track[0].offsetWidth : sb.track[0].offsetHeight;\n \n sb.divider = s.size / s.virtualSize;\n sb.moveDivider = sb.divider * (sb.trackSize / s.size);\n sb.dragSize = sb.trackSize * sb.divider;\n \n if (s.isHorizontal()) {\n sb.drag[0].style.width = sb.dragSize + 'px';\n }\n else {\n sb.drag[0].style.height = sb.dragSize + 'px';\n }\n \n if (sb.divider >= 1) {\n sb.track[0].style.display = 'none';\n }\n else {\n sb.track[0].style.display = '';\n }\n if (s.params.scrollbarHide) {\n sb.track[0].style.opacity = 0;\n }\n },\n setTranslate: function () {\n if (!s.params.scrollbar) return;\n var diff;\n var sb = s.scrollbar;\n var translate = s.translate || 0;\n var newPos;\n \n var newSize = sb.dragSize;\n newPos = (sb.trackSize - sb.dragSize) * s.progress;\n if (s.rtl && s.isHorizontal()) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = sb.dragSize - newPos;\n newPos = 0;\n }\n else if (-newPos + sb.dragSize > sb.trackSize) {\n newSize = sb.trackSize + newPos;\n }\n }\n else {\n if (newPos < 0) {\n newSize = sb.dragSize + newPos;\n newPos = 0;\n }\n else if (newPos + sb.dragSize > sb.trackSize) {\n newSize = sb.trackSize - newPos;\n }\n }\n if (s.isHorizontal()) {\n if (s.support.transforms3d) {\n sb.drag.transform('translate3d(' + (newPos) + 'px, 0, 0)');\n }\n else {\n sb.drag.transform('translateX(' + (newPos) + 'px)');\n }\n sb.drag[0].style.width = newSize + 'px';\n }\n else {\n if (s.support.transforms3d) {\n sb.drag.transform('translate3d(0px, ' + (newPos) + 'px, 0)');\n }\n else {\n sb.drag.transform('translateY(' + (newPos) + 'px)');\n }\n sb.drag[0].style.height = newSize + 'px';\n }\n if (s.params.scrollbarHide) {\n clearTimeout(sb.timeout);\n sb.track[0].style.opacity = 1;\n sb.timeout = setTimeout(function () {\n sb.track[0].style.opacity = 0;\n sb.track.transition(400);\n }, 1000);\n }\n },\n setTransition: function (duration) {\n if (!s.params.scrollbar) return;\n s.scrollbar.drag.transition(duration);\n }\n };\n \n /*=========================\n Controller\n ===========================*/\n s.controller = {\n LinearSpline: function (x, y) {\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n var i1, i3;\n var l = this.x.length;\n \n this.interpolate = function (x2) {\n if (!x2) return 0;\n \n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n \n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n \n var binarySearch = (function() {\n var maxIndex, minIndex, guess;\n return function(array, val) {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1)\n if (array[guess = maxIndex + minIndex >> 1] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n return maxIndex;\n };\n })();\n },\n //xxx: for now i will just save one spline function to to\n getInterpolateFunction: function(c){\n if(!s.controller.spline) s.controller.spline = s.params.loop ?\n new s.controller.LinearSpline(s.slidesGrid, c.slidesGrid) :\n new s.controller.LinearSpline(s.snapGrid, c.snapGrid);\n },\n setTranslate: function (translate, byController) {\n var controlled = s.params.control;\n var multiplier, controlledTranslate;\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n translate = c.rtl && c.params.direction === 'horizontal' ? -s.translate : s.translate;\n if (s.params.controlBy === 'slide') {\n s.controller.getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -s.controller.spline.interpolate(-translate);\n }\n \n if(!controlledTranslate || s.params.controlBy === 'container'){\n multiplier = (c.maxTranslate() - c.minTranslate()) / (s.maxTranslate() - s.minTranslate());\n controlledTranslate = (translate - s.minTranslate()) * multiplier + c.minTranslate();\n }\n \n if (s.params.controlInverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setWrapperTranslate(controlledTranslate, false, s);\n c.updateActiveIndex();\n }\n if (s.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i++) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n }\n else if (controlled instanceof Swiper && byController !== controlled) {\n \n setControlledTranslate(controlled);\n }\n },\n setTransition: function (duration, byController) {\n var controlled = s.params.control;\n var i;\n function setControlledTransition(c) {\n c.setWrapperTransition(duration, s);\n if (duration !== 0) {\n c.onTransitionStart();\n c.wrapper.transitionEnd(function(){\n if (!controlled) return;\n if (c.params.loop && s.params.controlBy === 'slide') {\n c.fixLoop();\n }\n c.onTransitionEnd();\n \n });\n }\n }\n if (s.isArray(controlled)) {\n for (i = 0; i < controlled.length; i++) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n }\n else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n };\n \n /*=========================\n Parallax\n ===========================*/\n function setParallaxTransform(el, progress) {\n el = $(el);\n var p, pX, pY;\n var rtlFactor = s.rtl ? -1 : 1;\n \n p = el.attr('data-swiper-parallax') || '0';\n pX = el.attr('data-swiper-parallax-x');\n pY = el.attr('data-swiper-parallax-y');\n if (pX || pY) {\n pX = pX || '0';\n pY = pY || '0';\n }\n else {\n if (s.isHorizontal()) {\n pX = p;\n pY = '0';\n }\n else {\n pY = p;\n pX = '0';\n }\n }\n \n if ((pX).indexOf('%') >= 0) {\n pX = parseInt(pX, 10) * progress * rtlFactor + '%';\n }\n else {\n pX = pX * progress * rtlFactor + 'px' ;\n }\n if ((pY).indexOf('%') >= 0) {\n pY = parseInt(pY, 10) * progress + '%';\n }\n else {\n pY = pY * progress + 'px' ;\n }\n \n el.transform('translate3d(' + pX + ', ' + pY + ',0px)');\n }\n s.parallax = {\n setTranslate: function () {\n s.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){\n setParallaxTransform(this, s.progress);\n \n });\n s.slides.each(function () {\n var slide = $(this);\n slide.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function () {\n var progress = Math.min(Math.max(slide[0].progress, -1), 1);\n setParallaxTransform(this, progress);\n });\n });\n },\n setTransition: function (duration) {\n if (typeof duration === 'undefined') duration = s.params.speed;\n s.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){\n var el = $(this);\n var parallaxDuration = parseInt(el.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n el.transition(parallaxDuration);\n });\n }\n };\n \n \n /*=========================\n Zoom\n ===========================*/\n s.zoom = {\n // \"Global\" Props\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n slide: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n image: undefined,\n imageWrap: undefined,\n zoomMax: s.params.zoomMax\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n },\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches: function (e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX,\n y1 = e.targetTouches[0].pageY,\n x2 = e.targetTouches[1].pageX,\n y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n },\n // Events\n onGestureStart: function (e) {\n var z = s.zoom;\n if (!s.support.gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n z.gesture.scaleStart = z.getDistanceBetweenTouches(e);\n }\n if (!z.gesture.slide || !z.gesture.slide.length) {\n z.gesture.slide = $(this);\n if (z.gesture.slide.length === 0) z.gesture.slide = s.slides.eq(s.activeIndex);\n z.gesture.image = z.gesture.slide.find('img, svg, canvas');\n z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass);\n z.gesture.zoomMax = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax ;\n if (z.gesture.imageWrap.length === 0) {\n z.gesture.image = undefined;\n return;\n }\n }\n z.gesture.image.transition(0);\n z.isScaling = true;\n },\n onGestureChange: function (e) {\n var z = s.zoom;\n if (!s.support.gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n z.gesture.scaleMove = z.getDistanceBetweenTouches(e);\n }\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n if (s.support.gestures) {\n z.scale = e.scale * z.currentScale;\n }\n else {\n z.scale = (z.gesture.scaleMove / z.gesture.scaleStart) * z.currentScale;\n }\n if (z.scale > z.gesture.zoomMax) {\n z.scale = z.gesture.zoomMax - 1 + Math.pow((z.scale - z.gesture.zoomMax + 1), 0.5);\n }\n if (z.scale < s.params.zoomMin) {\n z.scale = s.params.zoomMin + 1 - Math.pow((s.params.zoomMin - z.scale + 1), 0.5);\n }\n z.gesture.image.transform('translate3d(0,0,0) scale(' + z.scale + ')');\n },\n onGestureEnd: function (e) {\n var z = s.zoom;\n if (!s.support.gestures) {\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2) {\n return;\n }\n }\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n z.scale = Math.max(Math.min(z.scale, z.gesture.zoomMax), s.params.zoomMin);\n z.gesture.image.transition(s.params.speed).transform('translate3d(0,0,0) scale(' + z.scale + ')');\n z.currentScale = z.scale;\n z.isScaling = false;\n if (z.scale === 1) z.gesture.slide = undefined;\n },\n onTouchStart: function (s, e) {\n var z = s.zoom;\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n if (z.image.isTouched) return;\n if (s.device.os === 'android') e.preventDefault();\n z.image.isTouched = true;\n z.image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n z.image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove: function (e) {\n var z = s.zoom;\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n s.allowClick = false;\n if (!z.image.isTouched || !z.gesture.slide) return;\n \n if (!z.image.isMoved) {\n z.image.width = z.gesture.image[0].offsetWidth;\n z.image.height = z.gesture.image[0].offsetHeight;\n z.image.startX = s.getTranslate(z.gesture.imageWrap[0], 'x') || 0;\n z.image.startY = s.getTranslate(z.gesture.imageWrap[0], 'y') || 0;\n z.gesture.slideWidth = z.gesture.slide[0].offsetWidth;\n z.gesture.slideHeight = z.gesture.slide[0].offsetHeight;\n z.gesture.imageWrap.transition(0);\n }\n // Define if we need image drag\n var scaledWidth = z.image.width * z.scale;\n var scaledHeight = z.image.height * z.scale;\n \n if (scaledWidth < z.gesture.slideWidth && scaledHeight < z.gesture.slideHeight) return;\n \n z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0);\n z.image.maxX = -z.image.minX;\n z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0);\n z.image.maxY = -z.image.minY;\n \n z.image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n z.image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (!z.image.isMoved && !z.isScaling) {\n if (s.isHorizontal() &&\n (Math.floor(z.image.minX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x < z.image.touchesStart.x) ||\n (Math.floor(z.image.maxX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x > z.image.touchesStart.x)\n ) {\n z.image.isTouched = false;\n return;\n }\n else if (!s.isHorizontal() &&\n (Math.floor(z.image.minY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y < z.image.touchesStart.y) ||\n (Math.floor(z.image.maxY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y > z.image.touchesStart.y)\n ) {\n z.image.isTouched = false;\n return;\n }\n }\n e.preventDefault();\n e.stopPropagation();\n \n z.image.isMoved = true;\n z.image.currentX = z.image.touchesCurrent.x - z.image.touchesStart.x + z.image.startX;\n z.image.currentY = z.image.touchesCurrent.y - z.image.touchesStart.y + z.image.startY;\n \n if (z.image.currentX < z.image.minX) {\n z.image.currentX = z.image.minX + 1 - Math.pow((z.image.minX - z.image.currentX + 1), 0.8);\n }\n if (z.image.currentX > z.image.maxX) {\n z.image.currentX = z.image.maxX - 1 + Math.pow((z.image.currentX - z.image.maxX + 1), 0.8);\n }\n \n if (z.image.currentY < z.image.minY) {\n z.image.currentY = z.image.minY + 1 - Math.pow((z.image.minY - z.image.currentY + 1), 0.8);\n }\n if (z.image.currentY > z.image.maxY) {\n z.image.currentY = z.image.maxY - 1 + Math.pow((z.image.currentY - z.image.maxY + 1), 0.8);\n }\n \n //Velocity\n if (!z.velocity.prevPositionX) z.velocity.prevPositionX = z.image.touchesCurrent.x;\n if (!z.velocity.prevPositionY) z.velocity.prevPositionY = z.image.touchesCurrent.y;\n if (!z.velocity.prevTime) z.velocity.prevTime = Date.now();\n z.velocity.x = (z.image.touchesCurrent.x - z.velocity.prevPositionX) / (Date.now() - z.velocity.prevTime) / 2;\n z.velocity.y = (z.image.touchesCurrent.y - z.velocity.prevPositionY) / (Date.now() - z.velocity.prevTime) / 2;\n if (Math.abs(z.image.touchesCurrent.x - z.velocity.prevPositionX) < 2) z.velocity.x = 0;\n if (Math.abs(z.image.touchesCurrent.y - z.velocity.prevPositionY) < 2) z.velocity.y = 0;\n z.velocity.prevPositionX = z.image.touchesCurrent.x;\n z.velocity.prevPositionY = z.image.touchesCurrent.y;\n z.velocity.prevTime = Date.now();\n \n z.gesture.imageWrap.transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)');\n },\n onTouchEnd: function (s, e) {\n var z = s.zoom;\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n if (!z.image.isTouched || !z.image.isMoved) {\n z.image.isTouched = false;\n z.image.isMoved = false;\n return;\n }\n z.image.isTouched = false;\n z.image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = z.velocity.x * momentumDurationX;\n var newPositionX = z.image.currentX + momentumDistanceX;\n var momentumDistanceY = z.velocity.y * momentumDurationY;\n var newPositionY = z.image.currentY + momentumDistanceY;\n \n //Fix duration\n if (z.velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - z.image.currentX) / z.velocity.x);\n if (z.velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - z.image.currentY) / z.velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n \n z.image.currentX = newPositionX;\n z.image.currentY = newPositionY;\n \n // Define if we need image drag\n var scaledWidth = z.image.width * z.scale;\n var scaledHeight = z.image.height * z.scale;\n z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0);\n z.image.maxX = -z.image.minX;\n z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0);\n z.image.maxY = -z.image.minY;\n z.image.currentX = Math.max(Math.min(z.image.currentX, z.image.maxX), z.image.minX);\n z.image.currentY = Math.max(Math.min(z.image.currentY, z.image.maxY), z.image.minY);\n \n z.gesture.imageWrap.transition(momentumDuration).transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)');\n },\n onTransitionEnd: function (s) {\n var z = s.zoom;\n if (z.gesture.slide && s.previousIndex !== s.activeIndex) {\n z.gesture.image.transform('translate3d(0,0,0) scale(1)');\n z.gesture.imageWrap.transform('translate3d(0,0,0)');\n z.gesture.slide = z.gesture.image = z.gesture.imageWrap = undefined;\n z.scale = z.currentScale = 1;\n }\n },\n // Toggle Zoom\n toggleZoom: function (s, e) {\n var z = s.zoom;\n if (!z.gesture.slide) {\n z.gesture.slide = s.clickedSlide ? $(s.clickedSlide) : s.slides.eq(s.activeIndex);\n z.gesture.image = z.gesture.slide.find('img, svg, canvas');\n z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass);\n }\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n \n var touchX, touchY, offsetX, offsetY, diffX, diffY, translateX, translateY, imageWidth, imageHeight, scaledWidth, scaledHeight, translateMinX, translateMinY, translateMaxX, translateMaxY, slideWidth, slideHeight;\n \n if (typeof z.image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n }\n else {\n touchX = z.image.touchesStart.x;\n touchY = z.image.touchesStart.y;\n }\n \n if (z.scale && z.scale !== 1) {\n // Zoom Out\n z.scale = z.currentScale = 1;\n z.gesture.imageWrap.transition(300).transform('translate3d(0,0,0)');\n z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(1)');\n z.gesture.slide = undefined;\n }\n else {\n // Zoom In\n z.scale = z.currentScale = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax;\n if (e) {\n slideWidth = z.gesture.slide[0].offsetWidth;\n slideHeight = z.gesture.slide[0].offsetHeight;\n offsetX = z.gesture.slide.offset().left;\n offsetY = z.gesture.slide.offset().top;\n diffX = offsetX + slideWidth/2 - touchX;\n diffY = offsetY + slideHeight/2 - touchY;\n \n imageWidth = z.gesture.image[0].offsetWidth;\n imageHeight = z.gesture.image[0].offsetHeight;\n scaledWidth = imageWidth * z.scale;\n scaledHeight = imageHeight * z.scale;\n \n translateMinX = Math.min((slideWidth / 2 - scaledWidth / 2), 0);\n translateMinY = Math.min((slideHeight / 2 - scaledHeight / 2), 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n \n translateX = diffX * z.scale;\n translateY = diffY * z.scale;\n \n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n \n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n }\n else {\n translateX = 0;\n translateY = 0;\n }\n z.gesture.imageWrap.transition(300).transform('translate3d(' + translateX + 'px, ' + translateY + 'px,0)');\n z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(' + z.scale + ')');\n }\n },\n // Attach/Detach Events\n attachEvents: function (detach) {\n var action = detach ? 'off' : 'on';\n \n if (s.params.zoom) {\n var target = s.slides;\n var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false;\n // Scale image\n if (s.support.gestures) {\n s.slides[action]('gesturestart', s.zoom.onGestureStart, passiveListener);\n s.slides[action]('gesturechange', s.zoom.onGestureChange, passiveListener);\n s.slides[action]('gestureend', s.zoom.onGestureEnd, passiveListener);\n }\n else if (s.touchEvents.start === 'touchstart') {\n s.slides[action](s.touchEvents.start, s.zoom.onGestureStart, passiveListener);\n s.slides[action](s.touchEvents.move, s.zoom.onGestureChange, passiveListener);\n s.slides[action](s.touchEvents.end, s.zoom.onGestureEnd, passiveListener);\n }\n \n // Move image\n s[action]('touchStart', s.zoom.onTouchStart);\n s.slides.each(function (index, slide){\n if ($(slide).find('.' + s.params.zoomContainerClass).length > 0) {\n $(slide)[action](s.touchEvents.move, s.zoom.onTouchMove);\n }\n });\n s[action]('touchEnd', s.zoom.onTouchEnd);\n \n // Scale Out\n s[action]('transitionEnd', s.zoom.onTransitionEnd);\n if (s.params.zoomToggle) {\n s.on('doubleTap', s.zoom.toggleZoom);\n }\n }\n },\n init: function () {\n s.zoom.attachEvents();\n },\n destroy: function () {\n s.zoom.attachEvents(true);\n }\n };\n \n /*=========================\n Plugins API. Collect all and init all plugins\n ===========================*/\n s._plugins = [];\n for (var plugin in s.plugins) {\n var p = s.plugins[plugin](s, s.params[plugin]);\n if (p) s._plugins.push(p);\n }\n // Method to call all plugins event/method\n s.callPlugins = function (eventName) {\n for (var i = 0; i < s._plugins.length; i++) {\n if (eventName in s._plugins[i]) {\n s._plugins[i][eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n };\n \n /*=========================\n Events/Callbacks/Plugins Emitter\n ===========================*/\n function normalizeEventName (eventName) {\n if (eventName.indexOf('on') !== 0) {\n if (eventName[0] !== eventName[0].toUpperCase()) {\n eventName = 'on' + eventName[0].toUpperCase() + eventName.substring(1);\n }\n else {\n eventName = 'on' + eventName;\n }\n }\n return eventName;\n }\n s.emitterEventListeners = {\n \n };\n s.emit = function (eventName) {\n // Trigger callbacks\n if (s.params[eventName]) {\n s.params[eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n var i;\n // Trigger events\n if (s.emitterEventListeners[eventName]) {\n for (i = 0; i < s.emitterEventListeners[eventName].length; i++) {\n s.emitterEventListeners[eventName][i](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n // Trigger plugins\n if (s.callPlugins) s.callPlugins(eventName, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n };\n s.on = function (eventName, handler) {\n eventName = normalizeEventName(eventName);\n if (!s.emitterEventListeners[eventName]) s.emitterEventListeners[eventName] = [];\n s.emitterEventListeners[eventName].push(handler);\n return s;\n };\n s.off = function (eventName, handler) {\n var i;\n eventName = normalizeEventName(eventName);\n if (typeof handler === 'undefined') {\n // Remove all handlers for such event\n s.emitterEventListeners[eventName] = [];\n return s;\n }\n if (!s.emitterEventListeners[eventName] || s.emitterEventListeners[eventName].length === 0) return;\n for (i = 0; i < s.emitterEventListeners[eventName].length; i++) {\n if(s.emitterEventListeners[eventName][i] === handler) s.emitterEventListeners[eventName].splice(i, 1);\n }\n return s;\n };\n s.once = function (eventName, handler) {\n eventName = normalizeEventName(eventName);\n var _handler = function () {\n handler(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);\n s.off(eventName, _handler);\n };\n s.on(eventName, _handler);\n return s;\n };\n \n // Accessibility tools\n s.a11y = {\n makeFocusable: function ($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n addRole: function ($el, role) {\n $el.attr('role', role);\n return $el;\n },\n \n addLabel: function ($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n \n disable: function ($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n \n enable: function ($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n \n onEnterKey: function (event) {\n if (event.keyCode !== 13) return;\n if ($(event.target).is(s.params.nextButton)) {\n s.onClickNext(event);\n if (s.isEnd) {\n s.a11y.notify(s.params.lastSlideMessage);\n }\n else {\n s.a11y.notify(s.params.nextSlideMessage);\n }\n }\n else if ($(event.target).is(s.params.prevButton)) {\n s.onClickPrev(event);\n if (s.isBeginning) {\n s.a11y.notify(s.params.firstSlideMessage);\n }\n else {\n s.a11y.notify(s.params.prevSlideMessage);\n }\n }\n if ($(event.target).is('.' + s.params.bulletClass)) {\n $(event.target)[0].click();\n }\n },\n \n liveRegion: $(''),\n \n notify: function (message) {\n var notification = s.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n init: function () {\n // Setup accessibility\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\n s.a11y.makeFocusable(s.nextButton);\n s.a11y.addRole(s.nextButton, 'button');\n s.a11y.addLabel(s.nextButton, s.params.nextSlideMessage);\n }\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\n s.a11y.makeFocusable(s.prevButton);\n s.a11y.addRole(s.prevButton, 'button');\n s.a11y.addLabel(s.prevButton, s.params.prevSlideMessage);\n }\n \n $(s.container).append(s.a11y.liveRegion);\n },\n initPagination: function () {\n if (s.params.pagination && s.params.paginationClickable && s.bullets && s.bullets.length) {\n s.bullets.each(function () {\n var bullet = $(this);\n s.a11y.makeFocusable(bullet);\n s.a11y.addRole(bullet, 'button');\n s.a11y.addLabel(bullet, s.params.paginationBulletMessage.replace(/{{index}}/, bullet.index() + 1));\n });\n }\n },\n destroy: function () {\n if (s.a11y.liveRegion && s.a11y.liveRegion.length > 0) s.a11y.liveRegion.remove();\n }\n };\n \n \n /*=========================\n Init/Destroy\n ===========================*/\n s.init = function () {\n if (s.params.loop) s.createLoop();\n s.updateContainerSize();\n s.updateSlidesSize();\n s.updatePagination();\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.set();\n if (s.params.scrollbarDraggable) {\n s.scrollbar.enableDraggable();\n }\n }\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\n if (!s.params.loop) s.updateProgress();\n s.effects[s.params.effect].setTranslate();\n }\n if (s.params.loop) {\n s.slideTo(s.params.initialSlide + s.loopedSlides, 0, s.params.runCallbacksOnInit);\n }\n else {\n s.slideTo(s.params.initialSlide, 0, s.params.runCallbacksOnInit);\n if (s.params.initialSlide === 0) {\n if (s.parallax && s.params.parallax) s.parallax.setTranslate();\n if (s.lazy && s.params.lazyLoading) {\n s.lazy.load();\n s.lazy.initialImageLoaded = true;\n }\n }\n }\n s.attachEvents();\n if (s.params.observer && s.support.observer) {\n s.initObservers();\n }\n if (s.params.preloadImages && !s.params.lazyLoading) {\n s.preloadImages();\n }\n if (s.params.zoom && s.zoom) {\n s.zoom.init();\n }\n if (s.params.autoplay) {\n s.startAutoplay();\n }\n if (s.params.keyboardControl) {\n if (s.enableKeyboardControl) s.enableKeyboardControl();\n }\n if (s.params.mousewheelControl) {\n if (s.enableMousewheelControl) s.enableMousewheelControl();\n }\n // Deprecated hashnavReplaceState changed to replaceState for use in hashnav and history\n if (s.params.hashnavReplaceState) {\n s.params.replaceState = s.params.hashnavReplaceState;\n }\n if (s.params.history) {\n if (s.history) s.history.init();\n }\n if (s.params.hashnav) {\n if (s.hashnav) s.hashnav.init();\n }\n if (s.params.a11y && s.a11y) s.a11y.init();\n s.emit('onInit', s);\n };\n \n // Cleanup dynamic styles\n s.cleanupStyles = function () {\n // Container\n s.container.removeClass(s.classNames.join(' ')).removeAttr('style');\n \n // Wrapper\n s.wrapper.removeAttr('style');\n \n // Slides\n if (s.slides && s.slides.length) {\n s.slides\n .removeClass([\n s.params.slideVisibleClass,\n s.params.slideActiveClass,\n s.params.slideNextClass,\n s.params.slidePrevClass\n ].join(' '))\n .removeAttr('style')\n .removeAttr('data-swiper-column')\n .removeAttr('data-swiper-row');\n }\n \n // Pagination/Bullets\n if (s.paginationContainer && s.paginationContainer.length) {\n s.paginationContainer.removeClass(s.params.paginationHiddenClass);\n }\n if (s.bullets && s.bullets.length) {\n s.bullets.removeClass(s.params.bulletActiveClass);\n }\n \n // Buttons\n if (s.params.prevButton) $(s.params.prevButton).removeClass(s.params.buttonDisabledClass);\n if (s.params.nextButton) $(s.params.nextButton).removeClass(s.params.buttonDisabledClass);\n \n // Scrollbar\n if (s.params.scrollbar && s.scrollbar) {\n if (s.scrollbar.track && s.scrollbar.track.length) s.scrollbar.track.removeAttr('style');\n if (s.scrollbar.drag && s.scrollbar.drag.length) s.scrollbar.drag.removeAttr('style');\n }\n };\n \n // Destroy\n s.destroy = function (deleteInstance, cleanupStyles) {\n // Detach evebts\n s.detachEvents();\n // Stop autoplay\n s.stopAutoplay();\n // Disable draggable\n if (s.params.scrollbar && s.scrollbar) {\n if (s.params.scrollbarDraggable) {\n s.scrollbar.disableDraggable();\n }\n }\n // Destroy loop\n if (s.params.loop) {\n s.destroyLoop();\n }\n // Cleanup styles\n if (cleanupStyles) {\n s.cleanupStyles();\n }\n // Disconnect observer\n s.disconnectObservers();\n \n // Destroy zoom\n if (s.params.zoom && s.zoom) {\n s.zoom.destroy();\n }\n // Disable keyboard/mousewheel\n if (s.params.keyboardControl) {\n if (s.disableKeyboardControl) s.disableKeyboardControl();\n }\n if (s.params.mousewheelControl) {\n if (s.disableMousewheelControl) s.disableMousewheelControl();\n }\n // Disable a11y\n if (s.params.a11y && s.a11y) s.a11y.destroy();\n // Delete history popstate\n if (s.params.history && !s.params.replaceState) {\n window.removeEventListener('popstate', s.history.setHistoryPopState);\n }\n if (s.params.hashnav && s.hashnav) {\n s.hashnav.destroy();\n }\n // Destroy callback\n s.emit('onDestroy');\n // Delete instance\n if (deleteInstance !== false) s = null;\n };\n \n s.init();\n \n \n \n // Return swiper instance\n return s;\n };\n \n /*==================================================\n Prototype\n ====================================================*/\n Swiper.prototype = {\n isSafari: (function () {\n var ua = navigator.userAgent.toLowerCase();\n return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);\n })(),\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),\n isArray: function (arr) {\n return Object.prototype.toString.apply(arr) === '[object Array]';\n },\n /*==================================================\n Browser\n ====================================================*/\n browser: {\n ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled,\n ieTouch: (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1) || (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1),\n lteIE9: (function() {\n // create temporary DIV\n var div = document.createElement('div');\n // add content to tmp DIV which is wrapped into the IE HTML conditional statement\n div.innerHTML = '';\n // return true / false value based on what will browser render\n return div.getElementsByTagName('i').length === 1;\n })()\n },\n /*==================================================\n Devices\n ====================================================*/\n device: (function () {\n var ua = navigator.userAgent;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n return {\n ios: ipad || iphone || ipod,\n android: android\n };\n })(),\n /*==================================================\n Feature Detection\n ====================================================*/\n support: {\n touch : (window.Modernizr && Modernizr.touch === true) || (function () {\n return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\n })(),\n \n transforms3d : (window.Modernizr && Modernizr.csstransforms3d === true) || (function () {\n var div = document.createElement('div').style;\n return ('webkitPerspective' in div || 'MozPerspective' in div || 'OPerspective' in div || 'MsPerspective' in div || 'perspective' in div);\n })(),\n \n flexbox: (function () {\n var div = document.createElement('div').style;\n var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');\n for (var i = 0; i < styles.length; i++) {\n if (styles[i] in div) return true;\n }\n })(),\n \n observer: (function () {\n return ('MutationObserver' in window || 'WebkitMutationObserver' in window);\n })(),\n \n passiveListener: (function () {\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {}\n return supportsPassive;\n })(),\n \n gestures: (function () {\n return 'ongesturestart' in window;\n })()\n },\n /*==================================================\n Plugins\n ====================================================*/\n plugins: {}\n };\n","})();\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/vendor/framework7/js/framework7.min.js b/vendor/framework7/js/framework7.min.js deleted file mode 100644 index dfb7e6f30..000000000 --- a/vendor/framework7/js/framework7.min.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Framework7 1.5.0 - * Full featured mobile HTML framework for building iOS & Android apps - * - * http://framework7.io/ - * - * Copyright 2016, Vladimir Kharlampidi - * The iDangero.us - * http://www.idangero.us/ - * - * Licensed under MIT - * - * Released on: November 8, 2016 - */ -!function(){"use strict";window.Framework7=function(a){function t(e){var a=e.replace(/^./,function(e){return e.toUpperCase()});i["onPage"+a]=function(a,t){return i.onPage(e,a,t)}}function n(){var e,a=o(this),t=a[0].scrollTop,n=a[0].scrollHeight,r=a[0].offsetHeight,i=a[0].getAttribute("data-distance"),s=a.find(".virtual-list"),l=a.hasClass("infinite-scroll-top");if(i||(i=50),"string"==typeof i&&i.indexOf("%")>=0&&(i=parseInt(i,10)/100*r),i>r&&(i=r),l)t=n-i){if(s.length>0&&(e=s[0].f7VirtualList,e&&!e.reachEnd))return;a.trigger("infinite")}}function r(){i.device.ipad&&(document.body.scrollLeft=0,setTimeout(function(){document.body.scrollLeft=0},0))}var i=this;i.version="1.5.0",i.params={root:"body",cache:!0,cacheIgnore:[],cacheIgnoreGetParameters:!1,cacheDuration:6e5,preloadPreviousPage:!0,uniqueHistory:!1,uniqueHistoryIgnoreGetParameters:!1,dynamicPageUrl:"content-{{index}}",allowDuplicateUrls:!1,router:!0,routerRemoveTimeout:!1,routerRemoveWithTimeout:!1,pushState:!1,pushStateRoot:void 0,pushStateNoAnimation:!1,pushStateSeparator:"#!/",pushStateOnLoad:!0,fastClicks:!0,fastClicksDistanceThreshold:10,fastClicksDelayBetweenClicks:50,fastClicksExclude:"",tapHold:!1,tapHoldDelay:750,tapHoldPreventClicks:!0,activeState:!0,activeStateElements:"a, button, label, span",animateNavBackIcon:!1,swipeBackPage:!0,swipeBackPageThreshold:0,swipeBackPageActiveArea:30,swipeBackPageAnimateShadow:!0,swipeBackPageAnimateOpacity:!0,ajaxLinks:void 0,externalLinks:".external",sortable:!0,hideNavbarOnPageScroll:!1,hideToolbarOnPageScroll:!1,hideTabbarOnPageScroll:!1,showBarsOnPageScrollEnd:!0,showBarsOnPageScrollTop:!0,swipeout:!0,swipeoutActionsNoFold:!1,swipeoutNoFollow:!1,swipeoutRemoveWithTimeout:!1,smartSelectOpenIn:"page",smartSelectBackText:"Back",smartSelectPopupCloseText:"Close",smartSelectPickerCloseText:"Done",smartSelectSearchbar:!1,smartSelectBackOnSelect:!1,scrollTopOnNavbarClick:!1,scrollTopOnStatusbarClick:!1,swipePanel:!1,swipePanelActiveArea:0,swipePanelCloseOpposite:!0,swipePanelOnlyClose:!1,swipePanelNoFollow:!1,swipePanelThreshold:0,panelsCloseByOutside:!0,modalButtonOk:"OK",modalButtonCancel:"Cancel",modalUsernamePlaceholder:"Username",modalPasswordPlaceholder:"Password",modalTitle:"Framework7",modalCloseByOutside:!1,actionsCloseByOutside:!0,popupCloseByOutside:!0,modalPreloaderTitle:"Loading... ",modalStack:!0,imagesLazyLoadThreshold:0,imagesLazyLoadSequential:!0,viewClass:"view",viewMainClass:"view-main",viewsClass:"views",notificationCloseOnClick:!1,notificationCloseIcon:!0,notificationCloseButtonText:"Close",animatePages:!0,templates:{},template7Data:{},template7Pages:!1,precompileTemplates:!1,material:!1,materialPageLoadDelay:0,materialPreloaderSvg:'',materialPreloaderHtml:'',materialRipple:!0,materialRippleElements:".ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a",init:!0};for(var s in a)i.params[s]=a[s];var o=e,l=Template7;i._compiledTemplates={},i.root=o(i.params.root),i.root.eq(0).addClass("framework7-root"),i.touchEvents={start:i.support.touch?"touchstart":"mousedown",move:i.support.touch?"touchmove":"mousemove",end:i.support.touch?"touchend":"mouseup"},i.ls=window.localStorage,i.rtl="rtl"===o("body").css("direction"),i.rtl&&o("html").attr("dir","rtl"),"undefined"!=typeof i.params.statusbarOverlay&&(i.params.statusbarOverlay?o("html").addClass("with-statusbar-overlay"):o("html").removeClass("with-statusbar-overlay")),i.views=[];var p=function(e,a){var t,n={dynamicNavbar:!1,domCache:!1,linksView:void 0,reloadPages:!1,uniqueHistory:i.params.uniqueHistory,uniqueHistoryIgnoreGetParameters:i.params.uniqueHistoryIgnoreGetParameters,allowDuplicateUrls:i.params.allowDuplicateUrls,swipeBackPage:i.params.swipeBackPage,swipeBackPageAnimateShadow:i.params.swipeBackPageAnimateShadow,swipeBackPageAnimateOpacity:i.params.swipeBackPageAnimateOpacity,swipeBackPageActiveArea:i.params.swipeBackPageActiveArea,swipeBackPageThreshold:i.params.swipeBackPageThreshold,animatePages:i.params.animatePages,preloadPreviousPage:i.params.preloadPreviousPage};a=a||{},a.dynamicNavbar&&i.params.material&&(a.dynamicNavbar=!1);for(var r in n)"undefined"==typeof a[r]&&(a[r]=n[r]);var s=this;s.params=a,s.selector=e;var l=o(e);if(s.container=l[0],"string"!=typeof e&&(e=(l.attr("id")?"#"+l.attr("id"):"")+(l.attr("class")?"."+l.attr("class").replace(/ /g,".").replace(".active",""):""),s.selector=e),s.main=l.hasClass(i.params.viewMainClass),s.contentCache={},s.contextCache={},s.pagesCache={},s.pageElementsCache={},l[0].f7View=s,s.pagesContainer=l.find(".pages")[0],s.initialPages=[],s.initialPagesUrl=[],s.initialNavbars=[],s.params.domCache){var p=l.find(".page");for(t=0;t=0&&u.indexOf(m+"#")<0&&(u=u.split(m)[0]));var h,g;s.activePage||(h=o(s.pagesContainer).find(".page-on-center"),0===h.length&&(h=o(s.pagesContainer).find(".page:not(.cached)"),h=h.eq(h.length-1)),h.length>0&&(g=h[0].f7PageData)),s.params.domCache&&h?(s.url=l.attr("data-url")||s.params.url||"#"+h.attr("data-page"),s.pagesCache[s.url]=h.attr("data-page")):s.url=l.attr("data-url")||s.params.url||u,g&&(g.view=s,g.url=s.url,s.params.domCache&&s.params.dynamicNavbar&&!g.navbarInnerContainer&&(g.navbarInnerContainer=s.initialNavbars[s.initialPages.indexOf(g.container)]),s.activePage=g,h[0].f7PageData=g),s.url&&s.history.push(s.url);var v,b,w,C,y,x,T,k,P,S,M,I=!1,E=!1,O={},D=[],z=[],L=!0,B=[],N=[];if(s.handleTouchStart=function(e){L&&s.params.swipeBackPage&&!I&&!i.swipeoutOpenedEl&&s.allowPageChange&&(E=!1,I=!0,v=void 0,O.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,O.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,C=(new Date).getTime(),P=s.params.dynamicNavbar&&l.find(".navbar-inner").length>1)},s.handleTouchMove=function(e){if(I){var a="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,t="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY;if("undefined"==typeof v&&(v=!!(v||Math.abs(t-O.y)>Math.abs(a-O.x))),v||e.f7PreventSwipeBack||i.preventSwipeBack)return void(I=!1);if(!E){var n=!1;b=l.width();var r=o(e.target),p=r.hasClass("swipeout")?r:r.parents(".swipeout");p.length>0&&(!i.rtl&&p.find(".swipeout-actions-left").length>0&&(n=!0),i.rtl&&p.find(".swipeout-actions-right").length>0&&(n=!0)),D=r.is(".page")?r:r.parents(".page"),D.hasClass("no-swipeback")&&(n=!0),z=l.find(".page-on-left:not(.cached)");var d=O.x-l.offset().left>s.params.swipeBackPageActiveArea;if(d=i.rtl?O.xs.params.swipeBackPageActiveArea,d&&(n=!0),0!==z.length&&0!==D.length||(n=!0),n)return void(I=!1);s.params.swipeBackPageAnimateShadow&&!i.device.android&&(S=D.find(".swipeback-page-shadow"),0===S.length&&(S=o('
                            '),D.append(S))),P&&(B=l.find(".navbar-on-center:not(.cached)"),N=l.find(".navbar-on-left:not(.cached)"),y=B.find(".left, .center, .right, .subnavbar, .fading"),x=N.find(".left, .center, .right, .subnavbar, .fading"),i.params.animateNavBackIcon&&(T=B.find(".left.sliding .back .icon"),k=N.find(".left.sliding .back .icon"))),o(".picker-modal.modal-in").length>0&&i.closeModal(o(".picker-modal.modal-in"))}e.f7PreventPanelSwipe=!0,E=!0,e.preventDefault();var c=i.rtl?-1:1;w=(a-O.x-s.params.swipeBackPageThreshold)*c,w<0&&(w=0);var u=w/b,m={percentage:u,activePage:D[0],previousPage:z[0],activeNavbar:B[0],previousNavbar:N[0]};s.params.onSwipeBackMove&&s.params.onSwipeBackMove(m),l.trigger("swipeBackMove",m);var f=w*c,h=(w/5-b/5)*c;if(1===i.device.pixelRatio&&(f=Math.round(f),h=Math.round(h)),D.transform("translate3d("+f+"px,0,0)"),s.params.swipeBackPageAnimateShadow&&!i.device.android&&(S[0].style.opacity=1-1*u),z.transform("translate3d("+h+"px,0,0)"),s.params.swipeBackPageAnimateOpacity&&(z[0].style.opacity=.9+.1*u),P){var g;for(g=0;g=0){var C=u*M[0].f7NavbarRightOffset;1===i.device.pixelRatio&&(C=Math.round(C)),M.transform("translate3d("+C+"px,0,0)"),i.params.animateNavBackIcon&&M[0].className.indexOf("left")>=0&&T.length>0&&T.transform("translate3d("+-C+"px,0,0)")}for(g=0;g=0){var L=M[0].f7NavbarLeftOffset*(1-u);1===i.device.pixelRatio&&(L=Math.round(L)),M.transform("translate3d("+L+"px,0,0)"),i.params.animateNavBackIcon&&M[0].className.indexOf("left")>=0&&k.length>0&&k.transform("translate3d("+-L+"px,0,0)")}}}},s.handleTouchEnd=function(e){if(!I||!E)return I=!1,void(E=!1);if(I=!1,E=!1,0===w)return o([D[0],z[0]]).transform("").css({opacity:"",boxShadow:""}),void(P&&(y.transform("").css({opacity:""}),x.transform("").css({opacity:""}),T&&T.length>0&&T.transform(""),k&&T.length>0&&k.transform("")));var a=(new Date).getTime()-C,t=!1;(a<300&&w>10||a>=300&&w>b/2)&&(D.removeClass("page-on-center").addClass("page-on-right"),z.removeClass("page-on-left").addClass("page-on-center"),P&&(B.removeClass("navbar-on-center").addClass("navbar-on-right"),N.removeClass("navbar-on-left").addClass("navbar-on-center")),t=!0),o([D[0],z[0]]).transform("").css({opacity:"",boxShadow:""}).addClass("page-transitioning"),P&&(y.css({opacity:""}).each(function(){var e=t?this.f7NavbarRightOffset:0,a=o(this);a.transform("translate3d("+e+"px,0,0)"),i.params.animateNavBackIcon&&a.hasClass("left")&&T.length>0&&T.addClass("page-transitioning").transform("translate3d("+-e+"px,0,0)")}).addClass("page-transitioning"),x.transform("").css({opacity:""}).each(function(){var e=t?0:this.f7NavbarLeftOffset,a=o(this);a.transform("translate3d("+e+"px,0,0)"),i.params.animateNavBackIcon&&a.hasClass("left")&&k.length>0&&k.addClass("page-transitioning").transform("translate3d("+-e+"px,0,0)")}).addClass("page-transitioning")),L=!1,s.allowPageChange=!1;var n={activePage:D[0],previousPage:z[0],activeNavbar:B[0],previousNavbar:N[0]};if(t){var r=s.history[s.history.length-2];s.url=r,i.pageBackCallback("before",s,{pageContainer:D[0],url:r,position:"center",newPage:z,oldPage:D,swipeBack:!0}),i.pageAnimCallback("before",s,{pageContainer:z[0],url:r,position:"left",newPage:z,oldPage:D,swipeBack:!0}),s.params.onSwipeBackBeforeChange&&s.params.onSwipeBackBeforeChange(n),l.trigger("swipeBackBeforeChange",n)}else s.params.onSwipeBackBeforeReset&&s.params.onSwipeBackBeforeReset(n),l.trigger("swipeBackBeforeReset",n);D.transitionEnd(function(){o([D[0],z[0]]).removeClass("page-transitioning"),P&&(y.removeClass("page-transitioning").css({opacity:""}),x.removeClass("page-transitioning").css({opacity:""}),T&&T.length>0&&T.removeClass("page-transitioning"),k&&k.length>0&&k.removeClass("page-transitioning")),L=!0,s.allowPageChange=!0,t?(i.params.pushState&&s.main&&history.back(),i.pageBackCallback("after",s,{pageContainer:D[0],url:r,position:"center",newPage:z,oldPage:D,swipeBack:!0}),i.pageAnimCallback("after",s,{pageContainer:z[0],url:r,position:"left",newPage:z,oldPage:D,swipeBack:!0}),i.router.afterBack(s,D,z),s.params.onSwipeBackAfterChange&&s.params.onSwipeBackAfterChange(n),l.trigger("swipeBackAfterChange",n)):(s.params.onSwipeBackAfterReset&&s.params.onSwipeBackAfterReset(n),l.trigger("swipeBackAfterReset",n)),S&&S.length>0&&S.remove()})},s.attachEvents=function(e){var a=e?"off":"on",t=!("touchstart"!==i.touchEvents.start||!i.support.passiveListener)&&{passive:!0,capture:!1};l[a](i.touchEvents.start,s.handleTouchStart,t),l[a](i.touchEvents.move,s.handleTouchMove),l[a](i.touchEvents.end,s.handleTouchEnd,t)},s.detachEvents=function(){s.attachEvents(!0)},s.params.swipeBackPage&&!i.params.material&&s.attachEvents(),i.views.push(s),s.main&&(i.mainView=s),s.router={load:function(e){return i.router.load(s,e)},back:function(e){return i.router.back(s,e)},loadPage:function(e){if(e=e||{},"string"==typeof e){var a=e;e={},a&&0===a.indexOf("#")&&s.params.domCache?e.pageName=a.split("#")[1]:e.url=a}return i.router.load(s,e)},loadContent:function(e){return i.router.load(s,{content:e})},reloadPage:function(e){return i.router.load(s,{url:e,reload:!0})},reloadContent:function(e){return i.router.load(s,{content:e,reload:!0})},reloadPreviousPage:function(e){return i.router.load(s,{url:e,reloadPrevious:!0,reload:!0})},reloadPreviousContent:function(e){return i.router.load(s,{content:e,reloadPrevious:!0,reload:!0})},refreshPage:function(){var e={url:s.url,reload:!0,ignoreCache:!0};return e.url&&0===e.url.indexOf("#")&&(s.params.domCache&&s.pagesCache[e.url]?(e.pageName=s.pagesCache[e.url],e.url=void 0,delete e.url):s.contentCache[e.url]&&(e.content=s.contentCache[e.url],e.url=void 0,delete e.url)),i.router.load(s,e)},refreshPreviousPage:function(){var e={url:s.history[s.history.length-2],reload:!0,reloadPrevious:!0,ignoreCache:!0};return e.url&&0===e.url.indexOf("#")&&s.params.domCache&&s.pagesCache[e.url]&&(e.pageName=s.pagesCache[e.url],e.url=void 0,delete e.url),i.router.load(s,e)}},s.loadPage=s.router.loadPage,s.loadContent=s.router.loadContent,s.reloadPage=s.router.reloadPage,s.reloadContent=s.router.reloadContent,s.reloadPreviousPage=s.router.reloadPreviousPage,s.reloadPreviousContent=s.router.reloadPreviousContent,s.refreshPage=s.router.refreshPage,s.refreshPreviousPage=s.router.refreshPreviousPage,s.back=s.router.back,s.hideNavbar=function(){return i.hideNavbar(l.find(".navbar"))},s.showNavbar=function(){return i.showNavbar(l.find(".navbar"))},s.hideToolbar=function(){return i.hideToolbar(l.find(".toolbar"))},s.showToolbar=function(){return i.showToolbar(l.find(".toolbar"))},i.params.pushState&&i.params.pushStateOnLoad&&s.main){var H,A=c.split(m)[1];f?H=c.split(i.params.pushStateRoot+m)[1]:m&&c.indexOf(m)>=0&&c.indexOf(m+"#")<0&&(H=A);var R=!i.params.pushStateNoAnimation&&void 0,V=history.state;H?H.indexOf("#")>=0&&s.params.domCache&&V&&V.pageName&&"viewIndex"in V?i.router.load(s,{pageName:V.pageName,url:V.url,animatePages:R,pushState:!1}):H.indexOf("#")>=0&&s.params.domCache&&s.initialPagesUrl.indexOf(H)>=0?i.router.load(s,{pageName:H.replace("#",""),animatePages:R,pushState:!1}):i.router.load(s,{url:H,animatePages:R,pushState:!1}):s.params.domCache&&c.indexOf(m+"#")>=0&&(V&&V.pageName&&"viewIndex"in V?i.router.load(s,{pageName:V.pageName,url:V.url,animatePages:R,pushState:!1}):m&&0===A.indexOf("#")&&s.initialPagesUrl.indexOf(A)&&i.router.load(s,{pageName:A.replace("#",""),animatePages:R,pushState:!1}))}return s.destroy=function(){s.detachEvents(),s=void 0},i.pluginHook("addView",s),s};i.addView=function(e,a){return new p(e,a)},i.getCurrentView=function(e){var a=o(".popover.modal-in .view"),t=o(".popup.modal-in .view"),n=o(".panel.active .view"),r=o(".views"),i=r.children(".view");if(i.length>1&&i.hasClass("tab")&&(i=r.children(".view.active")),a.length>0&&a[0].f7View)return a[0].f7View;if(t.length>0&&t[0].f7View)return t[0].f7View;if(n.length>0&&n[0].f7View)return n[0].f7View;if(i.length>0){if(1===i.length&&i[0].f7View)return i[0].f7View;if(i.length>1){for(var s=[],l=0;l0&&"undefined"!=typeof e)return s[e];if(s.length>1)return s;if(1===s.length)return s[0];return}}},i.navbarInitCallback=function(e,a,t,n){if(!t&&n&&(t=o(n).parent(".navbar")[0]),n&&(!n.f7NavbarInitialized||!e||e.params.domCache)){var r={container:t,innerContainer:n},s=a&&a.f7PageData,l={page:s,navbar:r};if(n.f7NavbarInitialized&&(e&&e.params.domCache||!e&&o(t).parents(".popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal").length>0))return i.reinitNavbar(t,n),i.pluginHook("navbarReinit",l),void o(n).trigger("navbarReinit",l);n.f7NavbarInitialized=!0,i.pluginHook("navbarBeforeInit",r,s),o(n).trigger("navbarBeforeInit",l),i.initNavbar(t,n),i.pluginHook("navbarInit",r,s),o(n).trigger("navbarInit",l)}},i.navbarRemoveCallback=function(e,a,t,n){!t&&n&&(t=o(n).parent(".navbar")[0]);var r,s={container:t,innerContainer:n};a&&(r=a.f7PageData);var l={page:r,navbar:s};i.pluginHook("navbarBeforeRemove",s,r),o(n).trigger("navbarBeforeRemove",l),s=null,r=null},i.initNavbar=function(e,a){i.initSearchbar&&i.initSearchbar(a)},i.reinitNavbar=function(e,a){},i.initNavbarWithCallback=function(e){e=o(e);var a,t=e.parents("."+i.params.viewClass);0!==t.length&&(0===e.parents(".navbar-through").length&&0===t.find(".navbar-through").length||(a=t[0].f7View||void 0,e.find(".navbar-inner").each(function(){var n,r=this;if(o(r).attr("data-page")&&(n=t.find('.page[data-page="'+o(r).attr("data-page")+'"]')[0]),!n){var s=t.find(".page");1===s.length?n=s[0]:t.find(".page").each(function(){this.f7PageData&&this.f7PageData.navbarInnerContainer===r&&(n=this)})}i.navbarInitCallback(a,n,e[0],r)})))},i.sizeNavbars=function(e){if(!i.params.material){var a=e?o(e).find(".navbar .navbar-inner:not(.cached)"):o(".navbar .navbar-inner:not(.cached)");a.each(function(){var e=o(this);if(!e.hasClass("cached")){var a,t,n=i.rtl?e.find(".right"):e.find(".left"),r=i.rtl?e.find(".left"):e.find(".right"),s=e.find(".center"),l=e.find(".subnavbar"),p=0===n.length,d=0===r.length,c=p?0:n.outerWidth(!0),u=d?0:r.outerWidth(!0),m=s.outerWidth(!0),f=e.styles(),h=e[0].offsetWidth-parseInt(f.paddingLeft,10)-parseInt(f.paddingRight,10),g=e.hasClass("navbar-on-left");d&&(a=h-m),p&&(a=0),p||d||(a=(h-u-m+c)/2);var v=(h-m)/2;h-c-u>m?(vh-u&&(v=h-u-m),t=v-a):t=0;var b=i.rtl?-1:1;if(s.hasClass("sliding")&&(s[0].f7NavbarLeftOffset=-(a+t)*b,s[0].f7NavbarRightOffset=(h-a-t-m)*b,g)){if(i.params.animateNavBackIcon){var w=e.parent().find(".navbar-on-center").find(".left.sliding .back .icon ~ span");w.length>0&&(s[0].f7NavbarLeftOffset+=w[0].offsetLeft)}s.transform("translate3d("+s[0].f7NavbarLeftOffset+"px, 0, 0)")}!p&&n.hasClass("sliding")&&(i.rtl?(n[0].f7NavbarLeftOffset=-(h-n[0].offsetWidth)/2*b,n[0].f7NavbarRightOffset=c*b):(n[0].f7NavbarLeftOffset=-c,n[0].f7NavbarRightOffset=(h-n[0].offsetWidth)/2,i.params.animateNavBackIcon&&n.find(".back .icon").length>0&&(n[0].f7NavbarRightOffset-=n.find(".back .icon")[0].offsetWidth)),g&&n.transform("translate3d("+n[0].f7NavbarLeftOffset+"px, 0, 0)")),!d&&r.hasClass("sliding")&&(i.rtl?(r[0].f7NavbarLeftOffset=-u*b,r[0].f7NavbarRightOffset=(h-r[0].offsetWidth)/2*b):(r[0].f7NavbarLeftOffset=-(h-r[0].offsetWidth)/2,r[0].f7NavbarRightOffset=u),g&&r.transform("translate3d("+r[0].f7NavbarLeftOffset+"px, 0, 0)")),l.length&&l.hasClass("sliding")&&(l[0].f7NavbarLeftOffset=i.rtl?l[0].offsetWidth:-l[0].offsetWidth,l[0].f7NavbarRightOffset=-l[0].f7NavbarLeftOffset);var C=t;i.rtl&&p&&d&&s.length>0&&(C=-C),s.css({left:C+"px"})}})}},i.hideNavbar=function(e){return o(e).addClass("navbar-hidden"),!0},i.showNavbar=function(e){var a=o(e);return a.addClass("navbar-hiding").removeClass("navbar-hidden").transitionEnd(function(){a.removeClass("navbar-hiding")}),!0},i.hideToolbar=function(e){return o(e).addClass("toolbar-hidden"),!0},i.showToolbar=function(e){var a=o(e);a.addClass("toolbar-hiding").removeClass("toolbar-hidden").transitionEnd(function(){a.removeClass("toolbar-hiding")})};var d=function(e,a){function t(e){e.preventDefault()}var n={input:null,clearButton:null,cancelButton:null,searchList:null,searchIn:".item-title",searchBy:"",found:null,notFound:null,overlay:null,ignore:".searchbar-ignore",customSearch:!1,removeDiacritics:!1,hideDividers:!0,hideGroups:!0};a=a||{};for(var r in n)"undefined"!=typeof a[r]&&null!==a[r]||(a[r]=n[r]);var s=this;s.material=i.params.material,s.params=a,e=o(e),s.container=e,s.active=!1,s.input=s.params.input?o(s.params.input):s.container.find('input[type="search"]'),s.clearButton=s.params.clearButton?o(s.params.clearButton):s.container.find(".searchbar-clear"),s.cancelButton=s.params.cancelButton?o(s.params.cancelButton):s.container.find(".searchbar-cancel"),s.searchList=o(s.params.searchList),s.isVirtualList=s.searchList.hasClass("virtual-list"),s.pageContainer=s.container.parents(".page").eq(0),s.params.overlay?s.overlay=o(s.params.overlay):s.overlay=s.pageContainer.length>0?s.pageContainer.find(".searchbar-overlay"):o(".searchbar-overlay"),s.params.found?s.found=o(s.params.found):s.found=s.pageContainer.length>0?s.pageContainer.find(".searchbar-found"):o(".searchbar-found"),s.params.notFound?s.notFound=o(s.params.notFound):s.notFound=s.pageContainer.length>0?s.pageContainer.find(".searchbar-not-found"):o(".searchbar-not-found");var l=i.rtl?"margin-left":"margin-right",p=!1;s.setCancelButtonMargin=function(){s.cancelButton.transition(0).show(),s.cancelButton.css(l,-s.cancelButton[0].offsetWidth+"px");s.cancelButton[0].clientLeft;s.cancelButton.transition(""),p=!0},s.triggerEvent=function(e,a,t){s.container.trigger(e,t),s.searchList.length>0&&s.searchList.trigger(e,t),a&&s.params[a]&&s.params[a](s,t)},s.enable=function(e){function a(){!s.searchList.length&&!s.params.customSearch||s.container.hasClass("searchbar-active")||s.query||s.overlay.addClass("searchbar-overlay-active"),s.container.addClass("searchbar-active"),s.cancelButton.length>0&&!s.material&&(p||s.setCancelButtonMargin(),s.cancelButton.css(l,"0px")),s.triggerEvent("enableSearch","onEnable"),s.active=!0}i.device.ios&&!i.params.material&&e&&"focus"===e.type?setTimeout(function(){a()},400):a()},s.disable=function(){function e(){s.input.blur()}s.input.val("").trigger("change"),s.container.removeClass("searchbar-active searchbar-not-empty"),s.cancelButton.length>0&&!s.material&&s.cancelButton.css(l,-s.cancelButton[0].offsetWidth+"px"),(s.searchList.length||s.params.customSearch)&&s.overlay.removeClass("searchbar-overlay-active"),s.active=!1,i.device.ios?setTimeout(function(){e()},400):e(),s.triggerEvent("disableSearch","onDisable")},s.clear=function(e){return!s.query&&e&&o(e.target).hasClass("searchbar-clear")?void s.disable():(s.input.val("").trigger("change").focus(),void s.triggerEvent("clearSearch","onClear"))},s.handleInput=function(){setTimeout(function(){var e=s.input.val().trim();(s.searchList.length>0||s.params.customSearch)&&(s.params.searchIn||s.isVirtualList)&&s.search(e,!0)},0)};var d,c="";return s.search=function(e,a){if(e.trim()!==c){if(c=e.trim(),a||(s.active||s.enable(),s.input.val(e)),s.query=s.value=e,0===e.length?(s.container.removeClass("searchbar-not-empty"),s.searchList.length&&s.container.hasClass("searchbar-active")&&s.overlay.addClass("searchbar-overlay-active")):(s.container.addClass("searchbar-not-empty"),s.searchList.length&&s.container.hasClass("searchbar-active")&&s.overlay.removeClass("searchbar-overlay-active")),s.params.customSearch)return void s.triggerEvent("search","onSearch",{query:e});var t,n=[];if(s.isVirtualList){if(d=s.searchList[0].f7VirtualList,""===e.trim())return d.resetFilter(),s.notFound.hide(),void s.found.show();if(t=s.params.removeDiacritics?o.removeDiacritics(e):e,d.params.searchAll)n=d.params.searchAll(t,d.items)||[];else if(d.params.searchByItem)for(var r=0;r=0&&r++;r===i.length||s.params.ignore&&a.is(s.params.ignore)?n.push(a[0]):a.addClass("hidden-by-searchbar")}),s.params.hideDividers&&s.searchList.find(".item-divider, .list-group-title").each(function(){for(var e=o(this),a=e.nextAll("li"),t=!0,n=0;ne){var n=t+a,r=i.initialBarHeight+(n-i.initialAreaHeight),s=i.params.maxHeight||i.container.parents(".view")[0].offsetHeight-88;r>s&&(r=parseInt(s,10),n=r-i.initialBarHeight+i.initialAreaHeight),i.textarea.css("height",n+"px"),i.container.css("height",r+"px");var o=i.pageContent[0].scrollTop===i.pageContent[0].scrollHeight-i.pageContent[0].offsetHeight;i.pageContent.length>0&&(i.pageContent.css("padding-bottom",r+"px"),0===i.pageContent.find(".messages-new-first").length&&o&&i.pageContent.scrollTop(i.pageContent[0].scrollHeight-i.pageContent[0].offsetHeight))}else i.pageContent.length>0&&(i.container.css({height:"",bottom:""}),i.pageContent.css({"padding-bottom":""}))},i.clear=function(){i.textarea.val("").trigger("change")},i.value=function(e){return"undefined"==typeof e?i.textarea.val():void i.textarea.val(e).trigger("change")},i.textareaTimeout=void 0,i.handleTextarea=function(e){clearTimeout(i.textareaTimeout),i.textareaTimeout=setTimeout(function(){i.sizeTextarea()},0)},i.attachEvents=function(e){var a=e?"off":"on";i.container[a]("submit",t),i.textarea[a]("change keydown keypress keyup paste cut",i.handleTextarea)},i.detachEvents=function(){i.attachEvents(!0)},i.init=function(){i.attachEvents()},i.destroy=function(){i.detachEvents(),i=null},i.init(),i.container[0].f7Messagebar=i,i};i.messagebar=function(e,a){return new c(e,a)},i.initPageMessagebar=function(e){function a(){n.destroy(),e.off("pageBeforeRemove",a)}e=o(e);var t=e.hasClass("messagebar")?e:e.find(".messagebar");if(0!==t.length&&t.hasClass("messagebar-init")){var n=i.messagebar(t,t.dataset());e.hasClass("page")&&e.on("pageBeforeRemove",a)}},i.cache=[],i.removeFromCache=function(e){for(var a=!1,t=0;t=0&&(r=e.split("?")[0]),i.params.cache&&!t&&e.indexOf("nocache")<0&&i.params.cacheIgnore.indexOf(r)<0)for(var s=0;s=200&&e.status<300||0===e.status?(i.params.cache&&(i.removeFromCache(r),i.cache.push({url:r,time:(new Date).getTime(),content:e.responseText})),n(e.responseText,!1)):n(e.responseText,!0),i.params.onAjaxComplete&&i.params.onAjaxComplete(e)},error:function(e){n(e.responseText,!0),i.params.onAjaxError&&i.params.onAjaxError(e)}}),a&&(a.xhr=i.xhr),i.xhr},i.pageCallbacks={},i.onPage=function(e,a,t){if(a&&a.split(" ").length>1){for(var n=a.split(" "),r=[],s=0;s0?o.parseUrlQuery(a.url||""):t.f7PageData&&t.f7PageData.query?t.f7PageData.query:{});var r={container:t,url:a.url,query:n,name:o(t).attr("data-page"),view:e,from:a.position,context:a.context,navbarInnerContainer:a.navbarInnerContainer,fromPage:a.fromPage};if(a.fromPage&&!a.fromPage.navbarInnerContainer&&a.oldNavbarInnerContainer&&(a.fromPage.navbarInnerContainer=a.oldNavbarInnerContainer),t.f7PageInitialized&&(e&&e.params.domCache||!e&&o(t).parents(".popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal").length>0))return i.reinitPage(t),i.pluginHook("pageReinit",r),i.params.onPageReinit&&i.params.onPageReinit(i,r),i.triggerPageCallbacks("reinit",r.name,r),void o(r.container).trigger("pageReinit",{page:r});t.f7PageInitialized=!0,t.f7PageData=r,!e||a.preloadOnly||a.reloadPrevious||(o(e.container).attr("data-page",r.name),e.activePage=r),i.pluginHook("pageBeforeInit",r),i.params.onPageBeforeInit&&i.params.onPageBeforeInit(i,r),i.triggerPageCallbacks("beforeInit",r.name,r),o(r.container).trigger("pageBeforeInit",{page:r}),i.initPage(t),i.pluginHook("pageInit",r),i.params.onPageInit&&i.params.onPageInit(i,r),i.triggerPageCallbacks("init",r.name,r),o(r.container).trigger("pageInit",{page:r})}},i.pageRemoveCallback=function(e,a,t){var n;if(a){a.f7PageData&&(n=a.f7PageData.context);var r={container:a,name:o(a).attr("data-page"),view:e,url:a.f7PageData&&a.f7PageData.url,query:a.f7PageData&&a.f7PageData.query,navbarInnerContainer:a.f7PageData&&a.f7PageData.navbarInnerContainer,from:t,context:n};i.pluginHook("pageBeforeRemove",r),i.params.onPageBeforeRemove&&i.params.onPageBeforeRemove(i,r),i.triggerPageCallbacks("beforeRemove",r.name,r),o(r.container).trigger("pageBeforeRemove",{page:r}),r=null}},i.pageBackCallback=function(e,a,t){var n,r=t.pageContainer;if(r){r.f7PageData&&(n=r.f7PageData.context); -var s={container:r,name:o(r).attr("data-page"),url:r.f7PageData&&r.f7PageData.url,query:r.f7PageData&&r.f7PageData.query,view:a,from:t.position,context:n,navbarInnerContainer:r.f7PageData&&r.f7PageData.navbarInnerContainer,swipeBack:t.swipeBack};"after"===e&&(i.pluginHook("pageAfterBack",s),i.params.onPageAfterBack&&i.params.onPageAfterBack(i,s),i.triggerPageCallbacks("afterBack",s.name,s),o(r).trigger("pageAfterBack",{page:s})),"before"===e&&(i.pluginHook("pageBack",s),i.params.onPageBack&&i.params.onPageBack(i,s),i.triggerPageCallbacks("back",s.name,s),o(s.container).trigger("pageBack",{page:s}))}},i.pageAnimCallback=function(e,a,t){var n,r=t.pageContainer;if(r){r.f7PageData&&(n=r.f7PageData.context);var s=t.query;s||(s=t.url&&t.url.indexOf("?")>0?o.parseUrlQuery(t.url||""):r.f7PageData&&r.f7PageData.query?r.f7PageData.query:{});var l={container:r,url:t.url,query:s,name:o(r).attr("data-page"),view:a,from:t.position,context:n,swipeBack:t.swipeBack,navbarInnerContainer:r.f7PageData&&r.f7PageData.navbarInnerContainer,fromPage:t.fromPage},p=t.oldPage,d=t.newPage;if(r.f7PageData=l,"after"===e&&(i.pluginHook("pageAfterAnimation",l),i.params.onPageAfterAnimation&&i.params.onPageAfterAnimation(i,l),i.triggerPageCallbacks("afterAnimation",l.name,l),o(l.container).trigger("pageAfterAnimation",{page:l})),"before"===e){o(a.container).attr("data-page",l.name),a&&(a.activePage=l),d.hasClass("no-navbar")&&!p.hasClass("no-navbar")&&a.hideNavbar(),d.hasClass("no-navbar")||!p.hasClass("no-navbar")&&!p.hasClass("no-navbar-by-scroll")||a.showNavbar(),d.hasClass("no-toolbar")&&!p.hasClass("no-toolbar")&&a.hideToolbar(),d.hasClass("no-toolbar")||!p.hasClass("no-toolbar")&&!p.hasClass("no-toolbar-by-scroll")||a.showToolbar();var c;d.hasClass("no-tabbar")&&!p.hasClass("no-tabbar")&&(c=o(a.container).find(".tabbar"),0===c.length&&(c=o(a.container).parents("."+i.params.viewsClass).find(".tabbar")),i.hideToolbar(c)),d.hasClass("no-tabbar")||!p.hasClass("no-tabbar")&&!p.hasClass("no-tabbar-by-scroll")||(c=o(a.container).find(".tabbar"),0===c.length&&(c=o(a.container).parents("."+i.params.viewsClass).find(".tabbar")),i.showToolbar(c)),p.removeClass("no-navbar-by-scroll no-toolbar-by-scroll"),i.pluginHook("pageBeforeAnimation",l),i.params.onPageBeforeAnimation&&i.params.onPageBeforeAnimation(i,l),i.triggerPageCallbacks("beforeAnimation",l.name,l),o(l.container).trigger("pageBeforeAnimation",{page:l})}}},i.initPage=function(e){e=o(e),0!==e.length&&(i.sizeNavbars&&i.sizeNavbars(e.parents("."+i.params.viewClass)[0]),i.initPageMessages&&i.initPageMessages(e),i.initFormsStorage&&i.initFormsStorage(e),i.initSmartSelects&&i.initSmartSelects(e),i.initPageSwiper&&i.initPageSwiper(e),i.initPullToRefresh&&i.initPullToRefresh(e),i.initPageInfiniteScroll&&i.initPageInfiniteScroll(e),i.initSearchbar&&i.initSearchbar(e),i.initPageMessagebar&&i.initPageMessagebar(e),i.initPageScrollToolbars&&i.initPageScrollToolbars(e),i.initImagesLazyLoad&&i.initImagesLazyLoad(e),i.initPageProgressbar&&i.initPageProgressbar(e),i.initPageResizableTextarea&&i.initPageResizableTextarea(e),i.params.material&&i.initPageMaterialPreloader&&i.initPageMaterialPreloader(e),i.params.material&&i.initPageMaterialInputs&&i.initPageMaterialInputs(e),i.params.material&&i.initPageMaterialTabbar&&i.initPageMaterialTabbar(e))},i.reinitPage=function(e){e=o(e),0!==e.length&&(i.sizeNavbars&&i.sizeNavbars(e.parents("."+i.params.viewClass)[0]),i.reinitPageSwiper&&i.reinitPageSwiper(e),i.reinitLazyLoad&&i.reinitLazyLoad(e))},i.initPageWithCallback=function(e){e=o(e);var a=e.parents("."+i.params.viewClass);if(0!==a.length){var t=a[0].f7View||void 0,n=t&&t.url?t.url:void 0;a&&e.attr("data-page")&&a.attr("data-page",e.attr("data-page")),i.pageInitCallback(t,{pageContainer:e[0],url:n,position:"center"})}},i.router={_remove:function(e){i.params.routerRemoveTimeout||i.params.routerRemoveWithTimeout?setTimeout(function(){o(e).remove()},0):o(e).remove()},temporaryDom:document.createElement("div"),findElement:function(e,a,t,n){a=o(a),n&&(e+=":not(.cached)");var r=a.find(e);return r.length>1&&("string"==typeof t.selector&&(r=a.find(t.selector+" "+e)),r.length>1&&(r=a.find("."+i.params.viewMainClass+" "+e))),1===r.length?r:(n||(r=i.router.findElement(e,a,t,!0)),r&&1===r.length?r:r&&r.length>1?o(r[0]):void 0)},animatePages:function(e,a,t,n){var r="page-on-center page-on-right page-on-left";"to-left"===t&&(e.removeClass(r).addClass("page-from-center-to-left"),a.removeClass(r).addClass("page-from-right-to-center")),"to-right"===t&&(e.removeClass(r).addClass("page-from-left-to-center"),a.removeClass(r).addClass("page-from-center-to-right"))},prepareNavbar:function(e,a,t){o(e).find(".sliding").each(function(){var e=o(this),a="right"===t?this.f7NavbarRightOffset:this.f7NavbarLeftOffset;i.params.animateNavBackIcon&&e.hasClass("left")&&e.find(".back .icon").length>0&&e.find(".back .icon").transform("translate3d("+-a+"px,0,0)"),e.transform("translate3d("+a+"px,0,0)")})},animateNavbars:function(e,a,t,n){var r="navbar-on-right navbar-on-center navbar-on-left";"to-left"===t&&(a.removeClass(r).addClass("navbar-from-right-to-center"),a.find(".sliding").each(function(){var e=o(this);e.transform("translate3d(0px,0,0)"),i.params.animateNavBackIcon&&e.hasClass("left")&&e.find(".back .icon").length>0&&e.find(".back .icon").transform("translate3d(0px,0,0)")}),e.removeClass(r).addClass("navbar-from-center-to-left"),e.find(".sliding").each(function(){var e,t=o(this);i.params.animateNavBackIcon&&(t.hasClass("center")&&a.find(".sliding.left .back .icon").length>0&&(e=a.find(".sliding.left .back span"),e.length>0&&(this.f7NavbarLeftOffset+=e[0].offsetLeft)),t.hasClass("left")&&t.find(".back .icon").length>0&&t.find(".back .icon").transform("translate3d("+-this.f7NavbarLeftOffset+"px,0,0)")),t.transform("translate3d("+this.f7NavbarLeftOffset+"px,0,0)")})),"to-right"===t&&(e.removeClass(r).addClass("navbar-from-left-to-center"),e.find(".sliding").each(function(){var e=o(this);e.transform("translate3d(0px,0,0)"),i.params.animateNavBackIcon&&e.hasClass("left")&&e.find(".back .icon").length>0&&e.find(".back .icon").transform("translate3d(0px,0,0)")}),a.removeClass(r).addClass("navbar-from-center-to-right"),a.find(".sliding").each(function(){var e=o(this);i.params.animateNavBackIcon&&e.hasClass("left")&&e.find(".back .icon").length>0&&e.find(".back .icon").transform("translate3d("+-this.f7NavbarRightOffset+"px,0,0)"),e.transform("translate3d("+this.f7NavbarRightOffset+"px,0,0)")}))},preprocess:function(e,a,t,n){i.pluginHook("routerPreprocess",e,a,t,n),a=i.pluginProcess("preprocess",a),e&&e.params&&e.params.preprocess?(a=e.params.preprocess(a,t,n),"undefined"!=typeof a&&n(a)):i.params.preprocess?(a=i.params.preprocess(a,t,n),"undefined"!=typeof a&&n(a)):n(a)},preroute:function(e,a,t){return t&&(a.isBack=!0),i.pluginHook("routerPreroute",e,a),!!(i.params.preroute&&i.params.preroute(e,a)===!1||e&&e.params.preroute&&e.params.preroute(e,a)===!1)},template7Render:function(e,a){var t,n,r=a.url,s=a.content,p=a.content,d=a.context,c=a.contextName,u=a.template;a.pageName;if("string"==typeof s?r?i.template7Cache[r]&&!a.ignoreCache?n=l.cache[r]:(n=l.compile(s),l.cache[r]=n):n=l.compile(s):u&&(n=u),d)t=d,d&&r&&(e.contextCache[r]=d);else{if(c)if(c.indexOf(".")>=0){for(var m=c.split("."),f=l.data[m[0]],h=1;h1)for(var P=0;P1){for(l=0;l1&&(r=r.filter(function(e,a){if(a!==k)return a})),(e.params.domCache||k)&&n.removeClass("cached"),e.params.dynamicNavbar)if(u=!0,d=b?w.find('.navbar-inner[data-page="'+b+'"]'):i.router.findElement(".navbar-inner",i.router.temporaryDom,e),d&&0!==d.length||(d=n.find(".navbar-inner"),d&&0!==d.length?d.parent(".navbar").length>0&&d.prependTo(n):u=!1),u&&n.find(".navbar").length>0&&i.router._remove(n.find(".navbar")),c=w.children(".navbar"),a.reload)p=c.find(".navbar-inner:not(.cached):last-child");else if(p=c.find(".navbar-inner:not(.cached)"),p.length>0){for(l=0;l=0?(r.addClass("cached"),u&&p.addClass("cached")):(i.pageRemoveCallback(e,r[0],m),u&&i.navbarRemoveCallback(e,r[0],c[0],p[0]),i.router._remove(r),u&&i.router._remove(p))),i.pageInitCallback(e,{pageContainer:n[0],url:f,position:a.reload?m:"right",navbarInnerContainer:u?d&&d[0]:void 0,oldNavbarInnerContainer:u?p&&p[0]:void 0,context:g.context,query:a.query,fromPage:r&&r.length&&r[0].f7PageData,reload:a.reload,reloadPrevious:a.reloadPrevious}),u&&i.navbarInitCallback(e,n[0],c[0],d[0],f,a.reload?m:"right"),a.reload)return e.allowPageChange=!0,void(O&&e.refreshPreviousPage());u&&y&&i.router.prepareNavbar(d,p,"right");n[0].clientLeft;i.pageAnimCallback("before",e,{pageContainer:n[0],url:f,position:"right",oldPage:r,newPage:n,query:a.query,fromPage:r&&r.length&&r[0].f7PageData}),y?(i.params.material&&i.params.materialPageLoadDelay?setTimeout(function(){i.router.animatePages(r,n,"to-left",e)},i.params.materialPageLoadDelay):i.router.animatePages(r,n,"to-left",e),u&&setTimeout(function(){i.router.animateNavbars(p,d,"to-left",e)},0),n.animationEnd(function(e){t()})):(u&&d.find(".sliding, .sliding .back .icon").transform(""),t())},i.router.load=function(e,a){function t(t){i.router.preprocess(e,t,n,function(t){a.content=t,i.router._load(e,a)})}if(a=a||{},i.router.preroute(e,a))return!1;var n=a.url,r=a.content,s=a.pageName,l=a.pageElement;s&&s.indexOf("?")>0&&(a.query=o.parseUrlQuery(s),a.pageName=s=s.split("?")[0]);var p=a.template;return e.params.reloadPages===!0&&(a.reload=!0),!!e.allowPageChange&&(!(n&&e.url===n&&!a.reload&&!e.params.allowDuplicateUrls)&&(e.allowPageChange=!1,i.xhr&&e.xhr&&e.xhr===i.xhr&&(i.xhr.abort(),i.xhr=!1),r||s||l?void t(r):p?void i.router._load(e,a):a.url&&"#"!==a.url?void i.get(a.url,e,a.ignoreCache,function(a,n){return n?void(e.allowPageChange=!0):void t(a)}):void(e.allowPageChange=!0)))},i.router._back=function(e,a){function t(){i.pageBackCallback("after",e,{pageContainer:l[0],url:h,position:"center",oldPage:l,newPage:p}),i.pageAnimCallback("after",e,{pageContainer:p[0],url:h,position:"left",oldPage:l,newPage:p,query:a.query,fromPage:l&&l.length&&l[0].f7PageData}),i.router.afterBack(e,l[0],p[0])}function n(){i.pageBackCallback("before",e,{pageContainer:l[0],url:h,position:"center",oldPage:l,newPage:p}),i.pageAnimCallback("before",e,{pageContainer:p[0],url:h,position:"left",oldPage:l,newPage:p,query:a.query,fromPage:l&&l.length&&l[0].f7PageData}),w?(i.router.animatePages(p,l,"to-right",e),f&&setTimeout(function(){i.router.animateNavbars(c,d,"to-right",e)},0),p.animationEnd(function(){t()})):(f&&c.find(".sliding, .sliding .back .icon").transform(""),t())}function r(){if(i.router.temporaryDom.innerHTML="","string"==typeof g||h&&"string"==typeof g)i.router.temporaryDom.innerHTML=v.content;else if("length"in g&&g.length>1)for(var a=0;a=0)t.length&&t[0]!==p[0]&&t.addClass("cached"),f&&r.length&&r[0]!==c[0]&&r.addClass("cached");else{var s=f&&r.length;t.length?(i.pageRemoveCallback(e,t[0],"right"),s&&i.navbarRemoveCallback(e,t[0],u[0],r[0]),i.router._remove(t),s&&i.router._remove(r)):s&&(i.navbarRemoveCallback(e,t[0],u[0],r[0]),i.router._remove(r))}M=S.children(".page:not(.cached)"),f&&(m=P.children(".navbar").find(".navbar-inner:not(.cached)")),e.history.indexOf(h)>=0?e.history=e.history.slice(0,e.history.indexOf(h)+2):e.history[[e.history.length-2]]?e.history[e.history.length-2]=h:e.history.unshift(h)}if(l=o(M[M.length-1]),e.params.domCache&&l[0]===p[0]&&(l=S.children(".page.page-on-center"),0===l.length&&e.activePage&&(l=o(e.activePage.container))),f&&!d&&(d=o(m[m.length-1]),e.params.domCache&&(d[0]===c[0]&&(d=u.children(".navbar-inner.navbar-on-center:not(.cached)")),0===d.length&&(d=u.children('.navbar-inner[data-page="'+l.attr("data-page")+'"]'))),0!==d.length&&c[0]!==d[0]||(f=!1)),f&&(I&&c.insertBefore(d),c[0].f7RelatedPage=p[0],p[0].f7RelatedNavbar=c[0]),I&&p.insertBefore(l),i.pageInitCallback(e,{pageContainer:p[0],url:h,position:"left",navbarInnerContainer:f?c[0]:void 0,oldNavbarInnerContainer:f?d&&d[0]:void 0,context:v.context,query:a.query,fromPage:l&&l.length&&l[0].f7PageData,preloadOnly:C}),f&&i.navbarInitCallback(e,p[0],u[0],c[0],h,"right"),f&&c.hasClass("navbar-on-left")&&w&&i.router.prepareNavbar(c,d,"left"),C)return void(e.allowPageChange=!0);e.url=h;p[0].clientLeft;n(),i.params.pushState&&e.main&&("undefined"==typeof y&&(y=!0),!C&&history.state&&y&&history.back())}a=a||{};var l,p,d,c,u,m,f,h=a.url,g=a.content,v={content:a.content},b=a.template,w=a.animatePages,C=a.preloadOnly,y=a.pushState,x=(a.ignoreCache,a.force),T=a.pageName,k=a.pageElement,P=o(e.container),S=o(e.pagesContainer),M=S.children(".page:not(.cached)"),I=!0;return"undefined"==typeof w&&(w=e.params.animatePages),i.pluginHook("routerBack",e,a),(i.params.template7Pages&&"string"==typeof g||b)&&(v=i.router.template7Render(e,a),v.content&&!g&&(g=v.content)),M.length>1&&!x?C?void(e.allowPageChange=!0):(e.url=e.history[e.history.length-2],h=e.url,p=o(M[M.length-2]),l=o(M[M.length-1]),e.params.dynamicNavbar&&(f=!0,m=P.children(".navbar").find(".navbar-inner:not(.cached)"),c=o(m[0]),d=o(m[1]),0!==c.length&&0!==d.length&&d[0]!==c[0]||(f=!1)),I=!1,void s()):x?h&&h===e.url||T&&e.activePage&&e.activePage.name===T?void(e.allowPageChange=!0):g?(r(),void s()):T&&e.params.domCache?(T&&(h="#"+T),p=o(P).find('.page[data-page="'+T+'"]'),p[0].f7PageData&&p[0].f7PageData.url&&(h=p[0].f7PageData.url),e.params.dynamicNavbar&&(c=o(P).children(".navbar").find('.navbar-inner[data-page="'+T+'"]'),0===c.length&&p[0].f7RelatedNavbar&&(c=o(p[0].f7RelatedNavbar)),0===c.length&&p[0].f7PageData&&(c=o(p[0].f7PageData.navbarInnerContainer))),void s()):k&&h?(p=o(k),e.params.dynamicNavbar&&(c=p.find(".navbar-inner"),c.length>0&&(p.prepend(c),i.router._remove(p.find(".navbar")))),void s()):void(e.allowPageChange=!0):(C||(e.url=e.history[e.history.length-2],h=e.url),g?(r(),void s()):T?(p=o(P).find('.page[data-page="'+T+'"]'),e.params.dynamicNavbar&&(c=o(P).children(".navbar").find('.navbar-inner[data-page="'+T+'"]'),0===c.length&&p[0].f7RelatedNavbar&&(c=o(p[0].f7RelatedNavbar)),0===c.length&&p[0].f7PageData&&(c=o(p[0].f7PageData.navbarInnerContainer))),void s()):h&&h in e.pageElementsCache?(p=e.pageElementsCache[h].page,c=e.pageElementsCache[h].navbarInner,void s()):void(e.allowPageChange=!0))},i.router.back=function(e,a){function t(t){i.router.preprocess(e,t,n,function(t){a.content=t,i.router._back(e,a)})}if(a=a||{},i.router.preroute(e,a,!0))return!1;var n=a.url,r=a.content,s=a.pageName,l=a.pageElement;s&&s.indexOf("?")>0&&(a.query=o.parseUrlQuery(s),a.pageName=s=s.split("?")[0]);var p=a.force;if(!e.allowPageChange)return!1;e.allowPageChange=!1,i.xhr&&e.xhr&&e.xhr===i.xhr&&(i.xhr.abort(),i.xhr=!1);var d=o(e.pagesContainer).find(".page:not(.cached)");if(d.length>1&&!p)return void i.router._back(e,a);if(p){if(!n&&r)return void t(r);if(!n&&s)return s&&(n="#"+s),void t();if(n&&l)return void t();if(n)return void i.get(a.url,e,a.ignoreCache,function(a,n){return n?void(e.allowPageChange=!0):void t(a)})}else{if(n=e.history[e.history.length-2]||a.url,a.url||(a.url=n),!n)return void(e.allowPageChange=!0);if(0===n.indexOf("#")&&e.contentCache[n])return void t(e.contentCache[n]);if(0===n.indexOf("#")&&e.params.domCache)return s||(a.pageName=n.split("#")[1]),void t();if(n&&n in e.pageElementsCache)t();else if(0!==n.indexOf("#"))return void i.get(a.url,e,a.ignoreCache,function(a,n){return n?void(e.allowPageChange=!0):void t(a)})}e.allowPageChange=!0},i.router.afterBack=function(e,a,t){a=o(a),t=o(t),e.params.domCache&&e.initialPages.indexOf(a[0])>=0?a.removeClass("page-from-center-to-right").addClass("cached"):(i.pageRemoveCallback(e,a[0],"right"),i.router._remove(a)),t.removeClass("page-from-left-to-center page-on-left").addClass("page-on-center"),e.allowPageChange=!0;var n,r=e.history.pop();if(e.params.dynamicNavbar){var s=o(e.container).children(".navbar").find(".navbar-inner:not(.cached)"),l=o(a[0].f7RelatedNavbar||s[1]);e.params.domCache&&e.initialNavbars.indexOf(l[0])>=0?l.removeClass("navbar-from-center-to-right").addClass("cached"):(i.navbarRemoveCallback(e,a[0],void 0,l[0]),i.router._remove(l)),n=o(s[0]).removeClass("navbar-on-left navbar-from-left-to-center").addClass("navbar-on-center")}if(e.params.domCache&&o(e.container).find(".page.cached").each(function(){var a=o(this),t=(a.index(),a[0].f7PageData&&a[0].f7PageData.url);t&&e.history.indexOf(t)<0&&e.initialPages.indexOf(this)<0&&(i.pageRemoveCallback(e,a[0],"right"),a[0].f7RelatedNavbar&&e.params.dynamicNavbar&&i.navbarRemoveCallback(e,a[0],void 0,a[0].f7RelatedNavbar),i.router._remove(a),a[0].f7RelatedNavbar&&e.params.dynamicNavbar&&i.router._remove(a[0].f7RelatedNavbar))}),!e.params.domCache&&r&&r.indexOf("#")>-1&&r in e.contentCache&&e.history.indexOf(r)===-1&&(e.contentCache[r]=null,delete e.contentCache[r]),r&&r in e.pageElementsCache&&e.history.indexOf(r)===-1&&(e.pageElementsCache[r]=null,delete e.pageElementsCache[r]),r&&r in e.contextCache&&e.history.indexOf(r)===-1&&(e.contextCache[r]=null,delete e.contextCache[r]),i.params.pushState&&e.main&&i.pushStateClearQueue(),e.params.preloadPreviousPage)if(e.params.domCache&&e.history.length>1){var p,d,c=e.history[e.history.length-2];c&&e.pagesCache[c]?(p=o(e.container).find('.page[data-page="'+e.pagesCache[c]+'"]'),p.next(".page")[0]!==t[0]&&p.insertBefore(t),n&&(d=o(e.container).children(".navbar").find('.navbar-inner[data-page="'+e.pagesCache[c]+'"]'),d&&0!==d.length||(d=n.prev(".navbar-inner.cached")),d.next(".navbar-inner")[0]!==n[0]&&d.insertBefore(n))):(p=t.prev(".page.cached"),n&&(d=n.prev(".navbar-inner.cached"))),p&&p.length>0&&p.removeClass("cached page-on-right page-on-center").addClass("page-on-left"),d&&d.length>0&&d.removeClass("cached navbar-on-right navbar-on-center").addClass("navbar-on-left")}else i.router.back(e,{preloadOnly:!0})};var f=document.createElement("div");i.modalStack=[],i.modalStackClearQueue=function(){i.modalStack.length&&i.modalStack.shift()()},i.modal=function(e){e=e||{};var a="";if(i.params.modalTemplate)i._compiledTemplates.modal||(i._compiledTemplates.modal=l.compile(i.params.modalTemplate)),a=i._compiledTemplates.modal(e);else{var t="";if(e.buttons&&e.buttons.length>0)for(var n=0;n'+e.buttons[n].text+"";var r=e.title?'":"",s=e.text?'":"",p=e.afterText?e.afterText:"",d=e.buttons&&0!==e.buttons.length?"":"modal-no-buttons",c=e.verticalButtons?"modal-buttons-vertical":"",u=e.buttons&&e.buttons.length>0?'":"";a='"}f.innerHTML=a;var m=o(f).children();return i.root.append(m[0]),m.find(".modal-button").each(function(a,t){o(t).on("click",function(t){e.buttons[a].close!==!1&&i.closeModal(m),e.buttons[a].onClick&&e.buttons[a].onClick(m,t),e.onClick&&e.onClick(m,a)})}),i.openModal(m),m[0]},i.alert=function(e,a,t){return"function"==typeof a&&(t=arguments[1],a=void 0),i.modal({text:e||"",title:"undefined"==typeof a?i.params.modalTitle:a,buttons:[{text:i.params.modalButtonOk,bold:!0,onClick:t}]})},i.confirm=function(e,a,t,n){return"function"==typeof a&&(n=arguments[2],t=arguments[1],a=void 0),i.modal({text:e||"",title:"undefined"==typeof a?i.params.modalTitle:a,buttons:[{text:i.params.modalButtonCancel,onClick:n},{text:i.params.modalButtonOk,bold:!0,onClick:t}]})},i.prompt=function(e,a,t,n){return"function"==typeof a&&(n=arguments[2],t=arguments[1],a=void 0),i.modal({text:e||"",title:"undefined"==typeof a?i.params.modalTitle:a,afterText:'
                            ',buttons:[{text:i.params.modalButtonCancel},{text:i.params.modalButtonOk,bold:!0}],onClick:function(e,a){0===a&&n&&n(o(e).find(".modal-text-input").val()),1===a&&t&&t(o(e).find(".modal-text-input").val())}})},i.modalLogin=function(e,a,t,n){return"function"==typeof a&&(n=arguments[2],t=arguments[1],a=void 0),i.modal({text:e||"",title:"undefined"==typeof a?i.params.modalTitle:a,afterText:'',buttons:[{text:i.params.modalButtonCancel},{text:i.params.modalButtonOk,bold:!0}],onClick:function(e,a){var r=o(e).find('.modal-text-input[name="modal-username"]').val(),i=o(e).find('.modal-text-input[name="modal-password"]').val();0===a&&n&&n(r,i),1===a&&t&&t(r,i)}})},i.modalPassword=function(e,a,t,n){return"function"==typeof a&&(n=arguments[2],t=arguments[1],a=void 0),i.modal({text:e||"",title:"undefined"==typeof a?i.params.modalTitle:a,afterText:'
                            ',buttons:[{text:i.params.modalButtonCancel},{text:i.params.modalButtonOk,bold:!0}],onClick:function(e,a){var r=o(e).find('.modal-text-input[name="modal-password"]').val();0===a&&n&&n(r),1===a&&t&&t(r)}})},i.showPreloader=function(e){return i.modal({title:e||i.params.modalPreloaderTitle,text:'
                            '+(i.params.material?i.params.materialPreloaderHtml:"")+"
                            ",cssClass:"modal-preloader"})},i.hidePreloader=function(){i.closeModal(".modal.modal-in")},i.showIndicator=function(){o(".preloader-indicator-overlay").length>0||i.root.append('
                            '+(i.params.material?i.params.materialPreloaderHtml:"")+"
                            ")},i.hideIndicator=function(){o(".preloader-indicator-overlay, .preloader-indicator-modal").remove()},i.actions=function(e,a){var t,n,r,s=!1;1===arguments.length?a=e:i.device.ios?i.device.ipad&&(s=!0):o(window).width()>=768&&(s=!0),a=a||[],a.length>0&&!o.isArray(a[0])&&(a=[a]);var p;if(s){var d=i.params.modalActionsToPopoverTemplate||'
                            {{#each this}}
                              {{#each this}}{{#if label}}
                            • {{text}}
                            • {{else}}
                            • {{text}}
                            • {{/if}}{{/each}}
                            {{/each}}
                            ';i._compiledTemplates.actionsToPopover||(i._compiledTemplates.actionsToPopover=l.compile(d));var c=i._compiledTemplates.actionsToPopover(a);t=o(i.popover(c,e,!0)),n=".list-block ul",r=".list-button"}else{if(i.params.modalActionsTemplate)i._compiledTemplates.actions||(i._compiledTemplates.actions=l.compile(i.params.modalActionsTemplate)),p=i._compiledTemplates.actions(a);else{for(var u="",m=0;m');var g=a[m][h],v=g.label?"actions-modal-label":"actions-modal-button";g.bold&&(v+=" actions-modal-button-bold"),g.color&&(v+=" color-"+g.color),g.bg&&(v+=" bg-"+g.bg),g.disabled&&(v+=" disabled"),u+='
                            '+g.text+"
                            ",h===a[m].length-1&&(u+="")}p='
                            '+u+"
                            "}f.innerHTML=p,t=o(f).children(),i.root.append(t[0]),n=".actions-modal-group",r=".actions-modal-button"}var b=t.find(n);return b.each(function(e,n){var l=e;o(n).children().each(function(e,n){var p,d=e,c=a[l][d];!s&&o(n).is(r)&&(p=o(n)),s&&o(n).find(r).length>0&&(p=o(n).find(r)),p&&p.on("click",function(e){c.close!==!1&&i.closeModal(t),c.onClick&&c.onClick(t,e)})})}),s||i.openModal(t),t[0]},i.popover=function(e,a,t){function n(){e.css({left:"",top:""});var t,n,r,i=e.width(),l=e.height(),p=0;s?e.removeClass("popover-on-left popover-on-right popover-on-top popover-on-bottom").css({left:"",top:""}):(t=e.find(".popover-angle"),p=t.width()/2,t.removeClass("on-left on-right on-top on-bottom").css({left:"",top:""}));var d=a.outerWidth(),c=a.outerHeight(),u=a.offset(),m=a.parents(".page");m.length>0&&(u.top=u.top-m[0].scrollTop);var f=o(window).height(),h=o(window).width(),g=0,v=0,b=0,w=s?"bottom":"top";if(s){if(l=f&&(g=f-l-8),v=u.left,v+i>=h-8&&(v=u.left+d-i-8),v<8&&(v=8),"top"===w&&e.addClass("popover-on-top"),"bottom"===w&&e.addClass("popover-on-bottom"),a.hasClass("floating-button-to-popover")&&!e.hasClass("modal-in")){e.addClass("popover-floating-button");var C=v+i/2-(u.left+d/2),y=g+l/2-(u.top+c/2);a.addClass("floating-button-to-popover-in").transform("translate3d("+C+"px, "+y+"px,0)").transitionEnd(function(e){a.hasClass("floating-button-to-popover-in")&&a.addClass("floating-button-to-popover-scale").transform("translate3d("+C+"px, "+y+"px,0) scale("+i/d+", "+l/c+")")}),e.once("close",function(){a.removeClass("floating-button-to-popover-in floating-button-to-popover-scale").addClass("floating-button-to-popover-out").transform("").transitionEnd(function(e){a.removeClass("floating-button-to-popover-out")})}),e.once("closed",function(){e.removeClass("popover-floating-button")})}}else l+p=f&&(g=f-l-5),b-=g),"top"===w||"bottom"===w?(v=d/2+u.left-i/2,b=v,v<5&&(v=5),v+i>h&&(v=h-i-5),"top"===w&&t.addClass("on-bottom"),"bottom"===w&&t.addClass("on-top"),b-=v,n=i/2-p+b,n=Math.max(Math.min(n,i-2*p-13),13),t.css({left:n+"px"})):"middle"===w&&(v=u.left-i-p,t.addClass("on-right"),(v<5||v+i>h)&&(v<5&&(v=u.left+d+p),v+i>h&&(v=h-i-5),t.removeClass("on-right").addClass("on-left")),r=l/2-p+b,r=Math.max(Math.min(r,l-2*p-13),13),t.css({top:r+"px"}));e.css({top:g+"px",left:v+"px"})}if("undefined"==typeof t&&(t=!0), -"string"==typeof e&&e.indexOf("<")>=0){var r=document.createElement("div");if(r.innerHTML=e.trim(),!(r.childNodes.length>0))return!1;e=r.childNodes[0],t&&e.classList.add("remove-on-close"),i.root.append(e)}if(e=o(e),a=o(a),0===e.length||0===a.length)return!1;0===e.parents("body").length&&(t&&e.addClass("remove-on-close"),i.root.append(e[0])),0!==e.find(".popover-angle").length||i.params.material||e.append('
                            '),e.show();var s=i.params.material;return n(),o(window).on("resize",n),e.on("close",function(){o(window).off("resize",n)}),i.openModal(e),e[0]},i.popup=function(e,a){if("undefined"==typeof a&&(a=!0),"string"==typeof e&&e.indexOf("<")>=0){var t=document.createElement("div");if(t.innerHTML=e.trim(),!(t.childNodes.length>0))return!1;e=t.childNodes[0],a&&e.classList.add("remove-on-close"),i.root.append(e)}return e=o(e),0!==e.length&&(0===e.parents("body").length&&(a&&e.addClass("remove-on-close"),i.root.append(e[0])),e.show(),i.openModal(e),e[0])},i.pickerModal=function(e,a){if("undefined"==typeof a&&(a=!0),"string"==typeof e&&e.indexOf("<")>=0){if(e=o(e),!(e.length>0))return!1;a&&e.addClass("remove-on-close"),i.root.append(e[0])}return e=o(e),0!==e.length&&(0===e.parents("body").length&&(a&&e.addClass("remove-on-close"),i.root.append(e[0])),o(".picker-modal.modal-in:not(.modal-out)").length>0&&!e.hasClass("modal-in")&&i.closeModal(".picker-modal.modal-in:not(.modal-out)"),e.show(),i.openModal(e),e[0])},i.loginScreen=function(e){return e||(e=".login-screen"),e=o(e),0!==e.length&&(o(".login-screen.modal-in:not(.modal-out)").length>0&&!e.hasClass("modal-in")&&i.closeModal(".login-screen.modal-in:not(.modal-out)"),e.show(),i.openModal(e),e[0])},i.openModal=function(e){e=o(e);var a=e.hasClass("modal");if(o(".modal.modal-in:not(.modal-out)").length&&i.params.modalStack&&a)return void i.modalStack.push(function(){i.openModal(e)});if(!0!==e.data("f7-modal-shown")){e.data("f7-modal-shown",!0),e.once("close",function(){e.removeData("f7-modal-shown")});var t=(e.hasClass("popover"),e.hasClass("popup")),n=e.hasClass("login-screen"),r=e.hasClass("picker-modal");a&&(e.show(),e.css({marginTop:-Math.round(e.outerHeight()/2)+"px"}));var s;n||r||(0!==o(".modal-overlay").length||t||i.root.append(''),0===o(".popup-overlay").length&&t&&i.root.append(''),s=o(t?".popup-overlay":".modal-overlay")),i.params.material&&r&&e.hasClass("picker-calendar")&&(0!==o(".picker-modal-overlay").length||t||i.root.append('
                            '),s=o(".picker-modal-overlay"));e[0].clientLeft;return e.trigger("open"),r&&o("body").addClass("with-picker-modal"),e.find("."+i.params.viewClass).length>0&&(e.find(".page").each(function(){i.initPageWithCallback(this)}),e.find(".navbar").each(function(){i.initNavbarWithCallback(this)})),n||r||s.addClass("modal-overlay-visible"),i.params.material&&r&&s&&s.addClass("modal-overlay-visible"),e.removeClass("modal-out").addClass("modal-in").transitionEnd(function(a){e.hasClass("modal-out")?e.trigger("closed"):e.trigger("opened")}),!0}},i.closeModal=function(e){if(e=o(e||".modal-in"),"undefined"==typeof e||0!==e.length){var a,t=e.hasClass("modal"),n=e.hasClass("popover"),r=e.hasClass("popup"),s=e.hasClass("login-screen"),l=e.hasClass("picker-modal"),p=e.hasClass("remove-on-close");return r?a=o(".popup-overlay"):l&&i.params.material?a=o(".picker-modal-overlay"):l||(a=o(".modal-overlay")),r?e.length===o(".popup.modal-in").length&&a.removeClass("modal-overlay-visible"):a&&a.length>0&&a.removeClass("modal-overlay-visible"),e.trigger("close"),l&&(o("body").removeClass("with-picker-modal"),o("body").addClass("picker-modal-closing")),!n||i.params.material?(e.removeClass("modal-in").addClass("modal-out").transitionEnd(function(a){if(e.hasClass("modal-out"))e.trigger("closed");else if(e.trigger("opened"),n)return;l&&o("body").removeClass("picker-modal-closing"),r||s||l||n?(e.removeClass("modal-out").hide(),p&&e.length>0&&e.remove()):e.remove()}),t&&i.params.modalStack&&i.modalStackClearQueue()):(e.removeClass("modal-in modal-out").trigger("closed").hide(),p&&e.remove()),!0}},i.setProgressbar=function(e,a,t){if(e=o(e||i.root),0!==e.length){a&&(a=Math.min(Math.max(a,0),100));var n;if(n=e.hasClass("progressbar")?e:e.children(".progressbar"),0!==n.length&&!n.hasClass("progressbar-infinite")){n[0].clientLeft;return n.children("span").transform("translate3d("+(-100+a)+"%,0,0)"),"undefined"!=typeof t?n.children("span").transition(t):n.children("span").transition(""),n[0]}}},i.showProgressbar=function(e,a,t){if("number"==typeof e&&(e=i.root,a=arguments[0],t=arguments[1]),a&&"string"==typeof a&&parseFloat(a)!==1*a&&(t=a,a=void 0),e=o(e||i.root),0!==e.length){var n;return e.hasClass("progressbar")?n=e:(n=e.children(".progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)"),0===n.length&&(n=o("undefined"!=typeof a?'':''),e.append(n))),a&&i.setProgressbar(e,a),n[0]}},i.hideProgressbar=function(e){if(e=o(e||i.root),0!==e.length){var a;a=e.hasClass("progressbar")?e:e.children(".progressbar, .progressbar-infinite"),0!==a.length&&a.hasClass("progressbar-in")&&!a.hasClass("progressbar-out")&&a.removeClass("progressbar-in").addClass("progressbar-out").animationEnd(function(){a.remove(),a=null})}},i.initPageProgressbar=function(e){e=o(e),e.find(".progressbar").each(function(){var e=o(this);0===e.children("span").length&&e.append(""),e.attr("data-progress")&&i.setProgressbar(e,e.attr("data-progress"))})},i.allowPanelOpen=!0,i.openPanel=function(e){function a(){r.transitionEnd(function(e){o(e.target).is(r)?(t.hasClass("active")?t.trigger("opened"):t.trigger("closed"),i.params.material&&o(".panel-overlay").css({display:""}),i.allowPanelOpen=!0):a()})}if(!i.allowPanelOpen)return!1;var t=o(".panel-"+e);if(0===t.length||t.hasClass("active"))return!1;i.closePanel(),i.allowPanelOpen=!1;var n=t.hasClass("panel-reveal")?"reveal":"cover";t.css({display:"block"}).addClass("active"),t.trigger("open"),i.params.material&&o(".panel-overlay").show(),t.find("."+i.params.viewClass).length>0&&i.sizeNavbars&&i.sizeNavbars(t.find("."+i.params.viewClass)[0]);var r=(t[0].clientLeft,"reveal"===n?o("."+i.params.viewsClass):t);return a(),o("body").addClass("with-panel-"+e+"-"+n),!0},i.closePanel=function(){var e=o(".panel.active");if(0===e.length)return!1;var a=e.hasClass("panel-reveal")?"reveal":"cover",t=e.hasClass("panel-left")?"left":"right";e.removeClass("active");var n="reveal"===a?o("."+i.params.viewsClass):e;e.trigger("close"),i.allowPanelOpen=!1,n.transitionEnd(function(){e.hasClass("active")||(e.css({display:""}),e.trigger("closed"),o("body").removeClass("panel-closing"),i.allowPanelOpen=!0)}),o("body").addClass("panel-closing").removeClass("with-panel-"+t+"-"+a)},i.initSwipePanels=function(){function e(e){if(i.allowPanelOpen&&(i.params.swipePanel||i.params.swipePanelOnlyClose)&&!s&&!(o(".modal-in, .photo-browser-in").length>0)&&(i.params.swipePanelCloseOpposite||i.params.swipePanelOnlyClose||!(o(".panel.active").length>0)||n.hasClass("active"))){if(w.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,w.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,i.params.swipePanelCloseOpposite||i.params.swipePanelOnlyClose){if(o(".panel.active").length>0)r=o(".panel.active").hasClass("panel-left")?"left":"right";else{if(i.params.swipePanelOnlyClose)return;r=i.params.swipePanel}if(!r)return}if(n=o(".panel.panel-"+r),f=n.hasClass("active"),i.params.swipePanelActiveArea&&!f){if("left"===r&&w.x>i.params.swipePanelActiveArea)return;if("right"===r&&w.xMath.abs(a-w.x))),p)return void(s=!1);if(!v&&(v=a>w.x?"to-right":"to-left","both"===r&&(r=o(".panel.active").length>0?o(".panel.active").hasClass("panel-left")?"left":"right":"to-right"===v?"left":"right",n=o(".panel.panel-"+r)),"left"===r&&"to-left"===v&&!n.hasClass("active")||"right"===r&&"to-right"===v&&!n.hasClass("active")))return void(s=!1);if(i.params.swipePanelNoFollow){var y=(new Date).getTime()-d;return y<300&&("to-left"===v&&("right"===r&&i.openPanel(r),"left"===r&&n.hasClass("active")&&i.closePanel()),"to-right"===v&&("left"===r&&i.openPanel(r),"right"===r&&n.hasClass("active")&&i.closePanel())),s=!1,void(l=!1)}l||(g=n.hasClass("panel-cover")?"cover":"reveal",f||(n.show(),b.show()),h=n[0].offsetWidth,n.transition(0),n.find("."+i.params.viewClass).length>0&&i.sizeNavbars&&i.sizeNavbars(n.find("."+i.params.viewClass)[0])),l=!0,e.preventDefault();var x=f?0:-i.params.swipePanelThreshold;"right"===r&&(x=-x),c=a-w.x+x,"right"===r?(u=c-(f?h:0),u>0&&(u=0),u<-h&&(u=-h)):(u=c+(f?h:0),u<0&&(u=0),u>h&&(u=h)),"reveal"===g?(C.transform("translate3d("+u+"px,0,0)").transition(0),b.transform("translate3d("+u+"px,0,0)").transition(0),i.pluginHook("swipePanelSetTransform",C[0],n[0],Math.abs(u/h))):(n.transform("translate3d("+u+"px,0,0)").transition(0),i.params.material&&(b.transition(0),m=Math.abs(u/h),b.css({opacity:m})),i.pluginHook("swipePanelSetTransform",C[0],n[0],Math.abs(u/h)))}}function t(e){if(!s||!l)return s=!1,void(l=!1);s=!1,l=!1;var a,t=(new Date).getTime()-d,p=0===u||Math.abs(u)===h;if(a=f?u===-h?"reset":t<300&&Math.abs(u)>=0||t>=300&&Math.abs(u)<=h/2?"left"===r&&u===h?"reset":"swap":"reset":0===u?"reset":t<300&&Math.abs(u)>0||t>=300&&Math.abs(u)>=h/2?"swap":"reset","swap"===a&&(i.allowPanelOpen=!0,f?(i.closePanel(),p&&(n.css({display:""}),o("body").removeClass("panel-closing"))):i.openPanel(r),p&&(i.allowPanelOpen=!0)),"reset"===a)if(f)i.allowPanelOpen=!0,i.openPanel(r);else if(i.closePanel(),p)i.allowPanelOpen=!0,n.css({display:""});else{var c="reveal"===g?C:n;n.trigger("close"),o("body").addClass("panel-closing"),c.transitionEnd(function(){n.trigger("closed"),n.css({display:""}),o("body").removeClass("panel-closing"),i.allowPanelOpen=!0})}"reveal"===g&&(C.transition(""),C.transform("")),n.transition("").transform(""),b.css({display:""}).transform("").transition("").css("opacity","")}var n,r;if(i.params.swipePanel){if(n=o(".panel.panel-"+i.params.swipePanel),r=i.params.swipePanel,0===n.length&&"both"!==r)return}else{if(!i.params.swipePanelOnlyClose)return;if(0===o(".panel").length)return}var s,l,p,d,c,u,m,f,h,g,v,b=o(".panel-overlay"),w={},C=o("."+i.params.viewsClass),y=!("touchstart"!==i.touchEvents.start||!i.support.passiveListener)&&{passive:!0,capture:!1};o(document).on(i.touchEvents.start,e,y),o(document).on(i.touchEvents.move,a),o(document).on(i.touchEvents.end,t,y)},i.initImagesLazyLoad=function(e){function a(e){function t(){e.removeClass("lazy").addClass("lazy-loaded"),n?e.css("background-image","url("+r+")"):e.attr("src",r),i.params.imagesLazyLoadSequential&&(u=!1,c.length>0&&a(c.shift()))}e=o(e);var n=e.attr("data-background"),r=n?n:e.attr("data-src");if(r){if(i.params.imagesLazyLoadSequential&&u)return void(c.indexOf(e[0])<0&&c.push(e[0]));u=!0;var s=new Image;s.onload=t,s.onerror=t,s.src=r}}function t(){l=e.find(".lazy"),l.each(function(e,t){t=o(t),t.parents(".tab:not(.active)").length>0||n(t[0])&&a(t)})}function n(e){var a=e.getBoundingClientRect(),t=i.params.imagesLazyLoadThreshold||0;return a.top>=0-t&&a.left>=0-t&&a.top<=window.innerHeight+t&&a.left<=window.innerWidth+t}function r(a){var n=a?"off":"on";l[n]("lazy",t),l.parents(".tab")[n]("show",t),e[n]("lazy",t),p[n]("lazy",t),p[n]("scroll",t),o(window)[n]("resize",t)}function s(){r(!0)}e=o(e);var l;if(e.hasClass("lazy")?(l=e,e=l.parents(".page")):l=e.find(".lazy"),0!==l.length){var p;if(e.hasClass("page-content")?(p=e,e=e.parents(".page")):p=e.find(".page-content"),0!==p.length){var d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==";"string"==typeof i.params.imagesLazyLoadPlaceholder&&(d=i.params.imagesLazyLoadPlaceholder),i.params.imagesLazyLoadPlaceholder!==!1&&l.each(function(){o(this).attr("data-src")&&o(this).attr("src",d)});var c=[],u=!1;e[0].f7DestroyImagesLazyLoad=s,r(),e.hasClass("page")&&e.once("pageBeforeRemove",s),t(),e.once("pageAfterAnimation",t)}}},i.destroyImagesLazyLoad=function(e){e=o(e),e.length>0&&e[0].f7DestroyImagesLazyLoad&&e[0].f7DestroyImagesLazyLoad()},i.reinitImagesLazyLoad=function(e){e=o(e),e.length>0&&e.trigger("lazy")},i.initPageMaterialPreloader=function(e){o(e).find(".preloader").each(function(){0===o(this).children().length&&o(this).html(i.params.materialPreloaderHtml)})};var h=function(e,a){var t={autoLayout:!0,newMessagesFirst:!1,scrollMessages:!0,scrollMessagesOnlyOnEdge:!1,messageTemplate:'{{#if day}}
                            {{day}} {{#if time}}, {{time}}{{/if}}
                            {{/if}}
                            {{#if name}}
                            {{name}}
                            {{/if}}
                            {{text}}{{#if date}}
                            {{date}}
                            {{/if}}
                            {{#if avatar}}
                            {{/if}}{{#if label}}
                            {{label}}
                            {{/if}}
                            '};a=a||{};for(var n in t)"undefined"!=typeof a[n]&&null!==a[n]||(a[n]=t[n]);var r=this;if(r.params=a,r.container=o(e),0!==r.container.length)return r.params.autoLayout&&r.container.addClass("messages-auto-layout"),r.params.newMessagesFirst&&r.container.addClass("messages-new-first"),r.pageContainer=r.container.parents(".page").eq(0),r.pageContent=r.pageContainer.find(".page-content"),r.template=Template7.compile(r.params.messageTemplate),r.layout=function(){r.container.hasClass("messages-auto-layout")||r.container.addClass("messages-auto-layout"),r.container.find(".message").each(function(){var e=o(this);if(e.find(".message-text img").length>0){for(var a=e.find(".message-text")[0].childNodes,t=!0,n=0;n0&&e.addClass("message-with-avatar")}),r.container.find(".message").each(function(){var e=o(this),a=e.hasClass("message-sent"),t=e.next(".message-"+(a?"sent":"received")),n=e.prev(".message-"+(a?"sent":"received"));0===t.length?e.addClass("message-last message-with-tail"):e.removeClass("message-last message-with-tail"),0===n.length?e.addClass("message-first"):e.removeClass("message-first"),n.length>0&&n.find(".message-name").length>0&&e.find(".message-name").length>0&&n.find(".message-name").text()!==e.find(".message-name").text()&&(n.addClass("message-last message-with-tail"),e.addClass("message-first"))})},r.appendMessage=function(e,a){return r.addMessage(e,"append",a)},r.prependMessage=function(e,a){return r.addMessage(e,"prepend",a)},r.addMessage=function(e,a,t){return r.addMessages([e],a,t)},r.addMessages=function(e,a,t){"undefined"==typeof t&&(t=!0),"undefined"==typeof a&&(a=r.params.newMessagesFirst?"prepend":"append");var n,i="";for(n=0;n=0,s.onlyImage===!1&&(s.hasImage=!1),t&&(s.position="append"===a?"bottom":"top"),i+=r.template(s))}var o=r.pageContent[0].scrollHeight,l=r.pageContent[0].offsetHeight,p=r.pageContent[0].scrollTop;if(r.container[a](i),r.params.autoLayout&&r.layout(),"prepend"===a&&(r.pageContent[0].scrollTop=p+(r.pageContent[0].scrollHeight-o)),r.params.scrollMessages&&"append"===a&&!r.params.newMessagesFirst||"prepend"===a&&r.params.newMessagesFirst)if(r.params.scrollMessagesOnlyOnEdge){var d=!1;r.params.newMessagesFirst?0===p&&(d=!0):p-(o-l)>=-10&&(d=!0),d&&r.scrollMessages(t?void 0:0)}else r.scrollMessages(t?void 0:0);var c=r.container.find(".message");if(1===e.length)return"append"===a?c[c.length-1]:c[0];var u=[];if("append"===a)for(n=c.length-e.length;nMath.abs(a-E.x))),l)return void(r=!1);if(!s){if(o(".list-block.sortable-opened").length>0)return;c=o(this),u=c.find(".swipeout-content"),m=c.find(".swipeout-actions-right"),f=c.find(".swipeout-actions-left"),h=g=C=y=k=T=null,M=f.hasClass("swipeout-actions-no-fold")||i.params.swipeoutActionsNoFold,I=m.hasClass("swipeout-actions-no-fold")||i.params.swipeoutActionsNoFold,f.length>0&&(h=f.outerWidth(),C=f.children("a"),T=f.find(".swipeout-overswipe")),m.length>0&&(g=m.outerWidth(),y=m.children("a"),k=m.find(".swipeout-overswipe")),b=c.hasClass("swipeout-opened"),b&&(w=c.find(".swipeout-actions-left.swipeout-actions-opened").length>0?"left":"right"),c.removeClass("transitioning"),i.params.swipeoutNoFollow||(c.find(".swipeout-actions-opened").removeClass("swipeout-actions-opened"),c.removeClass("swipeout-opened"))}if(s=!0,e.preventDefault(),d=a-E.x,v=d,b&&("right"===w?v-=g:v+=h),v>0&&0===f.length||v<0&&0===m.length){if(!b)return r=s=!1,u.transform(""),y&&y.length>0&&y.transform(""),void(C&&C.length>0&&C.transform(""));v=0}x=v<0?"to-left":v>0?"to-right":x?x:"to-left";var n,p,O;if(e.f7PreventPanelSwipe=!0,i.params.swipeoutNoFollow)return b?("right"===w&&d>0&&i.swipeoutClose(c),"left"===w&&d<0&&i.swipeoutClose(c)):(d<0&&m.length>0&&i.swipeoutOpen(c,"right"),d>0&&f.length>0&&i.swipeoutOpen(c,"left")),r=!1,void(s=!1);P=!1,S=!1;var D;if(m.length>0)for(O=v/g,v<-g&&(v=-g-Math.pow(-v-g,.8),k.length>0&&(S=!0)),n=0;n0&&D.hasClass("swipeout-overswipe")&&(D.css({left:(S?-p:0)+"px"}),S?D.addClass("swipeout-overswipe-active"):D.removeClass("swipeout-overswipe-active")),D.transform("translate3d("+(v-p*(1+Math.max(O,-1)))+"px,0,0)");if(f.length>0)for(O=v/h,v>h&&(v=h+Math.pow(v-h,.8),T.length>0&&(P=!0)),n=0;n0&&D.hasClass("swipeout-overswipe")&&(D.css({left:(P?p:0)+"px"}),P?D.addClass("swipeout-overswipe-active"):D.removeClass("swipeout-overswipe-active")),C.length>1&&D.css("z-index",C.length-n),D.transform("translate3d("+(v+p*(1-Math.min(O,1)))+"px,0,0)");u.transform("translate3d("+v+"px,0,0)")}}function n(e){if(!r||!s)return r=!1,void(s=!1);r=!1,s=!1;var a,t,n,l,w,T,k=(new Date).getTime()-p;if(T="to-left"===x?I:M,n="to-left"===x?m:f,t="to-left"===x?g:h,a=k<300&&(d<-10&&"to-left"===x||d>10&&"to-right"===x)||k>=300&&Math.abs(v)>t/2?"open":"close",k<300&&(0===Math.abs(v)&&(a="close"),Math.abs(v)===t&&(a="open")),"open"===a){i.swipeoutOpenedEl=c,c.trigger("open"),c.addClass("swipeout-opened transitioning");var E="to-left"===x?-t:t;if(u.transform("translate3d("+E+"px,0,0)"),n.addClass("swipeout-actions-opened"),l="to-left"===x?y:C)for(w=0;w0&&C!==l)for(w=0;w0&&y!==l)for(w=0;w0&&y.transform(""),f.length>0&&C.transform("")))})}var r,s,l,p,d,c,u,m,f,h,g,v,b,w,C,y,x,T,k,P,S,M,I,E={};o(document).on(i.touchEvents.start,function(e){if(i.swipeoutOpenedEl){var a=o(e.target);i.swipeoutOpenedEl.is(a[0])||a.parents(".swipeout").is(i.swipeoutOpenedEl)||a.hasClass("modal-in")||a.hasClass("modal-overlay")||a.hasClass("actions-modal")||a.parents(".actions-modal.modal-in, .modal.modal-in").length>0||i.swipeoutClose(i.swipeoutOpenedEl)}}),e?(o(e).on(i.touchEvents.start,a),o(e).on(i.touchEvents.move,t),o(e).on(i.touchEvents.end,n)):(o(document).on(i.touchEvents.start,".list-block li.swipeout",a),o(document).on(i.touchEvents.move,".list-block li.swipeout",t),o(document).on(i.touchEvents.end,".list-block li.swipeout",n))},i.swipeoutOpen=function(e,a,t){if(e=o(e),2===arguments.length&&"function"==typeof arguments[1]&&(t=a),0!==e.length&&(e.length>1&&(e=o(e[0])),e.hasClass("swipeout")&&!e.hasClass("swipeout-opened"))){a||(a=e.find(".swipeout-actions-right").length>0?"right":"left");var n=e.find(".swipeout-actions-"+a);if(0!==n.length){n.hasClass("swipeout-actions-no-fold")||i.params.swipeoutActionsNoFold;e.trigger("open").addClass("swipeout-opened").removeClass("transitioning"),n.addClass("swipeout-actions-opened");var r,s=n.children("a"),l=n.outerWidth(),p="right"===a?-l:l;if(s.length>1){for(r=0;r1&&(e=o(e[0])),i.swipeoutOpenedEl=void 0,e.trigger("delete"),e.css({height:e.outerHeight()+"px"});e[0].clientLeft;e.css({height:"0px"}).addClass("deleting transitioning").transitionEnd(function(){if(e.trigger("deleted"),a&&a.call(e[0]),e.parents(".virtual-list").length>0){var t=e.parents(".virtual-list")[0].f7VirtualList,n=e[0].f7VirtualListIndex;t&&"undefined"!=typeof n&&t.deleteItem(n)}else i.params.swipeoutRemoveWithTimeout?setTimeout(function(){e.remove()},0):e.remove()});var t="-100%";e.find(".swipeout-content").transform("translate3d("+t+",0,0)")}},i.sortableToggle=function(e){return e=o(e),0===e.length&&(e=o(".list-block.sortable")),e.toggleClass("sortable-opened"),e.hasClass("sortable-opened")?e.trigger("open"):e.trigger("close"),e},i.sortableOpen=function(e){return e=o(e),0===e.length&&(e=o(".list-block.sortable")),e.addClass("sortable-opened"),e.trigger("open"),e},i.sortableClose=function(e){return e=o(e),0===e.length&&(e=o(".list-block.sortable")),e.removeClass("sortable-opened"),e.trigger("close"),e},i.initSortable=function(){function e(e){r=!1,n=!0,s="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,p=o(this).parent(),v=p.index(),c=p.parent().find("li"),g=p.parents(".sortable"),e.preventDefault(),i.allowPanelOpen=i.allowSwipeout=!1}function a(e){if(n&&p){var a=("touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,"touchmove"===e.type?e.targetTouches[0].pageY:e.pageY);r||(p.addClass("sorting"),g.addClass("sortable-sorting"),u=p[0].offsetTop,m=p.parent().height()-p[0].offsetTop-p.height(),d=p[0].offsetHeight),r=!0,e.preventDefault(),e.f7PreventPanelSwipe=!0,l=a-s;var t=l;t<-u&&(t=-u),t>m&&(t=m),p.transform("translate3d(0,"+t+"px,0)"),h=f=void 0,c.each(function(){var e=o(this);if(e[0]!==p[0]){var a=e[0].offsetTop,n=e.height(),r=p[0].offsetTop+t;r>=a-n/2&&p.index()e.index()?(e.transform("translate3d(0, "+d+"px,0)"),f=void 0,h||(h=e)):o(this).transform("translate3d(0, 0%,0)")}})}}function t(e){if(i.allowPanelOpen=i.allowSwipeout=!0,!n||!r)return n=!1,void(r=!1);e.preventDefault(),c.transform(""),p.removeClass("sorting"),g.removeClass("sortable-sorting");var a,t,s;f&&(p.insertAfter(f),p.trigger("sort",{startIndex:v,newIndex:p.index()})),h&&(p.insertBefore(h),p.trigger("sort",{startIndex:v,newIndex:p.index()})),(f||h)&&g.hasClass("virtual-list")&&(a=g[0].f7VirtualList,t=p[0].f7VirtualListIndex,s=h?h[0].f7VirtualListIndex:f[0].f7VirtualListIndex,a&&a.moveItem(t,s)),f=h=void 0,n=!1,r=!1}var n,r,s,l,p,d,c,u,m,f,h,g,v;o(document).on(i.touchEvents.start,".list-block.sortable .sortable-handler",e),i.support.touch?(o(document).on(i.touchEvents.move,".list-block.sortable .sortable-handler",a),o(document).on(i.touchEvents.end,".list-block.sortable .sortable-handler",t)):(o(document).on(i.touchEvents.move,a),o(document).on(i.touchEvents.end,t))},i.initSmartSelects=function(e){e=o(e);var a;a=e.is(".smart-select")?e:e.find(".smart-select"),0!==a.length&&a.each(function(){var e=o(this),a=e.find("select");if(0!==a.length){var t=a[0];if(0!==t.length){for(var n=[],r=0;r'+n.join(", ")+"");else{var s=i.text();if(i.hasClass("smart-select-value"))for(r=0;r0;s&&i.smartSelectOpen(n,!0)},i.smartSelectOpen=function(e,a){function t(){var a=e.parents(".page-content");if(0!==a.length){var t,n=parseInt(a.css("padding-top"),10),r=parseInt(a.css("padding-bottom"),10),i=a[0].offsetHeight-n-ie.height(),s=a[0].scrollHeight-n-ie.height(),o=e.offset().top-n+e[0].offsetHeight;if(o>i){var l=a.scrollTop()+o-i;l+i>s&&(t=l+i-s+r,i===s&&(t=ie.height()),a.css({"padding-bottom":t+"px"})),a.scrollTop(l,300)}}}function n(a){var t=!0;(a.target===e[0]||o(a.target).parents(e[0]).length>0)&&(t=!1),o(a.target).parents(".picker-modal").length>0&&(t=!1),t&&i.closeModal(".smart-select-picker.modal-in")}function r(e){k.selectedOptions.length>=F?e.find('input[type="checkbox"]').each(function(){this.checked?o(this).parents("li").removeClass("disabled"):o(this).parents("li").addClass("disabled")}):e.find(".disabled").removeClass("disabled")}function s(a){if(a=o(a),C){var t=i.virtualList(a.find(".virtual-list"),{items:R,template:W,height:y||void 0,searchByItem:function(e,a,t){return t.text.toLowerCase().indexOf(e.trim().toLowerCase())>=0}});a.once("popup"===c||"picker"===c?"closed":"pageBeforeRemove",function(){t&&t.destroy&&t.destroy()})}F&&r(a),g&&a.find('input[type="radio"][name="'+q+'"]:checked').parents("label").once("click",function(){"popup"===c?i.closeModal(re):"picker"===c?i.closeModal(ie):d.router.back()}),a.on("change",'input[name="'+q+'"]',function(){var t=this,n=t.value,s=[];if("checkbox"===t.type){for(var o=0;o0)return}else if("picker"===c){if(o(".picker-modal.modal-in").length>0&&!a){if(e[0].f7SmartSelectPicker===o(".picker-modal.modal-in:not(.modal-out)")[0])return;i.closeModal(o(".picker-modal.modal-in:not(.modal-out)"))}}else if(!d)return;var u,m=e.dataset(),f=m.pageTitle||e.find(".item-title").text(),h=m.backText||i.params.smartSelectBackText;u="picker"===c?m.pickerCloseText||m.backText||i.params.smartSelectPickerCloseText:m.popupCloseText||m.backText||i.params.smartSelectPopupCloseText;var g=void 0!==m.backOnSelect?m.backOnSelect:i.params.smartSelectBackOnSelect,v=m.formTheme||i.params.smartSelectFormTheme,b=m.navbarTheme||i.params.smartSelectNavbarTheme,w=m.toolbarTheme||i.params.smartSelectToolbarTheme,C=m.virtualList,y=m.virtualListHeight,x=i.params.material,T=m.pickerHeight||i.params.smartSelectPickerHeight,k=e.find("select")[0],P=o(k),S=P.dataset();if(!(k.disabled||e.hasClass("disabled")||P.hasClass("disabled"))){for(var M,I,E,O,D,z,L,B,N,H,A,R=[],V=(new Date).getTime(),Y=k.multiple?"checkbox":"radio",q=Y+"-"+V,F=P.attr("maxlength"),X=k.name,G=0;G{{groupLabel}}{{else}}{{/if}}')); -var W=i._compiledTemplates.smartSelectItem,j="";if(!C)for(var _=0;_')),Q=i._compiledTemplates.smartSelectToolbar({pageTitle:f,closeText:u,openIn:c,toolbarTheme:w,inPicker:"picker"===c})):(i._compiledTemplates.smartSelectNavbar||(i._compiledTemplates.smartSelectNavbar=l.compile(i.params.smartSelectNavbarTemplate||'')),U=i._compiledTemplates.smartSelectNavbar({pageTitle:f,backText:h,closeText:u,openIn:c,navbarTheme:b,inPopup:"popup"===c,inPage:"page"===c,leftTemplate:"popup"===c?(i.params.smartSelectPopupCloseTemplate||(x?'
                            ':'')).replace(/{{closeText}}/g,u):(i.params.smartSelectBackTemplate||(x?'
                            ':'')).replace(/{{backText}}/g,h)}),"page"===c?(J="static",e.parents(".navbar-through").length>0&&(J="through"),e.parents(".navbar-fixed").length>0&&(J="fixed"),Z=e.parents(".page").hasClass("no-toolbar")?"no-toolbar":"",K=e.parents(".page").hasClass("no-navbar")?"no-navbar":"navbar-"+J,$=e.parents(".page").hasClass("no-tabbar")?"no-tabbar":""):J="fixed");var ee,ae,te="smart-select-"+q,ne="undefined"==typeof e.data("searchbar")?i.params.smartSelectSearchbar:"true"===e.data("searchbar");ne&&(ee=e.data("searchbar-placeholder")||"Search",ae=e.data("searchbar-cancel")||"Cancel");var re,ie,se='
                            ',oe=("picker"!==c&&"through"===J?U:"")+'
                            '+("picker"!==c&&"fixed"===J?U:"")+(ne?se:"")+'
                            '+("picker"!==c&&"static"===J?U:"")+'
                              '+(C?"":j)+"
                            ";"popup"===c?(a?(re=o(".popup.smart-select-popup .view"),re.html(oe)):(re=i.popup('"),re=o(re)),i.initPage(re.find(".page")),s(re)):"picker"===c?(a?(ie=o(".picker-modal.smart-select-picker .view"),ie.html(oe)):(ie=i.pickerModal('
                            "+Q+'
                            '+oe+"
                            "),ie=o(ie),t(),o("html").on("click",n),ie.once("close",function(){e[0].f7SmartSelectPicker=void 0,o("html").off("click",n),e.parents(".page-content").css({paddingBottom:""})}),e[0].f7SmartSelectPicker=ie[0]),i.initPage(ie.find(".page")),s(ie)):(o(document).once("pageInit",".smart-select-page",p),d.router.load({content:oe,reload:!!a||void 0}))}}}};var g=function(e,a){var t={cols:1,height:i.params.material?48:44,cache:!0,dynamicHeightBufferSize:1,showFilteredItemsOnly:!1};a=a||{};for(var n in t)"undefined"==typeof a[n]&&(a[n]=t[n]);var r=this;r.listBlock=o(e),r.params=a,r.items=r.params.items,r.params.showFilteredItemsOnly&&(r.filteredItems=[]),r.params.template&&("string"==typeof r.params.template?r.template=l.compile(r.params.template):"function"==typeof r.params.template&&(r.template=r.params.template)),r.pageContent=r.listBlock.parents(".page-content");var s;"undefined"!=typeof r.params.updatableScroll?s=r.params.updatableScroll:(s=!0,i.device.ios&&i.device.osVersion.split(".")[0]<8&&(s=!1)),r.ul=r.params.ul?o(r.params.ul):r.listBlock.children("ul"),0===r.ul.length&&(r.listBlock.append("
                              "),r.ul=r.listBlock.children("ul")),r.domCache={},r.displayDomCache={},r.tempDomElement=document.createElement("ul"),r.lastRepaintY=null,r.fragment=document.createDocumentFragment(),r.filterItems=function(e,a){r.filteredItems=[];for(var t=(e[0],e[e.length-1],0);th||!s&&r.pageContent[0].scrollTop+p>=r.pageContent[0].scrollHeight){r.lastRepaintY=t;var n,i,o=r.filteredItems||r.items,l=0,d=0;if(g){var u,f,v=0;for(h=p,u=0;u=t-2*p*r.params.dynamicHeightBufferSize?n=u:l+=f),"undefined"==typeof i&&((v+f>=t+2*p*r.params.dynamicHeightBufferSize||u===r.heights.length-1)&&(i=u+1),d+=f),v+=f;i=Math.min(i,o.length)}else n=(parseInt(t/r.params.height)-c)*r.params.cols,n<0&&(n=0),i=Math.min(n+m*r.params.cols,o.length);var b;r.reachEnd=!1;for(var w=n;wr.items.length)return!1;var a,t=0;if(g)for(var n=0;n=0;a--)r.items.unshift(e[a]);if(r.params.cache){var t={};for(var n in r.domCache)t[parseInt(n,10)+e.length]=r.domCache[n];r.domCache=t}r.update()},r.prependItem=function(e){r.prependItems([e])},r.moveItem=function(e,a){if(e!==a){var t=r.items.splice(e,1)[0];if(a>=r.items.length?(r.items.push(t),a=r.items.length-1):r.items.splice(a,0,t),r.params.cache){var n={};for(var i in r.domCache){var s=parseInt(i,10),o=el)&&(n[s]=r.domCache[s]),s===o&&(n[l]=r.domCache[s]),s>o&&s<=l&&(n[s+p]=r.domCache[s])}r.domCache=n}r.update()}},r.insertItemBefore=function(e,a){if(0===e)return void r.prependItem(a);if(e>=r.items.length)return void r.appendItem(a);if(r.items.splice(e,0,a),r.params.cache){var t={};for(var n in r.domCache){var i=parseInt(n,10);i>=e&&(t[i+1]=r.domCache[i])}r.domCache=t}r.update()},r.deleteItems=function(e){for(var a,t=0,n=0;na&&(t=-n),i+=t,a=e[n];var s=r.items.splice(i,1)[0];if(r.filteredItems&&r.filteredItems.indexOf(s)>=0&&r.filteredItems.splice(r.filteredItems.indexOf(s),1),r.params.cache){var o={};for(var l in r.domCache){var p=parseInt(l,10);p===i?delete r.domCache[i]:parseInt(l,10)>i?o[p-1]=r.domCache[l]:o[p]=r.domCache[l]}r.domCache=o}}r.update()},r.deleteAllItems=function(){r.items=[],delete r.filteredItems,r.params.cache&&(r.domCache={}),r.update()},r.deleteItem=function(e){r.deleteItems([e])},r.clearCache=function(){r.domCache={}},r.update=function(){r.setListSize(),r.render(!0)},r.destroy=function(){r.attachEvents(!0),delete r.items,delete r.domCache},r.init(),r.listBlock[0].f7VirtualList=r,r};i.virtualList=function(e,a){return new g(e,a)},i.reinitVirtualList=function(e){var a=o(e),t=a.find(".virtual-list");if(0!==t.length)for(var n=0;n1)return}h=o(this),h.hasClass("refreshing")||(c=!1,y=!1,d=!0,u=void 0,b=void 0,"touchstart"===e.type&&(p=e.targetTouches[0].identifier),x.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,x.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,f=(new Date).getTime())}function t(e){if(d){var a,t,n;if("touchmove"===e.type){if(p&&e.touches)for(var r=0;rMath.abs(a-x.x))),!u)return void(d=!1);if(v=h[0].scrollTop,"undefined"==typeof b&&0!==v&&(b=!0),!c){if(h.removeClass("transitioning"),v>h[0].offsetHeight)return void(d=!1);C&&(w=h.attr("data-ptr-distance"),w.indexOf("%")>=0&&(w=h[0].offsetHeight*parseInt(w,10)/100)),P=h.hasClass("refreshing")?w:0,k=h[0].scrollHeight===h[0].offsetHeight||"ios"!==i.device.os}return c=!0,m=t-x.y,m>0&&v<=0||v<0?("ios"===i.device.os&&parseInt(i.device.osVersion.split(".")[0],10)>7&&0===v&&!b&&(k=!0),k&&(e.preventDefault(),g=Math.pow(m,.85)+P,h.transform("translate3d(0,"+g+"px,0)")),k&&Math.pow(m,.85)>w||!k&&m>=2*w?(T=!0,h.addClass("pull-up").removeClass("pull-down")):(T=!1,h.removeClass("pull-up").addClass("pull-down")),y||(h.trigger("pullstart"),y=!0),h.trigger("pullmove",{event:e,scrollTop:v,translate:g,touchesDiff:m}),void 0):(y=!1,h.removeClass("pull-up pull-down"),void(T=!1))}}}function n(e){if(!("touchend"===e.type&&e.changedTouches&&e.changedTouches.length>0&&p&&e.changedTouches[0].identifier!==p)){if(!d||!c)return d=!1,void(c=!1);g&&(h.addClass("transitioning"),g=0),h.transform(""),T?(h.addClass("refreshing"),h.trigger("refresh",{done:function(){i.pullToRefreshDone(h)}})):h.removeClass("pull-down"),d=!1,c=!1,y&&h.trigger("pullend")}}function r(){l.off(i.touchEvents.start,a),l.off(i.touchEvents.move,t),l.off(i.touchEvents.end,n)}function s(){r(),S.off("pageBeforeRemove",s)}var l=o(e);if(l.hasClass("pull-to-refresh-content")||(l=l.find(".pull-to-refresh-content")),l&&0!==l.length){var p,d,c,u,m,f,h,g,v,b,w,C,y,x={},T=!1,k=!1,P=0,S=l.hasClass("page")?l:l.parents(".page"),M=!1;(S.find(".navbar").length>0||S.parents(".navbar-fixed, .navbar-through").length>0||S.hasClass("navbar-fixed")||S.hasClass("navbar-through"))&&(M=!0),S.hasClass("no-navbar")&&(M=!1),M||l.addClass("pull-to-refresh-no-navbar"),h=l,h.attr("data-ptr-distance")?C=!0:w=44;var I=!("touchstart"!==i.touchEvents.start||!i.support.passiveListener)&&{passive:!0,capture:!1};l.on(i.touchEvents.start,a,I),l.on(i.touchEvents.move,t),l.on(i.touchEvents.end,n,I),0!==S.length&&(l[0].f7DestroyPullToRefresh=r,S.on("pageBeforeRemove",s))}},i.pullToRefreshDone=function(e){e=o(e),0===e.length&&(e=o(".pull-to-refresh-content.refreshing")),e.removeClass("refreshing").addClass("transitioning"),e.transitionEnd(function(){e.removeClass("transitioning pull-up pull-down"),e.trigger("refreshdone")})},i.pullToRefreshTrigger=function(e){e=o(e),0===e.length&&(e=o(".pull-to-refresh-content")),e.hasClass("refreshing")||(e.addClass("transitioning refreshing"),e.trigger("refresh",{done:function(){i.pullToRefreshDone(e)}}))},i.destroyPullToRefresh=function(e){e=o(e);var a=e.hasClass("pull-to-refresh-content")?e:e.find(".pull-to-refresh-content");0!==a.length&&a[0].f7DestroyPullToRefresh&&a[0].f7DestroyPullToRefresh()},i.attachInfiniteScroll=function(e){o(e).on("scroll",n)},i.detachInfiniteScroll=function(e){o(e).off("scroll",n)},i.initPageInfiniteScroll=function(e){function a(){i.detachInfiniteScroll(t),e.off("pageBeforeRemove",a)}e=o(e);var t=e.find(".infinite-scroll");0!==t.length&&(i.attachInfiniteScroll(t),e.on("pageBeforeRemove",a))},i.initPageScrollToolbars=function(e){function a(a){e.hasClass("page-on-left")||(m=t[0].scrollTop,v=t[0].scrollHeight,b=t[0].offsetHeight,w=m+b>=v-S,y=d.hasClass("navbar-hidden"),x=c.hasClass("toolbar-hidden"),T=p&&p.hasClass("toolbar-hidden"),w?i.params.showBarsOnPageScrollEnd&&(C="show"):C=u>m?i.params.showBarsOnPageScrollTop||m<=44?"show":"hide":m>44?"hide":"show","show"===C?(f&&n&&y&&(i.showNavbar(d),e.removeClass("no-navbar-by-scroll"),y=!1),h&&r&&x&&(i.showToolbar(c),e.removeClass("no-toolbar-by-scroll"),x=!1),g&&s&&T&&(i.showToolbar(p),e.removeClass("no-tabbar-by-scroll"),T=!1)):(f&&n&&!y&&(i.hideNavbar(d),e.addClass("no-navbar-by-scroll"),y=!0),h&&r&&!x&&(i.hideToolbar(c),e.addClass("no-toolbar-by-scroll"),x=!0),g&&s&&!T&&(i.hideToolbar(p),e.addClass("no-tabbar-by-scroll"),T=!0)),u=m)}e=o(e);var t=e.find(".page-content");if(0!==t.length){var n=(i.params.hideNavbarOnPageScroll||t.hasClass("hide-navbar-on-scroll")||t.hasClass("hide-bars-on-scroll"))&&!(t.hasClass("keep-navbar-on-scroll")||t.hasClass("keep-bars-on-scroll")),r=(i.params.hideToolbarOnPageScroll||t.hasClass("hide-toolbar-on-scroll")||t.hasClass("hide-bars-on-scroll"))&&!(t.hasClass("keep-toolbar-on-scroll")||t.hasClass("keep-bars-on-scroll")),s=(i.params.hideTabbarOnPageScroll||t.hasClass("hide-tabbar-on-scroll"))&&!t.hasClass("keep-tabbar-on-scroll");if(n||r||s){var l=t.parents("."+i.params.viewClass);if(0!==l.length){var p,d=l.find(".navbar"),c=l.find(".toolbar");s&&(p=l.find(".tabbar"),0===p.length&&(p=l.parents("."+i.params.viewsClass).find(".tabbar")));var u,m,f=d.length>0,h=c.length>0,g=p&&p.length>0;u=m=t[0].scrollTop;var v,b,w,C,y,x,T,k=h&&r?c[0].offsetHeight:0,P=g&&s?p[0].offsetHeight:0,S=P||k;t.on("scroll",a),t[0].f7ScrollToolbarsHandler=a}}}},i.destroyScrollToolbars=function(e){e=o(e);var a=e.find(".page-content");if(0!==a.length){var t=a[0].f7ScrollToolbarsHandler;t&&a.off("scroll",a[0].f7ScrollToolbarsHandler)}},i.materialTabbarSetHighlight=function(e,a){e=o(e),a=a||e.find(".tab-link.active");var t,n;e.hasClass("tabbar-scrollable")?(t=a[0].offsetWidth+"px",n=(i.rtl?-a[0].offsetLeft:a[0].offsetLeft)+"px"):(t=1/e.find(".tab-link").length*100+"%",n=100*(i.rtl?-a.index():a.index())+"%"),e.find(".tab-link-highlight").css({width:t}).transform("translate3d("+n+",0,0)")},i.initPageMaterialTabbar=function(e){function a(){i.materialTabbarSetHighlight(t)}e=o(e);var t=o(e).find(".tabbar");t.length>0&&(0===t.find(".tab-link-highlight").length&&t.find(".toolbar-inner").append(''),a(),o(window).on("resize",a),e.once("pageBeforeRemove",function(){o(window).off("resize",a)}))},i.showTab=function(e,a,t){var n=o(e);if(2===arguments.length&&"boolean"==typeof a&&(t=a),0===n.length)return!1;if(n.hasClass("active"))return t&&n.trigger("show"),!1;var r=n.parent(".tabs");if(0===r.length)return!1;i.allowSwipeout=!0;var s=r.parent().hasClass("tabs-animated-wrap");if(s){var l=100*(i.rtl?n.index():-n.index());r.transform("translate3d("+l+"%,0,0)")}var p,d=r.parent().hasClass("tabs-swipeable-wrap");d&&(p=r.parent()[0].swiper,p.activeIndex!==n.index()&&p.slideTo(n.index(),void 0,!1));var c=r.children(".tab.active").removeClass("active").trigger("hide");if(n.addClass("active"),n.trigger("show"),!s&&!d&&n.find(".navbar").length>0){var u;u=n.hasClass(i.params.viewClass)?n[0]:n.parents("."+i.params.viewClass)[0],i.sizeNavbars(u)}if(a?a=o(a):(a=o("string"==typeof e?'.tab-link[href="'+e+'"]':'.tab-link[href="#'+n.attr("id")+'"]'),(!a||a&&0===a.length)&&o("[data-tab]").each(function(){n.is(o(this).attr("data-tab"))&&(a=o(this))})),0!==a.length){var m;if(c&&c.length>0){var f=c.attr("id");f&&(m=o('.tab-link[href="#'+f+'"]')),(!m||m&&0===m.length)&&o("[data-tab]").each(function(){c.is(o(this).attr("data-tab"))&&(m=o(this))})}if(a&&a.length>0&&(a.addClass("active"),i.params.material)){var h=a.parents(".tabbar");h.length>0&&(0===h.find(".tab-link-highlight").length&&h.find(".toolbar-inner").append(''),i.materialTabbarSetHighlight(h,a))}return m&&m.length>0&&m.removeClass("active"),!0}},i.accordionToggle=function(e){e=o(e),0!==e.length&&(e.hasClass("accordion-item-expanded")?i.accordionClose(e):i.accordionOpen(e))},i.accordionOpen=function(e){e=o(e);var a=e.parents(".accordion-list").eq(0),t=e.children(".accordion-item-content");0===t.length&&(t=e.find(".accordion-item-content"));var n=a.length>0&&e.parent().children(".accordion-item-expanded");n.length>0&&i.accordionClose(n),t.css("height",t[0].scrollHeight+"px").transitionEnd(function(){if(e.hasClass("accordion-item-expanded")){t.transition(0),t.css("height","auto");t[0].clientLeft;t.transition(""),e.trigger("opened")}else t.css("height",""),e.trigger("closed")}),e.trigger("open"),e.addClass("accordion-item-expanded")},i.accordionClose=function(e){e=o(e);var a=e.children(".accordion-item-content");0===a.length&&(a=e.find(".accordion-item-content")),e.removeClass("accordion-item-expanded"),a.transition(0),a.css("height",a[0].scrollHeight+"px");a[0].clientLeft;a.transition(""),a.css("height","").transitionEnd(function(){if(e.hasClass("accordion-item-expanded")){a.transition(0),a.css("height","auto");a[0].clientLeft;a.transition(""),e.trigger("opened")}else a.css("height",""),e.trigger("closed")}),e.trigger("close")},i.initFastClicks=function(){function e(e){var a,t=o(e),n=t.parents(i.params.activeStateElements);return t.is(i.params.activeStateElements)&&(a=t),n.length>0&&(a=a?a.add(n):n),a?a:t}function a(e){var a=e.parents(".page-content, .panel");return 0!==a.length&&("yes"!==a.prop("scrollHandlerSet")&&(a.on("scroll",function(){clearTimeout(R),clearTimeout(G)}),a.prop("scrollHandlerSet","yes")),!0)}function t(){A&&A.addClass("active-state")}function n(e){A&&(A.removeClass("active-state"),A=null)}function r(e){var a="input select textarea label".split(" ");return!!(e.nodeName&&a.indexOf(e.nodeName.toLowerCase())>=0)}function s(e){var a="button input textarea select".split(" ");return!(!document.activeElement||e===document.activeElement||document.activeElement===document.body)&&!(a.indexOf(e.nodeName.toLowerCase())>=0)}function l(e){var a=o(e);return("input"!==e.nodeName.toLowerCase()||"file"!==e.type)&&(("select"!==e.nodeName.toLowerCase()||!i.device.android)&&(!(a.hasClass("no-fastclick")||a.parents(".no-fastclick").length>0)&&(!i.params.fastClicksExclude||!a.is(i.params.fastClicksExclude))))}function p(e){if(document.activeElement===e)return!1;var a=e.nodeName.toLowerCase(),t="button checkbox file image radio submit".split(" ");return!e.disabled&&!e.readOnly&&("textarea"===a||("select"===a?!i.device.android:"input"===a&&t.indexOf(e.type)<0||void 0))}function d(e){e=o(e);var a=!0;return(e.is("label")||e.parents("label").length>0)&&(a=!i.device.android&&!(!i.device.ios||!e.is("input"))),a}function c(a){e(a.target).addClass("active-state"),"which"in a&&3===a.which&&setTimeout(function(){o(".active-state").removeClass("active-state")},0),i.params.material&&i.params.materialRipple&&(S=a.pageX,M=a.pageY,v(a.target,a.pageX,a.pageY))}function u(e){o(".active-state").removeClass("active-state"),i.params.material&&i.params.materialRipple&&b()}function m(e){o(".active-state").removeClass("active-state"),i.params.material&&i.params.materialRipple&&w()}function f(e){var a=i.params.materialRippleElements,t=o(e);if(t.is(a))return!t.hasClass("no-ripple")&&t;if(t.parents(a).length>0){var n=t.parents(a).eq(0);return!n.hasClass("no-ripple")&&n}return!1}function h(e,a,t){var n=t[0].getBoundingClientRect(),r={x:e-n.left,y:a-n.top},i=n.height,s=n.width,l=Math.max(Math.pow(Math.pow(i,2)+Math.pow(s,2),.5),48);q=o('
                              '),t.prepend(q);q[0].clientLeft;X="translate3d("+(-r.x+s/2)+"px, "+(-r.y+i/2)+"px, 0) scale(1)",q.transform(X)}function g(){if(q){var e=q,a=setTimeout(function(){e.remove()},400);q.addClass("ripple-wave-fill").transform(X.replace("scale(1)","scale(1.01)")).transitionEnd(function(){clearTimeout(a);var e=o(this).addClass("ripple-wave-out").transform(X.replace("scale(1)","scale(1.01)"));a=setTimeout(function(){e.remove()},700),setTimeout(function(){e.transitionEnd(function(){clearTimeout(a),o(this).remove()})},0)}),q=F=void 0}}function v(e,t,n){return F=f(e),F&&0!==F.length?void(a(F)?G=setTimeout(function(){h(S,M,F)},80):h(S,M,F)):void(F=void 0)}function b(){clearTimeout(G),g()}function w(){q?g():F&&!B?(clearTimeout(G),h(S,M,F),setTimeout(g,0)):g()}function C(e){var a=e.changedTouches[0],t=document.createEvent("MouseEvents"),n="click";i.device.android&&"select"===E.nodeName.toLowerCase()&&(n="mousedown"),t.initMouseEvent(n,!0,!0,window,1,a.screenX,a.screenY,a.clientX,a.clientY,!1,!1,!1,!1,0,null),t.forwardedTouchEvent=!0,E.dispatchEvent(t)}function y(r){if(B=!1,N=!1,r.targetTouches.length>1)return A&&n(),!0;if(r.touches.length>1&&A&&n(),i.params.tapHold&&(H&&clearTimeout(H),H=setTimeout(function(){r&&r.touches&&r.touches.length>1||(N=!0,r.preventDefault(),o(r.target).trigger("taphold"))},i.params.tapHoldDelay)),Y&&clearTimeout(Y),V=l(r.target),!V)return O=!1,!0;if(i.device.ios||i.device.android&&"getSelection"in window){var p=window.getSelection();if(p.rangeCount&&p.focusNode!==document.body&&(!p.isCollapsed||document.activeElement===p.focusNode))return D=!0,!0;D=!1}i.device.android&&s(r.target)&&document.activeElement.blur(),O=!0,E=r.target,I=(new Date).getTime(),S=r.targetTouches[0].pageX,M=r.targetTouches[0].pageY,i.device.ios&&(z=void 0,o(E).parents().each(function(){var e=this;e.scrollHeight>e.offsetHeight&&!z&&(z=e,z.f7ScrollTop=z.scrollTop)})),r.timeStamp-Lt||Math.abs(s-M)>t)&&(a=!0)}else a=!0;a&&(O=!1,E=null,B=!0,i.params.tapHold&&clearTimeout(H),i.params.activeState&&(clearTimeout(R),n()),i.params.material&&i.params.materialRipple&&b())}}function T(e){if(clearTimeout(R),clearTimeout(H),!O)return!D&&V&&(i.device.android&&!e.cancelable||e.preventDefault()),!0;if(document.activeElement===e.target)return i.params.activeState&&n(),i.params.material&&i.params.materialRipple&&w(),!0;if(D||e.preventDefault(),e.timeStamp-L159?(E=null,!1):(E.focus(),!1);E.focus()}return document.activeElement&&E!==document.activeElement&&document.activeElement!==document.body&&"label"!==E.nodeName.toLowerCase()&&document.activeElement.blur(),e.preventDefault(),C(e),!1}function k(e){O=!1,E=null,clearTimeout(R),clearTimeout(H),i.params.activeState&&n(),i.params.material&&i.params.materialRipple&&w()}function P(e){var a=!1;return O?(E=null,O=!1,!0):"submit"===e.target.type&&0===e.detail||(E||r(e.target)||(a=!0),V||(a=!0),document.activeElement===E&&(a=!0),e.forwardedTouchEvent&&(a=!0),e.cancelable||(a=!0),i.params.tapHold&&i.params.tapHoldPreventClicks&&N&&(a=!1),a||(e.stopImmediatePropagation(),e.stopPropagation(),E?(d(E)||B)&&e.preventDefault():e.preventDefault(),E=null),Y=setTimeout(function(){V=!1},i.device.ios||i.device.androidChrome?100:400),i.params.tapHold&&(H=setTimeout(function(){N=!1},i.device.ios||i.device.androidChrome?100:400)),a)}i.params.activeState&&o("html").addClass("watch-active-state"),i.device.ios&&i.device.webView&&window.addEventListener("touchstart",function(){});var S,M,I,E,O,D,z,L,B,N,H,A,R,V,Y,q,F,X,G;i.support.touch?(document.addEventListener("click",P,!0),document.addEventListener("touchstart",y),document.addEventListener("touchmove",x),document.addEventListener("touchend",T),document.addEventListener("touchcancel",k)):i.params.activeState&&(document.addEventListener("mousedown",c),document.addEventListener("mousemove",u),document.addEventListener("mouseup",m)),i.params.material&&i.params.materialRipple&&document.addEventListener("contextmenu",function(e){A&&n(),w()})},i.initClickEvents=function(){function e(e){var a=o(this),t=o(e.target),n="a"===a[0].nodeName.toLowerCase()||a.parents("a").length>0||"a"===t[0].nodeName.toLowerCase()||t.parents("a").length>0;if(!n){var r;if(i.params.scrollTopOnNavbarClick&&a.is(".navbar .center")){var s=a.parents(".navbar");r=s.parents(".page-content"),0===r.length&&(s.parents(".page").length>0&&(r=s.parents(".page").find(".page-content")),0===r.length&&s.nextAll(".pages").length>0&&(r=s.nextAll(".pages").find(".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content")))}i.params.scrollTopOnStatusbarClick&&a.is(".statusbar-overlay")&&(r=o(".popup.modal-in").length>0?o(".popup.modal-in").find(".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content"):o(".panel.active").length>0?o(".panel.active").find(".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content"):o(".views > .view.active").length>0?o(".views > .view.active").find(".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content"):o(".views").find(".page:not(.page-on-left):not(.page-on-right):not(.cached)").find(".page-content")),r&&r.length>0&&(r.hasClass("tab")&&(r=r.parent(".tabs").children(".page-content.active")),r.length>0&&r.scrollTop(0,300))}}function a(e){var a=o(this),t=a.attr("href"),n="a"===a[0].nodeName.toLowerCase();if(n&&(a.is(i.params.externalLinks)||t&&t.indexOf("javascript:")>=0))return void(t&&"_system"===a.attr("target")&&(e.preventDefault(),window.open(t,"_system")));var r=a.dataset();if(a.hasClass("smart-select")&&i.smartSelectOpen&&i.smartSelectOpen(a),a.hasClass("open-panel")&&(1===o(".panel").length?o(".panel").hasClass("panel-left")?i.openPanel("left"):i.openPanel("right"):"right"===r.panel?i.openPanel("right"):i.openPanel("left")),a.hasClass("close-panel")&&i.closePanel(),a.hasClass("panel-overlay")&&i.params.panelsCloseByOutside&&i.closePanel(),a.hasClass("open-popover")){var s;s=r.popover?r.popover:".popover",i.popover(s,a)}a.hasClass("close-popover")&&i.closeModal(".popover.modal-in");var d;a.hasClass("open-popup")&&(d=r.popup?r.popup:".popup",i.popup(d)),a.hasClass("close-popup")&&(d=r.popup?r.popup:".popup.modal-in",i.closeModal(d));var c;if(a.hasClass("open-login-screen")&&(c=r.loginScreen?r.loginScreen:".login-screen",i.loginScreen(c)),a.hasClass("close-login-screen")&&i.closeModal(".login-screen.modal-in"),a.hasClass("modal-overlay")&&(o(".modal.modal-in").length>0&&i.params.modalCloseByOutside&&i.closeModal(".modal.modal-in"),o(".actions-modal.modal-in").length>0&&i.params.actionsCloseByOutside&&i.closeModal(".actions-modal.modal-in"),o(".popover.modal-in").length>0&&i.closeModal(".popover.modal-in")),a.hasClass("popup-overlay")&&o(".popup.modal-in").length>0&&i.params.popupCloseByOutside&&i.closeModal(".popup.modal-in"),a.hasClass("picker-modal-overlay")&&o(".picker-modal.modal-in").length>0&&i.closeModal(".picker-modal.modal-in"),a.hasClass("close-picker")){var u=o(".picker-modal.modal-in");u.length>0?i.closeModal(u):(u=o(".popover.modal-in .picker-modal"),u.length>0&&i.closeModal(u.parents(".popover")))}if(a.hasClass("open-picker")){var m;m=r.picker?r.picker:".picker-modal",i.pickerModal(m,a)}var f;if(a.hasClass("tab-link")&&(f=!0,i.showTab(r.tab||a.attr("href"),a)),a.hasClass("swipeout-close")&&i.swipeoutClose(a.parents(".swipeout-opened")),a.hasClass("swipeout-delete"))if(r.confirm){var h=r.confirm,g=r.confirmTitle;g?i.confirm(h,g,function(){i.swipeoutDelete(a.parents(".swipeout"))},function(){r.closeOnCancel&&i.swipeoutClose(a.parents(".swipeout"))}):i.confirm(h,function(){i.swipeoutDelete(a.parents(".swipeout"))},function(){r.closeOnCancel&&i.swipeoutClose(a.parents(".swipeout"))})}else i.swipeoutDelete(a.parents(".swipeout"));if(a.hasClass("toggle-sortable")&&i.sortableToggle(r.sortable),a.hasClass("open-sortable")&&i.sortableOpen(r.sortable),a.hasClass("close-sortable")&&i.sortableClose(r.sortable),a.hasClass("accordion-item-toggle")||a.hasClass("item-link")&&a.parent().hasClass("accordion-item")){var v=a.parent(".accordion-item");0===v.length&&(v=a.parents(".accordion-item")),0===v.length&&(v=a.parents("li")),i.accordionToggle(v)}if(a.hasClass("floating-button")&&a.parent().hasClass("speed-dial")&&a.parent().toggleClass("speed-dial-opened"),a.hasClass("close-speed-dial")&&o(".speed-dial-opened").removeClass("speed-dial-opened"),(!i.params.ajaxLinks||a.is(i.params.ajaxLinks))&&n&&i.params.router){n&&e.preventDefault();var b=t&&t.length>0&&"#"!==t&&!f,w=r.template;if(b||a.hasClass("back")||w){var C;if(r.view?C=o(r.view)[0].f7View:(C=a.parents("."+i.params.viewClass)[0]&&a.parents("."+i.params.viewClass)[0].f7View,C&&C.params.linksView&&("string"==typeof C.params.linksView?C=o(C.params.linksView)[0].f7View:C.params.linksView instanceof p&&(C=C.params.linksView))),C||i.mainView&&(C=i.mainView),!C)return;var y;if(w)t=void 0;else{if(t&&0===t.indexOf("#")&&"#"!==t){if(!C.params.domCache)return;y=t.split("#")[1]}if("#"===t&&!a.hasClass("back"))return}var x;"undefined"!=typeof r.animatePages?x=r.animatePages:(a.hasClass("with-animation")&&(x=!0),a.hasClass("no-animation")&&(x=!1));var T={animatePages:x,ignoreCache:r.ignoreCache,force:r.force,reload:r.reload,reloadPrevious:r.reloadPrevious,pageName:y,pushState:r.pushState,url:t};if(i.params.template7Pages){T.contextName=r.contextName;var k=r.context;k&&(T.context=JSON.parse(k))}w&&w in l.templates&&(T.template=l.templates[w]),a.hasClass("back")?C.router.back(T):C.router.load(T)}}}function t(e){e.preventDefault()}o(document).on("click","a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .swipeout-close, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle, .close-picker, .picker-modal-overlay",a), -(i.params.scrollTopOnNavbarClick||i.params.scrollTopOnStatusbarClick)&&o(document).on("click",".statusbar-overlay, .navbar .center",e),i.support.touch&&!i.device.android&&o(document).on(i.params.fastClicks?"touchstart":"touchmove",".panel-overlay, .modal-overlay, .preloader-indicator-overlay, .popup-overlay, .searchbar-overlay",t)},i.initResize=function(){o(window).on("resize",i.resize),o(window).on("orientationchange",i.orientationchange)},i.resize=function(){i.sizeNavbars&&i.sizeNavbars(),r()},i.orientationchange=function(){i.device&&i.device.minimalUi&&(90!==window.orientation&&window.orientation!==-90||(document.body.scrollTop=0)),r()},i.formsData={},i.formStoreData=function(e,a){i.formsData[e]=a,i.ls["f7form-"+e]=JSON.stringify(a)},i.formDeleteData=function(e){i.formsData[e]&&(i.formsData[e]="",delete i.formsData[e]),i.ls["f7form-"+e]&&(i.ls["f7form-"+e]="",i.ls.removeItem("f7form-"+e))},i.formGetData=function(e){return i.ls["f7form-"+e]?JSON.parse(i.ls["f7form-"+e]):i.formsData[e]?i.formsData[e]:void 0},i.formToData=function(e){if(e=o(e),1!==e.length)return!1;var a={},t=["submit","image","button","file"],n=[];return e.find("input, select, textarea").each(function(){var r=o(this),i=r.attr("name"),s=r.attr("type"),l=this.nodeName.toLowerCase();if(!(t.indexOf(s)>=0)&&!(n.indexOf(i)>=0)&&i)if("select"===l&&r.prop("multiple"))n.push(i),a[i]=[],e.find('select[name="'+i+'"] option').each(function(){this.selected&&a[i].push(this.value)});else switch(s){case"checkbox":n.push(i),a[i]=[],e.find('input[name="'+i+'"]').each(function(){this.checked&&a[i].push(this.value)});break;case"radio":n.push(i),e.find('input[name="'+i+'"]').each(function(){this.checked&&(a[i]=this.value)});break;default:a[i]=r.val()}}),e.trigger("formToJSON formToData",{formData:a}),a},i.formToJSON=i.formToData,i.formFromData=function(e,a){if(e=o(e),1!==e.length)return!1;var t=["submit","image","button","file"],n=[];e.find("input, select, textarea").each(function(){var r=o(this),i=r.attr("name"),s=r.attr("type"),l=this.nodeName.toLowerCase();if(a[i]&&!(t.indexOf(s)>=0)&&!(n.indexOf(i)>=0)&&i){if("select"===l&&r.prop("multiple"))n.push(i),e.find('select[name="'+i+'"] option').each(function(){a[i].indexOf(this.value)>=0?this.selected=!0:this.selected=!1});else switch(s){case"checkbox":n.push(i),e.find('input[name="'+i+'"]').each(function(){a[i].indexOf(this.value)>=0?this.checked=!0:this.checked=!1});break;case"radio":n.push(i),e.find('input[name="'+i+'"]').each(function(){a[i]===this.value?this.checked=!0:this.checked=!1});break;default:r.val(a[i])}"select"===l&&r.parents(".smart-select").length>0&&r.trigger("change")}}),e.trigger("formFromJSON formFromData",{formData:a})},i.formFromJSON=i.formFromData,i.initFormsStorage=function(e){function a(){var e=o(this),a=e[0].id;if(a){var t=i.formToData(e);t&&(i.formStoreData(a,t),e.trigger("store",{data:t}))}}function t(){n.off("change submit",a),e.off("pageBeforeRemove",t)}e=o(e);var n=e.find("form.store-data");0!==n.length&&(n.each(function(){var e=this.getAttribute("id");if(e){var a=i.formGetData(e);a&&i.formFromData(this,a)}}),n.on("change submit",a),e.on("pageBeforeRemove",t))},o(document).on("submit change","form.ajax-submit, form.ajax-submit-onchange",function(e){var a=o(this);if("change"!==e.type||a.hasClass("ajax-submit-onchange")){"submit"===e.type&&e.preventDefault();var t=(a.attr("method")||"GET").toUpperCase(),n=a.prop("enctype")||a.attr("enctype"),r=a.attr("action");if(r){var s;s="POST"===t?new FormData(a[0]):o.serializeObject(i.formToJSON(a[0]));var l=o.ajax({method:t,url:r,contentType:n,data:s,beforeSend:function(e){a.trigger("beforeSubmit",{data:s,xhr:e})},error:function(e){a.trigger("submitError",{data:s,xhr:e})},success:function(e){a.trigger("submitted",{data:e,xhr:l})}})}}}),i.resizeTextarea=function(e){if(e=o(e),e.hasClass("resizable")){e.css({height:""});var a=e[0].offsetHeight,t=a-e[0].clientHeight,n=e[0].scrollHeight;if(n+t>a){var r=n+t;e.css("height",r+"px")}}},i.resizableTextarea=function(e){function a(){clearTimeout(t),t=setTimeout(function(){i.resizeTextarea(e)},0)}if(e=o(e),0!==e.length){var t;return e[0].f7DestroyResizableTextarea=function(){e.off("change keydown keypress keyup paste cut",a)},e.on("change keydown keypress keyup paste cut",a)}},i.destroyResizableTextarea=function(e){e=o(e),e.length>0&&e.is("textarea")&&e[0].f7DestroyResizableTextarea?e[0].f7DestroyResizableTextarea():e.length>0&&e.find("textarea.resiable").each(function(){var e=this;e.f7DestroyResizableTextarea&&e.f7DestroyResizableTextarea()})},i.initPageResizableTextarea=function(e){e=o(e);var a=e.find("textarea.resizable");a.each(function(){i.resizableTextarea(this)})},i.initPageMaterialInputs=function(e){e=o(e);e.find("textarea.resizable");e.find(".item-input").each(function(){var e=o(this),a=["checkbox","button","submit","range","radio","image"];e.find("input, select, textarea").each(function(){var t=o(this);a.indexOf(t.attr("type"))<0&&(e.addClass("item-input-field"),""!==t.val().trim()&&t.parents(".item-input, .input-field").add(t.parents(".item-inner")).addClass("not-empty-state"))}),e.parents(".input-item, .inputs-list").length>0||e.parents(".list-block").eq(0).addClass("inputs-list")})},i.initMaterialWatchInputs=function(){function e(e){var a=o(this),t=a.attr("type");if(!(n.indexOf(t)>=0)){var r=a.add(a.parents(".item-input, .input-field")).add(a.parents(".item-inner").eq(0));r.addClass("focus-state")}}function a(e){var a=o(this),t=a.val(),r=a.attr("type");if(!(n.indexOf(r)>=0)){var i=a.add(a.parents(".item-input, .input-field")).add(a.parents(".item-inner").eq(0));i.removeClass("focus-state"),t&&""!==t.trim()?i.addClass("not-empty-state"):i.removeClass("not-empty-state")}}function t(e){var a=o(this),t=a.val(),r=a.attr("type");if(!(n.indexOf(r)>=0)){var i=a.add(a.parents(".item-input, .input-field")).add(a.parents(".item-inner").eq(0));t&&""!==t.trim()?i.addClass("not-empty-state"):i.removeClass("not-empty-state")}}var n=["checkbox","button","submit","range","radio","image"];o(document).on("change",".item-input input, .item-input select, .item-input textarea, input, textarea, select",t,!0),o(document).on("focus",".item-input input, .item-input select, .item-input textarea, input, textarea, select",e,!0),o(document).on("blur",".item-input input, .item-input select, .item-input textarea, input, textarea, select",a,!0)},i.pushStateQueue=[],i.pushStateClearQueue=function(){if(0!==i.pushStateQueue.length){var e,a=i.pushStateQueue.pop();i.params.pushStateNoAnimation===!0&&(e=!1),"back"===a.action&&i.router.back(a.view,{animatePages:e}),"loadPage"===a.action&&i.router.load(a.view,{url:a.stateUrl,animatePages:e,pushState:!1}),"loadContent"===a.action&&i.router.load(a.view,{content:a.stateContent,animatePages:e,pushState:!1}),"loadPageName"===a.action&&i.router.load(a.view,{pageName:a.statePageName,url:a.stateUrl,animatePages:e,pushState:!1})}},i.initPushState=function(){function e(e){if(!a){var t=i.mainView;if(t){var n=e.state;if(n||(n={viewIndex:i.views.indexOf(t),url:t.history[0]}),!(n.viewIndex<0)){var r,s=i.views[n.viewIndex],o=n&&n.url||void 0,l=n&&n.content||void 0,p=n&&n.pageName||void 0;i.params.pushStateNoAnimation===!0&&(r=!1),o!==s.url&&(s.history.indexOf(o)>=0?s.allowPageChange?i.router.back(s,{url:void 0,animatePages:r,pushState:!1,preloadOnly:!1}):i.pushStateQueue.push({action:"back",view:s}):l?s.allowPageChange?i.router.load(s,{content:l,animatePages:r,pushState:!1}):i.pushStateQueue.unshift({action:"loadContent",stateContent:l,view:s}):p?s.allowPageChange?i.router.load(s,{pageName:p,url:o,animatePages:r,pushState:!1}):i.pushStateQueue.unshift({action:"loadPageName",statePageName:p,view:s}):s.allowPageChange?i.router.load(s,{url:o,animatePages:r,pushState:!1}):i.pushStateQueue.unshift({action:"loadPage",stateUrl:o,view:s}))}}}}var a=!0;o(window).on("load",function(){setTimeout(function(){a=!1},0)}),document.readyState&&"complete"===document.readyState&&(a=!1),o(window).on("popstate",e)},i.swiper=function(e,a){return new Swiper(e,a)},i.initPageSwiper=function(e){function a(a){function t(){a.destroy(),e.off("pageBeforeRemove",t)}e.on("pageBeforeRemove",t)}e=o(e);var t=e.find(".swiper-init, .tabs-swipeable-wrap");0!==t.length&&t.each(function(){var e,t,n=o(this);n.hasClass("tabs-swipeable-wrap")&&(n.addClass("swiper-container").children(".tabs").addClass("swiper-wrapper").children(".tab").addClass("swiper-slide"),e=n.children(".tabs").children(".tab.active").index()),t=n.data("swiper")?JSON.parse(n.data("swiper")):n.dataset(),"undefined"==typeof t.initialSlide&&"undefined"!=typeof e&&(t.initialSlide=e),n.hasClass("tabs-swipeable-wrap")&&(t.onSlideChangeStart=function(e){i.showTab(e.slides.eq(e.activeIndex))});var r=i.swiper(n[0],t);a(r)})},i.reinitPageSwiper=function(e){e=o(e);var a=e.find(".swiper-init, .tabs-swipeable-wrap");if(0!==a.length)for(var t=0;t',s=a.params.lazyPhotoTemplate||'
                              {{#if @root.material}}{{@root.materialPreloaderHtml}}{{/if}}
                              ',p=a.params.objectTemplate||'
                              {{js "this.html || this"}}
                              ',d=a.params.captionTemplate||'
                              {{caption}}
                              ',c=a.params.navbarTemplate||'',u=a.params.toolbarTemplate||'
                              ',m=l.compile('
                              ")(a.params);a.activeIndex=a.params.initialSlide,a.openIndex=a.activeIndex,a.opened=!1,a.open=function(e){return"undefined"==typeof e&&(e=a.activeIndex),e=parseInt(e,10),a.opened&&a.swiper?void a.swiper.slideTo(e):(a.opened=!0,a.openIndex=e,"standalone"===a.params.type&&i.root.append(m),"popup"===a.params.type&&(a.popup=i.popup('"),o(a.popup).on("closed",a.onPopupClose)),"page"===a.params.type?(o(document).on("pageBeforeInit",a.onPageBeforeInit),o(document).on("pageBeforeRemove",a.onPageBeforeRemove),a.params.view||(a.params.view=i.mainView),void a.params.view.loadContent(m)):(a.layout(a.openIndex),void(a.params.onOpen&&a.params.onOpen(a))))},a.close=function(){a.opened=!1,a.swiperContainer&&0!==a.swiperContainer.length&&(a.params.onClose&&a.params.onClose(a),a.attachEvents(!0),"standalone"===a.params.type&&a.container.removeClass("photo-browser-in").addClass("photo-browser-out").animationEnd(function(){a.container.remove()}),a.swiper.destroy(),a.swiper=a.swiperContainer=a.swiperWrapper=a.slides=void 0)},a.onPopupClose=function(e){a.close(),o(a.popup).off("pageBeforeInit",a.onPopupClose)},a.onPageBeforeInit=function(e){"photo-browser-slides"===e.detail.page.name&&a.layout(a.openIndex),o(document).off("pageBeforeInit",a.onPageBeforeInit)},a.onPageBeforeRemove=function(e){"photo-browser-slides"===e.detail.page.name&&a.close(),o(document).off("pageBeforeRemove",a.onPageBeforeRemove)},a.onSliderTransitionStart=function(e){a.activeIndex=e.activeIndex;var t=e.activeIndex+1,n=e.slides.length;if(a.params.loop&&(n-=2,t-=e.loopedSlides,t<1&&(t=n+t),t>n&&(t-=n)),a.container.find(".photo-browser-current").text(t),a.container.find(".photo-browser-total").text(n),o(".photo-browser-prev, .photo-browser-next").removeClass("photo-browser-link-inactive"),e.isBeginning&&!a.params.loop&&o(".photo-browser-prev").addClass("photo-browser-link-inactive"),e.isEnd&&!a.params.loop&&o(".photo-browser-next").addClass("photo-browser-link-inactive"),a.captions.length>0){a.captionsContainer.find(".photo-browser-caption-active").removeClass("photo-browser-caption-active");var r=a.params.loop?e.slides.eq(e.activeIndex).attr("data-swiper-slide-index"):a.activeIndex;a.captionsContainer.find('[data-caption-index="'+r+'"]').addClass("photo-browser-caption-active")}var i=e.slides.eq(e.previousIndex).find("video");i.length>0&&"pause"in i[0]&&i[0].pause(),a.params.onTransitionStart&&a.params.onTransitionStart(e)},a.onSliderTransitionEnd=function(e){a.params.onTransitionEnd&&a.params.onTransitionEnd(e)},a.layout=function(e){"page"===a.params.type?a.container=o(".photo-browser-swiper-container").parents(".view"):a.container=o(".photo-browser"),"standalone"===a.params.type&&(a.container.addClass("photo-browser-in"),i.sizeNavbars(a.container)),a.swiperContainer=a.container.find(".photo-browser-swiper-container"),a.swiperWrapper=a.container.find(".photo-browser-swiper-wrapper"),a.slides=a.container.find(".photo-browser-slide"),a.captionsContainer=a.container.find(".photo-browser-captions"),a.captions=a.container.find(".photo-browser-caption");var t={nextButton:a.params.nextButton||".photo-browser-next",prevButton:a.params.prevButton||".photo-browser-prev",indexButton:a.params.indexButton,initialSlide:e,spaceBetween:a.params.spaceBetween,speed:a.params.speed,loop:a.params.loop,lazyLoading:a.params.lazyLoading,lazyLoadingInPrevNext:a.params.lazyLoadingInPrevNext,lazyLoadingOnTransitionStart:a.params.lazyLoadingOnTransitionStart,preloadImages:!a.params.lazyLoading,zoom:a.params.zoom,zoomMax:a.params.zoomMax,zoomMin:a.params.zoomMin,onTap:function(e,t){a.params.onTap&&a.params.onTap(e,t)},onClick:function(e,t){a.params.exposition&&a.toggleExposition(),a.params.onClick&&a.params.onClick(e,t)},onDoubleTap:function(e,t){a.params.onDoubleTap&&a.params.onDoubleTap(e,t)},onTransitionStart:function(e){a.onSliderTransitionStart(e)},onTransitionEnd:function(e){a.onSliderTransitionEnd(e)},onSlideChangeStart:a.params.onSlideChangeStart,onSlideChangeEnd:a.params.onSlideChangeEnd,onLazyImageLoad:function(e,t,n){a.params.onLazyImageLoad&&a.params.onLazyImageLoad(a,t,n)},onLazyImageReady:function(e,t,n){o(t).removeClass("photo-browser-slide-lazy"),a.params.onLazyImageReady&&a.params.onLazyImageReady(a,t,n)}};a.params.swipeToClose&&"page"!==a.params.type&&(t.onTouchStart=a.swipeCloseTouchStart,t.onTouchMoveOpposite=a.swipeCloseTouchMove,t.onTouchEnd=a.swipeCloseTouchEnd),a.swiper=i.swiper(a.swiperContainer,t),0===e&&a.onSliderTransitionStart(a.swiper),a.attachEvents()},a.attachEvents=function(e){var t=e?"off":"on";a.container.find(".photo-browser-close-link")[t]("click",a.close)},a.exposed=!1,a.toggleExposition=function(){a.container&&a.container.toggleClass("photo-browser-exposed"),a.params.expositionHideCaptions&&a.captionsContainer.toggleClass("photo-browser-captions-exposed"),a.exposed=!a.exposed},a.enableExposition=function(){a.container&&a.container.addClass("photo-browser-exposed"),a.params.expositionHideCaptions&&a.captionsContainer.addClass("photo-browser-captions-exposed"),a.exposed=!0},a.disableExposition=function(){a.container&&a.container.removeClass("photo-browser-exposed"),a.params.expositionHideCaptions&&a.captionsContainer.removeClass("photo-browser-captions-exposed"),a.exposed=!1};var f,h,g,v,b,w=!1,C=!0,y=!1;return a.swipeCloseTouchStart=function(e,a){C&&(w=!0)},a.swipeCloseTouchMove=function(e,t){if(w){y||(y=!0,h="touchmove"===t.type?t.targetTouches[0].pageY:t.pageY,v=a.swiper.slides.eq(a.swiper.activeIndex),b=(new Date).getTime()),t.preventDefault(),g="touchmove"===t.type?t.targetTouches[0].pageY:t.pageY,f=h-g;var n=1-Math.abs(f)/300;v.transform("translate3d(0,"+-f+"px,0)"),a.swiper.container.css("opacity",n).transition(0)}},a.swipeCloseTouchEnd=function(e,t){if(w=!1,!y)return void(y=!1);y=!1,C=!1;var n=Math.abs(f),r=(new Date).getTime()-b;return r<300&&n>20||r>=300&&n>100?void setTimeout(function(){"standalone"===a.params.type&&a.close(),"popup"===a.params.type&&i.closeModal(a.popup),a.params.onSwipeToClose&&a.params.onSwipeToClose(a),C=!0},0):(0!==n?v.addClass("transitioning").transitionEnd(function(){C=!0,v.removeClass("transitioning")}):C=!0,a.swiper.container.css("opacity","").transition(""),void v.transform(""))},a};i.photoBrowser=function(e){return new v(e)};var b=function(e){function a(e){var a=r.input.val();r.params.source&&r.params.source(r,a,function(e){var t="",n=r.params.limit?Math.min(r.params.limit,e.length):e.length;r.items=e;var i,s=new RegExp("("+a+")","i");for(i=0;i$1")})}""===t&&""===a&&r.params.dropdownPlaceholderText&&(t+=r.dropdownPlaceholderTemplate({text:r.params.dropdownPlaceholderText})),r.dropdown.find("ul").html(t)})}function t(e){for(var a,t=o(this),n=0;n0||r.close()}var r=this,s={popupCloseText:"Close",backText:"Back",searchbarPlaceholderText:"Search...",searchbarCancelText:"Cancel",openIn:"page",backOnSelect:!1,notFoundText:"Nothing found",valueProperty:"id",textProperty:"text",updateInputValueOnSelect:!0,expandInput:!1,preloaderColor:!1,preloader:!1};e=e||{};for(var p in s)"undefined"==typeof e[p]&&(e[p]=s[p]);r.params=e,r.params.opener&&(r.opener=o(r.params.opener));var d=r.params.view;if(!r.params.view&&r.opener&&r.opener.length){if(d=r.opener.parents("."+i.params.viewClass),0===d.length)return;d=d[0].f7View}if(!r.params.input||(r.input=o(r.params.input),0!==r.input.length||"dropdown"!==r.params.openIn)){r.value=r.params.value||[],r.id=(new Date).getTime(),r.inputType=r.params.multiple?"checkbox":"radio",r.inputName=r.inputType+"-"+r.id;var c=i.params.material,u=r.params.backOnSelect;if("dropdown"!==r.params.openIn){r.itemTemplate=l.compile(r.params.itemTemplate||'
                            • ');var m=r.params.pageTitle||"";!m&&r.opener&&r.opener.length&&(m=r.opener.find(".item-title").text());var f,h,g="autocomplete-"+r.inputName,v=r.params.navbarTheme,b=r.params.formTheme,w="",C="";r.navbarTemplate=l.compile(r.params.navbarTemplate||''),f=r.navbarTemplate({pageTitle:m,backText:r.params.backText,popupCloseText:r.params.popupCloseText,openIn:r.params.openIn,navbarTheme:v,inPopup:"popup"===r.params.openIn,inPage:"page"===r.params.openIn,material:c,preloader:r.params.preloader,preloaderColor:r.params.preloaderColor}),"page"===r.params.openIn?(h="static",r.opener?(r.opener.parents(".navbar-through").length>0&&(h="through"),r.opener.parents(".navbar-fixed").length>0&&(h="fixed"),C=r.opener.parents(".page").hasClass("no-toolbar")?"no-toolbar":"",w=r.opener.parents(".page").hasClass("no-navbar")?"no-navbar":"navbar-"+h):d.container&&((o(d.container).hasClass("navbar-through")||o(d.container).find(".navbar-through").length>0)&&(h="through"),(o(d.container).hasClass("navbar-fixed")||o(d.container).find(".navbar-fixed").length>0)&&(h="fixed"),C=o(d.activePage.container).hasClass("no-toolbar")?"no-toolbar":"",w=o(d.activePage.container).hasClass("no-navbar")?"no-navbar":"navbar-"+h)):h="fixed";var y='
                              ',x=("through"===h?f:"")+'
                              '+("fixed"===h?f:"")+y+'
                              '+("static"===h?f:"")+'
                                • '+r.params.notFoundText+'
                                  '}else r.dropdownItemTemplate=l.compile(r.params.dropdownItemTemplate||'
                                • '),r.dropdownPlaceholderTemplate=l.compile(r.params.dropdownPlaceholderTemplate||'
                                • {{text}}
                                • '),r.dropdownTemplate=l.compile(r.params.dropdownTemplate||'
                                    {{#if preloader}}
                                    {{#if material}}{{materialPreloaderHtml}}{{/if}}
                                    {{/if}}
                                    ');return r.popup=void 0,r.dropdown=void 0,r.positionDropDown=function(){var e=r.input.parents(".list-block"),a=r.input.parents(".page-content"),t=(parseInt(a.css("padding-top"),10),parseInt(a.css("padding-top"),10)),n=e.length>0?e.offset().left-e.parent().offset().left:0,i=r.input.offset().left-(e.length>0?e.offset().left:0),s=r.input.offset().top-(a.offset().top-a[0].scrollTop),o=a[0].scrollHeight-t-(s+a[0].scrollTop)-r.input[0].offsetHeight;r.dropdown.css({left:(e.length>0?n:i)+"px",top:s+a[0].scrollTop+r.input[0].offsetHeight+"px",width:(e.length>0?e[0].offsetWidth:r.input[0].offsetWidth)+"px"}),r.dropdown.children(".autocomplete-dropdown-inner").css({maxHeight:o+"px",paddingLeft:e.length>0&&!r.params.expandInput?i-(c?16:15)+"px":""})},r.pageInit=function(e){function a(){var e,a="";for(e=0;e0);if(c){if("checkbox"===r.inputType&&!l.checked){for(e=0;e0&&r.params.expandInput&&r.input.parents(".item-content").addClass("item-content-dropdown-expand"),r.positionDropDown(),r.input.parents(".page-content").append(r.dropdown),r.dropdown.addClass("autocomplete-dropdown-in"),r.input.trigger("input"),o(window).on("resize",r.positionDropDown),r.params.onOpen&&r.params.onOpen(r)}else o(document).once("pageInit",".autocomplete-page",r.pageInit),"popup"===r.params.openIn?(r.popup=i.popup('"),r.popup=o(r.popup),r.popup.once("closed",function(){r.popup=void 0,r.opened=!1,r.params.onClose&&r.params.onClose(r)})):(d.router.load({content:x}),o(document).once("pageBack",".autocomplete-page",function(){r.opened=!1,r.params.onClose&&r.params.onClose(r)}))},r.close=function(e){if(r.opened){if("dropdown"===r.params.openIn){if(e&&"blur"===e.type&&r.dropdown.find("label.active-state").length>0)return;r.dropdown.removeClass("autocomplete-dropdown-in").remove(),r.input.parents(".item-content-dropdown-expand").removeClass("item-content-dropdown-expand"),r.opened=!1,o(window).off("resize",r.positionDropDown),r.params.onClose&&r.params.onClose(r)}"popup"===r.params.openIn&&r.popup&&i.closeModal(r.popup)}},r.initEvents=function(e){var t=e?"off":"on";"dropdown"!==r.params.openIn&&r.opener&&r.opener[t]("click",r.open),"dropdown"===r.params.openIn&&r.input&&(r.input[t]("focus",r.open),r.input[t]("input",a),i.device.android?o("html")[t]("click",n):r.input[t]("blur",r.close)),e&&r.dropdown&&(r.dropdown=null)},r.init=function(){r.initEvents()},r.destroy=function(){r.initEvents(!0),r=null},r.init(),r}};i.autocomplete=function(e){return new b(e)};var w=function(e){function a(){var e=!1;return p.params.convertToPopover||p.params.onlyInPopover?(!p.inline&&p.params.input&&(p.params.onlyInPopover?e=!0:i.device.ios?e=!!i.device.ipad:o(window).width()>=768&&(e=!0)),e):e}function t(){return!!(p.opened&&p.container&&p.container.length>0&&p.container.parents(".popover").length>0)}function n(){if(p.opened)for(var e=0;es){var d=t.scrollTop()+l-s;d+s>o&&(n=d+s-o+i,s===o&&(n=p.container.height()),t.css({"padding-bottom":n+"px"})),t.scrollTop(d,300)}}}function s(e){t()||(p.input&&p.input.length>0?e.target!==p.input[0]&&0===o(e.target).parents(".picker-modal").length&&p.close():0===o(e.target).parents(".picker-modal").length&&p.close())}function l(){p.opened=!1,p.input&&p.input.length>0&&(p.input.parents(".page-content").css({"padding-bottom":""}),i.params.material&&p.input.trigger("blur")), -p.params.onClose&&p.params.onClose(p),p.container.find(".picker-items-col").each(function(){p.destroyPickerCol(this)})}var p=this,d={updateValuesOnMomentum:!1,updateValuesOnTouchmove:!0,rotateEffect:!1,momentumRatio:7,freeMode:!1,closeByOutsideClick:!0,scrollToInput:!0,inputReadOnly:!0,convertToPopover:!0,onlyInPopover:!1,toolbar:!0,toolbarCloseText:"Done",toolbarTemplate:''};e=e||{};for(var c in d)"undefined"==typeof e[c]&&(e[c]=d[c]);p.params=e,p.cols=[],p.initialized=!1,p.inline=!!p.params.container;var u=i.device.ios||navigator.userAgent.toLowerCase().indexOf("safari")>=0&&navigator.userAgent.toLowerCase().indexOf("chrome")<0&&!i.device.android;return p.setValue=function(e,a){var t=0;if(0===p.cols.length)return p.value=e,void p.updateValue(e);for(var n=0;n=0||(p.value=a,p.displayValue=t,p.params.onChange&&p.params.onChange(p,p.value,p.displayValue),p.input&&p.input.length>0&&(o(p.input).val(p.params.formatValue?p.params.formatValue(p,p.value,p.displayValue):p.value.join(" ")),o(p.input).trigger("change")))},p.initPickerCol=function(e,a){function t(){w=o.requestAnimationFrame(function(){m.updateItems(void 0,void 0,0),t()})}function n(e){y||C||(e.preventDefault(),C=!0,x=T="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,k=(new Date).getTime(),z=!0,S=I=o.getTranslate(m.wrapper[0],"y"))}function r(e){if(C){e.preventDefault(),z=!1,T="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,y||(o.cancelAnimationFrame(w),y=!0,S=I=o.getTranslate(m.wrapper[0],"y"),m.wrapper.transition(0));var a=T-x;I=S+a,M=void 0,Ib&&(I=b+Math.pow(I-b,.8),M="max"),m.wrapper.transform("translate3d(0,"+I+"px,0)"),m.updateItems(void 0,I,0,p.params.updateValuesOnTouchmove),O=I-E||I,D=(new Date).getTime(),E=I}}function s(e){if(!C||!y)return void(C=y=!1);C=y=!1,m.wrapper.transition(""),M&&("min"===M?m.wrapper.transform("translate3d(0,"+v+"px,0)"):m.wrapper.transform("translate3d(0,"+b+"px,0)")),P=(new Date).getTime();var a,n;P-k>300?n=I:(a=Math.abs(O/(P-D)),n=I+O*p.params.momentumRatio),n=Math.max(Math.min(n,b),v);var r=-Math.floor((n-b)/h);p.params.freeMode||(n=-r*h+b),m.wrapper.transform("translate3d(0,"+parseInt(n,10)+"px,0)"),m.updateItems(r,n,"",!0),p.params.updateValuesOnMomentum&&(t(),m.wrapper.transitionEnd(function(){o.cancelAnimationFrame(w)})),setTimeout(function(){z=!0},100)}function l(e){if(z){o.cancelAnimationFrame(w);var a=o(this).attr("data-picker-value");m.setValue(a)}}var d=o(e),c=d.index(),m=p.cols[c];if(!m.divider){m.container=d,m.wrapper=m.container.find(".picker-items-col-wrapper"),m.items=m.wrapper.find(".picker-item");var f,h,g,v,b;m.replaceValues=function(e,a){m.destroyEvents(),m.values=e,m.displayValues=a;var t=p.columnHTML(m,!0);m.wrapper.html(t),m.items=m.wrapper.find(".picker-item"),m.calcSize(),m.setValue(m.values[0],0,!0),m.initEvents()},m.calcSize=function(){p.params.rotateEffect&&(m.container.removeClass("picker-items-col-absolute"),m.width||m.container.css({width:""}));var e,a;e=0,a=m.container[0].offsetHeight,f=m.wrapper[0].offsetHeight,h=m.items[0].offsetHeight,g=h*m.items.length,v=a/2-g+h/2,b=a/2-h/2,m.width&&(e=m.width,parseInt(e,10)===e&&(e+="px"),m.container.css({width:e})),p.params.rotateEffect&&(m.width||(m.items.each(function(){var a=o(this);a.css({width:"auto"}),e=Math.max(e,a[0].offsetWidth),a.css({width:""})}),m.container.css({width:e+2+"px"})),m.container.addClass("picker-items-col-absolute"))},m.calcSize(),m.wrapper.transform("translate3d(0,"+b+"px,0)").transition(0);var w;m.setValue=function(e,a,n){"undefined"==typeof a&&(a="");var r=m.wrapper.find('.picker-item[data-picker-value="'+e+'"]').index();if("undefined"!=typeof r&&r!==-1){var i=-r*h+b;m.wrapper.transition(a),m.wrapper.transform("translate3d(0,"+i+"px,0)"),p.params.updateValuesOnMomentum&&m.activeIndex&&m.activeIndex!==r&&(o.cancelAnimationFrame(w),m.wrapper.transitionEnd(function(){o.cancelAnimationFrame(w)}),t()),m.updateItems(r,i,a,n)}},m.updateItems=function(e,a,t,n){"undefined"==typeof a&&(a=o.getTranslate(m.wrapper[0],"y")),"undefined"==typeof e&&(e=-Math.round((a-b)/h)),e<0&&(e=0),e>=m.items.length&&(e=m.items.length-1);var r=m.activeIndex;m.activeIndex=e,m.wrapper.find(".picker-selected").removeClass("picker-selected"),m.items.transition(t);var i=m.items.eq(e).addClass("picker-selected").transform("");if(p.params.rotateEffect){(a-(Math.floor((a-b)/h)*h+b))/h;m.items.each(function(){var e=o(this),t=e.index()*h,n=b-a,r=t-n,i=r/h,s=Math.ceil(m.height/h/2)+1,l=-18*i;l>180&&(l=180),l<-180&&(l=-180),Math.abs(i)>s?e.addClass("picker-item-far"):e.removeClass("picker-item-far"),e.transform("translate3d(0, "+(-a+b)+"px, "+(u?-110:0)+"px) rotateX("+l+"deg)")})}(n||"undefined"==typeof n)&&(m.value=i.attr("data-picker-value"),m.displayValue=m.displayValues?m.displayValues[e]:m.value,r!==e&&(m.onChange&&m.onChange(p,m.value,m.displayValue),p.updateValue()))},a&&m.updateItems(0,b,0);var C,y,x,T,k,P,S,M,I,E,O,D,z=!0;m.initEvents=function(e){var a=e?"off":"on";m.container[a](i.touchEvents.start,n),m.container[a](i.touchEvents.move,r),m.container[a](i.touchEvents.end,s),m.items[a]("click",l)},m.destroyEvents=function(){m.initEvents(!0)},m.container[0].f7DestroyPickerCol=function(){m.destroyEvents()},m.initEvents()}},p.destroyPickerCol=function(e){e=o(e),"f7DestroyPickerCol"in e[0]&&e[0].f7DestroyPickerCol()},o(window).on("resize",n),p.columnHTML=function(e,a){var t="",n="";if(e.divider)n+='
                                    '+e.content+"
                                    ";else{for(var r=0;r'+(e.displayValues?e.displayValues[r]:e.values[r])+"";n+='
                                    '+t+"
                                    "}return a?t:n},p.layout=function(){var e,a="",t="";p.cols=[];var n="";for(e=0;e'+(p.params.toolbar?p.params.toolbarTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText):"")+'
                                    '+n+'
                                    ',p.pickerHTML=a},p.params.input&&(p.input=o(p.params.input),p.input.length>0&&(p.params.inputReadOnly&&p.input.prop("readOnly",!0),p.inline||p.input.on("click",r),p.params.inputReadOnly&&p.input.on("focus mousedown",function(e){e.preventDefault()}))),!p.inline&&p.params.closeByOutsideClick&&o("html").on("click",s),p.opened=!1,p.open=function(){var e=a();p.opened||(p.layout(),e?(p.pickerHTML='
                                    '+p.pickerHTML+"
                                    ",p.popover=i.popover(p.pickerHTML,p.params.input,!0),p.container=o(p.popover).find(".picker-modal"),o(p.popover).on("close",function(){l()})):p.inline?(p.container=o(p.pickerHTML),p.container.addClass("picker-modal-inline"),o(p.params.container).append(p.container)):(p.container=o(i.pickerModal(p.pickerHTML)),o(p.container).on("close",function(){l()})),p.container[0].f7Picker=p,p.container.find(".picker-items-col").each(function(){var e=!0;(!p.initialized&&p.params.value||p.initialized&&p.value)&&(e=!1),p.initPickerCol(this,e)}),p.initialized?p.value&&p.setValue(p.value,0):p.value?p.setValue(p.value,0):p.params.value&&p.setValue(p.params.value,0),p.input&&p.input.length>0&&i.params.material&&p.input.trigger("focus")),p.opened=!0,p.initialized=!0,p.params.onOpen&&p.params.onOpen(p)},p.close=function(){if(p.opened&&!p.inline)return t()?void i.closeModal(p.popover):void i.closeModal(p.container)},p.destroy=function(){p.close(),p.params.input&&p.input.length>0&&p.input.off("click focus",r),o("html").off("click",s),o(window).off("resize",n)},p.inline?p.open():!p.initialized&&p.params.value&&p.setValue(p.params.value),p};i.picker=function(e){return new w(e)};var C=function(e){function a(){var e=!1;return p.params.convertToPopover||p.params.onlyInPopover?(!p.inline&&p.params.input&&(p.params.onlyInPopover?e=!0:i.device.ios?e=!!i.device.ipad:o(window).width()>=768&&(e=!0)),e):e}function t(){return!!(p.opened&&p.container&&p.container.length>0&&p.container.parents(".popover").length>0)}function n(e){e=new Date(e);var a=e.getFullYear(),t=e.getMonth(),n=t+1,r=e.getDate(),i=e.getDay();return p.params.dateFormat.replace(/yyyy/g,a).replace(/yy/g,(a+"").substring(2)).replace(/mm/g,n<10?"0"+n:n).replace(/m(\W+)/g,n+"$1").replace(/MM/g,p.params.monthNames[t]).replace(/M(\W+)/g,p.params.monthNamesShort[t]+"$1").replace(/dd/g,r<10?"0"+r:r).replace(/d(\W+)/g,r+"$1").replace(/DD/g,p.params.dayNames[i]).replace(/D(\W+)/g,p.params.dayNamesShort[i]+"$1")}function r(e){if(e.preventDefault(),!p.opened&&(p.open(),p.params.scrollToInput&&!a()&&!i.params.material)){var t=p.input.parents(".page-content");if(0===t.length)return;var n,r=parseInt(t.css("padding-top"),10),s=parseInt(t.css("padding-bottom"),10),o=t[0].offsetHeight-r-p.container.height(),l=t[0].scrollHeight-r-p.container.height(),d=p.input.offset().top-r+p.input[0].offsetHeight;if(d>o){var c=t.scrollTop()+d-o;c+o>l&&(n=c+o-l+s,o===l&&(n=p.container.height()),t.css({"padding-bottom":n+"px"})),t.scrollTop(c,300)}}}function s(e){t()||(p.input&&p.input.length>0?e.target!==p.input[0]&&0===o(e.target).parents(".picker-modal").length&&p.close():0===o(e.target).parents(".picker-modal").length&&p.close())}function l(){p.opened=!1,p.input&&p.input.length>0&&(p.input.parents(".page-content").css({"padding-bottom":""}),i.params.material&&p.input.trigger("blur")),p.params.onClose&&p.params.onClose(p),p.destroyCalendarEvents()}var p=this,d={monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],firstDay:1,weekendDays:[0,6],multiple:!1,rangePicker:!1,dateFormat:"yyyy-mm-dd",direction:"horizontal",minDate:null,maxDate:null,disabled:null,events:null,rangesClasses:null,touchMove:!0,animate:!0,closeOnSelect:!1,monthPicker:!0,monthPickerTemplate:'
                                    ',yearPicker:!0,yearPickerTemplate:'
                                    ',weekHeader:!0,closeByOutsideClick:!0,scrollToInput:!0,inputReadOnly:!0,convertToPopover:!0,onlyInPopover:!1,toolbar:!0,toolbarCloseText:"Done",headerPlaceholder:"Select date",header:i.params.material,footer:i.params.material,toolbarTemplate:'
                                    {{monthPicker}}{{yearPicker}}
                                    ',headerTemplate:'
                                    {{placeholder}}
                                    ',footerTemplate:''};e=e||{};for(var c in d)"undefined"==typeof e[c]&&(e[c]=d[c]);p.params=e,p.initialized=!1,p.inline=!!p.params.container,p.isH="horizontal"===p.params.direction;var u=p.isH&&i.rtl?-1:1;return p.animating=!1,p.addValue=function(e){if(p.params.multiple){p.value||(p.value=[]);for(var a,t=0;t0){p.wrapper.find(".picker-calendar-day-selected").removeClass("picker-calendar-day-selected");var r;if(p.params.rangePicker&&2===p.value.length)for(a=p.value[0];a<=p.value[1];a+=864e5)r=new Date(a),p.wrapper.find('.picker-calendar-day[data-date="'+r.getFullYear()+"-"+r.getMonth()+"-"+r.getDate()+'"]').addClass("picker-calendar-day-selected");else for(a=0;a0||i.params.material&&p.params.header){if(p.params.formatValue)t=p.params.formatValue(p,p.value);else{for(t=[],a=0;a0&&p.container.find(".picker-calendar-selected-date").text(t),p.input&&p.input.length>0&&!e&&(o(p.input).val(t),o(p.input).trigger("change"))}},p.initCalendarEvents=function(){function e(e){s||r||(r=!0,l=m="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,d=m="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,f=(new Date).getTime(),C=0,T=!0,x=void 0,g=v=p.monthsTranslate)}function a(e){if(r){if(c="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,m="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,"undefined"==typeof x&&(x=!!(x||Math.abs(m-d)>Math.abs(c-l))),p.isH&&x)return void(r=!1);if(e.preventDefault(),p.animating)return void(r=!1);T=!1,s||(s=!0,b=p.wrapper[0].offsetWidth,w=p.wrapper[0].offsetHeight,p.wrapper.transition(0)),y=p.isH?c-l:m-d,C=y/(p.isH?b:w),v=100*(p.monthsTranslate*u+C),p.wrapper.transform("translate3d("+(p.isH?v:0)+"%, "+(p.isH?0:v)+"%, 0)")}}function t(e){return r&&s?(r=s=!1,h=(new Date).getTime(),h-f<300?Math.abs(y)<10?p.resetMonth():y>=10?i.rtl?p.nextMonth():p.prevMonth():i.rtl?p.prevMonth():p.nextMonth():C<=-.5?i.rtl?p.prevMonth():p.nextMonth():C>=.5?i.rtl?p.nextMonth():p.prevMonth():p.resetMonth(),void setTimeout(function(){T=!0},100)):void(r=s=!1)}function n(e){if(T){var a=o(e.target).parents(".picker-calendar-day");if(0===a.length&&o(e.target).hasClass("picker-calendar-day")&&(a=o(e.target)),0!==a.length&&(!a.hasClass("picker-calendar-day-selected")||p.params.multiple||p.params.rangePicker)&&!a.hasClass("picker-calendar-day-disabled")){p.params.rangePicker||(a.hasClass("picker-calendar-day-next")&&p.nextMonth(),a.hasClass("picker-calendar-day-prev")&&p.prevMonth());var t=a.attr("data-year"),n=a.attr("data-month"),r=a.attr("data-day");p.params.onDayClick&&p.params.onDayClick(p,a[0],t,n,r),p.addValue(new Date(t,n,r).getTime()),p.params.closeOnSelect&&(p.params.rangePicker&&2===p.value.length||!p.params.rangePicker)&&p.close()}}}var r,s,l,d,c,m,f,h,g,v,b,w,C,y,x,T=!0;p.container.find(".picker-calendar-prev-month").on("click",p.prevMonth),p.container.find(".picker-calendar-next-month").on("click",p.nextMonth),p.container.find(".picker-calendar-prev-year").on("click",p.prevYear),p.container.find(".picker-calendar-next-year").on("click",p.nextYear),p.wrapper.on("click",n);var k=!("touchstart"!==i.touchEvents.start||!i.support.passiveListener)&&{passive:!0,capture:!1};p.params.touchMove&&(p.wrapper.on(i.touchEvents.start,e,k),p.wrapper.on(i.touchEvents.move,a),p.wrapper.on(i.touchEvents.end,t,k)),p.container[0].f7DestroyCalendarEvents=function(){p.container.find(".picker-calendar-prev-month").off("click",p.prevMonth),p.container.find(".picker-calendar-next-month").off("click",p.nextMonth),p.container.find(".picker-calendar-prev-year").off("click",p.prevYear),p.container.find(".picker-calendar-next-year").off("click",p.nextYear),p.wrapper.off("click",n),p.params.touchMove&&(p.wrapper.off(i.touchEvents.start,e,k),p.wrapper.off(i.touchEvents.move,a),p.wrapper.off(i.touchEvents.end,t,k))}},p.destroyCalendarEvents=function(e){"f7DestroyCalendarEvents"in p.container[0]&&p.container[0].f7DestroyCalendarEvents()},p.dateInRange=function(e,a){var t,n=!1;if(!a)return!1;if(o.isArray(a))for(t=0;t=new Date(a[t].from).getTime()&&(n=!0):a[t].from?e>=new Date(a[t].from).getTime()&&(n=!0):a[t].to&&e<=new Date(a[t].to).getTime()&&(n=!0):e===new Date(a[t]).getTime()&&(n=!0);else a.from||a.to?a.from&&a.to?e<=new Date(a.to).getTime()&&e>=new Date(a.from).getTime()&&(n=!0):a.from?e>=new Date(a.from).getTime()&&(n=!0):a.to&&e<=new Date(a.to).getTime()&&(n=!0):"function"==typeof a&&(n=a(new Date(e)));return n},p.daysInMonth=function(e){var a=new Date(e);return new Date(a.getFullYear(),a.getMonth()+1,0).getDate()},p.monthHTML=function(e,a){e=new Date(e);var t=e.getFullYear(),n=e.getMonth();e.getDate();"next"===a&&(e=11===n?new Date(t+1,0):new Date(t,n+1,1)),"prev"===a&&(e=0===n?new Date(t-1,11):new Date(t,n-1,1)),"next"!==a&&"prev"!==a||(n=e.getMonth(),t=e.getFullYear());var r=p.daysInMonth(new Date(e.getFullYear(),e.getMonth()).getTime()-864e6),i=p.daysInMonth(e),s=new Date(e.getFullYear(),e.getMonth()).getDay();0===s&&(s=7);var o,l,d,c,u,m,f=[],h=6,g=7,v="",b=0+(p.params.firstDay-1),w=(new Date).setHours(0,0,0,0),C=p.params.minDate?new Date(p.params.minDate).getTime():null,y=p.params.maxDate?new Date(p.params.maxDate).getTime():null;if(p.value&&p.value.length)for(l=0;l6?T-1-7+p.params.firstDay:T-1+p.params.firstDay,S="";if(k<0?(k=r+k+1,S+=" picker-calendar-day-prev",o=new Date(n-1<0?t-1:t,n-1<0?11:n-1,k).getTime()):(k+=1,k>i?(k-=i,S+=" picker-calendar-day-next",o=new Date(n+1>11?t+1:t,n+1>11?0:n+1,k).getTime()):o=new Date(t,n,k).getTime()),o===w&&(S+=" picker-calendar-day-today"),p.params.rangePicker&&2===f.length?o>=f[0]&&o<=f[1]&&(S+=" picker-calendar-day-selected"):f.indexOf(o)>=0&&(S+=" picker-calendar-day-selected"),p.params.weekendDays.indexOf(P)>=0&&(S+=" picker-calendar-day-weekend"),m=!1,p.params.events&&p.dateInRange(o,p.params.events)&&(m=!0),m&&(S+=" picker-calendar-day-has-events"),p.params.rangesClasses)for(c=0;cy)&&(u=!0),p.params.disabled&&p.dateInRange(o,p.params.disabled)&&(u=!0),u&&(S+=" picker-calendar-day-disabled"),o=new Date(o);var M=o.getFullYear(),I=o.getMonth();x+='
                                    '+k+"
                                    "}v+='
                                    '+x+"
                                    "}return v='
                                    '+v+"
                                    "},p.animating=!1,p.updateCurrentMonthYear=function(e){"undefined"==typeof e?(p.currentMonth=parseInt(p.months.eq(1).attr("data-month"),10),p.currentYear=parseInt(p.months.eq(1).attr("data-year"),10)):(p.currentMonth=parseInt(p.months.eq("next"===e?p.months.length-1:0).attr("data-month"),10),p.currentYear=parseInt(p.months.eq("next"===e?p.months.length-1:0).attr("data-year"),10)),p.container.find(".current-month-value").text(p.params.monthNames[p.currentMonth]),p.container.find(".current-year-value").text(p.currentYear)},p.onMonthChangeStart=function(e){p.updateCurrentMonthYear(e),p.months.removeClass("picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next");var a="next"===e?p.months.length-1:0;p.months.eq(a).addClass("picker-calendar-month-current"),p.months.eq("next"===e?a-1:a+1).addClass("next"===e?"picker-calendar-month-prev":"picker-calendar-month-next"),p.params.onMonthYearChangeStart&&p.params.onMonthYearChangeStart(p,p.currentYear,p.currentMonth)},p.onMonthChangeEnd=function(e,a){p.animating=!1;var t,n,r;p.wrapper.find(".picker-calendar-month:not(.picker-calendar-month-prev):not(.picker-calendar-month-current):not(.picker-calendar-month-next)").remove(),"undefined"==typeof e&&(e="next",a=!0),a?(p.wrapper.find(".picker-calendar-month-next, .picker-calendar-month-prev").remove(),n=p.monthHTML(new Date(p.currentYear,p.currentMonth),"prev"),t=p.monthHTML(new Date(p.currentYear,p.currentMonth),"next")):r=p.monthHTML(new Date(p.currentYear,p.currentMonth),e),("next"===e||a)&&p.wrapper.append(r||t),("prev"===e||a)&&p.wrapper.prepend(r||n),p.months=p.wrapper.find(".picker-calendar-month"),p.setMonthsTranslate(p.monthsTranslate),p.params.onMonthAdd&&p.params.onMonthAdd(p,"next"===e?p.months.eq(p.months.length-1)[0]:p.months.eq(0)[0]),p.params.onMonthYearChangeEnd&&p.params.onMonthYearChangeEnd(p,p.currentYear,p.currentMonth)},p.setMonthsTranslate=function(e){e=e||p.monthsTranslate||0,"undefined"==typeof p.monthsTranslate&&(p.monthsTranslate=e),p.months.removeClass("picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next");var a=100*-(e+1)*u,t=100*-e*u,n=100*-(e-1)*u;p.months.eq(0).transform("translate3d("+(p.isH?a:0)+"%, "+(p.isH?0:a)+"%, 0)").addClass("picker-calendar-month-prev"),p.months.eq(1).transform("translate3d("+(p.isH?t:0)+"%, "+(p.isH?0:t)+"%, 0)").addClass("picker-calendar-month-current"),p.months.eq(2).transform("translate3d("+(p.isH?n:0)+"%, "+(p.isH?0:n)+"%, 0)").addClass("picker-calendar-month-next")},p.nextMonth=function(e){"undefined"!=typeof e&&"object"!=typeof e||(e="",p.params.animate||(e=0));var a=parseInt(p.months.eq(p.months.length-1).attr("data-month"),10),t=parseInt(p.months.eq(p.months.length-1).attr("data-year"),10),n=new Date(t,a),r=n.getTime(),i=!p.animating;if(p.params.maxDate&&r>new Date(p.params.maxDate).getTime())return p.resetMonth();if(p.monthsTranslate--,a===p.currentMonth){var s=100*-p.monthsTranslate*u,l=o(p.monthHTML(r,"next")).transform("translate3d("+(p.isH?s:0)+"%, "+(p.isH?0:s)+"%, 0)").addClass("picker-calendar-month-next");p.wrapper.append(l[0]),p.months=p.wrapper.find(".picker-calendar-month"),p.params.onMonthAdd&&p.params.onMonthAdd(p,p.months.eq(p.months.length-1)[0])}p.animating=!0,p.onMonthChangeStart("next");var d=100*p.monthsTranslate*u;p.wrapper.transition(e).transform("translate3d("+(p.isH?d:0)+"%, "+(p.isH?0:d)+"%, 0)"),i&&p.wrapper.transitionEnd(function(){p.onMonthChangeEnd("next")}),p.params.animate||p.onMonthChangeEnd("next")},p.prevMonth=function(e){"undefined"!=typeof e&&"object"!=typeof e||(e="",p.params.animate||(e=0));var a=parseInt(p.months.eq(0).attr("data-month"),10),t=parseInt(p.months.eq(0).attr("data-year"),10),n=new Date(t,a+1,(-1)),r=n.getTime(),i=!p.animating;if(p.params.minDate&&rnew Date(p.params.maxDate).getTime())return!1;if(p.params.minDate&&nr?"next":"prev",s=p.monthHTML(new Date(e,a));p.monthsTranslate=p.monthsTranslate||0;var o,l,d=p.monthsTranslate,c=!p.animating;n>r?(p.monthsTranslate--,p.animating||p.months.eq(p.months.length-1).remove(),p.wrapper.append(s),p.months=p.wrapper.find(".picker-calendar-month"),o=100*-(d-1)*u,p.months.eq(p.months.length-1).transform("translate3d("+(p.isH?o:0)+"%, "+(p.isH?0:o)+"%, 0)").addClass("picker-calendar-month-next")):(p.monthsTranslate++,p.animating||p.months.eq(0).remove(),p.wrapper.prepend(s),p.months=p.wrapper.find(".picker-calendar-month"),o=100*-(d+1)*u,p.months.eq(0).transform("translate3d("+(p.isH?o:0)+"%, "+(p.isH?0:o)+"%, 0)").addClass("picker-calendar-month-prev")),p.params.onMonthAdd&&p.params.onMonthAdd(p,"next"===i?p.months.eq(p.months.length-1)[0]:p.months.eq(0)[0]),p.animating=!0,p.onMonthChangeStart(i),l=100*p.monthsTranslate*u,p.wrapper.transition(t).transform("translate3d("+(p.isH?l:0)+"%, "+(p.isH?0:l)+"%, 0)"),c&&p.wrapper.transitionEnd(function(){p.onMonthChangeEnd(i,!0)}),p.params.animate||p.onMonthChangeEnd(i)},p.nextYear=function(){p.setYearMonth(p.currentYear+1)},p.prevYear=function(){p.setYearMonth(p.currentYear-1)},p.layout=function(){var e,a="",t="",n=p.value&&p.value.length?p.value[0]:(new Date).setHours(0,0,0,0),r=p.monthHTML(n,"prev"),i=p.monthHTML(n),s=p.monthHTML(n,"next"),o='
                                    '+(r+i+s)+"
                                    ",l="";if(p.params.weekHeader){for(e=0;e<7;e++){var d=e+p.params.firstDay>6?e-7+p.params.firstDay:e+p.params.firstDay,c=p.params.dayNamesShort[d];l+='
                                    '+c+"
                                    "}l='
                                    '+l+"
                                    "}t="picker-modal picker-calendar"+(p.params.rangePicker?" picker-calendar-range":"")+(p.params.cssClass?" "+p.params.cssClass:"");var u=p.params.toolbar?p.params.toolbarTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText):"";p.params.toolbar&&(u=p.params.toolbarTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText).replace(/{{monthPicker}}/g,p.params.monthPicker?p.params.monthPickerTemplate:"").replace(/{{yearPicker}}/g,p.params.yearPicker?p.params.yearPickerTemplate:""));var m=p.params.header?p.params.headerTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText).replace(/{{placeholder}}/g,p.params.headerPlaceholder):"",f=p.params.footer?p.params.footerTemplate.replace(/{{closeText}}/g,p.params.toolbarCloseText):"";a='
                                    '+m+f+u+'
                                    '+l+o+"
                                    ",p.pickerHTML=a},p.params.input&&(p.input=o(p.params.input),p.input.length>0&&(p.params.inputReadOnly&&p.input.prop("readOnly",!0),p.inline||p.input.on("click",r),p.params.inputReadOnly&&p.input.on("focus mousedown",function(e){e.preventDefault()}))),!p.inline&&p.params.closeByOutsideClick&&o("html").on("click",s),p.opened=!1,p.open=function(){var e=a(),t=!1;p.opened||(p.value||p.params.value&&(p.value=p.params.value,t=!0),p.layout(),e?(p.pickerHTML='
                                    '+p.pickerHTML+"
                                    ",p.popover=i.popover(p.pickerHTML,p.params.input,!0),p.container=o(p.popover).find(".picker-modal"),o(p.popover).on("close",function(){l()})):p.inline?(p.container=o(p.pickerHTML),p.container.addClass("picker-modal-inline"),o(p.params.container).append(p.container)):(p.container=o(i.pickerModal(p.pickerHTML)),o(p.container).on("close",function(){l()})),p.container[0].f7Calendar=p,p.wrapper=p.container.find(".picker-calendar-months-wrapper"),p.months=p.wrapper.find(".picker-calendar-month"),p.updateCurrentMonthYear(),p.monthsTranslate=0,p.setMonthsTranslate(),p.initCalendarEvents(),t?p.updateValue():i.params.material&&p.value&&p.updateValue(!0),p.input&&p.input.length>0&&i.params.material&&p.input.trigger("focus")),p.opened=!0,p.initialized=!0,p.params.onMonthAdd&&p.months.each(function(){p.params.onMonthAdd(p,this)}),p.params.onOpen&&p.params.onOpen(p)},p.close=function(){if(p.opened&&!p.inline)return t()?void i.closeModal(p.popover):void i.closeModal(p.container)},p.destroy=function(){p.close(),p.params.input&&p.input.length>0&&p.input.off("click focus",r),o("html").off("click",s)},p.inline?p.open():!p.initialized&&p.params.value&&p.setValue(p.params.value),p};i.calendar=function(e){return new C(e)};var y;i.addNotification=function(e){if(e){"undefined"==typeof e.media&&(e.media=i.params.notificationMedia),"undefined"==typeof e.title&&(e.title=i.params.notificationTitle),"undefined"==typeof e.subtitle&&(e.subtitle=i.params.notificationSubtitle),"undefined"==typeof e.closeIcon&&(e.closeIcon=i.params.notificationCloseIcon),"undefined"==typeof e.hold&&(e.hold=i.params.notificationHold),"undefined"==typeof e.closeOnClick&&(e.closeOnClick=i.params.notificationCloseOnClick),"undefined"==typeof e.button&&(e.button=i.params.notificationCloseButtonText&&{text:i.params.notificationCloseButtonText,close:!0}),y||(y=document.createElement("div")),e.material=i.params.material;var a=o(".notifications");0===a.length&&(i.root.append('
                                      '),a=o(".notifications"));var t=a.children("ul"),n=i.params.notificationTemplate||'{{#if custom}}
                                    • {{custom}}
                                    • {{else}}
                                    • {{#if material}}
                                      {{js "this.message || this.title || this.subtitle"}}
                                      {{#if ../button}}{{#button}}{{/button}}{{/if}}
                                      {{else}}{{#if media}}
                                      {{media}}
                                      {{/if}}
                                      {{#if title}}
                                      {{title}}
                                      {{/if}}{{#if closeIcon}}
                                      {{/if}}
                                      {{#if subtitle}}
                                      {{subtitle}}
                                      {{/if}}{{#if message}}
                                      {{message}}
                                      {{/if}}{{/if}}
                                    • {{/if}}';i._compiledTemplates.notification||(i._compiledTemplates.notification=l.compile(n)),y.innerHTML=i._compiledTemplates.notification(e);var r=o(y).children();r.on("click",function(a){var t=!1,n=o(a.target);e.material&&n.hasClass("button")&&e.button&&e.button.onClick&&e.button.onClick.call(n[0],a,r[0]),n.is(".close-notification")||o(a.target).parents(".close-notification").length>0?t=!0:(e.onClick&&e.onClick(a,r[0]),e.closeOnClick&&(t=!0)),t&&i.closeNotification(r[0])}),e.onClose&&r.data("f7NotificationOnClose",function(){e.onClose(r[0])}),e.additionalClass&&r.addClass(e.additionalClass),e.hold&&setTimeout(function(){r.length>0&&i.closeNotification(r[0])},e.hold),i.params.material||i.closeNotification(t.children("li.notification-item:last-child")),t.append(r[0]),a.show();var s,p=r.outerHeight();return e.material?(a.transform("translate3d(0, "+p+"px, 0)"),a.transition(0),s=r[0].clientLeft,a.transform("translate3d(0, 0, 0)"),a.transition("")):(r.transform("translate3d(0,"+-p+"px,0)"),r.transition(0),s=r[0].clientLeft,r.transition(""),r.transform("translate3d(0,0px,0)")),a.transform("translate3d(0, 0,0)"),r.removeClass("notification-hidden"),r[0]}},i.closeNotification=function(e){ -if(e=o(e),0!==e.length&&!e.hasClass("notification-item-removing")){var a=o(".notifications"),t=e.outerHeight();e.css("height",t+"px").transition(0).addClass("notification-item-removing");e[0].clientLeft;e.css({height:"0px",marginBottom:"0px"}).transition(""),e.data("f7NotificationOnClose")&&e.data("f7NotificationOnClose")(),0===a.find(".notification-item:not(.notification-item-removing)").length&&a.transform(""),e.addClass("notification-hidden").transitionEnd(function(){e.remove(),0===a.find(".notification-item").length&&a.hide()})}},i.initTemplate7Templates=function(){window.Template7&&(Template7.templates=Template7.templates||i.params.templates||{},Template7.data=Template7.data||i.params.template7Data||{},Template7.cache=Template7.cache||{},i.templates=Template7.templates,i.template7Data=Template7.data,i.template7Cache=Template7.cache,i.params.precompileTemplates&&o('script[type="text/template7"]').each(function(){var e=o(this).attr("id");e&&(Template7.templates[e]=Template7.compile(o(this).html()))}))};var x=[];return i.initPlugins=function(){for(var e in i.plugins){var a=i.plugins[e](i,i.params[e]);a&&x.push(a)}},i.pluginHook=function(e){for(var a=0;a=0&&o.indexOf(">")>=0){var l="div";for(0===o.indexOf(":~]/)?(t||document).querySelectorAll(a):[document.getElementById(a.split("#")[1])],r=0;r0&&a[0].nodeType)for(r=0;r=0&&(t[a.toCamelCase(i.name.split("data-")[1])]=i.value)}for(var s in t)"false"===t[s]?t[s]=!1:"true"===t[s]?t[s]=!0:parseFloat(t[s])===1*t[s]&&(t[s]=1*t[s]);return t}},val:function(e){if("undefined"==typeof e)return this[0]?this[0].value:void 0;for(var a=0;a0?parseFloat(this.css("width")):null},outerWidth:function(e){if(this.length>0){if(e){var a=this.styles();return this[0].offsetWidth+parseFloat(a.getPropertyValue("margin-right"))+parseFloat(a.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},height:function(){return this[0]===window?window.innerHeight:this.length>0?parseFloat(this.css("height")):null},outerHeight:function(e){if(this.length>0){if(e){var a=this.styles();return this[0].offsetHeight+parseFloat(a.getPropertyValue("margin-top"))+parseFloat(a.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var e=this[0],a=e.getBoundingClientRect(),t=document.body,n=e.clientTop||t.clientTop||0,r=e.clientLeft||t.clientLeft||0,i=window.pageYOffset||e.scrollTop,s=window.pageXOffset||e.scrollLeft;return{top:a.top+i-n,left:a.left+s-r}}return null},hide:function(){for(var e=0;en-1?new e([]):a<0?(t=n+a,new e(t<0?[]:[this[t]])):new e([this[a]])},append:function(a){var t,n;for(t=0;t=0;n--)this[t].insertBefore(r.childNodes[n],this[t].childNodes[0])}else if(a instanceof e)for(n=0;n1)for(var r=0;r1)for(var r=0;r0?t?this[0].nextElementSibling&&a(this[0].nextElementSibling).is(t)?[this[0].nextElementSibling]:[]:this[0].nextElementSibling?[this[0].nextElementSibling]:[]:[])},nextAll:function(t){var n=[],r=this[0];if(!r)return new e([]);for(;r.nextElementSibling;){var i=r.nextElementSibling;t?a(i).is(t)&&n.push(i):n.push(i),r=i}return new e(n)},prev:function(t){return new e(this.length>0?t?this[0].previousElementSibling&&a(this[0].previousElementSibling).is(t)?[this[0].previousElementSibling]:[]:this[0].previousElementSibling?[this[0].previousElementSibling]:[]:[])},prevAll:function(t){var n=[],r=this[0];if(!r)return new e([]);for(;r.previousElementSibling;){var i=r.previousElementSibling;t?a(i).is(t)&&n.push(i):n.push(i),r=i}return new e(n)},siblings:function(e){return this.nextAll(e).add(this.prevAll(e))},parent:function(e){for(var t=[],n=0;n=0?"&":"?",l=e.method.toUpperCase();if(("GET"===l||"HEAD"===l||"OPTIONS"===l||"DELETE"===l)&&e.data){var p;p="string"==typeof e.data?e.data.indexOf("?")>=0?e.data.split("?")[1]:e.data:a.serializeObject(e.data),p.length&&(e.url+=o+p,"?"===o&&(o="&"))}if("json"===e.dataType&&e.url.indexOf("callback=")>=0){var d,c="f7jsonp_"+Date.now()+n++,u=e.url.split("callback="),m=u[0]+"callback="+c;if(u[1].indexOf("&")>=0){var f=u[1].split("&").filter(function(e){return e.indexOf("=")>0}).join("&");f.length>0&&(m+="&"+f)}var h=document.createElement("script");return h.type="text/javascript",h.onerror=function(){clearTimeout(d),r(void 0,void 0,"error",null,"scripterror")},h.src=m,window[c]=function(e){clearTimeout(d),r(void 0,void 0,"success",e),h.parentNode.removeChild(h),h=null,delete window[c]},document.querySelector("head").appendChild(h),void(e.timeout>0&&(d=setTimeout(function(){h.parentNode.removeChild(h),h=null,r(void 0,void 0,"error",null,"timeout")},e.timeout)))}"GET"!==l&&"HEAD"!==l&&"OPTIONS"!==l&&"DELETE"!==l||e.cache===!1&&(e.url+=o+"_nocache="+Date.now());var g=new XMLHttpRequest;g.requestUrl=e.url,g.requestParameters=e,g.open(l,e.url,e.async,e.user,e.password);var v=null;if(("POST"===l||"PUT"===l||"PATCH"===l)&&e.data)if(e.processData){var b=[ArrayBuffer,Blob,Document,FormData];if(b.indexOf(e.data.constructor)>=0)v=e.data;else{var w="---------------------------"+Date.now().toString(16);"multipart/form-data"===e.contentType?g.setRequestHeader("Content-Type","multipart/form-data; boundary="+w):g.setRequestHeader("Content-Type",e.contentType),v="";var C=a.serializeObject(e.data);if("multipart/form-data"===e.contentType){w="---------------------------"+Date.now().toString(16),C=C.split("&");for(var y=[],x=0;x=200&&g.status<300||0===g.status){var n;if("json"===e.dataType)try{n=JSON.parse(g.responseText),r("ajaxSuccess",{xhr:g},"success",n,g.status,g)}catch(e){r("ajaxError",{xhr:g,parseerror:!0},"error",g,"parseerror")}else n="text"===g.responseType||""===g.responseType?g.responseText:g.response,r("ajaxSuccess",{xhr:g},"success",n,g.status,g)}else r("ajaxError",{xhr:g},"error",g,g.status);e.statusCode&&(t.statusCode&&t.statusCode[g.status]&&t.statusCode[g.status](g),e.statusCode[g.status]&&e.statusCode[g.status](g)),r("ajaxComplete",{xhr:g},"complete",g,g.status)},g.onerror=function(e){T&&clearTimeout(T),r("ajaxError",{xhr:g},"error",g,g.status)},r("ajaxStart",{xhr:g},"start",g),r(void 0,void 0,"beforeSend",g),e.timeout>0&&(g.onabort=function(){T&&clearTimeout(T)},T=setTimeout(function(){g.abort(),r("ajaxError",{xhr:g,timeout:!0},"error",g,"timeout"),r("ajaxComplete",{xhr:g,timeout:!0},"complete",g,"timeout")},e.timeout)),g.send(v),g},function(){function e(e){a[e]=function(t,n,r,i){return a.ajax({url:t,method:"post"===e?"POST":"GET",data:"function"==typeof n?void 0:n,success:"function"==typeof n?n:r,error:"function"==typeof n?r:i,dataType:"getJSON"===e?"json":void 0})}}for(var t="get post getJSON".split(" "),n=0;n-1?e.split("#")[0]:e,!(e.indexOf("?")>-1))return r;for(e=e.split("?")[1],t=e.split("&"),a=0;a0){for(var a="",n=0;n0&&i.push(p.join(s))}else null===e[l]?i.push(n(l)+"="):"object"==typeof e[l]?(o=t.slice(),o.push(l),p=a.serializeObject(e[l],o),""!==p&&i.push(p)):"undefined"!=typeof e[l]&&""!==e[l]&&i.push(n(l)+"="+r(e[l]))}return i.join(s)},a.toCamelCase=function(e){return e.toLowerCase().replace(/-(.)/g,function(e,a){return a.toUpperCase()})},a.dataset=function(e){return a(e).dataset()},a.getTranslate=function(e,a){var t,n,r,i;return"undefined"==typeof a&&(a="x"),r=window.getComputedStyle(e,null),window.WebKitCSSMatrix?(n=r.transform||r.webkitTransform,n.split(",").length>6&&(n=n.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),i=new WebKitCSSMatrix("none"===n?"":n)):(i=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),t=i.toString().split(",")),"x"===a&&(n=window.WebKitCSSMatrix?i.m41:16===t.length?parseFloat(t[12]):parseFloat(t[4])),"y"===a&&(n=window.WebKitCSSMatrix?i.m42:16===t.length?parseFloat(t[13]):parseFloat(t[5])),n||0},a.requestAnimationFrame=function(e){return window.requestAnimationFrame?window.requestAnimationFrame(e):window.webkitRequestAnimationFrame?window.webkitRequestAnimationFrame(e):window.mozRequestAnimationFrame?window.mozRequestAnimationFrame(e):window.setTimeout(e,1e3/60)},a.cancelAnimationFrame=function(e){return window.cancelAnimationFrame?window.cancelAnimationFrame(e):window.webkitCancelAnimationFrame?window.webkitCancelAnimationFrame(e):window.mozCancelAnimationFrame?window.mozCancelAnimationFrame(e):window.clearTimeout(e)},a.supportTouch=!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch);for(var r=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"ŒŒ"},{base:"oe",letters:"œœ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],i={},s=0;so&&m>=c&&(h.scrollTop=c,t=!0),g&&cl&&f>=u&&(h.scrollLeft=u,t=!0),v&&u0||0===t,v=e>0||0===e;if("undefined"==typeof r&&(r="swing"),g&&(o=h.scrollTop,n||(h.scrollTop=t)),v&&(l=h.scrollLeft,n||(h.scrollLeft=e)),n){g&&(p=h.scrollHeight-h.offsetHeight,c=Math.max(Math.min(t,p),0)),v&&(d=h.scrollWidth-h.offsetWidth,u=Math.max(Math.min(e,d),0));var b=null;g&&c===o&&(g=!1),v&&u===l&&(v=!1),a.requestAnimationFrame(s)}})},a.fn.scrollTop=function(e,a,t,n){3===arguments.length&&"function"==typeof t&&(n=t,t=void 0);var r=this;return"undefined"==typeof e?r.length>0?r[0].scrollTop:null:r.scrollTo(void 0,e,a,t,n)},a.fn.scrollLeft=function(e,a,t,n){3===arguments.length&&"function"==typeof t&&(n=t,t=void 0);var r=this;return"undefined"==typeof e?r.length>0?r[0].scrollLeft:null:r.scrollTo(e,void 0,a,t,n)},a}();Framework7.$=e;var a=e;window.Dom7=e;var t=function(e,t,n){t=t||{},n=n||{};var r={duration:300,easing:"swing"};for(var i in r)"undefined"==typeof n[i]&&(n[i]=r[i]);var s=this;if(s.params=n,s.props=t,s.elements=a(e),0===s.elements.length)return s;s.easingProgress=function(e,a){return"swing"===e?.5-Math.cos(a*Math.PI)/2:"function"==typeof e?e(a):a},s.stop=function(){s.frameId&&a.cancelAnimationFrame(s.frameId),s.animating=!1,s.elements.each(function(e,a){delete a.animate7Instance}),s.que=[]},s.done=function(a){if(s.animating=!1,s.elements.each(function(e,a){delete a.animate7Instance}),a&&a(e),s.que.length>0){var t=s.que.shift();s.animate(t[0],t[1])}},s.animating=!1,s.que=[],s.animate=function(t,n){function r(){o=(new Date).getTime();var m,f,h;u||(u=!0,n.begin&&n.begin(e)),null===p&&(p=o),n.progress&&n.progress(s.elements,Math.max(Math.min((o-p)/n.duration,1),0),p+n.duration-o<0?0:p+n.duration-o,p);for(var g=0;gh[v].initialValue&&h[v].currentValue>=h[v].finalValue||h[v].finalValue=0),(i||o||s)&&(a.os="ios",a.ios=!0),o&&!s&&(a.osVersion=o[2].replace(/_/g,"."),a.iphone=!0),i&&(a.osVersion=i[2].replace(/_/g,"."),a.ipad=!0),s&&(a.osVersion=s[3]?s[3].replace(/_/g,"."):null,a.iphone=!0),a.ios&&a.osVersion&&t.indexOf("Version/")>=0&&"10"===a.osVersion.split(".")[0]&&(a.osVersion=t.toLowerCase().split("version/")[1].split(" ")[0]),a.webView=(o||i||s)&&t.match(/.*AppleWebKit(?!.*Safari)/i),a.os&&"ios"===a.os){var l=a.osVersion.split(".");a.minimalUi=!a.webView&&(s||o)&&(1*l[0]===7?1*l[1]>=1:1*l[0]>7)&&n('meta[name="viewport"]').length>0&&n('meta[name="viewport"]').attr("content").indexOf("minimal-ui")>=0}var p=n(window).width(),d=n(window).height();a.statusBar=!1,a.webView&&p*d===screen.width*screen.height?a.statusBar=!0:a.statusBar=!1;var c=[];if(a.pixelRatio=window.devicePixelRatio||1,c.push("pixel-ratio-"+Math.floor(a.pixelRatio)),a.pixelRatio>=2&&c.push("retina"),a.os&&(c.push(a.os,a.os+"-"+a.osVersion.split(".")[0],a.os+"-"+a.osVersion.replace(/\./g,"-")),"ios"===a.os))for(var u=parseInt(a.osVersion.split(".")[0],10),m=u-1;m>=6;m--)c.push("ios-gt-"+m);return a.statusBar?c.push("with-statusbar-overlay"):n("html").removeClass("with-statusbar-overlay"),c.length>0&&n("html").addClass(c.join(" ")),a}(),Framework7.prototype.plugins={},window.Template7=function(){function e(e){return"[object Array]"===Object.prototype.toString.apply(e)}function a(e){return"function"==typeof e}function t(e){return"undefined"!=typeof window&&window.escape?window.escape(e):e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""")}function n(e){var a,t,n,r=e.replace(/[{}#}]/g,"").split(" "),o=[];for(t=0;t=0){a=n,o.push(d);break}a&&(t=a)}else if(d.indexOf("=")>0){var c=d.split("="),u=c[0],m=c[1];if(2!==m.match(l).length){for(a=0,n=t+1;n=0){a=n;break}a&&(t=a)}var f=[u,m.replace(l,"")];o.push(f)}else o.push(d)}return o}function r(a){var t,r,i=[];if(!a)return[];var s=a.split(/({{[^{^}]*}})/);for(t=0;t=0)continue;if(o.indexOf("{#")<0&&o.indexOf(" ")<0&&o.indexOf("else")<0){i.push({type:"variable",contextName:o.replace(/[{}]/g,"")});continue}var l=n(o),p=l[0],d=">"===p,c=[],u={}; -for(r=1;r=0){var f,h="",g="",v=0,b=!1,w=!1,C=0;for(r=t+1;r=0&&C++,s[r].indexOf("{{/")>=0&&C--,s[r].indexOf("{{#"+p)>=0)h+=s[r],w&&(g+=s[r]),v++;else if(s[r].indexOf("{{/"+p)>=0){if(!(v>0)){f=r,b=!0;break}v--,h+=s[r],w&&(g+=s[r])}else s[r].indexOf("else")>=0&&0===C?w=!0:(w||(h+=s[r]),w&&(g+=s[r]));b&&(f&&(t=f),i.push({type:"helper",helperName:p,contextName:c,content:h,inverseContent:g,hash:u}))}else o.indexOf(" ")>0&&(d&&(p="_partial",c[0]&&(c[0]='"'+c[0].replace(/"|'/g,"")+'"')),i.push({type:"helper",helperName:p,contextName:c,hash:u}))}}return i}var i=new RegExp("'","g"),s=new RegExp('"',"g"),o=function(e,a){function t(e,a){return e.content?o(e.content,a):function(){return""}}function n(e,a){return e.inverseContent?o(e.inverseContent,a):function(){return""}}function i(e,a){var t,n,r=0;if(0===e.indexOf("../")){r=e.split("../").length-1;var i=a.split("_")[1]-r;a="ctx_"+(i>=1?i:1),n=e.split("../")[r].split(".")}else 0===e.indexOf("@global")?(a="Template7.global",n=e.split("@global.")[1].split(".")):0===e.indexOf("@root")?(a="root",n=e.split("@root.")[1].split(".")):n=e.split(".");t=a;for(var s=0;s0?t+="[(data && data."+o.replace("@","")+")]":t="(data && data."+e.replace("@","")+")":isFinite(o)?t+="["+o+"]":"this"===o||o.indexOf("this.")>=0||o.indexOf("this[")>=0||o.indexOf("this(")>=0?t=o.replace("this",a):t+="."+o}return t}function s(e,a){for(var t=[],n=0;n0)throw new Error('Template7: Missing helper: "'+u.helperName+'"');m=i(u.helperName,p),d+="if ("+m+") {",d+="if (isArray("+m+")) {",d+="r += (Template7.helpers.each).call("+p+", "+m+", {hash:"+JSON.stringify(u.hash)+", data: data || {}, fn: "+t(u,a+1)+", inverse: "+n(u,a+1)+", root: root});",d+="}else {",d+="r += (Template7.helpers.with).call("+p+", "+m+", {hash:"+JSON.stringify(u.hash)+", data: data || {}, fn: "+t(u,a+1)+", inverse: "+n(u,a+1)+", root: root});",d+="}}"}}else d+="r +='"+u.content.replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/'/g,"\\'")+"';"}return d+="\nreturn r;})",eval.call(window,d)}var l=this;l.template=e,l.compile=function(e){return l.compiled||(l.compiled=o(e)),l.compiled}};o.prototype={options:{},partials:{},helpers:{_partial:function(e,a){var t=o.prototype.partials[e];if(!t||t&&!t.template)return"";t.compiled||(t.compiled=new o(t.template).compile());var n=this;for(var r in a.hash)n[r]=a.hash[r];return t.compiled(n,a.data,a.root)},escape:function(e,a){if("string"!=typeof e)throw new Error('Template7: Passed context to "escape" helper should be a string');return t(e)},if:function(e,t){return a(e)&&(e=e.call(this)),e?t.fn(this,t.data):t.inverse(this,t.data)},unless:function(e,t){return a(e)&&(e=e.call(this)),e?t.inverse(this,t.data):t.fn(this,t.data)},each:function(t,n){var r="",i=0;if(a(t)&&(t=t.call(this)),e(t)){for(n.hash.reverse&&(t=t.reverse()),i=0;i0?r:n.inverse(this)},with:function(e,t){return a(e)&&(e=e.call(this)),t.fn(e)},join:function(e,t){return a(e)&&(e=e.call(this)),e.join(t.hash.delimiter||t.hash.delimeter)},js:function(e,a){var t;return t=e.indexOf("return")>=0?"(function(){"+e+"})":"(function(){return ("+e+")})",eval.call(this,t).call(this)},js_compare:function(e,a){var t;t=e.indexOf("return")>=0?"(function(){"+e+"})":"(function(){return ("+e+")})";var n=eval.call(this,t).call(this);return n?a.fn(this,a.data):a.inverse(this,a.data)}}};var l=function(e,a){if(2===arguments.length){var t=new o(e),n=t.compile()(a);return t=null,n}return new o(e)};return l.registerHelper=function(e,a){o.prototype.helpers[e]=a},l.unregisterHelper=function(e){o.prototype.helpers[e]=void 0,delete o.prototype.helpers[e]},l.registerPartial=function(e,a){o.prototype.partials[e]={template:a}},l.unregisterPartial=function(e,a){o.prototype.partials[e]&&(o.prototype.partials[e]=void 0,delete o.prototype.partials[e])},l.compile=function(e,a){var t=new o(e,a);return t.compile()},l.options=o.prototype.options,l.helpers=o.prototype.helpers,l.partials=o.prototype.partials,l}(),window.Swiper=function(t,n){function r(e){return Math.floor(e)}function s(){var e=b.params.autoplay,a=b.slides.eq(b.activeIndex);a.attr("data-swiper-autoplay")&&(e=a.attr("data-swiper-autoplay")||b.params.autoplay),b.autoplayTimeoutId=setTimeout(function(){b.params.loop?(b.fixLoop(),b._slideNext(),b.emit("onAutoplay",b)):b.isEnd?n.autoplayStopOnLast?b.stopAutoplay():(b._slideTo(0),b.emit("onAutoplay",b)):(b._slideNext(),b.emit("onAutoplay",b))},e)}function o(e,t){var n=a(e.target);if(!n.is(t))if("string"==typeof t)n=n.parents(t);else if(t.nodeType){var r;return n.parents().each(function(e,a){a===t&&(r=t)}),r?t:void 0}if(0!==n.length)return n[0]}function l(e,a){a=a||{};var t=window.MutationObserver||window.WebkitMutationObserver,n=new t(function(e){e.forEach(function(e){b.onResize(!0),b.emit("onObserverUpdate",b,e)})});n.observe(e,{attributes:"undefined"==typeof a.attributes||a.attributes,childList:"undefined"==typeof a.childList||a.childList,characterData:"undefined"==typeof a.characterData||a.characterData}),b.observers.push(n)}function p(e,t){e=a(e);var n,r,i,s=b.rtl?-1:1;n=e.attr("data-swiper-parallax")||"0",r=e.attr("data-swiper-parallax-x"),i=e.attr("data-swiper-parallax-y"),r||i?(r=r||"0",i=i||"0"):b.isHorizontal()?(r=n,i="0"):(i=n,r="0"),r=r.indexOf("%")>=0?parseInt(r,10)*t*s+"%":r*t*s+"px",i=i.indexOf("%")>=0?parseInt(i,10)*t+"%":i*t+"px",e.transform("translate3d("+r+", "+i+",0px)")}function d(e){return 0!==e.indexOf("on")&&(e=e[0]!==e[0].toUpperCase()?"on"+e[0].toUpperCase()+e.substring(1):"on"+e),e}if(!(this instanceof Swiper))return new Swiper(t,n);var c={direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,autoplay:!1,autoplayDisableOnInteraction:!0,autoplayStopOnLast:!1,iOSEdgeSwipeDetection:!1,iOSEdgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",coverflow:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0},flip:{slideShadows:!0,limitRotation:!0},cube:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94},fade:{crossFade:!1},parallax:!1,zoom:!1,zoomMax:3,zoomMin:1,zoomToggle:!0,scrollbar:null,scrollbarHide:!0,scrollbarDraggable:!1,scrollbarSnapOnRelease:!1,keyboardControl:!1,mousewheelControl:!1,mousewheelReleaseOnEdges:!1,mousewheelInvert:!1,mousewheelForceToAxis:!1,mousewheelSensitivity:1,mousewheelEventsTarged:"container",hashnav:!1,hashnavWatchState:!1,history:!1,replaceState:!1,breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,centeredSlides:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,onlyExternal:!1,threshold:0,touchMoveStopPropagation:!0,touchReleaseOnEdges:!1,uniqueNavElements:!0,pagination:null,paginationElement:"span",paginationClickable:!1,paginationHide:!1,paginationBulletRender:null,paginationProgressRender:null,paginationFractionRender:null,paginationCustomRender:null,paginationType:"bullets",resistance:!0,resistanceRatio:.85,nextButton:null,prevButton:null,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,lazyLoading:!1,lazyLoadingInPrevNext:!1,lazyLoadingInPrevNextAmount:1,lazyLoadingOnTransitionStart:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,control:void 0,controlInverse:!1,controlBy:"slide",normalizeSlideIndex:!0,allowSwipeToPrev:!0,allowSwipeToNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",buttonDisabledClass:"swiper-button-disabled",paginationCurrentClass:"swiper-pagination-current",paginationTotalClass:"swiper-pagination-total",paginationHiddenClass:"swiper-pagination-hidden",paginationProgressbarClass:"swiper-pagination-progressbar",paginationClickableClass:"swiper-pagination-clickable",paginationModifierClass:"swiper-pagination-",lazyLoadingClass:"swiper-lazy",lazyStatusLoadingClass:"swiper-lazy-loading",lazyStatusLoadedClass:"swiper-lazy-loaded",lazyPreloaderClass:"swiper-lazy-preloader",notificationClass:"swiper-notification",preloaderClass:"preloader",zoomContainerClass:"swiper-zoom-container",observer:!1,observeParents:!1,a11y:!1,prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",runCallbacksOnInit:!0},u=n&&n.virtualTranslate;n=n||{};var m={};for(var f in n)if("object"!=typeof n[f]||null===n[f]||(n[f].nodeType||n[f]===window||n[f]===document||"undefined"!=typeof e&&n[f]instanceof e||"undefined"!=typeof jQuery&&n[f]instanceof jQuery))m[f]=n[f];else{m[f]={};for(var h in n[f])m[f][h]=n[f][h]}for(var g in c)if("undefined"==typeof n[g])n[g]=c[g];else if("object"==typeof n[g])for(var v in c[g])"undefined"==typeof n[g][v]&&(n[g][v]=c[g][v]);var b=this;if(b.params=n,b.originalParams=m,b.classNames=[],"undefined"!=typeof a&&"undefined"!=typeof e&&(a=e),("undefined"!=typeof a||(a="undefined"==typeof e?window.Dom7||window.Zepto||window.jQuery:e))&&(b.$=a,b.currentBreakpoint=void 0,b.getActiveBreakpoint=function(){if(!b.params.breakpoints)return!1;var e,a=!1,t=[];for(e in b.params.breakpoints)b.params.breakpoints.hasOwnProperty(e)&&t.push(e);t.sort(function(e,a){return parseInt(e,10)>parseInt(a,10)});for(var n=0;n=window.innerWidth&&!a&&(a=e);return a||"max"},b.setBreakpoint=function(){var e=b.getActiveBreakpoint();if(e&&b.currentBreakpoint!==e){var a=e in b.params.breakpoints?b.params.breakpoints[e]:b.originalParams,t=b.params.loop&&a.slidesPerView!==b.params.slidesPerView;for(var n in a)b.params[n]=a[n];b.currentBreakpoint=e,t&&b.destroyLoop&&b.reLoop(!0)}},b.params.breakpoints&&b.setBreakpoint(),b.container=a(t),0!==b.container.length)){if(b.container.length>1){var w=[];return b.container.each(function(){w.push(new Swiper(this,n))}),w}b.container[0].swiper=b,b.container.data("swiper",b),b.classNames.push(b.params.containerModifierClass+b.params.direction),b.params.freeMode&&b.classNames.push(b.params.containerModifierClass+"free-mode"),b.support.flexbox||(b.classNames.push(b.params.containerModifierClass+"no-flexbox"),b.params.slidesPerColumn=1),b.params.autoHeight&&b.classNames.push(b.params.containerModifierClass+"autoheight"),(b.params.parallax||b.params.watchSlidesVisibility)&&(b.params.watchSlidesProgress=!0),b.params.touchReleaseOnEdges&&(b.params.resistanceRatio=0),["cube","coverflow","flip"].indexOf(b.params.effect)>=0&&(b.support.transforms3d?(b.params.watchSlidesProgress=!0,b.classNames.push(b.params.containerModifierClass+"3d")):b.params.effect="slide"),"slide"!==b.params.effect&&b.classNames.push(b.params.containerModifierClass+b.params.effect),"cube"===b.params.effect&&(b.params.resistanceRatio=0,b.params.slidesPerView=1,b.params.slidesPerColumn=1,b.params.slidesPerGroup=1,b.params.centeredSlides=!1,b.params.spaceBetween=0,b.params.virtualTranslate=!0,b.params.setWrapperSize=!1),"fade"!==b.params.effect&&"flip"!==b.params.effect||(b.params.slidesPerView=1,b.params.slidesPerColumn=1,b.params.slidesPerGroup=1,b.params.watchSlidesProgress=!0,b.params.spaceBetween=0,b.params.setWrapperSize=!1,"undefined"==typeof u&&(b.params.virtualTranslate=!0)),b.params.grabCursor&&b.support.touch&&(b.params.grabCursor=!1),b.wrapper=b.container.children("."+b.params.wrapperClass),b.params.pagination&&(b.paginationContainer=a(b.params.pagination),b.params.uniqueNavElements&&"string"==typeof b.params.pagination&&b.paginationContainer.length>1&&1===b.container.find(b.params.pagination).length&&(b.paginationContainer=b.container.find(b.params.pagination)),"bullets"===b.params.paginationType&&b.params.paginationClickable?b.paginationContainer.addClass(b.params.paginationModifierClass+"clickable"):b.params.paginationClickable=!1,b.paginationContainer.addClass(b.params.paginationModifierClass+b.params.paginationType)),(b.params.nextButton||b.params.prevButton)&&(b.params.nextButton&&(b.nextButton=a(b.params.nextButton),b.params.uniqueNavElements&&"string"==typeof b.params.nextButton&&b.nextButton.length>1&&1===b.container.find(b.params.nextButton).length&&(b.nextButton=b.container.find(b.params.nextButton))),b.params.prevButton&&(b.prevButton=a(b.params.prevButton),b.params.uniqueNavElements&&"string"==typeof b.params.prevButton&&b.prevButton.length>1&&1===b.container.find(b.params.prevButton).length&&(b.prevButton=b.container.find(b.params.prevButton)))),b.isHorizontal=function(){return"horizontal"===b.params.direction},b.rtl=b.isHorizontal()&&("rtl"===b.container[0].dir.toLowerCase()||"rtl"===b.container.css("direction")),b.rtl&&b.classNames.push(b.params.containerModifierClass+"rtl"),b.rtl&&(b.wrongRTL="-webkit-box"===b.wrapper.css("display")),b.params.slidesPerColumn>1&&b.classNames.push(b.params.containerModifierClass+"multirow"),b.device.android&&b.classNames.push(b.params.containerModifierClass+"android"),b.container.addClass(b.classNames.join(" ")),b.translate=0,b.progress=0,b.velocity=0,b.lockSwipeToNext=function(){b.params.allowSwipeToNext=!1,b.params.allowSwipeToPrev===!1&&b.params.grabCursor&&b.unsetGrabCursor()},b.lockSwipeToPrev=function(){b.params.allowSwipeToPrev=!1,b.params.allowSwipeToNext===!1&&b.params.grabCursor&&b.unsetGrabCursor()},b.lockSwipes=function(){b.params.allowSwipeToNext=b.params.allowSwipeToPrev=!1,b.params.grabCursor&&b.unsetGrabCursor()},b.unlockSwipeToNext=function(){b.params.allowSwipeToNext=!0,b.params.allowSwipeToPrev===!0&&b.params.grabCursor&&b.setGrabCursor()},b.unlockSwipeToPrev=function(){b.params.allowSwipeToPrev=!0,b.params.allowSwipeToNext===!0&&b.params.grabCursor&&b.setGrabCursor()},b.unlockSwipes=function(){b.params.allowSwipeToNext=b.params.allowSwipeToPrev=!0,b.params.grabCursor&&b.setGrabCursor()},b.setGrabCursor=function(e){b.container[0].style.cursor="move",b.container[0].style.cursor=e?"-webkit-grabbing":"-webkit-grab",b.container[0].style.cursor=e?"-moz-grabbin":"-moz-grab",b.container[0].style.cursor=e?"grabbing":"grab"},b.unsetGrabCursor=function(){b.container[0].style.cursor=""},b.params.grabCursor&&b.setGrabCursor(),b.imagesToLoad=[],b.imagesLoaded=0,b.loadImage=function(e,a,t,n,r,i){function s(){i&&i()}var o;e.complete&&r?s():a?(o=new window.Image,o.onload=s,o.onerror=s,n&&(o.sizes=n),t&&(o.srcset=t),a&&(o.src=a)):s()},b.preloadImages=function(){function e(){"undefined"!=typeof b&&null!==b&&(void 0!==b.imagesLoaded&&b.imagesLoaded++,b.imagesLoaded===b.imagesToLoad.length&&(b.params.updateOnImagesReady&&b.update(),b.emit("onImagesReady",b)))}b.imagesToLoad=b.container.find("img");for(var a=0;a1)for(i=0;ib.slides.length)break;e.push(b.slides.eq(t)[0])}else e.push(b.slides.eq(b.activeIndex)[0]);for(i=0;ia?n:a}a&&b.wrapper.css("height",a+"px")},b.updateContainerSize=function(){var e,a;e="undefined"!=typeof b.params.width?b.params.width:b.container[0].clientWidth,a="undefined"!=typeof b.params.height?b.params.height:b.container[0].clientHeight,0===e&&b.isHorizontal()||0===a&&!b.isHorizontal()||(e=e-parseInt(b.container.css("padding-left"),10)-parseInt(b.container.css("padding-right"),10),a=a-parseInt(b.container.css("padding-top"),10)-parseInt(b.container.css("padding-bottom"),10),b.width=e,b.height=a,b.size=b.isHorizontal()?b.width:b.height)},b.updateSlidesSize=function(){b.slides=b.wrapper.children("."+b.params.slideClass),b.snapGrid=[],b.slidesGrid=[],b.slidesSizesGrid=[];var e,a=b.params.spaceBetween,t=-b.params.slidesOffsetBefore,n=0,i=0;if("undefined"!=typeof b.size){"string"==typeof a&&a.indexOf("%")>=0&&(a=parseFloat(a.replace("%",""))/100*b.size),b.virtualSize=-a,b.rtl?b.slides.css({marginLeft:"",marginTop:""}):b.slides.css({marginRight:"",marginBottom:""});var s;b.params.slidesPerColumn>1&&(s=Math.floor(b.slides.length/b.params.slidesPerColumn)===b.slides.length/b.params.slidesPerColumn?b.slides.length:Math.ceil(b.slides.length/b.params.slidesPerColumn)*b.params.slidesPerColumn,"auto"!==b.params.slidesPerView&&"row"===b.params.slidesPerColumnFill&&(s=Math.max(s,b.params.slidesPerView*b.params.slidesPerColumn)));var o,l=b.params.slidesPerColumn,p=s/l,d=p-(b.params.slidesPerColumn*p-b.slides.length);for(e=0;e1){var u,m,f;"column"===b.params.slidesPerColumnFill?(m=Math.floor(e/l),f=e-m*l,(m>d||m===d&&f===l-1)&&++f>=l&&(f=0,m++),u=m+f*s/l,c.css({"-webkit-box-ordinal-group":u,"-moz-box-ordinal-group":u,"-ms-flex-order":u,"-webkit-order":u,order:u})):(f=Math.floor(e/p),m=e-f*p),c.css("margin-"+(b.isHorizontal()?"top":"left"),0!==f&&b.params.spaceBetween&&b.params.spaceBetween+"px").attr("data-swiper-column",m).attr("data-swiper-row",f)}"none"!==c.css("display")&&("auto"===b.params.slidesPerView?(o=b.isHorizontal()?c.outerWidth(!0):c.outerHeight(!0),b.params.roundLengths&&(o=r(o))):(o=(b.size-(b.params.slidesPerView-1)*a)/b.params.slidesPerView,b.params.roundLengths&&(o=r(o)),b.isHorizontal()?b.slides[e].style.width=o+"px":b.slides[e].style.height=o+"px"),b.slides[e].swiperSlideSize=o,b.slidesSizesGrid.push(o),b.params.centeredSlides?(t=t+o/2+n/2+a,0===e&&(t=t-b.size/2-a),Math.abs(t)<.001&&(t=0),i%b.params.slidesPerGroup===0&&b.snapGrid.push(t),b.slidesGrid.push(t)):(i%b.params.slidesPerGroup===0&&b.snapGrid.push(t),b.slidesGrid.push(t),t=t+o+a),b.virtualSize+=o+a,n=o,i++)}b.virtualSize=Math.max(b.virtualSize,b.size)+b.params.slidesOffsetAfter;var h;if(b.rtl&&b.wrongRTL&&("slide"===b.params.effect||"coverflow"===b.params.effect)&&b.wrapper.css({width:b.virtualSize+b.params.spaceBetween+"px"}),b.support.flexbox&&!b.params.setWrapperSize||(b.isHorizontal()?b.wrapper.css({width:b.virtualSize+b.params.spaceBetween+"px"}):b.wrapper.css({height:b.virtualSize+b.params.spaceBetween+"px"})),b.params.slidesPerColumn>1&&(b.virtualSize=(o+b.params.spaceBetween)*s,b.virtualSize=Math.ceil(b.virtualSize/b.params.slidesPerColumn)-b.params.spaceBetween,b.isHorizontal()?b.wrapper.css({width:b.virtualSize+b.params.spaceBetween+"px"}):b.wrapper.css({height:b.virtualSize+b.params.spaceBetween+"px"}),b.params.centeredSlides)){for(h=[],e=0;e1&&b.snapGrid.push(b.virtualSize-b.size)}0===b.snapGrid.length&&(b.snapGrid=[0]),0!==b.params.spaceBetween&&(b.isHorizontal()?b.rtl?b.slides.css({marginLeft:a+"px"}):b.slides.css({marginRight:a+"px"}):b.slides.css({marginBottom:a+"px"})),b.params.watchSlidesProgress&&b.updateSlidesOffset()}},b.updateSlidesOffset=function(){for(var e=0;e=0&&i0&&s<=b.size||i<=0&&s>=b.size;o&&b.slides.eq(t).addClass(b.params.slideVisibleClass)}n.progress=b.rtl?-r:r}}},b.updateProgress=function(e){"undefined"==typeof e&&(e=b.translate||0);var a=b.maxTranslate()-b.minTranslate(),t=b.isBeginning,n=b.isEnd;0===a?(b.progress=0,b.isBeginning=b.isEnd=!0):(b.progress=(e-b.minTranslate())/a,b.isBeginning=b.progress<=0,b.isEnd=b.progress>=1),b.isBeginning&&!t&&b.emit("onReachBeginning",b),b.isEnd&&!n&&b.emit("onReachEnd",b),b.params.watchSlidesProgress&&b.updateSlidesProgress(e),b.emit("onProgress",b,b.progress)},b.updateActiveIndex=function(){var e,a,t,n=b.rtl?b.translate:-b.translate;for(a=0;a=b.slidesGrid[a]&&n=b.slidesGrid[a]&&n=b.slidesGrid[a]&&(e=a);b.params.normalizeSlideIndex&&(e<0||"undefined"==typeof e)&&(e=0),t=Math.floor(e/b.params.slidesPerGroup),t>=b.snapGrid.length&&(t=b.snapGrid.length-1),e!==b.activeIndex&&(b.snapIndex=t,b.previousIndex=b.activeIndex,b.activeIndex=e,b.updateClasses(),b.updateRealIndex())},b.updateRealIndex=function(){b.realIndex=b.slides.eq(b.activeIndex).attr("data-swiper-slide-index")||b.activeIndex},b.updateClasses=function(){b.slides.removeClass(b.params.slideActiveClass+" "+b.params.slideNextClass+" "+b.params.slidePrevClass+" "+b.params.slideDuplicateActiveClass+" "+b.params.slideDuplicateNextClass+" "+b.params.slideDuplicatePrevClass);var e=b.slides.eq(b.activeIndex);e.addClass(b.params.slideActiveClass),n.loop&&(e.hasClass(b.params.slideDuplicateClass)?b.wrapper.children("."+b.params.slideClass+":not(."+b.params.slideDuplicateClass+')[data-swiper-slide-index="'+b.realIndex+'"]').addClass(b.params.slideDuplicateActiveClass):b.wrapper.children("."+b.params.slideClass+"."+b.params.slideDuplicateClass+'[data-swiper-slide-index="'+b.realIndex+'"]').addClass(b.params.slideDuplicateActiveClass));var t=e.next("."+b.params.slideClass).addClass(b.params.slideNextClass);b.params.loop&&0===t.length&&(t=b.slides.eq(0),t.addClass(b.params.slideNextClass));var r=e.prev("."+b.params.slideClass).addClass(b.params.slidePrevClass);if(b.params.loop&&0===r.length&&(r=b.slides.eq(-1),r.addClass(b.params.slidePrevClass)),n.loop&&(t.hasClass(b.params.slideDuplicateClass)?b.wrapper.children("."+b.params.slideClass+":not(."+b.params.slideDuplicateClass+')[data-swiper-slide-index="'+t.attr("data-swiper-slide-index")+'"]').addClass(b.params.slideDuplicateNextClass):b.wrapper.children("."+b.params.slideClass+"."+b.params.slideDuplicateClass+'[data-swiper-slide-index="'+t.attr("data-swiper-slide-index")+'"]').addClass(b.params.slideDuplicateNextClass),r.hasClass(b.params.slideDuplicateClass)?b.wrapper.children("."+b.params.slideClass+":not(."+b.params.slideDuplicateClass+')[data-swiper-slide-index="'+r.attr("data-swiper-slide-index")+'"]').addClass(b.params.slideDuplicatePrevClass):b.wrapper.children("."+b.params.slideClass+"."+b.params.slideDuplicateClass+'[data-swiper-slide-index="'+r.attr("data-swiper-slide-index")+'"]').addClass(b.params.slideDuplicatePrevClass)),b.paginationContainer&&b.paginationContainer.length>0){var i,s=b.params.loop?Math.ceil((b.slides.length-2*b.loopedSlides)/b.params.slidesPerGroup):b.snapGrid.length;if(b.params.loop?(i=Math.ceil((b.activeIndex-b.loopedSlides)/b.params.slidesPerGroup),i>b.slides.length-1-2*b.loopedSlides&&(i-=b.slides.length-2*b.loopedSlides),i>s-1&&(i-=s),i<0&&"bullets"!==b.params.paginationType&&(i=s+i)):i="undefined"!=typeof b.snapIndex?b.snapIndex:b.activeIndex||0,"bullets"===b.params.paginationType&&b.bullets&&b.bullets.length>0&&(b.bullets.removeClass(b.params.bulletActiveClass),b.paginationContainer.length>1?b.bullets.each(function(){a(this).index()===i&&a(this).addClass(b.params.bulletActiveClass)}):b.bullets.eq(i).addClass(b.params.bulletActiveClass)),"fraction"===b.params.paginationType&&(b.paginationContainer.find("."+b.params.paginationCurrentClass).text(i+1),b.paginationContainer.find("."+b.params.paginationTotalClass).text(s)),"progress"===b.params.paginationType){var o=(i+1)/s,l=o,p=1;b.isHorizontal()||(p=o,l=1),b.paginationContainer.find("."+b.params.paginationProgressbarClass).transform("translate3d(0,0,0) scaleX("+l+") scaleY("+p+")").transition(b.params.speed)}"custom"===b.params.paginationType&&b.params.paginationCustomRender&&(b.paginationContainer.html(b.params.paginationCustomRender(b,i+1,s)),b.emit("onPaginationRendered",b,b.paginationContainer[0]))}b.params.loop||(b.params.prevButton&&b.prevButton&&b.prevButton.length>0&&(b.isBeginning?(b.prevButton.addClass(b.params.buttonDisabledClass),b.params.a11y&&b.a11y&&b.a11y.disable(b.prevButton)):(b.prevButton.removeClass(b.params.buttonDisabledClass),b.params.a11y&&b.a11y&&b.a11y.enable(b.prevButton))),b.params.nextButton&&b.nextButton&&b.nextButton.length>0&&(b.isEnd?(b.nextButton.addClass(b.params.buttonDisabledClass),b.params.a11y&&b.a11y&&b.a11y.disable(b.nextButton)):(b.nextButton.removeClass(b.params.buttonDisabledClass),b.params.a11y&&b.a11y&&b.a11y.enable(b.nextButton))))},b.updatePagination=function(){if(b.params.pagination&&b.paginationContainer&&b.paginationContainer.length>0){var e="";if("bullets"===b.params.paginationType){for(var a=b.params.loop?Math.ceil((b.slides.length-2*b.loopedSlides)/b.params.slidesPerGroup):b.snapGrid.length,t=0;t";b.paginationContainer.html(e),b.bullets=b.paginationContainer.find("."+b.params.bulletClass),b.params.paginationClickable&&b.params.a11y&&b.a11y&&b.a11y.initPagination()}"fraction"===b.params.paginationType&&(e=b.params.paginationFractionRender?b.params.paginationFractionRender(b,b.params.paginationCurrentClass,b.params.paginationTotalClass):' / ',b.paginationContainer.html(e)),"progress"===b.params.paginationType&&(e=b.params.paginationProgressRender?b.params.paginationProgressRender(b,b.params.paginationProgressbarClass):'',b.paginationContainer.html(e)),"custom"!==b.params.paginationType&&b.emit("onPaginationRendered",b,b.paginationContainer[0])}},b.update=function(e){function a(){b.rtl?-b.translate:b.translate;n=Math.min(Math.max(b.translate,b.maxTranslate()),b.minTranslate()),b.setWrapperTranslate(n),b.updateActiveIndex(),b.updateClasses()}if(b.updateContainerSize(),b.updateSlidesSize(),b.updateProgress(),b.updatePagination(),b.updateClasses(),b.params.scrollbar&&b.scrollbar&&b.scrollbar.set(),e){var t,n;b.controller&&b.controller.spline&&(b.controller.spline=void 0),b.params.freeMode?(a(),b.params.autoHeight&&b.updateAutoHeight()):(t=("auto"===b.params.slidesPerView||b.params.slidesPerView>1)&&b.isEnd&&!b.params.centeredSlides?b.slideTo(b.slides.length-1,0,!1,!0):b.slideTo(b.activeIndex,0,!1,!0),t||a())}else b.params.autoHeight&&b.updateAutoHeight()},b.onResize=function(e){b.params.breakpoints&&b.setBreakpoint();var a=b.params.allowSwipeToPrev,t=b.params.allowSwipeToNext;b.params.allowSwipeToPrev=b.params.allowSwipeToNext=!0,b.updateContainerSize(),b.updateSlidesSize(),("auto"===b.params.slidesPerView||b.params.freeMode||e)&&b.updatePagination(),b.params.scrollbar&&b.scrollbar&&b.scrollbar.set(),b.controller&&b.controller.spline&&(b.controller.spline=void 0);var n=!1;if(b.params.freeMode){var r=Math.min(Math.max(b.translate,b.maxTranslate()),b.minTranslate());b.setWrapperTranslate(r),b.updateActiveIndex(),b.updateClasses(),b.params.autoHeight&&b.updateAutoHeight()}else b.updateClasses(),n=("auto"===b.params.slidesPerView||b.params.slidesPerView>1)&&b.isEnd&&!b.params.centeredSlides?b.slideTo(b.slides.length-1,0,!1,!0):b.slideTo(b.activeIndex,0,!1,!0);b.params.lazyLoading&&!n&&b.lazy&&b.lazy.load(),b.params.allowSwipeToPrev=a,b.params.allowSwipeToNext=t},b.touchEventsDesktop={start:"mousedown",move:"mousemove",end:"mouseup"},window.navigator.pointerEnabled?b.touchEventsDesktop={start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled&&(b.touchEventsDesktop={start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}),b.touchEvents={start:b.support.touch||!b.params.simulateTouch?"touchstart":b.touchEventsDesktop.start,move:b.support.touch||!b.params.simulateTouch?"touchmove":b.touchEventsDesktop.move,end:b.support.touch||!b.params.simulateTouch?"touchend":b.touchEventsDesktop.end},(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&("container"===b.params.touchEventsTarget?b.container:b.wrapper).addClass("swiper-wp8-"+b.params.direction),b.initEvents=function(e){var a=e?"off":"on",t=e?"removeEventListener":"addEventListener",r="container"===b.params.touchEventsTarget?b.container[0]:b.wrapper[0],i=b.support.touch?r:document,s=!!b.params.nested;if(b.browser.ie)r[t](b.touchEvents.start,b.onTouchStart,!1),i[t](b.touchEvents.move,b.onTouchMove,s), -i[t](b.touchEvents.end,b.onTouchEnd,!1);else{if(b.support.touch){var o=!("touchstart"!==b.touchEvents.start||!b.support.passiveListener||!b.params.passiveListeners)&&{passive:!0,capture:!1};r[t](b.touchEvents.start,b.onTouchStart,o),r[t](b.touchEvents.move,b.onTouchMove,s),r[t](b.touchEvents.end,b.onTouchEnd,o)}(n.simulateTouch&&!b.device.ios&&!b.device.android||n.simulateTouch&&!b.support.touch&&b.device.ios)&&(r[t]("mousedown",b.onTouchStart,!1),document[t]("mousemove",b.onTouchMove,s),document[t]("mouseup",b.onTouchEnd,!1))}window[t]("resize",b.onResize),b.params.nextButton&&b.nextButton&&b.nextButton.length>0&&(b.nextButton[a]("click",b.onClickNext),b.params.a11y&&b.a11y&&b.nextButton[a]("keydown",b.a11y.onEnterKey)),b.params.prevButton&&b.prevButton&&b.prevButton.length>0&&(b.prevButton[a]("click",b.onClickPrev),b.params.a11y&&b.a11y&&b.prevButton[a]("keydown",b.a11y.onEnterKey)),b.params.pagination&&b.params.paginationClickable&&(b.paginationContainer[a]("click","."+b.params.bulletClass,b.onClickIndex),b.params.a11y&&b.a11y&&b.paginationContainer[a]("keydown","."+b.params.bulletClass,b.a11y.onEnterKey)),(b.params.preventClicks||b.params.preventClicksPropagation)&&r[t]("click",b.preventClicks,!0)},b.attachEvents=function(){b.initEvents()},b.detachEvents=function(){b.initEvents(!0)},b.allowClick=!0,b.preventClicks=function(e){b.allowClick||(b.params.preventClicks&&e.preventDefault(),b.params.preventClicksPropagation&&b.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))},b.onClickNext=function(e){e.preventDefault(),b.isEnd&&!b.params.loop||b.slideNext()},b.onClickPrev=function(e){e.preventDefault(),b.isBeginning&&!b.params.loop||b.slidePrev()},b.onClickIndex=function(e){e.preventDefault();var t=a(this).index()*b.params.slidesPerGroup;b.params.loop&&(t+=b.loopedSlides),b.slideTo(t)},b.updateClickedSlide=function(e){var t=o(e,"."+b.params.slideClass),n=!1;if(t)for(var r=0;rb.slides.length-b.loopedSlides+b.params.slidesPerView/2?(b.fixLoop(),s=b.wrapper.children("."+b.params.slideClass+'[data-swiper-slide-index="'+i+'"]:not(.'+b.params.slideDuplicateClass+")").eq(0).index(),setTimeout(function(){b.slideTo(s)},0)):b.slideTo(s):s>b.slides.length-b.params.slidesPerView?(b.fixLoop(),s=b.wrapper.children("."+b.params.slideClass+'[data-swiper-slide-index="'+i+'"]:not(.'+b.params.slideDuplicateClass+")").eq(0).index(),setTimeout(function(){b.slideTo(s)},0)):b.slideTo(s)}else b.slideTo(s)}};var C,y,x,T,k,P,S,M,I,E,O="input, select, textarea, button, video",D=Date.now(),z=[];b.animating=!1,b.touches={startX:0,startY:0,currentX:0,currentY:0,diff:0};var L,B;b.onTouchStart=function(e){if(e.originalEvent&&(e=e.originalEvent),L="touchstart"===e.type,L||!("which"in e)||3!==e.which){if(b.params.noSwiping&&o(e,"."+b.params.noSwipingClass))return void(b.allowClick=!0);if(!b.params.swipeHandler||o(e,b.params.swipeHandler)){var t=b.touches.currentX="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,n=b.touches.currentY="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY;if(!(b.device.ios&&b.params.iOSEdgeSwipeDetection&&t<=b.params.iOSEdgeSwipeThreshold)){if(C=!0,y=!1,x=!0,k=void 0,B=void 0,b.touches.startX=t,b.touches.startY=n,T=Date.now(),b.allowClick=!0,b.updateContainerSize(),b.swipeDirection=void 0,b.params.threshold>0&&(M=!1),"touchstart"!==e.type){var r=!0;a(e.target).is(O)&&(r=!1),document.activeElement&&a(document.activeElement).is(O)&&document.activeElement.blur(),r&&e.preventDefault()}b.emit("onTouchStart",b,e)}}}},b.onTouchMove=function(e){if(e.originalEvent&&(e=e.originalEvent),!L||"mousemove"!==e.type){if(e.preventedByNestedSwiper)return b.touches.startX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,void(b.touches.startY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY);if(b.params.onlyExternal)return b.allowClick=!1,void(C&&(b.touches.startX=b.touches.currentX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,b.touches.startY=b.touches.currentY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,T=Date.now()));if(L&&b.params.touchReleaseOnEdges&&!b.params.loop)if(b.isHorizontal()){if(b.touches.currentXb.touches.startX&&b.translate>=b.minTranslate())return}else if(b.touches.currentYb.touches.startY&&b.translate>=b.minTranslate())return;if(L&&document.activeElement&&e.target===document.activeElement&&a(e.target).is(O))return y=!0,void(b.allowClick=!1);if(x&&b.emit("onTouchMove",b,e),!(e.targetTouches&&e.targetTouches.length>1)){if(b.touches.currentX="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,b.touches.currentY="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,"undefined"==typeof k){var t;b.isHorizontal()&&b.touches.currentY===b.touches.startY||!b.isHorizontal()&&b.touches.currentX!==b.touches.startX?k=!1:(t=180*Math.atan2(Math.abs(b.touches.currentY-b.touches.startY),Math.abs(b.touches.currentX-b.touches.startX))/Math.PI,k=b.isHorizontal()?t>b.params.touchAngle:90-t>b.params.touchAngle)}if(k&&b.emit("onTouchMoveOpposite",b,e),"undefined"==typeof B&&b.browser.ieTouch&&(b.touches.currentX===b.touches.startX&&b.touches.currentY===b.touches.startY||(B=!0)),C){if(k)return void(C=!1);if(B||!b.browser.ieTouch){b.allowClick=!1,b.emit("onSliderMove",b,e),e.preventDefault(),b.params.touchMoveStopPropagation&&!b.params.nested&&e.stopPropagation(),y||(n.loop&&b.fixLoop(),S=b.getWrapperTranslate(),b.setWrapperTransition(0),b.animating&&b.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"),b.params.autoplay&&b.autoplaying&&(b.params.autoplayDisableOnInteraction?b.stopAutoplay():b.pauseAutoplay()),E=!1,!b.params.grabCursor||b.params.allowSwipeToNext!==!0&&b.params.allowSwipeToPrev!==!0||b.setGrabCursor(!0)),y=!0;var r=b.touches.diff=b.isHorizontal()?b.touches.currentX-b.touches.startX:b.touches.currentY-b.touches.startY;r*=b.params.touchRatio,b.rtl&&(r=-r),b.swipeDirection=r>0?"prev":"next",P=r+S;var i=!0;if(r>0&&P>b.minTranslate()?(i=!1,b.params.resistance&&(P=b.minTranslate()-1+Math.pow(-b.minTranslate()+S+r,b.params.resistanceRatio))):r<0&&PS&&(P=S),b.params.threshold>0){if(!(Math.abs(r)>b.params.threshold||M))return void(P=S);if(!M)return M=!0,b.touches.startX=b.touches.currentX,b.touches.startY=b.touches.currentY,P=S,void(b.touches.diff=b.isHorizontal()?b.touches.currentX-b.touches.startX:b.touches.currentY-b.touches.startY)}b.params.followFinger&&((b.params.freeMode||b.params.watchSlidesProgress)&&b.updateActiveIndex(),b.params.freeMode&&(0===z.length&&z.push({position:b.touches[b.isHorizontal()?"startX":"startY"],time:T}),z.push({position:b.touches[b.isHorizontal()?"currentX":"currentY"],time:(new window.Date).getTime()})),b.updateProgress(P),b.setWrapperTranslate(P))}}}}},b.onTouchEnd=function(e){if(e.originalEvent&&(e=e.originalEvent),x&&b.emit("onTouchEnd",b,e),x=!1,C){b.params.grabCursor&&y&&C&&(b.params.allowSwipeToNext===!0||b.params.allowSwipeToPrev===!0)&&b.setGrabCursor(!1);var t=Date.now(),n=t-T;if(b.allowClick&&(b.updateClickedSlide(e),b.emit("onTap",b,e),n<300&&t-D>300&&(I&&clearTimeout(I),I=setTimeout(function(){b&&(b.params.paginationHide&&b.paginationContainer.length>0&&!a(e.target).hasClass(b.params.bulletClass)&&b.paginationContainer.toggleClass(b.params.paginationHiddenClass),b.emit("onClick",b,e))},300)),n<300&&t-D<300&&(I&&clearTimeout(I),b.emit("onDoubleTap",b,e))),D=Date.now(),setTimeout(function(){b&&(b.allowClick=!0)},0),!C||!y||!b.swipeDirection||0===b.touches.diff||P===S)return void(C=y=!1);C=y=!1;var r;if(r=b.params.followFinger?b.rtl?b.translate:-b.translate:-P,b.params.freeMode){if(r<-b.minTranslate())return void b.slideTo(b.activeIndex);if(r>-b.maxTranslate())return void(b.slides.length1){var i=z.pop(),s=z.pop(),o=i.position-s.position,l=i.time-s.time;b.velocity=o/l,b.velocity=b.velocity/2,Math.abs(b.velocity)150||(new window.Date).getTime()-i.time>300)&&(b.velocity=0)}else b.velocity=0;b.velocity=b.velocity*b.params.freeModeMomentumVelocityRatio,z.length=0;var p=1e3*b.params.freeModeMomentumRatio,d=b.velocity*p,c=b.translate+d;b.rtl&&(c=-c);var u,m=!1,f=20*Math.abs(b.velocity)*b.params.freeModeMomentumBounceRatio;if(cb.minTranslate())b.params.freeModeMomentumBounce?(c-b.minTranslate()>f&&(c=b.minTranslate()+f),u=b.minTranslate(),m=!0,E=!0):c=b.minTranslate();else if(b.params.freeModeSticky){var h,g=0;for(g=0;g-c){h=g;break}c=Math.abs(b.snapGrid[h]-c)=b.params.longSwipesMs)&&(b.updateProgress(),b.updateActiveIndex()))}var v,w=0,k=b.slidesSizesGrid[0];for(v=0;v=b.slidesGrid[v]&&r=b.slidesGrid[v]&&(w=v,k=b.slidesGrid[b.slidesGrid.length-1]-b.slidesGrid[b.slidesGrid.length-2]);var M=(r-b.slidesGrid[w])/k;if(n>b.params.longSwipesMs){if(!b.params.longSwipes)return void b.slideTo(b.activeIndex);"next"===b.swipeDirection&&(M>=b.params.longSwipesRatio?b.slideTo(w+b.params.slidesPerGroup):b.slideTo(w)),"prev"===b.swipeDirection&&(M>1-b.params.longSwipesRatio?b.slideTo(w+b.params.slidesPerGroup):b.slideTo(w))}else{if(!b.params.shortSwipes)return void b.slideTo(b.activeIndex);"next"===b.swipeDirection&&b.slideTo(w+b.params.slidesPerGroup),"prev"===b.swipeDirection&&b.slideTo(w)}}},b._slideTo=function(e,a){return b.slideTo(e,a,!0,!0)},b.slideTo=function(e,a,t,n){"undefined"==typeof t&&(t=!0),"undefined"==typeof e&&(e=0),e<0&&(e=0),b.snapIndex=Math.floor(e/b.params.slidesPerGroup),b.snapIndex>=b.snapGrid.length&&(b.snapIndex=b.snapGrid.length-1);var r=-b.snapGrid[b.snapIndex];if(b.params.autoplay&&b.autoplaying&&(n||!b.params.autoplayDisableOnInteraction?b.pauseAutoplay(a):b.stopAutoplay()),b.updateProgress(r),b.params.normalizeSlideIndex)for(var i=0;i=Math.floor(100*b.slidesGrid[i])&&(e=i);return!(!b.params.allowSwipeToNext&&rb.translate&&r>b.maxTranslate()&&(b.activeIndex||0)!==e)&&("undefined"==typeof a&&(a=b.params.speed),b.previousIndex=b.activeIndex||0,b.activeIndex=e,b.updateRealIndex(),b.rtl&&-r===b.translate||!b.rtl&&r===b.translate?(b.params.autoHeight&&b.updateAutoHeight(),b.updateClasses(),"slide"!==b.params.effect&&b.setWrapperTranslate(r),!1):(b.updateClasses(),b.onTransitionStart(t),0===a||b.browser.lteIE9?(b.setWrapperTranslate(r),b.setWrapperTransition(0),b.onTransitionEnd(t)):(b.setWrapperTranslate(r),b.setWrapperTransition(a),b.animating||(b.animating=!0,b.wrapper.transitionEnd(function(){b&&b.onTransitionEnd(t)}))),!0)))},b.onTransitionStart=function(e){"undefined"==typeof e&&(e=!0),b.params.autoHeight&&b.updateAutoHeight(),b.lazy&&b.lazy.onTransitionStart(),e&&(b.emit("onTransitionStart",b),b.activeIndex!==b.previousIndex&&(b.emit("onSlideChangeStart",b),b.activeIndex>b.previousIndex?b.emit("onSlideNextStart",b):b.emit("onSlidePrevStart",b)))},b.onTransitionEnd=function(e){b.animating=!1,b.setWrapperTransition(0),"undefined"==typeof e&&(e=!0),b.lazy&&b.lazy.onTransitionEnd(),e&&(b.emit("onTransitionEnd",b),b.activeIndex!==b.previousIndex&&(b.emit("onSlideChangeEnd",b),b.activeIndex>b.previousIndex?b.emit("onSlideNextEnd",b):b.emit("onSlidePrevEnd",b))),b.params.history&&b.history&&b.history.setHistory(b.params.history,b.activeIndex),b.params.hashnav&&b.hashnav&&b.hashnav.setHash()},b.slideNext=function(e,a,t){if(b.params.loop){if(b.animating)return!1;b.fixLoop();b.container[0].clientLeft;return b.slideTo(b.activeIndex+b.params.slidesPerGroup,a,e,t)}return b.slideTo(b.activeIndex+b.params.slidesPerGroup,a,e,t)},b._slideNext=function(e){return b.slideNext(!0,e,!0)},b.slidePrev=function(e,a,t){if(b.params.loop){if(b.animating)return!1;b.fixLoop();b.container[0].clientLeft;return b.slideTo(b.activeIndex-1,a,e,t)}return b.slideTo(b.activeIndex-1,a,e,t)},b._slidePrev=function(e){return b.slidePrev(!0,e,!0)},b.slideReset=function(e,a,t){return b.slideTo(b.activeIndex,a,e)},b.disableTouchControl=function(){return b.params.onlyExternal=!0,!0},b.enableTouchControl=function(){return b.params.onlyExternal=!1,!0},b.setWrapperTransition=function(e,a){b.wrapper.transition(e),"slide"!==b.params.effect&&b.effects[b.params.effect]&&b.effects[b.params.effect].setTransition(e),b.params.parallax&&b.parallax&&b.parallax.setTransition(e),b.params.scrollbar&&b.scrollbar&&b.scrollbar.setTransition(e),b.params.control&&b.controller&&b.controller.setTransition(e,a),b.emit("onSetTransition",b,e)},b.setWrapperTranslate=function(e,a,t){var n=0,i=0,s=0;b.isHorizontal()?n=b.rtl?-e:e:i=e,b.params.roundLengths&&(n=r(n),i=r(i)),b.params.virtualTranslate||(b.support.transforms3d?b.wrapper.transform("translate3d("+n+"px, "+i+"px, "+s+"px)"):b.wrapper.transform("translate("+n+"px, "+i+"px)")),b.translate=b.isHorizontal()?n:i;var o,l=b.maxTranslate()-b.minTranslate();o=0===l?0:(e-b.minTranslate())/l,o!==b.progress&&b.updateProgress(e),a&&b.updateActiveIndex(),"slide"!==b.params.effect&&b.effects[b.params.effect]&&b.effects[b.params.effect].setTranslate(b.translate),b.params.parallax&&b.parallax&&b.parallax.setTranslate(b.translate),b.params.scrollbar&&b.scrollbar&&b.scrollbar.setTranslate(b.translate),b.params.control&&b.controller&&b.controller.setTranslate(b.translate,t),b.emit("onSetTranslate",b,b.translate)},b.getTranslate=function(e,a){var t,n,r,i;return"undefined"==typeof a&&(a="x"),b.params.virtualTranslate?b.rtl?-b.translate:b.translate:(r=window.getComputedStyle(e,null),window.WebKitCSSMatrix?(n=r.transform||r.webkitTransform,n.split(",").length>6&&(n=n.split(", ").map(function(e){return e.replace(",",".")}).join(", ")),i=new window.WebKitCSSMatrix("none"===n?"":n)):(i=r.MozTransform||r.OTransform||r.MsTransform||r.msTransform||r.transform||r.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),t=i.toString().split(",")),"x"===a&&(n=window.WebKitCSSMatrix?i.m41:16===t.length?parseFloat(t[12]):parseFloat(t[4])),"y"===a&&(n=window.WebKitCSSMatrix?i.m42:16===t.length?parseFloat(t[13]):parseFloat(t[5])),b.rtl&&n&&(n=-n),n||0)},b.getWrapperTranslate=function(e){return"undefined"==typeof e&&(e=b.isHorizontal()?"x":"y"),b.getTranslate(b.wrapper[0],e)},b.observers=[],b.initObservers=function(){if(b.params.observeParents)for(var e=b.container.parents(),a=0;ae.length&&(b.loopedSlides=e.length);var t,n=[],r=[];for(e.each(function(t,i){var s=a(this);t=e.length-b.loopedSlides&&n.push(i),s.attr("data-swiper-slide-index",t)}),t=0;t=0;t--)b.wrapper.prepend(a(n[t].cloneNode(!0)).addClass(b.params.slideDuplicateClass))},b.destroyLoop=function(){b.wrapper.children("."+b.params.slideClass+"."+b.params.slideDuplicateClass).remove(),b.slides.removeAttr("data-swiper-slide-index")},b.reLoop=function(e){var a=b.activeIndex-b.loopedSlides;b.destroyLoop(),b.createLoop(),b.updateSlidesSize(),e&&b.slideTo(a+b.loopedSlides,0,!1)},b.fixLoop=function(){var e;b.activeIndex=2*b.loopedSlides||b.activeIndex>b.slides.length-2*b.params.slidesPerView)&&(e=-b.slides.length+b.activeIndex+b.loopedSlides,e+=b.loopedSlides,b.slideTo(e,0,!1,!0))},b.appendSlide=function(e){if(b.params.loop&&b.destroyLoop(),"object"==typeof e&&e.length)for(var a=0;a'),t.append(d)),0===c.length&&(c=a('
                                      '),t.append(c)),d.length&&(d[0].style.opacity=Math.max(-n,0)),c.length&&(c[0].style.opacity=Math.max(n,0))}t.transform("translate3d("+l+"px, "+p+"px, 0px) rotateX("+o+"deg) rotateY("+s+"deg)")}},setTransition:function(e){if(b.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),b.params.virtualTranslate&&0!==e){var t=!1;b.slides.eq(b.activeIndex).transitionEnd(function(){if(!t&&b&&a(this).hasClass(b.params.slideActiveClass)){t=!0,b.animating=!1;for(var e=["webkitTransitionEnd","transitionend","oTransitionEnd","MSTransitionEnd","msTransitionEnd"],n=0;n'),b.wrapper.append(e)),e.css({height:b.width+"px"})):(e=b.container.find(".swiper-cube-shadow"),0===e.length&&(e=a('
                                      '),b.container.append(e))));for(var n=0;n-1&&(t=90*n+90*o,b.rtl&&(t=90*-n-90*o)),r.transform(c),b.params.cube.slideShadows){var u=b.isHorizontal()?r.find(".swiper-slide-shadow-left"):r.find(".swiper-slide-shadow-top"),m=b.isHorizontal()?r.find(".swiper-slide-shadow-right"):r.find(".swiper-slide-shadow-bottom");0===u.length&&(u=a('
                                      '),r.append(u)),0===m.length&&(m=a('
                                      '),r.append(m)),u.length&&(u[0].style.opacity=Math.max(-o,0)),m.length&&(m[0].style.opacity=Math.max(o,0))}}if(b.wrapper.css({"-webkit-transform-origin":"50% 50% -"+b.size/2+"px","-moz-transform-origin":"50% 50% -"+b.size/2+"px","-ms-transform-origin":"50% 50% -"+b.size/2+"px","transform-origin":"50% 50% -"+b.size/2+"px"}),b.params.cube.shadow)if(b.isHorizontal())e.transform("translate3d(0px, "+(b.width/2+b.params.cube.shadowOffset)+"px, "+-b.width/2+"px) rotateX(90deg) rotateZ(0deg) scale("+b.params.cube.shadowScale+")");else{var f=Math.abs(t)-90*Math.floor(Math.abs(t)/90),h=1.5-(Math.sin(2*f*Math.PI/360)/2+Math.cos(2*f*Math.PI/360)/2),g=b.params.cube.shadowScale,v=b.params.cube.shadowScale/h,w=b.params.cube.shadowOffset;e.transform("scale3d("+g+", 1, "+v+") translate3d(0px, "+(b.height/2+w)+"px, "+-b.height/2/v+"px) rotateX(-90deg)")}var C=b.isSafari||b.isUiWebView?-b.size/2:0;b.wrapper.transform("translate3d(0px,0,"+C+"px) rotateX("+(b.isHorizontal()?0:t)+"deg) rotateY("+(b.isHorizontal()?-t:0)+"deg)")},setTransition:function(e){b.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),b.params.cube.shadow&&!b.isHorizontal()&&b.container.find(".swiper-cube-shadow").transition(e)}},coverflow:{setTranslate:function(){for(var e=b.translate,t=b.isHorizontal()?-e+b.width/2:-e+b.height/2,n=b.isHorizontal()?b.params.coverflow.rotate:-b.params.coverflow.rotate,r=b.params.coverflow.depth,i=0,s=b.slides.length;i'),o.append(v)),0===w.length&&(w=a('
                                      '),o.append(w)),v.length&&(v[0].style.opacity=d>0?d:0),w.length&&(w[0].style.opacity=-d>0?-d:0)}}if(b.browser.ie){var C=b.wrapper[0].style;C.perspectiveOrigin=t+"px 50%"}},setTransition:function(e){b.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}}},b.lazy={initialImageLoaded:!1,loadImageInSlide:function(e,t){if("undefined"!=typeof e&&("undefined"==typeof t&&(t=!0),0!==b.slides.length)){var n=b.slides.eq(e),r=n.find("."+b.params.lazyLoadingClass+":not(."+b.params.lazyStatusLoadedClass+"):not(."+b.params.lazyStatusLoadingClass+")");!n.hasClass(b.params.lazyLoadingClass)||n.hasClass(b.params.lazyStatusLoadedClass)||n.hasClass(b.params.lazyStatusLoadingClass)||(r=r.add(n[0])),0!==r.length&&r.each(function(){var e=a(this);e.addClass(b.params.lazyStatusLoadingClass);var r=e.attr("data-background"),i=e.attr("data-src"),s=e.attr("data-srcset"),o=e.attr("data-sizes");b.loadImage(e[0],i||r,s,o,!1,function(){if(r?(e.css("background-image",'url("'+r+'")'),e.removeAttr("data-background")):(s&&(e.attr("srcset",s),e.removeAttr("data-srcset")),o&&(e.attr("sizes",o),e.removeAttr("data-sizes")),i&&(e.attr("src",i),e.removeAttr("data-src"))),e.addClass(b.params.lazyStatusLoadedClass).removeClass(b.params.lazyStatusLoadingClass),n.find("."+b.params.lazyPreloaderClass+", ."+b.params.preloaderClass).remove(),b.params.loop&&t){var a=n.attr("data-swiper-slide-index");if(n.hasClass(b.params.slideDuplicateClass)){var l=b.wrapper.children('[data-swiper-slide-index="'+a+'"]:not(.'+b.params.slideDuplicateClass+")");b.lazy.loadImageInSlide(l.index(),!1)}else{var p=b.wrapper.children("."+b.params.slideDuplicateClass+'[data-swiper-slide-index="'+a+'"]');b.lazy.loadImageInSlide(p.index(),!1)}}b.emit("onLazyImageReady",b,n[0],e[0])}),b.emit("onLazyImageLoad",b,n[0],e[0])})}},load:function(){var e,t=b.params.slidesPerView;if("auto"===t&&(t=0),b.lazy.initialImageLoaded||(b.lazy.initialImageLoaded=!0),b.params.watchSlidesVisibility)b.wrapper.children("."+b.params.slideVisibleClass).each(function(){b.lazy.loadImageInSlide(a(this).index())});else if(t>1)for(e=b.activeIndex;e1||b.params.lazyLoadingInPrevNextAmount&&b.params.lazyLoadingInPrevNextAmount>1){var n=b.params.lazyLoadingInPrevNextAmount,r=t,i=Math.min(b.activeIndex+r+Math.max(n,r),b.slides.length),s=Math.max(b.activeIndex-Math.max(r,n),0);for(e=b.activeIndex+t;e0&&b.lazy.loadImageInSlide(o.index());var l=b.wrapper.children("."+b.params.slidePrevClass);l.length>0&&b.lazy.loadImageInSlide(l.index())}},onTransitionStart:function(){b.params.lazyLoading&&(b.params.lazyLoadingOnTransitionStart||!b.params.lazyLoadingOnTransitionStart&&!b.lazy.initialImageLoaded)&&b.lazy.load()},onTransitionEnd:function(){b.params.lazyLoading&&!b.params.lazyLoadingOnTransitionStart&&b.lazy.load()}},b.scrollbar={isTouched:!1,setDragPosition:function(e){var a=b.scrollbar,t=b.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageX:e.pageX||e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].pageY:e.pageY||e.clientY,n=t-a.track.offset()[b.isHorizontal()?"left":"top"]-a.dragSize/2,r=-b.minTranslate()*a.moveDivider,i=-b.maxTranslate()*a.moveDivider;ni&&(n=i),n=-n/a.moveDivider,b.updateProgress(n),b.setWrapperTranslate(n,!0)},dragStart:function(e){var a=b.scrollbar;a.isTouched=!0,e.preventDefault(),e.stopPropagation(),a.setDragPosition(e),clearTimeout(a.dragTimeout),a.track.transition(0),b.params.scrollbarHide&&a.track.css("opacity",1),b.wrapper.transition(100),a.drag.transition(100),b.emit("onScrollbarDragStart",b)},dragMove:function(e){var a=b.scrollbar;a.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,a.setDragPosition(e),b.wrapper.transition(0),a.track.transition(0),a.drag.transition(0),b.emit("onScrollbarDragMove",b))},dragEnd:function(e){var a=b.scrollbar;a.isTouched&&(a.isTouched=!1,b.params.scrollbarHide&&(clearTimeout(a.dragTimeout),a.dragTimeout=setTimeout(function(){a.track.css("opacity",0),a.track.transition(400)},1e3)),b.emit("onScrollbarDragEnd",b),b.params.scrollbarSnapOnRelease&&b.slideReset())},draggableEvents:function(){return b.params.simulateTouch!==!1||b.support.touch?b.touchEvents:b.touchEventsDesktop}(),enableDraggable:function(){var e=b.scrollbar,t=b.support.touch?e.track:document;a(e.track).on(e.draggableEvents.start,e.dragStart),a(t).on(e.draggableEvents.move,e.dragMove),a(t).on(e.draggableEvents.end,e.dragEnd)},disableDraggable:function(){var e=b.scrollbar,t=b.support.touch?e.track:document;a(e.track).off(b.draggableEvents.start,e.dragStart),a(t).off(b.draggableEvents.move,e.dragMove),a(t).off(b.draggableEvents.end,e.dragEnd)},set:function(){if(b.params.scrollbar){var e=b.scrollbar;e.track=a(b.params.scrollbar),b.params.uniqueNavElements&&"string"==typeof b.params.scrollbar&&e.track.length>1&&1===b.container.find(b.params.scrollbar).length&&(e.track=b.container.find(b.params.scrollbar)),e.drag=e.track.find(".swiper-scrollbar-drag"),0===e.drag.length&&(e.drag=a('
                                      '),e.track.append(e.drag)),e.drag[0].style.width="",e.drag[0].style.height="",e.trackSize=b.isHorizontal()?e.track[0].offsetWidth:e.track[0].offsetHeight,e.divider=b.size/b.virtualSize,e.moveDivider=e.divider*(e.trackSize/b.size),e.dragSize=e.trackSize*e.divider,b.isHorizontal()?e.drag[0].style.width=e.dragSize+"px":e.drag[0].style.height=e.dragSize+"px",e.divider>=1?e.track[0].style.display="none":e.track[0].style.display="",b.params.scrollbarHide&&(e.track[0].style.opacity=0)}},setTranslate:function(){if(b.params.scrollbar){var e,a=b.scrollbar,t=(b.translate||0,a.dragSize);e=(a.trackSize-a.dragSize)*b.progress,b.rtl&&b.isHorizontal()?(e=-e,e>0?(t=a.dragSize-e,e=0):-e+a.dragSize>a.trackSize&&(t=a.trackSize+e)):e<0?(t=a.dragSize+e,e=0):e+a.dragSize>a.trackSize&&(t=a.trackSize-e),b.isHorizontal()?(b.support.transforms3d?a.drag.transform("translate3d("+e+"px, 0, 0)"):a.drag.transform("translateX("+e+"px)"),a.drag[0].style.width=t+"px"):(b.support.transforms3d?a.drag.transform("translate3d(0px, "+e+"px, 0)"):a.drag.transform("translateY("+e+"px)"),a.drag[0].style.height=t+"px"),b.params.scrollbarHide&&(clearTimeout(a.timeout),a.track[0].style.opacity=1,a.timeout=setTimeout(function(){a.track[0].style.opacity=0,a.track.transition(400)},1e3))}},setTransition:function(e){b.params.scrollbar&&b.scrollbar.drag.transition(e)}},b.controller={LinearSpline:function(e,a){ -this.x=e,this.y=a,this.lastIndex=e.length-1;var t,n;this.x.length;this.interpolate=function(e){return e?(n=r(this.x,e),t=n-1,(e-this.x[t])*(this.y[n]-this.y[t])/(this.x[n]-this.x[t])+this.y[t]):0};var r=function(){var e,a,t;return function(n,r){for(a=-1,e=n.length;e-a>1;)n[t=e+a>>1]<=r?a=t:e=t;return e}}()},getInterpolateFunction:function(e){b.controller.spline||(b.controller.spline=b.params.loop?new b.controller.LinearSpline(b.slidesGrid,e.slidesGrid):new b.controller.LinearSpline(b.snapGrid,e.snapGrid))},setTranslate:function(e,a){function t(a){e=a.rtl&&"horizontal"===a.params.direction?-b.translate:b.translate,"slide"===b.params.controlBy&&(b.controller.getInterpolateFunction(a),r=-b.controller.spline.interpolate(-e)),r&&"container"!==b.params.controlBy||(n=(a.maxTranslate()-a.minTranslate())/(b.maxTranslate()-b.minTranslate()),r=(e-b.minTranslate())*n+a.minTranslate()),b.params.controlInverse&&(r=a.maxTranslate()-r),a.updateProgress(r),a.setWrapperTranslate(r,!1,b),a.updateActiveIndex()}var n,r,i=b.params.control;if(b.isArray(i))for(var s=0;sa.gesture.zoomMax&&(a.scale=a.gesture.zoomMax-1+Math.pow(a.scale-a.gesture.zoomMax+1,.5)),a.scalea.image.touchesStart.x)return void(a.image.isTouched=!1);if(!b.isHorizontal()&&Math.floor(a.image.minY)===Math.floor(a.image.startY)&&a.image.touchesCurrent.ya.image.touchesStart.y)return void(a.image.isTouched=!1)}e.preventDefault(),e.stopPropagation(),a.image.isMoved=!0,a.image.currentX=a.image.touchesCurrent.x-a.image.touchesStart.x+a.image.startX,a.image.currentY=a.image.touchesCurrent.y-a.image.touchesStart.y+a.image.startY,a.image.currentXa.image.maxX&&(a.image.currentX=a.image.maxX-1+Math.pow(a.image.currentX-a.image.maxX+1,.8)),a.image.currentYa.image.maxY&&(a.image.currentY=a.image.maxY-1+Math.pow(a.image.currentY-a.image.maxY+1,.8)),a.velocity.prevPositionX||(a.velocity.prevPositionX=a.image.touchesCurrent.x),a.velocity.prevPositionY||(a.velocity.prevPositionY=a.image.touchesCurrent.y),a.velocity.prevTime||(a.velocity.prevTime=Date.now()),a.velocity.x=(a.image.touchesCurrent.x-a.velocity.prevPositionX)/(Date.now()-a.velocity.prevTime)/2,a.velocity.y=(a.image.touchesCurrent.y-a.velocity.prevPositionY)/(Date.now()-a.velocity.prevTime)/2,Math.abs(a.image.touchesCurrent.x-a.velocity.prevPositionX)<2&&(a.velocity.x=0),Math.abs(a.image.touchesCurrent.y-a.velocity.prevPositionY)<2&&(a.velocity.y=0),a.velocity.prevPositionX=a.image.touchesCurrent.x,a.velocity.prevPositionY=a.image.touchesCurrent.y,a.velocity.prevTime=Date.now(),a.gesture.imageWrap.transform("translate3d("+a.image.currentX+"px, "+a.image.currentY+"px,0)")}}},onTouchEnd:function(e,a){var t=e.zoom;if(t.gesture.image&&0!==t.gesture.image.length){if(!t.image.isTouched||!t.image.isMoved)return t.image.isTouched=!1,void(t.image.isMoved=!1);t.image.isTouched=!1,t.image.isMoved=!1;var n=300,r=300,i=t.velocity.x*n,s=t.image.currentX+i,o=t.velocity.y*r,l=t.image.currentY+o;0!==t.velocity.x&&(n=Math.abs((s-t.image.currentX)/t.velocity.x)),0!==t.velocity.y&&(r=Math.abs((l-t.image.currentY)/t.velocity.y));var p=Math.max(n,r);t.image.currentX=s,t.image.currentY=l;var d=t.image.width*t.scale,c=t.image.height*t.scale;t.image.minX=Math.min(t.gesture.slideWidth/2-d/2,0),t.image.maxX=-t.image.minX,t.image.minY=Math.min(t.gesture.slideHeight/2-c/2,0),t.image.maxY=-t.image.minY,t.image.currentX=Math.max(Math.min(t.image.currentX,t.image.maxX),t.image.minX),t.image.currentY=Math.max(Math.min(t.image.currentY,t.image.maxY),t.image.minY),t.gesture.imageWrap.transition(p).transform("translate3d("+t.image.currentX+"px, "+t.image.currentY+"px,0)")}},onTransitionEnd:function(e){var a=e.zoom;a.gesture.slide&&e.previousIndex!==e.activeIndex&&(a.gesture.image.transform("translate3d(0,0,0) scale(1)"),a.gesture.imageWrap.transform("translate3d(0,0,0)"),a.gesture.slide=a.gesture.image=a.gesture.imageWrap=void 0,a.scale=a.currentScale=1)},toggleZoom:function(e,t){var n=e.zoom;if(n.gesture.slide||(n.gesture.slide=e.clickedSlide?a(e.clickedSlide):e.slides.eq(e.activeIndex),n.gesture.image=n.gesture.slide.find("img, svg, canvas"),n.gesture.imageWrap=n.gesture.image.parent("."+e.params.zoomContainerClass)),n.gesture.image&&0!==n.gesture.image.length){var r,i,s,o,l,p,d,c,u,m,f,h,g,v,b,w,C,y;"undefined"==typeof n.image.touchesStart.x&&t?(r="touchend"===t.type?t.changedTouches[0].pageX:t.pageX,i="touchend"===t.type?t.changedTouches[0].pageY:t.pageY):(r=n.image.touchesStart.x,i=n.image.touchesStart.y),n.scale&&1!==n.scale?(n.scale=n.currentScale=1,n.gesture.imageWrap.transition(300).transform("translate3d(0,0,0)"),n.gesture.image.transition(300).transform("translate3d(0,0,0) scale(1)"),n.gesture.slide=void 0):(n.scale=n.currentScale=n.gesture.imageWrap.attr("data-swiper-zoom")||e.params.zoomMax,t?(C=n.gesture.slide[0].offsetWidth,y=n.gesture.slide[0].offsetHeight,s=n.gesture.slide.offset().left,o=n.gesture.slide.offset().top,l=s+C/2-r,p=o+y/2-i,u=n.gesture.image[0].offsetWidth,m=n.gesture.image[0].offsetHeight,f=u*n.scale,h=m*n.scale,g=Math.min(C/2-f/2,0),v=Math.min(y/2-h/2,0),b=-g,w=-v,d=l*n.scale,c=p*n.scale,db&&(d=b),cw&&(c=w)):(d=0,c=0),n.gesture.imageWrap.transition(300).transform("translate3d("+d+"px, "+c+"px,0)"),n.gesture.image.transition(300).transform("translate3d(0,0,0) scale("+n.scale+")"))}},attachEvents:function(e){var t=e?"off":"on";if(b.params.zoom){var n=(b.slides,!("touchstart"!==b.touchEvents.start||!b.support.passiveListener||!b.params.passiveListeners)&&{passive:!0,capture:!1});b.support.gestures?(b.slides[t]("gesturestart",b.zoom.onGestureStart,n),b.slides[t]("gesturechange",b.zoom.onGestureChange,n),b.slides[t]("gestureend",b.zoom.onGestureEnd,n)):"touchstart"===b.touchEvents.start&&(b.slides[t](b.touchEvents.start,b.zoom.onGestureStart,n),b.slides[t](b.touchEvents.move,b.zoom.onGestureChange,n),b.slides[t](b.touchEvents.end,b.zoom.onGestureEnd,n)),b[t]("touchStart",b.zoom.onTouchStart),b.slides.each(function(e,n){a(n).find("."+b.params.zoomContainerClass).length>0&&a(n)[t](b.touchEvents.move,b.zoom.onTouchMove)}),b[t]("touchEnd",b.zoom.onTouchEnd),b[t]("transitionEnd",b.zoom.onTransitionEnd),b.params.zoomToggle&&b.on("doubleTap",b.zoom.toggleZoom)}},init:function(){b.zoom.attachEvents()},destroy:function(){b.zoom.attachEvents(!0)}},b._plugins=[];for(var N in b.plugins){var H=b.plugins[N](b,b.params[N]);H&&b._plugins.push(H)}return b.callPlugins=function(e){for(var a=0;a'),notify:function(e){var a=b.a11y.liveRegion;0!==a.length&&(a.html(""),a.html(e))},init:function(){b.params.nextButton&&b.nextButton&&b.nextButton.length>0&&(b.a11y.makeFocusable(b.nextButton),b.a11y.addRole(b.nextButton,"button"),b.a11y.addLabel(b.nextButton,b.params.nextSlideMessage)),b.params.prevButton&&b.prevButton&&b.prevButton.length>0&&(b.a11y.makeFocusable(b.prevButton),b.a11y.addRole(b.prevButton,"button"),b.a11y.addLabel(b.prevButton,b.params.prevSlideMessage)),a(b.container).append(b.a11y.liveRegion)},initPagination:function(){b.params.pagination&&b.params.paginationClickable&&b.bullets&&b.bullets.length&&b.bullets.each(function(){var e=a(this);b.a11y.makeFocusable(e),b.a11y.addRole(e,"button"),b.a11y.addLabel(e,b.params.paginationBulletMessage.replace(/{{index}}/,e.index()+1))})},destroy:function(){b.a11y.liveRegion&&b.a11y.liveRegion.length>0&&b.a11y.liveRegion.remove()}},b.init=function(){b.params.loop&&b.createLoop(),b.updateContainerSize(),b.updateSlidesSize(),b.updatePagination(),b.params.scrollbar&&b.scrollbar&&(b.scrollbar.set(),b.params.scrollbarDraggable&&b.scrollbar.enableDraggable()),"slide"!==b.params.effect&&b.effects[b.params.effect]&&(b.params.loop||b.updateProgress(),b.effects[b.params.effect].setTranslate()),b.params.loop?b.slideTo(b.params.initialSlide+b.loopedSlides,0,b.params.runCallbacksOnInit):(b.slideTo(b.params.initialSlide,0,b.params.runCallbacksOnInit),0===b.params.initialSlide&&(b.parallax&&b.params.parallax&&b.parallax.setTranslate(),b.lazy&&b.params.lazyLoading&&(b.lazy.load(),b.lazy.initialImageLoaded=!0))),b.attachEvents(),b.params.observer&&b.support.observer&&b.initObservers(),b.params.preloadImages&&!b.params.lazyLoading&&b.preloadImages(),b.params.zoom&&b.zoom&&b.zoom.init(),b.params.autoplay&&b.startAutoplay(),b.params.keyboardControl&&b.enableKeyboardControl&&b.enableKeyboardControl(),b.params.mousewheelControl&&b.enableMousewheelControl&&b.enableMousewheelControl(),b.params.hashnavReplaceState&&(b.params.replaceState=b.params.hashnavReplaceState),b.params.history&&b.history&&b.history.init(),b.params.hashnav&&b.hashnav&&b.hashnav.init(),b.params.a11y&&b.a11y&&b.a11y.init(),b.emit("onInit",b)},b.cleanupStyles=function(){b.container.removeClass(b.classNames.join(" ")).removeAttr("style"),b.wrapper.removeAttr("style"),b.slides&&b.slides.length&&b.slides.removeClass([b.params.slideVisibleClass,b.params.slideActiveClass,b.params.slideNextClass,b.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),b.paginationContainer&&b.paginationContainer.length&&b.paginationContainer.removeClass(b.params.paginationHiddenClass),b.bullets&&b.bullets.length&&b.bullets.removeClass(b.params.bulletActiveClass),b.params.prevButton&&a(b.params.prevButton).removeClass(b.params.buttonDisabledClass),b.params.nextButton&&a(b.params.nextButton).removeClass(b.params.buttonDisabledClass),b.params.scrollbar&&b.scrollbar&&(b.scrollbar.track&&b.scrollbar.track.length&&b.scrollbar.track.removeAttr("style"),b.scrollbar.drag&&b.scrollbar.drag.length&&b.scrollbar.drag.removeAttr("style"))},b.destroy=function(e,a){b.detachEvents(),b.stopAutoplay(),b.params.scrollbar&&b.scrollbar&&b.params.scrollbarDraggable&&b.scrollbar.disableDraggable(),b.params.loop&&b.destroyLoop(),a&&b.cleanupStyles(),b.disconnectObservers(),b.params.zoom&&b.zoom&&b.zoom.destroy(),b.params.keyboardControl&&b.disableKeyboardControl&&b.disableKeyboardControl(),b.params.mousewheelControl&&b.disableMousewheelControl&&b.disableMousewheelControl(),b.params.a11y&&b.a11y&&b.a11y.destroy(),b.params.history&&!b.params.replaceState&&window.removeEventListener("popstate",b.history.setHistoryPopState),b.params.hashnav&&b.hashnav&&b.hashnav.destroy(),b.emit("onDestroy"),e!==!1&&(b=null)},b.init(),b}},Swiper.prototype={isSafari:function(){var e=navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isUiWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},browser:{ie:window.navigator.pointerEnabled||window.navigator.msPointerEnabled,ieTouch:window.navigator.msPointerEnabled&&window.navigator.msMaxTouchPoints>1||window.navigator.pointerEnabled&&window.navigator.maxTouchPoints>1,lteIE9:function(){var e=document.createElement("div");return e.innerHTML="",1===e.getElementsByTagName("i").length}()},device:function(){var e=navigator.userAgent,a=e.match(/(Android);?[\s\/]+([\d.]+)?/),t=e.match(/(iPad).*OS\s([\d_]+)/),n=e.match(/(iPod)(.*OS\s([\d_]+))?/),r=!t&&e.match(/(iPhone\sOS)\s([\d_]+)/);return{ios:t||r||n,android:a}}(),support:{touch:window.Modernizr&&Modernizr.touch===!0||function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}(),transforms3d:window.Modernizr&&Modernizr.csstransforms3d===!0||function(){var e=document.createElement("div").style;return"webkitPerspective"in e||"MozPerspective"in e||"OPerspective"in e||"MsPerspective"in e||"perspective"in e}(),flexbox:function(){for(var e=document.createElement("div").style,a="alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "),t=0;t',\n materialPreloaderHtml:\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '',\n materialRipple: true,\n materialRippleElements: '.ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a',\n // Auto init\n init: true,\n };\n \n // Extend defaults with parameters\n for (var param in params) {\n app.params[param] = params[param];\n }\n \n // DOM lib\n var $ = Dom7;\n \n // Template7 lib\n var t7 = Template7;\n app._compiledTemplates = {};\n \n // App Root\n app.root = $(app.params.root);\n app.root.eq(0).addClass('framework7-root');\n \n // Touch events\n app.touchEvents = {\n start: app.support.touch ? 'touchstart' : 'mousedown',\n move: app.support.touch ? 'touchmove' : 'mousemove',\n end: app.support.touch ? 'touchend' : 'mouseup'\n };\n \n // Link to local storage\n app.ls = window.localStorage;\n \n // RTL\n app.rtl = $('body').css('direction') === 'rtl';\n if (app.rtl) $('html').attr('dir', 'rtl');\n \n // Overwrite statusbar overlay\n if (typeof app.params.statusbarOverlay !== 'undefined') {\n if (app.params.statusbarOverlay) $('html').addClass('with-statusbar-overlay');\n else $('html').removeClass('with-statusbar-overlay');\n }\n \n\n /*======================================================\n ************ Views ************\n ======================================================*/\n app.views = [];\n var View = function (selector, params) {\n var defaults = {\n dynamicNavbar: false,\n domCache: false,\n linksView: undefined,\n reloadPages: false,\n uniqueHistory: app.params.uniqueHistory,\n uniqueHistoryIgnoreGetParameters: app.params.uniqueHistoryIgnoreGetParameters,\n allowDuplicateUrls: app.params.allowDuplicateUrls,\n swipeBackPage: app.params.swipeBackPage,\n swipeBackPageAnimateShadow: app.params.swipeBackPageAnimateShadow,\n swipeBackPageAnimateOpacity: app.params.swipeBackPageAnimateOpacity,\n swipeBackPageActiveArea: app.params.swipeBackPageActiveArea,\n swipeBackPageThreshold: app.params.swipeBackPageThreshold,\n animatePages: app.params.animatePages,\n preloadPreviousPage: app.params.preloadPreviousPage\n };\n var i;\n \n // Params\n params = params || {};\n \n // Disable dynamic navbar for material theme\n if (params.dynamicNavbar && app.params.material) params.dynamicNavbar = false;\n \n // Extend params with defaults\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n // View\n var view = this;\n view.params = params;\n \n // Selector\n view.selector = selector;\n \n // Container\n var container = $(selector);\n view.container = container[0];\n \n // Fix Selector\n \n if (typeof selector !== 'string') {\n // Supposed to be HTMLElement or Dom7\n selector = (container.attr('id') ? '#' + container.attr('id') : '') + (container.attr('class') ? '.' + container.attr('class').replace(/ /g, '.').replace('.active', '') : '');\n view.selector = selector;\n }\n \n // Is main\n view.main = container.hasClass(app.params.viewMainClass);\n \n // Content cache\n view.contentCache = {};\n \n // Context cache\n view.contextCache = {};\n \n // Pages cache\n view.pagesCache = {};\n view.pageElementsCache = {};\n \n // Store View in element for easy access\n container[0].f7View = view;\n \n // Pages\n view.pagesContainer = container.find('.pages')[0];\n view.initialPages = [];\n view.initialPagesUrl = [];\n view.initialNavbars = [];\n if (view.params.domCache) {\n var initialPages = container.find('.page');\n for (i = 0; i < initialPages.length; i++) {\n view.initialPages.push(initialPages[i]);\n view.initialPagesUrl.push('#' + initialPages.eq(i).attr('data-page'));\n }\n if (view.params.dynamicNavbar) {\n var initialNavbars = container.find('.navbar-inner');\n for (i = 0; i < initialNavbars.length; i++) {\n view.initialNavbars.push(initialNavbars[i]);\n }\n }\n \n }\n \n view.allowPageChange = true;\n \n // Location\n var docLocation = document.location.href;\n \n // History\n view.history = [];\n var viewURL = docLocation;\n var pushStateSeparator = app.params.pushStateSeparator;\n var pushStateRoot = app.params.pushStateRoot;\n if (app.params.pushState && view.main) {\n if (pushStateRoot) {\n viewURL = pushStateRoot;\n }\n else {\n if (pushStateSeparator && viewURL.indexOf(pushStateSeparator) >= 0 && viewURL.indexOf(pushStateSeparator + '#') < 0) viewURL = viewURL.split(pushStateSeparator)[0];\n }\n \n }\n \n // Active Page\n var currentPage, currentPageData;\n if (!view.activePage) {\n currentPage = $(view.pagesContainer).find('.page-on-center');\n if (currentPage.length === 0) {\n currentPage = $(view.pagesContainer).find('.page:not(.cached)');\n currentPage = currentPage.eq(currentPage.length - 1);\n }\n if (currentPage.length > 0) {\n currentPageData = currentPage[0].f7PageData;\n }\n }\n \n // View startup URL\n if (view.params.domCache && currentPage) {\n view.url = container.attr('data-url') || view.params.url || '#' + currentPage.attr('data-page'); \n view.pagesCache[view.url] = currentPage.attr('data-page');\n }\n else view.url = container.attr('data-url') || view.params.url || viewURL;\n \n // Update current page Data\n if (currentPageData) {\n currentPageData.view = view;\n currentPageData.url = view.url;\n if (view.params.domCache && view.params.dynamicNavbar && !currentPageData.navbarInnerContainer) {\n currentPageData.navbarInnerContainer = view.initialNavbars[view.initialPages.indexOf(currentPageData.container)];\n }\n view.activePage = currentPageData;\n currentPage[0].f7PageData = currentPageData;\n }\n \n // Store to history main view's url\n if (view.url) {\n view.history.push(view.url);\n }\n \n // Touch events\n var isTouched = false,\n isMoved = false,\n touchesStart = {},\n isScrolling,\n activePage = [],\n previousPage = [],\n viewContainerWidth,\n touchesDiff,\n allowViewTouchMove = true,\n touchStartTime,\n activeNavbar = [],\n previousNavbar = [],\n activeNavElements,\n previousNavElements,\n activeNavBackIcon,\n previousNavBackIcon,\n dynamicNavbar,\n pageShadow,\n el;\n \n view.handleTouchStart = function (e) {\n if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl || !view.allowPageChange) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n dynamicNavbar = view.params.dynamicNavbar && container.find('.navbar-inner').length > 1;\n };\n \n view.handleTouchMove = function (e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) {\n isTouched = false;\n return;\n }\n if (!isMoved) {\n var cancel = false;\n // Calc values during first move fired\n viewContainerWidth = container.width();\n var target = $(e.target);\n var swipeout = target.hasClass('swipeout') ? target : target.parents('.swipeout');\n if (swipeout.length > 0) {\n if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true;\n if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true;\n }\n activePage = target.is('.page') ? target : target.parents('.page');\n if (activePage.hasClass('no-swipeback')) cancel = true;\n previousPage = container.find('.page-on-left:not(.cached)');\n var notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n if (app.rtl) {\n notFromBorder = touchesStart.x < container.offset().left - container[0].scrollLeft + viewContainerWidth - view.params.swipeBackPageActiveArea;\n }\n else {\n notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea;\n }\n if (notFromBorder) cancel = true;\n if (previousPage.length === 0 || activePage.length === 0) cancel = true;\n if (cancel) {\n isTouched = false;\n return;\n }\n \n if (view.params.swipeBackPageAnimateShadow && !app.device.android) {\n pageShadow = activePage.find('.swipeback-page-shadow');\n if (pageShadow.length === 0) {\n pageShadow = $('
                                      ');\n activePage.append(pageShadow);\n }\n }\n \n if (dynamicNavbar) {\n activeNavbar = container.find('.navbar-on-center:not(.cached)');\n previousNavbar = container.find('.navbar-on-left:not(.cached)');\n activeNavElements = activeNavbar.find('.left, .center, .right, .subnavbar, .fading');\n previousNavElements = previousNavbar.find('.left, .center, .right, .subnavbar, .fading');\n if (app.params.animateNavBackIcon) {\n activeNavBackIcon = activeNavbar.find('.left.sliding .back .icon');\n previousNavBackIcon = previousNavbar.find('.left.sliding .back .icon');\n }\n }\n \n // Close/Hide Any Picker\n if ($('.picker-modal.modal-in').length > 0) {\n app.closeModal($('.picker-modal.modal-in'));\n }\n }\n e.f7PreventPanelSwipe = true;\n isMoved = true;\n e.preventDefault();\n \n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n // Touches diff\n touchesDiff = (pageX - touchesStart.x - view.params.swipeBackPageThreshold) * inverter;\n if (touchesDiff < 0) touchesDiff = 0;\n var percentage = touchesDiff / viewContainerWidth;\n \n // Swipe Back Callback\n var callbackData = {\n percentage: percentage,\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (view.params.onSwipeBackMove) {\n view.params.onSwipeBackMove(callbackData);\n }\n container.trigger('swipeBackMove', callbackData);\n \n // Transform pages\n var activePageTranslate = touchesDiff * inverter;\n var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter;\n if (app.device.pixelRatio === 1) {\n activePageTranslate = Math.round(activePageTranslate);\n previousPageTranslate = Math.round(previousPageTranslate);\n }\n \n activePage.transform('translate3d(' + activePageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateShadow && !app.device.android) pageShadow[0].style.opacity = 1 - 1 * percentage;\n \n previousPage.transform('translate3d(' + previousPageTranslate + 'px,0,0)');\n if (view.params.swipeBackPageAnimateOpacity) previousPage[0].style.opacity = 0.9 + 0.1 * percentage;\n \n // Dynamic Navbars Animation\n if (dynamicNavbar) {\n var i;\n for (i = 0; i < activeNavElements.length; i++) {\n el = $(activeNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = (1 - percentage * 1.3);\n if (el[0].className.indexOf('sliding') >= 0) {\n var activeNavTranslate = percentage * el[0].f7NavbarRightOffset;\n if (app.device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate);\n el.transform('translate3d(' + activeNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && activeNavBackIcon.length > 0) {\n activeNavBackIcon.transform('translate3d(' + -activeNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n for (i = 0; i < previousNavElements.length; i++) {\n el = $(previousNavElements[i]);\n if (!el.is('.subnavbar.sliding')) el[0].style.opacity = percentage * 1.3 - 0.3;\n if (el[0].className.indexOf('sliding') >= 0) {\n var previousNavTranslate = el[0].f7NavbarLeftOffset * (1 - percentage);\n if (app.device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate);\n el.transform('translate3d(' + previousNavTranslate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (el[0].className.indexOf('left') >= 0 && previousNavBackIcon.length > 0) {\n previousNavBackIcon.transform('translate3d(' + -previousNavTranslate + 'px,0,0)');\n }\n }\n }\n }\n }\n };\n \n view.handleTouchEnd = function (e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n if (touchesDiff === 0) {\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''});\n if (dynamicNavbar) {\n activeNavElements.transform('').css({opacity: ''});\n previousNavElements.transform('').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.transform('');\n if (previousNavBackIcon && activeNavBackIcon.length > 0) previousNavBackIcon.transform('');\n }\n return;\n }\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var pageChanged = false;\n // Swipe back to previous page\n if (\n timeDiff < 300 && touchesDiff > 10 ||\n timeDiff >= 300 && touchesDiff > viewContainerWidth / 2\n ) {\n activePage.removeClass('page-on-center').addClass('page-on-right');\n previousPage.removeClass('page-on-left').addClass('page-on-center');\n if (dynamicNavbar) {\n activeNavbar.removeClass('navbar-on-center').addClass('navbar-on-right');\n previousNavbar.removeClass('navbar-on-left').addClass('navbar-on-center');\n }\n pageChanged = true;\n }\n // Reset custom styles\n // Add transitioning class for transition-duration\n $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}).addClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.css({opacity: ''})\n .each(function () {\n var translate = pageChanged ? this.f7NavbarRightOffset : 0;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && activeNavBackIcon.length > 0) {\n activeNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n \n }).addClass('page-transitioning');\n \n previousNavElements.transform('').css({opacity: ''}).each(function () {\n var translate = pageChanged ? 0 : this.f7NavbarLeftOffset;\n var sliding = $(this);\n sliding.transform('translate3d(' + translate + 'px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && previousNavBackIcon.length > 0) {\n previousNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)');\n }\n }\n }).addClass('page-transitioning');\n }\n allowViewTouchMove = false;\n view.allowPageChange = false;\n // Swipe Back Callback\n var callbackData = {\n activePage: activePage[0],\n previousPage: previousPage[0],\n activeNavbar: activeNavbar[0],\n previousNavbar: previousNavbar[0]\n };\n if (pageChanged) {\n // Update View's URL\n var url = view.history[view.history.length - 2];\n view.url = url;\n \n // Page before animation callback\n app.pageBackCallback('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n \n if (view.params.onSwipeBackBeforeChange) {\n view.params.onSwipeBackBeforeChange(callbackData);\n }\n container.trigger('swipeBackBeforeChange', callbackData);\n }\n else {\n if (view.params.onSwipeBackBeforeReset) {\n view.params.onSwipeBackBeforeReset(callbackData);\n }\n container.trigger('swipeBackBeforeReset', callbackData);\n }\n \n activePage.transitionEnd(function () {\n $([activePage[0], previousPage[0]]).removeClass('page-transitioning');\n if (dynamicNavbar) {\n activeNavElements.removeClass('page-transitioning').css({opacity: ''});\n previousNavElements.removeClass('page-transitioning').css({opacity: ''});\n if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.removeClass('page-transitioning');\n if (previousNavBackIcon && previousNavBackIcon.length > 0) previousNavBackIcon.removeClass('page-transitioning');\n }\n allowViewTouchMove = true;\n view.allowPageChange = true;\n if (pageChanged) {\n if (app.params.pushState && view.main) history.back();\n // Page after animation callback\n app.pageBackCallback('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.pageAnimCallback('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true});\n app.router.afterBack(view, activePage, previousPage);\n \n if (view.params.onSwipeBackAfterChange) {\n view.params.onSwipeBackAfterChange(callbackData);\n }\n container.trigger('swipeBackAfterChange', callbackData);\n }\n else {\n if (view.params.onSwipeBackAfterReset) {\n view.params.onSwipeBackAfterReset(callbackData);\n }\n container.trigger('swipeBackAfterReset', callbackData);\n }\n if (pageShadow && pageShadow.length > 0) pageShadow.remove();\n });\n };\n view.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n container[action](app.touchEvents.start, view.handleTouchStart, passiveListener);\n container[action](app.touchEvents.move, view.handleTouchMove);\n container[action](app.touchEvents.end, view.handleTouchEnd, passiveListener);\n };\n view.detachEvents = function () {\n view.attachEvents(true);\n };\n \n // Init\n if (view.params.swipeBackPage && !app.params.material) {\n view.attachEvents();\n }\n \n // Add view to app\n app.views.push(view);\n if (view.main) app.mainView = view;\n \n // Router\n view.router = {\n load: function (options) {\n return app.router.load(view, options);\n },\n back: function (options) {\n return app.router.back(view, options);\n },\n // Shortcuts\n loadPage: function (options) {\n options = options || {};\n if (typeof options === 'string') {\n var url = options;\n options = {};\n if (url && url.indexOf('#') === 0 && view.params.domCache) {\n options.pageName = url.split('#')[1];\n }\n else options.url = url;\n }\n return app.router.load(view, options);\n },\n loadContent: function (content) {\n return app.router.load(view, {content: content});\n },\n reloadPage: function (url) {\n return app.router.load(view, {url: url, reload: true});\n },\n reloadContent: function (content) {\n return app.router.load(view, {content: content, reload: true});\n },\n reloadPreviousPage: function (url) {\n return app.router.load(view, {url: url, reloadPrevious: true, reload: true});\n },\n reloadPreviousContent: function (content) {\n return app.router.load(view, {content: content, reloadPrevious: true, reload: true});\n },\n refreshPage: function () {\n var options = {\n url: view.url,\n reload: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0) {\n if (view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n else if (view.contentCache[options.url]) {\n options.content = view.contentCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n }\n return app.router.load(view, options);\n },\n refreshPreviousPage: function () {\n var options = {\n url: view.history[view.history.length - 2],\n reload: true,\n reloadPrevious: true,\n ignoreCache: true\n };\n if (options.url && options.url.indexOf('#') === 0 && view.params.domCache && view.pagesCache[options.url]) {\n options.pageName = view.pagesCache[options.url];\n options.url = undefined;\n delete options.url;\n }\n return app.router.load(view, options);\n }\n };\n \n // Aliases for temporary backward compatibility\n view.loadPage = view.router.loadPage;\n view.loadContent = view.router.loadContent;\n view.reloadPage = view.router.reloadPage;\n view.reloadContent = view.router.reloadContent;\n view.reloadPreviousPage = view.router.reloadPreviousPage;\n view.reloadPreviousContent = view.router.reloadPreviousContent;\n view.refreshPage = view.router.refreshPage;\n view.refreshPreviousPage = view.router.refreshPreviousPage;\n view.back = view.router.back;\n \n // Bars methods\n view.hideNavbar = function () {\n return app.hideNavbar(container.find('.navbar'));\n };\n view.showNavbar = function () {\n return app.showNavbar(container.find('.navbar'));\n };\n view.hideToolbar = function () {\n return app.hideToolbar(container.find('.toolbar'));\n };\n view.showToolbar = function () {\n return app.showToolbar(container.find('.toolbar'));\n };\n \n // Push State on load\n if (app.params.pushState && app.params.pushStateOnLoad && view.main) {\n var pushStateUrl;\n var pushStateUrlSplit = docLocation.split(pushStateSeparator)[1];\n if (pushStateRoot) {\n pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1];\n }\n else if (pushStateSeparator && docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) {\n pushStateUrl = pushStateUrlSplit;\n }\n var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined;\n var historyState = history.state;\n if (pushStateUrl) {\n if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && view.initialPagesUrl.indexOf(pushStateUrl) >= 0) {\n app.router.load(view, {pageName: pushStateUrl.replace('#',''), animatePages: pushStateAnimatePages, pushState: false});\n }\n else app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (view.params.domCache && docLocation.indexOf(pushStateSeparator + '#') >= 0) {\n if (historyState && historyState.pageName && 'viewIndex' in historyState) {\n app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false});\n }\n else if (pushStateSeparator && pushStateUrlSplit.indexOf('#') === 0) {\n if (view.initialPagesUrl.indexOf(pushStateUrlSplit)) {\n app.router.load(view, {pageName: pushStateUrlSplit.replace('#', ''), animatePages: pushStateAnimatePages, pushState: false});\n }\n }\n }\n }\n \n // Destroy\n view.destroy = function () {\n view.detachEvents();\n view = undefined;\n };\n \n // Plugin hook\n app.pluginHook('addView', view);\n \n // Return view\n return view;\n };\n \n app.addView = function (selector, params) {\n return new View(selector, params);\n };\n \n app.getCurrentView = function (index) {\n var popoverView = $('.popover.modal-in .view');\n var popupView = $('.popup.modal-in .view');\n var panelView = $('.panel.active .view');\n var appViews = $('.views');\n // Find active view as tab\n var appView = appViews.children('.view');\n // Propably in tabs or split view\n if (appView.length > 1) {\n if (appView.hasClass('tab')) {\n // Tabs\n appView = appViews.children('.view.active');\n }\n else {\n // Split View, leave appView intact\n }\n }\n if (popoverView.length > 0 && popoverView[0].f7View) return popoverView[0].f7View;\n if (popupView.length > 0 && popupView[0].f7View) return popupView[0].f7View;\n if (panelView.length > 0 && panelView[0].f7View) return panelView[0].f7View;\n if (appView.length > 0) {\n if (appView.length === 1 && appView[0].f7View) return appView[0].f7View;\n if (appView.length > 1) {\n var currentViews = [];\n for (var i = 0; i < appView.length; i++) {\n if (appView[i].f7View) currentViews.push(appView[i].f7View);\n }\n if (currentViews.length > 0 && typeof index !== 'undefined') return currentViews[index];\n if (currentViews.length > 1) return currentViews;\n if (currentViews.length === 1) return currentViews[0];\n return undefined;\n }\n }\n return undefined;\n };\n \n\n /*======================================================\n ************ Navbars && Toolbars ************\n ======================================================*/\n // On Navbar Init Callback\n app.navbarInitCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n if (!navbarInnerContainer || navbarInnerContainer.f7NavbarInitialized && view && !view.params.domCache) return;\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData = pageContainer && pageContainer.f7PageData;\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n \n if (navbarInnerContainer.f7NavbarInitialized && ((view && view.params.domCache) || (!view && $(navbarContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Navbar\n app.reinitNavbar(navbarContainer, navbarInnerContainer);\n \n // Plugin hook\n app.pluginHook('navbarReinit', eventData);\n \n // Event\n $(navbarInnerContainer).trigger('navbarReinit', eventData);\n return;\n }\n navbarInnerContainer.f7NavbarInitialized = true;\n // Before Init\n app.pluginHook('navbarBeforeInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeInit', eventData);\n \n // Initialize Navbar\n app.initNavbar(navbarContainer, navbarInnerContainer);\n \n // On init\n app.pluginHook('navbarInit', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarInit', eventData);\n };\n // Navbar Remove Callback\n app.navbarRemoveCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) {\n if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0];\n var navbarData = {\n container: navbarContainer,\n innerContainer: navbarInnerContainer\n };\n var pageData;\n if (pageContainer) {\n pageData = pageContainer.f7PageData;\n }\n \n var eventData = {\n page: pageData,\n navbar: navbarData\n };\n app.pluginHook('navbarBeforeRemove', navbarData, pageData);\n $(navbarInnerContainer).trigger('navbarBeforeRemove', eventData);\n navbarData = null;\n pageData = null;\n };\n app.initNavbar = function (navbarContainer, navbarInnerContainer) {\n // Init Subnavbar Searchbar\n if (app.initSearchbar) app.initSearchbar(navbarInnerContainer);\n };\n app.reinitNavbar = function (navbarContainer, navbarInnerContainer) {\n // Re init navbar methods\n };\n app.initNavbarWithCallback = function (navbarContainer) {\n navbarContainer = $(navbarContainer);\n var viewContainer = navbarContainer.parents('.' + app.params.viewClass);\n var view;\n if (viewContainer.length === 0) return;\n if (navbarContainer.parents('.navbar-through').length === 0 && viewContainer.find('.navbar-through').length === 0) return;\n view = viewContainer[0].f7View || undefined;\n \n navbarContainer.find('.navbar-inner').each(function () {\n var navbarInnerContainer = this;\n var pageContainer;\n if ($(navbarInnerContainer).attr('data-page')) {\n // For dom cache\n pageContainer = viewContainer.find('.page[data-page=\"' + $(navbarInnerContainer).attr('data-page') + '\"]')[0];\n }\n if (!pageContainer) {\n var pages = viewContainer.find('.page');\n if (pages.length === 1) {\n pageContainer = pages[0];\n }\n else {\n viewContainer.find('.page').each(function () {\n if (this.f7PageData && this.f7PageData.navbarInnerContainer === navbarInnerContainer) {\n pageContainer = this;\n }\n });\n }\n }\n app.navbarInitCallback(view, pageContainer, navbarContainer[0], navbarInnerContainer);\n });\n };\n \n // Size Navbars\n app.sizeNavbars = function (viewContainer) {\n if (app.params.material) return;\n var navbarInner = viewContainer ? $(viewContainer).find('.navbar .navbar-inner:not(.cached)') : $('.navbar .navbar-inner:not(.cached)');\n navbarInner.each(function () {\n var n = $(this);\n if (n.hasClass('cached')) return;\n var left = app.rtl ? n.find('.right') : n.find('.left'),\n right = app.rtl ? n.find('.left') : n.find('.right'),\n center = n.find('.center'),\n subnavbar = n.find('.subnavbar'),\n noLeft = left.length === 0,\n noRight = right.length === 0,\n leftWidth = noLeft ? 0 : left.outerWidth(true),\n rightWidth = noRight ? 0 : right.outerWidth(true),\n centerWidth = center.outerWidth(true),\n navbarStyles = n.styles(),\n navbarWidth = n[0].offsetWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10),\n onLeft = n.hasClass('navbar-on-left'),\n currLeft, diff;\n \n if (noRight) {\n currLeft = navbarWidth - centerWidth;\n }\n if (noLeft) {\n currLeft = 0;\n }\n if (!noLeft && !noRight) {\n currLeft = (navbarWidth - rightWidth - centerWidth + leftWidth) / 2;\n }\n var requiredLeft = (navbarWidth - centerWidth) / 2;\n if (navbarWidth - leftWidth - rightWidth > centerWidth) {\n if (requiredLeft < leftWidth) {\n requiredLeft = leftWidth;\n }\n if (requiredLeft + centerWidth > navbarWidth - rightWidth) {\n requiredLeft = navbarWidth - rightWidth - centerWidth;\n }\n diff = requiredLeft - currLeft;\n }\n else {\n diff = 0;\n }\n // RTL inverter\n var inverter = app.rtl ? -1 : 1;\n \n if (center.hasClass('sliding')) {\n center[0].f7NavbarLeftOffset = -(currLeft + diff) * inverter;\n center[0].f7NavbarRightOffset = (navbarWidth - currLeft - diff - centerWidth) * inverter;\n if (onLeft) {\n if (app.params.animateNavBackIcon) {\n var activeNavbarBackLink = n.parent().find('.navbar-on-center').find('.left.sliding .back .icon ~ span');\n if (activeNavbarBackLink.length > 0) {\n center[0].f7NavbarLeftOffset += activeNavbarBackLink[0].offsetLeft;\n }\n }\n center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n }\n if (!noLeft && left.hasClass('sliding')) {\n if (app.rtl) {\n left[0].f7NavbarLeftOffset = -(navbarWidth - left[0].offsetWidth) / 2 * inverter;\n left[0].f7NavbarRightOffset = leftWidth * inverter;\n }\n else {\n left[0].f7NavbarLeftOffset = -leftWidth;\n left[0].f7NavbarRightOffset = (navbarWidth - left[0].offsetWidth) / 2;\n if (app.params.animateNavBackIcon && left.find('.back .icon').length > 0) {\n left[0].f7NavbarRightOffset -= left.find('.back .icon')[0].offsetWidth;\n }\n }\n if (onLeft) left.transform('translate3d(' + left[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (!noRight && right.hasClass('sliding')) {\n if (app.rtl) {\n right[0].f7NavbarLeftOffset = -rightWidth * inverter;\n right[0].f7NavbarRightOffset = (navbarWidth - right[0].offsetWidth) / 2 * inverter;\n }\n else {\n right[0].f7NavbarLeftOffset = -(navbarWidth - right[0].offsetWidth) / 2;\n right[0].f7NavbarRightOffset = rightWidth;\n }\n if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)');\n }\n if (subnavbar.length && subnavbar.hasClass('sliding')) {\n subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth;\n subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset;\n }\n \n // Center left\n var centerLeft = diff;\n if (app.rtl && noLeft && noRight && center.length > 0) centerLeft = -centerLeft;\n center.css({left: centerLeft + 'px'});\n \n });\n };\n \n // Hide/Show Navbars/Toolbars\n app.hideNavbar = function (navbarContainer) {\n $(navbarContainer).addClass('navbar-hidden');\n return true;\n };\n app.showNavbar = function (navbarContainer) {\n var navbar = $(navbarContainer);\n navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () {\n navbar.removeClass('navbar-hiding');\n });\n return true;\n };\n app.hideToolbar = function (toolbarContainer) {\n $(toolbarContainer).addClass('toolbar-hidden');\n return true;\n };\n app.showToolbar = function (toolbarContainer) {\n var toolbar = $(toolbarContainer);\n toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () {\n toolbar.removeClass('toolbar-hiding');\n });\n };\n \n\n /*======================================================\n ************ Searchbar ************\n ======================================================*/\n var Searchbar = function (container, params) {\n var defaults = {\n input: null,\n clearButton: null,\n cancelButton: null,\n searchList: null,\n searchIn: '.item-title',\n searchBy: '',\n found: null,\n notFound: null,\n overlay: null,\n ignore: '.searchbar-ignore',\n customSearch: false,\n removeDiacritics: false,\n hideDividers: true,\n hideGroups: true,\n /* Callbacks\n onSearch\n onEnable\n onDisable\n onClear\n */\n \n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var s = this;\n \n // Material\n s.material = app.params.material;\n \n // Params\n s.params = params;\n \n // Container\n container = $(container);\n s.container = container;\n \n // Active\n s.active = false;\n \n // Input\n s.input = s.params.input ? $(s.params.input) : s.container.find('input[type=\"search\"]');\n s.clearButton = s.params.clearButton ? $(s.params.clearButton) : s.container.find('.searchbar-clear');\n s.cancelButton = s.params.cancelButton ? $(s.params.cancelButton) : s.container.find('.searchbar-cancel');\n \n // Search List\n s.searchList = $(s.params.searchList);\n \n // Is Virtual List\n s.isVirtualList = s.searchList.hasClass('virtual-list');\n \n // Is In Page\n s.pageContainer = s.container.parents('.page').eq(0);\n \n // Overlay\n if (!s.params.overlay) {\n s.overlay = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay');\n }\n else {\n s.overlay = $(s.params.overlay);\n }\n // Found and not found\n if (!s.params.found) {\n s.found = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-found') : $('.searchbar-found');\n }\n else {\n s.found = $(s.params.found);\n }\n if (!s.params.notFound) {\n s.notFound = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-not-found') : $('.searchbar-not-found');\n }\n else {\n s.notFound = $(s.params.notFound);\n }\n \n // Set Cancel button\n var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right';\n var cancelButtonHasMargin = false;\n s.setCancelButtonMargin = function () {\n s.cancelButton.transition(0).show();\n s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n var clientLeft = s.cancelButton[0].clientLeft;\n s.cancelButton.transition('');\n cancelButtonHasMargin = true;\n };\n \n // Trigger\n s.triggerEvent = function (eventName, callbackName, eventData) {\n s.container.trigger(eventName, eventData);\n if (s.searchList.length > 0) s.searchList.trigger(eventName, eventData);\n if (callbackName && s.params[callbackName]) s.params[callbackName](s, eventData);\n };\n \n // Enable/disalbe\n s.enable = function (e) {\n function _enable() {\n if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active') && !s.query) s.overlay.addClass('searchbar-overlay-active');\n s.container.addClass('searchbar-active');\n if (s.cancelButton.length > 0 && !s.material) {\n if (!cancelButtonHasMargin) {\n s.setCancelButtonMargin();\n }\n s.cancelButton.css(cancelMarginProp, '0px');\n }\n s.triggerEvent('enableSearch', 'onEnable');\n s.active = true;\n }\n if (app.device.ios && !app.params.material && e && e.type === 'focus') {\n setTimeout(function () {\n _enable();\n }, 400);\n }\n else {\n _enable();\n }\n };\n \n s.disable = function () {\n s.input.val('').trigger('change');\n s.container.removeClass('searchbar-active searchbar-not-empty');\n if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px');\n \n if (s.searchList.length || s.params.customSearch) s.overlay.removeClass('searchbar-overlay-active');\n \n s.active = false;\n function _disable() {\n s.input.blur();\n }\n if (app.device.ios) {\n setTimeout(function () {\n _disable();\n }, 400);\n }\n else {\n _disable();\n }\n s.triggerEvent('disableSearch', 'onDisable');\n };\n \n // Clear\n s.clear = function (e) {\n if (!s.query && e && $(e.target).hasClass('searchbar-clear')) {\n s.disable();\n return;\n }\n s.input.val('').trigger('change').focus();\n s.triggerEvent('clearSearch', 'onClear');\n };\n \n // Search\n s.handleInput = function () {\n setTimeout(function () {\n var value = s.input.val().trim();\n if ((s.searchList.length > 0 || s.params.customSearch) && (s.params.searchIn || s.isVirtualList)) s.search(value, true);\n }, 0);\n };\n \n var previousQuery = '';\n var virtualList;\n s.search = function (query, internal) {\n if (query.trim() === previousQuery) return;\n previousQuery = query.trim();\n \n if (!internal) {\n if (!s.active) {\n s.enable();\n }\n s.input.val(query);\n }\n s.query = s.value = query;\n // Add active/inactive classes on overlay\n if (query.length === 0) {\n s.container.removeClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active');\n }\n else {\n s.container.addClass('searchbar-not-empty');\n if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.removeClass('searchbar-overlay-active');\n }\n \n if (s.params.customSearch) {\n s.triggerEvent('search', 'onSearch', {query: query});\n return;\n }\n \n var foundItems = [], _vlQuery;\n if (s.isVirtualList) {\n virtualList = s.searchList[0].f7VirtualList;\n if (query.trim() === '') {\n virtualList.resetFilter();\n s.notFound.hide();\n s.found.show();\n return;\n }\n _vlQuery = s.params.removeDiacritics ? $.removeDiacritics(query) : query;\n if (virtualList.params.searchAll) {\n foundItems = virtualList.params.searchAll(_vlQuery, virtualList.items) || [];\n }\n else if (virtualList.params.searchByItem) {\n for (var i = 0; i < virtualList.items.length; i++) {\n if(virtualList.params.searchByItem(_vlQuery, i, virtualList.params.items[i])) {\n foundItems.push(i);\n }\n }\n }\n }\n else {\n var values;\n if (s.params.removeDiacritics) values = $.removeDiacritics(query.trim().toLowerCase()).split(' ');\n else {\n values = query.trim().toLowerCase().split(' ');\n }\n s.searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) {\n el = $(el);\n var compareWithText = [];\n el.find(s.params.searchIn).each(function () {\n var itemText = $(this).text().trim().toLowerCase();\n if (s.params.removeDiacritics) itemText = $.removeDiacritics(itemText);\n compareWithText.push(itemText);\n });\n compareWithText = compareWithText.join(' ');\n var wordsMatch = 0;\n for (var i = 0; i < values.length; i++) {\n if (compareWithText.indexOf(values[i]) >= 0) wordsMatch++;\n }\n if (wordsMatch !== values.length && !(s.params.ignore && el.is(s.params.ignore))) {\n el.addClass('hidden-by-searchbar');\n }\n else {\n foundItems.push(el[0]);\n }\n });\n \n if (s.params.hideDividers) {\n s.searchList.find('.item-divider, .list-group-title').each(function () {\n var title = $(this);\n var nextElements = title.nextAll('li');\n var hide = true;\n for (var i = 0; i < nextElements.length; i++) {\n var nextEl = $(nextElements[i]);\n if (nextEl.hasClass('list-group-title') || nextEl.hasClass('item-divider')) break;\n if (!nextEl.hasClass('hidden-by-searchbar')) {\n hide = false;\n }\n }\n var ignore = s.params.ignore && title.is(s.params.ignore);\n if (hide && !ignore) title.addClass('hidden-by-searchbar');\n else title.removeClass('hidden-by-searchbar');\n });\n }\n if (s.params.hideGroups) {\n s.searchList.find('.list-group').each(function () {\n var group = $(this);\n var ignore = s.params.ignore && group.is(s.params.ignore);\n var notHidden = group.find('li:not(.hidden-by-searchbar)');\n if (notHidden.length === 0 && !ignore) {\n group.addClass('hidden-by-searchbar');\n }\n else {\n group.removeClass('hidden-by-searchbar');\n }\n });\n }\n }\n s.triggerEvent('search', 'onSearch', {query: query, foundItems: foundItems});\n if (foundItems.length === 0) {\n s.notFound.show();\n s.found.hide();\n }\n else {\n s.notFound.hide();\n s.found.show();\n }\n if (s.isVirtualList) {\n virtualList.filterItems(foundItems);\n }\n };\n \n // Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n s.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n s.container[method]('submit', preventSubmit);\n if (!s.material) s.cancelButton[method]('click', s.disable);\n s.overlay[method]('click', s.disable);\n s.input[method]('focus', s.enable);\n s.input[method]('change keydown keypress keyup', s.handleInput);\n s.clearButton[method]('click', s.clear);\n \n };\n s.detachEvents = function() {\n s.attachEvents(true);\n };\n \n // Init Destroy\n s.init = function () {\n s.attachEvents();\n };\n s.destroy = function () {\n if (!s) return;\n s.detachEvents();\n s = null;\n };\n \n // Init\n s.init();\n \n s.container[0].f7Searchbar = s;\n return s;\n \n };\n app.searchbar = function (container, params) {\n return new Searchbar(container, params);\n };\n app.initSearchbar = function (container) {\n container = $(container);\n var searchbar = container.hasClass('searchbar') ? container : container.find('.searchbar');\n if (searchbar.length === 0) return;\n if (!searchbar.hasClass('searchbar-init')) return;\n \n var sb = app.searchbar(searchbar, searchbar.dataset());\n \n function onBeforeRemove() {\n if (sb) sb.destroy();\n }\n if (container.hasClass('page')) {\n container.once('pageBeforeRemove', onBeforeRemove); \n }\n else if (container.hasClass('navbar-inner')) {\n container.once('navbarBeforeRemove', onBeforeRemove);\n }\n };\n\n /*======================================================\n ************ Messagebar ************\n ======================================================*/\n var Messagebar = function (container, params) {\n var defaults = {\n textarea: null,\n maxHeight: null,\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Textarea\n m.textarea = m.params.textarea ? $(m.params.textarea) : m.container.find('textarea');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Initial Sizes\n m.pageContentPadding = parseInt(m.pageContent.css('padding-bottom'));\n m.initialBarHeight = m.container[0].offsetHeight;\n m.initialAreaHeight = m.textarea[0].offsetHeight;\n \n \n // Resize textarea\n m.sizeTextarea = function () {\n // Reset\n m.textarea.css({'height': ''});\n \n var height = m.textarea[0].offsetHeight;\n var diff = height - m.textarea[0].clientHeight;\n var scrollHeight = m.textarea[0].scrollHeight;\n \n // Update\n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n var newBarHeight = m.initialBarHeight + (newAreaHeight - m.initialAreaHeight);\n var maxBarHeight = m.params.maxHeight || m.container.parents('.view')[0].offsetHeight - 88;\n if (newBarHeight > maxBarHeight) {\n newBarHeight = parseInt(maxBarHeight, 10);\n newAreaHeight = newBarHeight - m.initialBarHeight + m.initialAreaHeight;\n }\n m.textarea.css('height', newAreaHeight + 'px');\n m.container.css('height', newBarHeight + 'px');\n var onBottom = (m.pageContent[0].scrollTop === m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n if (m.pageContent.length > 0) {\n m.pageContent.css('padding-bottom', newBarHeight + 'px');\n if (m.pageContent.find('.messages-new-first').length === 0 && onBottom) {\n m.pageContent.scrollTop(m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight);\n }\n }\n }\n else {\n if (m.pageContent.length > 0) {\n m.container.css({'height': '', 'bottom': ''});\n m.pageContent.css({'padding-bottom': ''});\n }\n }\n };\n \n // Clear\n m.clear = function () {\n m.textarea.val('').trigger('change');\n };\n m.value = function (value) {\n if (typeof value === 'undefined') return m.textarea.val();\n else m.textarea.val(value).trigger('change'); \n };\n \n // Handle textarea\n m.textareaTimeout = undefined;\n m.handleTextarea = function (e) {\n clearTimeout(m.textareaTimeout);\n m.textareaTimeout = setTimeout(function () {\n m.sizeTextarea();\n }, 0);\n };\n \n //Events\n function preventSubmit(e) {\n e.preventDefault();\n }\n \n m.attachEvents = function (destroy) {\n var method = destroy ? 'off' : 'on';\n m.container[method]('submit', preventSubmit);\n m.textarea[method]('change keydown keypress keyup paste cut', m.handleTextarea);\n };\n m.detachEvents = function () {\n m.attachEvents(true);\n };\n \n // Init Destroy\n m.init = function () {\n m.attachEvents();\n };\n m.destroy = function () {\n m.detachEvents();\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messagebar = m;\n return m;\n };\n app.messagebar = function (container, params) {\n return new Messagebar(container, params);\n };\n app.initPageMessagebar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar');\n if (messagebar.length === 0) return;\n if (!messagebar.hasClass('messagebar-init')) return;\n var mb = app.messagebar(messagebar, messagebar.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n mb.destroy();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n };\n\n /*======================================================\n ************ XHR ************\n ======================================================*/\n // XHR Caching\n app.cache = [];\n app.removeFromCache = function (url) {\n var index = false;\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === url) index = i;\n }\n if (index !== false) app.cache.splice(index, 1);\n };\n \n // XHR\n app.xhr = false;\n app.get = function (url, view, ignoreCache, callback) {\n // should we ignore get params or not\n var _url = url;\n if (app.params.cacheIgnoreGetParameters && url.indexOf('?') >= 0) {\n _url = url.split('?')[0];\n }\n if (app.params.cache && !ignoreCache && url.indexOf('nocache') < 0 && app.params.cacheIgnore.indexOf(_url) < 0) {\n // Check is the url cached\n for (var i = 0; i < app.cache.length; i++) {\n if (app.cache[i].url === _url) {\n // Check expiration\n if ((new Date()).getTime() - app.cache[i].time < app.params.cacheDuration) {\n // Load from cache\n callback(app.cache[i].content);\n return false;\n }\n }\n }\n }\n \n app.xhr = $.ajax({\n url: url,\n method: 'GET',\n beforeSend: app.params.onAjaxStart,\n complete: function (xhr) {\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n if (app.params.cache) {\n app.removeFromCache(_url);\n app.cache.push({\n url: _url,\n time: (new Date()).getTime(),\n content: xhr.responseText\n });\n }\n callback(xhr.responseText, false);\n }\n else {\n callback(xhr.responseText, true);\n }\n if (app.params.onAjaxComplete) app.params.onAjaxComplete(xhr);\n },\n error: function (xhr) {\n callback(xhr.responseText, true);\n if (app.params.onAjaxError) app.params.onAjaxError(xhr);\n }\n });\n if (view) view.xhr = app.xhr;\n \n return app.xhr;\n };\n \n\n /*======================================================\n ************ Pages ************\n ======================================================*/\n // Page Callbacks API\n app.pageCallbacks = {};\n \n app.onPage = function (callbackName, pageName, callback) {\n if (pageName && pageName.split(' ').length > 1) {\n var pageNames = pageName.split(' ');\n var returnCallbacks = [];\n for (var i = 0; i < pageNames.length; i++) {\n returnCallbacks.push(app.onPage(callbackName, pageNames[i], callback));\n }\n returnCallbacks.remove = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].remove();\n }\n };\n returnCallbacks.trigger = function () {\n for (var i = 0; i < returnCallbacks.length; i++) {\n returnCallbacks[i].trigger();\n }\n };\n return returnCallbacks;\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks) {\n callbacks = app.pageCallbacks[callbackName][pageName] = [];\n }\n app.pageCallbacks[callbackName][pageName].push(callback);\n return {\n remove: function () {\n var removeIndex;\n for (var i = 0; i < callbacks.length; i++) {\n if (callbacks[i].toString() === callback.toString()) {\n removeIndex = i;\n }\n }\n if (typeof removeIndex !== 'undefined') callbacks.splice(removeIndex, 1);\n },\n trigger: callback\n };\n };\n \n //Create callbacks methods dynamically\n function createPageCallback(callbackName) {\n var capitalized = callbackName.replace(/^./, function (match) {\n return match.toUpperCase();\n });\n app['onPage' + capitalized] = function (pageName, callback) {\n return app.onPage(callbackName, pageName, callback);\n };\n }\n \n var pageCallbacksNames = ('beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove').split(' ');\n for (var i = 0; i < pageCallbacksNames.length; i++) {\n app.pageCallbacks[pageCallbacksNames[i]] = {};\n createPageCallback(pageCallbacksNames[i]);\n }\n \n app.triggerPageCallbacks = function (callbackName, pageName, pageData) {\n var allPagesCallbacks = app.pageCallbacks[callbackName]['*'];\n if (allPagesCallbacks) {\n for (var j = 0; j < allPagesCallbacks.length; j++) {\n allPagesCallbacks[j](pageData);\n }\n }\n var callbacks = app.pageCallbacks[callbackName][pageName];\n if (!callbacks || callbacks.length === 0) return;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i](pageData);\n }\n };\n \n // On Page Init Callback\n app.pageInitCallback = function (view, params) {\n var pageContainer = params.pageContainer;\n if (!pageContainer) return;\n if (pageContainer.f7PageInitialized && view && !view.params.domCache) return;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n \n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: params.context,\n navbarInnerContainer: params.navbarInnerContainer,\n fromPage: params.fromPage\n };\n if (params.fromPage && !params.fromPage.navbarInnerContainer && params.oldNavbarInnerContainer) {\n params.fromPage.navbarInnerContainer = params.oldNavbarInnerContainer;\n }\n \n if (pageContainer.f7PageInitialized && ((view && view.params.domCache) || (!view && $(pageContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) {\n // Reinit Page\n app.reinitPage(pageContainer);\n \n // Callbacks\n app.pluginHook('pageReinit', pageData);\n if (app.params.onPageReinit) app.params.onPageReinit(app, pageData);\n app.triggerPageCallbacks('reinit', pageData.name, pageData);\n $(pageData.container).trigger('pageReinit', {page: pageData});\n return;\n }\n pageContainer.f7PageInitialized = true;\n \n // Store pagedata in page\n pageContainer.f7PageData = pageData;\n \n // Update View's activePage\n if (view && !params.preloadOnly && !params.reloadPrevious) {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n // Update View active page data\n view.activePage = pageData;\n }\n \n // Before Init Callbacks\n app.pluginHook('pageBeforeInit', pageData);\n if (app.params.onPageBeforeInit) app.params.onPageBeforeInit(app, pageData);\n app.triggerPageCallbacks('beforeInit', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeInit', {page: pageData});\n \n // Init page\n app.initPage(pageContainer);\n \n // Init Callback\n app.pluginHook('pageInit', pageData);\n if (app.params.onPageInit) app.params.onPageInit(app, pageData);\n app.triggerPageCallbacks('init', pageData.name, pageData);\n $(pageData.container).trigger('pageInit', {page: pageData});\n };\n app.pageRemoveCallback = function (view, pageContainer, position) {\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n // Page Data\n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n view: view,\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n from: position,\n context: pageContext\n };\n // Before Init Callback\n app.pluginHook('pageBeforeRemove', pageData);\n if (app.params.onPageBeforeRemove) app.params.onPageBeforeRemove(app, pageData);\n app.triggerPageCallbacks('beforeRemove', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeRemove', {page: pageData});\n pageData = null;\n };\n app.pageBackCallback = function (callback, view, params) {\n // Page Data\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageData = {\n container: pageContainer,\n name: $(pageContainer).attr('data-page'),\n url: pageContainer.f7PageData && pageContainer.f7PageData.url,\n query: pageContainer.f7PageData && pageContainer.f7PageData.query,\n view: view,\n from: params.position,\n context: pageContext,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n swipeBack: params.swipeBack\n };\n \n if (callback === 'after') {\n app.pluginHook('pageAfterBack', pageData);\n if (app.params.onPageAfterBack) app.params.onPageAfterBack(app, pageData);\n app.triggerPageCallbacks('afterBack', pageData.name, pageData);\n $(pageContainer).trigger('pageAfterBack', {page: pageData});\n \n }\n if (callback === 'before') {\n app.pluginHook('pageBack', pageData);\n if (app.params.onPageBack) app.params.onPageBack(app, pageData);\n app.triggerPageCallbacks('back', pageData.name, pageData);\n $(pageData.container).trigger('pageBack', {page: pageData});\n }\n };\n app.pageAnimCallback = function (callback, view, params) {\n var pageContainer = params.pageContainer;\n var pageContext;\n if (!pageContainer) return;\n if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context;\n \n var pageQuery = params.query;\n if (!pageQuery) {\n if (params.url && params.url.indexOf('?') > 0) {\n pageQuery = $.parseUrlQuery(params.url || '');\n }\n else if (pageContainer.f7PageData && pageContainer.f7PageData.query) {\n pageQuery = pageContainer.f7PageData.query;\n }\n else {\n pageQuery = {};\n }\n }\n // Page Data\n var pageData = {\n container: pageContainer,\n url: params.url,\n query: pageQuery,\n name: $(pageContainer).attr('data-page'),\n view: view,\n from: params.position,\n context: pageContext,\n swipeBack: params.swipeBack,\n navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer,\n fromPage: params.fromPage\n };\n var oldPage = params.oldPage,\n newPage = params.newPage;\n \n // Update page date\n pageContainer.f7PageData = pageData;\n \n if (callback === 'after') {\n app.pluginHook('pageAfterAnimation', pageData);\n if (app.params.onPageAfterAnimation) app.params.onPageAfterAnimation(app, pageData);\n app.triggerPageCallbacks('afterAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageAfterAnimation', {page: pageData});\n \n }\n if (callback === 'before') {\n // Add data-page on view\n $(view.container).attr('data-page', pageData.name);\n \n // Update View's activePage\n if (view) view.activePage = pageData;\n \n // Hide/show navbar dynamically\n if (newPage.hasClass('no-navbar') && !oldPage.hasClass('no-navbar')) {\n view.hideNavbar();\n }\n if (!newPage.hasClass('no-navbar') && (oldPage.hasClass('no-navbar') || oldPage.hasClass('no-navbar-by-scroll'))) {\n view.showNavbar();\n }\n // Hide/show navbar toolbar\n if (newPage.hasClass('no-toolbar') && !oldPage.hasClass('no-toolbar')) {\n view.hideToolbar();\n }\n if (!newPage.hasClass('no-toolbar') && (oldPage.hasClass('no-toolbar') || oldPage.hasClass('no-toolbar-by-scroll'))) {\n view.showToolbar();\n }\n // Hide/show tabbar\n var tabBar;\n if (newPage.hasClass('no-tabbar') && !oldPage.hasClass('no-tabbar')) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.hideToolbar(tabBar);\n }\n if (!newPage.hasClass('no-tabbar') && (oldPage.hasClass('no-tabbar') || oldPage.hasClass('no-tabbar-by-scroll'))) {\n tabBar = $(view.container).find('.tabbar');\n if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar');\n app.showToolbar(tabBar);\n }\n \n oldPage.removeClass('no-navbar-by-scroll no-toolbar-by-scroll');\n // Callbacks\n app.pluginHook('pageBeforeAnimation', pageData);\n if (app.params.onPageBeforeAnimation) app.params.onPageBeforeAnimation(app, pageData);\n app.triggerPageCallbacks('beforeAnimation', pageData.name, pageData);\n $(pageData.container).trigger('pageBeforeAnimation', {page: pageData});\n }\n };\n \n // Init Page Events and Manipulations\n app.initPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page load\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Init messages\n if (app.initPageMessages) app.initPageMessages(pageContainer);\n // Init forms storage\n if (app.initFormsStorage) app.initFormsStorage(pageContainer);\n // Init smart select\n if (app.initSmartSelects) app.initSmartSelects(pageContainer);\n // Init slider\n if (app.initPageSwiper) app.initPageSwiper(pageContainer);\n // Init pull to refres\n if (app.initPullToRefresh) app.initPullToRefresh(pageContainer);\n // Init infinite scroll\n if (app.initPageInfiniteScroll) app.initPageInfiniteScroll(pageContainer);\n // Init searchbar\n if (app.initSearchbar) app.initSearchbar(pageContainer);\n // Init message bar\n if (app.initPageMessagebar) app.initPageMessagebar(pageContainer);\n // Init scroll toolbars\n if (app.initPageScrollToolbars) app.initPageScrollToolbars(pageContainer);\n // Init lazy images\n if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer);\n // Init progress bars\n if (app.initPageProgressbar) app.initPageProgressbar(pageContainer);\n // Init resizeable textareas\n if (app.initPageResizableTextarea) app.initPageResizableTextarea(pageContainer);\n // Init Material Preloader\n if (app.params.material && app.initPageMaterialPreloader) app.initPageMaterialPreloader(pageContainer);\n // Init Material Inputs\n if (app.params.material && app.initPageMaterialInputs) app.initPageMaterialInputs(pageContainer);\n // Init Material Tabbar\n if (app.params.material && app.initPageMaterialTabbar) app.initPageMaterialTabbar(pageContainer);\n };\n app.reinitPage = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length === 0) return;\n // Size navbars on page reinit\n if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]);\n // Reinit slider\n if (app.reinitPageSwiper) app.reinitPageSwiper(pageContainer);\n // Reinit lazy load\n if (app.reinitLazyLoad) app.reinitLazyLoad(pageContainer);\n };\n app.initPageWithCallback = function (pageContainer) {\n pageContainer = $(pageContainer);\n var viewContainer = pageContainer.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n var view = viewContainer[0].f7View || undefined;\n var url = view && view.url ? view.url : undefined;\n if (viewContainer && pageContainer.attr('data-page')) {\n viewContainer.attr('data-page', pageContainer.attr('data-page'));\n }\n app.pageInitCallback(view, {pageContainer: pageContainer[0], url: url, position: 'center'});\n };\n\n /*======================================================\n ************ Navigation / Router ************\n ======================================================*/\n app.router = {\n _remove: function (el) {\n if (app.params.routerRemoveTimeout || app.params.routerRemoveWithTimeout) {\n setTimeout(function () {\n $(el).remove();\n }, 0);\n }\n else $(el).remove();\n },\n // Temporary DOM Element\n temporaryDom: document.createElement('div'),\n \n // Find page or navbar in passed container which are related to View\n findElement: function (selector, container, view, notCached) {\n container = $(container);\n if (notCached) selector = selector + ':not(.cached)';\n var found = container.find(selector);\n if (found.length > 1) {\n if (typeof view.selector === 'string') {\n // Search in related view\n found = container.find(view.selector + ' ' + selector);\n }\n if (found.length > 1) {\n // Search in main view\n found = container.find('.' + app.params.viewMainClass + ' ' + selector);\n }\n }\n if (found.length === 1) return found;\n else {\n // Try to find non cached\n if (!notCached) found = app.router.findElement(selector, container, view, true);\n if (found && found.length === 1) return found;\n if (found && found.length > 1) return $(found[0]);\n else return undefined;\n }\n },\n \n // Set pages classess for animationEnd\n animatePages: function (leftPage, rightPage, direction, view) {\n // Loading new page\n var removeClasses = 'page-on-center page-on-right page-on-left';\n if (direction === 'to-left') {\n leftPage.removeClass(removeClasses).addClass('page-from-center-to-left');\n rightPage.removeClass(removeClasses).addClass('page-from-right-to-center');\n }\n // Go back\n if (direction === 'to-right') {\n leftPage.removeClass(removeClasses).addClass('page-from-left-to-center');\n rightPage.removeClass(removeClasses).addClass('page-from-center-to-right');\n \n }\n },\n \n // Prepare navbar before animarion\n prepareNavbar: function (newNavbarInner, oldNavbarInner, newNavbarPosition) {\n $(newNavbarInner).find('.sliding').each(function () {\n var sliding = $(this);\n var slidingOffset = newNavbarPosition === 'right' ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset;\n \n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-slidingOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + slidingOffset + 'px,0,0)');\n });\n },\n \n // Set navbars classess for animation\n animateNavbars: function (leftNavbarInner, rightNavbarInner, direction, view) {\n // Loading new page\n var removeClasses = 'navbar-on-right navbar-on-center navbar-on-left';\n if (direction === 'to-left') {\n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-right-to-center');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-left');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n var rightText;\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) {\n rightText = rightNavbarInner.find('.sliding.left .back span');\n if (rightText.length > 0) this.f7NavbarLeftOffset += rightText[0].offsetLeft;\n }\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarLeftOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarLeftOffset) + 'px,0,0)');\n });\n }\n // Go back\n if (direction === 'to-right') {\n leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-left-to-center');\n leftNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n sliding.transform('translate3d(0px,0,0)');\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(0px,0,0)');\n }\n }\n });\n \n rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-right');\n rightNavbarInner.find('.sliding').each(function () {\n var sliding = $(this);\n if (app.params.animateNavBackIcon) {\n if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) {\n sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarRightOffset) + 'px,0,0)');\n }\n }\n sliding.transform('translate3d(' + (this.f7NavbarRightOffset) + 'px,0,0)');\n });\n }\n },\n \n preprocess: function(view, content, url, next) {\n // Plugin hook\n app.pluginHook('routerPreprocess', view, content, url, next);\n \n // Preprocess by plugin\n content = app.pluginProcess('preprocess', content);\n \n if (view && view.params && view.params.preprocess) {\n content = view.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else if (app.params.preprocess) {\n content = app.params.preprocess(content, url, next);\n if (typeof content !== 'undefined') {\n next(content);\n }\n }\n else {\n next(content);\n }\n },\n preroute: function(view, options, isBack) {\n if (isBack) options.isBack = true;\n app.pluginHook('routerPreroute', view, options);\n if ((app.params.preroute && app.params.preroute(view, options) === false) || (view && view.params.preroute && view.params.preroute(view, options) === false)) {\n return true;\n }\n else {\n return false;\n }\n },\n \n template7Render: function (view, options) {\n var url = options.url,\n content = options.content, //initial content\n t7_rendered_content = options.content, // will be rendered using Template7\n context = options.context, // Context data for Template7\n contextName = options.contextName,\n template = options.template, // Template 7 compiled template\n pageName = options.pageName;\n \n var t7_ctx, t7_template;\n if (typeof content === 'string') {\n if (url) {\n if (app.template7Cache[url] && !options.ignoreCache) t7_template = t7.cache[url];\n else {\n t7_template = t7.compile(content);\n t7.cache[url] = t7_template;\n }\n }\n else t7_template = t7.compile(content);\n }\n else if (template) {\n t7_template = template;\n }\n \n if (context) {\n t7_ctx = context;\n if (context && url) {\n view.contextCache[url] = context;\n }\n }\n else {\n if (contextName) {\n if (contextName.indexOf('.') >= 0) {\n var _ctx_path = contextName.split('.');\n var _ctx = t7.data[_ctx_path[0]];\n for (var i = 1; i < _ctx_path.length; i++) {\n if (_ctx_path[i]) _ctx = _ctx[_ctx_path[i]];\n }\n t7_ctx = _ctx;\n }\n else t7_ctx = t7.data[contextName];\n }\n if (!t7_ctx && url) {\n t7_ctx = t7.data['url:' + url];\n }\n if (!t7_ctx && typeof content === 'string' && !template) {\n //try to find by page name in content\n var pageNameMatch = content.match(/(data-page=[\"'][^\"^']*[\"'])/);\n if (pageNameMatch) {\n var page = pageNameMatch[0].split('data-page=')[1].replace(/['\"]/g, '');\n if (page) t7_ctx = t7.data['page:' + page];\n }\n }\n if (!t7_ctx && template && t7.templates) {\n // Try to find matched template name in t7.templates\n for (var templateName in t7.templates) {\n if (t7.templates[templateName] === template) t7_ctx = t7.data[templateName];\n }\n }\n if (!t7_ctx && url && url in view.contextCache) {\n t7_ctx = view.contextCache[url];\n }\n if (!t7_ctx) {\n t7_ctx = {};\n }\n }\n \n if (t7_template && t7_ctx) {\n if (typeof t7_ctx === 'function') t7_ctx = t7_ctx();\n if (url) {\n // Extend data with URL query\n var query = $.parseUrlQuery(url);\n t7_ctx.url_query = {};\n for (var key in query) {\n t7_ctx.url_query[key] = query[key];\n }\n }\n try {\n t7_rendered_content = t7_template(t7_ctx);\n }\n catch (e) {\n t7_rendered_content = '';\n if (window.console && window.console.error) {\n console.error(e);\n }\n }\n }\n \n return {content: t7_rendered_content, context: t7_ctx};\n }\n };\n \n \n app.router._load = function (view, options) {\n options = options || {};\n \n var url = options.url,\n content = options.content, //initial content\n t7_rendered = {content: options.content},\n template = options.template, // Template 7 compiled template\n pageName = options.pageName,\n viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n animatePages = options.animatePages,\n newPage, oldPage, pagesInView, i, oldNavbarInner, newNavbarInner, navbar, dynamicNavbar, reloadPosition,\n isDynamicPage = typeof url === 'undefined' && content || template,\n pushState = options.pushState,\n pageElement = options.pageElement;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n // Plugin hook\n app.pluginHook('routerLoad', view, options);\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n app.router.temporaryDom.innerHTML = '';\n \n // Parse DOM\n if (!pageName && !pageElement) {\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n }\n \n // Reload position\n reloadPosition = options.reload && (options.reloadPrevious ? 'left' : 'center');\n \n // Find new page\n if (pageName) newPage = pagesContainer.find('.page[data-page=\"' + pageName + '\"]');\n else {\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n }\n \n // If page not found exit\n if (!newPage || newPage.length === 0 || (pageName && view.activePage && view.activePage.name === pageName)) {\n view.allowPageChange = true;\n return;\n }\n \n newPage.addClass(options.reload ? 'page-on-' + reloadPosition : 'page-on-right');\n \n // Find old page (should be the last one) and remove older pages\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (pageElement) {\n pagesInView = pagesInView.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n \n if (options.reload && options.reloadPrevious && pagesInView.length === 1) {\n view.allowPageChange = true;\n return;\n }\n \n if (options.reload) {\n oldPage = pagesInView.eq(pagesInView.length - 1);\n }\n else {\n if (pagesInView.length > 1) {\n for (i = 0; i < pagesInView.length - 2; i++) {\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n if (!view.params.domCache) {\n app.pageRemoveCallback(view, pagesInView[i], 'left');\n app.router._remove(pagesInView[i]);\n }\n else {\n $(pagesInView[i]).addClass('cached');\n }\n }\n oldPage = pagesContainer.children('.page:not(.cached)');\n }\n if (pageElement && oldPage.length > 1) {\n oldPage = oldPage.filter(function (index, page) {\n if (page !== pageElement) return page;\n });\n }\n if(view.params.domCache || pageElement) newPage.removeClass('cached');\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n if (pageName) {\n newNavbarInner = viewContainer.find('.navbar-inner[data-page=\"' + pageName + '\"]');\n }\n else {\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Look in page\n newNavbarInner = newPage.find('.navbar-inner');\n if (!newNavbarInner || newNavbarInner.length === 0) {\n // Set false\n dynamicNavbar = false;\n }\n else {\n if (newNavbarInner.parent('.navbar').length > 0) {\n newNavbarInner.prependTo(newPage);\n }\n }\n }\n if (dynamicNavbar && newPage.find('.navbar').length > 0) {\n app.router._remove(newPage.find('.navbar'));\n }\n navbar = viewContainer.children('.navbar');\n if (options.reload) {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached):last-child');\n }\n else {\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n \n if (oldNavbarInner.length > 0) {\n for (i = 0; i < oldNavbarInner.length - 1; i++) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[i], navbar[0], oldNavbarInner[i]);\n app.router._remove(oldNavbarInner[i]);\n }\n else\n $(oldNavbarInner[i]).addClass('cached');\n }\n if (!newNavbarInner && oldNavbarInner.length === 1) {\n if (!view.params.domCache) {\n app.navbarRemoveCallback(view, pagesInView[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldNavbarInner[0]);\n }\n else\n $(oldNavbarInner[0]).addClass('cached');\n }\n oldNavbarInner = navbar.find('.navbar-inner:not(.cached)');\n }\n }\n }\n if (dynamicNavbar) {\n newNavbarInner.addClass(options.reload ? 'navbar-on-' + reloadPosition : 'navbar-on-right');\n if(view.params.domCache || pageElement) newNavbarInner.removeClass('cached');\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n newNavbarInner[0].f7RelatedPage = newPage[0];\n }\n \n // save content areas into view's cache\n if (!url) {\n var newPageName = pageName || newPage.attr('data-page');\n if (isDynamicPage) url = '#' + app.params.dynamicPageUrl.replace(/{{name}}/g, newPageName).replace(/{{index}}/g, view.history.length - (options.reload ? 1 : 0));\n else url = '#' + newPageName;\n if (!view.params.domCache) {\n view.contentCache[url] = content;\n }\n if (view.params.domCache && pageName) {\n view.pagesCache[url] = pageName;\n }\n }\n else if (url && pageElement) {\n view.pageElementsCache[url] = {\n page: newPage,\n navbarInner: newNavbarInner\n };\n }\n \n // Push State\n if (app.params.pushState && !options.reloadPrevious && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n var pushStateRoot = app.params.pushStateRoot || '';\n var method = options.reload ? 'replaceState' : 'pushState';\n if (pushState) {\n if (!isDynamicPage && !pageName) {\n history[method]({url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (isDynamicPage && content) {\n history[method]({content: typeof content === 'string' ? content : '', url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n else if (pageName) {\n history[method]({pageName: pageName, url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url);\n }\n }\n }\n \n // Update View history\n view.url = url;\n if (options.reload) {\n var lastUrl = view.history[view.history.length - (options.reloadPrevious ? 2 : 1)];\n if (lastUrl &&\n lastUrl.indexOf('#') === 0 &&\n lastUrl in view.contentCache &&\n lastUrl !== url &&\n view.history.indexOf(lastUrl) === -1) {\n view.contentCache[lastUrl] = null;\n delete view.contentCache[lastUrl];\n }\n else if (lastUrl &&\n lastUrl in view.pageElementsCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.pageElementsCache[lastUrl] = null;\n delete view.pageElementsCache[lastUrl];\n }\n if (lastUrl &&\n lastUrl in view.contextCache &&\n lastUrl !== url &&\n (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) {\n view.contextCache[lastUrl] = null;\n delete view.contextCache[lastUrl];\n }\n view.history[view.history.length - (options.reloadPrevious ? 2 : 1)] = url;\n }\n else {\n view.history.push(url);\n }\n \n // Unique history\n var historyBecameUnique = false;\n if (view.params.uniqueHistory) {\n var _history = view.history;\n var _url = url;\n if (view.params.uniqueHistoryIgnoreGetParameters) {\n _history = [];\n _url = url.split('?')[0];\n for (i = 0; i < view.history.length; i++) {\n _history.push(view.history[i].split('?')[0]);\n }\n }\n \n if (_history.indexOf(_url) !== _history.lastIndexOf(_url)) {\n view.history = view.history.slice(0, _history.indexOf(_url));\n view.history.push(url);\n historyBecameUnique = true;\n }\n }\n // Dom manipulations\n if (options.reloadPrevious) {\n oldPage = oldPage.prev('.page');\n newPage.insertBefore(oldPage);\n if (dynamicNavbar) {\n oldNavbarInner = oldNavbarInner.prev('.navbar-inner');\n newNavbarInner.insertAfter(oldNavbarInner);\n }\n }\n else {\n pagesContainer.append(newPage[0]);\n if (dynamicNavbar) navbar.append(newNavbarInner[0]);\n }\n // Remove Old Page And Navbar\n if (options.reload) {\n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], reloadPosition);\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: options.reload ? reloadPosition : 'right',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner && newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n reload: options.reload,\n reloadPrevious: options.reloadPrevious\n });\n \n // Navbar init event\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, options.reload ? reloadPosition : 'right');\n }\n \n if (options.reload) {\n view.allowPageChange = true;\n if (historyBecameUnique) view.refreshPreviousPage();\n return;\n }\n \n if (dynamicNavbar && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'right');\n }\n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n // Before Anim Callback\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n function afterAnimation() {\n view.allowPageChange = true;\n newPage.removeClass('page-from-right-to-center page-on-right page-on-left').addClass('page-on-center');\n oldPage.removeClass('page-from-center-to-left page-on-center page-on-right').addClass('page-on-left');\n if (dynamicNavbar) {\n newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-left navbar-on-right').addClass('navbar-on-center');\n oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center navbar-on-right').addClass('navbar-on-left');\n }\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'right',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n if (app.params.pushState && view.main) app.pushStateClearQueue();\n if (!(view.params.swipeBackPage || view.params.preloadPreviousPage)) {\n if (view.params.domCache) {\n oldPage.addClass('cached');\n if (dynamicNavbar) oldNavbarInner.addClass('cached');\n }\n else {\n if (!(url.indexOf('#') === 0 && newPage.attr('data-page').indexOf('smart-select-') === 0)) {\n app.pageRemoveCallback(view, oldPage[0], 'left');\n if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]);\n app.router._remove(oldPage);\n if (dynamicNavbar) app.router._remove(oldNavbarInner);\n }\n }\n }\n if (view.params.uniqueHistory && historyBecameUnique) {\n view.refreshPreviousPage();\n }\n }\n if (animatePages) {\n // Set pages before animation\n if (app.params.material && app.params.materialPageLoadDelay) {\n setTimeout(function () {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }, app.params.materialPageLoadDelay);\n }\n else {\n app.router.animatePages(oldPage, newPage, 'to-left', view);\n }\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function() {\n app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view);\n }, 0);\n }\n newPage.animationEnd(function (e) {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n \n };\n \n app.router.load = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var template = options.template;\n if (view.params.reloadPages === true) options.reload = true;\n \n if (!view.allowPageChange) return false;\n if (url && view.url === url && !options.reload && !view.params.allowDuplicateUrls) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._load(view, options);\n });\n }\n if (content || pageName || pageElement) {\n proceed(content);\n return;\n }\n else if (template) {\n app.router._load(view, options);\n return;\n }\n \n if (!options.url || options.url === '#') {\n view.allowPageChange = true;\n return;\n }\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n };\n \n app.router._back = function (view, options) {\n options = options || {};\n var url = options.url,\n content = options.content,\n t7_rendered = {content: options.content}, // will be rendered using Template7\n template = options.template, // Template 7 compiled template\n animatePages = options.animatePages,\n preloadOnly = options.preloadOnly,\n pushState = options.pushState,\n ignoreCache = options.ignoreCache,\n force = options.force,\n pageName = options.pageName,\n pageElement = options.pageElement;\n \n var viewContainer = $(view.container),\n pagesContainer = $(view.pagesContainer),\n pagesInView = pagesContainer.children('.page:not(.cached)'),\n oldPage, newPage, oldNavbarInner, newNavbarInner, navbar, navbarInners, dynamicNavbar, manipulateDom = true;\n \n if (typeof animatePages === 'undefined') animatePages = view.params.animatePages;\n \n app.pluginHook('routerBack', view, options);\n \n // Render with Template7\n if (app.params.template7Pages && typeof content === 'string' || template) {\n t7_rendered = app.router.template7Render(view, options);\n if (t7_rendered.content && !content) {\n content = t7_rendered.content;\n }\n }\n \n // Animation\n function afterAnimation() {\n app.pageBackCallback('after', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('after', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n app.router.afterBack(view, oldPage[0], newPage[0]);\n }\n function animateBack() {\n // Page before animation callback\n app.pageBackCallback('before', view, {\n pageContainer: oldPage[0],\n url: url,\n position: 'center',\n oldPage: oldPage,\n newPage: newPage,\n });\n app.pageAnimCallback('before', view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n oldPage: oldPage,\n newPage: newPage,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData\n });\n \n if (animatePages) {\n // Set pages before animation\n app.router.animatePages(newPage, oldPage, 'to-right', view);\n \n // Dynamic navbar animation\n if (dynamicNavbar) {\n setTimeout(function () {\n app.router.animateNavbars(newNavbarInner, oldNavbarInner, 'to-right', view);\n }, 0);\n }\n \n newPage.animationEnd(function () {\n afterAnimation();\n });\n }\n else {\n if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform('');\n afterAnimation();\n }\n }\n \n function parseNewPage() {\n app.router.temporaryDom.innerHTML = '';\n // Parse DOM\n if ((typeof content === 'string') || (url && (typeof content === 'string'))) {\n app.router.temporaryDom.innerHTML = t7_rendered.content;\n } else {\n if ('length' in content && content.length > 1) {\n for (var ci = 0; ci < content.length; ci++) {\n $(app.router.temporaryDom).append(content[ci]);\n }\n } else {\n $(app.router.temporaryDom).append(content);\n }\n }\n if (pageElement) newPage = $(pageElement);\n else newPage = app.router.findElement('.page', app.router.temporaryDom, view);\n \n if (view.params.dynamicNavbar) {\n // Find navbar\n newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view);\n }\n }\n function setPages() {\n // If pages not found or there are still more than one, exit\n if (!newPage || newPage.length === 0) {\n view.allowPageChange = true;\n return;\n }\n if (view.params.dynamicNavbar && typeof dynamicNavbar === 'undefined') {\n if (!newNavbarInner || newNavbarInner.length === 0) {\n dynamicNavbar = false;\n }\n else {\n dynamicNavbar = true;\n }\n }\n \n newPage.addClass('page-on-left').removeClass('cached');\n if (dynamicNavbar) {\n navbar = viewContainer.children('.navbar');\n navbarInners = navbar.find('.navbar-inner:not(.cached)');\n newNavbarInner.addClass('navbar-on-left').removeClass('cached');\n }\n // Remove/hide previous page in force mode\n if (force) {\n var pageToRemove, navbarToRemove;\n pageToRemove = $(pagesInView[pagesInView.length - 2]);\n \n if (dynamicNavbar) navbarToRemove = $(pageToRemove[0] && pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]);\n if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) {\n if (pageToRemove.length && pageToRemove[0] !== newPage[0]) pageToRemove.addClass('cached');\n if (dynamicNavbar && navbarToRemove.length && navbarToRemove[0] !== newNavbarInner[0]) {\n navbarToRemove.addClass('cached');\n }\n }\n else {\n var removeNavbar = dynamicNavbar && navbarToRemove.length;\n if (pageToRemove.length) {\n app.pageRemoveCallback(view, pageToRemove[0], 'right');\n if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n }\n app.router._remove(pageToRemove);\n if (removeNavbar) app.router._remove(navbarToRemove);\n }\n else if (removeNavbar) {\n app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]);\n app.router._remove(navbarToRemove);\n }\n }\n pagesInView = pagesContainer.children('.page:not(.cached)');\n if (dynamicNavbar) {\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n }\n if (view.history.indexOf(url) >= 0) {\n view.history = view.history.slice(0, view.history.indexOf(url) + 2);\n }\n else {\n if (view.history[[view.history.length - 2]]) {\n view.history[view.history.length - 2] = url;\n }\n else {\n view.history.unshift(url);\n }\n }\n }\n \n oldPage = $(pagesInView[pagesInView.length - 1]);\n if (view.params.domCache) {\n if (oldPage[0] === newPage[0]) {\n oldPage = pagesContainer.children('.page.page-on-center');\n if (oldPage.length === 0 && view.activePage) oldPage = $(view.activePage.container);\n }\n }\n \n if (dynamicNavbar && !oldNavbarInner) {\n oldNavbarInner = $(navbarInners[navbarInners.length - 1]);\n if (view.params.domCache) {\n if (oldNavbarInner[0] === newNavbarInner[0]) {\n oldNavbarInner = navbar.children('.navbar-inner.navbar-on-center:not(.cached)');\n }\n if (oldNavbarInner.length === 0) {\n oldNavbarInner = navbar.children('.navbar-inner[data-page=\"'+oldPage.attr('data-page')+'\"]');\n }\n }\n if (oldNavbarInner.length === 0 || newNavbarInner[0] === oldNavbarInner[0]) dynamicNavbar = false;\n }\n \n if (dynamicNavbar) {\n if (manipulateDom) newNavbarInner.insertBefore(oldNavbarInner);\n newNavbarInner[0].f7RelatedPage = newPage[0];\n newPage[0].f7RelatedNavbar = newNavbarInner[0];\n }\n if (manipulateDom) newPage.insertBefore(oldPage);\n \n // Page Init Events\n app.pageInitCallback(view, {\n pageContainer: newPage[0],\n url: url,\n position: 'left',\n navbarInnerContainer: dynamicNavbar ? newNavbarInner[0] : undefined,\n oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined,\n context: t7_rendered.context,\n query: options.query,\n fromPage: oldPage && oldPage.length && oldPage[0].f7PageData,\n preloadOnly: preloadOnly\n });\n if (dynamicNavbar) {\n app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, 'right');\n }\n \n if (dynamicNavbar && newNavbarInner.hasClass('navbar-on-left') && animatePages) {\n app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'left');\n }\n \n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n \n // Update View's URL\n view.url = url;\n \n // Force reLayout\n var clientLeft = newPage[0].clientLeft;\n \n animateBack();\n \n // Push state\n if (app.params.pushState && view.main) {\n if (typeof pushState === 'undefined') pushState = true;\n if (!preloadOnly && history.state && pushState) {\n history.back();\n }\n }\n return;\n }\n \n // Simple go back when we have pages on left\n if (pagesInView.length > 1 && !force) {\n // Exit if only preloadOnly\n if (preloadOnly) {\n view.allowPageChange = true;\n return;\n }\n // Update View's URL\n view.url = view.history[view.history.length - 2];\n url = view.url;\n \n // Define old and new pages\n newPage = $(pagesInView[pagesInView.length - 2]);\n oldPage = $(pagesInView[pagesInView.length - 1]);\n \n // Dynamic navbar\n if (view.params.dynamicNavbar) {\n dynamicNavbar = true;\n // Find navbar\n navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)');\n newNavbarInner = $(navbarInners[0]);\n oldNavbarInner = $(navbarInners[1]);\n if (newNavbarInner.length === 0 || oldNavbarInner.length === 0 || oldNavbarInner[0] === newNavbarInner[0]) {\n dynamicNavbar = false;\n }\n }\n manipulateDom = false;\n setPages();\n return;\n }\n \n if (!force) {\n // Go back when there is no pages on left\n if (!preloadOnly) {\n view.url = view.history[view.history.length - 2];\n url = view.url;\n }\n \n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName) {\n // Get dom cached pages\n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n newPage = view.pageElementsCache[url].page;\n newNavbarInner = view.pageElementsCache[url].navbarInner;\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n else {\n if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) {\n view.allowPageChange = true;\n return;\n }\n // Go back with force url\n if (content) {\n parseNewPage();\n setPages();\n return;\n }\n else if (pageName && view.params.domCache) {\n if (pageName) url = '#' + pageName;\n \n newPage = $(viewContainer).find('.page[data-page=\"' + pageName + '\"]');\n if (newPage[0].f7PageData && newPage[0].f7PageData.url) {\n url = newPage[0].f7PageData.url;\n }\n if (view.params.dynamicNavbar) {\n newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page=\"' + pageName + '\"]');\n if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) {\n newNavbarInner = $(newPage[0].f7RelatedNavbar);\n }\n if (newNavbarInner.length === 0 && newPage[0].f7PageData) {\n newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer);\n }\n }\n setPages();\n return;\n }\n else if (pageElement && url) {\n newPage = $(pageElement);\n if (view.params.dynamicNavbar) {\n newNavbarInner = newPage.find('.navbar-inner');\n if (newNavbarInner.length > 0) {\n newPage.prepend(newNavbarInner);\n app.router._remove(newPage.find('.navbar'));\n }\n }\n setPages();\n return;\n }\n else {\n view.allowPageChange = true;\n return;\n }\n }\n \n };\n app.router.back = function (view, options) {\n options = options || {};\n if (app.router.preroute(view, options, true)) {\n return false;\n }\n var url = options.url;\n var content = options.content;\n var pageName = options.pageName;\n var pageElement = options.pageElement;\n if (pageName) {\n if (pageName.indexOf('?') > 0) {\n options.query = $.parseUrlQuery(pageName);\n options.pageName = pageName = pageName.split('?')[0];\n }\n }\n var force = options.force;\n if (!view.allowPageChange) return false;\n view.allowPageChange = false;\n if (app.xhr && view.xhr && view.xhr === app.xhr) {\n app.xhr.abort();\n app.xhr = false;\n }\n var pagesInView = $(view.pagesContainer).find('.page:not(.cached)');\n \n function proceed(content) {\n app.router.preprocess(view, content, url, function (content) {\n options.content = content;\n app.router._back(view, options);\n });\n }\n if (pagesInView.length > 1 && !force) {\n // Simple go back to previos page in view\n app.router._back(view, options);\n return;\n }\n if (!force) {\n url = view.history[view.history.length - 2] || options.url;\n if (!options.url) options.url = url;\n if (!url) {\n view.allowPageChange = true;\n return;\n }\n if (url.indexOf('#') === 0 && view.contentCache[url]) {\n proceed(view.contentCache[url]);\n return;\n }\n else if (url.indexOf('#') === 0 && view.params.domCache) {\n if (!pageName) options.pageName = url.split('#')[1];\n proceed();\n return;\n }\n else if (url && url in view.pageElementsCache) {\n proceed();\n }\n else if (url.indexOf('#') !== 0) {\n // Load ajax page\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n else {\n // Go back with force url\n if (!url && content) {\n proceed(content);\n return;\n }\n else if (!url && pageName) {\n if (pageName) url = '#' + pageName;\n proceed();\n return;\n }\n else if (url && pageElement) {\n proceed();\n return;\n }\n else if (url) {\n app.get(options.url, view, options.ignoreCache, function (content, error) {\n if (error) {\n view.allowPageChange = true;\n return;\n }\n proceed(content);\n });\n return;\n }\n }\n view.allowPageChange = true;\n return;\n };\n \n app.router.afterBack = function (view, oldPage, newPage) {\n // Remove old page and set classes on new one\n oldPage = $(oldPage);\n newPage = $(newPage);\n \n if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) {\n oldPage.removeClass('page-from-center-to-right').addClass('cached');\n }\n else {\n app.pageRemoveCallback(view, oldPage[0], 'right');\n app.router._remove(oldPage);\n }\n \n newPage.removeClass('page-from-left-to-center page-on-left').addClass('page-on-center');\n view.allowPageChange = true;\n \n // Update View's History\n var previousURL = view.history.pop();\n \n var newNavbar;\n \n // Updated dynamic navbar\n if (view.params.dynamicNavbar) {\n var inners = $(view.container).children('.navbar').find('.navbar-inner:not(.cached)');\n var oldNavbar = $(oldPage[0].f7RelatedNavbar || inners[1]);\n if (view.params.domCache && view.initialNavbars.indexOf(oldNavbar[0]) >= 0) {\n oldNavbar.removeClass('navbar-from-center-to-right').addClass('cached');\n }\n else {\n app.navbarRemoveCallback(view, oldPage[0], undefined, oldNavbar[0]);\n app.router._remove(oldNavbar);\n }\n newNavbar = $(inners[0]).removeClass('navbar-on-left navbar-from-left-to-center').addClass('navbar-on-center');\n }\n \n // Remove pages in dom cache\n if (view.params.domCache) {\n $(view.container).find('.page.cached').each(function () {\n var page = $(this);\n var index = page.index();\n var pageUrl = page[0].f7PageData && page[0].f7PageData.url;\n if (pageUrl && view.history.indexOf(pageUrl) < 0 && view.initialPages.indexOf(this) < 0) {\n app.pageRemoveCallback(view, page[0], 'right');\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.navbarRemoveCallback(view, page[0], undefined, page[0].f7RelatedNavbar);\n app.router._remove(page);\n if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.router._remove(page[0].f7RelatedNavbar);\n }\n });\n }\n \n // Check previous page is content based only and remove it from content cache\n if (!view.params.domCache &&\n previousURL &&\n previousURL.indexOf('#') > -1 &&\n (previousURL in view.contentCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contentCache[previousURL] = null;\n delete view.contentCache[previousURL];\n }\n if (previousURL &&\n (previousURL in view.pageElementsCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.pageElementsCache[previousURL] = null;\n delete view.pageElementsCache[previousURL];\n }\n // Check for context cache\n if (previousURL &&\n (previousURL in view.contextCache) &&\n // If the same page is in the history multiple times, don't remove it.\n view.history.indexOf(previousURL) === -1) {\n view.contextCache[previousURL] = null;\n delete view.contextCache[previousURL];\n }\n \n if (app.params.pushState && view.main) app.pushStateClearQueue();\n \n // Preload previous page\n if (view.params.preloadPreviousPage) {\n if (view.params.domCache && view.history.length > 1) {\n var preloadUrl = view.history[view.history.length - 2];\n var previousPage;\n var previousNavbar;\n if (preloadUrl && view.pagesCache[preloadUrl]) {\n // Load by page name\n previousPage = $(view.container).find('.page[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if (previousPage.next('.page')[0] !== newPage[0]) previousPage.insertBefore(newPage);\n if (newNavbar) {\n previousNavbar = $(view.container).children('.navbar').find('.navbar-inner[data-page=\"' + view.pagesCache[preloadUrl] + '\"]');\n if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n if (previousNavbar.next('.navbar-inner')[0] !== newNavbar[0]) previousNavbar.insertBefore(newNavbar);\n }\n }\n else {\n // Just load previous page\n previousPage = newPage.prev('.page.cached');\n if (newNavbar) previousNavbar = newNavbar.prev('.navbar-inner.cached');\n }\n if (previousPage && previousPage.length > 0) previousPage.removeClass('cached page-on-right page-on-center').addClass('page-on-left');\n if (previousNavbar && previousNavbar.length > 0) previousNavbar.removeClass('cached navbar-on-right navbar-on-center').addClass('navbar-on-left');\n }\n else {\n app.router.back(view, {preloadOnly: true});\n }\n }\n };\n \n\n /*======================================================\n ************ Modals ************\n ======================================================*/\n var _modalTemplateTempDiv = document.createElement('div');\n app.modalStack = [];\n app.modalStackClearQueue = function () {\n if (app.modalStack.length) {\n (app.modalStack.shift())();\n }\n };\n app.modal = function (params) {\n params = params || {};\n var modalHTML = '';\n if (app.params.modalTemplate) {\n if (!app._compiledTemplates.modal) app._compiledTemplates.modal = t7.compile(app.params.modalTemplate);\n modalHTML = app._compiledTemplates.modal(params);\n }\n else {\n var buttonsHTML = '';\n if (params.buttons && params.buttons.length > 0) {\n for (var i = 0; i < params.buttons.length; i++) {\n buttonsHTML += '' + params.buttons[i].text + '';\n }\n }\n var titleHTML = params.title ? '
                                      ' + params.title + '
                                      ' : '';\n var textHTML = params.text ? '
                                      ' + params.text + '
                                      ' : '';\n var afterTextHTML = params.afterText ? params.afterText : '';\n var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : '';\n var verticalButtons = params.verticalButtons ? 'modal-buttons-vertical': '';\n var modalButtonsHTML = params.buttons && params.buttons.length > 0 ? '
                                      ' + buttonsHTML + '
                                      ' : '';\n modalHTML = '
                                      ' + (titleHTML + textHTML + afterTextHTML) + '
                                      ' + modalButtonsHTML + '
                                      ';\n }\n \n _modalTemplateTempDiv.innerHTML = modalHTML;\n \n var modal = $(_modalTemplateTempDiv).children();\n \n app.root.append(modal[0]);\n \n // Add events on buttons\n modal.find('.modal-button').each(function (index, el) {\n $(el).on('click', function (e) {\n if (params.buttons[index].close !== false) app.closeModal(modal);\n if (params.buttons[index].onClick) params.buttons[index].onClick(modal, e);\n if (params.onClick) params.onClick(modal, index);\n });\n });\n app.openModal(modal);\n return modal[0];\n };\n app.alert = function (text, title, callbackOk) {\n if (typeof title === 'function') {\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [ {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} ]\n });\n };\n app.confirm = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n buttons: [\n {text: app.params.modalButtonCancel, onClick: callbackCancel},\n {text: app.params.modalButtonOk, bold: true, onClick: callbackOk}\n ]\n });\n };\n app.prompt = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
                                      ',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n if (index === 0 && callbackCancel) callbackCancel($(modal).find('.modal-text-input').val());\n if (index === 1 && callbackOk) callbackOk($(modal).find('.modal-text-input').val());\n }\n });\n };\n app.modalLogin = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
                                      ',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var username = $(modal).find('.modal-text-input[name=\"modal-username\"]').val();\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(username, password);\n if (index === 1 && callbackOk) callbackOk(username, password);\n }\n });\n };\n app.modalPassword = function (text, title, callbackOk, callbackCancel) {\n if (typeof title === 'function') {\n callbackCancel = arguments[2];\n callbackOk = arguments[1];\n title = undefined;\n }\n return app.modal({\n text: text || '',\n title: typeof title === 'undefined' ? app.params.modalTitle : title,\n afterText: '
                                      ',\n buttons: [\n {\n text: app.params.modalButtonCancel\n },\n {\n text: app.params.modalButtonOk,\n bold: true\n }\n ],\n onClick: function (modal, index) {\n var password = $(modal).find('.modal-text-input[name=\"modal-password\"]').val();\n if (index === 0 && callbackCancel) callbackCancel(password);\n if (index === 1 && callbackOk) callbackOk(password);\n }\n });\n };\n app.showPreloader = function (title) {\n return app.modal({\n title: title || app.params.modalPreloaderTitle,\n text: '
                                      ' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
                                      ',\n cssClass: 'modal-preloader'\n });\n };\n app.hidePreloader = function () {\n app.closeModal('.modal.modal-in');\n };\n app.showIndicator = function () {\n if ($('.preloader-indicator-overlay').length > 0) return;\n app.root.append('
                                      ' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
                                      ');\n };\n app.hideIndicator = function () {\n $('.preloader-indicator-overlay, .preloader-indicator-modal').remove();\n };\n // Action Sheet\n app.actions = function (target, params) {\n var toPopover = false, modal, groupSelector, buttonSelector;\n if (arguments.length === 1) {\n // Actions\n params = target;\n }\n else {\n // Popover\n if (app.device.ios) {\n if (app.device.ipad) toPopover = true;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n params = params || [];\n \n if (params.length > 0 && !$.isArray(params[0])) {\n params = [params];\n }\n var modalHTML;\n if (toPopover) {\n var actionsToPopoverTemplate = app.params.modalActionsToPopoverTemplate ||\n '
                                      ' +\n '
                                      ' +\n '{{#each this}}' +\n '
                                      ' +\n '
                                        ' +\n '{{#each this}}' +\n '{{#if label}}' +\n '
                                      • {{text}}
                                      • ' +\n '{{else}}' +\n '
                                      • {{text}}
                                      • ' +\n '{{/if}}' +\n '{{/each}}' +\n '
                                      ' +\n '
                                      ' +\n '{{/each}}' +\n '
                                      ' +\n '
                                      ';\n if (!app._compiledTemplates.actionsToPopover) {\n app._compiledTemplates.actionsToPopover = t7.compile(actionsToPopoverTemplate);\n }\n var popoverHTML = app._compiledTemplates.actionsToPopover(params);\n modal = $(app.popover(popoverHTML, target, true));\n groupSelector = '.list-block ul';\n buttonSelector = '.list-button';\n }\n else {\n if (app.params.modalActionsTemplate) {\n if (!app._compiledTemplates.actions) app._compiledTemplates.actions = t7.compile(app.params.modalActionsTemplate);\n modalHTML = app._compiledTemplates.actions(params);\n }\n else {\n var buttonsHTML = '';\n for (var i = 0; i < params.length; i++) {\n for (var j = 0; j < params[i].length; j++) {\n if (j === 0) buttonsHTML += '
                                      ';\n var button = params[i][j];\n var buttonClass = button.label ? 'actions-modal-label' : 'actions-modal-button';\n if (button.bold) buttonClass += ' actions-modal-button-bold';\n if (button.color) buttonClass += ' color-' + button.color;\n if (button.bg) buttonClass += ' bg-' + button.bg;\n if (button.disabled) buttonClass += ' disabled';\n buttonsHTML += '
                                      ' + button.text + '
                                      ';\n if (j === params[i].length - 1) buttonsHTML += '
                                      ';\n }\n }\n modalHTML = '
                                      ' + buttonsHTML + '
                                      ';\n }\n _modalTemplateTempDiv.innerHTML = modalHTML;\n modal = $(_modalTemplateTempDiv).children();\n app.root.append(modal[0]);\n groupSelector = '.actions-modal-group';\n buttonSelector = '.actions-modal-button';\n }\n \n var groups = modal.find(groupSelector);\n groups.each(function (index, el) {\n var groupIndex = index;\n $(el).children().each(function (index, el) {\n var buttonIndex = index;\n var buttonParams = params[groupIndex][buttonIndex];\n var clickTarget;\n if (!toPopover && $(el).is(buttonSelector)) clickTarget = $(el);\n if (toPopover && $(el).find(buttonSelector).length > 0) clickTarget = $(el).find(buttonSelector);\n \n if (clickTarget) {\n clickTarget.on('click', function (e) {\n if (buttonParams.close !== false) app.closeModal(modal);\n if (buttonParams.onClick) buttonParams.onClick(modal, e);\n });\n }\n });\n });\n if (!toPopover) app.openModal(modal);\n return modal[0];\n };\n app.popover = function (modal, target, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n target = $(target);\n if (modal.length === 0 || target.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if (modal.find('.popover-angle').length === 0 && !app.params.material) {\n modal.append('
                                      ');\n }\n modal.show();\n \n var material = app.params.material;\n \n function sizePopover() {\n modal.css({left: '', top: ''});\n var modalWidth = modal.width();\n var modalHeight = modal.height(); // 13 - height of angle\n var modalAngle, modalAngleSize = 0, modalAngleLeft, modalAngleTop;\n if (!material) {\n modalAngle = modal.find('.popover-angle');\n modalAngleSize = modalAngle.width() / 2;\n modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''});\n }\n else {\n modal.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom').css({left: '', top: ''});\n }\n \n var targetWidth = target.outerWidth();\n var targetHeight = target.outerHeight();\n var targetOffset = target.offset();\n var targetParentPage = target.parents('.page');\n if (targetParentPage.length > 0) {\n targetOffset.top = targetOffset.top - targetParentPage[0].scrollTop;\n }\n \n var windowHeight = $(window).height();\n var windowWidth = $(window).width();\n \n var modalTop = 0;\n var modalLeft = 0;\n var diff = 0;\n // Top Position\n var modalPosition = material ? 'bottom' : 'top';\n if (material) {\n if (modalHeight < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n else if (modalHeight < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight + targetHeight;\n modalPosition = 'top';\n }\n else {\n // On middle\n modalPosition = 'bottom';\n modalTop = targetOffset.top;\n }\n \n if (modalTop <= 0) {\n modalTop = 8;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 8;\n }\n \n // Horizontal Position\n modalLeft = targetOffset.left;\n if (modalLeft + modalWidth >= windowWidth - 8) {\n modalLeft = targetOffset.left + targetWidth - modalWidth - 8;\n }\n if (modalLeft < 8) {\n modalLeft = 8;\n }\n if (modalPosition === 'top') {\n modal.addClass('popover-on-top');\n }\n if (modalPosition === 'bottom') {\n modal.addClass('popover-on-bottom');\n }\n if (target.hasClass('floating-button-to-popover') && !modal.hasClass('modal-in')) {\n modal.addClass('popover-floating-button');\n var diffX = (modalLeft + modalWidth / 2) - (targetOffset.left + targetWidth / 2),\n diffY = (modalTop + modalHeight / 2) - (targetOffset.top + targetHeight / 2);\n target\n .addClass('floating-button-to-popover-in')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0)')\n .transitionEnd(function (e) {\n if (!target.hasClass('floating-button-to-popover-in')) return;\n target\n .addClass('floating-button-to-popover-scale')\n .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0) scale(' + (modalWidth/targetWidth) + ', ' + (modalHeight/targetHeight) + ')');\n });\n \n modal.once('close', function () {\n target\n .removeClass('floating-button-to-popover-in floating-button-to-popover-scale')\n .addClass('floating-button-to-popover-out')\n .transform('')\n .transitionEnd(function (e) {\n target.removeClass('floating-button-to-popover-out');\n });\n });\n modal.once('closed', function () {\n modal.removeClass('popover-floating-button');\n });\n }\n \n }\n else {\n if ((modalHeight + modalAngleSize) < targetOffset.top) {\n // On top\n modalTop = targetOffset.top - modalHeight - modalAngleSize;\n }\n else if ((modalHeight + modalAngleSize) < windowHeight - targetOffset.top - targetHeight) {\n // On bottom\n modalPosition = 'bottom';\n modalTop = targetOffset.top + targetHeight + modalAngleSize;\n }\n else {\n // On middle\n modalPosition = 'middle';\n modalTop = targetHeight / 2 + targetOffset.top - modalHeight / 2;\n diff = modalTop;\n if (modalTop <= 0) {\n modalTop = 5;\n }\n else if (modalTop + modalHeight >= windowHeight) {\n modalTop = windowHeight - modalHeight - 5;\n }\n diff = diff - modalTop;\n }\n \n // Horizontal Position\n if (modalPosition === 'top' || modalPosition === 'bottom') {\n modalLeft = targetWidth / 2 + targetOffset.left - modalWidth / 2;\n diff = modalLeft;\n if (modalLeft < 5) modalLeft = 5;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n if (modalPosition === 'top') {\n modalAngle.addClass('on-bottom');\n }\n if (modalPosition === 'bottom') {\n modalAngle.addClass('on-top');\n }\n diff = diff - modalLeft;\n modalAngleLeft = (modalWidth / 2 - modalAngleSize + diff);\n modalAngleLeft = Math.max(Math.min(modalAngleLeft, modalWidth - modalAngleSize * 2 - 13), 13);\n modalAngle.css({left: modalAngleLeft + 'px'});\n \n }\n else if (modalPosition === 'middle') {\n modalLeft = targetOffset.left - modalWidth - modalAngleSize;\n modalAngle.addClass('on-right');\n if (modalLeft < 5 || (modalLeft + modalWidth > windowWidth)) {\n if (modalLeft < 5) modalLeft = targetOffset.left + targetWidth + modalAngleSize;\n if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5;\n modalAngle.removeClass('on-right').addClass('on-left');\n }\n modalAngleTop = (modalHeight / 2 - modalAngleSize + diff);\n modalAngleTop = Math.max(Math.min(modalAngleTop, modalHeight - modalAngleSize * 2 - 13), 13);\n modalAngle.css({top: modalAngleTop + 'px'});\n }\n }\n \n \n // Apply Styles\n modal.css({top: modalTop + 'px', left: modalLeft + 'px'});\n }\n \n sizePopover();\n \n $(window).on('resize', sizePopover);\n \n modal.on('close', function () {\n $(window).off('resize', sizePopover);\n });\n \n app.openModal(modal);\n return modal[0];\n };\n app.popup = function (modal, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n var _modal = document.createElement('div');\n _modal.innerHTML = modal.trim();\n if (_modal.childNodes.length > 0) {\n modal = _modal.childNodes[0];\n if (removeOnClose) modal.classList.add('remove-on-close');\n app.root.append(modal);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n modal.show();\n \n app.openModal(modal);\n return modal[0];\n };\n app.pickerModal = function (modal, removeOnClose) {\n if (typeof removeOnClose === 'undefined') removeOnClose = true;\n if (typeof modal === 'string' && modal.indexOf('<') >= 0) {\n modal = $(modal);\n if (modal.length > 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n else return false; //nothing found\n }\n modal = $(modal);\n if (modal.length === 0) return false;\n if (modal.parents('body').length === 0) {\n if (removeOnClose) modal.addClass('remove-on-close');\n app.root.append(modal[0]);\n }\n if ($('.picker-modal.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.picker-modal.modal-in:not(.modal-out)');\n }\n modal.show();\n app.openModal(modal);\n return modal[0];\n };\n app.loginScreen = function (modal) {\n if (!modal) modal = '.login-screen';\n modal = $(modal);\n if (modal.length === 0) return false;\n if ($('.login-screen.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) {\n app.closeModal('.login-screen.modal-in:not(.modal-out)');\n }\n modal.show();\n \n app.openModal(modal);\n return modal[0];\n };\n app.openModal = function (modal) {\n modal = $(modal);\n var isModal = modal.hasClass('modal');\n if ($('.modal.modal-in:not(.modal-out)').length && app.params.modalStack && isModal) {\n app.modalStack.push(function () {\n app.openModal(modal);\n });\n return;\n }\n // do nothing if this modal already shown\n if (true === modal.data('f7-modal-shown')) {\n return;\n }\n modal.data('f7-modal-shown', true);\n modal.once('close', function() {\n modal.removeData('f7-modal-shown');\n });\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n if (isModal) {\n modal.show();\n modal.css({\n marginTop: - Math.round(modal.outerHeight() / 2) + 'px'\n });\n }\n \n var overlay;\n if (!isLoginScreen && !isPickerModal) {\n if ($('.modal-overlay').length === 0 && !isPopup) {\n app.root.append('
                                      ');\n }\n if ($('.popup-overlay').length === 0 && isPopup) {\n app.root.append('
                                      ');\n }\n overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay');\n }\n if (app.params.material && isPickerModal) {\n if (modal.hasClass('picker-calendar')) {\n if ($('.picker-modal-overlay').length === 0 && !isPopup) {\n app.root.append('
                                      ');\n }\n overlay = $('.picker-modal-overlay');\n }\n }\n \n //Make sure that styles are applied, trigger relayout;\n var clientLeft = modal[0].clientLeft;\n \n // Trugger open event\n modal.trigger('open');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').addClass('with-picker-modal');\n }\n \n // Init Pages and Navbars in modal\n if (modal.find('.' + app.params.viewClass).length > 0) {\n modal.find('.page').each(function () {\n app.initPageWithCallback(this);\n });\n modal.find('.navbar').each(function () {\n app.initNavbarWithCallback(this); \n });\n }\n \n // Classes for transition in\n if (!isLoginScreen && !isPickerModal) overlay.addClass('modal-overlay-visible');\n if (app.params.material && isPickerModal && overlay) overlay.addClass('modal-overlay-visible');\n modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed');\n else modal.trigger('opened');\n });\n return true;\n };\n app.closeModal = function (modal) {\n modal = $(modal || '.modal-in');\n if (typeof modal !== 'undefined' && modal.length === 0) {\n return;\n }\n var isModal = modal.hasClass('modal');\n var isPopover = modal.hasClass('popover');\n var isPopup = modal.hasClass('popup');\n var isLoginScreen = modal.hasClass('login-screen');\n var isPickerModal = modal.hasClass('picker-modal');\n \n var removeOnClose = modal.hasClass('remove-on-close');\n \n var overlay;\n \n if (isPopup) overlay = $('.popup-overlay');\n else {\n if (isPickerModal && app.params.material) overlay = $('.picker-modal-overlay');\n else if (!isPickerModal) overlay = $('.modal-overlay');\n }\n \n if (isPopup){\n if (modal.length === $('.popup.modal-in').length) {\n overlay.removeClass('modal-overlay-visible');\n }\n }\n else if (overlay && overlay.length > 0) {\n overlay.removeClass('modal-overlay-visible');\n }\n \n modal.trigger('close');\n \n // Picker modal body class\n if (isPickerModal) {\n $('body').removeClass('with-picker-modal');\n $('body').addClass('picker-modal-closing');\n }\n \n if (!(isPopover && !app.params.material)) {\n modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) {\n if (modal.hasClass('modal-out')) modal.trigger('closed');\n else {\n modal.trigger('opened');\n if (isPopover) return;\n }\n \n if (isPickerModal) {\n $('body').removeClass('picker-modal-closing');\n }\n if (isPopup || isLoginScreen || isPickerModal || isPopover) {\n modal.removeClass('modal-out').hide();\n if (removeOnClose && modal.length > 0) {\n modal.remove();\n }\n }\n else {\n modal.remove();\n }\n });\n if (isModal && app.params.modalStack) {\n app.modalStackClearQueue();\n }\n }\n else {\n modal.removeClass('modal-in modal-out').trigger('closed').hide();\n if (removeOnClose) {\n modal.remove();\n }\n }\n return true;\n };\n \n\n /*===============================================================================\n ************ Progress Bar ************\n ===============================================================================*/\n app.setProgressbar = function (container, progress, speed) {\n container = $(container || app.root);\n if (container.length === 0) return;\n if (progress) progress = Math.min(Math.max(progress, 0), 100);\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar');\n }\n if (progressbar.length === 0 || progressbar.hasClass('progressbar-infinite')) return;\n var clientLeft = progressbar[0].clientLeft;\n progressbar.children('span').transform('translate3d(' + (-100 + progress) + '%,0,0)');\n if (typeof speed !== 'undefined') {\n progressbar.children('span').transition(speed);\n }\n else {\n progressbar.children('span').transition('');\n }\n return progressbar[0];\n };\n app.showProgressbar = function (container, progress, color) {\n if (typeof container === 'number') {\n container = app.root;\n progress = arguments[0];\n color = arguments[1];\n }\n if (progress && typeof progress === 'string' && parseFloat(progress) !== progress * 1) {\n color = progress;\n progress = undefined;\n }\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)');\n if (progressbar.length === 0) {\n // Create one\n if (typeof progress !== 'undefined') {\n // Determined\n progressbar = $('');\n }\n else {\n // Infinite\n progressbar = $('');\n }\n container.append(progressbar);\n }\n }\n if (progress) app.setProgressbar(container, progress);\n return progressbar[0];\n };\n app.hideProgressbar = function (container) {\n container = $(container || app.root);\n if (container.length === 0) return;\n var progressbar;\n if (container.hasClass('progressbar')) progressbar = container;\n else {\n progressbar = container.children('.progressbar, .progressbar-infinite');\n }\n if (progressbar.length === 0 || !progressbar.hasClass('progressbar-in') || progressbar.hasClass('progressbar-out')) return;\n progressbar.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () {\n progressbar.remove();\n progressbar = null;\n });\n return;\n };\n app.initPageProgressbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n pageContainer.find('.progressbar').each(function () {\n var p = $(this);\n if (p.children('span').length === 0) p.append('');\n if (p.attr('data-progress')) app.setProgressbar(p, p.attr('data-progress'));\n });\n };\n\n /*======================================================\n ************ Panels ************\n ======================================================*/\n app.allowPanelOpen = true;\n app.openPanel = function (panelPosition) {\n if (!app.allowPanelOpen) return false;\n var panel = $('.panel-' + panelPosition);\n if (panel.length === 0 || panel.hasClass('active')) return false;\n app.closePanel(); // Close if some panel is opened\n app.allowPanelOpen = false;\n var effect = panel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n panel.css({display: 'block'}).addClass('active');\n panel.trigger('open');\n if (app.params.material) {\n $('.panel-overlay').show();\n }\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n \n // Trigger reLayout\n var clientLeft = panel[0].clientLeft;\n \n // Transition End;\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : panel;\n var openedTriggered = false;\n \n function panelTransitionEnd() {\n transitionEndTarget.transitionEnd(function (e) {\n if ($(e.target).is(transitionEndTarget)) {\n if (panel.hasClass('active')) {\n panel.trigger('opened');\n }\n else {\n panel.trigger('closed');\n }\n if (app.params.material) $('.panel-overlay').css({display: ''});\n app.allowPanelOpen = true;\n }\n else panelTransitionEnd();\n });\n }\n panelTransitionEnd();\n \n $('body').addClass('with-panel-' + panelPosition + '-' + effect);\n return true;\n };\n app.closePanel = function () {\n var activePanel = $('.panel.active');\n if (activePanel.length === 0) return false;\n var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover';\n var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right';\n activePanel.removeClass('active');\n var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel;\n activePanel.trigger('close');\n app.allowPanelOpen = false;\n \n transitionEndTarget.transitionEnd(function () {\n if (activePanel.hasClass('active')) return;\n activePanel.css({display: ''});\n activePanel.trigger('closed');\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n \n $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect);\n };\n /*======================================================\n ************ Swipe panels ************\n ======================================================*/\n app.initSwipePanels = function () {\n var panel, side;\n if (app.params.swipePanel) {\n panel = $('.panel.panel-' + app.params.swipePanel);\n side = app.params.swipePanel;\n if (panel.length === 0 && side !== 'both') return;\n }\n else {\n if (app.params.swipePanelOnlyClose) {\n if ($('.panel').length === 0) return;\n }\n else return;\n }\n \n var panelOverlay = $('.panel-overlay');\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, overlayOpacity, opened, panelWidth, effect, direction;\n var views = $('.' + app.params.viewsClass);\n \n function handleTouchStart(e) {\n if (!app.allowPanelOpen || (!app.params.swipePanel && !app.params.swipePanelOnlyClose) || isTouched) return;\n if ($('.modal-in, .photo-browser-in').length > 0) return;\n if (!(app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose)) {\n if ($('.panel.active').length > 0 && !panel.hasClass('active')) return;\n }\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n if (app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose) {\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n if (app.params.swipePanelOnlyClose) return;\n side = app.params.swipePanel;\n }\n if (!side) return;\n }\n panel = $('.panel.panel-' + side);\n opened = panel.hasClass('active');\n if (app.params.swipePanelActiveArea && !opened) {\n if (side === 'left') {\n if (touchesStart.x > app.params.swipePanelActiveArea) return;\n }\n if (side === 'right') {\n if (touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) return;\n }\n }\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n \n touchStartTime = (new Date()).getTime();\n direction = undefined;\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n if (e.f7PreventPanelSwipe) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n if (!direction) {\n if (pageX > touchesStart.x) {\n direction = 'to-right';\n }\n else {\n direction = 'to-left';\n }\n \n if(side === 'both'){\n if ($('.panel.active').length > 0) {\n side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right';\n }\n else {\n side = direction === 'to-right' ? 'left' : 'right';\n }\n panel = $('.panel.panel-' + side);\n }\n \n if (\n side === 'left' &&\n (\n direction === 'to-left' && !panel.hasClass('active')\n ) ||\n side === 'right' &&\n (\n direction === 'to-right' && !panel.hasClass('active')\n )\n )\n {\n isTouched = false;\n return;\n }\n }\n \n if (app.params.swipePanelNoFollow) {\n var timeDiff = (new Date()).getTime() - touchStartTime;\n if (timeDiff < 300) {\n if (direction === 'to-left') {\n if (side === 'right') app.openPanel(side);\n if (side === 'left' && panel.hasClass('active')) app.closePanel();\n }\n if (direction === 'to-right') {\n if (side === 'left') app.openPanel(side);\n if (side === 'right' && panel.hasClass('active')) app.closePanel();\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n \n if (!isMoved) {\n effect = panel.hasClass('panel-cover') ? 'cover' : 'reveal';\n if (!opened) {\n panel.show();\n panelOverlay.show();\n }\n panelWidth = panel[0].offsetWidth;\n panel.transition(0);\n if (panel.find('.' + app.params.viewClass).length > 0) {\n if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]);\n }\n }\n \n isMoved = true;\n \n e.preventDefault();\n var threshold = opened ? 0 : -app.params.swipePanelThreshold;\n if (side === 'right') threshold = -threshold;\n \n touchesDiff = pageX - touchesStart.x + threshold;\n \n if (side === 'right') {\n translate = touchesDiff - (opened ? panelWidth : 0);\n if (translate > 0) translate = 0;\n if (translate < -panelWidth) {\n translate = -panelWidth;\n }\n }\n else {\n translate = touchesDiff + (opened ? panelWidth : 0);\n if (translate < 0) translate = 0;\n if (translate > panelWidth) {\n translate = panelWidth;\n }\n }\n if (effect === 'reveal') {\n views.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n panelOverlay.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n \n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n else {\n panel.transform('translate3d(' + translate + 'px,0,0)').transition(0);\n if (app.params.material) {\n panelOverlay.transition(0);\n overlayOpacity = Math.abs(translate/panelWidth);\n panelOverlay.css({opacity: overlayOpacity});\n }\n app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth));\n }\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action;\n var edge = (translate === 0 || Math.abs(translate) === panelWidth);\n \n if (!opened) {\n if (translate === 0) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) > 0 ||\n timeDiff >= 300 && (Math.abs(translate) >= panelWidth / 2)\n ) {\n action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n else {\n if (translate === -panelWidth) {\n action = 'reset';\n }\n else if (\n timeDiff < 300 && Math.abs(translate) >= 0 ||\n timeDiff >= 300 && (Math.abs(translate) <= panelWidth / 2)\n ) {\n if (side === 'left' && translate === panelWidth) action = 'reset';\n else action = 'swap';\n }\n else {\n action = 'reset';\n }\n }\n if (action === 'swap') {\n app.allowPanelOpen = true;\n if (opened) {\n app.closePanel();\n if (edge) {\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n }\n }\n else {\n app.openPanel(side);\n }\n if (edge) app.allowPanelOpen = true;\n }\n if (action === 'reset') {\n if (opened) {\n app.allowPanelOpen = true;\n app.openPanel(side);\n }\n else {\n app.closePanel();\n if (edge) {\n app.allowPanelOpen = true;\n panel.css({display: ''});\n }\n else {\n var target = effect === 'reveal' ? views : panel;\n panel.trigger('close');\n $('body').addClass('panel-closing');\n target.transitionEnd(function () {\n panel.trigger('closed');\n panel.css({display: ''});\n $('body').removeClass('panel-closing');\n app.allowPanelOpen = true;\n });\n }\n }\n }\n if (effect === 'reveal') {\n views.transition('');\n views.transform('');\n }\n panel.transition('').transform('');\n panelOverlay.css({display: ''}).transform('').transition('').css('opacity', '');\n }\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n $(document).on(app.touchEvents.start, handleTouchStart, passiveListener);\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd, passiveListener);\n };\n \n\n /*======================================================\n ************ Image Lazy Loading ************\n ************ Based on solution by Marc Godard, https://github.com/MarcGodard ************\n ======================================================*/\n app.initImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n \n // Lazy images\n var lazyLoadImages;\n if (pageContainer.hasClass('lazy')) {\n lazyLoadImages = pageContainer;\n pageContainer = lazyLoadImages.parents('.page');\n }\n else {\n lazyLoadImages = pageContainer.find('.lazy');\n }\n if (lazyLoadImages.length === 0) return;\n \n // Scrollable page content\n var pageContent;\n if (pageContainer.hasClass('page-content')) {\n pageContent = pageContainer;\n pageContainer = pageContainer.parents('.page');\n }\n else {\n pageContent = pageContainer.find('.page-content');\n }\n if (pageContent.length === 0) return;\n \n // Placeholder\n var placeholderSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==';\n if (typeof app.params.imagesLazyLoadPlaceholder === 'string') {\n placeholderSrc = app.params.imagesLazyLoadPlaceholder;\n }\n if (app.params.imagesLazyLoadPlaceholder !== false) lazyLoadImages.each(function(){\n if ($(this).attr('data-src')) $(this).attr('src', placeholderSrc);\n });\n \n // load image\n var imagesSequence = [];\n var imageIsLoading = false;\n function loadImage(el) {\n el = $(el);\n \n var bg = el.attr('data-background');\n var src = bg ? bg : el.attr('data-src');\n if (!src) return;\n \n function onLoad() {\n el.removeClass('lazy').addClass('lazy-loaded');\n if (bg) {\n el.css('background-image', 'url(' + src + ')');\n }\n else {\n el.attr('src', src);\n }\n \n if (app.params.imagesLazyLoadSequential) {\n imageIsLoading = false;\n if (imagesSequence.length > 0) {\n loadImage(imagesSequence.shift());\n }\n }\n }\n \n if (app.params.imagesLazyLoadSequential) {\n if (imageIsLoading) {\n if (imagesSequence.indexOf(el[0]) < 0) imagesSequence.push(el[0]);\n return;\n }\n }\n \n // Loading flag\n imageIsLoading = true;\n \n var image = new Image();\n image.onload = onLoad;\n image.onerror = onLoad;\n image.src =src;\n }\n function lazyHandler() {\n lazyLoadImages = pageContainer.find('.lazy');\n lazyLoadImages.each(function(index, el) {\n el = $(el);\n if (el.parents('.tab:not(.active)').length > 0) {\n return;\n }\n if (isElementInViewport(el[0])) {\n loadImage(el);\n }\n });\n }\n \n function isElementInViewport (el) {\n var rect = el.getBoundingClientRect();\n var threshold = app.params.imagesLazyLoadThreshold || 0;\n return (\n rect.top >= (0 - threshold) &&\n rect.left >= (0 - threshold) &&\n rect.top <= (window.innerHeight + threshold) &&\n rect.left <= (window.innerWidth + threshold)\n );\n }\n \n function attachEvents(destroy) {\n var method = destroy ? 'off' : 'on';\n lazyLoadImages[method]('lazy', lazyHandler);\n lazyLoadImages.parents('.tab')[method]('show', lazyHandler);\n pageContainer[method]('lazy', lazyHandler);\n pageContent[method]('lazy', lazyHandler);\n pageContent[method]('scroll', lazyHandler);\n $(window)[method]('resize', lazyHandler);\n }\n function detachEvents() {\n attachEvents(true);\n }\n \n // Store detach function\n pageContainer[0].f7DestroyImagesLazyLoad = detachEvents;\n \n // Attach events\n attachEvents();\n \n // Destroy on page remove\n if (pageContainer.hasClass('page')) {\n pageContainer.once('pageBeforeRemove', detachEvents);\n }\n \n // Run loader on page load/init\n lazyHandler();\n \n // Run after page animation\n pageContainer.once('pageAfterAnimation', lazyHandler);\n };\n app.destroyImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) {\n pageContainer[0].f7DestroyImagesLazyLoad();\n }\n };\n app.reinitImagesLazyLoad = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0) {\n pageContainer.trigger('lazy');\n }\n };\n\n /*======================================================\n ************ Material Preloader ************\n ======================================================*/\n app.initPageMaterialPreloader = function (pageContainer) {\n $(pageContainer).find('.preloader').each(function () {\n if ($(this).children().length === 0) {\n $(this).html(app.params.materialPreloaderHtml);\n }\n });\n };\n\n /*======================================================\n ************ Messages ************\n ======================================================*/\n var Messages = function (container, params) {\n var defaults = {\n autoLayout: true,\n newMessagesFirst: false,\n scrollMessages: true,\n scrollMessagesOnlyOnEdge: false,\n messageTemplate:\n '{{#if day}}' +\n '
                                      {{day}} {{#if time}}, {{time}}{{/if}}
                                      ' +\n '{{/if}}' +\n '
                                      ' +\n '{{#if name}}
                                      {{name}}
                                      {{/if}}' +\n '
                                      {{text}}{{#if date}}
                                      {{date}}
                                      {{/if}}
                                      ' +\n '{{#if avatar}}
                                      {{/if}}' +\n '{{#if label}}
                                      {{label}}
                                      {{/if}}' +\n '
                                      '\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined' || params[def] === null) {\n params[def] = defaults[def];\n }\n }\n \n // Instance\n var m = this;\n \n // Params\n m.params = params;\n \n // Container\n m.container = $(container);\n if (m.container.length === 0) return;\n \n // Autolayout\n if (m.params.autoLayout) m.container.addClass('messages-auto-layout');\n \n // New messages first\n if (m.params.newMessagesFirst) m.container.addClass('messages-new-first');\n \n // Is In Page\n m.pageContainer = m.container.parents('.page').eq(0);\n m.pageContent = m.pageContainer.find('.page-content');\n \n // Compiled template\n m.template = Template7.compile(m.params.messageTemplate);\n \n // Auto Layout\n m.layout = function () {\n if (!m.container.hasClass('messages-auto-layout')) m.container.addClass('messages-auto-layout');\n m.container.find('.message').each(function () {\n var message = $(this);\n if (message.find('.message-text img').length > 0) {\n var childNodes = message.find('.message-text')[0].childNodes;\n var onlyPic = true;\n for (var i = 0 ; i < childNodes.length; i++) {\n if (childNodes[i].nodeType === 1 && childNodes[i].nodeName.toLowerCase() !== 'img') onlyPic = false;\n if (childNodes[i].nodeType === 3 && childNodes[i].textContent.trim() !== '') onlyPic = false;\n }\n if (onlyPic) message.addClass('message-pic');\n else message.removeClass('message-pic');\n }\n if (message.find('.message-avatar').length > 0) message.addClass('message-with-avatar');\n });\n m.container.find('.message').each(function () {\n var message = $(this);\n var isSent = message.hasClass('message-sent');\n var next = message.next('.message-' + (isSent ? 'sent' : 'received'));\n var prev = message.prev('.message-' + (isSent ? 'sent' : 'received'));\n if (next.length === 0) {\n message.addClass('message-last message-with-tail');\n }\n else message.removeClass('message-last message-with-tail');\n \n if (prev.length === 0) {\n message.addClass('message-first');\n }\n else message.removeClass('message-first');\n \n if (prev.length > 0 && prev.find('.message-name').length > 0 && message.find('.message-name').length > 0) {\n if (prev.find('.message-name').text() !== message.find('.message-name').text()) {\n prev.addClass('message-last message-with-tail');\n message.addClass('message-first');\n }\n }\n });\n };\n \n // Add Message\n m.appendMessage = function (props, animate) {\n return m.addMessage(props, 'append', animate);\n };\n m.prependMessage = function (props, animate) {\n return m.addMessage(props, 'prepend', animate);\n };\n m.addMessage = function (props, method, animate) {\n return m.addMessages([props], method, animate);\n };\n m.addMessages = function (newMessages, method, animate) {\n if (typeof animate === 'undefined') {\n animate = true;\n }\n if (typeof method === 'undefined') {\n method = m.params.newMessagesFirst ? 'prepend' : 'append';\n }\n var newMessagesHTML = '', i;\n for (i = 0; i < newMessages.length; i++) {\n var props = newMessages[i] || {};\n props.type = props.type || 'sent';\n if (!props.text) continue;\n props.hasImage = props.text.indexOf('= 0;\n if (props.onlyImage === false) props.hasImage = false;\n if (animate) props.position = method === 'append' ? 'bottom' : 'top';\n \n newMessagesHTML += m.template(props);\n }\n var scrollHeightBefore = m.pageContent[0].scrollHeight,\n heightBefore = m.pageContent[0].offsetHeight,\n scrollBefore = m.pageContent[0].scrollTop;\n m.container[method](newMessagesHTML);\n if (m.params.autoLayout) m.layout();\n if (method === 'prepend') {\n m.pageContent[0].scrollTop = scrollBefore + (m.pageContent[0].scrollHeight - scrollHeightBefore);\n }\n if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) {\n if (m.params.scrollMessagesOnlyOnEdge) {\n var onEdge = false;\n if (m.params.newMessagesFirst) {\n if (scrollBefore === 0) onEdge = true;\n }\n else {\n if (scrollBefore - (scrollHeightBefore - heightBefore) >= -10) onEdge = true;\n }\n if (onEdge) m.scrollMessages(animate ? undefined : 0);\n }\n else m.scrollMessages(animate ? undefined : 0);\n }\n var messages = m.container.find('.message');\n if (newMessages.length === 1) {\n return method === 'append' ? messages[messages.length - 1] : messages[0];\n }\n else {\n var messagesToReturn = [];\n if (method === 'append') {\n for (i = messages.length - newMessages.length; i < messages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n else {\n for (i = 0; i < newMessages.length; i++) {\n messagesToReturn.push(messages[i]);\n }\n }\n return messagesToReturn;\n }\n \n };\n m.removeMessage = function (message) {\n message = $(message);\n if (message.length === 0) {\n return false;\n }\n else {\n message.remove();\n if (m.params.autoLayout) m.layout();\n return true;\n }\n };\n m.removeMessages = function (messages) {\n m.removeMessage(messages);\n };\n m.clean = function () {\n m.container.html('');\n };\n \n // Scroll\n m.scrollMessages = function (duration, scrollTop) {\n if (typeof duration === 'undefined') duration = 400;\n var currentScroll = m.pageContent[0].scrollTop;\n var newScroll;\n if (typeof scrollTop !== 'undefined') newScroll = scrollTop;\n else {\n newScroll = m.params.newMessagesFirst ? 0 : m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight;\n if (newScroll === currentScroll) return;\n }\n m.pageContent.scrollTop(newScroll, duration);\n };\n \n // Init Destroy\n m.init = function () {\n if (m.params.messages) {\n m.addMessages(m.params.messages, undefined, false);\n }\n else {\n if (m.params.autoLayout) m.layout();\n m.scrollMessages(0);\n }\n \n };\n m.destroy = function () {\n m = null;\n };\n \n // Init\n m.init();\n \n m.container[0].f7Messages = m;\n return m;\n };\n app.messages = function (container, params) {\n return new Messages (container, params);\n };\n app.initPageMessages = function (pageContainer) {\n pageContainer = $(pageContainer);\n var messages = pageContainer.find('.messages');\n if (messages.length === 0) return;\n if (!messages.hasClass('messages-init')) {\n return;\n }\n var m = app.messages(messages, messages.dataset());\n \n // Destroy on page remove\n function pageBeforeRemove() {\n m.destroy();\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n if (pageContainer.hasClass('page')) {\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n }\n };\n \n\n /*===============================================================================\n ************ Swipeout Actions (Swipe to delete) ************\n ===============================================================================*/\n app.swipeoutOpenedEl = undefined;\n app.allowSwipeout = true;\n app.initSwipeout = function (swipeoutEl) {\n var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, swipeOutEl, swipeOutContent, actionsRight, actionsLeft, actionsLeftWidth, actionsRightWidth, translate, opened, openedActions, buttonsLeft, buttonsRight, direction, overswipeLeftButton, overswipeRightButton, overswipeLeft, overswipeRight, noFoldLeft, noFoldRight;\n $(document).on(app.touchEvents.start, function (e) {\n if (app.swipeoutOpenedEl) {\n var target = $(e.target);\n if (!(\n app.swipeoutOpenedEl.is(target[0]) ||\n target.parents('.swipeout').is(app.swipeoutOpenedEl) ||\n target.hasClass('modal-in') ||\n target.hasClass('modal-overlay') ||\n target.hasClass('actions-modal') || \n target.parents('.actions-modal.modal-in, .modal.modal-in').length > 0\n )) {\n app.swipeoutClose(app.swipeoutOpenedEl);\n }\n }\n });\n \n function handleTouchStart(e) {\n if (!app.allowSwipeout) return;\n isMoved = false;\n isTouched = true;\n isScrolling = undefined;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n }\n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (isScrolling) {\n isTouched = false;\n return;\n }\n \n if (!isMoved) {\n if ($('.list-block.sortable-opened').length > 0) return;\n /*jshint validthis:true */\n swipeOutEl = $(this);\n swipeOutContent = swipeOutEl.find('.swipeout-content');\n actionsRight = swipeOutEl.find('.swipeout-actions-right');\n actionsLeft = swipeOutEl.find('.swipeout-actions-left');\n actionsLeftWidth = actionsRightWidth = buttonsLeft = buttonsRight = overswipeRightButton = overswipeLeftButton = null;\n noFoldLeft = actionsLeft.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n noFoldRight = actionsRight.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n if (actionsLeft.length > 0) {\n actionsLeftWidth = actionsLeft.outerWidth();\n buttonsLeft = actionsLeft.children('a');\n overswipeLeftButton = actionsLeft.find('.swipeout-overswipe');\n }\n if (actionsRight.length > 0) {\n actionsRightWidth = actionsRight.outerWidth();\n buttonsRight = actionsRight.children('a');\n overswipeRightButton = actionsRight.find('.swipeout-overswipe');\n }\n opened = swipeOutEl.hasClass('swipeout-opened');\n if (opened) {\n openedActions = swipeOutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right';\n }\n swipeOutEl.removeClass('transitioning');\n if (!app.params.swipeoutNoFollow) {\n swipeOutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n swipeOutEl.removeClass('swipeout-opened');\n }\n }\n isMoved = true;\n e.preventDefault();\n \n touchesDiff = pageX - touchesStart.x;\n translate = touchesDiff;\n \n if (opened) {\n if (openedActions === 'right') translate = translate - actionsRightWidth;\n else translate = translate + actionsLeftWidth;\n }\n \n if (translate > 0 && actionsLeft.length === 0 || translate < 0 && actionsRight.length === 0) {\n if (!opened) {\n isTouched = isMoved = false;\n swipeOutContent.transform('');\n if (buttonsRight && buttonsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (buttonsLeft && buttonsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n return;\n }\n translate = 0;\n }\n \n if (translate < 0) direction = 'to-left';\n else if (translate > 0) direction = 'to-right';\n else {\n if (direction) direction = direction;\n else direction = 'to-left';\n }\n \n var i, buttonOffset, progress;\n \n e.f7PreventPanelSwipe = true;\n if (app.params.swipeoutNoFollow) {\n if (opened) {\n if (openedActions === 'right' && touchesDiff > 0) {\n app.swipeoutClose(swipeOutEl);\n }\n if (openedActions === 'left' && touchesDiff < 0) {\n app.swipeoutClose(swipeOutEl);\n }\n }\n else {\n if (touchesDiff < 0 && actionsRight.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'right');\n }\n if (touchesDiff > 0 && actionsLeft.length > 0) {\n app.swipeoutOpen(swipeOutEl, 'left');\n }\n }\n isTouched = false;\n isMoved = false;\n return;\n }\n overswipeLeft = false;\n overswipeRight = false;\n var $button;\n if (actionsRight.length > 0) {\n // Show right actions\n progress = translate / actionsRightWidth;\n if (translate < -actionsRightWidth) {\n translate = -actionsRightWidth - Math.pow(-translate - actionsRightWidth, 0.8);\n if (overswipeRightButton.length > 0) {\n overswipeRight = true;\n }\n }\n for (i = 0; i < buttonsRight.length; i++) {\n if (typeof buttonsRight[i]._buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n buttonOffset = buttonsRight[i]._buttonOffset;\n $button = $(buttonsRight[i]);\n if (overswipeRightButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeRight ? -buttonOffset : 0) + 'px'});\n if (overswipeRight) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n $button.transform('translate3d(' + (translate - buttonOffset * (1 + Math.max(progress, -1))) + 'px,0,0)');\n }\n }\n if (actionsLeft.length > 0) {\n // Show left actions\n progress = translate / actionsLeftWidth;\n if (translate > actionsLeftWidth) {\n translate = actionsLeftWidth + Math.pow(translate - actionsLeftWidth, 0.8);\n if (overswipeLeftButton.length > 0) {\n overswipeLeft = true;\n }\n }\n for (i = 0; i < buttonsLeft.length; i++) {\n if (typeof buttonsLeft[i]._buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n buttonOffset = buttonsLeft[i]._buttonOffset;\n $button = $(buttonsLeft[i]);\n if (overswipeLeftButton.length > 0 && $button.hasClass('swipeout-overswipe')) {\n $button.css({left: (overswipeLeft ? buttonOffset : 0) + 'px'});\n if (overswipeLeft) {\n $button.addClass('swipeout-overswipe-active');\n }\n else {\n $button.removeClass('swipeout-overswipe-active'); \n }\n }\n if (buttonsLeft.length > 1) {\n $button.css('z-index', buttonsLeft.length - i); \n }\n $button.transform('translate3d(' + (translate + buttonOffset * (1 - Math.min(progress, 1))) + 'px,0,0)');\n }\n }\n swipeOutContent.transform('translate3d(' + translate + 'px,0,0)');\n }\n function handleTouchEnd(e) {\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n \n isTouched = false;\n isMoved = false;\n var timeDiff = (new Date()).getTime() - touchStartTime;\n var action, actionsWidth, actions, buttons, i, noFold;\n \n noFold = direction === 'to-left' ? noFoldRight : noFoldLeft;\n actions = direction === 'to-left' ? actionsRight : actionsLeft;\n actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth;\n \n if (\n timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') ||\n timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2\n ) {\n action = 'open';\n }\n else {\n action = 'close';\n }\n if (timeDiff < 300) {\n if (Math.abs(translate) === 0) action = 'close';\n if (Math.abs(translate) === actionsWidth) action = 'open';\n }\n \n if (action === 'open') {\n app.swipeoutOpenedEl = swipeOutEl;\n swipeOutEl.trigger('open');\n swipeOutEl.addClass('swipeout-opened transitioning');\n var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth;\n swipeOutContent.transform('translate3d(' + newTranslate + 'px,0,0)');\n actions.addClass('swipeout-actions-opened');\n buttons = direction === 'to-left' ? buttonsRight : buttonsLeft;\n if (buttons) {\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + newTranslate + 'px,0,0)');\n }\n }\n if (overswipeRight) {\n actionsRight.find('.swipeout-overswipe')[0].click();\n }\n if (overswipeLeft) {\n actionsLeft.find('.swipeout-overswipe')[0].click();\n }\n }\n else {\n swipeOutEl.trigger('close');\n app.swipeoutOpenedEl = undefined;\n swipeOutEl.addClass('transitioning').removeClass('swipeout-opened');\n swipeOutContent.transform('');\n actions.removeClass('swipeout-actions-opened');\n }\n \n var buttonOffset;\n if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) {\n for (i = 0; i < buttonsLeft.length; i++) {\n buttonOffset = buttonsLeft[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth;\n }\n $(buttonsLeft[i]).transform('translate3d(' + (buttonOffset) + 'px,0,0)');\n }\n }\n if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) {\n for (i = 0; i < buttonsRight.length; i++) {\n buttonOffset = buttonsRight[i]._buttonOffset;\n if (typeof buttonOffset === 'undefined') {\n buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft;\n }\n $(buttonsRight[i]).transform('translate3d(' + (-buttonOffset) + 'px,0,0)');\n }\n }\n swipeOutContent.transitionEnd(function (e) {\n if (opened && action === 'open' || closed && action === 'close') return;\n swipeOutEl.trigger(action === 'open' ? 'opened' : 'closed');\n if (opened && action === 'close') {\n if (actionsRight.length > 0) {\n buttonsRight.transform('');\n }\n if (actionsLeft.length > 0) {\n buttonsLeft.transform('');\n }\n }\n });\n }\n if (swipeoutEl) {\n $(swipeoutEl).on(app.touchEvents.start, handleTouchStart);\n $(swipeoutEl).on(app.touchEvents.move, handleTouchMove);\n $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart);\n $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd);\n }\n \n };\n app.swipeoutOpen = function (el, dir, callback) {\n el = $(el);\n if (arguments.length === 2) {\n if (typeof arguments[1] === 'function') {\n callback = dir;\n }\n }\n \n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n if (!el.hasClass('swipeout') || el.hasClass('swipeout-opened')) return;\n if (!dir) {\n if (el.find('.swipeout-actions-right').length > 0) dir = 'right';\n else dir = 'left';\n }\n var swipeOutActions = el.find('.swipeout-actions-' + dir);\n if (swipeOutActions.length === 0) return;\n var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n el.trigger('open').addClass('swipeout-opened').removeClass('transitioning');\n swipeOutActions.addClass('swipeout-actions-opened');\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n var translate = dir === 'right' ? -swipeOutActionsWidth : swipeOutActionsWidth;\n var i;\n if (buttons.length > 1) {\n for (i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (- buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).css('z-index', buttons.length - i).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n }\n var clientLeft = buttons[1].clientLeft;\n }\n el.addClass('transitioning');\n for (i = 0; i < buttons.length; i++) {\n $(buttons[i]).transform('translate3d(' + (translate) + 'px,0,0)');\n }\n el.find('.swipeout-content').transform('translate3d(' + translate + 'px,0,0)').transitionEnd(function () {\n el.trigger('opened');\n if (callback) callback.call(el[0]);\n });\n app.swipeoutOpenedEl = el;\n };\n app.swipeoutClose = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (!el.hasClass('swipeout-opened')) return;\n var dir = el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left';\n var swipeOutActions = el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened');\n var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold;\n var buttons = swipeOutActions.children('a');\n var swipeOutActionsWidth = swipeOutActions.outerWidth();\n app.allowSwipeout = false;\n el.trigger('close');\n el.removeClass('swipeout-opened').addClass('transitioning');\n \n var closeTO;\n function onSwipeoutClose() {\n app.allowSwipeout = true;\n if (el.hasClass('swipeout-opened')) return;\n el.removeClass('transitioning');\n buttons.transform('');\n el.trigger('closed');\n if (callback) callback.call(el[0]);\n if (closeTO) clearTimeout(closeTO);\n }\n el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose);\n closeTO = setTimeout(onSwipeoutClose, 500);\n \n for (var i = 0; i < buttons.length; i++) {\n if (dir === 'right') {\n $(buttons[i]).transform('translate3d(' + (-buttons[i].offsetLeft) + 'px,0,0)');\n }\n else {\n $(buttons[i]).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)');\n }\n $(buttons[i]).css({left:0 + 'px'}).removeClass('swipeout-overswipe-active');\n }\n if (app.swipeoutOpenedEl && app.swipeoutOpenedEl[0] === el[0]) app.swipeoutOpenedEl = undefined;\n };\n app.swipeoutDelete = function (el, callback) {\n el = $(el);\n if (el.length === 0) return;\n if (el.length > 1) el = $(el[0]);\n app.swipeoutOpenedEl = undefined;\n el.trigger('delete');\n el.css({height: el.outerHeight() + 'px'});\n var clientLeft = el[0].clientLeft;\n el.css({height: 0 + 'px'}).addClass('deleting transitioning').transitionEnd(function () {\n el.trigger('deleted');\n if (callback) callback.call(el[0]);\n if (el.parents('.virtual-list').length > 0) {\n var virtualList = el.parents('.virtual-list')[0].f7VirtualList;\n var virtualIndex = el[0].f7VirtualListIndex;\n if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex);\n }\n else {\n if (app.params.swipeoutRemoveWithTimeout) {\n setTimeout(function () {\n el.remove();\n }, 0);\n }\n else el.remove();\n }\n });\n var translate = '-100%';\n el.find('.swipeout-content').transform('translate3d(' + translate + ',0,0)');\n };\n \n\n /*===============================================================================\n ************ Sortable ************\n ===============================================================================*/\n app.sortableToggle = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.toggleClass('sortable-opened');\n if (sortableContainer.hasClass('sortable-opened')) {\n sortableContainer.trigger('open');\n }\n else {\n sortableContainer.trigger('close');\n }\n return sortableContainer;\n };\n app.sortableOpen = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.addClass('sortable-opened');\n sortableContainer.trigger('open');\n return sortableContainer;\n };\n app.sortableClose = function (sortableContainer) {\n sortableContainer = $(sortableContainer);\n if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable');\n sortableContainer.removeClass('sortable-opened');\n sortableContainer.trigger('close');\n return sortableContainer;\n };\n app.initSortable = function () {\n var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer, startIndex;\n \n function handleTouchStart(e) {\n isMoved = false;\n isTouched = true;\n touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n /*jshint validthis:true */\n sortingEl = $(this).parent();\n startIndex = sortingEl.index();\n sortingItems = sortingEl.parent().find('li');\n sortableContainer = sortingEl.parents('.sortable');\n e.preventDefault();\n app.allowPanelOpen = app.allowSwipeout = false;\n }\n function handleTouchMove(e) {\n if (!isTouched || !sortingEl) return;\n var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (!isMoved) {\n sortingEl.addClass('sorting');\n sortableContainer.addClass('sortable-sorting');\n minTop = sortingEl[0].offsetTop;\n maxTop = sortingEl.parent().height() - sortingEl[0].offsetTop - sortingEl.height();\n sortingElHeight = sortingEl[0].offsetHeight;\n }\n isMoved = true;\n \n e.preventDefault();\n e.f7PreventPanelSwipe = true;\n touchesDiff = pageY - touchStartY;\n var translate = touchesDiff;\n if (translate < -minTop) translate = -minTop;\n if (translate > maxTop) translate = maxTop;\n sortingEl.transform('translate3d(0,' + translate + 'px,0)');\n \n insertBefore = insertAfter = undefined;\n \n sortingItems.each(function () {\n var currentEl = $(this);\n if (currentEl[0] === sortingEl[0]) return;\n var currentElOffset = currentEl[0].offsetTop;\n var currentElHeight = currentEl.height();\n var sortingElOffset = sortingEl[0].offsetTop + translate;\n \n if ((sortingElOffset >= currentElOffset - currentElHeight / 2) && sortingEl.index() < currentEl.index()) {\n currentEl.transform('translate3d(0, '+(-sortingElHeight)+'px,0)');\n insertAfter = currentEl;\n insertBefore = undefined;\n }\n else if ((sortingElOffset <= currentElOffset + currentElHeight / 2) && sortingEl.index() > currentEl.index()) {\n currentEl.transform('translate3d(0, '+(sortingElHeight)+'px,0)');\n insertAfter = undefined;\n if (!insertBefore) insertBefore = currentEl;\n }\n else {\n $(this).transform('translate3d(0, 0%,0)');\n }\n });\n }\n function handleTouchEnd(e) {\n app.allowPanelOpen = app.allowSwipeout = true;\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n e.preventDefault();\n sortingItems.transform('');\n sortingEl.removeClass('sorting');\n sortableContainer.removeClass('sortable-sorting');\n var virtualList, oldIndex, newIndex;\n if (insertAfter) {\n sortingEl.insertAfter(insertAfter);\n sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if (insertBefore) {\n sortingEl.insertBefore(insertBefore);\n sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()});\n }\n if ((insertAfter || insertBefore) && sortableContainer.hasClass('virtual-list')) {\n virtualList = sortableContainer[0].f7VirtualList;\n oldIndex = sortingEl[0].f7VirtualListIndex;\n newIndex = insertBefore ? insertBefore[0].f7VirtualListIndex : insertAfter[0].f7VirtualListIndex;\n if (virtualList) virtualList.moveItem(oldIndex, newIndex);\n }\n insertAfter = insertBefore = undefined;\n isTouched = false;\n isMoved = false;\n }\n $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart);\n if (app.support.touch) {\n $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove);\n $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd);\n }\n else {\n $(document).on(app.touchEvents.move, handleTouchMove);\n $(document).on(app.touchEvents.end, handleTouchEnd);\n }\n };\n \n\n /*===============================================================================\n ************ Smart Select ************\n ===============================================================================*/\n app.initSmartSelects = function (pageContainer) {\n pageContainer = $(pageContainer);\n var selects;\n if (pageContainer.is('.smart-select')) {\n selects = pageContainer;\n }\n else {\n selects = pageContainer.find('.smart-select');\n }\n if (selects.length === 0) return;\n \n selects.each(function () {\n var smartSelect = $(this);\n \n var $select = smartSelect.find('select');\n if ($select.length === 0) return;\n \n var select = $select[0];\n if (select.length === 0) return;\n \n var valueText = [];\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) valueText.push(select[i].textContent.trim());\n }\n \n var itemAfter = smartSelect.find('.item-after');\n if (itemAfter.length === 0) {\n smartSelect.find('.item-inner').append('
                                      ' + valueText.join(', ') + '
                                      ');\n }\n else {\n var selectedText = itemAfter.text();\n if (itemAfter.hasClass('smart-select-value')) {\n for (i = 0; i < select.length; i++) {\n select[i].selected = select[i].textContent.trim() === selectedText.trim();\n }\n } else {\n itemAfter.text(valueText.join(', '));\n }\n }\n \n $select.on('change', function () {\n var valueText = [];\n for (var i = 0; i < select.length; i++) {\n if (select[i].selected) valueText.push(select[i].textContent.trim());\n }\n smartSelect.find('.item-after').text(valueText.join(', '));\n });\n \n });\n \n };\n app.smartSelectAddOption = function (select, option, index) {\n select = $(select);\n var smartSelect = select.parents('.smart-select');\n if (typeof index === 'undefined') {\n select.append(option);\n }\n else {\n $(option).insertBefore(select.find('option').eq(index));\n }\n app.initSmartSelects(smartSelect);\n var selectName = smartSelect.find('select').attr('name');\n var opened = $('.page.smart-select-page[data-select-name=\"' + selectName + '\"]').length > 0;\n if (opened) {\n app.smartSelectOpen(smartSelect, true);\n }\n };\n app.smartSelectOpen = function (smartSelect, reLayout) {\n smartSelect = $(smartSelect);\n if (smartSelect.length === 0) return;\n \n // Find related view\n var view = smartSelect.parents('.' + app.params.viewClass);\n if (view.length === 0) return;\n view = view[0].f7View;\n \n // Parameters\n var openIn = smartSelect.attr('data-open-in') || app.params.smartSelectOpenIn;\n if (openIn === 'popup') {\n if ($('.popup.smart-select-popup').length > 0) return;\n }\n else if (openIn === 'picker') {\n if ($('.picker-modal.modal-in').length > 0 && !reLayout){\n if (smartSelect[0].f7SmartSelectPicker !== $('.picker-modal.modal-in:not(.modal-out)')[0]) app.closeModal($('.picker-modal.modal-in:not(.modal-out)'));\n else return;\n }\n }\n else {\n if (!view) return;\n }\n \n var smartSelectData = smartSelect.dataset();\n var pageTitle = smartSelectData.pageTitle || smartSelect.find('.item-title').text();\n var backText = smartSelectData.backText || app.params.smartSelectBackText;\n var closeText;\n if (openIn === 'picker') {\n closeText = smartSelectData.pickerCloseText || smartSelectData.backText || app.params.smartSelectPickerCloseText ; \n }\n else {\n closeText = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ; \n }\n var backOnSelect = smartSelectData.backOnSelect !== undefined ? smartSelectData.backOnSelect : app.params.smartSelectBackOnSelect;\n var formTheme = smartSelectData.formTheme || app.params.smartSelectFormTheme;\n var navbarTheme = smartSelectData.navbarTheme || app.params.smartSelectNavbarTheme;\n var toolbarTheme = smartSelectData.toolbarTheme || app.params.smartSelectToolbarTheme;\n var virtualList = smartSelectData.virtualList;\n var virtualListHeight = smartSelectData.virtualListHeight;\n var material = app.params.material;\n var pickerHeight = smartSelectData.pickerHeight || app.params.smartSelectPickerHeight;\n \n // Collect all options/values\n var select = smartSelect.find('select')[0];\n var $select = $(select);\n var $selectData = $select.dataset();\n if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) {\n return;\n }\n var values = [];\n var id = (new Date()).getTime();\n var inputType = select.multiple ? 'checkbox' : 'radio';\n var inputName = inputType + '-' + id;\n var maxLength = $select.attr('maxlength');\n var selectName = select.name;\n var option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionIsLabel, previousGroup, optionColor, optionClassName, optionData;\n for (var i = 0; i < select.length; i++) {\n option = $(select[i]);\n optionData = option.dataset();\n optionImage = optionData.optionImage || $selectData.optionImage || smartSelectData.optionImage;\n optionIcon = optionData.optionIcon || $selectData.optionIcon || smartSelectData.optionIcon;\n optionHasMedia = optionImage || optionIcon || inputType === 'checkbox';\n if (material) optionHasMedia = optionImage || optionIcon;\n optionColor = optionData.optionColor;\n optionClassName = optionData.optionClass;\n if (option[0].disabled) optionClassName += ' disabled';\n optionGroup = option.parent('optgroup')[0];\n optionGroupLabel = optionGroup && optionGroup.label;\n optionIsLabel = false;\n if (optionGroup) {\n if (optionGroup !== previousGroup) {\n optionIsLabel = true;\n previousGroup = optionGroup;\n values.push({\n groupLabel: optionGroupLabel,\n isLabel: optionIsLabel\n });\n }\n }\n values.push({\n value: option[0].value,\n text: option[0].textContent.trim(),\n selected: option[0].selected,\n group: optionGroup,\n groupLabel: optionGroupLabel,\n image: optionImage,\n icon: optionIcon,\n color: optionColor,\n className: optionClassName,\n disabled: option[0].disabled,\n inputType: inputType,\n id: id,\n hasMedia: optionHasMedia,\n checkbox: inputType === 'checkbox',\n inputName: inputName,\n material: app.params.material\n });\n }\n \n \n // Item template/HTML\n if (!app._compiledTemplates.smartSelectItem) {\n app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate || \n '{{#if isLabel}}' +\n '
                                    • {{groupLabel}}
                                    • ' +\n '{{else}}' +\n '' +\n '' +\n '' +\n '{{/if}}'\n );\n }\n var smartSelectItemTemplate = app._compiledTemplates.smartSelectItem;\n \n var inputsHTML = '';\n if (!virtualList) {\n for (var j = 0; j < values.length; j++) {\n inputsHTML += smartSelectItemTemplate(values[j]);\n }\n }\n \n // Toolbar / Navbar\n var toolbarHTML = '', navbarHTML;\n var noNavbar = '', noToolbar = '', noTabbar = '', navbarLayout;\n \n if (openIn === 'picker') {\n if (!app._compiledTemplates.smartSelectToolbar) {\n app._compiledTemplates.smartSelectToolbar = t7.compile(app.params.smartSelectToolbarTemplate || \n '
                                      ' +\n '
                                      ' +\n '
                                      ' +\n '' +\n '
                                      ' +\n '
                                      '\n );\n }\n \n toolbarHTML = app._compiledTemplates.smartSelectToolbar({\n pageTitle: pageTitle,\n closeText: closeText,\n openIn: openIn,\n toolbarTheme: toolbarTheme,\n inPicker: openIn === 'picker' \n });\n }\n else {\n // Navbar HTML\n if (!app._compiledTemplates.smartSelectNavbar) {\n app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate || \n '
                                      ' +\n '
                                      ' +\n '{{leftTemplate}}' +\n '
                                      {{pageTitle}}
                                      ' +\n '
                                      ' +\n '
                                      '\n );\n }\n navbarHTML = app._compiledTemplates.smartSelectNavbar({\n pageTitle: pageTitle,\n backText: backText,\n closeText: closeText,\n openIn: openIn,\n navbarTheme: navbarTheme,\n inPopup: openIn === 'popup',\n inPage: openIn === 'page',\n leftTemplate: openIn === 'popup' ? \n (app.params.smartSelectPopupCloseTemplate || (material ? '
                                      ' : '')).replace(/{{closeText}}/g, closeText) :\n (app.params.smartSelectBackTemplate || (material ? '
                                      ' : '')).replace(/{{backText}}/g, backText)\n });\n // Determine navbar layout type - static/fixed/through\n if (openIn === 'page') {\n navbarLayout = 'static';\n if (smartSelect.parents('.navbar-through').length > 0) navbarLayout = 'through';\n if (smartSelect.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = smartSelect.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = smartSelect.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n noTabbar = smartSelect.parents('.page').hasClass('no-tabbar') ? 'no-tabbar' : '';\n }\n else {\n navbarLayout = 'fixed';\n }\n }\n \n \n // Page Layout\n var pageName = 'smart-select-' + inputName;\n \n var useSearchbar = typeof smartSelect.data('searchbar') === 'undefined' ? app.params.smartSelectSearchbar : (smartSelect.data('searchbar') === 'true' ? true : false);\n var searchbarPlaceholder, searchbarCancel;\n \n if (useSearchbar) {\n searchbarPlaceholder = smartSelect.data('searchbar-placeholder') || 'Search';\n searchbarCancel = smartSelect.data('searchbar-cancel') || 'Cancel';\n }\n \n var searchbarHTML = '
                                      ' +\n '
                                      ' +\n '' +\n '' +\n '
                                      ' +\n (material ? '' : '' + searchbarCancel + '') +\n '
                                      ' +\n '
                                      ';\n \n var pageHTML =\n (openIn !== 'picker' && navbarLayout === 'through' ? navbarHTML : '') +\n '
                                      ' +\n '
                                      ' +\n (openIn !== 'picker' && navbarLayout === 'fixed' ? navbarHTML : '') +\n (useSearchbar ? searchbarHTML : '') +\n '
                                      ' +\n (openIn !== 'picker' && navbarLayout === 'static' ? navbarHTML : '') +\n '
                                      ' +\n '
                                        ' +\n (virtualList ? '' : inputsHTML) +\n '
                                      ' +\n '
                                      ' +\n '
                                      ' +\n '
                                      ' +\n '
                                      ';\n \n // Define popup and picker\n var popup, picker;\n \n // Scroll SS Picker To Input\n function scrollToInput() {\n var pageContent = smartSelect.parents('.page-content');\n if (pageContent.length === 0) return;\n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - picker.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - picker.height(),\n newPaddingBottom;\n var inputTop = smartSelect.offset().top - paddingTop + smartSelect[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = picker.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n // Close SS Picker on HTML Click\n function closeOnHTMLClick(e) {\n var close = true;\n if (e.target === smartSelect[0] || $(e.target).parents(smartSelect[0]).length > 0) {\n close = false;\n }\n if ($(e.target).parents('.picker-modal').length > 0) {\n close = false;\n }\n if (close) {\n app.closeModal('.smart-select-picker.modal-in'); \n }\n }\n \n // Check max length\n function checkMaxLength(container) {\n if (select.selectedOptions.length >= maxLength) {\n container.find('input[type=\"checkbox\"]').each(function () {\n if (!this.checked) {\n $(this).parents('li').addClass('disabled');\n }\n else {\n $(this).parents('li').removeClass('disabled'); \n }\n });\n }\n else {\n container.find('.disabled').removeClass('disabled');\n }\n }\n // Event Listeners on new page\n function handleInputs(container) {\n container = $(container);\n if (virtualList) {\n var virtualListInstance = app.virtualList(container.find('.virtual-list'), {\n items: values,\n template: smartSelectItemTemplate,\n height: virtualListHeight || undefined,\n searchByItem: function (query, index, item) {\n if (item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true;\n return false;\n }\n });\n container.once(openIn === 'popup' || openIn === 'picker' ? 'closed': 'pageBeforeRemove', function () {\n if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy();\n });\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n if (backOnSelect) {\n container.find('input[type=\"radio\"][name=\"' + inputName + '\"]:checked').parents('label').once('click', function () {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n });\n }\n container.on('change', 'input[name=\"' + inputName + '\"]', function () {\n var input = this;\n var value = input.value;\n var optionText = [];\n if (input.type === 'checkbox') {\n var values = [];\n for (var i = 0; i < select.options.length; i++) {\n var option = select.options[i];\n if (option.value === value) {\n option.selected = input.checked;\n }\n if (option.selected) {\n optionText.push(option.textContent.trim());\n }\n }\n if (maxLength) {\n checkMaxLength(container);\n }\n }\n else {\n optionText = [smartSelect.find('option[value=\"' + value + '\"]').text()];\n select.value = value;\n }\n \n $select.trigger('change');\n smartSelect.find('.item-after').text(optionText.join(', '));\n if (backOnSelect && inputType === 'radio') {\n if (openIn === 'popup') app.closeModal(popup);\n else if (openIn === 'picker') app.closeModal(picker);\n else view.router.back();\n }\n });\n }\n function pageInit(e) {\n var page = e.detail.page;\n if (page.name === pageName) {\n handleInputs(page.container);\n }\n }\n if (openIn === 'popup') {\n if (reLayout) {\n popup = $('.popup.smart-select-popup .view');\n popup.html(pageHTML);\n }\n else {\n popup = app.popup(\n '
                                      ' +\n '
                                      ' +\n pageHTML +\n '
                                      ' +\n '
                                      '\n );\n popup = $(popup);\n }\n app.initPage(popup.find('.page'));\n handleInputs(popup);\n }\n else if (openIn === 'picker') {\n if (reLayout) {\n picker = $('.picker-modal.smart-select-picker .view');\n picker.html(pageHTML);\n }\n else {\n picker = app.pickerModal(\n '
                                      ' +\n toolbarHTML +\n '
                                      ' +\n '
                                      ' +\n pageHTML +\n '
                                      ' +\n '
                                      ' +\n '
                                      '\n );\n picker = $(picker);\n \n // Scroll To Input\n scrollToInput();\n \n // Close On Click\n $('html').on('click', closeOnHTMLClick);\n \n // On Close\n picker.once('close', function () {\n // Reset linked picker\n smartSelect[0].f7SmartSelectPicker = undefined;\n \n // Detach html click\n $('html').off('click', closeOnHTMLClick); \n \n // Restore page padding bottom\n smartSelect.parents('.page-content').css({paddingBottom: ''});\n });\n \n // Link Picker\n smartSelect[0].f7SmartSelectPicker = picker[0];\n }\n \n // Init Page\n app.initPage(picker.find('.page'));\n \n // Attach events\n handleInputs(picker);\n }\n else {\n $(document).once('pageInit', '.smart-select-page', pageInit);\n view.router.load({\n content: pageHTML,\n reload: reLayout ? true : undefined\n });\n }\n };\n \n\n /*===============================================================================\n ************ Virtual List ************\n ===============================================================================*/\n var VirtualList = function (listBlock, params) {\n var defaults = {\n cols: 1,\n height: app.params.material ? 48 : 44,\n cache: true,\n dynamicHeightBufferSize: 1,\n showFilteredItemsOnly: false\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n // Preparation\n var vl = this;\n vl.listBlock = $(listBlock);\n vl.params = params;\n vl.items = vl.params.items;\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n if (vl.params.template) {\n if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template);\n else if (typeof vl.params.template === 'function') vl.template = vl.params.template;\n }\n vl.pageContent = vl.listBlock.parents('.page-content');\n \n // Bad scroll\n var updatableScroll;\n if (typeof vl.params.updatableScroll !== 'undefined') {\n updatableScroll = vl.params.updatableScroll;\n }\n else {\n updatableScroll = true;\n if (app.device.ios && app.device.osVersion.split('.')[0] < 8) {\n updatableScroll = false;\n }\n }\n \n // Append
                                        \n vl.ul = vl.params.ul ? $(vl.params.ul) : vl.listBlock.children('ul');\n if (vl.ul.length === 0) {\n vl.listBlock.append('
                                          ');\n vl.ul = vl.listBlock.children('ul');\n }\n \n // DOM cached items\n vl.domCache = {};\n vl.displayDomCache = {};\n \n // Temporary DOM Element\n vl.tempDomElement = document.createElement('ul');\n \n // Last repain position\n vl.lastRepaintY = null;\n \n // Fragment\n vl.fragment = document.createDocumentFragment();\n \n // Filter\n vl.filterItems = function (indexes, resetScrollTop) {\n vl.filteredItems = [];\n var firstIndex = indexes[0];\n var lastIndex = indexes[indexes.length - 1];\n for (var i = 0; i < indexes.length; i++) {\n vl.filteredItems.push(vl.items[indexes[i]]);\n }\n if (typeof resetScrollTop === 'undefined') resetScrollTop = true;\n if (resetScrollTop) {\n vl.pageContent[0].scrollTop = 0;\n }\n vl.update();\n };\n vl.resetFilter = function () {\n if (vl.params.showFilteredItemsOnly) {\n vl.filteredItems = [];\n }\n else {\n vl.filteredItems = null;\n delete vl.filteredItems; \n }\n vl.update();\n };\n \n var pageHeight, rowsPerScreen, rowsBefore, rowsAfter, rowsToRender, maxBufferHeight = 0, listHeight;\n var dynamicHeight = typeof vl.params.height === 'function';\n \n // Set list size\n vl.setListSize = function () {\n var items = vl.filteredItems || vl.items;\n pageHeight = vl.pageContent[0].offsetHeight;\n if (dynamicHeight) {\n listHeight = 0;\n vl.heights = [];\n for (var i = 0; i < items.length; i++) {\n var itemHeight = vl.params.height(items[i]);\n listHeight += itemHeight;\n vl.heights.push(itemHeight);\n }\n }\n else {\n listHeight = Math.ceil(items.length / vl.params.cols) * vl.params.height;\n rowsPerScreen = Math.ceil(pageHeight / vl.params.height);\n rowsBefore = vl.params.rowsBefore || rowsPerScreen * 2;\n rowsAfter = vl.params.rowsAfter || rowsPerScreen;\n rowsToRender = (rowsPerScreen + rowsBefore + rowsAfter);\n maxBufferHeight = rowsBefore / 2 * vl.params.height;\n }\n \n if (updatableScroll) {\n vl.ul.css({height: listHeight + 'px'});\n }\n };\n \n // Render items\n vl.render = function (force, forceScrollTop) {\n if (force) vl.lastRepaintY = null;\n \n var scrollTop = -(vl.listBlock[0].getBoundingClientRect().top - vl.pageContent[0].getBoundingClientRect().top);\n \n if (typeof forceScrollTop !== 'undefined') scrollTop = forceScrollTop;\n \n if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > maxBufferHeight || (!updatableScroll && (vl.pageContent[0].scrollTop + pageHeight >= vl.pageContent[0].scrollHeight))) {\n vl.lastRepaintY = scrollTop;\n }\n else {\n return;\n }\n \n var items = vl.filteredItems || vl.items, \n fromIndex, toIndex, heightBeforeFirstItem = 0, heightBeforeLastItem = 0;\n if (dynamicHeight) {\n var itemTop = 0, j, itemHeight; \n maxBufferHeight = pageHeight;\n \n for (j = 0; j < vl.heights.length; j++) {\n itemHeight = vl.heights[j];\n if (typeof fromIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop - pageHeight * 2 * vl.params.dynamicHeightBufferSize) fromIndex = j;\n else heightBeforeFirstItem += itemHeight;\n }\n \n if (typeof toIndex === 'undefined') {\n if (itemTop + itemHeight >= scrollTop + pageHeight * 2 * vl.params.dynamicHeightBufferSize || j === vl.heights.length - 1) toIndex = j + 1;\n heightBeforeLastItem += itemHeight;\n }\n itemTop += itemHeight;\n }\n toIndex = Math.min(toIndex, items.length);\n }\n else {\n fromIndex = (parseInt(scrollTop / vl.params.height) - rowsBefore) * vl.params.cols;\n if (fromIndex < 0) {\n fromIndex = 0;\n }\n toIndex = Math.min(fromIndex + rowsToRender * vl.params.cols, items.length);\n }\n \n var topPosition;\n vl.reachEnd = false;\n for (var i = fromIndex; i < toIndex; i++) {\n var item, index;\n // Define real item index\n index = vl.items.indexOf(items[i]);\n \n if (i === fromIndex) vl.currentFromIndex = index;\n if (i === toIndex - 1) vl.currentToIndex = index;\n if (index === vl.items.length - 1) vl.reachEnd = true;\n \n // Find items\n if (vl.domCache[index]) {\n item = vl.domCache[index];\n }\n else {\n if (vl.template) {\n vl.tempDomElement.innerHTML = vl.template(items[i], {index: index}).trim();\n }\n else if (vl.params.renderItem) {\n vl.tempDomElement.innerHTML = vl.params.renderItem(index, items[i]).trim();\n }\n else {\n vl.tempDomElement.innerHTML = items[i].trim();\n }\n item = vl.tempDomElement.childNodes[0];\n if (vl.params.cache) vl.domCache[index] = item;\n }\n item.f7VirtualListIndex = index;\n \n // Set item top position\n if (i === fromIndex) {\n if (dynamicHeight) {\n topPosition = heightBeforeFirstItem;\n }\n else {\n topPosition = (i * vl.params.height / vl.params.cols);\n }\n }\n item.style.top = topPosition + 'px';\n \n // Before item insert\n if (vl.params.onItemBeforeInsert) vl.params.onItemBeforeInsert(vl, item);\n \n // Append item to fragment\n vl.fragment.appendChild(item);\n \n \n }\n \n // Update list height with not updatable scroll\n if (!updatableScroll) {\n if (dynamicHeight) {\n vl.ul[0].style.height = heightBeforeLastItem + 'px';\n }\n else {\n vl.ul[0].style.height = i * vl.params.height / vl.params.cols + 'px';\n }\n }\n \n \n // Update list html\n if (vl.params.onBeforeClear) vl.params.onBeforeClear(vl, vl.fragment);\n vl.ul[0].innerHTML = '';\n \n if (vl.params.onItemsBeforeInsert) vl.params.onItemsBeforeInsert(vl, vl.fragment);\n vl.ul[0].appendChild(vl.fragment);\n if (vl.params.onItemsAfterInsert) vl.params.onItemsAfterInsert(vl, vl.fragment);\n \n if (typeof forceScrollTop !== 'undefined' && force) {\n vl.pageContent.scrollTop(forceScrollTop, 0);\n }\n };\n \n vl.scrollToItem = function (index) {\n if (index > vl.items.length) return false;\n \n var itemTop = 0, listTop;\n if (dynamicHeight) {\n for (var i = 0; i < index; i++) {\n itemTop += vl.heights[i];\n }\n }\n else {\n itemTop = index * vl.params.height;\n }\n listTop = vl.listBlock[0].offsetTop;\n vl.render(true, listTop + itemTop - parseInt(vl.pageContent.css('padding-top'), 10));\n return true;\n };\n \n // Handle scroll event\n vl.handleScroll = function (e) {\n vl.render();\n };\n // Handle resize event\n vl._isVisible = function (el) {\n return !!( el.offsetWidth || el.offsetHeight || el.getClientRects().length );\n };\n vl.handleResize = function (e) {\n if (vl._isVisible(vl.listBlock[0])) {\n vl.setListSize();\n vl.render(true);\n }\n };\n \n vl.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n vl.pageContent[action]('scroll', vl.handleScroll);\n vl.listBlock.parents('.tab').eq(0)[action]('show', vl.handleResize);\n $(window)[action]('resize', vl.handleResize);\n };\n \n // Init Virtual List\n vl.init = function () {\n vl.attachEvents();\n vl.setListSize();\n vl.render();\n };\n \n // Append\n vl.appendItems = function (items) {\n for (var i = 0; i < items.length; i++) {\n vl.items.push(items[i]);\n }\n vl.update();\n };\n vl.appendItem = function (item) {\n vl.appendItems([item]);\n };\n // Replace\n vl.replaceAllItems = function (items) {\n vl.items = items;\n delete vl.filteredItems;\n vl.domCache = {};\n vl.update();\n };\n vl.replaceItem = function (index, item) {\n vl.items[index] = item;\n if (vl.params.cache) delete vl.domCache[index];\n vl.update();\n };\n // Prepend\n vl.prependItems = function (items) {\n for (var i = items.length - 1; i >= 0; i--) {\n vl.items.unshift(items[i]);\n }\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n vl.prependItem = function (item) {\n vl.prependItems([item]);\n };\n \n // Move\n vl.moveItem = function (oldIndex, newIndex) {\n if (oldIndex === newIndex) return;\n // remove item from array\n var item = vl.items.splice(oldIndex, 1)[0];\n if (newIndex >= vl.items.length) {\n // Add item to the end\n vl.items.push(item);\n newIndex = vl.items.length - 1;\n }\n else {\n // Add item to new index\n vl.items.splice(newIndex, 0, item);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n var leftIndex = oldIndex < newIndex ? oldIndex : newIndex;\n var rightIndex = oldIndex < newIndex ? newIndex : oldIndex;\n var indexShift = oldIndex < newIndex ? -1 : 1;\n if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex];\n if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex];\n if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex];\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Insert before\n vl.insertItemBefore = function (index, item) {\n if (index === 0) {\n vl.prependItem(item);\n return;\n }\n if (index >= vl.items.length) {\n vl.appendItem(item);\n return;\n }\n vl.items.splice(index, 0, item);\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex >= index) {\n newCache[cachedIndex + 1] = vl.domCache[cachedIndex];\n }\n }\n vl.domCache = newCache;\n }\n vl.update();\n };\n // Delete\n vl.deleteItems = function (indexes) {\n var prevIndex, indexShift = 0;\n for (var i = 0; i < indexes.length; i++) {\n var index = indexes[i];\n if (typeof prevIndex !== 'undefined') {\n if (index > prevIndex) {\n indexShift = -i;\n }\n }\n index = index + indexShift;\n prevIndex = indexes[i];\n // Delete item\n var deletedItem = vl.items.splice(index, 1)[0];\n \n // Delete from filtered\n if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) {\n vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1);\n }\n // Update cache\n if (vl.params.cache) {\n var newCache = {};\n for (var cached in vl.domCache) {\n var cachedIndex = parseInt(cached, 10);\n if (cachedIndex === index) {\n delete vl.domCache[index];\n }\n else if (parseInt(cached, 10) > index) {\n newCache[cachedIndex - 1] = vl.domCache[cached];\n }\n else {\n newCache[cachedIndex] = vl.domCache[cached]; \n }\n }\n vl.domCache = newCache;\n }\n }\n vl.update();\n };\n vl.deleteAllItems = function () {\n vl.items = [];\n delete vl.filteredItems;\n if (vl.params.cache) vl.domCache = {};\n vl.update();\n };\n vl.deleteItem = function (index) {\n vl.deleteItems([index]);\n };\n \n // Clear cache\n vl.clearCache = function () {\n vl.domCache = {};\n };\n \n // Update Virtual List\n vl.update = function () {\n vl.setListSize();\n vl.render(true);\n };\n \n // Destroy\n vl.destroy = function () {\n vl.attachEvents(true);\n delete vl.items;\n delete vl.domCache;\n };\n \n // Init Virtual List\n vl.init();\n \n // Store vl in container\n vl.listBlock[0].f7VirtualList = vl;\n return vl;\n };\n \n // App Method\n app.virtualList = function (listBlock, params) {\n return new VirtualList(listBlock, params);\n };\n \n app.reinitVirtualList = function (pageContainer) {\n var page = $(pageContainer);\n var vlists = page.find('.virtual-list');\n if (vlists.length === 0) return;\n for (var i = 0; i < vlists.length; i++) {\n var vlistInstance = vlists[i].f7VirtualList;\n if (vlistInstance) {\n vlistInstance.update();\n }\n }\n };\n\n /*======================================================\n ************ Pull To Refresh ************\n ======================================================*/\n app.initPullToRefresh = function (pageContainer) {\n var eventsTarget = $(pageContainer);\n if (!eventsTarget.hasClass('pull-to-refresh-content')) {\n eventsTarget = eventsTarget.find('.pull-to-refresh-content');\n }\n if (!eventsTarget || eventsTarget.length === 0) return;\n \n var touchId, isTouched, isMoved, touchesStart = {}, isScrolling, touchesDiff, touchStartTime, container, refresh = false, useTranslate = false, startTranslate = 0, translate, scrollTop, wasScrolled, layer, triggerDistance, dynamicTriggerDistance, pullStarted;\n var page = eventsTarget.hasClass('page') ? eventsTarget : eventsTarget.parents('.page');\n var hasNavbar = false;\n if (page.find('.navbar').length > 0 || page.parents('.navbar-fixed, .navbar-through').length > 0 || page.hasClass('navbar-fixed') || page.hasClass('navbar-through')) hasNavbar = true;\n if (page.hasClass('no-navbar')) hasNavbar = false;\n if (!hasNavbar) eventsTarget.addClass('pull-to-refresh-no-navbar');\n \n container = eventsTarget;\n \n // Define trigger distance\n if (container.attr('data-ptr-distance')) {\n dynamicTriggerDistance = true;\n }\n else {\n triggerDistance = 44; \n }\n \n function handleTouchStart(e) {\n if (isTouched) {\n if (app.device.os === 'android') {\n if ('targetTouches' in e && e.targetTouches.length > 1) return;\n }\n else return;\n }\n \n /*jshint validthis:true */\n container = $(this);\n if (container.hasClass('refreshing')) {\n return;\n }\n \n isMoved = false;\n pullStarted = false;\n isTouched = true;\n isScrolling = undefined;\n wasScrolled = undefined;\n if (e.type === 'touchstart') touchId = e.targetTouches[0].identifier;\n touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n \n }\n \n function handleTouchMove(e) {\n if (!isTouched) return;\n var pageX, pageY, touch;\n if (e.type === 'touchmove') {\n if (touchId && e.touches) {\n for (var i = 0; i < e.touches.length; i++) {\n if (e.touches[i].identifier === touchId) {\n touch = e.touches[i];\n }\n }\n }\n if (!touch) touch = e.targetTouches[0];\n pageX = touch.pageX;\n pageY = touch.pageY;\n }\n else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n if (!pageX || !pageY) return;\n \n \n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x));\n }\n if (!isScrolling) {\n isTouched = false;\n return;\n }\n \n scrollTop = container[0].scrollTop;\n if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true; \n \n if (!isMoved) {\n /*jshint validthis:true */\n container.removeClass('transitioning');\n if (scrollTop > container[0].offsetHeight) {\n isTouched = false;\n return;\n }\n if (dynamicTriggerDistance) {\n triggerDistance = container.attr('data-ptr-distance');\n if (triggerDistance.indexOf('%') >= 0) triggerDistance = container[0].offsetHeight * parseInt(triggerDistance, 10) / 100;\n }\n startTranslate = container.hasClass('refreshing') ? triggerDistance : 0;\n if (container[0].scrollHeight === container[0].offsetHeight || app.device.os !== 'ios') {\n useTranslate = true;\n }\n else {\n useTranslate = false;\n }\n }\n isMoved = true;\n touchesDiff = pageY - touchesStart.y;\n \n if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) {\n // iOS 8 fix\n if (app.device.os === 'ios' && parseInt(app.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true;\n \n if (useTranslate) {\n e.preventDefault();\n translate = (Math.pow(touchesDiff, 0.85) + startTranslate);\n container.transform('translate3d(0,' + translate + 'px,0)');\n }\n if ((useTranslate && Math.pow(touchesDiff, 0.85) > triggerDistance) || (!useTranslate && touchesDiff >= triggerDistance * 2)) {\n refresh = true;\n container.addClass('pull-up').removeClass('pull-down');\n }\n else {\n refresh = false;\n container.removeClass('pull-up').addClass('pull-down');\n }\n if (!pullStarted) {\n container.trigger('pullstart');\n pullStarted = true;\n }\n container.trigger('pullmove', {\n event: e,\n scrollTop: scrollTop,\n translate: translate,\n touchesDiff: touchesDiff\n });\n }\n else {\n pullStarted = false;\n container.removeClass('pull-up pull-down');\n refresh = false;\n return;\n }\n }\n function handleTouchEnd(e) {\n if (e.type === 'touchend' && e.changedTouches && e.changedTouches.length > 0 && touchId) {\n if (e.changedTouches[0].identifier !== touchId) return;\n }\n if (!isTouched || !isMoved) {\n isTouched = false;\n isMoved = false;\n return;\n }\n if (translate) {\n container.addClass('transitioning');\n translate = 0;\n }\n container.transform('');\n if (refresh) {\n container.addClass('refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n }\n else {\n container.removeClass('pull-down');\n }\n isTouched = false;\n isMoved = false;\n if (pullStarted) container.trigger('pullend');\n }\n \n // Attach Events\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n eventsTarget.on(app.touchEvents.start, handleTouchStart, passiveListener);\n eventsTarget.on(app.touchEvents.move, handleTouchMove);\n eventsTarget.on(app.touchEvents.end, handleTouchEnd, passiveListener);\n \n // Detach Events on page remove\n if (page.length === 0) return;\n function destroyPullToRefresh() {\n eventsTarget.off(app.touchEvents.start, handleTouchStart);\n eventsTarget.off(app.touchEvents.move, handleTouchMove);\n eventsTarget.off(app.touchEvents.end, handleTouchEnd);\n }\n eventsTarget[0].f7DestroyPullToRefresh = destroyPullToRefresh;\n function detachEvents() {\n destroyPullToRefresh();\n page.off('pageBeforeRemove', detachEvents);\n }\n page.on('pageBeforeRemove', detachEvents);\n \n };\n \n app.pullToRefreshDone = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content.refreshing');\n container.removeClass('refreshing').addClass('transitioning');\n container.transitionEnd(function () {\n container.removeClass('transitioning pull-up pull-down');\n container.trigger('refreshdone');\n });\n };\n app.pullToRefreshTrigger = function (container) {\n container = $(container);\n if (container.length === 0) container = $('.pull-to-refresh-content');\n if (container.hasClass('refreshing')) return;\n container.addClass('transitioning refreshing');\n container.trigger('refresh', {\n done: function () {\n app.pullToRefreshDone(container);\n }\n });\n };\n \n app.destroyPullToRefresh = function (pageContainer) {\n pageContainer = $(pageContainer);\n var pullToRefreshContent = pageContainer.hasClass('pull-to-refresh-content') ? pageContainer : pageContainer.find('.pull-to-refresh-content');\n if (pullToRefreshContent.length === 0) return;\n if (pullToRefreshContent[0].f7DestroyPullToRefresh) pullToRefreshContent[0].f7DestroyPullToRefresh();\n };\n \n\n /* ===============================================================================\n ************ Infinite Scroll ************\n =============================================================================== */\n function handleInfiniteScroll() {\n /*jshint validthis:true */\n var inf = $(this);\n var scrollTop = inf[0].scrollTop;\n var scrollHeight = inf[0].scrollHeight;\n var height = inf[0].offsetHeight;\n var distance = inf[0].getAttribute('data-distance');\n var virtualListContainer = inf.find('.virtual-list');\n var virtualList;\n var onTop = inf.hasClass('infinite-scroll-top');\n if (!distance) distance = 50;\n if (typeof distance === 'string' && distance.indexOf('%') >= 0) {\n distance = parseInt(distance, 10) / 100 * height;\n }\n if (distance > height) distance = height;\n if (onTop) {\n if (scrollTop < distance) {\n inf.trigger('infinite');\n }\n }\n else {\n if (scrollTop + height >= scrollHeight - distance) {\n if (virtualListContainer.length > 0) {\n virtualList = virtualListContainer[0].f7VirtualList;\n if (virtualList && !virtualList.reachEnd) return;\n }\n inf.trigger('infinite');\n }\n }\n \n }\n app.attachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).on('scroll', handleInfiniteScroll);\n };\n app.detachInfiniteScroll = function (infiniteContent) {\n $(infiniteContent).off('scroll', handleInfiniteScroll);\n };\n \n app.initPageInfiniteScroll = function (pageContainer) {\n pageContainer = $(pageContainer);\n var infiniteContent = pageContainer.find('.infinite-scroll');\n if (infiniteContent.length === 0) return;\n app.attachInfiniteScroll(infiniteContent);\n function detachEvents() {\n app.detachInfiniteScroll(infiniteContent);\n pageContainer.off('pageBeforeRemove', detachEvents);\n }\n pageContainer.on('pageBeforeRemove', detachEvents);\n };\n\n /*=============================================================\n ************ Hide/show Toolbar/Navbar on scroll ************\n =============================================================*/\n app.initPageScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var hideNavbar = (app.params.hideNavbarOnPageScroll || scrollContent.hasClass('hide-navbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-navbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll'));\n var hideToolbar = (app.params.hideToolbarOnPageScroll || scrollContent.hasClass('hide-toolbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-toolbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll'));\n var hideTabbar = (app.params.hideTabbarOnPageScroll || scrollContent.hasClass('hide-tabbar-on-scroll')) && !(scrollContent.hasClass('keep-tabbar-on-scroll'));\n \n if (!(hideNavbar || hideToolbar || hideTabbar)) return;\n \n var viewContainer = scrollContent.parents('.' + app.params.viewClass);\n if (viewContainer.length === 0) return;\n \n var navbar = viewContainer.find('.navbar'), \n toolbar = viewContainer.find('.toolbar'), \n tabbar;\n if (hideTabbar) {\n tabbar = viewContainer.find('.tabbar');\n if (tabbar.length === 0) tabbar = viewContainer.parents('.' + app.params.viewsClass).find('.tabbar');\n }\n \n var hasNavbar = navbar.length > 0,\n hasToolbar = toolbar.length > 0,\n hasTabbar = tabbar && tabbar.length > 0;\n \n var previousScroll, currentScroll;\n previousScroll = currentScroll = scrollContent[0].scrollTop;\n \n var scrollHeight, offsetHeight, reachEnd, action, navbarHidden, toolbarHidden, tabbarHidden;\n \n var toolbarHeight = (hasToolbar && hideToolbar) ? toolbar[0].offsetHeight : 0;\n var tabbarHeight = (hasTabbar && hideTabbar) ? tabbar[0].offsetHeight : 0;\n var bottomBarHeight = tabbarHeight || toolbarHeight;\n \n function handleScroll(e) {\n if (pageContainer.hasClass('page-on-left')) return;\n currentScroll = scrollContent[0].scrollTop;\n scrollHeight = scrollContent[0].scrollHeight;\n offsetHeight = scrollContent[0].offsetHeight;\n reachEnd = currentScroll + offsetHeight >= scrollHeight - bottomBarHeight;\n navbarHidden = navbar.hasClass('navbar-hidden');\n toolbarHidden = toolbar.hasClass('toolbar-hidden');\n tabbarHidden = tabbar && tabbar.hasClass('toolbar-hidden');\n \n if (reachEnd) {\n if (app.params.showBarsOnPageScrollEnd) {\n action = 'show';\n }\n }\n else if (previousScroll > currentScroll) {\n if (app.params.showBarsOnPageScrollTop || currentScroll <= 44) {\n action = 'show';\n }\n else {\n action = 'hide';\n }\n }\n else {\n if (currentScroll > 44) {\n action = 'hide';\n }\n else {\n action = 'show';\n }\n }\n \n if (action === 'show') {\n if (hasNavbar && hideNavbar && navbarHidden) {\n app.showNavbar(navbar);\n pageContainer.removeClass('no-navbar-by-scroll'); \n navbarHidden = false;\n }\n if (hasToolbar && hideToolbar && toolbarHidden) {\n app.showToolbar(toolbar);\n pageContainer.removeClass('no-toolbar-by-scroll'); \n toolbarHidden = false;\n }\n if (hasTabbar && hideTabbar && tabbarHidden) {\n app.showToolbar(tabbar);\n pageContainer.removeClass('no-tabbar-by-scroll'); \n tabbarHidden = false;\n }\n }\n else {\n if (hasNavbar && hideNavbar && !navbarHidden) {\n app.hideNavbar(navbar);\n pageContainer.addClass('no-navbar-by-scroll'); \n navbarHidden = true;\n }\n if (hasToolbar && hideToolbar && !toolbarHidden) {\n app.hideToolbar(toolbar);\n pageContainer.addClass('no-toolbar-by-scroll'); \n toolbarHidden = true;\n }\n if (hasTabbar && hideTabbar && !tabbarHidden) {\n app.hideToolbar(tabbar);\n pageContainer.addClass('no-tabbar-by-scroll'); \n tabbarHidden = true;\n }\n }\n \n previousScroll = currentScroll;\n }\n scrollContent.on('scroll', handleScroll);\n scrollContent[0].f7ScrollToolbarsHandler = handleScroll;\n };\n app.destroyScrollToolbars = function (pageContainer) {\n pageContainer = $(pageContainer);\n var scrollContent = pageContainer.find('.page-content');\n if (scrollContent.length === 0) return;\n var handler = scrollContent[0].f7ScrollToolbarsHandler;\n if (!handler) return;\n scrollContent.off('scroll', scrollContent[0].f7ScrollToolbarsHandler);\n };\n\n /*======================================================\n ************ Material Tabbar ************\n ======================================================*/\n app.materialTabbarSetHighlight = function (tabbar, activeLink) {\n tabbar = $(tabbar);\n activeLink = activeLink || tabbar.find('.tab-link.active');\n \n var tabLinkWidth, highlightTranslate;\n if (tabbar.hasClass('tabbar-scrollable')) {\n tabLinkWidth = activeLink[0].offsetWidth + 'px';\n highlightTranslate = (app.rtl ? - activeLink[0].offsetLeft: activeLink[0].offsetLeft) + 'px';\n }\n else {\n tabLinkWidth = 1 / tabbar.find('.tab-link').length * 100 + '%';\n highlightTranslate = (app.rtl ? - activeLink.index(): activeLink.index()) * 100 + '%';\n }\n \n tabbar.find('.tab-link-highlight')\n .css({width: tabLinkWidth})\n .transform('translate3d(' + highlightTranslate + ',0,0)');\n };\n app.initPageMaterialTabbar = function (pageContainer) {\n pageContainer = $(pageContainer);\n var tabbar = $(pageContainer).find('.tabbar');\n \n function tabbarSetHighlight() {\n app.materialTabbarSetHighlight(tabbar);\n }\n if (tabbar.length > 0) {\n if (tabbar.find('.tab-link-highlight').length === 0) {\n tabbar.find('.toolbar-inner').append('');\n }\n \n tabbarSetHighlight();\n $(window).on('resize', tabbarSetHighlight);\n pageContainer.once('pageBeforeRemove', function () {\n $(window).off('resize', tabbarSetHighlight);\n });\n }\n };\n\n /* ===============================================================================\n ************ Tabs ************\n =============================================================================== */\n app.showTab = function (tab, tabLink, force) {\n var newTab = $(tab);\n if (arguments.length === 2) {\n if (typeof tabLink === 'boolean') {\n force = tabLink;\n }\n }\n if (newTab.length === 0) return false;\n if (newTab.hasClass('active')) {\n if (force) newTab.trigger('show');\n return false;\n }\n var tabs = newTab.parent('.tabs');\n if (tabs.length === 0) return false;\n \n // Return swipeouts in hidden tabs\n app.allowSwipeout = true;\n \n // Animated tabs\n var isAnimatedTabs = tabs.parent().hasClass('tabs-animated-wrap');\n if (isAnimatedTabs) {\n var tabTranslate = (app.rtl ? newTab.index() : -newTab.index()) * 100;\n tabs.transform('translate3d(' + tabTranslate + '%,0,0)');\n }\n \n // Swipeable tabs\n var isSwipeableTabs = tabs.parent().hasClass('tabs-swipeable-wrap'), swiper;\n if (isSwipeableTabs) {\n swiper = tabs.parent()[0].swiper;\n if (swiper.activeIndex !== newTab.index()) swiper.slideTo(newTab.index(), undefined, false);\n }\n \n // Remove active class from old tabs\n var oldTab = tabs.children('.tab.active').removeClass('active').trigger('hide');\n // Add active class to new tab\n newTab.addClass('active');\n // Trigger 'show' event on new tab\n newTab.trigger('show');\n \n // Update navbars in new tab\n if (!isAnimatedTabs && !isSwipeableTabs && newTab.find('.navbar').length > 0) {\n // Find tab's view\n var viewContainer;\n if (newTab.hasClass(app.params.viewClass)) viewContainer = newTab[0];\n else viewContainer = newTab.parents('.' + app.params.viewClass)[0];\n app.sizeNavbars(viewContainer);\n }\n \n // Find related link for new tab\n if (tabLink) tabLink = $(tabLink);\n else {\n // Search by id\n if (typeof tab === 'string') tabLink = $('.tab-link[href=\"' + tab + '\"]');\n else tabLink = $('.tab-link[href=\"#' + newTab.attr('id') + '\"]');\n // Search by data-tab\n if (!tabLink || tabLink && tabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (newTab.is($(this).attr('data-tab'))) tabLink = $(this);\n });\n }\n }\n if (tabLink.length === 0) return;\n \n // Find related link for old tab\n var oldTabLink;\n if (oldTab && oldTab.length > 0) {\n // Search by id\n var oldTabId = oldTab.attr('id');\n if (oldTabId) oldTabLink = $('.tab-link[href=\"#' + oldTabId + '\"]');\n // Search by data-tab\n if (!oldTabLink || oldTabLink && oldTabLink.length === 0) {\n $('[data-tab]').each(function () {\n if (oldTab.is($(this).attr('data-tab'))) oldTabLink = $(this);\n });\n }\n }\n \n // Update links' classes\n if (tabLink && tabLink.length > 0) {\n tabLink.addClass('active');\n // Material Highlight\n if (app.params.material) {\n var tabbar = tabLink.parents('.tabbar');\n if (tabbar.length > 0) {\n if (tabbar.find('.tab-link-highlight').length === 0) {\n tabbar.find('.toolbar-inner').append('');\n }\n app.materialTabbarSetHighlight(tabbar, tabLink);\n }\n }\n }\n if (oldTabLink && oldTabLink.length > 0) oldTabLink.removeClass('active');\n \n return true;\n };\n\n /*===============================================================================\n ************ Accordion ************\n ===============================================================================*/\n app.accordionToggle = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('accordion-item-expanded')) app.accordionClose(item);\n else app.accordionOpen(item);\n };\n app.accordionOpen = function (item) {\n item = $(item);\n var list = item.parents('.accordion-list').eq(0);\n var content = item.children('.accordion-item-content');\n if (content.length === 0) content = item.find('.accordion-item-content');\n var expandedItem = list.length > 0 && item.parent().children('.accordion-item-expanded');\n if (expandedItem.length > 0) {\n app.accordionClose(expandedItem);\n }\n content.css('height', content[0].scrollHeight + 'px').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('open');\n item.addClass('accordion-item-expanded');\n };\n app.accordionClose = function (item) {\n item = $(item);\n var content = item.children('.accordion-item-content');\n if (content.length === 0) content = item.find('.accordion-item-content');\n item.removeClass('accordion-item-expanded');\n content.transition(0);\n content.css('height', content[0].scrollHeight + 'px');\n // Relayout\n var clientLeft = content[0].clientLeft;\n // Close\n content.transition('');\n content.css('height', '').transitionEnd(function () {\n if (item.hasClass('accordion-item-expanded')) {\n content.transition(0);\n content.css('height', 'auto');\n var clientLeft = content[0].clientLeft;\n content.transition('');\n item.trigger('opened');\n }\n else {\n content.css('height', '');\n item.trigger('closed');\n }\n });\n item.trigger('close');\n };\n\n /*===============================================================================\n ************ Fast Clicks ************\n ************ Inspired by https://github.com/ftlabs/fastclick ************\n ===============================================================================*/\n app.initFastClicks = function () {\n if (app.params.activeState) {\n $('html').addClass('watch-active-state');\n }\n if (app.device.ios && app.device.webView) {\n // Strange hack required for iOS 8 webview to work on inputs\n window.addEventListener('touchstart', function () {});\n }\n \n var touchStartX, touchStartY, touchStartTime, targetElement, trackClick, activeSelection, scrollParent, lastClickTime, isMoved, tapHoldFired, tapHoldTimeout;\n var activableElement, activeTimeout, needsFastClick, needsFastClickTimeOut;\n var rippleWave, rippleTarget, rippleTransform, rippleTimeout;\n function findActivableElement(el) {\n var target = $(el);\n var parents = target.parents(app.params.activeStateElements);\n var activable;\n if (target.is(app.params.activeStateElements)) {\n activable = target;\n }\n if (parents.length > 0) {\n activable = activable ? activable.add(parents) : parents;\n }\n return activable ? activable : target;\n }\n function isInsideScrollableView(el) {\n var pageContent = el.parents('.page-content, .panel');\n \n if (pageContent.length === 0) {\n return false;\n }\n \n // This event handler covers the \"tap to stop scrolling\".\n if (pageContent.prop('scrollHandlerSet') !== 'yes') {\n pageContent.on('scroll', function() {\n clearTimeout(activeTimeout);\n clearTimeout(rippleTimeout);\n });\n pageContent.prop('scrollHandlerSet', 'yes');\n }\n \n return true;\n }\n function addActive() {\n if (!activableElement) return;\n activableElement.addClass('active-state');\n }\n function removeActive(el) {\n if (!activableElement) return;\n activableElement.removeClass('active-state');\n activableElement = null;\n }\n function isFormElement(el) {\n var nodes = ('input select textarea label').split(' ');\n if (el.nodeName && nodes.indexOf(el.nodeName.toLowerCase()) >= 0) return true;\n return false;\n }\n function androidNeedsBlur(el) {\n var noBlur = ('button input textarea select').split(' ');\n if (document.activeElement && el !== document.activeElement && document.activeElement !== document.body) {\n if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) {\n return false;\n }\n else {\n return true;\n }\n }\n else {\n return false;\n }\n }\n function targetNeedsFastClick(el) {\n var $el = $(el);\n if (el.nodeName.toLowerCase() === 'input' && el.type === 'file') return false;\n if (el.nodeName.toLowerCase() === 'select' && app.device.android) return false;\n if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false;\n if (app.params.fastClicksExclude && $el.is(app.params.fastClicksExclude)) return false;\n return true;\n }\n function targetNeedsFocus(el) {\n if (document.activeElement === el) {\n return false;\n }\n var tag = el.nodeName.toLowerCase();\n var skipInputs = ('button checkbox file image radio submit').split(' ');\n if (el.disabled || el.readOnly) return false;\n if (tag === 'textarea') return true;\n if (tag === 'select') {\n if (app.device.android) return false;\n else return true;\n }\n if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true;\n }\n function targetNeedsPrevent(el) {\n el = $(el);\n var prevent = true;\n if (el.is('label') || el.parents('label').length > 0) {\n if (app.device.android) {\n prevent = false;\n }\n else if (app.device.ios && el.is('input')) {\n prevent = true;\n }\n else prevent = false;\n }\n return prevent;\n }\n \n // Mouse Handlers\n function handleMouseDown (e) {\n findActivableElement(e.target).addClass('active-state');\n if ('which' in e && e.which === 3) {\n setTimeout(function () {\n $('.active-state').removeClass('active-state');\n }, 0);\n }\n if (app.params.material && app.params.materialRipple) {\n touchStartX = e.pageX;\n touchStartY = e.pageY;\n rippleTouchStart(e.target, e.pageX, e.pageY);\n }\n }\n function handleMouseMove (e) {\n $('.active-state').removeClass('active-state');\n if (app.params.material && app.params.materialRipple) {\n rippleTouchMove();\n }\n }\n function handleMouseUp (e) {\n $('.active-state').removeClass('active-state');\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n }\n \n // Material Touch Ripple Effect\n function findRippleElement(el) {\n var needsRipple = app.params.materialRippleElements;\n var $el = $(el);\n if ($el.is(needsRipple)) {\n if ($el.hasClass('no-ripple')) {\n return false;\n }\n return $el;\n }\n else if ($el.parents(needsRipple).length > 0) {\n var rippleParent = $el.parents(needsRipple).eq(0);\n if (rippleParent.hasClass('no-ripple')) {\n return false;\n }\n return rippleParent;\n }\n else return false;\n }\n function createRipple(x, y, el) {\n var box = el[0].getBoundingClientRect();\n var center = {\n x: x - box.left,\n y: y - box.top\n },\n height = box.height,\n width = box.width;\n var diameter = Math.max(Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48);\n \n rippleWave = $(\n '
                                          '\n );\n el.prepend(rippleWave);\n var clientLeft = rippleWave[0].clientLeft;\n rippleTransform = 'translate3d('+(-center.x + width/2)+'px, '+(-center.y + height/2)+'px, 0) scale(1)';\n rippleWave.transform(rippleTransform);\n }\n \n function removeRipple() {\n if (!rippleWave) return;\n var toRemove = rippleWave;\n \n var removeTimeout = setTimeout(function () {\n toRemove.remove();\n }, 400);\n \n rippleWave\n .addClass('ripple-wave-fill')\n .transform(rippleTransform.replace('scale(1)', 'scale(1.01)'))\n .transitionEnd(function () {\n clearTimeout(removeTimeout);\n \n var rippleWave = $(this)\n .addClass('ripple-wave-out')\n .transform(rippleTransform.replace('scale(1)', 'scale(1.01)'));\n \n removeTimeout = setTimeout(function () {\n rippleWave.remove();\n }, 700);\n \n setTimeout(function () {\n rippleWave.transitionEnd(function(){\n clearTimeout(removeTimeout);\n $(this).remove();\n });\n }, 0);\n });\n \n rippleWave = rippleTarget = undefined;\n }\n \n function rippleTouchStart (el, x, y) {\n rippleTarget = findRippleElement(el);\n if (!rippleTarget || rippleTarget.length === 0) {\n rippleTarget = undefined;\n return;\n }\n if (!isInsideScrollableView(rippleTarget)) {\n createRipple(touchStartX, touchStartY, rippleTarget);\n }\n else {\n rippleTimeout = setTimeout(function () {\n createRipple(touchStartX, touchStartY, rippleTarget);\n }, 80);\n }\n }\n function rippleTouchMove() {\n clearTimeout(rippleTimeout);\n removeRipple();\n }\n function rippleTouchEnd() {\n if (rippleWave) {\n removeRipple();\n }\n else if (rippleTarget && !isMoved) {\n clearTimeout(rippleTimeout);\n createRipple(touchStartX, touchStartY, rippleTarget);\n setTimeout(removeRipple, 0);\n }\n else {\n removeRipple();\n }\n }\n \n // Send Click\n function sendClick(e) {\n var touch = e.changedTouches[0];\n var evt = document.createEvent('MouseEvents');\n var eventType = 'click';\n if (app.device.android && targetElement.nodeName.toLowerCase() === 'select') {\n eventType = 'mousedown';\n }\n evt.initMouseEvent(eventType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);\n evt.forwardedTouchEvent = true;\n targetElement.dispatchEvent(evt);\n }\n \n // Touch Handlers\n function handleTouchStart(e) {\n isMoved = false;\n tapHoldFired = false;\n if (e.targetTouches.length > 1) {\n if (activableElement) removeActive();\n return true;\n }\n if (e.touches.length > 1 && activableElement) {\n removeActive();\n }\n if (app.params.tapHold) {\n if (tapHoldTimeout) clearTimeout(tapHoldTimeout);\n tapHoldTimeout = setTimeout(function () {\n if (e && e.touches && e.touches.length > 1) return;\n tapHoldFired = true;\n e.preventDefault();\n $(e.target).trigger('taphold');\n }, app.params.tapHoldDelay);\n }\n if (needsFastClickTimeOut) clearTimeout(needsFastClickTimeOut);\n needsFastClick = targetNeedsFastClick(e.target);\n \n if (!needsFastClick) {\n trackClick = false;\n return true;\n }\n if (app.device.ios || (app.device.android && 'getSelection' in window)) {\n var selection = window.getSelection();\n if (selection.rangeCount && selection.focusNode !== document.body && (!selection.isCollapsed || document.activeElement === selection.focusNode)) {\n activeSelection = true;\n return true;\n }\n else {\n activeSelection = false;\n }\n }\n if (app.device.android) {\n if (androidNeedsBlur(e.target)) {\n document.activeElement.blur();\n }\n }\n \n trackClick = true;\n targetElement = e.target;\n touchStartTime = (new Date()).getTime();\n touchStartX = e.targetTouches[0].pageX;\n touchStartY = e.targetTouches[0].pageY;\n \n // Detect scroll parent\n if (app.device.ios) {\n scrollParent = undefined;\n $(targetElement).parents().each(function () {\n var parent = this;\n if (parent.scrollHeight > parent.offsetHeight && !scrollParent) {\n scrollParent = parent;\n scrollParent.f7ScrollTop = scrollParent.scrollTop;\n }\n });\n }\n if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) {\n e.preventDefault();\n }\n \n if (app.params.activeState) {\n activableElement = findActivableElement(targetElement);\n // If it's inside a scrollable view, we don't trigger active-state yet,\n // because it can be a scroll instead. Based on the link:\n // http://labnote.beedesk.com/click-scroll-and-pseudo-active-on-mobile-webk\n if (!isInsideScrollableView(activableElement)) {\n addActive();\n } else {\n activeTimeout = setTimeout(addActive, 80);\n }\n }\n if (app.params.material && app.params.materialRipple) {\n rippleTouchStart(targetElement, touchStartX, touchStartY);\n }\n }\n function handleTouchMove(e) {\n if (!trackClick) return;\n var _isMoved = false;\n var distance = app.params.fastClicksDistanceThreshold;\n if (distance) {\n var pageX = e.targetTouches[0].pageX;\n var pageY = e.targetTouches[0].pageY;\n if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) {\n _isMoved = true;\n }\n }\n else {\n _isMoved = true;\n }\n if (_isMoved) {\n trackClick = false;\n targetElement = null;\n isMoved = true;\n if (app.params.tapHold) {\n clearTimeout(tapHoldTimeout);\n }\n \t\t\tif (app.params.activeState) {\n \t\t\t\tclearTimeout(activeTimeout);\n \t\t\t\tremoveActive();\n \t\t\t}\n if (app.params.material && app.params.materialRipple) {\n rippleTouchMove();\n }\n }\n }\n function handleTouchEnd(e) {\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n \n if (!trackClick) {\n if (!activeSelection && needsFastClick) {\n if (!(app.device.android && !e.cancelable)) {\n e.preventDefault();\n }\n }\n return true;\n }\n \n if (document.activeElement === e.target) {\n if (app.params.activeState) removeActive();\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n return true;\n }\n \n if (!activeSelection) {\n e.preventDefault();\n }\n \n if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) {\n setTimeout(removeActive, 0);\n return true;\n }\n \n lastClickTime = e.timeStamp;\n \n trackClick = false;\n \n if (app.device.ios && scrollParent) {\n if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) {\n return false;\n }\n }\n \n // Add active-state here because, in a very fast tap, the timeout didn't\n // have the chance to execute. Removing active-state in a timeout gives\n // the chance to the animation execute.\n if (app.params.activeState) {\n addActive();\n setTimeout(removeActive, 0);\n }\n // Remove Ripple\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n \n // Trigger focus when required\n if (targetNeedsFocus(targetElement)) {\n if (app.device.ios && app.device.webView) {\n if ((event.timeStamp - touchStartTime) > 159) {\n targetElement = null;\n return false;\n }\n targetElement.focus();\n return false;\n }\n else {\n targetElement.focus();\n }\n }\n \n // Blur active elements\n if (document.activeElement && targetElement !== document.activeElement && document.activeElement !== document.body && targetElement.nodeName.toLowerCase() !== 'label') {\n document.activeElement.blur();\n }\n \n // Send click\n e.preventDefault();\n sendClick(e);\n return false;\n }\n function handleTouchCancel(e) {\n trackClick = false;\n targetElement = null;\n \n // Remove Active State\n clearTimeout(activeTimeout);\n clearTimeout(tapHoldTimeout);\n if (app.params.activeState) {\n removeActive();\n }\n \n // Remove Ripple\n if (app.params.material && app.params.materialRipple) {\n rippleTouchEnd();\n }\n }\n \n function handleClick(e) {\n var allowClick = false;\n \n if (trackClick) {\n targetElement = null;\n trackClick = false;\n return true;\n }\n if (e.target.type === 'submit' && e.detail === 0) {\n return true;\n }\n if (!targetElement) {\n if (!isFormElement(e.target)) {\n allowClick = true;\n }\n }\n if (!needsFastClick) {\n allowClick = true;\n }\n if (document.activeElement === targetElement) {\n allowClick = true;\n }\n if (e.forwardedTouchEvent) {\n allowClick = true;\n }\n if (!e.cancelable) {\n allowClick = true;\n }\n if (app.params.tapHold && app.params.tapHoldPreventClicks && tapHoldFired) {\n allowClick = false;\n }\n if (!allowClick) {\n e.stopImmediatePropagation();\n e.stopPropagation();\n if (targetElement) {\n if (targetNeedsPrevent(targetElement) || isMoved) {\n e.preventDefault();\n }\n }\n else {\n e.preventDefault();\n }\n targetElement = null;\n }\n needsFastClickTimeOut = setTimeout(function () {\n needsFastClick = false;\n }, (app.device.ios || app.device.androidChrome ? 100 : 400));\n \n if (app.params.tapHold) {\n tapHoldTimeout = setTimeout(function () {\n tapHoldFired = false;\n }, (app.device.ios || app.device.androidChrome ? 100 : 400));\n }\n \n return allowClick;\n }\n if (app.support.touch) {\n document.addEventListener('click', handleClick, true);\n \n document.addEventListener('touchstart', handleTouchStart);\n document.addEventListener('touchmove', handleTouchMove);\n document.addEventListener('touchend', handleTouchEnd);\n document.addEventListener('touchcancel', handleTouchCancel);\n }\n else {\n if (app.params.activeState) {\n document.addEventListener('mousedown', handleMouseDown);\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n }\n if (app.params.material && app.params.materialRipple) {\n document.addEventListener('contextmenu', function (e) {\n if (activableElement) removeActive();\n rippleTouchEnd();\n });\n }\n \n };\n \n\n /*===============================================================================\n ************ Handle clicks and make them fast (on tap); ************\n ===============================================================================*/\n app.initClickEvents = function () {\n function handleScrollTop(e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var target = $(e.target);\n var isLink = clicked[0].nodeName.toLowerCase() === 'a' ||\n clicked.parents('a').length > 0 ||\n target[0].nodeName.toLowerCase() === 'a' ||\n target.parents('a').length > 0;\n \n if (isLink) return;\n var pageContent, page;\n if (app.params.scrollTopOnNavbarClick && clicked.is('.navbar .center')) {\n // Find active page\n var navbar = clicked.parents('.navbar');\n \n // Static Layout\n pageContent = navbar.parents('.page-content');\n \n if (pageContent.length === 0) {\n // Fixed Layout\n if (navbar.parents('.page').length > 0) {\n pageContent = navbar.parents('.page').find('.page-content');\n }\n // Through Layout\n if (pageContent.length === 0) {\n if (navbar.nextAll('.pages').length > 0) {\n pageContent = navbar.nextAll('.pages').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n }\n }\n }\n if (app.params.scrollTopOnStatusbarClick && clicked.is('.statusbar-overlay')) {\n if ($('.popup.modal-in').length > 0) {\n // Check for opened popup\n pageContent = $('.popup.modal-in').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n else if ($('.panel.active').length > 0) {\n // Check for opened panel\n pageContent = $('.panel.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n else if ($('.views > .view.active').length > 0) {\n // View in tab bar app layout\n pageContent = $('.views > .view.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n else {\n // Usual case\n pageContent = $('.views').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content');\n }\n }\n \n if (pageContent && pageContent.length > 0) {\n // Check for tab\n if (pageContent.hasClass('tab')) {\n pageContent = pageContent.parent('.tabs').children('.page-content.active');\n }\n if (pageContent.length > 0) pageContent.scrollTop(0, 300);\n }\n }\n function handleClicks(e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var url = clicked.attr('href');\n var isLink = clicked[0].nodeName.toLowerCase() === 'a';\n \n // Check if link is external\n if (isLink) {\n if (clicked.is(app.params.externalLinks) || (url && url.indexOf('javascript:') >= 0)) {\n if(url && clicked.attr('target') === '_system') {\n e.preventDefault();\n window.open(url, '_system');\n }\n return;\n }\n }\n \n // Collect Clicked data- attributes\n var clickedData = clicked.dataset();\n \n // Smart Select\n if (clicked.hasClass('smart-select')) {\n if (app.smartSelectOpen) app.smartSelectOpen(clicked);\n }\n \n // Open Panel\n if (clicked.hasClass('open-panel')) {\n if ($('.panel').length === 1) {\n if ($('.panel').hasClass('panel-left')) app.openPanel('left');\n else app.openPanel('right');\n }\n else {\n if (clickedData.panel === 'right') app.openPanel('right');\n else app.openPanel('left');\n }\n }\n // Close Panel\n if (clicked.hasClass('close-panel')) {\n app.closePanel();\n }\n \n if (clicked.hasClass('panel-overlay') && app.params.panelsCloseByOutside) {\n app.closePanel();\n }\n // Popover\n if (clicked.hasClass('open-popover')) {\n var popover;\n if (clickedData.popover) {\n popover = clickedData.popover;\n }\n else popover = '.popover';\n app.popover(popover, clicked);\n }\n if (clicked.hasClass('close-popover')) {\n app.closeModal('.popover.modal-in');\n }\n // Popup\n var popup;\n if (clicked.hasClass('open-popup')) {\n if (clickedData.popup) {\n popup = clickedData.popup;\n }\n else popup = '.popup';\n app.popup(popup);\n }\n if (clicked.hasClass('close-popup')) {\n if (clickedData.popup) {\n popup = clickedData.popup;\n }\n else popup = '.popup.modal-in';\n app.closeModal(popup);\n }\n // Login Screen\n var loginScreen;\n if (clicked.hasClass('open-login-screen')) {\n if (clickedData.loginScreen) {\n loginScreen = clickedData.loginScreen;\n }\n else loginScreen = '.login-screen';\n app.loginScreen(loginScreen);\n }\n if (clicked.hasClass('close-login-screen')) {\n app.closeModal('.login-screen.modal-in');\n }\n // Close Modal\n if (clicked.hasClass('modal-overlay')) {\n if ($('.modal.modal-in').length > 0 && app.params.modalCloseByOutside)\n app.closeModal('.modal.modal-in');\n if ($('.actions-modal.modal-in').length > 0 && app.params.actionsCloseByOutside)\n app.closeModal('.actions-modal.modal-in');\n \n if ($('.popover.modal-in').length > 0) app.closeModal('.popover.modal-in');\n }\n if (clicked.hasClass('popup-overlay')) {\n if ($('.popup.modal-in').length > 0 && app.params.popupCloseByOutside)\n app.closeModal('.popup.modal-in');\n }\n if (clicked.hasClass('picker-modal-overlay')) {\n if ($('.picker-modal.modal-in').length > 0)\n app.closeModal('.picker-modal.modal-in');\n }\n \n // Picker\n if (clicked.hasClass('close-picker')) {\n var pickerToClose = $('.picker-modal.modal-in');\n if (pickerToClose.length > 0) {\n app.closeModal(pickerToClose);\n }\n else {\n pickerToClose = $('.popover.modal-in .picker-modal');\n if (pickerToClose.length > 0) {\n app.closeModal(pickerToClose.parents('.popover'));\n }\n }\n }\n if (clicked.hasClass('open-picker')) {\n var pickerToOpen;\n if (clickedData.picker) {\n pickerToOpen = clickedData.picker;\n }\n else pickerToOpen = '.picker-modal';\n app.pickerModal(pickerToOpen, clicked);\n }\n \n // Tabs\n var isTabLink;\n if (clicked.hasClass('tab-link')) {\n isTabLink = true;\n app.showTab(clickedData.tab || clicked.attr('href'), clicked);\n }\n // Swipeout Close\n if (clicked.hasClass('swipeout-close')) {\n app.swipeoutClose(clicked.parents('.swipeout-opened'));\n }\n // Swipeout Delete\n if (clicked.hasClass('swipeout-delete')) {\n if (clickedData.confirm) {\n var text = clickedData.confirm;\n var title = clickedData.confirmTitle;\n if (title) {\n app.confirm(text, title, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }, function () {\n if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout'));\n });\n }\n else {\n app.confirm(text, function () {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }, function () {\n if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout'));\n });\n }\n }\n else {\n app.swipeoutDelete(clicked.parents('.swipeout'));\n }\n \n }\n // Sortable\n if (clicked.hasClass('toggle-sortable')) {\n app.sortableToggle(clickedData.sortable);\n }\n if (clicked.hasClass('open-sortable')) {\n app.sortableOpen(clickedData.sortable);\n }\n if (clicked.hasClass('close-sortable')) {\n app.sortableClose(clickedData.sortable);\n }\n // Accordion\n if (clicked.hasClass('accordion-item-toggle') || (clicked.hasClass('item-link') && clicked.parent().hasClass('accordion-item'))) {\n var accordionItem = clicked.parent('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('.accordion-item');\n if (accordionItem.length === 0) accordionItem = clicked.parents('li');\n app.accordionToggle(accordionItem);\n }\n \n // Speed Dial\n if (clicked.hasClass('floating-button') && clicked.parent().hasClass('speed-dial')) {\n clicked.parent().toggleClass('speed-dial-opened');\n }\n if (clicked.hasClass('close-speed-dial')) {\n $('.speed-dial-opened').removeClass('speed-dial-opened');\n }\n \n // Load Page\n if (app.params.ajaxLinks && !clicked.is(app.params.ajaxLinks) || !isLink || !app.params.router) {\n return;\n }\n if (isLink) {\n e.preventDefault();\n }\n \n var validUrl = url && url.length > 0 && url !== '#' && !isTabLink;\n var template = clickedData.template;\n if (validUrl || clicked.hasClass('back') || template) {\n var view;\n if (clickedData.view) {\n view = $(clickedData.view)[0].f7View;\n }\n else {\n view = clicked.parents('.' + app.params.viewClass)[0] && clicked.parents('.' + app.params.viewClass)[0].f7View;\n if (view && view.params.linksView) {\n if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View;\n else if (view.params.linksView instanceof View) view = view.params.linksView;\n }\n }\n if (!view) {\n if (app.mainView) view = app.mainView;\n }\n if (!view) return;\n \n var pageName;\n if (!template) {\n if (url && url.indexOf('#') === 0 && url !== '#') {\n if (view.params.domCache) {\n pageName = url.split('#')[1];\n }\n else return;\n }\n if (url === '#' && !clicked.hasClass('back')) return;\n }\n else {\n url = undefined;\n }\n \n var animatePages;\n if (typeof clickedData.animatePages !== 'undefined') {\n animatePages = clickedData.animatePages;\n }\n else {\n if (clicked.hasClass('with-animation')) animatePages = true;\n if (clicked.hasClass('no-animation')) animatePages = false;\n }\n \n var options = {\n animatePages: animatePages,\n ignoreCache: clickedData.ignoreCache,\n force: clickedData.force,\n reload: clickedData.reload,\n reloadPrevious: clickedData.reloadPrevious,\n pageName: pageName,\n pushState: clickedData.pushState,\n url: url\n };\n \n if (app.params.template7Pages) {\n options.contextName = clickedData.contextName;\n var context = clickedData.context;\n if (context) {\n options.context = JSON.parse(context);\n }\n }\n if (template && template in t7.templates) {\n options.template = t7.templates[template];\n }\n \n if (clicked.hasClass('back')) view.router.back(options);\n else view.router.load(options);\n }\n }\n $(document).on('click', 'a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .swipeout-close, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle, .close-picker, .picker-modal-overlay', handleClicks);\n if (app.params.scrollTopOnNavbarClick || app.params.scrollTopOnStatusbarClick) {\n $(document).on('click', '.statusbar-overlay, .navbar .center', handleScrollTop);\n }\n \n // Prevent scrolling on overlays\n function preventScrolling(e) {\n e.preventDefault();\n }\n if (app.support.touch && !app.device.android) {\n $(document).on((app.params.fastClicks ? 'touchstart' : 'touchmove'), '.panel-overlay, .modal-overlay, .preloader-indicator-overlay, .popup-overlay, .searchbar-overlay', preventScrolling);\n }\n };\n \n\n /*======================================================\n ************ App Resize Actions ************\n ======================================================*/\n // Prevent iPad horizontal body scrolling when soft keyboard is opened\n function _fixIpadBodyScrolLeft() {\n if (app.device.ipad) {\n document.body.scrollLeft = 0;\n setTimeout(function () {\n document.body.scrollLeft = 0;\n }, 0);\n }\n }\n app.initResize = function () {\n $(window).on('resize', app.resize);\n $(window).on('orientationchange', app.orientationchange);\n };\n app.resize = function () {\n if (app.sizeNavbars) app.sizeNavbars();\n _fixIpadBodyScrolLeft();\n \n };\n app.orientationchange = function () {\n if (app.device && app.device.minimalUi) {\n if (window.orientation === 90 || window.orientation === -90) document.body.scrollTop = 0;\n }\n _fixIpadBodyScrolLeft();\n };\n \n\n /*===============================================================================\n ************ Store and parse forms data ************\n ===============================================================================*/\n app.formsData = {};\n app.formStoreData = function (formId, formJSON) {\n // Store form data in app.formsData\n app.formsData[formId] = formJSON;\n \n // Store form data in local storage also\n app.ls['f7form-' + formId] = JSON.stringify(formJSON);\n };\n app.formDeleteData = function (formId) {\n // Delete form data from app.formsData\n if (app.formsData[formId]) {\n app.formsData[formId] = '';\n delete app.formsData[formId];\n }\n \n // Delete form data from local storage also\n if (app.ls['f7form-' + formId]) {\n app.ls['f7form-' + formId] = '';\n app.ls.removeItem('f7form-' + formId);\n }\n };\n app.formGetData = function (formId) {\n // First of all check in local storage\n if (app.ls['f7form-' + formId]) {\n return JSON.parse(app.ls['f7form-' + formId]);\n }\n // Try to get it from formsData obj\n else if (app.formsData[formId]) return app.formsData[formId];\n };\n app.formToData = function (form) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Form data\n var formData = {};\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.prop('multiple')) {\n skipNames.push(name);\n formData[name] = [];\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (this.selected) formData[name].push(this.value);\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n formData[name] = [];\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name].push(this.value);\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (this.checked) formData[name] = this.value;\n });\n break;\n default :\n formData[name] = input.val();\n break;\n }\n }\n \n });\n form.trigger('formToJSON formToData', {formData: formData});\n \n return formData;\n };\n app.formToJSON = app.formToData;\n app.formFromData = function (form, formData) {\n form = $(form);\n if (form.length !== 1) return false;\n \n // Skip input types\n var skipTypes = ['submit', 'image', 'button', 'file'];\n var skipNames = [];\n \n form.find('input, select, textarea').each(function () {\n var input = $(this);\n var name = input.attr('name');\n var type = input.attr('type');\n var tag = this.nodeName.toLowerCase();\n if (!formData[name]) return;\n if (skipTypes.indexOf(type) >= 0) return;\n if (skipNames.indexOf(name) >= 0 || !name) return;\n if (tag === 'select' && input.prop('multiple')) {\n skipNames.push(name);\n form.find('select[name=\"' + name + '\"] option').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.selected = true;\n else this.selected = false;\n });\n }\n else {\n switch (type) {\n case 'checkbox' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name].indexOf(this.value) >= 0) this.checked = true;\n else this.checked = false;\n });\n break;\n case 'radio' :\n skipNames.push(name);\n form.find('input[name=\"' + name + '\"]').each(function () {\n if (formData[name] === this.value) this.checked = true;\n else this.checked = false;\n });\n break;\n default :\n input.val(formData[name]);\n break;\n }\n }\n if (tag === 'select' && input.parents('.smart-select').length > 0) {\n input.trigger('change');\n }\n });\n form.trigger('formFromJSON formFromData', {formData: formData});\n };\n app.formFromJSON = app.formFromData;\n \n app.initFormsStorage = function (pageContainer) {\n pageContainer = $(pageContainer);\n var forms = pageContainer.find('form.store-data');\n if (forms.length === 0) return;\n \n // Parse forms data and fill form if there is such data\n forms.each(function () {\n var id = this.getAttribute('id');\n if (!id) return;\n var formData = app.formGetData(id);\n if (formData) app.formFromData(this, formData);\n });\n // Update forms data on inputs change\n function storeForm() {\n /*jshint validthis:true */\n var form = $(this);\n var formId = form[0].id;\n if (!formId) return;\n var formJSON = app.formToData(form);\n if (!formJSON) return;\n app.formStoreData(formId, formJSON);\n form.trigger('store', {data: formJSON});\n }\n forms.on('change submit', storeForm);\n \n // Detach Listeners\n function pageBeforeRemove() {\n forms.off('change submit', storeForm);\n pageContainer.off('pageBeforeRemove', pageBeforeRemove);\n }\n pageContainer.on('pageBeforeRemove', pageBeforeRemove);\n };\n\n /*===============================================================================\n ************ Ajax submit for forms ************\n ===============================================================================*/\n // Ajax submit on forms\n $(document).on('submit change', 'form.ajax-submit, form.ajax-submit-onchange', function (e) {\n var form = $(this);\n if (e.type === 'change' && !form.hasClass('ajax-submit-onchange')) return;\n if (e.type === 'submit') e.preventDefault();\n \n var method = (form.attr('method') || 'GET').toUpperCase();\n var contentType = form.prop('enctype') || form.attr('enctype');\n \n var url = form.attr('action');\n if (!url) return;\n \n var data;\n if (method === 'POST') data = new FormData(form[0]);\n else data = $.serializeObject(app.formToJSON(form[0]));\n \n var xhr = $.ajax({\n method: method,\n url: url,\n contentType: contentType,\n data: data,\n beforeSend: function (xhr) {\n form.trigger('beforeSubmit', {data:data, xhr: xhr});\n },\n error: function (xhr) {\n form.trigger('submitError', {data:data, xhr: xhr}); \n },\n success: function (data) {\n form.trigger('submitted', {data: data, xhr: xhr});\n }\n });\n });\n \n \n\n /*===============================================================================\n ************ Resizable textarea ************\n ===============================================================================*/\n app.resizeTextarea = function (textarea) {\n textarea = $(textarea);\n if (!textarea.hasClass('resizable')) {\n return;\n }\n textarea.css({'height': ''});\n var height = textarea[0].offsetHeight;\n var diff = height - textarea[0].clientHeight;\n var scrollHeight = textarea[0].scrollHeight;\n \n if (scrollHeight + diff > height) {\n var newAreaHeight = scrollHeight + diff;\n textarea.css('height', newAreaHeight + 'px');\n }\n };\n app.resizableTextarea = function (textarea) {\n textarea = $(textarea);\n if (textarea.length === 0) return;\n var textareaTimeout;\n function handleTextarea() {\n clearTimeout(textareaTimeout);\n textareaTimeout = setTimeout(function () {\n app.resizeTextarea(textarea);\n }, 0);\n }\n textarea[0].f7DestroyResizableTextarea = function () {\n textarea.off('change keydown keypress keyup paste cut', handleTextarea);\n };\n return textarea.on('change keydown keypress keyup paste cut', handleTextarea);\n };\n app.destroyResizableTextarea = function (pageContainer) {\n pageContainer = $(pageContainer);\n if (pageContainer.length > 0 && pageContainer.is('textarea') && pageContainer[0].f7DestroyResizableTextarea) {\n pageContainer[0].f7DestroyResizableTextarea();\n }\n else if (pageContainer.length > 0) {\n pageContainer.find('textarea.resiable').each(function () {\n var textarea = this;\n if (textarea.f7DestroyResizableTextarea) {\n textarea.f7DestroyResizableTextarea ();\n }\n });\n }\n };\n app.initPageResizableTextarea = function (pageContainer) {\n pageContainer = $(pageContainer);\n var textareas = pageContainer.find('textarea.resizable');\n textareas.each(function () {\n app.resizableTextarea(this);\n });\n };\n\n /*======================================================\n ************ Material Text Inputs ************\n ======================================================*/\n app.initPageMaterialInputs = function (pageContainer) {\n pageContainer = $(pageContainer);\n var textareas = pageContainer.find('textarea.resizable');\n pageContainer.find('.item-input').each(function () {\n var itemInput = $(this);\n var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image'];\n itemInput.find('input, select, textarea').each(function () {\n var input = $(this);\n if (notInputs.indexOf(input.attr('type')) < 0) {\n itemInput.addClass('item-input-field');\n if (input.val().trim() !== '') {\n input.parents('.item-input, .input-field').add(input.parents('.item-inner')).addClass('not-empty-state');\n }\n }\n });\n if (itemInput.parents('.input-item, .inputs-list').length > 0) return;\n itemInput.parents('.list-block').eq(0).addClass('inputs-list');\n });\n };\n /*======================================================\n ************ Material Focus Inputs ************\n ======================================================*/\n app.initMaterialWatchInputs = function () {\n var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image'];\n function addFocusState(e) {\n /*jshint validthis:true*/\n var i = $(this);\n var type = i.attr('type');\n if (notInputs.indexOf(type) >= 0) return;\n var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0));\n els.addClass('focus-state');\n }\n function removeFocusState(e) {\n /*jshint validthis:true*/\n var i = $(this), value = i.val();\n var type = i.attr('type');\n if (notInputs.indexOf(type) >= 0) return;\n var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0));\n els.removeClass('focus-state');\n if (value && value.trim() !== '') {\n els.addClass('not-empty-state');\n }\n else {\n els.removeClass('not-empty-state');\n }\n }\n function watchChangeState(e) {\n /*jshint validthis:true*/\n var i = $(this), value = i.val();\n var type = i.attr('type');\n if (notInputs.indexOf(type) >= 0) return;\n var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0));\n if (value && value.trim() !== '') {\n els.addClass('not-empty-state');\n }\n else {\n els.removeClass('not-empty-state');\n }\n }\n $(document).on('change', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', watchChangeState, true);\n $(document).on('focus', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', addFocusState, true);\n $(document).on('blur', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', removeFocusState, true);\n };\n\n /*======================================================\n ************ Handle Browser's History ************\n ======================================================*/\n app.pushStateQueue = [];\n app.pushStateClearQueue = function () {\n if (app.pushStateQueue.length === 0) return;\n var queue = app.pushStateQueue.pop();\n var animatePages;\n if (app.params.pushStateNoAnimation === true) animatePages = false;\n if (queue.action === 'back') {\n app.router.back(queue.view, {animatePages: animatePages});\n }\n if (queue.action === 'loadPage') {\n app.router.load(queue.view, {url: queue.stateUrl, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadContent') {\n app.router.load(queue.view, {content: queue.stateContent, animatePages: animatePages, pushState: false});\n }\n if (queue.action === 'loadPageName') {\n app.router.load(queue.view, {pageName: queue.statePageName, url: queue.stateUrl, animatePages: animatePages, pushState: false});\n }\n };\n \n app.initPushState = function () {\n var blockPopstate = true;\n $(window).on('load', function () {\n setTimeout(function () {\n blockPopstate = false;\n }, 0);\n });\n \n if (document.readyState && document.readyState === 'complete') {\n blockPopstate = false;\n }\n \n function handlePopState(e) {\n if (blockPopstate) return;\n var mainView = app.mainView;\n if (!mainView) return;\n var state = e.state;\n if (!state) {\n state = {\n viewIndex: app.views.indexOf(mainView),\n url : mainView.history[0]\n };\n }\n if (state.viewIndex < 0) return;\n var view = app.views[state.viewIndex];\n var stateUrl = state && state.url || undefined;\n var stateContent = state && state.content || undefined;\n var statePageName = state && state.pageName || undefined;\n var animatePages;\n \n if (app.params.pushStateNoAnimation === true) animatePages = false;\n \n if (stateUrl !== view.url) {\n if (view.history.indexOf(stateUrl) >= 0) {\n // Go Back\n if (view.allowPageChange) {\n app.router.back(view, {url:undefined, animatePages: animatePages, pushState: false, preloadOnly:false});\n }\n else {\n app.pushStateQueue.push({\n action: 'back',\n view: view\n });\n }\n }\n else if (stateContent) {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {content:stateContent, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadContent',\n stateContent: stateContent,\n view: view\n });\n }\n \n }\n else if (statePageName) {\n // Load Page by page name with Dom Cache\n if (view.allowPageChange) {\n app.router.load(view, {pageName:statePageName, url: stateUrl, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPageName',\n statePageName: statePageName,\n view: view\n });\n }\n }\n else {\n // Load Page\n if (view.allowPageChange) {\n app.router.load(view, {url:stateUrl, animatePages: animatePages, pushState: false});\n }\n else {\n app.pushStateQueue.unshift({\n action: 'loadPage',\n stateUrl: stateUrl,\n view: view\n });\n }\n }\n }\n }\n $(window).on('popstate', handlePopState);\n };\n \n\n /*===========================\n Framework7 Swiper Additions\n ===========================*/\n app.swiper = function (container, params) {\n return new Swiper(container, params);\n };\n app.initPageSwiper = function (pageContainer) {\n pageContainer = $(pageContainer);\n var swipers = pageContainer.find('.swiper-init, .tabs-swipeable-wrap');\n if (swipers.length === 0) return;\n function destroySwiperOnRemove(slider) {\n function destroySwiper() {\n slider.destroy();\n pageContainer.off('pageBeforeRemove', destroySwiper);\n }\n pageContainer.on('pageBeforeRemove', destroySwiper);\n }\n swipers.each(function () {\n var swiper = $(this), initialSlide;\n var params;\n if (swiper.hasClass('tabs-swipeable-wrap')) {\n swiper.addClass('swiper-container').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide');\n initialSlide = swiper.children('.tabs').children('.tab.active').index();\n }\n if (swiper.data('swiper')) {\n params = JSON.parse(swiper.data('swiper'));\n }\n else {\n params = swiper.dataset();\n }\n if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') {\n params.initialSlide = initialSlide;\n }\n if (swiper.hasClass('tabs-swipeable-wrap')) {\n params.onSlideChangeStart = function (s) {\n app.showTab(s.slides.eq(s.activeIndex));\n };\n }\n var _slider = app.swiper(swiper[0], params);\n destroySwiperOnRemove(_slider);\n });\n };\n app.reinitPageSwiper = function (pageContainer) {\n pageContainer = $(pageContainer);\n var sliders = pageContainer.find('.swiper-init, .tabs-swipeable-wrap');\n if (sliders.length === 0) return;\n for (var i = 0; i < sliders.length; i++) {\n var sliderInstance = sliders[0].swiper;\n if (sliderInstance) {\n sliderInstance.update(true);\n }\n }\n };\n \n\n /*======================================================\n ************ Photo Browser ************\n ======================================================*/\n var PhotoBrowser = function (params) {\n var pb = this, i;\n \n var defaults = {\n photos : [],\n initialSlide: 0,\n spaceBetween: 20,\n speed: 300,\n zoom: true,\n zoomMax: 3,\n zoomMin: 1,\n exposition: true,\n expositionHideCaptions: false,\n type: 'standalone',\n navbar: true,\n toolbar: true,\n theme: 'light',\n swipeToClose: true,\n backLinkText: 'Close',\n ofText: 'of',\n loop: false,\n lazyLoading: false,\n lazyLoadingInPrevNext: false,\n lazyLoadingOnTransitionStart: false,\n material: app.params.material,\n materialPreloaderSvg: app.params.materialPreloaderSvg,\n materialPreloaderHtml: app.params.materialPreloaderHtml,\n /*\n Callbacks:\n onLazyImageLoad(pb, slide, img)\n onLazyImageReady(pb, slide, img)\n onOpen(pb)\n onClose(pb)\n onTransitionStart(swiper)\n onTransitionEnd(swiper)\n onSlideChangeStart(swiper)\n onSlideChangeEnd(swiper)\n onTap(swiper, e)\n onClick(swiper, e)\n onDoubleTap(swiper, e)\n onSwipeToClose(pb)\n */\n };\n \n params = params || {};\n if (!params.backLinkText && app.params.material) defaults.backLinkText = '';\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n if (params.maxZoom) {\n params.zoomMax = params.maxZoom;\n }\n if (params.minZoom) {\n params.zoomMin = params.minZoom;\n }\n \n pb.params = params;\n pb.params.iconsColorClass = pb.params.iconsColor ? 'color-' + pb.params.iconsColor : (pb.params.theme === 'dark' ? 'color-white' : '');\n pb.params.preloaderColorClass = pb.params.theme === 'dark' ? 'preloader-white' : '';\n \n // Templates\n var photoTemplate = pb.params.photoTemplate || \n '
                                          ' +\n '' +\n '' +\n '' +\n '
                                          ';\n var photoLazyTemplate = pb.params.lazyPhotoTemplate ||\n '
                                          ' +\n '
                                          {{#if @root.material}}{{@root.materialPreloaderHtml}}{{/if}}
                                          ' +\n '' +\n '' +\n '' +\n '
                                          ';\n var objectTemplate = pb.params.objectTemplate ||\n '
                                          {{js \"this.html || this\"}}
                                          ';\n var captionTemplate = pb.params.captionTemplate ||\n '
                                          ' +\n '{{caption}}' +\n '
                                          ';\n var navbarTemplate = pb.params.navbarTemplate ||\n '
                                          ' +\n '
                                          ' +\n '' +\n '
                                          ' +\n ' ' +\n '{{ofText}} ' +\n '' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ';\n var toolbarTemplate = pb.params.toolbarTemplate ||\n '
                                          ' +\n '
                                          ' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '' +\n '
                                          ' +\n '
                                          ';\n \n var htmlTemplate = t7.compile('
                                          ' +\n '
                                          ' +\n '{{#unless material}}{{#if navbar}}' +\n navbarTemplate +\n '{{/if}}{{/unless}}' +\n '
                                          ' +\n '{{#if material}}{{#if navbar}}' +\n navbarTemplate +\n '{{/if}}{{/if}}' +\n '{{#if toolbar}}' +\n toolbarTemplate +\n '{{/if}}' +\n '
                                          ' +\n '{{#each photos}}{{#if caption}}' +\n captionTemplate +\n '{{/if}}{{/each}}' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ' +\n '{{#each photos}}' +\n '{{#js_compare \"this.html || ((typeof this === \\'string\\' || this instanceof String) && (this.indexOf(\\'<\\') >= 0 || this.indexOf(\\'>\\') >= 0))\"}}' +\n objectTemplate +\n '{{else}}' +\n '{{#if @root.lazyLoading}}' +\n photoLazyTemplate +\n '{{else}}' +\n photoTemplate +\n '{{/if}}' +\n '{{/js_compare}}' +\n '{{/each}}' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ')(pb.params);\n \n pb.activeIndex = pb.params.initialSlide;\n pb.openIndex = pb.activeIndex;\n pb.opened = false;\n \n pb.open = function (index) {\n if (typeof index === 'undefined') index = pb.activeIndex;\n index = parseInt(index, 10);\n if (pb.opened && pb.swiper) {\n pb.swiper.slideTo(index);\n return;\n }\n pb.opened = true;\n pb.openIndex = index;\n if (pb.params.type === 'standalone') {\n app.root.append(htmlTemplate);\n }\n if (pb.params.type === 'popup') {\n pb.popup = app.popup('
                                          ' + htmlTemplate + '
                                          ');\n $(pb.popup).on('closed', pb.onPopupClose);\n }\n if (pb.params.type === 'page') {\n $(document).on('pageBeforeInit', pb.onPageBeforeInit);\n $(document).on('pageBeforeRemove', pb.onPageBeforeRemove);\n if (!pb.params.view) pb.params.view = app.mainView;\n pb.params.view.loadContent(htmlTemplate);\n return;\n }\n pb.layout(pb.openIndex);\n if (pb.params.onOpen) {\n pb.params.onOpen(pb);\n }\n \n };\n pb.close = function () {\n pb.opened = false;\n if (!pb.swiperContainer || pb.swiperContainer.length === 0) {\n return;\n }\n if (pb.params.onClose) {\n pb.params.onClose(pb);\n }\n // Detach events\n pb.attachEvents(true);\n // Delete from DOM\n if (pb.params.type === 'standalone') {\n pb.container.removeClass('photo-browser-in').addClass('photo-browser-out').animationEnd(function () {\n pb.container.remove();\n });\n }\n // Destroy slider\n pb.swiper.destroy();\n // Delete references\n pb.swiper = pb.swiperContainer = pb.swiperWrapper = pb.slides = undefined; //gestureSlide = gestureImg = gestureImgWrap = undefined;\n };\n \n pb.onPopupClose = function (e) {\n pb.close();\n $(pb.popup).off('pageBeforeInit', pb.onPopupClose);\n };\n pb.onPageBeforeInit = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.layout(pb.openIndex);\n }\n $(document).off('pageBeforeInit', pb.onPageBeforeInit);\n };\n pb.onPageBeforeRemove = function (e) {\n if (e.detail.page.name === 'photo-browser-slides') {\n pb.close();\n }\n $(document).off('pageBeforeRemove', pb.onPageBeforeRemove);\n };\n \n pb.onSliderTransitionStart = function (swiper) {\n pb.activeIndex = swiper.activeIndex;\n \n var current = swiper.activeIndex + 1;\n var total = swiper.slides.length;\n if (pb.params.loop) {\n total = total - 2;\n current = current - swiper.loopedSlides;\n if (current < 1) current = total + current;\n if (current > total) current = current - total;\n }\n pb.container.find('.photo-browser-current').text(current);\n pb.container.find('.photo-browser-total').text(total);\n \n $('.photo-browser-prev, .photo-browser-next').removeClass('photo-browser-link-inactive');\n \n if (swiper.isBeginning && !pb.params.loop) {\n $('.photo-browser-prev').addClass('photo-browser-link-inactive');\n }\n if (swiper.isEnd && !pb.params.loop) {\n $('.photo-browser-next').addClass('photo-browser-link-inactive');\n }\n \n // Update captions\n if (pb.captions.length > 0) {\n pb.captionsContainer.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active');\n var captionIndex = pb.params.loop ? swiper.slides.eq(swiper.activeIndex).attr('data-swiper-slide-index') : pb.activeIndex;\n pb.captionsContainer.find('[data-caption-index=\"' + captionIndex + '\"]').addClass('photo-browser-caption-active');\n }\n \n \n // Stop Video\n var previousSlideVideo = swiper.slides.eq(swiper.previousIndex).find('video');\n if (previousSlideVideo.length > 0) {\n if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause();\n }\n // Callback\n if (pb.params.onTransitionStart) pb.params.onTransitionStart(swiper);\n };\n pb.onSliderTransitionEnd = function (swiper) {\n if (pb.params.onTransitionEnd) pb.params.onTransitionEnd(swiper);\n };\n \n pb.layout = function (index) {\n if (pb.params.type === 'page') {\n pb.container = $('.photo-browser-swiper-container').parents('.view');\n }\n else {\n pb.container = $('.photo-browser');\n }\n if (pb.params.type === 'standalone') {\n pb.container.addClass('photo-browser-in');\n app.sizeNavbars(pb.container);\n }\n pb.swiperContainer = pb.container.find('.photo-browser-swiper-container');\n pb.swiperWrapper = pb.container.find('.photo-browser-swiper-wrapper');\n pb.slides = pb.container.find('.photo-browser-slide');\n pb.captionsContainer = pb.container.find('.photo-browser-captions');\n pb.captions = pb.container.find('.photo-browser-caption');\n \n var sliderSettings = {\n nextButton: pb.params.nextButton || '.photo-browser-next',\n prevButton: pb.params.prevButton || '.photo-browser-prev',\n indexButton: pb.params.indexButton,\n initialSlide: index,\n spaceBetween: pb.params.spaceBetween,\n speed: pb.params.speed,\n loop: pb.params.loop,\n lazyLoading: pb.params.lazyLoading,\n lazyLoadingInPrevNext: pb.params.lazyLoadingInPrevNext,\n lazyLoadingOnTransitionStart: pb.params.lazyLoadingOnTransitionStart,\n preloadImages: pb.params.lazyLoading ? false : true,\n zoom: pb.params.zoom,\n zoomMax: pb.params.zoomMax,\n zoomMin: pb.params.zoomMin,\n onTap: function (swiper, e) {\n if (pb.params.onTap) pb.params.onTap(swiper, e);\n },\n onClick: function (swiper, e) {\n if (pb.params.exposition) pb.toggleExposition();\n if (pb.params.onClick) pb.params.onClick(swiper, e);\n },\n onDoubleTap: function (swiper, e) {\n // pb.toggleZoom(e);\n if (pb.params.onDoubleTap) pb.params.onDoubleTap(swiper, e);\n },\n onTransitionStart: function (swiper) {\n pb.onSliderTransitionStart(swiper);\n },\n onTransitionEnd: function (swiper) {\n pb.onSliderTransitionEnd(swiper);\n },\n onSlideChangeStart: pb.params.onSlideChangeStart,\n onSlideChangeEnd: pb.params.onSlideChangeEnd,\n onLazyImageLoad: function (swiper, slide, img) {\n if (pb.params.onLazyImageLoad) pb.params.onLazyImageLoad(pb, slide, img);\n },\n onLazyImageReady: function (swiper, slide, img) {\n $(slide).removeClass('photo-browser-slide-lazy');\n if (pb.params.onLazyImageReady) pb.params.onLazyImageReady(pb, slide, img);\n }\n };\n \n if (pb.params.swipeToClose && pb.params.type !== 'page') {\n sliderSettings.onTouchStart = pb.swipeCloseTouchStart;\n sliderSettings.onTouchMoveOpposite = pb.swipeCloseTouchMove;\n sliderSettings.onTouchEnd = pb.swipeCloseTouchEnd;\n }\n \n pb.swiper = app.swiper(pb.swiperContainer, sliderSettings);\n if (index === 0) {\n pb.onSliderTransitionStart(pb.swiper);\n }\n pb.attachEvents();\n };\n pb.attachEvents = function (detach) {\n var action = detach ? 'off' : 'on';\n pb.container.find('.photo-browser-close-link')[action]('click', pb.close);\n };\n \n \n // Expose\n pb.exposed = false;\n pb.toggleExposition = function () {\n if (pb.container) pb.container.toggleClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.toggleClass('photo-browser-captions-exposed');\n pb.exposed = !pb.exposed;\n };\n pb.enableExposition = function () {\n if (pb.container) pb.container.addClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.addClass('photo-browser-captions-exposed');\n pb.exposed = true;\n };\n pb.disableExposition = function () {\n if (pb.container) pb.container.removeClass('photo-browser-exposed');\n if (pb.params.expositionHideCaptions) pb.captionsContainer.removeClass('photo-browser-captions-exposed');\n pb.exposed = false;\n };\n \n // Swipe Up To Close\n var swipeToCloseIsTouched = false;\n var allowSwipeToClose = true;\n var swipeToCloseDiff, swipeToCloseStart, swipeToCloseCurrent, swipeToCloseStarted = false, swipeToCloseActiveSlide, swipeToCloseTimeStart;\n pb.swipeCloseTouchStart = function (swiper, e) {\n if (!allowSwipeToClose) return;\n swipeToCloseIsTouched = true;\n };\n pb.swipeCloseTouchMove = function (swiper, e) {\n if (!swipeToCloseIsTouched) return;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = true;\n swipeToCloseStart = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseActiveSlide = pb.swiper.slides.eq(pb.swiper.activeIndex);\n swipeToCloseTimeStart = (new Date()).getTime();\n }\n e.preventDefault();\n swipeToCloseCurrent = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n swipeToCloseDiff = swipeToCloseStart - swipeToCloseCurrent;\n var opacity = 1 - Math.abs(swipeToCloseDiff) / 300;\n swipeToCloseActiveSlide.transform('translate3d(0,' + (-swipeToCloseDiff) + 'px,0)');\n pb.swiper.container.css('opacity', opacity).transition(0);\n };\n pb.swipeCloseTouchEnd = function (swiper, e) {\n swipeToCloseIsTouched = false;\n if (!swipeToCloseStarted) {\n swipeToCloseStarted = false;\n return;\n }\n swipeToCloseStarted = false;\n allowSwipeToClose = false;\n var diff = Math.abs(swipeToCloseDiff);\n var timeDiff = (new Date()).getTime() - swipeToCloseTimeStart;\n if ((timeDiff < 300 && diff > 20) || (timeDiff >= 300 && diff > 100)) {\n setTimeout(function () {\n if (pb.params.type === 'standalone') {\n pb.close();\n }\n if (pb.params.type === 'popup') {\n app.closeModal(pb.popup);\n }\n if (pb.params.onSwipeToClose) {\n pb.params.onSwipeToClose(pb);\n }\n allowSwipeToClose = true;\n }, 0);\n return;\n }\n if (diff !== 0) {\n swipeToCloseActiveSlide.addClass('transitioning').transitionEnd(function () {\n allowSwipeToClose = true;\n swipeToCloseActiveSlide.removeClass('transitioning');\n });\n }\n else {\n allowSwipeToClose = true;\n }\n pb.swiper.container.css('opacity', '').transition('');\n swipeToCloseActiveSlide.transform('');\n };\n \n return pb;\n };\n \n app.photoBrowser = function (params) {\n return new PhotoBrowser(params);\n };\n \n\n /*===============================================================================\n ************ Autocomplete ************\n ===============================================================================*/\n var Autocomplete = function (params) {\n var a = this;\n \n // Params\n var defaults = {\n // Standalone Options\n /*\n opener: undefined,\n */\n popupCloseText: 'Close',\n backText: 'Back',\n searchbarPlaceholderText: 'Search...',\n searchbarCancelText: 'Cancel',\n openIn: 'page',\n backOnSelect: false,\n notFoundText: 'Nothing found',\n /*\n pageTitle: undefined,\n */\n \n // Handle Data\n /*\n source: undefined,\n limit: undefined,\n */\n valueProperty: 'id',\n textProperty: 'text',\n \n // Dropdown Options\n /*\n dropdownPlaceholderText: 'Type anything...',\n */\n updateInputValueOnSelect: true,\n expandInput: false,\n \n // Preloader\n preloaderColor: false,\n preloader: false,\n \n // Templates\n /*\n itemTemplate: undefined,\n navbarTemplate: undefined,\n dropdownTemplate: undefined\n dropdownItemTemplate: undefined,\n dropdownPlaceholderTemplate: undefined\n */\n \n // Color themes\n /*\n navbarTheme: undefined,\n formTheme: undefined,\n */\n \n // Callbacks\n /*\n onChange: function (a, value) - for not dropdown\n onOpen: function (a)\n onClose: function (a)\n */\n };\n \n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n a.params = params;\n \n // Opener Link & View\n if (a.params.opener) {\n a.opener = $(a.params.opener);\n }\n var view = a.params.view;\n if (!a.params.view && a.opener && a.opener.length) {\n // Find related view\n view = a.opener.parents('.' + app.params.viewClass);\n if (view.length === 0) return;\n view = view[0].f7View;\n }\n \n // Input\n if (a.params.input) {\n a.input = $(a.params.input);\n if (a.input.length === 0 && a.params.openIn === 'dropdown') return;\n }\n \n // Array with selected items\n a.value = a.params.value || [];\n \n // ID & Inputs\n a.id = (new Date()).getTime();\n a.inputType = a.params.multiple ? 'checkbox' : 'radio';\n a.inputName = a.inputType + '-' + a.id;\n \n // Is Material\n var material = app.params.material;\n \n // Back On Select\n var backOnSelect = a.params.backOnSelect;\n \n if (a.params.openIn !== 'dropdown') {\n // Item Template\n a.itemTemplate = t7.compile(a.params.itemTemplate ||\n '
                                        • ' +\n '' +\n '
                                        • '\n );\n // Page Layout\n var pageTitle = a.params.pageTitle || '';\n if (!pageTitle && a.opener && a.opener.length) {\n pageTitle = a.opener.find('.item-title').text();\n }\n var pageName = 'autocomplete-' + a.inputName;\n \n var navbarTheme = a.params.navbarTheme,\n formTheme = a.params.formTheme;\n \n // Navbar HTML\n var navbarHTML;\n var noNavbar = '', noToolbar = '', navbarLayout;\n \n a.navbarTemplate = t7.compile(a.params.navbarTemplate ||\n '
                                          ' +\n '
                                          ' +\n '
                                          ' +\n '{{#if material}}' +\n '' +\n '{{else}}' +\n '' +\n '' +\n '{{#if inPopup}}' +\n '{{popupCloseText}}' +\n '{{else}}' +\n '{{backText}}' +\n '{{/if}}' +\n '' +\n '{{/if}}' +\n '
                                          ' +\n '
                                          {{pageTitle}}
                                          ' +\n '{{#if preloader}}' +\n '
                                          ' +\n '
                                          ' +\n '
                                          ' +\n '{{/if}}' +\n '
                                          ' +\n '
                                          '\n );\n navbarHTML = a.navbarTemplate({\n pageTitle: pageTitle,\n backText: a.params.backText,\n popupCloseText: a.params.popupCloseText,\n openIn: a.params.openIn,\n navbarTheme: navbarTheme,\n inPopup: a.params.openIn === 'popup',\n inPage: a.params.openIn === 'page',\n material: material,\n preloader: a.params.preloader,\n preloaderColor: a.params.preloaderColor,\n });\n \n // Determine navbar layout type - static/fixed/through\n if (a.params.openIn === 'page') {\n navbarLayout = 'static';\n if (a.opener) {\n if (a.opener.parents('.navbar-through').length > 0) navbarLayout = 'through';\n if (a.opener.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = a.opener.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = a.opener.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n }\n else if (view.container) {\n if ($(view.container).hasClass('navbar-through') || $(view.container).find('.navbar-through').length > 0) navbarLayout = 'through';\n if ($(view.container).hasClass('navbar-fixed') || $(view.container).find('.navbar-fixed').length > 0) navbarLayout = 'fixed';\n noToolbar = $(view.activePage.container).hasClass('no-toolbar') ? 'no-toolbar' : '';\n noNavbar = $(view.activePage.container).hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout;\n }\n }\n else {\n navbarLayout = 'fixed';\n }\n var searchbarHTML =\n '
                                          ' +\n '
                                          ' +\n '' +\n '' +\n '
                                          ' +\n (material ? '' : '' + a.params.searchbarCancelText + '') +\n '
                                          ' +\n '
                                          ';\n var pageHTML =\n (navbarLayout === 'through' ? navbarHTML : '') +\n '
                                          ' +\n '
                                          ' +\n (navbarLayout === 'fixed' ? navbarHTML : '') +\n searchbarHTML +\n '
                                          ' +\n (navbarLayout === 'static' ? navbarHTML : '') +\n '
                                          ' +\n '
                                            ' +\n '
                                            ' +\n '
                                            ' +\n '
                                            • ' + a.params.notFoundText + '
                                            ' +\n '
                                            ' +\n '
                                            ' +\n '
                                              ' +\n '
                                              ' +\n '
                                              ' +\n '
                                              ' +\n '
                                              ';\n }\n else {\n a.dropdownItemTemplate = t7.compile(a.params.dropdownItemTemplate ||\n '
                                            • ' +\n '' +\n '
                                            • '\n );\n a.dropdownPlaceholderTemplate = t7.compile(a.params.dropdownPlaceholderTemplate ||\n '
                                            • ' +\n '
                                              ' +\n '
                                              ' +\n '
                                              {{text}}
                                              ' +\n '
                                              ' +\n '' +\n '
                                            • '\n );\n a.dropdownTemplate = t7.compile(a.params.dropdownTemplate ||\n '
                                              ' +\n '
                                              ' +\n '
                                              ' +\n '
                                                ' +\n '
                                                ' +\n '
                                                ' +\n '{{#if preloader}}' +\n '
                                                {{#if material}}{{materialPreloaderHtml}}{{/if}}
                                                ' +\n '{{/if}}' +\n '
                                                '\n );\n }\n \n // Define popup\n a.popup = undefined;\n \n // Define Dropdown\n a.dropdown = undefined;\n \n // Handle Input Value Change\n function handleInputValue (e) {\n var query = a.input.val();\n if (a.params.source) {\n a.params.source(a, query, function (items) {\n var itemsHTML = '';\n var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length;\n a.items = items;\n var i, j;\n var regExp = new RegExp('('+query+')', 'i');\n for (i = 0; i < limit; i++) {\n var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i];\n itemsHTML += a.dropdownItemTemplate({\n value: itemValue,\n text: (typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty]).replace(regExp, '$1')\n });\n }\n if (itemsHTML === '' && query === '' && a.params.dropdownPlaceholderText) {\n itemsHTML += a.dropdownPlaceholderTemplate({\n text: a.params.dropdownPlaceholderText,\n });\n }\n a.dropdown.find('ul').html(itemsHTML);\n });\n }\n }\n // Handle Drop Down Click\n function handleDropdownClick (e) {\n /*jshint validthis:true */\n var clicked = $(this);\n var clickedItem;\n for (var i = 0; i < a.items.length; i++) {\n var itemValue = typeof a.items[i] === 'object' ? a.items[i][a.params.valueProperty] : a.items[i];\n var value = clicked.attr('data-value');\n if (itemValue === value || itemValue * 1 === value * 1) {\n clickedItem = a.items[i];\n }\n }\n if (a.params.updateInputValueOnSelect) {\n a.input.val(typeof clickedItem === 'object' ? clickedItem[a.params.textProperty] : clickedItem);\n a.input.trigger('input change');\n }\n \n if (a.params.onChange) {\n a.params.onChange(a, clickedItem);\n }\n \n a.close();\n }\n \n // Handle HTML Click to close Dropdown\n function closeOnHTMLClick (e) {\n var target = $(e.target);\n if (!(target.is(a.input[0]) || a.dropdown && target.parents(a.dropdown[0]).length > 0)) {\n a.close();\n }\n }\n \n a.positionDropDown = function () {\n var listBlock = a.input.parents('.list-block'),\n pageContent = a.input.parents('.page-content'),\n paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-top'), 10),\n // inputOffset = a.input.offset(),\n listBlockOffsetLeft = listBlock.length > 0 ? listBlock.offset().left - listBlock.parent().offset().left : 0,\n inputOffsetLeft = a.input.offset().left - (listBlock.length > 0 ? listBlock.offset().left : 0),\n inputOffsetTop = a.input.offset().top - (pageContent.offset().top - pageContent[0].scrollTop),\n maxHeight = pageContent[0].scrollHeight - paddingBottom - (inputOffsetTop + pageContent[0].scrollTop) - a.input[0].offsetHeight;\n \n a.dropdown.css({\n left: (listBlock.length > 0 ? listBlockOffsetLeft : inputOffsetLeft) + 'px',\n top: inputOffsetTop + pageContent[0].scrollTop + a.input[0].offsetHeight + 'px',\n width: (listBlock.length > 0 ? listBlock[0].offsetWidth : a.input[0].offsetWidth) + 'px'\n });\n a.dropdown.children('.autocomplete-dropdown-inner').css({\n maxHeight: maxHeight + 'px',\n paddingLeft: listBlock.length > 0 && !a.params.expandInput ? inputOffsetLeft - (material ? 16 : 15) + 'px' : ''\n });\n };\n \n // Event Listeners on new page\n a.pageInit = function (e) {\n var page = e.detail.page;\n a.page = $(page.container);\n a.pageData = page;\n if (page.name !== pageName) {\n return;\n }\n var container = $(page.container);\n // Init Search Bar\n var searchbar = app.searchbar(container.find('.searchbar'), {\n customSearch: true,\n onSearch: function (searchbar, data) {\n if (data.query.length === 0 && searchbar.active) {\n searchbar.overlay.addClass('searchbar-overlay-active');\n }\n else {\n searchbar.overlay.removeClass('searchbar-overlay-active');\n }\n \n var i, j, k;\n \n if (a.params.source) {\n a.params.source(a, data.query, function(items) {\n var itemsHTML = '';\n var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length;\n a.items = items;\n for (i = 0; i < limit; i++) {\n var selected = false;\n var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i];\n for (j = 0; j < a.value.length; j++) {\n var aValue = typeof a.value[j] === 'object' ? a.value[j][a.params.valueProperty] : a.value[j];\n if (aValue === itemValue || aValue * 1 === itemValue * 1) selected = true;\n }\n itemsHTML += a.itemTemplate({\n value: itemValue,\n text: typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty],\n inputType: a.inputType,\n id: a.id,\n inputName: a.inputName,\n selected: selected,\n checkbox: a.inputType === 'checkbox',\n material: material\n });\n }\n container.find('.autocomplete-found ul').html(itemsHTML);\n if (items.length === 0) {\n if (data.query.length !== 0) {\n container.find('.autocomplete-not-found').show();\n container.find('.autocomplete-found, .autocomplete-values').hide();\n }\n else {\n container.find('.autocomplete-values').show();\n container.find('.autocomplete-found, .autocomplete-not-found').hide();\n }\n }\n else {\n container.find('.autocomplete-found').show();\n container.find('.autocomplete-not-found, .autocomplete-values').hide();\n }\n });\n }\n }\n });\n \n // Save searchbar instance\n a.searchbar = searchbar;\n \n // Update values\n function updateValues() {\n var valuesHTML = '';\n var i;\n for (i = 0; i < a.value.length; i++) {\n \n valuesHTML += a.itemTemplate({\n value: typeof a.value[i] === 'object' ? a.value[i][a.params.valueProperty] : a.value[i],\n text: typeof a.value[i] === 'object' ? a.value[i][a.params.textProperty]: a.value[i],\n inputType: a.inputType,\n id: a.id,\n inputName: a.inputName + '-checked',\n checkbox: a.inputType === 'checkbox',\n material: material,\n selected: true\n });\n }\n container.find('.autocomplete-values ul').html(valuesHTML);\n }\n \n // Handle Inputs\n container.on('change', 'input[type=\"radio\"], input[type=\"checkbox\"]', function () {\n var i;\n var input = this;\n var value = input.value;\n var text = $(input).parents('li').find('.item-title').text();\n var isValues = $(input).parents('.autocomplete-values').length > 0;\n var item, itemValue, aValue;\n if (isValues) {\n if (a.inputType === 'checkbox' && !input.checked) {\n for (i = 0; i < a.value.length; i++) {\n aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty];\n if (aValue === value || aValue * 1 === value * 1) {\n a.value.splice(i, 1);\n }\n }\n updateValues();\n if (a.params.onChange) a.params.onChange(a, a.value);\n }\n return;\n }\n \n // Find Related Item\n for (i = 0; i < a.items.length; i++) {\n itemValue = typeof a.items[i] === 'string' ? a.items[i] : a.items[i][a.params.valueProperty];\n if (itemValue === value || itemValue * 1 === value * 1) item = a.items[i];\n }\n // Update Selected Value\n if (a.inputType === 'radio') {\n a.value = [item];\n }\n else {\n if (input.checked) {\n a.value.push(item);\n }\n else {\n for (i = 0; i < a.value.length; i++) {\n aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty];\n if (aValue === value || aValue * 1 === value * 1) {\n a.value.splice(i, 1);\n }\n }\n }\n }\n \n // Update Values Block\n updateValues();\n \n // On Select Callback\n if ((a.inputType === 'radio' && input.checked || a.inputType === 'checkbox') && a.params.onChange ) {\n a.params.onChange(a, a.value);\n }\n if (backOnSelect && a.inputType === 'radio') {\n if (a.params.openIn === 'popup') app.closeModal(a.popup);\n else view.router.back();\n }\n });\n \n // Update Values On Page Init\n updateValues();\n \n if (a.params.onOpen) a.params.onOpen(a);\n };\n \n // Show Hide Preloader\n a.showPreloader = function () {\n if (a.params.openIn === 'dropdown') {\n if (a.dropdown) a.dropdown.find('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n }\n else $('.autocomplete-preloader').addClass('autocomplete-preloader-visible');\n };\n \n a.hidePreloader = function () {\n if (a.params.openIn === 'dropdown') {\n if (a.dropdown) a.dropdown.find('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n }\n else $('.autocomplete-preloader').removeClass('autocomplete-preloader-visible');\n };\n \n // Open Autocomplete Page/Popup\n a.open = function () {\n if (a.opened) return;\n a.opened = true;\n if (a.params.openIn === 'dropdown') {\n if (!a.dropdown) {\n a.dropdown = $(a.dropdownTemplate({\n preloader: a.params.preloader,\n preloaderColor: a.params.preloaderColor,\n material: material,\n materialPreloaderHtml: app.params.materialPreloaderHtml\n }));\n a.dropdown.on('click', 'label', handleDropdownClick);\n \n }\n var listBlock = a.input.parents('.list-block');\n if (listBlock.length && a.input.parents('.item-content').length > 0 && a.params.expandInput) {\n a.input.parents('.item-content').addClass('item-content-dropdown-expand');\n }\n a.positionDropDown();\n a.input.parents('.page-content').append(a.dropdown);\n a.dropdown.addClass('autocomplete-dropdown-in');\n a.input.trigger('input');\n $(window).on('resize', a.positionDropDown);\n if (a.params.onOpen) a.params.onOpen(a);\n }\n else {\n $(document).once('pageInit', '.autocomplete-page', a.pageInit);\n if (a.params.openIn === 'popup') {\n a.popup = app.popup(\n '
                                                ' +\n '
                                                ' +\n pageHTML +\n '
                                                ' +\n '
                                                '\n );\n a.popup = $(a.popup);\n a.popup.once('closed', function () {\n a.popup = undefined;\n a.opened = false;\n if (a.params.onClose) a.params.onClose(a);\n });\n }\n else {\n view.router.load({\n content: pageHTML\n });\n $(document).once('pageBack', '.autocomplete-page', function () {\n a.opened = false;\n if (a.params.onClose) a.params.onClose(a);\n });\n }\n }\n };\n a.close = function (e) {\n if (!a.opened) return;\n if (a.params.openIn === 'dropdown') {\n if (e && e.type === 'blur' && a.dropdown.find('label.active-state').length > 0) return;\n a.dropdown.removeClass('autocomplete-dropdown-in').remove();\n a.input.parents('.item-content-dropdown-expand').removeClass('item-content-dropdown-expand');\n a.opened = false;\n $(window).off('resize', a.positionDropDown);\n if (a.params.onClose) a.params.onClose(a);\n }\n if (a.params.openIn === 'popup') {\n if (a.popup) app.closeModal(a.popup);\n }\n };\n \n // Init Events\n a.initEvents = function (detach) {\n var method = detach ? 'off' : 'on';\n if (a.params.openIn !== 'dropdown' && a.opener) {\n a.opener[method]('click', a.open);\n }\n if (a.params.openIn === 'dropdown' && a.input) {\n a.input[method]('focus', a.open);\n a.input[method]('input', handleInputValue);\n if (app.device.android) {\n $('html')[method]('click', closeOnHTMLClick);\n }\n else {\n a.input[method]('blur', a.close);\n }\n }\n if (detach && a.dropdown) {\n a.dropdown = null;\n }\n };\n \n // Init/Destroy Methods\n a.init = function () {\n a.initEvents();\n };\n a.destroy = function () {\n a.initEvents(true);\n a = null;\n };\n \n // Init\n a.init();\n \n return a;\n };\n app.autocomplete = function (params) {\n return new Autocomplete(params);\n };\n\n /*======================================================\n ************ Picker ************\n ======================================================*/\n var Picker = function (params) {\n var p = this;\n var defaults = {\n updateValuesOnMomentum: false,\n updateValuesOnTouchmove: true,\n rotateEffect: false,\n momentumRatio: 7,\n freeMode: false,\n // Common settings\n closeByOutsideClick: true,\n scrollToInput: true,\n inputReadOnly: true,\n convertToPopover: true,\n onlyInPopover: false,\n toolbar: true,\n toolbarCloseText: 'Done',\n toolbarTemplate: \n '
                                                ' +\n '
                                                ' +\n '
                                                ' +\n '
                                                ' +\n '{{closeText}}' +\n '
                                                ' +\n '
                                                ' +\n '
                                                '\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n p.params = params;\n p.cols = [];\n p.initialized = false;\n \n // Inline flag\n p.inline = p.params.container ? true : false;\n \n // 3D Transforms origin bug, only on safari\n var originBug = app.device.ios || (navigator.userAgent.toLowerCase().indexOf('safari') >= 0 && navigator.userAgent.toLowerCase().indexOf('chrome') < 0) && !app.device.android;\n \n // Should be converted to popover\n function isPopover() {\n var toPopover = false;\n if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover;\n if (!p.inline && p.params.input) {\n if (p.params.onlyInPopover) toPopover = true;\n else {\n if (app.device.ios) {\n toPopover = app.device.ipad ? true : false;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n } \n return toPopover; \n }\n function inPopover() {\n if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true;\n else return false;\n }\n \n // Value\n p.setValue = function (arrValues, transition) {\n var valueIndex = 0;\n if (p.cols.length === 0) {\n p.value = arrValues;\n p.updateValue(arrValues);\n return;\n }\n for (var i = 0; i < p.cols.length; i++) {\n if (p.cols[i] && !p.cols[i].divider) {\n p.cols[i].setValue(arrValues[valueIndex], transition);\n valueIndex++;\n }\n }\n };\n p.updateValue = function (forceValues) {\n var newValue = forceValues || [];\n var newDisplayValue = [];\n for (var i = 0; i < p.cols.length; i++) {\n if (!p.cols[i].divider) {\n newValue.push(p.cols[i].value);\n newDisplayValue.push(p.cols[i].displayValue);\n }\n }\n if (newValue.indexOf(undefined) >= 0) {\n return;\n }\n p.value = newValue;\n p.displayValue = newDisplayValue;\n if (p.params.onChange) {\n p.params.onChange(p, p.value, p.displayValue);\n }\n if (p.input && p.input.length > 0) {\n $(p.input).val(p.params.formatValue ? p.params.formatValue(p, p.value, p.displayValue) : p.value.join(' '));\n $(p.input).trigger('change');\n }\n };\n \n // Columns Handlers\n p.initPickerCol = function (colElement, updateItems) {\n var colContainer = $(colElement);\n var colIndex = colContainer.index();\n var col = p.cols[colIndex];\n if (col.divider) return;\n col.container = colContainer;\n col.wrapper = col.container.find('.picker-items-col-wrapper');\n col.items = col.wrapper.find('.picker-item');\n \n var i, j;\n var wrapperHeight, itemHeight, itemsHeight, minTranslate, maxTranslate;\n col.replaceValues = function (values, displayValues) {\n col.destroyEvents();\n col.values = values;\n col.displayValues = displayValues;\n var newItemsHTML = p.columnHTML(col, true);\n col.wrapper.html(newItemsHTML);\n col.items = col.wrapper.find('.picker-item');\n col.calcSize();\n col.setValue(col.values[0], 0, true);\n col.initEvents();\n };\n col.calcSize = function () {\n if (p.params.rotateEffect) {\n col.container.removeClass('picker-items-col-absolute');\n if (!col.width) col.container.css({width:''});\n }\n var colWidth, colHeight;\n colWidth = 0;\n colHeight = col.container[0].offsetHeight;\n wrapperHeight = col.wrapper[0].offsetHeight;\n itemHeight = col.items[0].offsetHeight;\n itemsHeight = itemHeight * col.items.length;\n minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2;\n maxTranslate = colHeight / 2 - itemHeight / 2; \n if (col.width) {\n colWidth = col.width;\n if (parseInt(colWidth, 10) === colWidth) colWidth = colWidth + 'px';\n col.container.css({width: colWidth});\n }\n if (p.params.rotateEffect) {\n if (!col.width) {\n col.items.each(function () {\n var item = $(this);\n item.css({width:'auto'});\n colWidth = Math.max(colWidth, item[0].offsetWidth);\n item.css({width:''});\n });\n col.container.css({width: (colWidth + 2) + 'px'});\n }\n col.container.addClass('picker-items-col-absolute');\n }\n };\n col.calcSize();\n \n col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)').transition(0);\n \n \n var activeIndex = 0;\n var animationFrameId;\n \n // Set Value Function\n col.setValue = function (newValue, transition, valueCallbacks) {\n if (typeof transition === 'undefined') transition = '';\n var newActiveIndex = col.wrapper.find('.picker-item[data-picker-value=\"' + newValue + '\"]').index();\n if(typeof newActiveIndex === 'undefined' || newActiveIndex === -1) {\n return;\n }\n var newTranslate = -newActiveIndex * itemHeight + maxTranslate;\n // Update wrapper\n col.wrapper.transition(transition);\n col.wrapper.transform('translate3d(0,' + (newTranslate) + 'px,0)');\n \n // Watch items\n if (p.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex ) {\n $.cancelAnimationFrame(animationFrameId);\n col.wrapper.transitionEnd(function(){\n $.cancelAnimationFrame(animationFrameId);\n });\n updateDuringScroll();\n }\n \n // Update items\n col.updateItems(newActiveIndex, newTranslate, transition, valueCallbacks);\n };\n \n col.updateItems = function (activeIndex, translate, transition, valueCallbacks) {\n if (typeof translate === 'undefined') {\n translate = $.getTranslate(col.wrapper[0], 'y');\n }\n if(typeof activeIndex === 'undefined') activeIndex = -Math.round((translate - maxTranslate)/itemHeight);\n if (activeIndex < 0) activeIndex = 0;\n if (activeIndex >= col.items.length) activeIndex = col.items.length - 1;\n var previousActiveIndex = col.activeIndex;\n col.activeIndex = activeIndex;\n col.wrapper.find('.picker-selected').removeClass('picker-selected');\n \n col.items.transition(transition);\n \n var selectedItem = col.items.eq(activeIndex).addClass('picker-selected').transform('');\n \n // Set 3D rotate effect\n if (p.params.rotateEffect) {\n var percentage = (translate - (Math.floor((translate - maxTranslate)/itemHeight) * itemHeight + maxTranslate)) / itemHeight;\n \n col.items.each(function () {\n var item = $(this);\n var itemOffsetTop = item.index() * itemHeight;\n var translateOffset = maxTranslate - translate;\n var itemOffset = itemOffsetTop - translateOffset;\n var percentage = itemOffset / itemHeight;\n \n var itemsFit = Math.ceil(col.height / itemHeight / 2) + 1;\n \n var angle = (-18*percentage);\n if (angle > 180) angle = 180;\n if (angle < -180) angle = -180;\n // Far class\n if (Math.abs(percentage) > itemsFit) item.addClass('picker-item-far');\n else item.removeClass('picker-item-far');\n // Set transform\n item.transform('translate3d(0, ' + (-translate + maxTranslate) + 'px, ' + (originBug ? -110 : 0) + 'px) rotateX(' + angle + 'deg)');\n });\n }\n \n if (valueCallbacks || typeof valueCallbacks === 'undefined') {\n // Update values\n col.value = selectedItem.attr('data-picker-value');\n col.displayValue = col.displayValues ? col.displayValues[activeIndex] : col.value;\n // On change callback\n if (previousActiveIndex !== activeIndex) {\n if (col.onChange) {\n col.onChange(p, col.value, col.displayValue);\n }\n p.updateValue();\n }\n }\n };\n \n function updateDuringScroll() {\n animationFrameId = $.requestAnimationFrame(function () {\n col.updateItems(undefined, undefined, 0);\n updateDuringScroll();\n });\n }\n \n // Update items on init\n if (updateItems) col.updateItems(0, maxTranslate, 0);\n \n var allowItemClick = true;\n var isTouched, isMoved, touchStartY, touchCurrentY, touchStartTime, touchEndTime, startTranslate, returnTo, currentTranslate, prevTranslate, velocityTranslate, velocityTime;\n function handleTouchStart (e) {\n if (isMoved || isTouched) return;\n e.preventDefault();\n isTouched = true;\n touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n \n allowItemClick = true;\n startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y');\n }\n function handleTouchMove (e) {\n if (!isTouched) return;\n e.preventDefault();\n allowItemClick = false;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (!isMoved) {\n // First move\n $.cancelAnimationFrame(animationFrameId);\n isMoved = true;\n startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y');\n col.wrapper.transition(0);\n }\n \n var diff = touchCurrentY - touchStartY;\n currentTranslate = startTranslate + diff;\n returnTo = undefined;\n \n // Normalize translate\n if (currentTranslate < minTranslate) {\n currentTranslate = minTranslate - Math.pow(minTranslate - currentTranslate, 0.8);\n returnTo = 'min';\n }\n if (currentTranslate > maxTranslate) {\n currentTranslate = maxTranslate + Math.pow(currentTranslate - maxTranslate, 0.8);\n returnTo = 'max';\n }\n // Transform wrapper\n col.wrapper.transform('translate3d(0,' + currentTranslate + 'px,0)');\n \n // Update items\n col.updateItems(undefined, currentTranslate, 0, p.params.updateValuesOnTouchmove);\n \n // Calc velocity\n velocityTranslate = currentTranslate - prevTranslate || currentTranslate;\n velocityTime = (new Date()).getTime();\n prevTranslate = currentTranslate;\n }\n function handleTouchEnd (e) {\n if (!isTouched || !isMoved) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n col.wrapper.transition('');\n if (returnTo) {\n if (returnTo === 'min') {\n col.wrapper.transform('translate3d(0,' + minTranslate + 'px,0)');\n }\n else col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)');\n }\n touchEndTime = new Date().getTime();\n var velocity, newTranslate;\n if (touchEndTime - touchStartTime > 300) {\n newTranslate = currentTranslate;\n }\n else {\n velocity = Math.abs(velocityTranslate / (touchEndTime - velocityTime));\n newTranslate = currentTranslate + velocityTranslate * p.params.momentumRatio;\n }\n \n newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate);\n \n // Active Index\n var activeIndex = -Math.floor((newTranslate - maxTranslate)/itemHeight);\n \n // Normalize translate\n if (!p.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate;\n \n // Transform wrapper\n col.wrapper.transform('translate3d(0,' + (parseInt(newTranslate,10)) + 'px,0)');\n \n // Update items\n col.updateItems(activeIndex, newTranslate, '', true);\n \n // Watch items\n if (p.params.updateValuesOnMomentum) {\n updateDuringScroll();\n col.wrapper.transitionEnd(function(){\n $.cancelAnimationFrame(animationFrameId);\n });\n }\n \n // Allow click\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n \n function handleClick(e) {\n if (!allowItemClick) return;\n $.cancelAnimationFrame(animationFrameId);\n /*jshint validthis:true */\n var value = $(this).attr('data-picker-value');\n col.setValue(value);\n }\n \n col.initEvents = function (detach) {\n var method = detach ? 'off' : 'on';\n col.container[method](app.touchEvents.start, handleTouchStart);\n col.container[method](app.touchEvents.move, handleTouchMove);\n col.container[method](app.touchEvents.end, handleTouchEnd);\n col.items[method]('click', handleClick);\n };\n col.destroyEvents = function () {\n col.initEvents(true);\n };\n \n col.container[0].f7DestroyPickerCol = function () {\n col.destroyEvents();\n };\n \n col.initEvents();\n \n };\n p.destroyPickerCol = function (colContainer) {\n colContainer = $(colContainer);\n if ('f7DestroyPickerCol' in colContainer[0]) colContainer[0].f7DestroyPickerCol();\n };\n // Resize cols\n function resizeCols() {\n if (!p.opened) return;\n for (var i = 0; i < p.cols.length; i++) {\n if (!p.cols[i].divider) {\n p.cols[i].calcSize();\n p.cols[i].setValue(p.cols[i].value, 0, false);\n }\n }\n }\n $(window).on('resize', resizeCols);\n \n // HTML Layout\n p.columnHTML = function (col, onlyItems) {\n var columnItemsHTML = '';\n var columnHTML = '';\n if (col.divider) {\n columnHTML += '
                                                ' + col.content + '
                                                ';\n }\n else {\n for (var j = 0; j < col.values.length; j++) {\n columnItemsHTML += '
                                                ' + (col.displayValues ? col.displayValues[j] : col.values[j]) + '
                                                ';\n }\n columnHTML += '
                                                ' + columnItemsHTML + '
                                                ';\n }\n return onlyItems ? columnItemsHTML : columnHTML;\n };\n p.layout = function () {\n var pickerHTML = '';\n var pickerClass = '';\n var i;\n p.cols = [];\n var colsHTML = '';\n for (i = 0; i < p.params.cols.length; i++) {\n var col = p.params.cols[i];\n colsHTML += p.columnHTML(p.params.cols[i]);\n p.cols.push(col);\n }\n pickerClass = 'picker-modal picker-columns ' + (p.params.cssClass || '') + (p.params.rotateEffect ? ' picker-3d' : '');\n pickerHTML =\n '
                                                ' +\n (p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '') +\n '
                                                ' +\n colsHTML +\n '
                                                ' +\n '
                                                ' +\n '
                                                ';\n \n p.pickerHTML = pickerHTML; \n };\n \n // Input Events\n function openOnInput(e) {\n e.preventDefault();\n if (p.opened) return;\n p.open();\n if (p.params.scrollToInput && !isPopover()) {\n var pageContent = p.input.parents('.page-content');\n if (pageContent.length === 0) return;\n \n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(),\n newPaddingBottom;\n var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = p.container.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n }\n function closeOnHTMLClick(e) {\n if (inPopover()) return;\n if (p.input && p.input.length > 0) {\n if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close();\n }\n else {\n if ($(e.target).parents('.picker-modal').length === 0) p.close(); \n }\n }\n \n if (p.params.input) {\n p.input = $(p.params.input);\n if (p.input.length > 0) {\n if (p.params.inputReadOnly) p.input.prop('readOnly', true);\n if (!p.inline) {\n p.input.on('click', openOnInput); \n }\n if (p.params.inputReadOnly) {\n p.input.on('focus mousedown', function (e) {\n e.preventDefault();\n });\n }\n }\n \n }\n \n if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick);\n \n // Open\n function onPickerClose() {\n p.opened = false;\n if (p.input && p.input.length > 0) {\n p.input.parents('.page-content').css({'padding-bottom': ''});\n if (app.params.material) p.input.trigger('blur');\n }\n if (p.params.onClose) p.params.onClose(p);\n \n // Destroy events\n p.container.find('.picker-items-col').each(function () {\n p.destroyPickerCol(this);\n });\n }\n \n p.opened = false;\n p.open = function () {\n var toPopover = isPopover();\n \n if (!p.opened) {\n \n // Layout\n p.layout();\n \n // Append\n if (toPopover) {\n p.pickerHTML = '
                                                ' + p.pickerHTML + '
                                                ';\n p.popover = app.popover(p.pickerHTML, p.params.input, true);\n p.container = $(p.popover).find('.picker-modal');\n $(p.popover).on('close', function () {\n onPickerClose();\n });\n }\n else if (p.inline) {\n p.container = $(p.pickerHTML);\n p.container.addClass('picker-modal-inline');\n $(p.params.container).append(p.container);\n }\n else {\n p.container = $(app.pickerModal(p.pickerHTML));\n $(p.container)\n .on('close', function () {\n onPickerClose();\n });\n }\n \n // Store picker instance\n p.container[0].f7Picker = p;\n \n // Init Events\n p.container.find('.picker-items-col').each(function () {\n var updateItems = true;\n if ((!p.initialized && p.params.value) || (p.initialized && p.value)) updateItems = false;\n p.initPickerCol(this, updateItems);\n });\n \n // Set value\n if (!p.initialized) {\n if (p.value) p.setValue(p.value, 0);\n else if (p.params.value) {\n p.setValue(p.params.value, 0);\n }\n }\n else {\n if (p.value) p.setValue(p.value, 0);\n }\n \n // Material Focus\n if (p.input && p.input.length > 0 && app.params.material) {\n p.input.trigger('focus');\n }\n }\n \n // Set flag\n p.opened = true;\n p.initialized = true;\n \n if (p.params.onOpen) p.params.onOpen(p);\n };\n \n // Close\n p.close = function () {\n if (!p.opened || p.inline) return;\n if (inPopover()) {\n app.closeModal(p.popover);\n return;\n }\n else {\n app.closeModal(p.container);\n return;\n }\n };\n \n // Destroy\n p.destroy = function () {\n p.close();\n if (p.params.input && p.input.length > 0) {\n p.input.off('click focus', openOnInput);\n }\n $('html').off('click', closeOnHTMLClick);\n $(window).off('resize', resizeCols);\n };\n \n if (p.inline) {\n p.open();\n }\n else {\n if (!p.initialized && p.params.value) p.setValue(p.params.value);\n }\n \n return p;\n };\n app.picker = function (params) {\n return new Picker(params);\n };\n\n /*======================================================\n ************ Calendar ************\n ======================================================*/\n var Calendar = function (params) {\n var p = this;\n var defaults = {\n monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August' , 'September' , 'October', 'November', 'December'],\n monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n firstDay: 1, // First day of the week, Monday\n weekendDays: [0, 6], // Sunday and Saturday\n multiple: false,\n rangePicker: false,\n dateFormat: 'yyyy-mm-dd',\n direction: 'horizontal', // or 'vertical'\n minDate: null,\n maxDate: null,\n disabled: null, // dates range of disabled days\n events: null, // dates range of days with events\n rangesClasses: null, //array with custom classes date ranges\n touchMove: true,\n animate: true,\n closeOnSelect: false,\n monthPicker: true,\n monthPickerTemplate:\n '
                                                ' +\n '' +\n '' +\n '' +\n '
                                                ',\n yearPicker: true,\n yearPickerTemplate:\n '
                                                ' +\n '' +\n '' +\n '' +\n '
                                                ',\n weekHeader: true,\n // Common settings\n closeByOutsideClick: true,\n scrollToInput: true,\n inputReadOnly: true,\n convertToPopover: true,\n onlyInPopover: false,\n toolbar: true,\n toolbarCloseText: 'Done',\n headerPlaceholder: 'Select date',\n header: app.params.material,\n footer: app.params.material,\n toolbarTemplate:\n '
                                                ' +\n '
                                                ' +\n '{{monthPicker}}' +\n '{{yearPicker}}' +\n '
                                                ' +\n '
                                                ',\n headerTemplate:\n '
                                                ' +\n '
                                                {{placeholder}}
                                                ' +\n '
                                                ',\n footerTemplate:\n '
                                                ' +\n '{{closeText}}' +\n '
                                                ',\n \n /* Callbacks\n onMonthAdd\n onChange\n onOpen\n onClose\n onDayClick\n onMonthYearChangeStart\n onMonthYearChangeEnd\n */\n };\n params = params || {};\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n p.params = params;\n p.initialized = false;\n \n // Inline flag\n p.inline = p.params.container ? true : false;\n \n // Is horizontal\n p.isH = p.params.direction === 'horizontal';\n \n // RTL inverter\n var inverter = p.isH ? (app.rtl ? -1 : 1) : 1;\n \n // Animating flag\n p.animating = false;\n \n // Should be converted to popover\n function isPopover() {\n var toPopover = false;\n if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover;\n if (!p.inline && p.params.input) {\n if (p.params.onlyInPopover) toPopover = true;\n else {\n if (app.device.ios) {\n toPopover = app.device.ipad ? true : false;\n }\n else {\n if ($(window).width() >= 768) toPopover = true;\n }\n }\n }\n return toPopover;\n }\n function inPopover() {\n if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true;\n else return false;\n }\n \n // Format date\n function formatDate(date) {\n date = new Date(date);\n var year = date.getFullYear();\n var month = date.getMonth();\n var month1 = month + 1;\n var day = date.getDate();\n var weekDay = date.getDay();\n \n return p.params.dateFormat\n .replace(/yyyy/g, year)\n .replace(/yy/g, (year + '').substring(2))\n .replace(/mm/g, month1 < 10 ? '0' + month1 : month1)\n .replace(/m(\\W+)/g, month1 + '$1')\n .replace(/MM/g, p.params.monthNames[month])\n .replace(/M(\\W+)/g, p.params.monthNamesShort[month] + '$1')\n .replace(/dd/g, day < 10 ? '0' + day : day)\n .replace(/d(\\W+)/g, day + '$1')\n .replace(/DD/g, p.params.dayNames[weekDay])\n .replace(/D(\\W+)/g, p.params.dayNamesShort[weekDay] + '$1');\n }\n \n \n // Value\n p.addValue = function (value) {\n if (p.params.multiple) {\n if (!p.value) p.value = [];\n var inValuesIndex;\n for (var i = 0; i < p.value.length; i++) {\n if (new Date(value).getTime() === new Date(p.value[i]).getTime()) {\n inValuesIndex = i;\n }\n }\n if (typeof inValuesIndex === 'undefined') {\n p.value.push(value);\n }\n else {\n p.value.splice(inValuesIndex, 1);\n }\n p.updateValue();\n }\n else if (p.params.rangePicker) {\n if (!p.value) p.value = [];\n if (p.value.length === 2 || p.value.length === 0) {\n p.value = [];\n }\n if (p.value[0] !== value) p.value.push(value);\n else p.value = [];\n p.value.sort(function (a,b) {\n return a - b;\n });\n p.updateValue();\n }\n else {\n p.value = [value];\n p.updateValue();\n }\n };\n p.setValue = function (arrValues) {\n p.value = arrValues;\n p.updateValue();\n };\n p.updateValue = function (onlyHeader) {\n var i, inputValue;\n if (p.container && p.container.length > 0) {\n p.wrapper.find('.picker-calendar-day-selected').removeClass('picker-calendar-day-selected');\n var valueDate;\n if (p.params.rangePicker && p.value.length === 2) {\n for (i = p.value[0]; i <= p.value[1]; i += 24*60*60*1000) {\n valueDate = new Date(i);\n p.wrapper.find('.picker-calendar-day[data-date=\"' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '\"]').addClass('picker-calendar-day-selected');\n }\n }\n else {\n for (i = 0; i < p.value.length; i++) {\n valueDate = new Date(p.value[i]);\n p.wrapper.find('.picker-calendar-day[data-date=\"' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '\"]').addClass('picker-calendar-day-selected');\n }\n }\n }\n \n if (p.params.onChange) {\n p.params.onChange(p, p.value);\n }\n if ((p.input && p.input.length > 0) || (app.params.material && p.params.header)) {\n if (p.params.formatValue) inputValue = p.params.formatValue(p, p.value);\n else {\n inputValue = [];\n for (i = 0; i < p.value.length; i++) {\n inputValue.push(formatDate(p.value[i]));\n }\n inputValue = inputValue.join(p.params.rangePicker ? ' - ' : ', ');\n }\n if (app.params.material && p.params.header && p.container && p.container.length > 0) {\n p.container.find('.picker-calendar-selected-date').text(inputValue);\n }\n if (p.input && p.input.length > 0 && !onlyHeader) {\n $(p.input).val(inputValue);\n $(p.input).trigger('change');\n }\n \n }\n };\n \n // Columns Handlers\n p.initCalendarEvents = function () {\n var col;\n var allowItemClick = true;\n var isTouched, isMoved, touchStartX, touchStartY, touchCurrentX, touchCurrentY, touchStartTime, touchEndTime, startTranslate, currentTranslate, wrapperWidth, wrapperHeight, percentage, touchesDiff, isScrolling;\n function handleTouchStart (e) {\n if (isMoved || isTouched) return;\n // e.preventDefault();\n isTouched = true;\n touchStartX = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = (new Date()).getTime();\n percentage = 0;\n allowItemClick = true;\n isScrolling = undefined;\n startTranslate = currentTranslate = p.monthsTranslate;\n }\n function handleTouchMove (e) {\n if (!isTouched) return;\n \n touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (typeof isScrolling === 'undefined') {\n isScrolling = !!(isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX));\n }\n if (p.isH && isScrolling) {\n isTouched = false;\n return;\n }\n e.preventDefault();\n if (p.animating) {\n isTouched = false;\n return;\n }\n allowItemClick = false;\n if (!isMoved) {\n // First move\n isMoved = true;\n wrapperWidth = p.wrapper[0].offsetWidth;\n wrapperHeight = p.wrapper[0].offsetHeight;\n p.wrapper.transition(0);\n }\n \n touchesDiff = p.isH ? touchCurrentX - touchStartX : touchCurrentY - touchStartY;\n percentage = touchesDiff/(p.isH ? wrapperWidth : wrapperHeight);\n currentTranslate = (p.monthsTranslate * inverter + percentage) * 100;\n \n // Transform wrapper\n p.wrapper.transform('translate3d(' + (p.isH ? currentTranslate : 0) + '%, ' + (p.isH ? 0 : currentTranslate) + '%, 0)');\n \n }\n function handleTouchEnd (e) {\n if (!isTouched || !isMoved) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n \n touchEndTime = new Date().getTime();\n if (touchEndTime - touchStartTime < 300) {\n if (Math.abs(touchesDiff) < 10) {\n p.resetMonth();\n }\n else if (touchesDiff >= 10) {\n if (app.rtl) p.nextMonth();\n else p.prevMonth();\n }\n else {\n if (app.rtl) p.prevMonth();\n else p.nextMonth();\n }\n }\n else {\n if (percentage <= -0.5) {\n if (app.rtl) p.prevMonth();\n else p.nextMonth();\n }\n else if (percentage >= 0.5) {\n if (app.rtl) p.nextMonth();\n else p.prevMonth();\n }\n else {\n p.resetMonth();\n }\n }\n \n // Allow click\n setTimeout(function () {\n allowItemClick = true;\n }, 100);\n }\n \n function handleDayClick(e) {\n if (!allowItemClick) return;\n var day = $(e.target).parents('.picker-calendar-day');\n if (day.length === 0 && $(e.target).hasClass('picker-calendar-day')) {\n day = $(e.target);\n }\n if (day.length === 0) return;\n if (day.hasClass('picker-calendar-day-selected') && !(p.params.multiple || p.params.rangePicker)) return;\n if (day.hasClass('picker-calendar-day-disabled')) return;\n if (!p.params.rangePicker) {\n if (day.hasClass('picker-calendar-day-next')) p.nextMonth();\n if (day.hasClass('picker-calendar-day-prev')) p.prevMonth();\n }\n var dateYear = day.attr('data-year');\n var dateMonth = day.attr('data-month');\n var dateDay = day.attr('data-day');\n if (p.params.onDayClick) {\n p.params.onDayClick(p, day[0], dateYear, dateMonth, dateDay);\n }\n p.addValue(new Date(dateYear, dateMonth, dateDay).getTime());\n if (p.params.closeOnSelect) {\n if (p.params.rangePicker && p.value.length === 2 || !p.params.rangePicker) p.close();\n }\n }\n \n p.container.find('.picker-calendar-prev-month').on('click', p.prevMonth);\n p.container.find('.picker-calendar-next-month').on('click', p.nextMonth);\n p.container.find('.picker-calendar-prev-year').on('click', p.prevYear);\n p.container.find('.picker-calendar-next-year').on('click', p.nextYear);\n p.wrapper.on('click', handleDayClick);\n var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false;\n if (p.params.touchMove) {\n p.wrapper.on(app.touchEvents.start, handleTouchStart, passiveListener);\n p.wrapper.on(app.touchEvents.move, handleTouchMove);\n p.wrapper.on(app.touchEvents.end, handleTouchEnd, passiveListener);\n }\n \n p.container[0].f7DestroyCalendarEvents = function () {\n p.container.find('.picker-calendar-prev-month').off('click', p.prevMonth);\n p.container.find('.picker-calendar-next-month').off('click', p.nextMonth);\n p.container.find('.picker-calendar-prev-year').off('click', p.prevYear);\n p.container.find('.picker-calendar-next-year').off('click', p.nextYear);\n p.wrapper.off('click', handleDayClick);\n if (p.params.touchMove) {\n p.wrapper.off(app.touchEvents.start, handleTouchStart, passiveListener);\n p.wrapper.off(app.touchEvents.move, handleTouchMove);\n p.wrapper.off(app.touchEvents.end, handleTouchEnd, passiveListener);\n }\n };\n \n \n };\n p.destroyCalendarEvents = function (colContainer) {\n if ('f7DestroyCalendarEvents' in p.container[0]) p.container[0].f7DestroyCalendarEvents();\n };\n \n // Scan Dates Range\n p.dateInRange = function (dayDate, range) {\n var match = false;\n var i;\n if (!range) return false;\n if ($.isArray(range)) {\n for (i = 0; i < range.length; i ++) {\n if (range[i].from || range[i].to) {\n if (range[i].from && range[i].to) {\n if ((dayDate <= new Date(range[i].to).getTime()) && (dayDate >= new Date(range[i].from).getTime())) {\n match = true;\n }\n }\n else if (range[i].from) {\n if (dayDate >= new Date(range[i].from).getTime()) {\n match = true;\n }\n }\n else if (range[i].to) {\n if (dayDate <= new Date(range[i].to).getTime()) {\n match = true;\n }\n }\n } else if (dayDate === new Date(range[i]).getTime()) {\n match = true;\n }\n }\n }\n else if (range.from || range.to) {\n if (range.from && range.to) {\n if ((dayDate <= new Date(range.to).getTime()) && (dayDate >= new Date(range.from).getTime())) {\n match = true;\n }\n }\n else if (range.from) {\n if (dayDate >= new Date(range.from).getTime()) {\n match = true;\n }\n }\n else if (range.to) {\n if (dayDate <= new Date(range.to).getTime()) {\n match = true;\n }\n }\n }\n else if (typeof range === 'function') {\n match = range(new Date(dayDate));\n }\n return match;\n };\n // Calendar Methods\n p.daysInMonth = function (date) {\n var d = new Date(date);\n return new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate();\n };\n p.monthHTML = function (date, offset) {\n date = new Date(date);\n var year = date.getFullYear(),\n month = date.getMonth(),\n day = date.getDate();\n if (offset === 'next') {\n if (month === 11) date = new Date(year + 1, 0);\n else date = new Date(year, month + 1, 1);\n }\n if (offset === 'prev') {\n if (month === 0) date = new Date(year - 1, 11);\n else date = new Date(year, month - 1, 1);\n }\n if (offset === 'next' || offset === 'prev') {\n month = date.getMonth();\n year = date.getFullYear();\n }\n var daysInPrevMonth = p.daysInMonth(new Date(date.getFullYear(), date.getMonth()).getTime() - 10 * 24 * 60 * 60 * 1000),\n daysInMonth = p.daysInMonth(date),\n firstDayOfMonthIndex = new Date(date.getFullYear(), date.getMonth()).getDay();\n if (firstDayOfMonthIndex === 0) firstDayOfMonthIndex = 7;\n \n var dayDate, currentValues = [], i, j, k,\n rows = 6, cols = 7,\n monthHTML = '',\n dayIndex = 0 + (p.params.firstDay - 1),\n today = new Date().setHours(0,0,0,0),\n minDate = p.params.minDate ? new Date(p.params.minDate).getTime() : null,\n maxDate = p.params.maxDate ? new Date(p.params.maxDate).getTime() : null,\n disabled,\n hasEvent;\n \n if (p.value && p.value.length) {\n for (i = 0; i < p.value.length; i++) {\n currentValues.push(new Date(p.value[i]).setHours(0,0,0,0));\n }\n }\n \n for (i = 1; i <= rows; i++) {\n var rowHTML = '';\n var row = i;\n for (j = 1; j <= cols; j++) {\n var col = j;\n dayIndex ++;\n var dayNumber = dayIndex - firstDayOfMonthIndex;\n var weekDayIndex = (col - 1 + p.params.firstDay > 6) ? (col - 1 - 7 + p.params.firstDay) : (col - 1 + p.params.firstDay);\n var addClass = '';\n if (dayNumber < 0) {\n dayNumber = daysInPrevMonth + dayNumber + 1;\n addClass += ' picker-calendar-day-prev';\n dayDate = new Date(month - 1 < 0 ? year - 1 : year, month - 1 < 0 ? 11 : month - 1, dayNumber).getTime();\n }\n else {\n dayNumber = dayNumber + 1;\n if (dayNumber > daysInMonth) {\n dayNumber = dayNumber - daysInMonth;\n addClass += ' picker-calendar-day-next';\n dayDate = new Date(month + 1 > 11 ? year + 1 : year, month + 1 > 11 ? 0 : month + 1, dayNumber).getTime();\n }\n else {\n dayDate = new Date(year, month, dayNumber).getTime();\n }\n }\n // Today\n if (dayDate === today) addClass += ' picker-calendar-day-today';\n // Selected\n if (p.params.rangePicker && currentValues.length === 2) {\n if (dayDate >= currentValues[0] && dayDate <= currentValues[1]) addClass += ' picker-calendar-day-selected';\n }\n else {\n if (currentValues.indexOf(dayDate) >= 0) addClass += ' picker-calendar-day-selected';\n }\n // Weekend\n if (p.params.weekendDays.indexOf(weekDayIndex) >= 0) {\n addClass += ' picker-calendar-day-weekend';\n }\n // Has Events\n hasEvent = false;\n if (p.params.events) {\n if (p.dateInRange(dayDate, p.params.events)) {\n hasEvent = true;\n }\n }\n if (hasEvent) {\n addClass += ' picker-calendar-day-has-events';\n }\n // Custom Ranges\n if (p.params.rangesClasses) {\n for (k = 0; k < p.params.rangesClasses.length; k++) {\n if (p.dateInRange(dayDate, p.params.rangesClasses[k].range)) {\n addClass += ' ' + p.params.rangesClasses[k].cssClass;\n }\n }\n }\n // Disabled\n disabled = false;\n if ((minDate && dayDate < minDate) || (maxDate && dayDate > maxDate)) {\n disabled = true;\n }\n if (p.params.disabled) {\n if (p.dateInRange(dayDate, p.params.disabled)) {\n disabled = true;\n }\n }\n if (disabled) {\n addClass += ' picker-calendar-day-disabled';\n }\n \n \n dayDate = new Date(dayDate);\n var dayYear = dayDate.getFullYear();\n var dayMonth = dayDate.getMonth();\n rowHTML += '
                                                '+dayNumber+'
                                                ';\n }\n monthHTML += '
                                                ' + rowHTML + '
                                                ';\n }\n monthHTML = '
                                                ' + monthHTML + '
                                                ';\n return monthHTML;\n };\n p.animating = false;\n p.updateCurrentMonthYear = function (dir) {\n if (typeof dir === 'undefined') {\n p.currentMonth = parseInt(p.months.eq(1).attr('data-month'), 10);\n p.currentYear = parseInt(p.months.eq(1).attr('data-year'), 10);\n }\n else {\n p.currentMonth = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-month'), 10);\n p.currentYear = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-year'), 10);\n }\n p.container.find('.current-month-value').text(p.params.monthNames[p.currentMonth]);\n p.container.find('.current-year-value').text(p.currentYear);\n \n };\n p.onMonthChangeStart = function (dir) {\n p.updateCurrentMonthYear(dir);\n p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next');\n var currentIndex = dir === 'next' ? p.months.length - 1 : 0;\n \n p.months.eq(currentIndex).addClass('picker-calendar-month-current');\n p.months.eq(dir === 'next' ? currentIndex - 1 : currentIndex + 1).addClass(dir === 'next' ? 'picker-calendar-month-prev' : 'picker-calendar-month-next');\n \n if (p.params.onMonthYearChangeStart) {\n p.params.onMonthYearChangeStart(p, p.currentYear, p.currentMonth);\n }\n };\n p.onMonthChangeEnd = function (dir, rebuildBoth) {\n p.animating = false;\n var nextMonthHTML, prevMonthHTML, newMonthHTML;\n p.wrapper.find('.picker-calendar-month:not(.picker-calendar-month-prev):not(.picker-calendar-month-current):not(.picker-calendar-month-next)').remove();\n \n if (typeof dir === 'undefined') {\n dir = 'next';\n rebuildBoth = true;\n }\n if (!rebuildBoth) {\n newMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), dir);\n }\n else {\n p.wrapper.find('.picker-calendar-month-next, .picker-calendar-month-prev').remove();\n prevMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'prev');\n nextMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'next');\n }\n if (dir === 'next' || rebuildBoth) {\n p.wrapper.append(newMonthHTML || nextMonthHTML);\n }\n if (dir === 'prev' || rebuildBoth) {\n p.wrapper.prepend(newMonthHTML || prevMonthHTML);\n }\n p.months = p.wrapper.find('.picker-calendar-month');\n p.setMonthsTranslate(p.monthsTranslate);\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]);\n }\n if (p.params.onMonthYearChangeEnd) {\n p.params.onMonthYearChangeEnd(p, p.currentYear, p.currentMonth);\n }\n };\n p.setMonthsTranslate = function (translate) {\n translate = translate || p.monthsTranslate || 0;\n if (typeof p.monthsTranslate === 'undefined') p.monthsTranslate = translate;\n p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next');\n var prevMonthTranslate = -(translate + 1) * 100 * inverter;\n var currentMonthTranslate = -translate * 100 * inverter;\n var nextMonthTranslate = -(translate - 1) * 100 * inverter;\n p.months.eq(0).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev');\n p.months.eq(1).transform('translate3d(' + (p.isH ? currentMonthTranslate : 0) + '%, ' + (p.isH ? 0 : currentMonthTranslate) + '%, 0)').addClass('picker-calendar-month-current');\n p.months.eq(2).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next');\n };\n p.nextMonth = function (transition) {\n if (typeof transition === 'undefined' || typeof transition === 'object') {\n transition = '';\n if (!p.params.animate) transition = 0;\n }\n var nextMonth = parseInt(p.months.eq(p.months.length - 1).attr('data-month'), 10);\n var nextYear = parseInt(p.months.eq(p.months.length - 1).attr('data-year'), 10);\n var nextDate = new Date(nextYear, nextMonth);\n var nextDateTime = nextDate.getTime();\n var transitionEndCallback = p.animating ? false : true;\n if (p.params.maxDate) {\n if (nextDateTime > new Date(p.params.maxDate).getTime()) {\n return p.resetMonth();\n }\n }\n p.monthsTranslate --;\n if (nextMonth === p.currentMonth) {\n var nextMonthTranslate = -(p.monthsTranslate) * 100 * inverter;\n var nextMonthHTML = $(p.monthHTML(nextDateTime, 'next')).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next');\n p.wrapper.append(nextMonthHTML[0]);\n p.months = p.wrapper.find('.picker-calendar-month');\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, p.months.eq(p.months.length - 1)[0]);\n }\n }\n p.animating = true;\n p.onMonthChangeStart('next');\n var translate = (p.monthsTranslate * 100) * inverter;\n \n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)');\n if (transitionEndCallback) {\n p.wrapper.transitionEnd(function () {\n p.onMonthChangeEnd('next');\n });\n }\n if (!p.params.animate) {\n p.onMonthChangeEnd('next');\n }\n };\n p.prevMonth = function (transition) {\n if (typeof transition === 'undefined' || typeof transition === 'object') {\n transition = '';\n if (!p.params.animate) transition = 0;\n }\n var prevMonth = parseInt(p.months.eq(0).attr('data-month'), 10);\n var prevYear = parseInt(p.months.eq(0).attr('data-year'), 10);\n var prevDate = new Date(prevYear, prevMonth + 1, -1);\n var prevDateTime = prevDate.getTime();\n var transitionEndCallback = p.animating ? false : true;\n if (p.params.minDate) {\n if (prevDateTime < new Date(p.params.minDate).getTime()) {\n return p.resetMonth();\n }\n }\n p.monthsTranslate ++;\n if (prevMonth === p.currentMonth) {\n var prevMonthTranslate = -(p.monthsTranslate) * 100 * inverter;\n var prevMonthHTML = $(p.monthHTML(prevDateTime, 'prev')).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev');\n p.wrapper.prepend(prevMonthHTML[0]);\n p.months = p.wrapper.find('.picker-calendar-month');\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, p.months.eq(0)[0]);\n }\n }\n p.animating = true;\n p.onMonthChangeStart('prev');\n var translate = (p.monthsTranslate * 100) * inverter;\n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)');\n if (transitionEndCallback) {\n p.wrapper.transitionEnd(function () {\n p.onMonthChangeEnd('prev');\n });\n }\n if (!p.params.animate) {\n p.onMonthChangeEnd('prev');\n }\n };\n p.resetMonth = function (transition) {\n if (typeof transition === 'undefined') transition = '';\n var translate = (p.monthsTranslate * 100) * inverter;\n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)');\n };\n p.setYearMonth = function (year, month, transition) {\n if (typeof year === 'undefined') year = p.currentYear;\n if (typeof month === 'undefined') month = p.currentMonth;\n if (typeof transition === 'undefined' || typeof transition === 'object') {\n transition = '';\n if (!p.params.animate) transition = 0;\n }\n var targetDate;\n if (year < p.currentYear) {\n targetDate = new Date(year, month + 1, -1).getTime();\n }\n else {\n targetDate = new Date(year, month).getTime();\n }\n if (p.params.maxDate && targetDate > new Date(p.params.maxDate).getTime()) {\n return false;\n }\n if (p.params.minDate && targetDate < new Date(p.params.minDate).getTime()) {\n return false;\n }\n var currentDate = new Date(p.currentYear, p.currentMonth).getTime();\n var dir = targetDate > currentDate ? 'next' : 'prev';\n var newMonthHTML = p.monthHTML(new Date(year, month));\n p.monthsTranslate = p.monthsTranslate || 0;\n var prevTranslate = p.monthsTranslate;\n var monthTranslate, wrapperTranslate;\n var transitionEndCallback = p.animating ? false : true;\n if (targetDate > currentDate) {\n // To next\n p.monthsTranslate --;\n if (!p.animating) p.months.eq(p.months.length - 1).remove();\n p.wrapper.append(newMonthHTML);\n p.months = p.wrapper.find('.picker-calendar-month');\n monthTranslate = -(prevTranslate - 1) * 100 * inverter;\n p.months.eq(p.months.length - 1).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-next');\n }\n else {\n // To prev\n p.monthsTranslate ++;\n if (!p.animating) p.months.eq(0).remove();\n p.wrapper.prepend(newMonthHTML);\n p.months = p.wrapper.find('.picker-calendar-month');\n monthTranslate = -(prevTranslate + 1) * 100 * inverter;\n p.months.eq(0).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-prev');\n }\n if (p.params.onMonthAdd) {\n p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]);\n }\n p.animating = true;\n p.onMonthChangeStart(dir);\n wrapperTranslate = (p.monthsTranslate * 100) * inverter;\n p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? wrapperTranslate : 0) + '%, ' + (p.isH ? 0 : wrapperTranslate) + '%, 0)');\n if (transitionEndCallback) {\n p.wrapper.transitionEnd(function () {\n p.onMonthChangeEnd(dir, true);\n });\n }\n if (!p.params.animate) {\n p.onMonthChangeEnd(dir);\n }\n };\n p.nextYear = function () {\n p.setYearMonth(p.currentYear + 1);\n };\n p.prevYear = function () {\n p.setYearMonth(p.currentYear - 1);\n };\n \n \n // HTML Layout\n p.layout = function () {\n var pickerHTML = '';\n var pickerClass = '';\n var i;\n \n var layoutDate = p.value && p.value.length ? p.value[0] : new Date().setHours(0,0,0,0);\n var prevMonthHTML = p.monthHTML(layoutDate, 'prev');\n var currentMonthHTML = p.monthHTML(layoutDate);\n var nextMonthHTML = p.monthHTML(layoutDate, 'next');\n var monthsHTML = '
                                                ' + (prevMonthHTML + currentMonthHTML + nextMonthHTML) + '
                                                ';\n // Week days header\n var weekHeaderHTML = '';\n if (p.params.weekHeader) {\n for (i = 0; i < 7; i++) {\n var weekDayIndex = (i + p.params.firstDay > 6) ? (i - 7 + p.params.firstDay) : (i + p.params.firstDay);\n var dayName = p.params.dayNamesShort[weekDayIndex];\n weekHeaderHTML += '
                                                = 0) ? 'picker-calendar-week-day-weekend' : '') + '\"> ' + dayName + '
                                                ';\n \n }\n weekHeaderHTML = '
                                                ' + weekHeaderHTML + '
                                                ';\n }\n pickerClass = 'picker-modal picker-calendar' +\n (p.params.rangePicker ? ' picker-calendar-range' : '') +\n (p.params.cssClass ? ' ' + p.params.cssClass : '');\n var toolbarHTML = p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '';\n if (p.params.toolbar) {\n toolbarHTML = p.params.toolbarTemplate\n .replace(/{{closeText}}/g, p.params.toolbarCloseText)\n .replace(/{{monthPicker}}/g, (p.params.monthPicker ? p.params.monthPickerTemplate : ''))\n .replace(/{{yearPicker}}/g, (p.params.yearPicker ? p.params.yearPickerTemplate : ''));\n }\n var headerHTML = p.params.header ? p.params.headerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText).replace(/{{placeholder}}/g, p.params.headerPlaceholder) : '';\n var footerHTML = p.params.footer ? p.params.footerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '';\n \n pickerHTML =\n '
                                                ' +\n headerHTML +\n footerHTML +\n toolbarHTML +\n '
                                                ' +\n weekHeaderHTML +\n monthsHTML +\n '
                                                ' +\n '
                                                ';\n \n \n p.pickerHTML = pickerHTML;\n };\n \n // Input Events\n function openOnInput(e) {\n e.preventDefault();\n if (p.opened) return;\n p.open();\n if (p.params.scrollToInput && !isPopover() && !app.params.material) {\n var pageContent = p.input.parents('.page-content');\n if (pageContent.length === 0) return;\n \n var paddingTop = parseInt(pageContent.css('padding-top'), 10),\n paddingBottom = parseInt(pageContent.css('padding-bottom'), 10),\n pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(),\n pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(),\n newPaddingBottom;\n \n var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight;\n if (inputTop > pageHeight) {\n var scrollTop = pageContent.scrollTop() + inputTop - pageHeight;\n if (scrollTop + pageHeight > pageScrollHeight) {\n newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom;\n if (pageHeight === pageScrollHeight) {\n newPaddingBottom = p.container.height();\n }\n pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'});\n }\n pageContent.scrollTop(scrollTop, 300);\n }\n }\n }\n function closeOnHTMLClick(e) {\n if (inPopover()) return;\n if (p.input && p.input.length > 0) {\n if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close();\n }\n else {\n if ($(e.target).parents('.picker-modal').length === 0) p.close();\n }\n }\n \n if (p.params.input) {\n p.input = $(p.params.input);\n if (p.input.length > 0) {\n if (p.params.inputReadOnly) p.input.prop('readOnly', true);\n if (!p.inline) {\n p.input.on('click', openOnInput);\n }\n if (p.params.inputReadOnly) {\n p.input.on('focus mousedown', function (e) {\n e.preventDefault();\n });\n }\n }\n \n }\n \n if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick);\n \n // Open\n function onPickerClose() {\n p.opened = false;\n if (p.input && p.input.length > 0) {\n p.input.parents('.page-content').css({'padding-bottom': ''});\n if (app.params.material) p.input.trigger('blur');\n }\n if (p.params.onClose) p.params.onClose(p);\n \n // Destroy events\n p.destroyCalendarEvents();\n }\n \n p.opened = false;\n p.open = function () {\n var toPopover = isPopover();\n var updateValue = false;\n if (!p.opened) {\n // Set date value\n if (!p.value) {\n if (p.params.value) {\n p.value = p.params.value;\n updateValue = true;\n }\n }\n \n // Layout\n p.layout();\n \n // Append\n if (toPopover) {\n p.pickerHTML = '
                                                ' + p.pickerHTML + '
                                                ';\n p.popover = app.popover(p.pickerHTML, p.params.input, true);\n p.container = $(p.popover).find('.picker-modal');\n $(p.popover).on('close', function () {\n onPickerClose();\n });\n }\n else if (p.inline) {\n p.container = $(p.pickerHTML);\n p.container.addClass('picker-modal-inline');\n $(p.params.container).append(p.container);\n }\n else {\n p.container = $(app.pickerModal(p.pickerHTML));\n $(p.container)\n .on('close', function () {\n onPickerClose();\n });\n }\n \n // Store calendar instance\n p.container[0].f7Calendar = p;\n p.wrapper = p.container.find('.picker-calendar-months-wrapper');\n \n // Months\n p.months = p.wrapper.find('.picker-calendar-month');\n \n // Update current month and year\n p.updateCurrentMonthYear();\n \n // Set initial translate\n p.monthsTranslate = 0;\n p.setMonthsTranslate();\n \n // Init events\n p.initCalendarEvents();\n \n // Update input value\n if (updateValue) p.updateValue();\n else if (app.params.material && p.value) p.updateValue(true);\n \n // Material Focus\n if (p.input && p.input.length > 0 && app.params.material) {\n p.input.trigger('focus');\n }\n \n }\n \n // Set flag\n p.opened = true;\n p.initialized = true;\n if (p.params.onMonthAdd) {\n p.months.each(function () {\n p.params.onMonthAdd(p, this);\n });\n }\n if (p.params.onOpen) p.params.onOpen(p);\n };\n \n // Close\n p.close = function () {\n if (!p.opened || p.inline) return;\n if (inPopover()) {\n app.closeModal(p.popover);\n return;\n }\n else {\n app.closeModal(p.container);\n return;\n }\n };\n \n // Destroy\n p.destroy = function () {\n p.close();\n if (p.params.input && p.input.length > 0) {\n p.input.off('click focus', openOnInput);\n }\n $('html').off('click', closeOnHTMLClick);\n };\n \n if (p.inline) {\n p.open();\n }\n else {\n if (!p.initialized && p.params.value) p.setValue(p.params.value);\n }\n \n return p;\n };\n app.calendar = function (params) {\n return new Calendar(params);\n };\n \n\n /*======================================================\n ************ Notifications ************\n ======================================================*/\n var _tempNotificationElement;\n app.addNotification = function (params) {\n if (!params) return;\n \n if (typeof params.media === 'undefined') params.media = app.params.notificationMedia;\n if (typeof params.title === 'undefined') params.title = app.params.notificationTitle;\n if (typeof params.subtitle === 'undefined') params.subtitle = app.params.notificationSubtitle;\n if (typeof params.closeIcon === 'undefined') params.closeIcon = app.params.notificationCloseIcon;\n if (typeof params.hold === 'undefined') params.hold = app.params.notificationHold;\n if (typeof params.closeOnClick === 'undefined') params.closeOnClick = app.params.notificationCloseOnClick;\n if (typeof params.button === 'undefined') params.button = app.params.notificationCloseButtonText && {\n text: app.params.notificationCloseButtonText,\n close: true\n };\n \n if (!_tempNotificationElement) _tempNotificationElement = document.createElement('div');\n \n params.material = app.params.material;\n \n var container = $('.notifications');\n if (container.length === 0) {\n app.root.append('
                                                  ');\n container = $('.notifications');\n }\n var list = container.children('ul');\n \n var notificationTemplate = app.params.notificationTemplate || \n '{{#if custom}}' +\n '
                                                • {{custom}}
                                                • ' +\n '{{else}}' +\n '
                                                • ' +\n '
                                                  ' +\n '{{#if material}}' +\n '
                                                  ' +\n '
                                                  {{js \"this.message || this.title || this.subtitle\"}}
                                                  ' +\n '{{#if ../button}}{{#button}}' +\n '
                                                  ' +\n '{{text}}' +\n '
                                                  ' +\n '{{/button}}{{/if}}' +\n '
                                                  ' +\n '{{else}}' +\n '{{#if media}}' +\n '
                                                  {{media}}
                                                  ' +\n '{{/if}}' +\n '
                                                  ' +\n '
                                                  ' +\n '{{#if title}}' +\n '
                                                  {{title}}
                                                  ' +\n '{{/if}}' +\n '{{#if closeIcon}}' +\n '
                                                  ' +\n '{{/if}}' +\n '
                                                  ' +\n '{{#if subtitle}}' +\n '
                                                  {{subtitle}}
                                                  ' +\n '{{/if}}' +\n '{{#if message}}' +\n '
                                                  {{message}}
                                                  ' +\n '
                                                  ' +\n '{{/if}}' +\n '{{/if}}' +\n '
                                                  ' +\n '
                                                • ' +\n '{{/if}}';\n if (!app._compiledTemplates.notification) {\n app._compiledTemplates.notification = t7.compile(notificationTemplate);\n }\n _tempNotificationElement.innerHTML = app._compiledTemplates.notification(params);\n \n var item = $(_tempNotificationElement).children();\n \n item.on('click', function (e) {\n var close = false;\n var target = $(e.target);\n if (params.material && target.hasClass('button')) {\n if (params.button && params.button.onClick) params.button.onClick.call(target[0], e, item[0]);\n }\n if (target.is('.close-notification') || $(e.target).parents('.close-notification').length > 0) {\n close = true;\n }\n else {\n if (params.onClick) params.onClick(e, item[0]);\n if (params.closeOnClick) close = true;\n }\n if (close) app.closeNotification(item[0]);\n });\n if (params.onClose) {\n item.data('f7NotificationOnClose', function () {\n params.onClose(item[0]);\n });\n }\n if (params.additionalClass) {\n item.addClass(params.additionalClass);\n }\n if (params.hold) {\n setTimeout(function () {\n if (item.length > 0) app.closeNotification(item[0]);\n }, params.hold);\n }\n \n if (!app.params.material) {\n app.closeNotification(list.children('li.notification-item:last-child'));\n }\n list.append(item[0]);\n container.show();\n \n var itemHeight = item.outerHeight(), clientLeft;\n if (params.material) {\n container.transform('translate3d(0, '+itemHeight+'px, 0)');\n container.transition(0);\n \n clientLeft = item[0].clientLeft;\n \n container.transform('translate3d(0, 0, 0)');\n container.transition('');\n }\n else {\n item.transform('translate3d(0,' + (-itemHeight) + 'px,0)');\n item.transition(0);\n \n clientLeft = item[0].clientLeft;\n \n item.transition('');\n item.transform('translate3d(0,0px,0)');\n }\n \n container.transform('translate3d(0, 0,0)');\n item.removeClass('notification-hidden');\n \n return item[0];\n };\n app.closeNotification = function (item) {\n item = $(item);\n if (item.length === 0) return;\n if (item.hasClass('notification-item-removing')) return;\n var container = $('.notifications');\n \n var itemHeight = item.outerHeight();\n item.css('height', itemHeight + 'px').transition(0).addClass('notification-item-removing');\n var clientLeft = item[0].clientLeft;\n \n item.css({\n height: '0px',\n marginBottom: '0px'\n }).transition('');\n \n if (item.data('f7NotificationOnClose')) item.data('f7NotificationOnClose')();\n \n if (container.find('.notification-item:not(.notification-item-removing)').length === 0) {\n container.transform('');\n }\n \n item.addClass('notification-hidden').transitionEnd(function () {\n item.remove();\n if (container.find('.notification-item').length === 0) {\n container.hide();\n }\n });\n };\n\n /*===========================\n Compile Template7 Templates On App Init\n ===========================*/\n app.initTemplate7Templates = function () {\n if (!window.Template7) return;\n Template7.templates = Template7.templates || app.params.templates || {};\n Template7.data = Template7.data || app.params.template7Data || {};\n Template7.cache = Template7.cache || {};\n \n app.templates = Template7.templates;\n app.template7Data = Template7.data;\n app.template7Cache = Template7.cache;\n \n // Precompile templates on app init\n if (!app.params.precompileTemplates) return;\n $('script[type=\"text/template7\"]').each(function () {\n var id = $(this).attr('id');\n if (!id) return;\n Template7.templates[id] = Template7.compile($(this).html());\n });\n };\n \n\n /*=======================================\n ************ Plugins API ************\n =======================================*/\n var _plugins = [];\n app.initPlugins = function () {\n // Initialize plugins\n for (var plugin in app.plugins) {\n var p = app.plugins[plugin](app, app.params[plugin]);\n if (p) _plugins.push(p);\n }\n };\n // Plugin Hooks\n app.pluginHook = function (hook) {\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].hooks && hook in _plugins[i].hooks) {\n _plugins[i].hooks[hook](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n };\n // Prevented by plugin\n app.pluginPrevent = function (action) {\n var prevent = false;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].prevents && action in _plugins[i].prevents) {\n if (_plugins[i].prevents[action](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])) prevent = true;\n }\n }\n return prevent;\n };\n // Preprocess content by plugin\n app.pluginProcess = function (process, data) {\n var processed = data;\n for (var i = 0; i < _plugins.length; i++) {\n if (_plugins[i].preprocess && process in _plugins[i].preprocess) {\n processed = _plugins[i].preprocess[process](data, arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]);\n }\n }\n return processed;\n };\n \n \n\n /*======================================================\n ************ App Init ************\n ======================================================*/\n app.init = function () {\n // Compile Template7 templates on app load\n if (app.initTemplate7Templates) app.initTemplate7Templates();\n \n // Init Plugins\n if (app.initPlugins) app.initPlugins();\n \n // Init Device\n if (app.getDeviceInfo) app.getDeviceInfo();\n \n // Init Click events\n if (app.initFastClicks && app.params.fastClicks) app.initFastClicks();\n if (app.initClickEvents) app.initClickEvents();\n \n // Init each page callbacks\n $('.page:not(.cached)').each(function () {\n app.initPageWithCallback(this);\n });\n \n // Init each navbar callbacks\n $('.navbar:not(.cached)').each(function () {\n app.initNavbarWithCallback(this); \n });\n \n // Init resize events\n if (app.initResize) app.initResize();\n \n // Init push state\n if (app.initPushState && app.params.pushState) app.initPushState();\n \n // Init Live Swipeouts events\n if (app.initSwipeout && app.params.swipeout) app.initSwipeout();\n \n // Init Live Sortable events\n if (app.initSortable && app.params.sortable) app.initSortable();\n \n // Init Live Swipe Panels\n if (app.initSwipePanels && (app.params.swipePanel || app.params.swipePanelOnlyClose)) app.initSwipePanels();\n \n // Init Material Inputs\n if (app.params.material && app.initMaterialWatchInputs) app.initMaterialWatchInputs();\n \n // App Init callback\n if (app.params.onAppInit) app.params.onAppInit();\n \n // Plugin app init hook\n app.pluginHook('appInit');\n };\n if (app.params.init) app.init();\n \n\n //Return instance \n return app;\n };\n \n\n /*===========================\n Dom7 Library\n ===========================*/\n var Dom7 = (function () {\n var Dom7 = function (arr) {\n var _this = this, i = 0;\n // Create array-like object\n for (i = 0; i < arr.length; i++) {\n _this[i] = arr[i];\n }\n _this.length = arr.length;\n // Return collection with methods\n return this;\n };\n var $ = function (selector, context) {\n var arr = [], i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n var els, tempParent, html;\n selector = html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [document.getElementById(selector.split('#')[1])];\n }\n else {\n // Other selectors\n els = (context || document).querySelectorAll(selector);\n }\n for (i = 0; i < els.length; i++) {\n if (els[i]) arr.push(els[i]);\n }\n }\n }\n // Node/element\n else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n }\n //Array of elements or instance of Dom\n else if (selector.length > 0 && selector[0].nodeType) {\n for (i = 0; i < selector.length; i++) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n };\n\n Dom7.prototype = {\n // Classes and attriutes\n addClass: function (className) {\n if (typeof className === 'undefined') {\n return this;\n }\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]);\n }\n }\n return this;\n },\n removeClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]);\n }\n }\n return this;\n },\n hasClass: function (className) {\n if (!this[0]) return false;\n else return this[0].classList.contains(className);\n },\n toggleClass: function (className) {\n var classes = className.split(' ');\n for (var i = 0; i < classes.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]);\n }\n }\n return this;\n },\n attr: function (attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n else return undefined;\n }\n else {\n // Set attrs\n for (var i = 0; i < this.length; i++) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n }\n else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n }\n },\n removeAttr: function (attr) {\n for (var i = 0; i < this.length; i++) {\n this[i].removeAttribute(attr);\n }\n return this;\n },\n prop: function (props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n else return undefined;\n }\n else {\n // Set props\n for (var i = 0; i < this.length; i++) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n }\n else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n },\n data: function (key, value) {\n if (typeof value === 'undefined') {\n // Get value\n if (this[0]) {\n if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) {\n return this[0].dom7ElementDataStorage[key];\n }\n else {\n var dataKey = this[0].getAttribute('data-' + key); \n if (dataKey) {\n return dataKey;\n }\n else return undefined;\n }\n }\n else return undefined;\n }\n else {\n // Set value\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n }\n },\n removeData: function(key) {\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n },\n dataset: function () {\n var el = this[0];\n if (el) {\n var dataset = {};\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n }\n else {\n for (var i = 0; i < el.attributes.length; i++) {\n var attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[$.toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;\n else if (dataset[key] === 'true') dataset[key] = true;\n else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] = dataset[key] * 1;\n }\n return dataset;\n }\n else return undefined;\n },\n val: function (value) {\n if (typeof value === 'undefined') {\n if (this[0]) return this[0].value;\n else return undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].value = value;\n }\n return this;\n }\n },\n // Transforms\n transform : function (transform) {\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform;\n }\n return this;\n },\n transition: function (duration) {\n if (typeof duration !== 'string') {\n duration = duration + 'ms';\n }\n for (var i = 0; i < this.length; i++) {\n var elStyle = this[i].style;\n elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration;\n }\n return this;\n },\n //Events\n on: function (eventName, targetSelector, listener, capture) {\n function handleLiveEvent(e) {\n var target = e.target;\n if ($(target).is(targetSelector)) listener.call(target, e);\n else {\n var parents = $(target).parents();\n for (var k = 0; k < parents.length; k++) {\n if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e);\n }\n }\n }\n var events = eventName.split(' ');\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n for (j = 0; j < events.length; j++) {\n this[i].addEventListener(events[j], listener, capture);\n }\n }\n else {\n //Live events\n for (j = 0; j < events.length; j++) {\n if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = [];\n this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent});\n this[i].addEventListener(events[j], handleLiveEvent, capture);\n }\n }\n }\n \n return this;\n },\n off: function (eventName, targetSelector, listener, capture) {\n var events = eventName.split(' ');\n for (var i = 0; i < events.length; i++) {\n for (var j = 0; j < this.length; j++) {\n if (typeof targetSelector === 'function' || targetSelector === false) {\n // Usual events\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2] || false;\n }\n this[j].removeEventListener(events[i], listener, capture);\n }\n else {\n // Live event\n if (this[j].dom7LiveListeners) {\n for (var k = 0; k < this[j].dom7LiveListeners.length; k++) {\n if (this[j].dom7LiveListeners[k].listener === listener) {\n this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture);\n }\n }\n }\n }\n }\n }\n return this;\n },\n once: function (eventName, targetSelector, listener, capture) {\n var dom = this;\n if (typeof targetSelector === 'function') {\n listener = arguments[1];\n capture = arguments[2];\n targetSelector = false;\n }\n function proxy(e) {\n listener.call(e.target, e);\n dom.off(eventName, targetSelector, proxy, capture);\n }\n return dom.on(eventName, targetSelector, proxy, capture);\n },\n trigger: function (eventName, eventData) {\n var events = eventName.split(' ');\n for (var i = 0; i < events.length; i++) {\n for (var j = 0; j < this.length; j++) {\n var evt;\n try {\n evt = new CustomEvent(events[i], {detail: eventData, bubbles: true, cancelable: true});\n }\n catch (e) {\n evt = document.createEvent('Event');\n evt.initEvent(events[i], true, true);\n evt.detail = eventData;\n }\n this[j].dispatchEvent(evt);\n }\n }\n return this;\n },\n transitionEnd: function (callback) {\n var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'],\n i, j, dom = this;\n function fireCallBack(e) {\n /*jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n animationEnd: function (callback) {\n var events = ['webkitAnimationEnd', 'OAnimationEnd', 'MSAnimationEnd', 'animationend'],\n i, j, dom = this;\n function fireCallBack(e) {\n callback(e);\n for (i = 0; i < events.length; i++) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i++) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n },\n // Sizing/Styles\n width: function () {\n if (this[0] === window) {\n return window.innerWidth;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n else {\n return null;\n }\n }\n },\n outerWidth: function (includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); \n }\n else\n return this[0].offsetWidth;\n }\n else return null;\n },\n height: function () {\n if (this[0] === window) {\n return window.innerHeight;\n }\n else {\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n else {\n return null;\n }\n }\n },\n outerHeight: function (includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); \n }\n else\n return this[0].offsetHeight;\n }\n else return null;\n },\n offset: function () {\n if (this.length > 0) {\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = window.pageYOffset || el.scrollTop;\n var scrollLeft = window.pageXOffset || el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n else {\n return null;\n }\n },\n hide: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'none';\n }\n return this;\n },\n show: function () {\n for (var i = 0; i < this.length; i++) {\n this[i].style.display = 'block';\n }\n return this;\n },\n styles: function () {\n var i, styles;\n if (this[0]) return window.getComputedStyle(this[0], null);\n else return undefined;\n },\n css: function (props, value) {\n var i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n }\n else {\n for (i = 0; i < this.length; i++) {\n for (var prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i++) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n },\n \n //Dom manipulation\n each: function (callback) {\n for (var i = 0; i < this.length; i++) {\n callback.call(this[i], i, this[i]);\n }\n return this;\n },\n filter: function (callback) {\n var matchedItems = [];\n var dom = this;\n for (var i = 0; i < dom.length; i++) {\n if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]);\n }\n return new Dom7(matchedItems);\n },\n html: function (html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].innerHTML = html;\n }\n return this;\n }\n },\n text: function (text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n else return null;\n }\n else {\n for (var i = 0; i < this.length; i++) {\n this[i].textContent = text;\n }\n return this;\n }\n },\n is: function (selector) {\n if (!this[0] || typeof selector === 'undefined') return false;\n var compareWith, i;\n if (typeof selector === 'string') {\n var el = this[0];\n if (el === document) return selector === document;\n if (el === window) return selector === window;\n \n if (el.matches) return el.matches(selector);\n else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector);\n else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n else {\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n }\n else if (selector === document) return this[0] === document;\n else if (selector === window) return this[0] === window;\n else {\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i++) {\n if (compareWith[i] === this[0]) return true;\n }\n return false;\n }\n return false;\n }\n \n },\n indexOf: function (el) {\n for (var i = 0; i < this.length; i++) {\n if (this[i] === el) return i;\n }\n },\n index: function () {\n if (this[0]) {\n var child = this[0];\n var i = 0;\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i++;\n }\n return i;\n }\n else return undefined;\n },\n eq: function (index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n var returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n else return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n },\n append: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].appendChild(newChild[j]);\n }\n }\n else {\n this[i].appendChild(newChild);\n }\n }\n return this;\n },\n appendTo: function (parent) {\n $(parent).append(this);\n return this;\n },\n prepend: function (newChild) {\n var i, j;\n for (i = 0; i < this.length; i++) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j--) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n // this[i].insertAdjacentHTML('afterbegin', newChild);\n }\n else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j++) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n }\n else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n },\n prependTo: function (parent) {\n $(parent).prepend(this);\n return this;\n },\n insertBefore: function (selector) {\n var before = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n }\n else if (before.length > 1) {\n for (var j = 0; j < before.length; j++) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n },\n insertAfter: function (selector) {\n var after = $(selector);\n for (var i = 0; i < this.length; i++) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n }\n else if (after.length > 1) {\n for (var j = 0; j < after.length; j++) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n },\n next: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n nextAll: function (selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.nextElementSibling) {\n var next = el.nextElementSibling;\n if (selector) {\n if($(next).is(selector)) nextEls.push(next);\n }\n else nextEls.push(next);\n el = next;\n }\n return new Dom7(nextEls);\n },\n prev: function (selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n else {\n if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]);\n else return new Dom7([]);\n }\n }\n else return new Dom7([]);\n },\n prevAll: function (selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return new Dom7([]);\n while (el.previousElementSibling) {\n var prev = el.previousElementSibling;\n if (selector) {\n if($(prev).is(selector)) prevEls.push(prev);\n }\n else prevEls.push(prev);\n el = prev;\n }\n return new Dom7(prevEls);\n },\n siblings: function (selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n },\n parent: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n }\n else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $($.unique(parents));\n },\n parents: function (selector) {\n var parents = [];\n for (var i = 0; i < this.length; i++) {\n var parent = this[i].parentNode;\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n }\n else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $($.unique(parents));\n },\n closest: function (selector) {\n var closest = this;\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n },\n find : function (selector) {\n var foundElements = [];\n for (var i = 0; i < this.length; i++) {\n var found = this[i].querySelectorAll(selector);\n for (var j = 0; j < found.length; j++) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n },\n children: function (selector) {\n var children = [];\n for (var i = 0; i < this.length; i++) {\n var childNodes = this[i].childNodes;\n \n for (var j = 0; j < childNodes.length; j++) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n }\n else {\n if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]);\n }\n }\n }\n return new Dom7($.unique(children));\n },\n remove: function () {\n for (var i = 0; i < this.length; i++) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n return this;\n },\n detach: function () {\n return this.remove();\n },\n add: function () {\n var dom = this;\n var i, j;\n for (i = 0; i < arguments.length; i++) {\n var toAdd = $(arguments[i]);\n for (j = 0; j < toAdd.length; j++) {\n dom[dom.length] = toAdd[j];\n dom.length++;\n }\n }\n return dom;\n },\n empty: function () {\n for (var i = 0; i < this.length; i++) {\n var el = this[i];\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j++) {\n if (el.childNodes[j].parentNode) el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n el.textContent = '';\n }\n }\n return this;\n }\n };\n \n // Shortcuts\n (function () {\n var shortcuts = ('click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll').split(' ');\n var notTrigger = ('resize scroll').split(' ');\n function createMethod(name) {\n Dom7.prototype[name] = function (targetSelector, listener, capture) {\n var i;\n if (typeof targetSelector === 'undefined') {\n for (i = 0; i < this.length; i++) {\n if (notTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n else {\n return this.on(name, targetSelector, listener, capture);\n }\n };\n }\n for (var i = 0; i < shortcuts.length; i++) {\n createMethod(shortcuts[i]);\n }\n })();\n \n\n // Global Ajax Setup\n var globalAjaxOptions = {};\n $.ajaxSetup = function (options) {\n if (options.type) options.method = options.type;\n $.each(options, function (optionName, optionValue) {\n globalAjaxOptions[optionName] = optionValue;\n });\n };\n \n // Ajax\n var _jsonpRequests = 0;\n $.ajax = function (options) {\n var defaults = {\n method: 'GET',\n data: false,\n async: true,\n cache: true,\n user: '',\n password: '',\n headers: {},\n xhrFields: {},\n statusCode: {},\n processData: true,\n dataType: 'text',\n contentType: 'application/x-www-form-urlencoded',\n timeout: 0\n };\n var callbacks = ['beforeSend', 'error', 'complete', 'success', 'statusCode'];\n \n \n //For jQuery guys\n if (options.type) options.method = options.type;\n \n // Merge global and defaults\n $.each(globalAjaxOptions, function (globalOptionName, globalOptionValue) {\n if (callbacks.indexOf(globalOptionName) < 0) defaults[globalOptionName] = globalOptionValue;\n });\n \n // Function to run XHR callbacks and events\n function fireAjaxCallback (eventName, eventData, callbackName) {\n var a = arguments;\n if (eventName) $(document).trigger(eventName, eventData);\n if (callbackName) {\n // Global callback\n if (callbackName in globalAjaxOptions) globalAjaxOptions[callbackName](a[3], a[4], a[5], a[6]);\n // Options callback\n if (options[callbackName]) options[callbackName](a[3], a[4], a[5], a[6]);\n }\n }\n \n // Merge options and defaults\n $.each(defaults, function (prop, defaultValue) {\n if (!(prop in options)) options[prop] = defaultValue;\n });\n \n // Default URL\n if (!options.url) {\n options.url = window.location.toString();\n }\n // Parameters Prefix\n var paramsPrefix = options.url.indexOf('?') >= 0 ? '&' : '?';\n \n // UC method\n var _method = options.method.toUpperCase();\n // Data to modify GET URL\n if ((_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') && options.data) {\n var stringData;\n if (typeof options.data === 'string') {\n // Should be key=value string\n if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1];\n else stringData = options.data;\n }\n else {\n // Should be key=value object\n stringData = $.serializeObject(options.data);\n }\n if (stringData.length) {\n options.url += paramsPrefix + stringData;\n if (paramsPrefix === '?') paramsPrefix = '&';\n }\n }\n // JSONP\n if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) {\n \n var callbackName = 'f7jsonp_' + Date.now() + (_jsonpRequests++);\n var abortTimeout;\n var callbackSplit = options.url.split('callback=');\n var requestUrl = callbackSplit[0] + 'callback=' + callbackName;\n if (callbackSplit[1].indexOf('&') >= 0) {\n var addVars = callbackSplit[1].split('&').filter(function (el) { return el.indexOf('=') > 0; }).join('&');\n if (addVars.length > 0) requestUrl += '&' + addVars;\n }\n \n // Create script\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.onerror = function() {\n clearTimeout(abortTimeout);\n fireAjaxCallback(undefined, undefined, 'error', null, 'scripterror');\n };\n script.src = requestUrl;\n \n // Handler\n window[callbackName] = function (data) {\n clearTimeout(abortTimeout);\n fireAjaxCallback(undefined, undefined, 'success', data);\n script.parentNode.removeChild(script);\n script = null;\n delete window[callbackName];\n };\n document.querySelector('head').appendChild(script);\n \n if (options.timeout > 0) {\n abortTimeout = setTimeout(function () {\n script.parentNode.removeChild(script);\n script = null;\n fireAjaxCallback(undefined, undefined, 'error', null, 'timeout');\n }, options.timeout);\n }\n \n return;\n }\n \n // Cache for GET/HEAD requests\n if (_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') {\n if (options.cache === false) {\n options.url += (paramsPrefix + '_nocache=' + Date.now());\n }\n }\n \n // Create XHR\n var xhr = new XMLHttpRequest();\n \n // Save Request URL\n xhr.requestUrl = options.url;\n xhr.requestParameters = options;\n \n // Open XHR\n xhr.open(_method, options.url, options.async, options.user, options.password);\n \n // Create POST Data\n var postData = null;\n \n if ((_method === 'POST' || _method === 'PUT' || _method === 'PATCH') && options.data) {\n if (options.processData) {\n var postDataInstances = [ArrayBuffer, Blob, Document, FormData];\n // Post Data\n if (postDataInstances.indexOf(options.data.constructor) >= 0) {\n postData = options.data;\n }\n else {\n // POST Headers\n var boundary = '---------------------------' + Date.now().toString(16);\n \n if (options.contentType === 'multipart\\/form-data') {\n xhr.setRequestHeader('Content-Type', 'multipart\\/form-data; boundary=' + boundary);\n }\n else {\n xhr.setRequestHeader('Content-Type', options.contentType);\n }\n postData = '';\n var _data = $.serializeObject(options.data);\n if (options.contentType === 'multipart\\/form-data') {\n boundary = '---------------------------' + Date.now().toString(16);\n _data = _data.split('&');\n var _newData = [];\n for (var i = 0; i < _data.length; i++) {\n _newData.push('Content-Disposition: form-data; name=\"' + _data[i].split('=')[0] + '\"\\r\\n\\r\\n' + _data[i].split('=')[1] + '\\r\\n');\n }\n postData = '--' + boundary + '\\r\\n' + _newData.join('--' + boundary + '\\r\\n') + '--' + boundary + '--\\r\\n';\n }\n else {\n postData = options.contentType === 'application/x-www-form-urlencoded' ? _data : _data.replace(/&/g, '\\r\\n');\n }\n }\n }\n else {\n postData = options.data;\n }\n \n }\n \n // Additional headers\n if (options.headers) {\n $.each(options.headers, function (headerName, headerCallback) {\n xhr.setRequestHeader(headerName, headerCallback);\n });\n }\n \n // Check for crossDomain\n if (typeof options.crossDomain === 'undefined') {\n options.crossDomain = /^([\\w-]+:)?\\/\\/([^\\/]+)/.test(options.url) && RegExp.$2 !== window.location.host;\n }\n \n if (!options.crossDomain) {\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n \n if (options.xhrFields) {\n $.each(options.xhrFields, function (fieldName, fieldValue) {\n xhr[fieldName] = fieldValue;\n });\n }\n \n var xhrTimeout;\n // Handle XHR\n xhr.onload = function (e) {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) {\n var responseData;\n if (options.dataType === 'json') {\n try {\n responseData = JSON.parse(xhr.responseText);\n fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr);\n }\n catch (err) {\n fireAjaxCallback('ajaxError', {xhr: xhr, parseerror: true}, 'error', xhr, 'parseerror');\n }\n }\n else {\n responseData = xhr.responseType === 'text' || xhr.responseType === '' ? xhr.responseText : xhr.response;\n fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr);\n }\n }\n else {\n fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status);\n }\n if (options.statusCode) {\n if (globalAjaxOptions.statusCode && globalAjaxOptions.statusCode[xhr.status]) globalAjaxOptions.statusCode[xhr.status](xhr);\n if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr);\n }\n fireAjaxCallback('ajaxComplete', {xhr: xhr}, 'complete', xhr, xhr.status);\n };\n \n xhr.onerror = function (e) {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status);\n };\n \n // Ajax start callback\n fireAjaxCallback('ajaxStart', {xhr: xhr}, 'start', xhr);\n fireAjaxCallback(undefined, undefined, 'beforeSend', xhr);\n \n // Timeout\n if (options.timeout > 0) {\n xhr.onabort = function () {\n if (xhrTimeout) clearTimeout(xhrTimeout);\n };\n xhrTimeout = setTimeout(function () {\n xhr.abort();\n fireAjaxCallback('ajaxError', {xhr: xhr, timeout: true}, 'error', xhr, 'timeout');\n fireAjaxCallback('ajaxComplete', {xhr: xhr, timeout: true}, 'complete', xhr, 'timeout');\n }, options.timeout);\n }\n \n // Send XHR\n xhr.send(postData);\n \n // Return XHR object\n return xhr;\n };\n // Shrotcuts\n (function () {\n var methods = ('get post getJSON').split(' ');\n function createMethod(method) {\n $[method] = function (url, data, success, error) {\n return $.ajax({\n url: url,\n method: method === 'post' ? 'POST' : 'GET',\n data: typeof data === 'function' ? undefined : data,\n success: typeof data === 'function' ? data : success,\n error: typeof data === 'function' ? success : error,\n dataType: method === 'getJSON' ? 'json' : undefined\n });\n };\n }\n for (var i = 0; i < methods.length; i++) {\n createMethod(methods[i]);\n }\n })();\n \n\n // DOM Library Utilites\n $.parseUrlQuery = function (url) {\n var url = url || location.href;\n var query = {}, i, params, param;\n \n if (typeof url === 'string' && url.length) {\n url = (url.indexOf('#') > -1) ? url.split('#')[0] : url;\n if (url.indexOf('?') > -1) url = url.split('?')[1];\n else return query;\n \n params = url.split('&');\n for (i = 0; i < params.length; i ++) {\n param = params[i].split('=');\n query[param[0]] = param[1];\n }\n }\n return query;\n };\n $.isArray = function (arr) {\n if (Object.prototype.toString.apply(arr) === '[object Array]') return true;\n else return false;\n };\n $.each = function (obj, callback) {\n if (typeof obj !== 'object') return;\n if (!callback) return;\n var i, prop;\n if ($.isArray(obj) || obj instanceof Dom7) {\n // Array\n for (i = 0; i < obj.length; i++) {\n callback(i, obj[i]);\n }\n }\n else {\n // Object\n for (prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(prop, obj[prop]);\n }\n }\n }\n };\n $.unique = function (arr) {\n var unique = [];\n for (var i = 0; i < arr.length; i++) {\n if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]);\n }\n return unique;\n };\n $.serializeObject = $.param = function (obj, parents) {\n if (typeof obj === 'string') return obj;\n var resultArray = [];\n var separator = '&';\n parents = parents || [];\n var newParents;\n function var_name(name) {\n if (parents.length > 0) {\n var _parents = '';\n for (var j = 0; j < parents.length; j++) {\n if (j === 0) _parents += parents[j];\n else _parents += '[' + encodeURIComponent(parents[j]) + ']';\n }\n return _parents + '[' + encodeURIComponent(name) + ']';\n }\n else {\n return encodeURIComponent(name);\n }\n }\n function var_value(value) {\n return encodeURIComponent(value);\n }\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n var toPush;\n if ($.isArray(obj[prop])) {\n toPush = [];\n for (var i = 0; i < obj[prop].length; i ++) {\n if (!$.isArray(obj[prop][i]) && typeof obj[prop][i] === 'object') {\n newParents = parents.slice();\n newParents.push(prop);\n newParents.push(i + '');\n toPush.push($.serializeObject(obj[prop][i], newParents));\n }\n else {\n toPush.push(var_name(prop) + '[]=' + var_value(obj[prop][i]));\n }\n \n }\n if (toPush.length > 0) resultArray.push(toPush.join(separator));\n }\n else if (obj[prop] === null) {\n resultArray.push(var_name(prop) + '=');\n }\n else if (typeof obj[prop] === 'object') {\n // Object, convert to named array\n newParents = parents.slice();\n newParents.push(prop);\n toPush = $.serializeObject(obj[prop], newParents);\n if (toPush !== '') resultArray.push(toPush);\n }\n else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') {\n // Should be string or plain value\n resultArray.push(var_name(prop) + '=' + var_value(obj[prop]));\n }\n }\n }\n return resultArray.join(separator);\n };\n $.toCamelCase = function (string) {\n return string.toLowerCase().replace(/-(.)/g, function(match, group1) {\n return group1.toUpperCase();\n });\n };\n $.dataset = function (el) {\n return $(el).dataset();\n };\n $.getTranslate = function (el, axis) {\n var matrix, curTransform, curStyle, transformMatrix;\n \n // automatic axis detection\n if (typeof axis === 'undefined') {\n axis = 'x';\n }\n \n curStyle = window.getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function(a){\n return a.replace(',','.');\n }).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n }\n else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n \n if (axis === 'x') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m41;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[12]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m42;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[13]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[5]);\n }\n \n return curTransform || 0;\n };\n \n $.requestAnimationFrame = function (callback) {\n if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);\n else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);\n else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback);\n else {\n return window.setTimeout(callback, 1000 / 60);\n }\n };\n $.cancelAnimationFrame = function (id) {\n if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id);\n else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id);\n else if (window.mozCancelAnimationFrame) return window.mozCancelAnimationFrame(id);\n else {\n return window.clearTimeout(id);\n } \n };\n $.supportTouch = !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\n \n // Remove Diacritics\n var defaultDiacriticsRemovalap = [\n {base:'A', letters:'\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F'},\n {base:'AA',letters:'\\uA732'},\n {base:'AE',letters:'\\u00C6\\u01FC\\u01E2'},\n {base:'AO',letters:'\\uA734'},\n {base:'AU',letters:'\\uA736'},\n {base:'AV',letters:'\\uA738\\uA73A'},\n {base:'AY',letters:'\\uA73C'},\n {base:'B', letters:'\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181'},\n {base:'C', letters:'\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E'},\n {base:'D', letters:'\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779'},\n {base:'DZ',letters:'\\u01F1\\u01C4'},\n {base:'Dz',letters:'\\u01F2\\u01C5'},\n {base:'E', letters:'\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E'},\n {base:'F', letters:'\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B'},\n {base:'G', letters:'\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E'},\n {base:'H', letters:'\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D'},\n {base:'I', letters:'\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197'},\n {base:'J', letters:'\\u004A\\u24BF\\uFF2A\\u0134\\u0248'},\n {base:'K', letters:'\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2'},\n {base:'L', letters:'\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780'},\n {base:'LJ',letters:'\\u01C7'},\n {base:'Lj',letters:'\\u01C8'},\n {base:'M', letters:'\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C'},\n {base:'N', letters:'\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4'},\n {base:'NJ',letters:'\\u01CA'},\n {base:'Nj',letters:'\\u01CB'},\n {base:'O', letters:'\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C'},\n {base:'OI',letters:'\\u01A2'},\n {base:'OO',letters:'\\uA74E'},\n {base:'OU',letters:'\\u0222'},\n {base:'OE',letters:'\\u008C\\u0152'},\n {base:'oe',letters:'\\u009C\\u0153'},\n {base:'P', letters:'\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754'},\n {base:'Q', letters:'\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A'},\n {base:'R', letters:'\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782'},\n {base:'S', letters:'\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784'},\n {base:'T', letters:'\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786'},\n {base:'TZ',letters:'\\uA728'},\n {base:'U', letters:'\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244'},\n {base:'V', letters:'\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245'},\n {base:'VY',letters:'\\uA760'},\n {base:'W', letters:'\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72'},\n {base:'X', letters:'\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C'},\n {base:'Y', letters:'\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE'},\n {base:'Z', letters:'\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762'},\n {base:'a', letters:'\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250'},\n {base:'aa',letters:'\\uA733'},\n {base:'ae',letters:'\\u00E6\\u01FD\\u01E3'},\n {base:'ao',letters:'\\uA735'},\n {base:'au',letters:'\\uA737'},\n {base:'av',letters:'\\uA739\\uA73B'},\n {base:'ay',letters:'\\uA73D'},\n {base:'b', letters:'\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253'},\n {base:'c', letters:'\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184'},\n {base:'d', letters:'\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A'},\n {base:'dz',letters:'\\u01F3\\u01C6'},\n {base:'e', letters:'\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD'},\n {base:'f', letters:'\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C'},\n {base:'g', letters:'\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F'},\n {base:'h', letters:'\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265'},\n {base:'hv',letters:'\\u0195'},\n {base:'i', letters:'\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131'},\n {base:'j', letters:'\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249'},\n {base:'k', letters:'\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3'},\n {base:'l', letters:'\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747'},\n {base:'lj',letters:'\\u01C9'},\n {base:'m', letters:'\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F'},\n {base:'n', letters:'\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5'},\n {base:'nj',letters:'\\u01CC'},\n {base:'o', letters:'\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275'},\n {base:'oi',letters:'\\u01A3'},\n {base:'ou',letters:'\\u0223'},\n {base:'oo',letters:'\\uA74F'},\n {base:'p',letters:'\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755'},\n {base:'q',letters:'\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759'},\n {base:'r',letters:'\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783'},\n {base:'s',letters:'\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B'},\n {base:'t',letters:'\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787'},\n {base:'tz',letters:'\\uA729'},\n {base:'u',letters: '\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289'},\n {base:'v',letters:'\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C'},\n {base:'vy',letters:'\\uA761'},\n {base:'w',letters:'\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73'},\n {base:'x',letters:'\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D'},\n {base:'y',letters:'\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF'},\n {base:'z',letters:'\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763'}\n ];\n \n var diacriticsMap = {};\n for (var i=0; i < defaultDiacriticsRemovalap.length; i++){\n var letters = defaultDiacriticsRemovalap[i].letters;\n for (var j=0; j < letters.length ; j++){\n diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base;\n }\n }\n \n $.removeDiacritics = function (str) {\n return str.replace(/[^\\u0000-\\u007E]/g, function(a){\n return diacriticsMap[a] || a;\n });\n };\n // Link to prototype\n $.fn = Dom7.prototype;\n \n // Plugins\n $.fn.scrollTo = function (left, top, duration, easing, callback) {\n if (arguments.length === 4 && typeof easing === 'function') {\n callback = easing;\n easing = undefined;\n }\n return this.each(function () {\n var el = this;\n var currentTop, currentLeft, maxTop, maxLeft, newTop, newLeft, scrollTop, scrollLeft;\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) return;\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n function render(time) {\n if (time === undefined) {\n time = new Date().getTime();\n }\n if (startTime === null) {\n startTime = time;\n }\n var doneLeft, doneTop, done;\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : (0.5 - Math.cos( progress * Math.PI ) / 2);\n if (animateTop) scrollTop = currentTop + (easeProgress * (newTop - currentTop));\n if (animateLeft) scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft));\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n \n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n \n if (done) {\n if (callback) callback();\n return;\n }\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n $.requestAnimationFrame(render);\n }\n $.requestAnimationFrame(render);\n });\n };\n $.fn.scrollTop = function (top, duration, easing, callback) {\n if (arguments.length === 3 && typeof easing === 'function') {\n callback = easing;\n easing = undefined;\n }\n var dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n else return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n };\n $.fn.scrollLeft = function (left, duration, easing, callback) {\n if (arguments.length === 3 && typeof easing === 'function') {\n callback = easing;\n easing = undefined;\n }\n var dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n else return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n };\n\n return $;\n })();\n \n // Export Dom7 to Framework7\n Framework7.$ = Dom7;\n \n // Export to local scope\n var $ = Dom7;\n \n // Export to Window\n window.Dom7 = Dom7;\n \n\n /*========================\n Animate7 Animate Engine\n ==========================*/\n var Animate7 = function (elements, props, params) {\n props = props || {};\n params = params || {};\n var defaults = {\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n };\n \n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n }\n \n var a = this;\n a.params = params;\n a.props = props;\n a.elements = $(elements);\n if (a.elements.length === 0) {\n return a;\n }\n \n a.easingProgress = function (easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos( progress * Math.PI ) / 2;\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n };\n \n a.stop = function () {\n if (a.frameId) {\n $.cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each(function (index, el) {\n delete el.animate7Instance;\n });\n a.que = [];\n };\n a.done = function (complete) {\n a.animating = false;\n a.elements.each(function (index, el) {\n delete el.animate7Instance;\n });\n if (complete) complete(elements);\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n };\n a.animating = false;\n a.que = [];\n a.animate = function (props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n a.params = params;\n \n var _elements = [];\n \n // Define & Cache Initials & Units\n a.elements.each(function (index, el) {\n var initialFullValue, initialValue, unit, finalValue, finalFullValue;\n \n _elements[index] = {\n _container: el\n };\n \n for (var prop in props) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = props[prop];\n finalFullValue = props[prop] + unit;\n _elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n \n }\n });\n \n var startTime = null,\n time,\n elementsDone = 0,\n propsDone = 0,\n done,\n began = false;\n \n a.animating = true;\n \n function render() {\n time = new Date().getTime();\n var progress, easeProgress, el;\n if (!began) {\n began = true;\n if (params.begin) params.begin(elements);\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n params.progress(\n a.elements,\n Math.max(Math.min((time - startTime) / params.duration, 1), 0),\n ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time),\n startTime\n );\n }\n \n for (var i = 0; i < _elements.length; i++) {\n if (done) continue;\n el = _elements[i];\n if (el.done) continue;\n \n for (var prop in props) {\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n \n el[prop].currentValue = el[prop].initialValue + easeProgress * (el[prop].finalValue - el[prop].initialValue);\n \n if (el[prop].finalValue > el[prop].initialValue && el[prop].currentValue >= el[prop].finalValue || el[prop].finalValue < el[prop].initialValue && el[prop].currentValue <= el[prop].finalValue) {\n el._container.style[prop] = el[prop].finalValue + el[prop].unit;\n propsDone ++;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone++;\n }\n if (elementsDone === _elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return a;\n }\n el._container.style[prop] = el[prop].currentValue + el[prop].unit;\n }\n }\n \n // Then call\n a.frameId = $.requestAnimationFrame(render);\n }\n a.frameId = $.requestAnimationFrame(render);\n return a;\n };\n var foundInstance;\n for (var i = 0; i < a.elements.length; i++) {\n if (a.elements[i].animate7Instance) {\n foundInstance = a.elements[i].animate7Instance;\n }\n else a.elements[i].animate7Instance = a;\n }\n if (foundInstance) {\n return foundInstance.animate(props, params);\n }\n else a.animate(props, params);\n return a;\n };\n window.Animate7 = function (elements, props, params){\n return new Animate7(elements, props, params);\n };\n Dom7.fn.animate = function (props, params) {\n new Animate7(this, props, params);\n return this;\n };\n\n /*===========================\n Features Support Detection\n ===========================*/\n Framework7.prototype.support = (function () {\n var support = {\n touch: !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch),\n passiveListener: (function () {\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {}\n return supportsPassive;\n })()\n };\n \n // Export object\n return support;\n })();\n \n\n /*===========================\n Device/OS Detection\n ===========================*/\n Framework7.prototype.device = (function () {\n var device = {};\n var ua = navigator.userAgent;\n var $ = Dom7;\n \n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n \n device.ios = device.android = device.iphone = device.ipad = device.androidChrome = false;\n \n // Android\n if (android) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.iphone = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n \n // Webview\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\n \n // Minimal UI\n if (device.os && device.os === 'ios') {\n var osVersionArr = device.osVersion.split('.');\n device.minimalUi = !device.webView &&\n (ipod || iphone) &&\n (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) &&\n $('meta[name=\"viewport\"]').length > 0 && $('meta[name=\"viewport\"]').attr('content').indexOf('minimal-ui') >= 0;\n }\n \n // Check for status bar and fullscreen app mode\n var windowWidth = $(window).width();\n var windowHeight = $(window).height();\n device.statusBar = false;\n if (device.webView && (windowWidth * windowHeight === screen.width * screen.height)) {\n device.statusBar = true;\n }\n else {\n device.statusBar = false;\n }\n \n // Classes\n var classNames = [];\n \n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n classNames.push('pixel-ratio-' + Math.floor(device.pixelRatio));\n if (device.pixelRatio >= 2) {\n classNames.push('retina');\n }\n \n // OS classes\n if (device.os) {\n classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\\./g, '-'));\n if (device.os === 'ios') {\n var major = parseInt(device.osVersion.split('.')[0], 10);\n for (var i = major - 1; i >= 6; i--) {\n classNames.push('ios-gt-' + i);\n }\n }\n \n }\n // Status bar classes\n if (device.statusBar) {\n classNames.push('with-statusbar-overlay');\n }\n else {\n $('html').removeClass('with-statusbar-overlay');\n }\n \n // Add html classes\n if (classNames.length > 0) $('html').addClass(classNames.join(' '));\n \n // Export object\n return device;\n })();\n \n\n /*===========================\n Plugins prototype\n ===========================*/\n Framework7.prototype.plugins = {};\n \n\n /*===========================\n Template7 Template engine\n ===========================*/\n window.Template7 = (function () {\n 'use strict';\n function isArray(arr) {\n return Object.prototype.toString.apply(arr) === '[object Array]';\n }\n function isObject(obj) {\n return obj instanceof Object;\n }\n function isFunction(func) {\n return typeof func === 'function';\n }\n function _escape(string) {\n return typeof window !== 'undefined' && window.escape ? window.escape(string) : string\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"');\n }\n var cache = {};\n var quoteSingleRexExp = new RegExp('\\'', 'g');\n var quoteDoubleRexExp = new RegExp('\"', 'g');\n function helperToSlices(string) {\n var helperParts = string.replace(/[{}#}]/g, '').split(' ');\n var slices = [];\n var shiftIndex, i, j;\n for (i = 0; i < helperParts.length; i++) {\n var part = helperParts[i];\n var blockQuoteRegExp, openingQuote;\n if (i === 0) slices.push(part);\n else {\n if (part.indexOf('\"') === 0 || part.indexOf('\\'') === 0) {\n blockQuoteRegExp = part.indexOf('\"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp;\n openingQuote = part.indexOf('\"') === 0 ? '\"' : '\\'';\n // Plain String\n if (part.match(blockQuoteRegExp).length === 2) {\n // One word string\n slices.push(part);\n }\n else {\n // Find closed Index\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n part += ' ' + helperParts[j];\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n slices.push(part);\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n }\n else {\n if (part.indexOf('=') > 0) {\n // Hash\n var hashParts = part.split('=');\n var hashName = hashParts[0];\n var hashContent = hashParts[1];\n if (hashContent.match(blockQuoteRegExp).length !== 2) {\n shiftIndex = 0;\n for (j = i + 1; j < helperParts.length; j++) {\n hashContent += ' ' + helperParts[j];\n if (helperParts[j].indexOf(openingQuote) >= 0) {\n shiftIndex = j;\n break;\n }\n }\n if (shiftIndex) i = shiftIndex;\n }\n var hash = [hashName, hashContent.replace(blockQuoteRegExp,'')];\n slices.push(hash);\n }\n else {\n // Plain variable\n slices.push(part);\n }\n }\n }\n }\n return slices;\n }\n function stringToBlocks(string) {\n var blocks = [], i, j, k;\n if (!string) return [];\n var _blocks = string.split(/({{[^{^}]*}})/);\n for (i = 0; i < _blocks.length; i++) {\n var block = _blocks[i];\n if (block === '') continue;\n if (block.indexOf('{{') < 0) {\n blocks.push({\n type: 'plain',\n content: block\n });\n }\n else {\n if (block.indexOf('{/') >= 0) {\n continue;\n }\n if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) {\n // Simple variable\n blocks.push({\n type: 'variable',\n contextName: block.replace(/[{}]/g, '')\n });\n continue;\n }\n // Helpers\n var helperSlices = helperToSlices(block);\n var helperName = helperSlices[0];\n var isPartial = helperName === '>';\n var helperContext = [];\n var helperHash = {};\n for (j = 1; j < helperSlices.length; j++) {\n var slice = helperSlices[j];\n if (isArray(slice)) {\n // Hash\n helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1];\n }\n else {\n helperContext.push(slice);\n }\n }\n \n if (block.indexOf('{#') >= 0) {\n // Condition/Helper\n var helperStartIndex = i;\n var helperContent = '';\n var elseContent = '';\n var toSkip = 0;\n var shiftIndex;\n var foundClosed = false, foundElse = false, foundClosedElse = false, depth = 0;\n for (j = i + 1; j < _blocks.length; j++) {\n if (_blocks[j].indexOf('{{#') >= 0) {\n depth ++;\n }\n if (_blocks[j].indexOf('{{/') >= 0) {\n depth --;\n }\n if (_blocks[j].indexOf('{{#' + helperName) >= 0) {\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n toSkip ++;\n }\n else if (_blocks[j].indexOf('{{/' + helperName) >= 0) {\n if (toSkip > 0) {\n toSkip--;\n helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n else {\n shiftIndex = j;\n foundClosed = true;\n break;\n }\n }\n else if (_blocks[j].indexOf('else') >= 0 && depth === 0) {\n foundElse = true;\n }\n else {\n if (!foundElse) helperContent += _blocks[j];\n if (foundElse) elseContent += _blocks[j];\n }\n \n }\n if (foundClosed) {\n if (shiftIndex) i = shiftIndex;\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n content: helperContent,\n inverseContent: elseContent,\n hash: helperHash\n });\n }\n }\n else if (block.indexOf(' ') > 0) {\n if (isPartial) {\n helperName = '_partial';\n if (helperContext[0]) helperContext[0] = '\"' + helperContext[0].replace(/\"|'/g, '') + '\"';\n }\n blocks.push({\n type: 'helper',\n helperName: helperName,\n contextName: helperContext,\n hash: helperHash\n });\n }\n }\n }\n return blocks;\n }\n var Template7 = function (template, options) {\n var t = this;\n t.template = template;\n \n function getCompileFn(block, depth) {\n if (block.content) return compile(block.content, depth);\n else return function () {return ''; };\n }\n function getCompileInverse(block, depth) {\n if (block.inverseContent) return compile(block.inverseContent, depth);\n else return function () {return ''; };\n }\n function getCompileVar(name, ctx) {\n var variable, parts, levelsUp = 0, initialCtx = ctx;\n if (name.indexOf('../') === 0) {\n levelsUp = name.split('../').length - 1;\n var newDepth = ctx.split('_')[1] - levelsUp;\n ctx = 'ctx_' + (newDepth >= 1 ? newDepth : 1);\n parts = name.split('../')[levelsUp].split('.');\n }\n else if (name.indexOf('@global') === 0) {\n ctx = 'Template7.global';\n parts = name.split('@global.')[1].split('.');\n }\n else if (name.indexOf('@root') === 0) {\n ctx = 'root';\n parts = name.split('@root.')[1].split('.');\n }\n else {\n parts = name.split('.');\n }\n variable = ctx;\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n if (part.indexOf('@') === 0) {\n if (i > 0) {\n variable += '[(data && data.' + part.replace('@', '') + ')]';\n }\n else {\n variable = '(data && data.' + name.replace('@', '') + ')';\n }\n }\n else {\n if (isFinite(part)) {\n variable += '[' + part + ']';\n }\n else {\n if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) {\n variable = part.replace('this', ctx);\n }\n else {\n variable += '.' + part;\n }\n }\n }\n }\n \n return variable;\n }\n function getCompiledArguments(contextArray, ctx) {\n var arr = [];\n for (var i = 0; i < contextArray.length; i++) {\n if (/^['\"]/.test(contextArray[i])) arr.push(contextArray[i]);\n else if (/^(true|false|\\d+)$/.test(contextArray[i])) arr.push(contextArray[i]);\n else {\n arr.push(getCompileVar(contextArray[i], ctx));\n }\n }\n \n return arr.join(', ');\n }\n function compile(template, depth) {\n depth = depth || 1;\n template = template || t.template;\n if (typeof template !== 'string') {\n throw new Error('Template7: Template must be a string');\n }\n var blocks = stringToBlocks(template);\n if (blocks.length === 0) {\n return function () { return ''; };\n }\n var ctx = 'ctx_' + depth;\n var resultString = '';\n if (depth === 1) {\n resultString += '(function (' + ctx + ', data, root) {\\n';\n }\n else {\n resultString += '(function (' + ctx + ', data) {\\n';\n }\n if (depth === 1) {\n resultString += 'function isArray(arr){return Object.prototype.toString.apply(arr) === \\'[object Array]\\';}\\n';\n resultString += 'function isFunction(func){return (typeof func === \\'function\\');}\\n';\n resultString += 'function c(val, ctx) {if (typeof val !== \"undefined\" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return \"\";}\\n';\n resultString += 'root = root || ctx_1 || {};\\n';\n }\n resultString += 'var r = \\'\\';\\n';\n var i, j, context;\n for (i = 0; i < blocks.length; i++) {\n var block = blocks[i];\n // Plain block\n if (block.type === 'plain') {\n resultString += 'r +=\\'' + (block.content).replace(/\\r/g, '\\\\r').replace(/\\n/g, '\\\\n').replace(/'/g, '\\\\' + '\\'') + '\\';';\n continue;\n }\n var variable, compiledArguments;\n // Variable block\n if (block.type === 'variable') {\n variable = getCompileVar(block.contextName, ctx);\n resultString += 'r += c(' + variable + ', ' + ctx + ');';\n }\n // Helpers block\n if (block.type === 'helper') {\n if (block.helperName in t.helpers) {\n compiledArguments = getCompiledArguments(block.contextName, ctx);\n \n resultString += 'r += (Template7.helpers.' + block.helperName + ').call(' + ctx + ', ' + (compiledArguments && (compiledArguments + ', ')) +'{hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth + 1) + ', inverse: ' + getCompileInverse(block, depth + 1) + ', root: root});';\n \n }\n else {\n if (block.contextName.length > 0) {\n throw new Error('Template7: Missing helper: \"' + block.helperName + '\"');\n }\n else {\n variable = getCompileVar(block.helperName, ctx);\n resultString += 'if (' + variable + ') {';\n resultString += 'if (isArray(' + variable + ')) {';\n resultString += 'r += (Template7.helpers.each).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});';\n resultString += '}else {';\n resultString += 'r += (Template7.helpers.with).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});';\n resultString += '}}';\n }\n }\n }\n }\n resultString += '\\nreturn r;})';\n return eval.call(window, resultString);\n }\n t.compile = function (template) {\n if (!t.compiled) {\n t.compiled = compile(template);\n }\n return t.compiled;\n };\n };\n Template7.prototype = {\n options: {},\n partials: {},\n helpers: {\n '_partial' : function (partialName, options) {\n var p = Template7.prototype.partials[partialName];\n if (!p || (p && !p.template)) return '';\n if (!p.compiled) {\n p.compiled = new Template7(p.template).compile();\n }\n var ctx = this;\n for (var hashName in options.hash) {\n ctx[hashName] = options.hash[hashName];\n }\n return p.compiled(ctx, options.data, options.root);\n },\n 'escape': function (context, options) {\n if (typeof context !== 'string') {\n throw new Error('Template7: Passed context to \"escape\" helper should be a string');\n }\n return _escape(context);\n },\n 'if': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'unless': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n if (!context) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n },\n 'each': function (context, options) {\n var ret = '', i = 0;\n if (isFunction(context)) { context = context.call(this); }\n if (isArray(context)) {\n if (options.hash.reverse) {\n context = context.reverse();\n }\n for (i = 0; i < context.length; i++) {\n ret += options.fn(context[i], {first: i === 0, last: i === context.length - 1, index: i});\n }\n if (options.hash.reverse) {\n context = context.reverse();\n }\n }\n else {\n for (var key in context) {\n i++;\n ret += options.fn(context[key], {key: key});\n }\n }\n if (i > 0) return ret;\n else return options.inverse(this);\n },\n 'with': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return options.fn(context);\n },\n 'join': function (context, options) {\n if (isFunction(context)) { context = context.call(this); }\n return context.join(options.hash.delimiter || options.hash.delimeter);\n },\n 'js': function (expression, options) {\n var func;\n if (expression.indexOf('return')>=0) {\n func = '(function(){'+expression+'})';\n }\n else {\n func = '(function(){return ('+expression+')})';\n }\n return eval.call(this, func).call(this);\n },\n 'js_compare': function (expression, options) {\n var func;\n if (expression.indexOf('return')>=0) {\n func = '(function(){'+expression+'})';\n }\n else {\n func = '(function(){return ('+expression+')})';\n }\n var condition = eval.call(this, func).call(this);\n if (condition) {\n return options.fn(this, options.data);\n }\n else {\n return options.inverse(this, options.data);\n }\n }\n }\n };\n var t7 = function (template, data) {\n if (arguments.length === 2) {\n var instance = new Template7(template);\n var rendered = instance.compile()(data);\n instance = null;\n return (rendered);\n }\n else return new Template7(template);\n };\n t7.registerHelper = function (name, fn) {\n Template7.prototype.helpers[name] = fn;\n };\n t7.unregisterHelper = function (name) {\n Template7.prototype.helpers[name] = undefined;\n delete Template7.prototype.helpers[name];\n };\n t7.registerPartial = function (name, template) {\n Template7.prototype.partials[name] = {template: template};\n };\n t7.unregisterPartial = function (name, template) {\n if (Template7.prototype.partials[name]) {\n Template7.prototype.partials[name] = undefined;\n delete Template7.prototype.partials[name];\n }\n };\n t7.compile = function (template, options) {\n var instance = new Template7(template, options);\n return instance.compile();\n };\n \n t7.options = Template7.prototype.options;\n t7.helpers = Template7.prototype.helpers;\n t7.partials = Template7.prototype.partials;\n return t7;\n })();\n\n /*===========================\n Swiper\n ===========================*/\n window.Swiper = function (container, params) {\n if (!(this instanceof Swiper)) return new Swiper(container, params);\n var defaults = {\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n // autoplay\n autoplay: false,\n autoplayDisableOnInteraction: true,\n autoplayStopOnLast: false,\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\n iOSEdgeSwipeDetection: false,\n iOSEdgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n coverflow: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows : true\n },\n flip: {\n slideShadows : true,\n limitRotation: true\n },\n cube: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94\n },\n fade: {\n crossFade: false\n },\n // Parallax\n parallax: false,\n // Zoom\n zoom: false,\n zoomMax: 3,\n zoomMin: 1,\n zoomToggle: true,\n // Scrollbar\n scrollbar: null,\n scrollbarHide: true,\n scrollbarDraggable: false,\n scrollbarSnapOnRelease: false,\n // Keyboard Mousewheel\n keyboardControl: false,\n mousewheelControl: false,\n mousewheelReleaseOnEdges: false,\n mousewheelInvert: false,\n mousewheelForceToAxis: false,\n mousewheelSensitivity: 1,\n mousewheelEventsTarged: 'container',\n // Hash Navigation\n hashnav: false,\n hashnavWatchState: false,\n // History\n history: false,\n // Commong Nav State\n replaceState: false,\n // Breakpoints\n breakpoints: undefined,\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0, // in px\n slidesOffsetAfter: 0, // in px\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n onlyExternal: false,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Pagination\n pagination: null,\n paginationElement: 'span',\n paginationClickable: false,\n paginationHide: false,\n paginationBulletRender: null,\n paginationProgressRender: null,\n paginationFractionRender: null,\n paginationCustomRender: null,\n paginationType: 'bullets', // 'bullets' or 'progress' or 'fraction' or 'custom'\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Next/prev buttons\n nextButton: null,\n prevButton: null,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Lazy Loading\n lazyLoading: false,\n lazyLoadingInPrevNext: false,\n lazyLoadingInPrevNextAmount: 1,\n lazyLoadingOnTransitionStart: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n // Control\n control: undefined,\n controlInverse: false,\n controlBy: 'slide', //or 'container'\n normalizeSlideIndex: true,\n // Swiping/no swiping\n allowSwipeToPrev: true,\n allowSwipeToNext: true,\n swipeHandler: null, //'.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-', // NEW\n slideClass: 'swiper-slide',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n buttonDisabledClass: 'swiper-button-disabled',\n paginationCurrentClass: 'swiper-pagination-current',\n paginationTotalClass: 'swiper-pagination-total',\n paginationHiddenClass: 'swiper-pagination-hidden',\n paginationProgressbarClass: 'swiper-pagination-progressbar',\n paginationClickableClass: 'swiper-pagination-clickable', // NEW\n paginationModifierClass: 'swiper-pagination-', // NEW\n lazyLoadingClass: 'swiper-lazy',\n lazyStatusLoadingClass: 'swiper-lazy-loading',\n lazyStatusLoadedClass: 'swiper-lazy-loaded',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n notificationClass: 'swiper-notification',\n preloaderClass: 'preloader',\n zoomContainerClass: 'swiper-zoom-container',\n \n // Observer\n observer: false,\n observeParents: false,\n // Accessibility\n a11y: false,\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n // Callbacks\n runCallbacksOnInit: true\n /*\n Callbacks:\n onInit: function (swiper)\n onDestroy: function (swiper)\n onClick: function (swiper, e)\n onTap: function (swiper, e)\n onDoubleTap: function (swiper, e)\n onSliderMove: function (swiper, e)\n onSlideChangeStart: function (swiper)\n onSlideChangeEnd: function (swiper)\n onTransitionStart: function (swiper)\n onTransitionEnd: function (swiper)\n onImagesReady: function (swiper)\n onProgress: function (swiper, progress)\n onTouchStart: function (swiper, e)\n onTouchMove: function (swiper, e)\n onTouchMoveOpposite: function (swiper, e)\n onTouchEnd: function (swiper, e)\n onReachBeginning: function (swiper)\n onReachEnd: function (swiper)\n onSetTransition: function (swiper, duration)\n onSetTranslate: function (swiper, translate)\n onAutoplayStart: function (swiper)\n onAutoplayStop: function (swiper),\n onLazyImageLoad: function (swiper, slide, image)\n onLazyImageReady: function (swiper, slide, image)\n */\n \n };\n var initialVirtualTranslate = params && params.virtualTranslate;\n \n params = params || {};\n var originalParams = {};\n for (var param in params) {\n if (typeof params[param] === 'object' && params[param] !== null && !(params[param].nodeType || params[param] === window || params[param] === document || (typeof Dom7 !== 'undefined' && params[param] instanceof Dom7) || (typeof jQuery !== 'undefined' && params[param] instanceof jQuery))) {\n originalParams[param] = {};\n for (var deepParam in params[param]) {\n originalParams[param][deepParam] = params[param][deepParam];\n }\n }\n else {\n originalParams[param] = params[param];\n }\n }\n for (var def in defaults) {\n if (typeof params[def] === 'undefined') {\n params[def] = defaults[def];\n }\n else if (typeof params[def] === 'object') {\n for (var deepDef in defaults[def]) {\n if (typeof params[def][deepDef] === 'undefined') {\n params[def][deepDef] = defaults[def][deepDef];\n }\n }\n }\n }\n \n // Swiper\n var s = this;\n \n // Params\n s.params = params;\n s.originalParams = originalParams;\n \n // Classname\n s.classNames = [];\n /*=========================\n Dom Library and plugins\n ===========================*/\n if (typeof $ !== 'undefined' && typeof Dom7 !== 'undefined'){\n $ = Dom7;\n }\n if (typeof $ === 'undefined') {\n if (typeof Dom7 === 'undefined') {\n $ = window.Dom7 || window.Zepto || window.jQuery;\n }\n else {\n $ = Dom7;\n }\n if (!$) return;\n }\n // Export it to Swiper instance\n s.$ = $;\n \n /*=========================\n Breakpoints\n ===========================*/\n s.currentBreakpoint = undefined;\n s.getActiveBreakpoint = function () {\n //Get breakpoint for window width\n if (!s.params.breakpoints) return false;\n var breakpoint = false;\n var points = [], point;\n for ( point in s.params.breakpoints ) {\n if (s.params.breakpoints.hasOwnProperty(point)) {\n points.push(point);\n }\n }\n points.sort(function (a, b) {\n return parseInt(a, 10) > parseInt(b, 10);\n });\n for (var i = 0; i < points.length; i++) {\n point = points[i];\n if (point >= window.innerWidth && !breakpoint) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n };\n s.setBreakpoint = function () {\n //Set breakpoint for window width and update parameters\n var breakpoint = s.getActiveBreakpoint();\n if (breakpoint && s.currentBreakpoint !== breakpoint) {\n var breakPointsParams = breakpoint in s.params.breakpoints ? s.params.breakpoints[breakpoint] : s.originalParams;\n var needsReLoop = s.params.loop && (breakPointsParams.slidesPerView !== s.params.slidesPerView);\n for ( var param in breakPointsParams ) {\n s.params[param] = breakPointsParams[param];\n }\n s.currentBreakpoint = breakpoint;\n if(needsReLoop && s.destroyLoop) {\n s.reLoop(true);\n }\n }\n };\n // Set breakpoint on load\n if (s.params.breakpoints) {\n s.setBreakpoint();\n }\n \n /*=========================\n Preparation - Define Container, Wrapper and Pagination\n ===========================*/\n s.container = $(container);\n if (s.container.length === 0) return;\n if (s.container.length > 1) {\n var swipers = [];\n s.container.each(function () {\n var container = this;\n swipers.push(new Swiper(this, params));\n });\n return swipers;\n }\n \n // Save instance in container HTML Element and in data\n s.container[0].swiper = s;\n s.container.data('swiper', s);\n \n s.classNames.push(s.params.containerModifierClass + s.params.direction);\n \n if (s.params.freeMode) {\n s.classNames.push(s.params.containerModifierClass + 'free-mode');\n }\n if (!s.support.flexbox) {\n s.classNames.push(s.params.containerModifierClass + 'no-flexbox');\n s.params.slidesPerColumn = 1;\n }\n if (s.params.autoHeight) {\n s.classNames.push(s.params.containerModifierClass + 'autoheight');\n }\n // Enable slides progress when required\n if (s.params.parallax || s.params.watchSlidesVisibility) {\n s.params.watchSlidesProgress = true;\n }\n // Max resistance when touchReleaseOnEdges\n if (s.params.touchReleaseOnEdges) {\n s.params.resistanceRatio = 0;\n }\n // Coverflow / 3D\n if (['cube', 'coverflow', 'flip'].indexOf(s.params.effect) >= 0) {\n if (s.support.transforms3d) {\n s.params.watchSlidesProgress = true;\n s.classNames.push(s.params.containerModifierClass + '3d');\n }\n else {\n s.params.effect = 'slide';\n }\n }\n if (s.params.effect !== 'slide') {\n s.classNames.push(s.params.containerModifierClass + s.params.effect);\n }\n if (s.params.effect === 'cube') {\n s.params.resistanceRatio = 0;\n s.params.slidesPerView = 1;\n s.params.slidesPerColumn = 1;\n s.params.slidesPerGroup = 1;\n s.params.centeredSlides = false;\n s.params.spaceBetween = 0;\n s.params.virtualTranslate = true;\n s.params.setWrapperSize = false;\n }\n if (s.params.effect === 'fade' || s.params.effect === 'flip') {\n s.params.slidesPerView = 1;\n s.params.slidesPerColumn = 1;\n s.params.slidesPerGroup = 1;\n s.params.watchSlidesProgress = true;\n s.params.spaceBetween = 0;\n s.params.setWrapperSize = false;\n if (typeof initialVirtualTranslate === 'undefined') {\n s.params.virtualTranslate = true;\n }\n }\n \n // Grab Cursor\n if (s.params.grabCursor && s.support.touch) {\n s.params.grabCursor = false;\n }\n \n // Wrapper\n s.wrapper = s.container.children('.' + s.params.wrapperClass);\n \n // Pagination\n if (s.params.pagination) {\n s.paginationContainer = $(s.params.pagination);\n if (s.params.uniqueNavElements && typeof s.params.pagination === 'string' && s.paginationContainer.length > 1 && s.container.find(s.params.pagination).length === 1) {\n s.paginationContainer = s.container.find(s.params.pagination);\n }\n \n if (s.params.paginationType === 'bullets' && s.params.paginationClickable) {\n s.paginationContainer.addClass(s.params.paginationModifierClass + 'clickable');\n }\n else {\n s.params.paginationClickable = false;\n }\n s.paginationContainer.addClass(s.params.paginationModifierClass + s.params.paginationType);\n }\n // Next/Prev Buttons\n if (s.params.nextButton || s.params.prevButton) {\n if (s.params.nextButton) {\n s.nextButton = $(s.params.nextButton);\n if (s.params.uniqueNavElements && typeof s.params.nextButton === 'string' && s.nextButton.length > 1 && s.container.find(s.params.nextButton).length === 1) {\n s.nextButton = s.container.find(s.params.nextButton);\n }\n }\n if (s.params.prevButton) {\n s.prevButton = $(s.params.prevButton);\n if (s.params.uniqueNavElements && typeof s.params.prevButton === 'string' && s.prevButton.length > 1 && s.container.find(s.params.prevButton).length === 1) {\n s.prevButton = s.container.find(s.params.prevButton);\n }\n }\n }\n \n // Is Horizontal\n s.isHorizontal = function () {\n return s.params.direction === 'horizontal';\n };\n // s.isH = isH;\n \n // RTL\n s.rtl = s.isHorizontal() && (s.container[0].dir.toLowerCase() === 'rtl' || s.container.css('direction') === 'rtl');\n if (s.rtl) {\n s.classNames.push(s.params.containerModifierClass + 'rtl');\n }\n \n // Wrong RTL support\n if (s.rtl) {\n s.wrongRTL = s.wrapper.css('display') === '-webkit-box';\n }\n \n // Columns\n if (s.params.slidesPerColumn > 1) {\n s.classNames.push(s.params.containerModifierClass + 'multirow');\n }\n \n // Check for Android\n if (s.device.android) {\n s.classNames.push(s.params.containerModifierClass + 'android');\n }\n \n // Add classes\n s.container.addClass(s.classNames.join(' '));\n \n // Translate\n s.translate = 0;\n \n // Progress\n s.progress = 0;\n \n // Velocity\n s.velocity = 0;\n \n /*=========================\n Locks, unlocks\n ===========================*/\n s.lockSwipeToNext = function () {\n s.params.allowSwipeToNext = false;\n if (s.params.allowSwipeToPrev === false && s.params.grabCursor) {\n s.unsetGrabCursor();\n }\n };\n s.lockSwipeToPrev = function () {\n s.params.allowSwipeToPrev = false;\n if (s.params.allowSwipeToNext === false && s.params.grabCursor) {\n s.unsetGrabCursor();\n }\n };\n s.lockSwipes = function () {\n s.params.allowSwipeToNext = s.params.allowSwipeToPrev = false;\n if (s.params.grabCursor) s.unsetGrabCursor();\n };\n s.unlockSwipeToNext = function () {\n s.params.allowSwipeToNext = true;\n if (s.params.allowSwipeToPrev === true && s.params.grabCursor) {\n s.setGrabCursor();\n }\n };\n s.unlockSwipeToPrev = function () {\n s.params.allowSwipeToPrev = true;\n if (s.params.allowSwipeToNext === true && s.params.grabCursor) {\n s.setGrabCursor();\n }\n };\n s.unlockSwipes = function () {\n s.params.allowSwipeToNext = s.params.allowSwipeToPrev = true;\n if (s.params.grabCursor) s.setGrabCursor();\n };\n \n /*=========================\n Round helper\n ===========================*/\n function round(a) {\n return Math.floor(a);\n }\n /*=========================\n Set grab cursor\n ===========================*/\n s.setGrabCursor = function(moving) {\n s.container[0].style.cursor = 'move';\n s.container[0].style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n s.container[0].style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n s.container[0].style.cursor = moving ? 'grabbing': 'grab';\n };\n s.unsetGrabCursor = function () {\n s.container[0].style.cursor = '';\n };\n if (s.params.grabCursor) {\n s.setGrabCursor();\n }\n /*=========================\n Update on Images Ready\n ===========================*/\n s.imagesToLoad = [];\n s.imagesLoaded = 0;\n \n s.loadImage = function (imgElement, src, srcset, sizes, checkForComplete, callback) {\n var image;\n function onReady () {\n if (callback) callback();\n }\n if (!imgElement.complete || !checkForComplete) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n if (sizes) {\n image.sizes = sizes;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n \n } else {//image already loaded...\n onReady();\n }\n };\n s.preloadImages = function () {\n s.imagesToLoad = s.container.find('img');\n function _onReady() {\n if (typeof s === 'undefined' || s === null) return;\n if (s.imagesLoaded !== undefined) s.imagesLoaded++;\n if (s.imagesLoaded === s.imagesToLoad.length) {\n if (s.params.updateOnImagesReady) s.update();\n s.emit('onImagesReady', s);\n }\n }\n for (var i = 0; i < s.imagesToLoad.length; i++) {\n s.loadImage(s.imagesToLoad[i], (s.imagesToLoad[i].currentSrc || s.imagesToLoad[i].getAttribute('src')), (s.imagesToLoad[i].srcset || s.imagesToLoad[i].getAttribute('srcset')), s.imagesToLoad[i].sizes || s.imagesToLoad[i].getAttribute('sizes'), true, _onReady);\n }\n };\n \n /*=========================\n Autoplay\n ===========================*/\n s.autoplayTimeoutId = undefined;\n s.autoplaying = false;\n s.autoplayPaused = false;\n function autoplay() {\n var autoplayDelay = s.params.autoplay;\n var activeSlide = s.slides.eq(s.activeIndex);\n if (activeSlide.attr('data-swiper-autoplay')) {\n autoplayDelay = activeSlide.attr('data-swiper-autoplay') || s.params.autoplay;\n }\n s.autoplayTimeoutId = setTimeout(function () {\n if (s.params.loop) {\n s.fixLoop();\n s._slideNext();\n s.emit('onAutoplay', s);\n }\n else {\n if (!s.isEnd) {\n s._slideNext();\n s.emit('onAutoplay', s);\n }\n else {\n if (!params.autoplayStopOnLast) {\n s._slideTo(0);\n s.emit('onAutoplay', s);\n }\n else {\n s.stopAutoplay();\n }\n }\n }\n }, autoplayDelay);\n }\n s.startAutoplay = function () {\n if (typeof s.autoplayTimeoutId !== 'undefined') return false;\n if (!s.params.autoplay) return false;\n if (s.autoplaying) return false;\n s.autoplaying = true;\n s.emit('onAutoplayStart', s);\n autoplay();\n };\n s.stopAutoplay = function (internal) {\n if (!s.autoplayTimeoutId) return;\n if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId);\n s.autoplaying = false;\n s.autoplayTimeoutId = undefined;\n s.emit('onAutoplayStop', s);\n };\n s.pauseAutoplay = function (speed) {\n if (s.autoplayPaused) return;\n if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId);\n s.autoplayPaused = true;\n if (speed === 0) {\n s.autoplayPaused = false;\n autoplay();\n }\n else {\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.autoplayPaused = false;\n if (!s.autoplaying) {\n s.stopAutoplay();\n }\n else {\n autoplay();\n }\n });\n }\n };\n /*=========================\n Min/Max Translate\n ===========================*/\n s.minTranslate = function () {\n return (-s.snapGrid[0]);\n };\n s.maxTranslate = function () {\n return (-s.snapGrid[s.snapGrid.length - 1]);\n };\n /*=========================\n Slider/slides sizes\n ===========================*/\n s.updateAutoHeight = function () {\n var activeSlides = [];\n var newHeight = 0;\n \n // Find slides currently in view\n if(s.params.slidesPerView !== 'auto' && s.params.slidesPerView > 1) {\n for (i = 0; i < Math.ceil(s.params.slidesPerView); i++) {\n var index = s.activeIndex + i;\n if(index > s.slides.length) break;\n activeSlides.push(s.slides.eq(index)[0]);\n }\n } else {\n activeSlides.push(s.slides.eq(s.activeIndex)[0]);\n }\n \n // Find new height from heighest slide in view\n for (i = 0; i < activeSlides.length; i++) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n \n // Update Height\n if (newHeight) s.wrapper.css('height', newHeight + 'px');\n };\n s.updateContainerSize = function () {\n var width, height;\n if (typeof s.params.width !== 'undefined') {\n width = s.params.width;\n }\n else {\n width = s.container[0].clientWidth;\n }\n if (typeof s.params.height !== 'undefined') {\n height = s.params.height;\n }\n else {\n height = s.container[0].clientHeight;\n }\n if (width === 0 && s.isHorizontal() || height === 0 && !s.isHorizontal()) {\n return;\n }\n \n //Subtract paddings\n width = width - parseInt(s.container.css('padding-left'), 10) - parseInt(s.container.css('padding-right'), 10);\n height = height - parseInt(s.container.css('padding-top'), 10) - parseInt(s.container.css('padding-bottom'), 10);\n \n // Store values\n s.width = width;\n s.height = height;\n s.size = s.isHorizontal() ? s.width : s.height;\n };\n \n s.updateSlidesSize = function () {\n s.slides = s.wrapper.children('.' + s.params.slideClass);\n s.snapGrid = [];\n s.slidesGrid = [];\n s.slidesSizesGrid = [];\n \n var spaceBetween = s.params.spaceBetween,\n slidePosition = -s.params.slidesOffsetBefore,\n i,\n prevSlideSize = 0,\n index = 0;\n if (typeof s.size === 'undefined') return;\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * s.size;\n }\n \n s.virtualSize = -spaceBetween;\n // reset margins\n if (s.rtl) s.slides.css({marginLeft: '', marginTop: ''});\n else s.slides.css({marginRight: '', marginBottom: ''});\n \n var slidesNumberEvenToRows;\n if (s.params.slidesPerColumn > 1) {\n if (Math.floor(s.slides.length / s.params.slidesPerColumn) === s.slides.length / s.params.slidesPerColumn) {\n slidesNumberEvenToRows = s.slides.length;\n }\n else {\n slidesNumberEvenToRows = Math.ceil(s.slides.length / s.params.slidesPerColumn) * s.params.slidesPerColumn;\n }\n if (s.params.slidesPerView !== 'auto' && s.params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, s.params.slidesPerView * s.params.slidesPerColumn);\n }\n }\n \n // Calc slides\n var slideSize;\n var slidesPerColumn = s.params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = slidesPerRow - (s.params.slidesPerColumn * slidesPerRow - s.slides.length);\n for (i = 0; i < s.slides.length; i++) {\n slideSize = 0;\n var slide = s.slides.eq(i);\n if (s.params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex;\n var column, row;\n if (s.params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn-1)) {\n if (++row >= slidesPerColumn) {\n row = 0;\n column++;\n }\n }\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide\n .css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n 'order': newSlideOrderIndex\n });\n }\n else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n slide\n .css(\n 'margin-' + (s.isHorizontal() ? 'top' : 'left'),\n (row !== 0 && s.params.spaceBetween) && (s.params.spaceBetween + 'px')\n )\n .attr('data-swiper-column', column)\n .attr('data-swiper-row', row);\n \n }\n if (slide.css('display') === 'none') continue;\n if (s.params.slidesPerView === 'auto') {\n slideSize = s.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n if (s.params.roundLengths) slideSize = round(slideSize);\n }\n else {\n slideSize = (s.size - (s.params.slidesPerView - 1) * spaceBetween) / s.params.slidesPerView;\n if (s.params.roundLengths) slideSize = round(slideSize);\n \n if (s.isHorizontal()) {\n s.slides[i].style.width = slideSize + 'px';\n }\n else {\n s.slides[i].style.height = slideSize + 'px';\n }\n }\n s.slides[i].swiperSlideSize = slideSize;\n s.slidesSizesGrid.push(slideSize);\n \n \n if (s.params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (i === 0) slidePosition = slidePosition - s.size / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition);\n s.slidesGrid.push(slidePosition);\n }\n else {\n if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition);\n s.slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n \n s.virtualSize += slideSize + spaceBetween;\n \n prevSlideSize = slideSize;\n \n index ++;\n }\n s.virtualSize = Math.max(s.virtualSize, s.size) + s.params.slidesOffsetAfter;\n var newSlidesGrid;\n \n if (\n s.rtl && s.wrongRTL && (s.params.effect === 'slide' || s.params.effect === 'coverflow')) {\n s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\n }\n if (!s.support.flexbox || s.params.setWrapperSize) {\n if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\n else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'});\n }\n \n if (s.params.slidesPerColumn > 1) {\n s.virtualSize = (slideSize + s.params.spaceBetween) * slidesNumberEvenToRows;\n s.virtualSize = Math.ceil(s.virtualSize / s.params.slidesPerColumn) - s.params.spaceBetween;\n if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'});\n else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'});\n if (s.params.centeredSlides) {\n newSlidesGrid = [];\n for (i = 0; i < s.snapGrid.length; i++) {\n if (s.snapGrid[i] < s.virtualSize + s.snapGrid[0]) newSlidesGrid.push(s.snapGrid[i]);\n }\n s.snapGrid = newSlidesGrid;\n }\n }\n \n // Remove last grid elements depending on width\n if (!s.params.centeredSlides) {\n newSlidesGrid = [];\n for (i = 0; i < s.snapGrid.length; i++) {\n if (s.snapGrid[i] <= s.virtualSize - s.size) {\n newSlidesGrid.push(s.snapGrid[i]);\n }\n }\n s.snapGrid = newSlidesGrid;\n if (Math.floor(s.virtualSize - s.size) - Math.floor(s.snapGrid[s.snapGrid.length - 1]) > 1) {\n s.snapGrid.push(s.virtualSize - s.size);\n }\n }\n if (s.snapGrid.length === 0) s.snapGrid = [0];\n \n if (s.params.spaceBetween !== 0) {\n if (s.isHorizontal()) {\n if (s.rtl) s.slides.css({marginLeft: spaceBetween + 'px'});\n else s.slides.css({marginRight: spaceBetween + 'px'});\n }\n else s.slides.css({marginBottom: spaceBetween + 'px'});\n }\n if (s.params.watchSlidesProgress) {\n s.updateSlidesOffset();\n }\n };\n s.updateSlidesOffset = function () {\n for (var i = 0; i < s.slides.length; i++) {\n s.slides[i].swiperSlideOffset = s.isHorizontal() ? s.slides[i].offsetLeft : s.slides[i].offsetTop;\n }\n };\n \n /*=========================\n Slider/slides progress\n ===========================*/\n s.updateSlidesProgress = function (translate) {\n if (typeof translate === 'undefined') {\n translate = s.translate || 0;\n }\n if (s.slides.length === 0) return;\n if (typeof s.slides[0].swiperSlideOffset === 'undefined') s.updateSlidesOffset();\n \n var offsetCenter = -translate;\n if (s.rtl) offsetCenter = translate;\n \n // Visible Slides\n s.slides.removeClass(s.params.slideVisibleClass);\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides[i];\n var slideProgress = (offsetCenter + (s.params.centeredSlides ? s.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + s.params.spaceBetween);\n if (s.params.watchSlidesVisibility) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + s.slidesSizesGrid[i];\n var isVisible =\n (slideBefore >= 0 && slideBefore < s.size) ||\n (slideAfter > 0 && slideAfter <= s.size) ||\n (slideBefore <= 0 && slideAfter >= s.size);\n if (isVisible) {\n s.slides.eq(i).addClass(s.params.slideVisibleClass);\n }\n }\n slide.progress = s.rtl ? -slideProgress : slideProgress;\n }\n };\n s.updateProgress = function (translate) {\n if (typeof translate === 'undefined') {\n translate = s.translate || 0;\n }\n var translatesDiff = s.maxTranslate() - s.minTranslate();\n var wasBeginning = s.isBeginning;\n var wasEnd = s.isEnd;\n if (translatesDiff === 0) {\n s.progress = 0;\n s.isBeginning = s.isEnd = true;\n }\n else {\n s.progress = (translate - s.minTranslate()) / (translatesDiff);\n s.isBeginning = s.progress <= 0;\n s.isEnd = s.progress >= 1;\n }\n if (s.isBeginning && !wasBeginning) s.emit('onReachBeginning', s);\n if (s.isEnd && !wasEnd) s.emit('onReachEnd', s);\n \n if (s.params.watchSlidesProgress) s.updateSlidesProgress(translate);\n s.emit('onProgress', s, s.progress);\n };\n s.updateActiveIndex = function () {\n var translate = s.rtl ? s.translate : -s.translate;\n var newActiveIndex, i, snapIndex;\n for (i = 0; i < s.slidesGrid.length; i ++) {\n if (typeof s.slidesGrid[i + 1] !== 'undefined') {\n if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1] - (s.slidesGrid[i + 1] - s.slidesGrid[i]) / 2) {\n newActiveIndex = i;\n }\n else if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1]) {\n newActiveIndex = i + 1;\n }\n }\n else {\n if (translate >= s.slidesGrid[i]) {\n newActiveIndex = i;\n }\n }\n }\n // Normalize slideIndex\n if(s.params.normalizeSlideIndex){\n if (newActiveIndex < 0 || typeof newActiveIndex === 'undefined') newActiveIndex = 0;\n }\n // for (i = 0; i < s.slidesGrid.length; i++) {\n // if (- translate >= s.slidesGrid[i]) {\n // newActiveIndex = i;\n // }\n // }\n snapIndex = Math.floor(newActiveIndex / s.params.slidesPerGroup);\n if (snapIndex >= s.snapGrid.length) snapIndex = s.snapGrid.length - 1;\n \n if (newActiveIndex === s.activeIndex) {\n return;\n }\n s.snapIndex = snapIndex;\n s.previousIndex = s.activeIndex;\n s.activeIndex = newActiveIndex;\n s.updateClasses();\n s.updateRealIndex();\n };\n s.updateRealIndex = function(){\n s.realIndex = s.slides.eq(s.activeIndex).attr('data-swiper-slide-index') || s.activeIndex;\n };\n \n /*=========================\n Classes\n ===========================*/\n s.updateClasses = function () {\n s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass + ' ' + s.params.slideDuplicateActiveClass + ' ' + s.params.slideDuplicateNextClass + ' ' + s.params.slideDuplicatePrevClass);\n var activeSlide = s.slides.eq(s.activeIndex);\n // Active classes\n activeSlide.addClass(s.params.slideActiveClass);\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(s.params.slideDuplicateClass)) {\n s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index=\"' + s.realIndex + '\"]').addClass(s.params.slideDuplicateActiveClass);\n }\n else {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + s.realIndex + '\"]').addClass(s.params.slideDuplicateActiveClass);\n }\n }\n // Next Slide\n var nextSlide = activeSlide.next('.' + s.params.slideClass).addClass(s.params.slideNextClass);\n if (s.params.loop && nextSlide.length === 0) {\n nextSlide = s.slides.eq(0);\n nextSlide.addClass(s.params.slideNextClass);\n }\n // Prev Slide\n var prevSlide = activeSlide.prev('.' + s.params.slideClass).addClass(s.params.slidePrevClass);\n if (s.params.loop && prevSlide.length === 0) {\n prevSlide = s.slides.eq(-1);\n prevSlide.addClass(s.params.slidePrevClass);\n }\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(s.params.slideDuplicateClass)) {\n s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index=\"' + nextSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicateNextClass);\n }\n else {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + nextSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicateNextClass);\n }\n if (prevSlide.hasClass(s.params.slideDuplicateClass)) {\n s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index=\"' + prevSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicatePrevClass);\n }\n else {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + prevSlide.attr('data-swiper-slide-index') + '\"]').addClass(s.params.slideDuplicatePrevClass);\n }\n }\n \n // Pagination\n if (s.paginationContainer && s.paginationContainer.length > 0) {\n // Current/Total\n var current,\n total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length;\n if (s.params.loop) {\n current = Math.ceil((s.activeIndex - s.loopedSlides)/s.params.slidesPerGroup);\n if (current > s.slides.length - 1 - s.loopedSlides * 2) {\n current = current - (s.slides.length - s.loopedSlides * 2);\n }\n if (current > total - 1) current = current - total;\n if (current < 0 && s.params.paginationType !== 'bullets') current = total + current;\n }\n else {\n if (typeof s.snapIndex !== 'undefined') {\n current = s.snapIndex;\n }\n else {\n current = s.activeIndex || 0;\n }\n }\n // Types\n if (s.params.paginationType === 'bullets' && s.bullets && s.bullets.length > 0) {\n s.bullets.removeClass(s.params.bulletActiveClass);\n if (s.paginationContainer.length > 1) {\n s.bullets.each(function () {\n if ($(this).index() === current) $(this).addClass(s.params.bulletActiveClass);\n });\n }\n else {\n s.bullets.eq(current).addClass(s.params.bulletActiveClass);\n }\n }\n if (s.params.paginationType === 'fraction') {\n s.paginationContainer.find('.' + s.params.paginationCurrentClass).text(current + 1);\n s.paginationContainer.find('.' + s.params.paginationTotalClass).text(total);\n }\n if (s.params.paginationType === 'progress') {\n var scale = (current + 1) / total,\n scaleX = scale,\n scaleY = 1;\n if (!s.isHorizontal()) {\n scaleY = scale;\n scaleX = 1;\n }\n s.paginationContainer.find('.' + s.params.paginationProgressbarClass).transform('translate3d(0,0,0) scaleX(' + scaleX + ') scaleY(' + scaleY + ')').transition(s.params.speed);\n }\n if (s.params.paginationType === 'custom' && s.params.paginationCustomRender) {\n s.paginationContainer.html(s.params.paginationCustomRender(s, current + 1, total));\n s.emit('onPaginationRendered', s, s.paginationContainer[0]);\n }\n }\n \n // Next/active buttons\n if (!s.params.loop) {\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\n if (s.isBeginning) {\n s.prevButton.addClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.disable(s.prevButton);\n }\n else {\n s.prevButton.removeClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.enable(s.prevButton);\n }\n }\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\n if (s.isEnd) {\n s.nextButton.addClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.disable(s.nextButton);\n }\n else {\n s.nextButton.removeClass(s.params.buttonDisabledClass);\n if (s.params.a11y && s.a11y) s.a11y.enable(s.nextButton);\n }\n }\n }\n };\n \n /*=========================\n Pagination\n ===========================*/\n s.updatePagination = function () {\n if (!s.params.pagination) return;\n if (s.paginationContainer && s.paginationContainer.length > 0) {\n var paginationHTML = '';\n if (s.params.paginationType === 'bullets') {\n var numberOfBullets = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length;\n for (var i = 0; i < numberOfBullets; i++) {\n if (s.params.paginationBulletRender) {\n paginationHTML += s.params.paginationBulletRender(s, i, s.params.bulletClass);\n }\n else {\n paginationHTML += '<' + s.params.paginationElement+' class=\"' + s.params.bulletClass + '\">';\n }\n }\n s.paginationContainer.html(paginationHTML);\n s.bullets = s.paginationContainer.find('.' + s.params.bulletClass);\n if (s.params.paginationClickable && s.params.a11y && s.a11y) {\n s.a11y.initPagination();\n }\n }\n if (s.params.paginationType === 'fraction') {\n if (s.params.paginationFractionRender) {\n paginationHTML = s.params.paginationFractionRender(s, s.params.paginationCurrentClass, s.params.paginationTotalClass);\n }\n else {\n paginationHTML =\n '' +\n ' / ' +\n '';\n }\n s.paginationContainer.html(paginationHTML);\n }\n if (s.params.paginationType === 'progress') {\n if (s.params.paginationProgressRender) {\n paginationHTML = s.params.paginationProgressRender(s, s.params.paginationProgressbarClass);\n }\n else {\n paginationHTML = '';\n }\n s.paginationContainer.html(paginationHTML);\n }\n if (s.params.paginationType !== 'custom') {\n s.emit('onPaginationRendered', s, s.paginationContainer[0]);\n }\n }\n };\n /*=========================\n Common update method\n ===========================*/\n s.update = function (updateTranslate) {\n s.updateContainerSize();\n s.updateSlidesSize();\n s.updateProgress();\n s.updatePagination();\n s.updateClasses();\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.set();\n }\n function forceSetTranslate() {\n var translate = s.rtl ? -s.translate : s.translate;\n newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate());\n s.setWrapperTranslate(newTranslate);\n s.updateActiveIndex();\n s.updateClasses();\n }\n if (updateTranslate) {\n var translated, newTranslate;\n if (s.controller && s.controller.spline) {\n s.controller.spline = undefined;\n }\n if (s.params.freeMode) {\n forceSetTranslate();\n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n }\n else {\n if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) {\n translated = s.slideTo(s.slides.length - 1, 0, false, true);\n }\n else {\n translated = s.slideTo(s.activeIndex, 0, false, true);\n }\n if (!translated) {\n forceSetTranslate();\n }\n }\n }\n else if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n };\n \n /*=========================\n Resize Handler\n ===========================*/\n s.onResize = function (forceUpdatePagination) {\n //Breakpoints\n if (s.params.breakpoints) {\n s.setBreakpoint();\n }\n \n // Disable locks on resize\n var allowSwipeToPrev = s.params.allowSwipeToPrev;\n var allowSwipeToNext = s.params.allowSwipeToNext;\n s.params.allowSwipeToPrev = s.params.allowSwipeToNext = true;\n \n s.updateContainerSize();\n s.updateSlidesSize();\n if (s.params.slidesPerView === 'auto' || s.params.freeMode || forceUpdatePagination) s.updatePagination();\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.set();\n }\n if (s.controller && s.controller.spline) {\n s.controller.spline = undefined;\n }\n var slideChangedBySlideTo = false;\n if (s.params.freeMode) {\n var newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate());\n s.setWrapperTranslate(newTranslate);\n s.updateActiveIndex();\n s.updateClasses();\n \n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n }\n else {\n s.updateClasses();\n if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) {\n slideChangedBySlideTo = s.slideTo(s.slides.length - 1, 0, false, true);\n }\n else {\n slideChangedBySlideTo = s.slideTo(s.activeIndex, 0, false, true);\n }\n }\n if (s.params.lazyLoading && !slideChangedBySlideTo && s.lazy) {\n s.lazy.load();\n }\n // Return locks after resize\n s.params.allowSwipeToPrev = allowSwipeToPrev;\n s.params.allowSwipeToNext = allowSwipeToNext;\n };\n \n /*=========================\n Events\n ===========================*/\n \n //Define Touch Events\n s.touchEventsDesktop = {start: 'mousedown', move: 'mousemove', end: 'mouseup'};\n if (window.navigator.pointerEnabled) s.touchEventsDesktop = {start: 'pointerdown', move: 'pointermove', end: 'pointerup'};\n else if (window.navigator.msPointerEnabled) s.touchEventsDesktop = {start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp'};\n s.touchEvents = {\n start : s.support.touch || !s.params.simulateTouch ? 'touchstart' : s.touchEventsDesktop.start,\n move : s.support.touch || !s.params.simulateTouch ? 'touchmove' : s.touchEventsDesktop.move,\n end : s.support.touch || !s.params.simulateTouch ? 'touchend' : s.touchEventsDesktop.end\n };\n \n \n // WP8 Touch Events Fix\n if (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) {\n (s.params.touchEventsTarget === 'container' ? s.container : s.wrapper).addClass('swiper-wp8-' + s.params.direction);\n }\n \n // Attach/detach events\n s.initEvents = function (detach) {\n var actionDom = detach ? 'off' : 'on';\n var action = detach ? 'removeEventListener' : 'addEventListener';\n var touchEventsTarget = s.params.touchEventsTarget === 'container' ? s.container[0] : s.wrapper[0];\n var target = s.support.touch ? touchEventsTarget : document;\n \n var moveCapture = s.params.nested ? true : false;\n \n //Touch Events\n if (s.browser.ie) {\n touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, false);\n target[action](s.touchEvents.move, s.onTouchMove, moveCapture);\n target[action](s.touchEvents.end, s.onTouchEnd, false);\n }\n else {\n if (s.support.touch) {\n var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false;\n touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, passiveListener);\n touchEventsTarget[action](s.touchEvents.move, s.onTouchMove, moveCapture);\n touchEventsTarget[action](s.touchEvents.end, s.onTouchEnd, passiveListener);\n }\n if ((params.simulateTouch && !s.device.ios && !s.device.android) || (params.simulateTouch && !s.support.touch && s.device.ios)) {\n touchEventsTarget[action]('mousedown', s.onTouchStart, false);\n document[action]('mousemove', s.onTouchMove, moveCapture);\n document[action]('mouseup', s.onTouchEnd, false);\n }\n }\n window[action]('resize', s.onResize);\n \n // Next, Prev, Index\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\n s.nextButton[actionDom]('click', s.onClickNext);\n if (s.params.a11y && s.a11y) s.nextButton[actionDom]('keydown', s.a11y.onEnterKey);\n }\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\n s.prevButton[actionDom]('click', s.onClickPrev);\n if (s.params.a11y && s.a11y) s.prevButton[actionDom]('keydown', s.a11y.onEnterKey);\n }\n if (s.params.pagination && s.params.paginationClickable) {\n s.paginationContainer[actionDom]('click', '.' + s.params.bulletClass, s.onClickIndex);\n if (s.params.a11y && s.a11y) s.paginationContainer[actionDom]('keydown', '.' + s.params.bulletClass, s.a11y.onEnterKey);\n }\n \n // Prevent Links Clicks\n if (s.params.preventClicks || s.params.preventClicksPropagation) touchEventsTarget[action]('click', s.preventClicks, true);\n };\n s.attachEvents = function () {\n s.initEvents();\n };\n s.detachEvents = function () {\n s.initEvents(true);\n };\n \n /*=========================\n Handle Clicks\n ===========================*/\n // Prevent Clicks\n s.allowClick = true;\n s.preventClicks = function (e) {\n if (!s.allowClick) {\n if (s.params.preventClicks) e.preventDefault();\n if (s.params.preventClicksPropagation && s.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n };\n // Clicks\n s.onClickNext = function (e) {\n e.preventDefault();\n if (s.isEnd && !s.params.loop) return;\n s.slideNext();\n };\n s.onClickPrev = function (e) {\n e.preventDefault();\n if (s.isBeginning && !s.params.loop) return;\n s.slidePrev();\n };\n s.onClickIndex = function (e) {\n e.preventDefault();\n var index = $(this).index() * s.params.slidesPerGroup;\n if (s.params.loop) index = index + s.loopedSlides;\n s.slideTo(index);\n };\n \n /*=========================\n Handle Touches\n ===========================*/\n function findElementInEvent(e, selector) {\n var el = $(e.target);\n if (!el.is(selector)) {\n if (typeof selector === 'string') {\n el = el.parents(selector);\n }\n else if (selector.nodeType) {\n var found;\n el.parents().each(function (index, _el) {\n if (_el === selector) found = selector;\n });\n if (!found) return undefined;\n else return selector;\n }\n }\n if (el.length === 0) {\n return undefined;\n }\n return el[0];\n }\n s.updateClickedSlide = function (e) {\n var slide = findElementInEvent(e, '.' + s.params.slideClass);\n var slideFound = false;\n if (slide) {\n for (var i = 0; i < s.slides.length; i++) {\n if (s.slides[i] === slide) slideFound = true;\n }\n }\n \n if (slide && slideFound) {\n s.clickedSlide = slide;\n s.clickedIndex = $(slide).index();\n }\n else {\n s.clickedSlide = undefined;\n s.clickedIndex = undefined;\n return;\n }\n if (s.params.slideToClickedSlide && s.clickedIndex !== undefined && s.clickedIndex !== s.activeIndex) {\n var slideToIndex = s.clickedIndex,\n realIndex,\n duplicatedSlides;\n if (s.params.loop) {\n if (s.animating) return;\n realIndex = $(s.clickedSlide).attr('data-swiper-slide-index');\n if (s.params.centeredSlides) {\n if ((slideToIndex < s.loopedSlides - s.params.slidesPerView/2) || (slideToIndex > s.slides.length - s.loopedSlides + s.params.slidesPerView/2)) {\n s.fixLoop();\n slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index=\"' + realIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index();\n setTimeout(function () {\n s.slideTo(slideToIndex);\n }, 0);\n }\n else {\n s.slideTo(slideToIndex);\n }\n }\n else {\n if (slideToIndex > s.slides.length - s.params.slidesPerView) {\n s.fixLoop();\n slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index=\"' + realIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index();\n setTimeout(function () {\n s.slideTo(slideToIndex);\n }, 0);\n }\n else {\n s.slideTo(slideToIndex);\n }\n }\n }\n else {\n s.slideTo(slideToIndex);\n }\n }\n };\n \n var isTouched,\n isMoved,\n allowTouchCallbacks,\n touchStartTime,\n isScrolling,\n currentTranslate,\n startTranslate,\n allowThresholdMove,\n // Form elements to match\n formElements = 'input, select, textarea, button, video',\n // Last click time\n lastClickTime = Date.now(), clickTimeout,\n //Velocities\n velocities = [],\n allowMomentumBounce;\n \n // Animating Flag\n s.animating = false;\n \n // Touches information\n s.touches = {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n };\n \n // Touch handlers\n var isTouchEvent, startMoving;\n s.onTouchStart = function (e) {\n if (e.originalEvent) e = e.originalEvent;\n isTouchEvent = e.type === 'touchstart';\n if (!isTouchEvent && 'which' in e && e.which === 3) return;\n if (s.params.noSwiping && findElementInEvent(e, '.' + s.params.noSwipingClass)) {\n s.allowClick = true;\n return;\n }\n if (s.params.swipeHandler) {\n if (!findElementInEvent(e, s.params.swipeHandler)) return;\n }\n \n var startX = s.touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n var startY = s.touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n \n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\n if(s.device.ios && s.params.iOSEdgeSwipeDetection && startX <= s.params.iOSEdgeSwipeThreshold) {\n return;\n }\n \n isTouched = true;\n isMoved = false;\n allowTouchCallbacks = true;\n isScrolling = undefined;\n startMoving = undefined;\n s.touches.startX = startX;\n s.touches.startY = startY;\n touchStartTime = Date.now();\n s.allowClick = true;\n s.updateContainerSize();\n s.swipeDirection = undefined;\n if (s.params.threshold > 0) allowThresholdMove = false;\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($(e.target).is(formElements)) preventDefault = false;\n if (document.activeElement && $(document.activeElement).is(formElements)) {\n document.activeElement.blur();\n }\n if (preventDefault) {\n e.preventDefault();\n }\n }\n s.emit('onTouchStart', s, e);\n };\n \n s.onTouchMove = function (e) {\n if (e.originalEvent) e = e.originalEvent;\n if (isTouchEvent && e.type === 'mousemove') return;\n if (e.preventedByNestedSwiper) {\n s.touches.startX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n s.touches.startY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n return;\n }\n if (s.params.onlyExternal) {\n // isMoved = true;\n s.allowClick = false;\n if (isTouched) {\n s.touches.startX = s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n s.touches.startY = s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n touchStartTime = Date.now();\n }\n return;\n }\n if (isTouchEvent && s.params.touchReleaseOnEdges && !s.params.loop) {\n if (!s.isHorizontal()) {\n // Vertical\n if (\n (s.touches.currentY < s.touches.startY && s.translate <= s.maxTranslate()) ||\n (s.touches.currentY > s.touches.startY && s.translate >= s.minTranslate())\n ) {\n return;\n }\n }\n else {\n if (\n (s.touches.currentX < s.touches.startX && s.translate <= s.maxTranslate()) ||\n (s.touches.currentX > s.touches.startX && s.translate >= s.minTranslate())\n ) {\n return;\n }\n }\n }\n if (isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(formElements)) {\n isMoved = true;\n s.allowClick = false;\n return;\n }\n }\n if (allowTouchCallbacks) {\n s.emit('onTouchMove', s, e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n \n s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (typeof isScrolling === 'undefined') {\n var touchAngle;\n if (s.isHorizontal() && s.touches.currentY === s.touches.startY || !s.isHorizontal() && s.touches.currentX !== s.touches.startX) {\n isScrolling = false;\n }\n else {\n touchAngle = Math.atan2(Math.abs(s.touches.currentY - s.touches.startY), Math.abs(s.touches.currentX - s.touches.startX)) * 180 / Math.PI;\n isScrolling = s.isHorizontal() ? touchAngle > s.params.touchAngle : (90 - touchAngle > s.params.touchAngle);\n }\n }\n if (isScrolling) {\n s.emit('onTouchMoveOpposite', s, e);\n }\n if (typeof startMoving === 'undefined' && s.browser.ieTouch) {\n if (s.touches.currentX !== s.touches.startX || s.touches.currentY !== s.touches.startY) {\n startMoving = true;\n }\n }\n if (!isTouched) return;\n if (isScrolling) {\n isTouched = false;\n return;\n }\n if (!startMoving && s.browser.ieTouch) {\n return;\n }\n s.allowClick = false;\n s.emit('onSliderMove', s, e);\n e.preventDefault();\n if (s.params.touchMoveStopPropagation && !s.params.nested) {\n e.stopPropagation();\n }\n \n if (!isMoved) {\n if (params.loop) {\n s.fixLoop();\n }\n startTranslate = s.getWrapperTranslate();\n s.setWrapperTransition(0);\n if (s.animating) {\n s.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd');\n }\n if (s.params.autoplay && s.autoplaying) {\n if (s.params.autoplayDisableOnInteraction) {\n s.stopAutoplay();\n }\n else {\n s.pauseAutoplay();\n }\n }\n allowMomentumBounce = false;\n //Grab Cursor\n if (s.params.grabCursor && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) {\n s.setGrabCursor(true);\n }\n }\n isMoved = true;\n \n var diff = s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY;\n \n diff = diff * s.params.touchRatio;\n if (s.rtl) diff = -diff;\n \n s.swipeDirection = diff > 0 ? 'prev' : 'next';\n currentTranslate = diff + startTranslate;\n \n var disableParentSwiper = true;\n if ((diff > 0 && currentTranslate > s.minTranslate())) {\n disableParentSwiper = false;\n if (s.params.resistance) currentTranslate = s.minTranslate() - 1 + Math.pow(-s.minTranslate() + startTranslate + diff, s.params.resistanceRatio);\n }\n else if (diff < 0 && currentTranslate < s.maxTranslate()) {\n disableParentSwiper = false;\n if (s.params.resistance) currentTranslate = s.maxTranslate() + 1 - Math.pow(s.maxTranslate() - startTranslate - diff, s.params.resistanceRatio);\n }\n \n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n \n // Directions locks\n if (!s.params.allowSwipeToNext && s.swipeDirection === 'next' && currentTranslate < startTranslate) {\n currentTranslate = startTranslate;\n }\n if (!s.params.allowSwipeToPrev && s.swipeDirection === 'prev' && currentTranslate > startTranslate) {\n currentTranslate = startTranslate;\n }\n \n \n // Threshold\n if (s.params.threshold > 0) {\n if (Math.abs(diff) > s.params.threshold || allowThresholdMove) {\n if (!allowThresholdMove) {\n allowThresholdMove = true;\n s.touches.startX = s.touches.currentX;\n s.touches.startY = s.touches.currentY;\n currentTranslate = startTranslate;\n s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY;\n return;\n }\n }\n else {\n currentTranslate = startTranslate;\n return;\n }\n }\n \n if (!s.params.followFinger) return;\n \n // Update active index in free mode\n if (s.params.freeMode || s.params.watchSlidesProgress) {\n s.updateActiveIndex();\n }\n if (s.params.freeMode) {\n //Velocity\n if (velocities.length === 0) {\n velocities.push({\n position: s.touches[s.isHorizontal() ? 'startX' : 'startY'],\n time: touchStartTime\n });\n }\n velocities.push({\n position: s.touches[s.isHorizontal() ? 'currentX' : 'currentY'],\n time: (new window.Date()).getTime()\n });\n }\n // Update progress\n s.updateProgress(currentTranslate);\n // Update translate\n s.setWrapperTranslate(currentTranslate);\n };\n s.onTouchEnd = function (e) {\n if (e.originalEvent) e = e.originalEvent;\n if (allowTouchCallbacks) {\n s.emit('onTouchEnd', s, e);\n }\n allowTouchCallbacks = false;\n if (!isTouched) return;\n //Return Grab Cursor\n if (s.params.grabCursor && isMoved && isTouched && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) {\n s.setGrabCursor(false);\n }\n \n // Time diff\n var touchEndTime = Date.now();\n var timeDiff = touchEndTime - touchStartTime;\n \n // Tap, doubleTap, Click\n if (s.allowClick) {\n s.updateClickedSlide(e);\n s.emit('onTap', s, e);\n if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n clickTimeout = setTimeout(function () {\n if (!s) return;\n if (s.params.paginationHide && s.paginationContainer.length > 0 && !$(e.target).hasClass(s.params.bulletClass)) {\n s.paginationContainer.toggleClass(s.params.paginationHiddenClass);\n }\n s.emit('onClick', s, e);\n }, 300);\n \n }\n if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) {\n if (clickTimeout) clearTimeout(clickTimeout);\n s.emit('onDoubleTap', s, e);\n }\n }\n \n lastClickTime = Date.now();\n setTimeout(function () {\n if (s) s.allowClick = true;\n }, 0);\n \n if (!isTouched || !isMoved || !s.swipeDirection || s.touches.diff === 0 || currentTranslate === startTranslate) {\n isTouched = isMoved = false;\n return;\n }\n isTouched = isMoved = false;\n \n var currentPos;\n if (s.params.followFinger) {\n currentPos = s.rtl ? s.translate : -s.translate;\n }\n else {\n currentPos = -currentTranslate;\n }\n if (s.params.freeMode) {\n if (currentPos < -s.minTranslate()) {\n s.slideTo(s.activeIndex);\n return;\n }\n else if (currentPos > -s.maxTranslate()) {\n if (s.slides.length < s.snapGrid.length) {\n s.slideTo(s.snapGrid.length - 1);\n }\n else {\n s.slideTo(s.slides.length - 1);\n }\n return;\n }\n \n if (s.params.freeModeMomentum) {\n if (velocities.length > 1) {\n var lastMoveEvent = velocities.pop(), velocityEvent = velocities.pop();\n \n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n s.velocity = distance / time;\n s.velocity = s.velocity / 2;\n if (Math.abs(s.velocity) < s.params.freeModeMinimumVelocity) {\n s.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || (new window.Date().getTime() - lastMoveEvent.time) > 300) {\n s.velocity = 0;\n }\n } else {\n s.velocity = 0;\n }\n s.velocity = s.velocity * s.params.freeModeMomentumVelocityRatio;\n \n velocities.length = 0;\n var momentumDuration = 1000 * s.params.freeModeMomentumRatio;\n var momentumDistance = s.velocity * momentumDuration;\n \n var newPosition = s.translate + momentumDistance;\n if (s.rtl) newPosition = - newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(s.velocity) * 20 * s.params.freeModeMomentumBounceRatio;\n if (newPosition < s.maxTranslate()) {\n if (s.params.freeModeMomentumBounce) {\n if (newPosition + s.maxTranslate() < -bounceAmount) {\n newPosition = s.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = s.maxTranslate();\n doBounce = true;\n allowMomentumBounce = true;\n }\n else {\n newPosition = s.maxTranslate();\n }\n }\n else if (newPosition > s.minTranslate()) {\n if (s.params.freeModeMomentumBounce) {\n if (newPosition - s.minTranslate() > bounceAmount) {\n newPosition = s.minTranslate() + bounceAmount;\n }\n afterBouncePosition = s.minTranslate();\n doBounce = true;\n allowMomentumBounce = true;\n }\n else {\n newPosition = s.minTranslate();\n }\n }\n else if (s.params.freeModeSticky) {\n var j = 0,\n nextSlide;\n for (j = 0; j < s.snapGrid.length; j += 1) {\n if (s.snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n \n }\n if (Math.abs(s.snapGrid[nextSlide] - newPosition) < Math.abs(s.snapGrid[nextSlide - 1] - newPosition) || s.swipeDirection === 'next') {\n newPosition = s.snapGrid[nextSlide];\n } else {\n newPosition = s.snapGrid[nextSlide - 1];\n }\n if (!s.rtl) newPosition = - newPosition;\n }\n //Fix duration\n if (s.velocity !== 0) {\n if (s.rtl) {\n momentumDuration = Math.abs((-newPosition - s.translate) / s.velocity);\n }\n else {\n momentumDuration = Math.abs((newPosition - s.translate) / s.velocity);\n }\n }\n else if (s.params.freeModeSticky) {\n s.slideReset();\n return;\n }\n \n if (s.params.freeModeMomentumBounce && doBounce) {\n s.updateProgress(afterBouncePosition);\n s.setWrapperTransition(momentumDuration);\n s.setWrapperTranslate(newPosition);\n s.onTransitionStart();\n s.animating = true;\n s.wrapper.transitionEnd(function () {\n if (!s || !allowMomentumBounce) return;\n s.emit('onMomentumBounce', s);\n \n s.setWrapperTransition(s.params.speed);\n s.setWrapperTranslate(afterBouncePosition);\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.onTransitionEnd();\n });\n });\n } else if (s.velocity) {\n s.updateProgress(newPosition);\n s.setWrapperTransition(momentumDuration);\n s.setWrapperTranslate(newPosition);\n s.onTransitionStart();\n if (!s.animating) {\n s.animating = true;\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.onTransitionEnd();\n });\n }\n \n } else {\n s.updateProgress(newPosition);\n }\n \n s.updateActiveIndex();\n }\n if (!s.params.freeModeMomentum || timeDiff >= s.params.longSwipesMs) {\n s.updateProgress();\n s.updateActiveIndex();\n }\n return;\n }\n \n // Find current slide\n var i, stopIndex = 0, groupSize = s.slidesSizesGrid[0];\n for (i = 0; i < s.slidesGrid.length; i += s.params.slidesPerGroup) {\n if (typeof s.slidesGrid[i + s.params.slidesPerGroup] !== 'undefined') {\n if (currentPos >= s.slidesGrid[i] && currentPos < s.slidesGrid[i + s.params.slidesPerGroup]) {\n stopIndex = i;\n groupSize = s.slidesGrid[i + s.params.slidesPerGroup] - s.slidesGrid[i];\n }\n }\n else {\n if (currentPos >= s.slidesGrid[i]) {\n stopIndex = i;\n groupSize = s.slidesGrid[s.slidesGrid.length - 1] - s.slidesGrid[s.slidesGrid.length - 2];\n }\n }\n }\n \n // Find current slide size\n var ratio = (currentPos - s.slidesGrid[stopIndex]) / groupSize;\n \n if (timeDiff > s.params.longSwipesMs) {\n // Long touches\n if (!s.params.longSwipes) {\n s.slideTo(s.activeIndex);\n return;\n }\n if (s.swipeDirection === 'next') {\n if (ratio >= s.params.longSwipesRatio) s.slideTo(stopIndex + s.params.slidesPerGroup);\n else s.slideTo(stopIndex);\n \n }\n if (s.swipeDirection === 'prev') {\n if (ratio > (1 - s.params.longSwipesRatio)) s.slideTo(stopIndex + s.params.slidesPerGroup);\n else s.slideTo(stopIndex);\n }\n }\n else {\n // Short swipes\n if (!s.params.shortSwipes) {\n s.slideTo(s.activeIndex);\n return;\n }\n if (s.swipeDirection === 'next') {\n s.slideTo(stopIndex + s.params.slidesPerGroup);\n \n }\n if (s.swipeDirection === 'prev') {\n s.slideTo(stopIndex);\n }\n }\n };\n /*=========================\n Transitions\n ===========================*/\n s._slideTo = function (slideIndex, speed) {\n return s.slideTo(slideIndex, speed, true, true);\n };\n s.slideTo = function (slideIndex, speed, runCallbacks, internal) {\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\n if (typeof slideIndex === 'undefined') slideIndex = 0;\n if (slideIndex < 0) slideIndex = 0;\n s.snapIndex = Math.floor(slideIndex / s.params.slidesPerGroup);\n if (s.snapIndex >= s.snapGrid.length) s.snapIndex = s.snapGrid.length - 1;\n \n var translate = - s.snapGrid[s.snapIndex];\n // Stop autoplay\n if (s.params.autoplay && s.autoplaying) {\n if (internal || !s.params.autoplayDisableOnInteraction) {\n s.pauseAutoplay(speed);\n }\n else {\n s.stopAutoplay();\n }\n }\n // Update progress\n s.updateProgress(translate);\n \n // Normalize slideIndex\n if(s.params.normalizeSlideIndex){\n for (var i = 0; i < s.slidesGrid.length; i++) {\n if (- Math.floor(translate * 100) >= Math.floor(s.slidesGrid[i] * 100)) {\n slideIndex = i;\n }\n }\n }\n \n // Directions locks\n if (!s.params.allowSwipeToNext && translate < s.translate && translate < s.minTranslate()) {\n return false;\n }\n if (!s.params.allowSwipeToPrev && translate > s.translate && translate > s.maxTranslate()) {\n if ((s.activeIndex || 0) !== slideIndex ) return false;\n }\n \n // Update Index\n if (typeof speed === 'undefined') speed = s.params.speed;\n s.previousIndex = s.activeIndex || 0;\n s.activeIndex = slideIndex;\n s.updateRealIndex();\n if ((s.rtl && -translate === s.translate) || (!s.rtl && translate === s.translate)) {\n // Update Height\n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n s.updateClasses();\n if (s.params.effect !== 'slide') {\n s.setWrapperTranslate(translate);\n }\n return false;\n }\n s.updateClasses();\n s.onTransitionStart(runCallbacks);\n \n if (speed === 0 || s.browser.lteIE9) {\n s.setWrapperTranslate(translate);\n s.setWrapperTransition(0);\n s.onTransitionEnd(runCallbacks);\n }\n else {\n s.setWrapperTranslate(translate);\n s.setWrapperTransition(speed);\n if (!s.animating) {\n s.animating = true;\n s.wrapper.transitionEnd(function () {\n if (!s) return;\n s.onTransitionEnd(runCallbacks);\n });\n }\n \n }\n \n return true;\n };\n \n s.onTransitionStart = function (runCallbacks) {\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\n if (s.params.autoHeight) {\n s.updateAutoHeight();\n }\n if (s.lazy) s.lazy.onTransitionStart();\n if (runCallbacks) {\n s.emit('onTransitionStart', s);\n if (s.activeIndex !== s.previousIndex) {\n s.emit('onSlideChangeStart', s);\n if (s.activeIndex > s.previousIndex) {\n s.emit('onSlideNextStart', s);\n }\n else {\n s.emit('onSlidePrevStart', s);\n }\n }\n \n }\n };\n s.onTransitionEnd = function (runCallbacks) {\n s.animating = false;\n s.setWrapperTransition(0);\n if (typeof runCallbacks === 'undefined') runCallbacks = true;\n if (s.lazy) s.lazy.onTransitionEnd();\n if (runCallbacks) {\n s.emit('onTransitionEnd', s);\n if (s.activeIndex !== s.previousIndex) {\n s.emit('onSlideChangeEnd', s);\n if (s.activeIndex > s.previousIndex) {\n s.emit('onSlideNextEnd', s);\n }\n else {\n s.emit('onSlidePrevEnd', s);\n }\n }\n }\n if (s.params.history && s.history) {\n s.history.setHistory(s.params.history, s.activeIndex);\n }\n if (s.params.hashnav && s.hashnav) {\n s.hashnav.setHash();\n }\n \n };\n s.slideNext = function (runCallbacks, speed, internal) {\n if (s.params.loop) {\n if (s.animating) return false;\n s.fixLoop();\n var clientLeft = s.container[0].clientLeft;\n return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal);\n }\n else return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal);\n };\n s._slideNext = function (speed) {\n return s.slideNext(true, speed, true);\n };\n s.slidePrev = function (runCallbacks, speed, internal) {\n if (s.params.loop) {\n if (s.animating) return false;\n s.fixLoop();\n var clientLeft = s.container[0].clientLeft;\n return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal);\n }\n else return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal);\n };\n s._slidePrev = function (speed) {\n return s.slidePrev(true, speed, true);\n };\n s.slideReset = function (runCallbacks, speed, internal) {\n return s.slideTo(s.activeIndex, speed, runCallbacks);\n };\n \n s.disableTouchControl = function () {\n s.params.onlyExternal = true;\n return true;\n };\n s.enableTouchControl = function () {\n s.params.onlyExternal = false;\n return true;\n };\n \n /*=========================\n Translate/transition helpers\n ===========================*/\n s.setWrapperTransition = function (duration, byController) {\n s.wrapper.transition(duration);\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\n s.effects[s.params.effect].setTransition(duration);\n }\n if (s.params.parallax && s.parallax) {\n s.parallax.setTransition(duration);\n }\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.setTransition(duration);\n }\n if (s.params.control && s.controller) {\n s.controller.setTransition(duration, byController);\n }\n s.emit('onSetTransition', s, duration);\n };\n s.setWrapperTranslate = function (translate, updateActiveIndex, byController) {\n var x = 0, y = 0, z = 0;\n if (s.isHorizontal()) {\n x = s.rtl ? -translate : translate;\n }\n else {\n y = translate;\n }\n \n if (s.params.roundLengths) {\n x = round(x);\n y = round(y);\n }\n \n if (!s.params.virtualTranslate) {\n if (s.support.transforms3d) s.wrapper.transform('translate3d(' + x + 'px, ' + y + 'px, ' + z + 'px)');\n else s.wrapper.transform('translate(' + x + 'px, ' + y + 'px)');\n }\n \n s.translate = s.isHorizontal() ? x : y;\n \n // Check if we need to update progress\n var progress;\n var translatesDiff = s.maxTranslate() - s.minTranslate();\n if (translatesDiff === 0) {\n progress = 0;\n }\n else {\n progress = (translate - s.minTranslate()) / (translatesDiff);\n }\n if (progress !== s.progress) {\n s.updateProgress(translate);\n }\n \n if (updateActiveIndex) s.updateActiveIndex();\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\n s.effects[s.params.effect].setTranslate(s.translate);\n }\n if (s.params.parallax && s.parallax) {\n s.parallax.setTranslate(s.translate);\n }\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.setTranslate(s.translate);\n }\n if (s.params.control && s.controller) {\n s.controller.setTranslate(s.translate, byController);\n }\n s.emit('onSetTranslate', s, s.translate);\n };\n \n s.getTranslate = function (el, axis) {\n var matrix, curTransform, curStyle, transformMatrix;\n \n // automatic axis detection\n if (typeof axis === 'undefined') {\n axis = 'x';\n }\n \n if (s.params.virtualTranslate) {\n return s.rtl ? -s.translate : s.translate;\n }\n \n curStyle = window.getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function(a){\n return a.replace(',','.');\n }).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n }\n else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n \n if (axis === 'x') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m41;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[12]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n //Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix)\n curTransform = transformMatrix.m42;\n //Crazy IE10 Matrix\n else if (matrix.length === 16)\n curTransform = parseFloat(matrix[13]);\n //Normal Browsers\n else\n curTransform = parseFloat(matrix[5]);\n }\n if (s.rtl && curTransform) curTransform = -curTransform;\n return curTransform || 0;\n };\n s.getWrapperTranslate = function (axis) {\n if (typeof axis === 'undefined') {\n axis = s.isHorizontal() ? 'x' : 'y';\n }\n return s.getTranslate(s.wrapper[0], axis);\n };\n \n /*=========================\n Observer\n ===========================*/\n s.observers = [];\n function initObserver(target, options) {\n options = options || {};\n // create an observer instance\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n mutations.forEach(function (mutation) {\n s.onResize(true);\n s.emit('onObserverUpdate', s, mutation);\n });\n });\n \n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n \n s.observers.push(observer);\n }\n s.initObservers = function () {\n if (s.params.observeParents) {\n var containerParents = s.container.parents();\n for (var i = 0; i < containerParents.length; i++) {\n initObserver(containerParents[i]);\n }\n }\n \n // Observe container\n initObserver(s.container[0], {childList: false});\n \n // Observe wrapper\n initObserver(s.wrapper[0], {attributes: false});\n };\n s.disconnectObservers = function () {\n for (var i = 0; i < s.observers.length; i++) {\n s.observers[i].disconnect();\n }\n s.observers = [];\n };\n /*=========================\n Loop\n ===========================*/\n // Create looped slides\n s.createLoop = function () {\n // Remove duplicated slides\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();\n \n var slides = s.wrapper.children('.' + s.params.slideClass);\n \n if(s.params.slidesPerView === 'auto' && !s.params.loopedSlides) s.params.loopedSlides = slides.length;\n \n s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10);\n s.loopedSlides = s.loopedSlides + s.params.loopAdditionalSlides;\n if (s.loopedSlides > slides.length) {\n s.loopedSlides = slides.length;\n }\n \n var prependSlides = [], appendSlides = [], i;\n slides.each(function (index, el) {\n var slide = $(this);\n if (index < s.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el);\n slide.attr('data-swiper-slide-index', index);\n });\n for (i = 0; i < appendSlides.length; i++) {\n s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));\n }\n for (i = prependSlides.length - 1; i >= 0; i--) {\n s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass));\n }\n };\n s.destroyLoop = function () {\n s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove();\n s.slides.removeAttr('data-swiper-slide-index');\n };\n s.reLoop = function (updatePosition) {\n var oldIndex = s.activeIndex - s.loopedSlides;\n s.destroyLoop();\n s.createLoop();\n s.updateSlidesSize();\n if (updatePosition) {\n s.slideTo(oldIndex + s.loopedSlides, 0, false);\n }\n \n };\n s.fixLoop = function () {\n var newIndex;\n //Fix For Negative Oversliding\n if (s.activeIndex < s.loopedSlides) {\n newIndex = s.slides.length - s.loopedSlides * 3 + s.activeIndex;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false, true);\n }\n //Fix For Positive Oversliding\n else if ((s.params.slidesPerView === 'auto' && s.activeIndex >= s.loopedSlides * 2) || (s.activeIndex > s.slides.length - s.params.slidesPerView * 2)) {\n newIndex = -s.slides.length + s.activeIndex + s.loopedSlides;\n newIndex = newIndex + s.loopedSlides;\n s.slideTo(newIndex, 0, false, true);\n }\n };\n /*=========================\n Append/Prepend/Remove Slides\n ===========================*/\n s.appendSlide = function (slides) {\n if (s.params.loop) {\n s.destroyLoop();\n }\n if (typeof slides === 'object' && slides.length) {\n for (var i = 0; i < slides.length; i++) {\n if (slides[i]) s.wrapper.append(slides[i]);\n }\n }\n else {\n s.wrapper.append(slides);\n }\n if (s.params.loop) {\n s.createLoop();\n }\n if (!(s.params.observer && s.support.observer)) {\n s.update(true);\n }\n };\n s.prependSlide = function (slides) {\n if (s.params.loop) {\n s.destroyLoop();\n }\n var newActiveIndex = s.activeIndex + 1;\n if (typeof slides === 'object' && slides.length) {\n for (var i = 0; i < slides.length; i++) {\n if (slides[i]) s.wrapper.prepend(slides[i]);\n }\n newActiveIndex = s.activeIndex + slides.length;\n }\n else {\n s.wrapper.prepend(slides);\n }\n if (s.params.loop) {\n s.createLoop();\n }\n if (!(s.params.observer && s.support.observer)) {\n s.update(true);\n }\n s.slideTo(newActiveIndex, 0, false);\n };\n s.removeSlide = function (slidesIndexes) {\n if (s.params.loop) {\n s.destroyLoop();\n s.slides = s.wrapper.children('.' + s.params.slideClass);\n }\n var newActiveIndex = s.activeIndex,\n indexToRemove;\n if (typeof slidesIndexes === 'object' && slidesIndexes.length) {\n for (var i = 0; i < slidesIndexes.length; i++) {\n indexToRemove = slidesIndexes[i];\n if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex--;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n else {\n indexToRemove = slidesIndexes;\n if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex--;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n \n if (s.params.loop) {\n s.createLoop();\n }\n \n if (!(s.params.observer && s.support.observer)) {\n s.update(true);\n }\n if (s.params.loop) {\n s.slideTo(newActiveIndex + s.loopedSlides, 0, false);\n }\n else {\n s.slideTo(newActiveIndex, 0, false);\n }\n \n };\n s.removeAllSlides = function () {\n var slidesIndexes = [];\n for (var i = 0; i < s.slides.length; i++) {\n slidesIndexes.push(i);\n }\n s.removeSlide(slidesIndexes);\n };\n \n \n /*=========================\n Effects\n ===========================*/\n s.effects = {\n fade: {\n setTranslate: function () {\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides.eq(i);\n var offset = slide[0].swiperSlideOffset;\n var tx = -offset;\n if (!s.params.virtualTranslate) tx = tx - s.translate;\n var ty = 0;\n if (!s.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n var slideOpacity = s.params.fade.crossFade ?\n Math.max(1 - Math.abs(slide[0].progress), 0) :\n 1 + Math.min(Math.max(slide[0].progress, -1), 0);\n slide\n .css({\n opacity: slideOpacity\n })\n .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px)');\n \n }\n \n },\n setTransition: function (duration) {\n s.slides.transition(duration);\n if (s.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n s.slides.transitionEnd(function () {\n if (eventTriggered) return;\n if (!s) return;\n eventTriggered = true;\n s.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];\n for (var i = 0; i < triggerEvents.length; i++) {\n s.wrapper.trigger(triggerEvents[i]);\n }\n });\n }\n }\n },\n flip: {\n setTranslate: function () {\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides.eq(i);\n var progress = slide[0].progress;\n if (s.params.flip.limitRotation) {\n progress = Math.max(Math.min(slide[0].progress, 1), -1);\n }\n var offset = slide[0].swiperSlideOffset;\n var rotate = -180 * progress,\n rotateY = rotate,\n rotateX = 0,\n tx = -offset,\n ty = 0;\n if (!s.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n }\n else if (s.rtl) {\n rotateY = -rotateY;\n }\n \n slide[0].style.zIndex = -Math.abs(Math.round(progress)) + s.slides.length;\n \n if (s.params.flip.slideShadows) {\n //Set shadows\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $('
                                                  ');\n slide.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $('
                                                  ');\n slide.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n \n slide\n .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)');\n }\n },\n setTransition: function (duration) {\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n if (s.params.virtualTranslate && duration !== 0) {\n var eventTriggered = false;\n s.slides.eq(s.activeIndex).transitionEnd(function () {\n if (eventTriggered) return;\n if (!s) return;\n if (!$(this).hasClass(s.params.slideActiveClass)) return;\n eventTriggered = true;\n s.animating = false;\n var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'];\n for (var i = 0; i < triggerEvents.length; i++) {\n s.wrapper.trigger(triggerEvents[i]);\n }\n });\n }\n }\n },\n cube: {\n setTranslate: function () {\n var wrapperRotate = 0, cubeShadow;\n if (s.params.cube.shadow) {\n if (s.isHorizontal()) {\n cubeShadow = s.wrapper.find('.swiper-cube-shadow');\n if (cubeShadow.length === 0) {\n cubeShadow = $('
                                                  ');\n s.wrapper.append(cubeShadow);\n }\n cubeShadow.css({height: s.width + 'px'});\n }\n else {\n cubeShadow = s.container.find('.swiper-cube-shadow');\n if (cubeShadow.length === 0) {\n cubeShadow = $('
                                                  ');\n s.container.append(cubeShadow);\n }\n }\n }\n for (var i = 0; i < s.slides.length; i++) {\n var slide = s.slides.eq(i);\n var slideAngle = i * 90;\n var round = Math.floor(slideAngle / 360);\n if (s.rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n var progress = Math.max(Math.min(slide[0].progress, 1), -1);\n var tx = 0, ty = 0, tz = 0;\n if (i % 4 === 0) {\n tx = - round * 4 * s.size;\n tz = 0;\n }\n else if ((i - 1) % 4 === 0) {\n tx = 0;\n tz = - round * 4 * s.size;\n }\n else if ((i - 2) % 4 === 0) {\n tx = s.size + round * 4 * s.size;\n tz = s.size;\n }\n else if ((i - 3) % 4 === 0) {\n tx = - s.size;\n tz = 3 * s.size + s.size * 4 * round;\n }\n if (s.rtl) {\n tx = -tx;\n }\n \n if (!s.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n \n var transform = 'rotateX(' + (s.isHorizontal() ? 0 : -slideAngle) + 'deg) rotateY(' + (s.isHorizontal() ? slideAngle : 0) + 'deg) translate3d(' + tx + 'px, ' + ty + 'px, ' + tz + 'px)';\n if (progress <= 1 && progress > -1) {\n wrapperRotate = i * 90 + progress * 90;\n if (s.rtl) wrapperRotate = -i * 90 - progress * 90;\n }\n slide.transform(transform);\n if (s.params.cube.slideShadows) {\n //Set shadows\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $('
                                                  ');\n slide.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $('
                                                  ');\n slide.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n s.wrapper.css({\n '-webkit-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\n '-moz-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\n '-ms-transform-origin': '50% 50% -' + (s.size / 2) + 'px',\n 'transform-origin': '50% 50% -' + (s.size / 2) + 'px'\n });\n \n if (s.params.cube.shadow) {\n if (s.isHorizontal()) {\n cubeShadow.transform('translate3d(0px, ' + (s.width / 2 + s.params.cube.shadowOffset) + 'px, ' + (-s.width / 2) + 'px) rotateX(90deg) rotateZ(0deg) scale(' + (s.params.cube.shadowScale) + ')');\n }\n else {\n var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;\n var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);\n var scale1 = s.params.cube.shadowScale,\n scale2 = s.params.cube.shadowScale / multiplier,\n offset = s.params.cube.shadowOffset;\n cubeShadow.transform('scale3d(' + scale1 + ', 1, ' + scale2 + ') translate3d(0px, ' + (s.height / 2 + offset) + 'px, ' + (-s.height / 2 / scale2) + 'px) rotateX(-90deg)');\n }\n }\n var zFactor = (s.isSafari || s.isUiWebView) ? (-s.size / 2) : 0;\n s.wrapper.transform('translate3d(0px,0,' + zFactor + 'px) rotateX(' + (s.isHorizontal() ? 0 : wrapperRotate) + 'deg) rotateY(' + (s.isHorizontal() ? -wrapperRotate : 0) + 'deg)');\n },\n setTransition: function (duration) {\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n if (s.params.cube.shadow && !s.isHorizontal()) {\n s.container.find('.swiper-cube-shadow').transition(duration);\n }\n }\n },\n coverflow: {\n setTranslate: function () {\n var transform = s.translate;\n var center = s.isHorizontal() ? -transform + s.width / 2 : -transform + s.height / 2;\n var rotate = s.isHorizontal() ? s.params.coverflow.rotate: -s.params.coverflow.rotate;\n var translate = s.params.coverflow.depth;\n //Each slide offset from center\n for (var i = 0, length = s.slides.length; i < length; i++) {\n var slide = s.slides.eq(i);\n var slideSize = s.slidesSizesGrid[i];\n var slideOffset = slide[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * s.params.coverflow.modifier;\n \n var rotateY = s.isHorizontal() ? rotate * offsetMultiplier : 0;\n var rotateX = s.isHorizontal() ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n var translateZ = -translate * Math.abs(offsetMultiplier);\n \n var translateY = s.isHorizontal() ? 0 : s.params.coverflow.stretch * (offsetMultiplier);\n var translateX = s.isHorizontal() ? s.params.coverflow.stretch * (offsetMultiplier) : 0;\n \n //Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n \n var slideTransform = 'translate3d(' + translateX + 'px,' + translateY + 'px,' + translateZ + 'px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)';\n \n slide.transform(slideTransform);\n slide[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (s.params.coverflow.slideShadows) {\n //Set shadows\n var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top');\n var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $('
                                                  ');\n slide.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $('
                                                  ');\n slide.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if (shadowAfter.length) shadowAfter[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0;\n }\n }\n \n //Set correct perspective for IE10\n if (s.browser.ie) {\n var ws = s.wrapper[0].style;\n ws.perspectiveOrigin = center + 'px 50%';\n }\n },\n setTransition: function (duration) {\n s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n }\n };\n \n /*=========================\n Images Lazy Loading\n ===========================*/\n s.lazy = {\n initialImageLoaded: false,\n loadImageInSlide: function (index, loadInDuplicate) {\n if (typeof index === 'undefined') return;\n if (typeof loadInDuplicate === 'undefined') loadInDuplicate = true;\n if (s.slides.length === 0) return;\n \n var slide = s.slides.eq(index);\n var img = slide.find('.' + s.params.lazyLoadingClass + ':not(.' + s.params.lazyStatusLoadedClass + '):not(.' + s.params.lazyStatusLoadingClass + ')');\n if (slide.hasClass(s.params.lazyLoadingClass) && !slide.hasClass(s.params.lazyStatusLoadedClass) && !slide.hasClass(s.params.lazyStatusLoadingClass)) {\n img = img.add(slide[0]);\n }\n if (img.length === 0) return;\n \n img.each(function () {\n var _img = $(this);\n _img.addClass(s.params.lazyStatusLoadingClass);\n var background = _img.attr('data-background');\n var src = _img.attr('data-src'),\n srcset = _img.attr('data-srcset'),\n sizes = _img.attr('data-sizes');\n s.loadImage(_img[0], (src || background), srcset, sizes, false, function () {\n if (background) {\n _img.css('background-image', 'url(\"' + background + '\")');\n _img.removeAttr('data-background');\n }\n else {\n if (srcset) {\n _img.attr('srcset', srcset);\n _img.removeAttr('data-srcset');\n }\n if (sizes) {\n _img.attr('sizes', sizes);\n _img.removeAttr('data-sizes');\n }\n if (src) {\n _img.attr('src', src);\n _img.removeAttr('data-src');\n }\n \n }\n \n _img.addClass(s.params.lazyStatusLoadedClass).removeClass(s.params.lazyStatusLoadingClass);\n slide.find('.' + s.params.lazyPreloaderClass + ', .' + s.params.preloaderClass).remove();\n if (s.params.loop && loadInDuplicate) {\n var slideOriginalIndex = slide.attr('data-swiper-slide-index');\n if (slide.hasClass(s.params.slideDuplicateClass)) {\n var originalSlide = s.wrapper.children('[data-swiper-slide-index=\"' + slideOriginalIndex + '\"]:not(.' + s.params.slideDuplicateClass + ')');\n s.lazy.loadImageInSlide(originalSlide.index(), false);\n }\n else {\n var duplicatedSlide = s.wrapper.children('.' + s.params.slideDuplicateClass + '[data-swiper-slide-index=\"' + slideOriginalIndex + '\"]');\n s.lazy.loadImageInSlide(duplicatedSlide.index(), false);\n }\n }\n s.emit('onLazyImageReady', s, slide[0], _img[0]);\n });\n \n s.emit('onLazyImageLoad', s, slide[0], _img[0]);\n });\n \n },\n load: function () {\n var i;\n var slidesPerView = s.params.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n if (!s.lazy.initialImageLoaded) s.lazy.initialImageLoaded = true;\n if (s.params.watchSlidesVisibility) {\n s.wrapper.children('.' + s.params.slideVisibleClass).each(function () {\n s.lazy.loadImageInSlide($(this).index());\n });\n }\n else {\n if (slidesPerView > 1) {\n for (i = s.activeIndex; i < s.activeIndex + slidesPerView ; i++) {\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\n }\n }\n else {\n s.lazy.loadImageInSlide(s.activeIndex);\n }\n }\n if (s.params.lazyLoadingInPrevNext) {\n if (slidesPerView > 1 || (s.params.lazyLoadingInPrevNextAmount && s.params.lazyLoadingInPrevNextAmount > 1)) {\n var amount = s.params.lazyLoadingInPrevNextAmount;\n var spv = slidesPerView;\n var maxIndex = Math.min(s.activeIndex + spv + Math.max(amount, spv), s.slides.length);\n var minIndex = Math.max(s.activeIndex - Math.max(spv, amount), 0);\n // Next Slides\n for (i = s.activeIndex + slidesPerView; i < maxIndex; i++) {\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\n }\n // Prev Slides\n for (i = minIndex; i < s.activeIndex ; i++) {\n if (s.slides[i]) s.lazy.loadImageInSlide(i);\n }\n }\n else {\n var nextSlide = s.wrapper.children('.' + s.params.slideNextClass);\n if (nextSlide.length > 0) s.lazy.loadImageInSlide(nextSlide.index());\n \n var prevSlide = s.wrapper.children('.' + s.params.slidePrevClass);\n if (prevSlide.length > 0) s.lazy.loadImageInSlide(prevSlide.index());\n }\n }\n },\n onTransitionStart: function () {\n if (s.params.lazyLoading) {\n if (s.params.lazyLoadingOnTransitionStart || (!s.params.lazyLoadingOnTransitionStart && !s.lazy.initialImageLoaded)) {\n s.lazy.load();\n }\n }\n },\n onTransitionEnd: function () {\n if (s.params.lazyLoading && !s.params.lazyLoadingOnTransitionStart) {\n s.lazy.load();\n }\n }\n };\n \n \n /*=========================\n Scrollbar\n ===========================*/\n s.scrollbar = {\n isTouched: false,\n setDragPosition: function (e) {\n var sb = s.scrollbar;\n var x = 0, y = 0;\n var translate;\n var pointerPosition = s.isHorizontal() ?\n ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX) :\n ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY) ;\n var position = (pointerPosition) - sb.track.offset()[s.isHorizontal() ? 'left' : 'top'] - sb.dragSize / 2;\n var positionMin = -s.minTranslate() * sb.moveDivider;\n var positionMax = -s.maxTranslate() * sb.moveDivider;\n if (position < positionMin) {\n position = positionMin;\n }\n else if (position > positionMax) {\n position = positionMax;\n }\n position = -position / sb.moveDivider;\n s.updateProgress(position);\n s.setWrapperTranslate(position, true);\n },\n dragStart: function (e) {\n var sb = s.scrollbar;\n sb.isTouched = true;\n e.preventDefault();\n e.stopPropagation();\n \n sb.setDragPosition(e);\n clearTimeout(sb.dragTimeout);\n \n sb.track.transition(0);\n if (s.params.scrollbarHide) {\n sb.track.css('opacity', 1);\n }\n s.wrapper.transition(100);\n sb.drag.transition(100);\n s.emit('onScrollbarDragStart', s);\n },\n dragMove: function (e) {\n var sb = s.scrollbar;\n if (!sb.isTouched) return;\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n sb.setDragPosition(e);\n s.wrapper.transition(0);\n sb.track.transition(0);\n sb.drag.transition(0);\n s.emit('onScrollbarDragMove', s);\n },\n dragEnd: function (e) {\n var sb = s.scrollbar;\n if (!sb.isTouched) return;\n sb.isTouched = false;\n if (s.params.scrollbarHide) {\n clearTimeout(sb.dragTimeout);\n sb.dragTimeout = setTimeout(function () {\n sb.track.css('opacity', 0);\n sb.track.transition(400);\n }, 1000);\n \n }\n s.emit('onScrollbarDragEnd', s);\n if (s.params.scrollbarSnapOnRelease) {\n s.slideReset();\n }\n },\n draggableEvents: (function () {\n if ((s.params.simulateTouch === false && !s.support.touch)) return s.touchEventsDesktop;\n else return s.touchEvents;\n })(),\n enableDraggable: function () {\n var sb = s.scrollbar;\n var target = s.support.touch ? sb.track : document;\n $(sb.track).on(sb.draggableEvents.start, sb.dragStart);\n $(target).on(sb.draggableEvents.move, sb.dragMove);\n $(target).on(sb.draggableEvents.end, sb.dragEnd);\n },\n disableDraggable: function () {\n var sb = s.scrollbar;\n var target = s.support.touch ? sb.track : document;\n $(sb.track).off(s.draggableEvents.start, sb.dragStart);\n $(target).off(s.draggableEvents.move, sb.dragMove);\n $(target).off(s.draggableEvents.end, sb.dragEnd);\n },\n set: function () {\n if (!s.params.scrollbar) return;\n var sb = s.scrollbar;\n sb.track = $(s.params.scrollbar);\n if (s.params.uniqueNavElements && typeof s.params.scrollbar === 'string' && sb.track.length > 1 && s.container.find(s.params.scrollbar).length === 1) {\n sb.track = s.container.find(s.params.scrollbar);\n }\n sb.drag = sb.track.find('.swiper-scrollbar-drag');\n if (sb.drag.length === 0) {\n sb.drag = $('
                                                  ');\n sb.track.append(sb.drag);\n }\n sb.drag[0].style.width = '';\n sb.drag[0].style.height = '';\n sb.trackSize = s.isHorizontal() ? sb.track[0].offsetWidth : sb.track[0].offsetHeight;\n \n sb.divider = s.size / s.virtualSize;\n sb.moveDivider = sb.divider * (sb.trackSize / s.size);\n sb.dragSize = sb.trackSize * sb.divider;\n \n if (s.isHorizontal()) {\n sb.drag[0].style.width = sb.dragSize + 'px';\n }\n else {\n sb.drag[0].style.height = sb.dragSize + 'px';\n }\n \n if (sb.divider >= 1) {\n sb.track[0].style.display = 'none';\n }\n else {\n sb.track[0].style.display = '';\n }\n if (s.params.scrollbarHide) {\n sb.track[0].style.opacity = 0;\n }\n },\n setTranslate: function () {\n if (!s.params.scrollbar) return;\n var diff;\n var sb = s.scrollbar;\n var translate = s.translate || 0;\n var newPos;\n \n var newSize = sb.dragSize;\n newPos = (sb.trackSize - sb.dragSize) * s.progress;\n if (s.rtl && s.isHorizontal()) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = sb.dragSize - newPos;\n newPos = 0;\n }\n else if (-newPos + sb.dragSize > sb.trackSize) {\n newSize = sb.trackSize + newPos;\n }\n }\n else {\n if (newPos < 0) {\n newSize = sb.dragSize + newPos;\n newPos = 0;\n }\n else if (newPos + sb.dragSize > sb.trackSize) {\n newSize = sb.trackSize - newPos;\n }\n }\n if (s.isHorizontal()) {\n if (s.support.transforms3d) {\n sb.drag.transform('translate3d(' + (newPos) + 'px, 0, 0)');\n }\n else {\n sb.drag.transform('translateX(' + (newPos) + 'px)');\n }\n sb.drag[0].style.width = newSize + 'px';\n }\n else {\n if (s.support.transforms3d) {\n sb.drag.transform('translate3d(0px, ' + (newPos) + 'px, 0)');\n }\n else {\n sb.drag.transform('translateY(' + (newPos) + 'px)');\n }\n sb.drag[0].style.height = newSize + 'px';\n }\n if (s.params.scrollbarHide) {\n clearTimeout(sb.timeout);\n sb.track[0].style.opacity = 1;\n sb.timeout = setTimeout(function () {\n sb.track[0].style.opacity = 0;\n sb.track.transition(400);\n }, 1000);\n }\n },\n setTransition: function (duration) {\n if (!s.params.scrollbar) return;\n s.scrollbar.drag.transition(duration);\n }\n };\n \n /*=========================\n Controller\n ===========================*/\n s.controller = {\n LinearSpline: function (x, y) {\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n var i1, i3;\n var l = this.x.length;\n \n this.interpolate = function (x2) {\n if (!x2) return 0;\n \n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n \n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1];\n };\n \n var binarySearch = (function() {\n var maxIndex, minIndex, guess;\n return function(array, val) {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1)\n if (array[guess = maxIndex + minIndex >> 1] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n return maxIndex;\n };\n })();\n },\n //xxx: for now i will just save one spline function to to\n getInterpolateFunction: function(c){\n if(!s.controller.spline) s.controller.spline = s.params.loop ?\n new s.controller.LinearSpline(s.slidesGrid, c.slidesGrid) :\n new s.controller.LinearSpline(s.snapGrid, c.snapGrid);\n },\n setTranslate: function (translate, byController) {\n var controlled = s.params.control;\n var multiplier, controlledTranslate;\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n translate = c.rtl && c.params.direction === 'horizontal' ? -s.translate : s.translate;\n if (s.params.controlBy === 'slide') {\n s.controller.getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -s.controller.spline.interpolate(-translate);\n }\n \n if(!controlledTranslate || s.params.controlBy === 'container'){\n multiplier = (c.maxTranslate() - c.minTranslate()) / (s.maxTranslate() - s.minTranslate());\n controlledTranslate = (translate - s.minTranslate()) * multiplier + c.minTranslate();\n }\n \n if (s.params.controlInverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setWrapperTranslate(controlledTranslate, false, s);\n c.updateActiveIndex();\n }\n if (s.isArray(controlled)) {\n for (var i = 0; i < controlled.length; i++) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n }\n else if (controlled instanceof Swiper && byController !== controlled) {\n \n setControlledTranslate(controlled);\n }\n },\n setTransition: function (duration, byController) {\n var controlled = s.params.control;\n var i;\n function setControlledTransition(c) {\n c.setWrapperTransition(duration, s);\n if (duration !== 0) {\n c.onTransitionStart();\n c.wrapper.transitionEnd(function(){\n if (!controlled) return;\n if (c.params.loop && s.params.controlBy === 'slide') {\n c.fixLoop();\n }\n c.onTransitionEnd();\n \n });\n }\n }\n if (s.isArray(controlled)) {\n for (i = 0; i < controlled.length; i++) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n }\n else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n }\n };\n \n /*=========================\n Parallax\n ===========================*/\n function setParallaxTransform(el, progress) {\n el = $(el);\n var p, pX, pY;\n var rtlFactor = s.rtl ? -1 : 1;\n \n p = el.attr('data-swiper-parallax') || '0';\n pX = el.attr('data-swiper-parallax-x');\n pY = el.attr('data-swiper-parallax-y');\n if (pX || pY) {\n pX = pX || '0';\n pY = pY || '0';\n }\n else {\n if (s.isHorizontal()) {\n pX = p;\n pY = '0';\n }\n else {\n pY = p;\n pX = '0';\n }\n }\n \n if ((pX).indexOf('%') >= 0) {\n pX = parseInt(pX, 10) * progress * rtlFactor + '%';\n }\n else {\n pX = pX * progress * rtlFactor + 'px' ;\n }\n if ((pY).indexOf('%') >= 0) {\n pY = parseInt(pY, 10) * progress + '%';\n }\n else {\n pY = pY * progress + 'px' ;\n }\n \n el.transform('translate3d(' + pX + ', ' + pY + ',0px)');\n }\n s.parallax = {\n setTranslate: function () {\n s.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){\n setParallaxTransform(this, s.progress);\n \n });\n s.slides.each(function () {\n var slide = $(this);\n slide.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function () {\n var progress = Math.min(Math.max(slide[0].progress, -1), 1);\n setParallaxTransform(this, progress);\n });\n });\n },\n setTransition: function (duration) {\n if (typeof duration === 'undefined') duration = s.params.speed;\n s.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){\n var el = $(this);\n var parallaxDuration = parseInt(el.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n el.transition(parallaxDuration);\n });\n }\n };\n \n \n /*=========================\n Zoom\n ===========================*/\n s.zoom = {\n // \"Global\" Props\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n slide: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n image: undefined,\n imageWrap: undefined,\n zoomMax: s.params.zoomMax\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {}\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined\n },\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches: function (e) {\n if (e.targetTouches.length < 2) return 1;\n var x1 = e.targetTouches[0].pageX,\n y1 = e.targetTouches[0].pageY,\n x2 = e.targetTouches[1].pageX,\n y2 = e.targetTouches[1].pageY;\n var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\n return distance;\n },\n // Events\n onGestureStart: function (e) {\n var z = s.zoom;\n if (!s.support.gestures) {\n if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {\n return;\n }\n z.gesture.scaleStart = z.getDistanceBetweenTouches(e);\n }\n if (!z.gesture.slide || !z.gesture.slide.length) {\n z.gesture.slide = $(this);\n if (z.gesture.slide.length === 0) z.gesture.slide = s.slides.eq(s.activeIndex);\n z.gesture.image = z.gesture.slide.find('img, svg, canvas');\n z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass);\n z.gesture.zoomMax = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax ;\n if (z.gesture.imageWrap.length === 0) {\n z.gesture.image = undefined;\n return;\n }\n }\n z.gesture.image.transition(0);\n z.isScaling = true;\n },\n onGestureChange: function (e) {\n var z = s.zoom;\n if (!s.support.gestures) {\n if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {\n return;\n }\n z.gesture.scaleMove = z.getDistanceBetweenTouches(e);\n }\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n if (s.support.gestures) {\n z.scale = e.scale * z.currentScale;\n }\n else {\n z.scale = (z.gesture.scaleMove / z.gesture.scaleStart) * z.currentScale;\n }\n if (z.scale > z.gesture.zoomMax) {\n z.scale = z.gesture.zoomMax - 1 + Math.pow((z.scale - z.gesture.zoomMax + 1), 0.5);\n }\n if (z.scale < s.params.zoomMin) {\n z.scale = s.params.zoomMin + 1 - Math.pow((s.params.zoomMin - z.scale + 1), 0.5);\n }\n z.gesture.image.transform('translate3d(0,0,0) scale(' + z.scale + ')');\n },\n onGestureEnd: function (e) {\n var z = s.zoom;\n if (!s.support.gestures) {\n if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2) {\n return;\n }\n }\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n z.scale = Math.max(Math.min(z.scale, z.gesture.zoomMax), s.params.zoomMin);\n z.gesture.image.transition(s.params.speed).transform('translate3d(0,0,0) scale(' + z.scale + ')');\n z.currentScale = z.scale;\n z.isScaling = false;\n if (z.scale === 1) z.gesture.slide = undefined;\n },\n onTouchStart: function (s, e) {\n var z = s.zoom;\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n if (z.image.isTouched) return;\n if (s.device.os === 'android') e.preventDefault();\n z.image.isTouched = true;\n z.image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n z.image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove: function (e) {\n var z = s.zoom;\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n s.allowClick = false;\n if (!z.image.isTouched || !z.gesture.slide) return;\n \n if (!z.image.isMoved) {\n z.image.width = z.gesture.image[0].offsetWidth;\n z.image.height = z.gesture.image[0].offsetHeight;\n z.image.startX = s.getTranslate(z.gesture.imageWrap[0], 'x') || 0;\n z.image.startY = s.getTranslate(z.gesture.imageWrap[0], 'y') || 0;\n z.gesture.slideWidth = z.gesture.slide[0].offsetWidth;\n z.gesture.slideHeight = z.gesture.slide[0].offsetHeight;\n z.gesture.imageWrap.transition(0);\n }\n // Define if we need image drag\n var scaledWidth = z.image.width * z.scale;\n var scaledHeight = z.image.height * z.scale;\n \n if (scaledWidth < z.gesture.slideWidth && scaledHeight < z.gesture.slideHeight) return;\n \n z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0);\n z.image.maxX = -z.image.minX;\n z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0);\n z.image.maxY = -z.image.minY;\n \n z.image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n z.image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n \n if (!z.image.isMoved && !z.isScaling) {\n if (s.isHorizontal() &&\n (Math.floor(z.image.minX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x < z.image.touchesStart.x) ||\n (Math.floor(z.image.maxX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x > z.image.touchesStart.x)\n ) {\n z.image.isTouched = false;\n return;\n }\n else if (!s.isHorizontal() &&\n (Math.floor(z.image.minY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y < z.image.touchesStart.y) ||\n (Math.floor(z.image.maxY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y > z.image.touchesStart.y)\n ) {\n z.image.isTouched = false;\n return;\n }\n }\n e.preventDefault();\n e.stopPropagation();\n \n z.image.isMoved = true;\n z.image.currentX = z.image.touchesCurrent.x - z.image.touchesStart.x + z.image.startX;\n z.image.currentY = z.image.touchesCurrent.y - z.image.touchesStart.y + z.image.startY;\n \n if (z.image.currentX < z.image.minX) {\n z.image.currentX = z.image.minX + 1 - Math.pow((z.image.minX - z.image.currentX + 1), 0.8);\n }\n if (z.image.currentX > z.image.maxX) {\n z.image.currentX = z.image.maxX - 1 + Math.pow((z.image.currentX - z.image.maxX + 1), 0.8);\n }\n \n if (z.image.currentY < z.image.minY) {\n z.image.currentY = z.image.minY + 1 - Math.pow((z.image.minY - z.image.currentY + 1), 0.8);\n }\n if (z.image.currentY > z.image.maxY) {\n z.image.currentY = z.image.maxY - 1 + Math.pow((z.image.currentY - z.image.maxY + 1), 0.8);\n }\n \n //Velocity\n if (!z.velocity.prevPositionX) z.velocity.prevPositionX = z.image.touchesCurrent.x;\n if (!z.velocity.prevPositionY) z.velocity.prevPositionY = z.image.touchesCurrent.y;\n if (!z.velocity.prevTime) z.velocity.prevTime = Date.now();\n z.velocity.x = (z.image.touchesCurrent.x - z.velocity.prevPositionX) / (Date.now() - z.velocity.prevTime) / 2;\n z.velocity.y = (z.image.touchesCurrent.y - z.velocity.prevPositionY) / (Date.now() - z.velocity.prevTime) / 2;\n if (Math.abs(z.image.touchesCurrent.x - z.velocity.prevPositionX) < 2) z.velocity.x = 0;\n if (Math.abs(z.image.touchesCurrent.y - z.velocity.prevPositionY) < 2) z.velocity.y = 0;\n z.velocity.prevPositionX = z.image.touchesCurrent.x;\n z.velocity.prevPositionY = z.image.touchesCurrent.y;\n z.velocity.prevTime = Date.now();\n \n z.gesture.imageWrap.transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)');\n },\n onTouchEnd: function (s, e) {\n var z = s.zoom;\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n if (!z.image.isTouched || !z.image.isMoved) {\n z.image.isTouched = false;\n z.image.isMoved = false;\n return;\n }\n z.image.isTouched = false;\n z.image.isMoved = false;\n var momentumDurationX = 300;\n var momentumDurationY = 300;\n var momentumDistanceX = z.velocity.x * momentumDurationX;\n var newPositionX = z.image.currentX + momentumDistanceX;\n var momentumDistanceY = z.velocity.y * momentumDurationY;\n var newPositionY = z.image.currentY + momentumDistanceY;\n \n //Fix duration\n if (z.velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - z.image.currentX) / z.velocity.x);\n if (z.velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - z.image.currentY) / z.velocity.y);\n var momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n \n z.image.currentX = newPositionX;\n z.image.currentY = newPositionY;\n \n // Define if we need image drag\n var scaledWidth = z.image.width * z.scale;\n var scaledHeight = z.image.height * z.scale;\n z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0);\n z.image.maxX = -z.image.minX;\n z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0);\n z.image.maxY = -z.image.minY;\n z.image.currentX = Math.max(Math.min(z.image.currentX, z.image.maxX), z.image.minX);\n z.image.currentY = Math.max(Math.min(z.image.currentY, z.image.maxY), z.image.minY);\n \n z.gesture.imageWrap.transition(momentumDuration).transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)');\n },\n onTransitionEnd: function (s) {\n var z = s.zoom;\n if (z.gesture.slide && s.previousIndex !== s.activeIndex) {\n z.gesture.image.transform('translate3d(0,0,0) scale(1)');\n z.gesture.imageWrap.transform('translate3d(0,0,0)');\n z.gesture.slide = z.gesture.image = z.gesture.imageWrap = undefined;\n z.scale = z.currentScale = 1;\n }\n },\n // Toggle Zoom\n toggleZoom: function (s, e) {\n var z = s.zoom;\n if (!z.gesture.slide) {\n z.gesture.slide = s.clickedSlide ? $(s.clickedSlide) : s.slides.eq(s.activeIndex);\n z.gesture.image = z.gesture.slide.find('img, svg, canvas');\n z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass);\n }\n if (!z.gesture.image || z.gesture.image.length === 0) return;\n \n var touchX, touchY, offsetX, offsetY, diffX, diffY, translateX, translateY, imageWidth, imageHeight, scaledWidth, scaledHeight, translateMinX, translateMinY, translateMaxX, translateMaxY, slideWidth, slideHeight;\n \n if (typeof z.image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n }\n else {\n touchX = z.image.touchesStart.x;\n touchY = z.image.touchesStart.y;\n }\n \n if (z.scale && z.scale !== 1) {\n // Zoom Out\n z.scale = z.currentScale = 1;\n z.gesture.imageWrap.transition(300).transform('translate3d(0,0,0)');\n z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(1)');\n z.gesture.slide = undefined;\n }\n else {\n // Zoom In\n z.scale = z.currentScale = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax;\n if (e) {\n slideWidth = z.gesture.slide[0].offsetWidth;\n slideHeight = z.gesture.slide[0].offsetHeight;\n offsetX = z.gesture.slide.offset().left;\n offsetY = z.gesture.slide.offset().top;\n diffX = offsetX + slideWidth/2 - touchX;\n diffY = offsetY + slideHeight/2 - touchY;\n \n imageWidth = z.gesture.image[0].offsetWidth;\n imageHeight = z.gesture.image[0].offsetHeight;\n scaledWidth = imageWidth * z.scale;\n scaledHeight = imageHeight * z.scale;\n \n translateMinX = Math.min((slideWidth / 2 - scaledWidth / 2), 0);\n translateMinY = Math.min((slideHeight / 2 - scaledHeight / 2), 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n \n translateX = diffX * z.scale;\n translateY = diffY * z.scale;\n \n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n \n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n }\n else {\n translateX = 0;\n translateY = 0;\n }\n z.gesture.imageWrap.transition(300).transform('translate3d(' + translateX + 'px, ' + translateY + 'px,0)');\n z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(' + z.scale + ')');\n }\n },\n // Attach/Detach Events\n attachEvents: function (detach) {\n var action = detach ? 'off' : 'on';\n \n if (s.params.zoom) {\n var target = s.slides;\n var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false;\n // Scale image\n if (s.support.gestures) {\n s.slides[action]('gesturestart', s.zoom.onGestureStart, passiveListener);\n s.slides[action]('gesturechange', s.zoom.onGestureChange, passiveListener);\n s.slides[action]('gestureend', s.zoom.onGestureEnd, passiveListener);\n }\n else if (s.touchEvents.start === 'touchstart') {\n s.slides[action](s.touchEvents.start, s.zoom.onGestureStart, passiveListener);\n s.slides[action](s.touchEvents.move, s.zoom.onGestureChange, passiveListener);\n s.slides[action](s.touchEvents.end, s.zoom.onGestureEnd, passiveListener);\n }\n \n // Move image\n s[action]('touchStart', s.zoom.onTouchStart);\n s.slides.each(function (index, slide){\n if ($(slide).find('.' + s.params.zoomContainerClass).length > 0) {\n $(slide)[action](s.touchEvents.move, s.zoom.onTouchMove);\n }\n });\n s[action]('touchEnd', s.zoom.onTouchEnd);\n \n // Scale Out\n s[action]('transitionEnd', s.zoom.onTransitionEnd);\n if (s.params.zoomToggle) {\n s.on('doubleTap', s.zoom.toggleZoom);\n }\n }\n },\n init: function () {\n s.zoom.attachEvents();\n },\n destroy: function () {\n s.zoom.attachEvents(true);\n }\n };\n \n /*=========================\n Plugins API. Collect all and init all plugins\n ===========================*/\n s._plugins = [];\n for (var plugin in s.plugins) {\n var p = s.plugins[plugin](s, s.params[plugin]);\n if (p) s._plugins.push(p);\n }\n // Method to call all plugins event/method\n s.callPlugins = function (eventName) {\n for (var i = 0; i < s._plugins.length; i++) {\n if (eventName in s._plugins[i]) {\n s._plugins[i][eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n };\n \n /*=========================\n Events/Callbacks/Plugins Emitter\n ===========================*/\n function normalizeEventName (eventName) {\n if (eventName.indexOf('on') !== 0) {\n if (eventName[0] !== eventName[0].toUpperCase()) {\n eventName = 'on' + eventName[0].toUpperCase() + eventName.substring(1);\n }\n else {\n eventName = 'on' + eventName;\n }\n }\n return eventName;\n }\n s.emitterEventListeners = {\n \n };\n s.emit = function (eventName) {\n // Trigger callbacks\n if (s.params[eventName]) {\n s.params[eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n var i;\n // Trigger events\n if (s.emitterEventListeners[eventName]) {\n for (i = 0; i < s.emitterEventListeners[eventName].length; i++) {\n s.emitterEventListeners[eventName][i](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n }\n }\n // Trigger plugins\n if (s.callPlugins) s.callPlugins(eventName, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);\n };\n s.on = function (eventName, handler) {\n eventName = normalizeEventName(eventName);\n if (!s.emitterEventListeners[eventName]) s.emitterEventListeners[eventName] = [];\n s.emitterEventListeners[eventName].push(handler);\n return s;\n };\n s.off = function (eventName, handler) {\n var i;\n eventName = normalizeEventName(eventName);\n if (typeof handler === 'undefined') {\n // Remove all handlers for such event\n s.emitterEventListeners[eventName] = [];\n return s;\n }\n if (!s.emitterEventListeners[eventName] || s.emitterEventListeners[eventName].length === 0) return;\n for (i = 0; i < s.emitterEventListeners[eventName].length; i++) {\n if(s.emitterEventListeners[eventName][i] === handler) s.emitterEventListeners[eventName].splice(i, 1);\n }\n return s;\n };\n s.once = function (eventName, handler) {\n eventName = normalizeEventName(eventName);\n var _handler = function () {\n handler(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);\n s.off(eventName, _handler);\n };\n s.on(eventName, _handler);\n return s;\n };\n \n // Accessibility tools\n s.a11y = {\n makeFocusable: function ($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n addRole: function ($el, role) {\n $el.attr('role', role);\n return $el;\n },\n \n addLabel: function ($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n \n disable: function ($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n \n enable: function ($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n \n onEnterKey: function (event) {\n if (event.keyCode !== 13) return;\n if ($(event.target).is(s.params.nextButton)) {\n s.onClickNext(event);\n if (s.isEnd) {\n s.a11y.notify(s.params.lastSlideMessage);\n }\n else {\n s.a11y.notify(s.params.nextSlideMessage);\n }\n }\n else if ($(event.target).is(s.params.prevButton)) {\n s.onClickPrev(event);\n if (s.isBeginning) {\n s.a11y.notify(s.params.firstSlideMessage);\n }\n else {\n s.a11y.notify(s.params.prevSlideMessage);\n }\n }\n if ($(event.target).is('.' + s.params.bulletClass)) {\n $(event.target)[0].click();\n }\n },\n \n liveRegion: $(''),\n \n notify: function (message) {\n var notification = s.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n init: function () {\n // Setup accessibility\n if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) {\n s.a11y.makeFocusable(s.nextButton);\n s.a11y.addRole(s.nextButton, 'button');\n s.a11y.addLabel(s.nextButton, s.params.nextSlideMessage);\n }\n if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) {\n s.a11y.makeFocusable(s.prevButton);\n s.a11y.addRole(s.prevButton, 'button');\n s.a11y.addLabel(s.prevButton, s.params.prevSlideMessage);\n }\n \n $(s.container).append(s.a11y.liveRegion);\n },\n initPagination: function () {\n if (s.params.pagination && s.params.paginationClickable && s.bullets && s.bullets.length) {\n s.bullets.each(function () {\n var bullet = $(this);\n s.a11y.makeFocusable(bullet);\n s.a11y.addRole(bullet, 'button');\n s.a11y.addLabel(bullet, s.params.paginationBulletMessage.replace(/{{index}}/, bullet.index() + 1));\n });\n }\n },\n destroy: function () {\n if (s.a11y.liveRegion && s.a11y.liveRegion.length > 0) s.a11y.liveRegion.remove();\n }\n };\n \n \n /*=========================\n Init/Destroy\n ===========================*/\n s.init = function () {\n if (s.params.loop) s.createLoop();\n s.updateContainerSize();\n s.updateSlidesSize();\n s.updatePagination();\n if (s.params.scrollbar && s.scrollbar) {\n s.scrollbar.set();\n if (s.params.scrollbarDraggable) {\n s.scrollbar.enableDraggable();\n }\n }\n if (s.params.effect !== 'slide' && s.effects[s.params.effect]) {\n if (!s.params.loop) s.updateProgress();\n s.effects[s.params.effect].setTranslate();\n }\n if (s.params.loop) {\n s.slideTo(s.params.initialSlide + s.loopedSlides, 0, s.params.runCallbacksOnInit);\n }\n else {\n s.slideTo(s.params.initialSlide, 0, s.params.runCallbacksOnInit);\n if (s.params.initialSlide === 0) {\n if (s.parallax && s.params.parallax) s.parallax.setTranslate();\n if (s.lazy && s.params.lazyLoading) {\n s.lazy.load();\n s.lazy.initialImageLoaded = true;\n }\n }\n }\n s.attachEvents();\n if (s.params.observer && s.support.observer) {\n s.initObservers();\n }\n if (s.params.preloadImages && !s.params.lazyLoading) {\n s.preloadImages();\n }\n if (s.params.zoom && s.zoom) {\n s.zoom.init();\n }\n if (s.params.autoplay) {\n s.startAutoplay();\n }\n if (s.params.keyboardControl) {\n if (s.enableKeyboardControl) s.enableKeyboardControl();\n }\n if (s.params.mousewheelControl) {\n if (s.enableMousewheelControl) s.enableMousewheelControl();\n }\n // Deprecated hashnavReplaceState changed to replaceState for use in hashnav and history\n if (s.params.hashnavReplaceState) {\n s.params.replaceState = s.params.hashnavReplaceState;\n }\n if (s.params.history) {\n if (s.history) s.history.init();\n }\n if (s.params.hashnav) {\n if (s.hashnav) s.hashnav.init();\n }\n if (s.params.a11y && s.a11y) s.a11y.init();\n s.emit('onInit', s);\n };\n \n // Cleanup dynamic styles\n s.cleanupStyles = function () {\n // Container\n s.container.removeClass(s.classNames.join(' ')).removeAttr('style');\n \n // Wrapper\n s.wrapper.removeAttr('style');\n \n // Slides\n if (s.slides && s.slides.length) {\n s.slides\n .removeClass([\n s.params.slideVisibleClass,\n s.params.slideActiveClass,\n s.params.slideNextClass,\n s.params.slidePrevClass\n ].join(' '))\n .removeAttr('style')\n .removeAttr('data-swiper-column')\n .removeAttr('data-swiper-row');\n }\n \n // Pagination/Bullets\n if (s.paginationContainer && s.paginationContainer.length) {\n s.paginationContainer.removeClass(s.params.paginationHiddenClass);\n }\n if (s.bullets && s.bullets.length) {\n s.bullets.removeClass(s.params.bulletActiveClass);\n }\n \n // Buttons\n if (s.params.prevButton) $(s.params.prevButton).removeClass(s.params.buttonDisabledClass);\n if (s.params.nextButton) $(s.params.nextButton).removeClass(s.params.buttonDisabledClass);\n \n // Scrollbar\n if (s.params.scrollbar && s.scrollbar) {\n if (s.scrollbar.track && s.scrollbar.track.length) s.scrollbar.track.removeAttr('style');\n if (s.scrollbar.drag && s.scrollbar.drag.length) s.scrollbar.drag.removeAttr('style');\n }\n };\n \n // Destroy\n s.destroy = function (deleteInstance, cleanupStyles) {\n // Detach evebts\n s.detachEvents();\n // Stop autoplay\n s.stopAutoplay();\n // Disable draggable\n if (s.params.scrollbar && s.scrollbar) {\n if (s.params.scrollbarDraggable) {\n s.scrollbar.disableDraggable();\n }\n }\n // Destroy loop\n if (s.params.loop) {\n s.destroyLoop();\n }\n // Cleanup styles\n if (cleanupStyles) {\n s.cleanupStyles();\n }\n // Disconnect observer\n s.disconnectObservers();\n \n // Destroy zoom\n if (s.params.zoom && s.zoom) {\n s.zoom.destroy();\n }\n // Disable keyboard/mousewheel\n if (s.params.keyboardControl) {\n if (s.disableKeyboardControl) s.disableKeyboardControl();\n }\n if (s.params.mousewheelControl) {\n if (s.disableMousewheelControl) s.disableMousewheelControl();\n }\n // Disable a11y\n if (s.params.a11y && s.a11y) s.a11y.destroy();\n // Delete history popstate\n if (s.params.history && !s.params.replaceState) {\n window.removeEventListener('popstate', s.history.setHistoryPopState);\n }\n if (s.params.hashnav && s.hashnav) {\n s.hashnav.destroy();\n }\n // Destroy callback\n s.emit('onDestroy');\n // Delete instance\n if (deleteInstance !== false) s = null;\n };\n \n s.init();\n \n \n \n // Return swiper instance\n return s;\n };\n \n /*==================================================\n Prototype\n ====================================================*/\n Swiper.prototype = {\n isSafari: (function () {\n var ua = navigator.userAgent.toLowerCase();\n return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);\n })(),\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),\n isArray: function (arr) {\n return Object.prototype.toString.apply(arr) === '[object Array]';\n },\n /*==================================================\n Browser\n ====================================================*/\n browser: {\n ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled,\n ieTouch: (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1) || (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1),\n lteIE9: (function() {\n // create temporary DIV\n var div = document.createElement('div');\n // add content to tmp DIV which is wrapped into the IE HTML conditional statement\n div.innerHTML = '';\n // return true / false value based on what will browser render\n return div.getElementsByTagName('i').length === 1;\n })()\n },\n /*==================================================\n Devices\n ====================================================*/\n device: (function () {\n var ua = navigator.userAgent;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/);\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS)\\s([\\d_]+)/);\n return {\n ios: ipad || iphone || ipod,\n android: android\n };\n })(),\n /*==================================================\n Feature Detection\n ====================================================*/\n support: {\n touch : (window.Modernizr && Modernizr.touch === true) || (function () {\n return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch);\n })(),\n \n transforms3d : (window.Modernizr && Modernizr.csstransforms3d === true) || (function () {\n var div = document.createElement('div').style;\n return ('webkitPerspective' in div || 'MozPerspective' in div || 'OPerspective' in div || 'MsPerspective' in div || 'perspective' in div);\n })(),\n \n flexbox: (function () {\n var div = document.createElement('div').style;\n var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');\n for (var i = 0; i < styles.length; i++) {\n if (styles[i] in div) return true;\n }\n })(),\n \n observer: (function () {\n return ('MutationObserver' in window || 'WebkitMutationObserver' in window);\n })(),\n \n passiveListener: (function () {\n var supportsPassive = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {}\n return supportsPassive;\n })(),\n \n gestures: (function () {\n return 'ongesturestart' in window;\n })()\n },\n /*==================================================\n Plugins\n ====================================================*/\n plugins: {}\n };\n\n})();\n\n//# sourceMappingURL=framework7.js.map\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/vendor/framework7/src/js/accordion.js b/vendor/framework7/src/js/accordion.js deleted file mode 100644 index 4c78c4284..000000000 --- a/vendor/framework7/src/js/accordion.js +++ /dev/null @@ -1,60 +0,0 @@ -/*=============================================================================== -************ Accordion ************ -===============================================================================*/ -app.accordionToggle = function (item) { - item = $(item); - if (item.length === 0) return; - if (item.hasClass('accordion-item-expanded')) app.accordionClose(item); - else app.accordionOpen(item); -}; -app.accordionOpen = function (item) { - item = $(item); - var list = item.parents('.accordion-list').eq(0); - var content = item.children('.accordion-item-content'); - if (content.length === 0) content = item.find('.accordion-item-content'); - var expandedItem = list.length > 0 && item.parent().children('.accordion-item-expanded'); - if (expandedItem.length > 0) { - app.accordionClose(expandedItem); - } - content.css('height', content[0].scrollHeight + 'px').transitionEnd(function () { - if (item.hasClass('accordion-item-expanded')) { - content.transition(0); - content.css('height', 'auto'); - var clientLeft = content[0].clientLeft; - content.transition(''); - item.trigger('opened'); - } - else { - content.css('height', ''); - item.trigger('closed'); - } - }); - item.trigger('open'); - item.addClass('accordion-item-expanded'); -}; -app.accordionClose = function (item) { - item = $(item); - var content = item.children('.accordion-item-content'); - if (content.length === 0) content = item.find('.accordion-item-content'); - item.removeClass('accordion-item-expanded'); - content.transition(0); - content.css('height', content[0].scrollHeight + 'px'); - // Relayout - var clientLeft = content[0].clientLeft; - // Close - content.transition(''); - content.css('height', '').transitionEnd(function () { - if (item.hasClass('accordion-item-expanded')) { - content.transition(0); - content.css('height', 'auto'); - var clientLeft = content[0].clientLeft; - content.transition(''); - item.trigger('opened'); - } - else { - content.css('height', ''); - item.trigger('closed'); - } - }); - item.trigger('close'); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/animate7.js b/vendor/framework7/src/js/animate7.js deleted file mode 100644 index 2d32d6375..000000000 --- a/vendor/framework7/src/js/animate7.js +++ /dev/null @@ -1,182 +0,0 @@ -/*======================== -Animate7 Animate Engine -==========================*/ -var Animate7 = function (elements, props, params) { - props = props || {}; - params = params || {}; - var defaults = { - duration: 300, - easing: 'swing', // or 'linear' - /* Callbacks - begin(elements) - complete(elements) - progress(elements, complete, remaining, start, tweenValue) - */ - }; - - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - - var a = this; - a.params = params; - a.props = props; - a.elements = $(elements); - if (a.elements.length === 0) { - return a; - } - - a.easingProgress = function (easing, progress) { - if (easing === 'swing') { - return 0.5 - Math.cos( progress * Math.PI ) / 2; - } - if (typeof easing === 'function') { - return easing(progress); - } - return progress; - }; - - a.stop = function () { - if (a.frameId) { - $.cancelAnimationFrame(a.frameId); - } - a.animating = false; - a.elements.each(function (index, el) { - delete el.animate7Instance; - }); - a.que = []; - }; - a.done = function (complete) { - a.animating = false; - a.elements.each(function (index, el) { - delete el.animate7Instance; - }); - if (complete) complete(elements); - if (a.que.length > 0) { - var que = a.que.shift(); - a.animate(que[0], que[1]); - } - }; - a.animating = false; - a.que = []; - a.animate = function (props, params) { - if (a.animating) { - a.que.push([props, params]); - return a; - } - a.params = params; - - var _elements = []; - - // Define & Cache Initials & Units - a.elements.each(function (index, el) { - var initialFullValue, initialValue, unit, finalValue, finalFullValue; - - _elements[index] = { - _container: el - }; - - for (var prop in props) { - initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.'); - initialValue = parseFloat(initialFullValue); - unit = initialFullValue.replace(initialValue, ''); - finalValue = props[prop]; - finalFullValue = props[prop] + unit; - _elements[index][prop] = { - initialFullValue: initialFullValue, - initialValue: initialValue, - unit: unit, - finalValue: finalValue, - finalFullValue: finalFullValue, - currentValue: initialValue - }; - - } - }); - - var startTime = null, - time, - elementsDone = 0, - propsDone = 0, - done, - began = false; - - a.animating = true; - - function render() { - time = new Date().getTime(); - var progress, easeProgress, el; - if (!began) { - began = true; - if (params.begin) params.begin(elements); - } - if (startTime === null) { - startTime = time; - } - if (params.progress) { - params.progress( - a.elements, - Math.max(Math.min((time - startTime) / params.duration, 1), 0), - ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), - startTime - ); - } - - for (var i = 0; i < _elements.length; i++) { - if (done) continue; - el = _elements[i]; - if (el.done) continue; - - for (var prop in props) { - progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0); - easeProgress = a.easingProgress(params.easing, progress); - - el[prop].currentValue = el[prop].initialValue + easeProgress * (el[prop].finalValue - el[prop].initialValue); - - if (el[prop].finalValue > el[prop].initialValue && el[prop].currentValue >= el[prop].finalValue || el[prop].finalValue < el[prop].initialValue && el[prop].currentValue <= el[prop].finalValue) { - el._container.style[prop] = el[prop].finalValue + el[prop].unit; - propsDone ++; - if (propsDone === Object.keys(props).length) { - el.done = true; - elementsDone++; - } - if (elementsDone === _elements.length) { - done = true; - } - } - if (done) { - a.done(params.complete); - return a; - } - el._container.style[prop] = el[prop].currentValue + el[prop].unit; - } - } - - // Then call - a.frameId = $.requestAnimationFrame(render); - } - a.frameId = $.requestAnimationFrame(render); - return a; - }; - var foundInstance; - for (var i = 0; i < a.elements.length; i++) { - if (a.elements[i].animate7Instance) { - foundInstance = a.elements[i].animate7Instance; - } - else a.elements[i].animate7Instance = a; - } - if (foundInstance) { - return foundInstance.animate(props, params); - } - else a.animate(props, params); - return a; -}; -window.Animate7 = function (elements, props, params){ - return new Animate7(elements, props, params); -}; -Dom7.fn.animate = function (props, params) { - new Animate7(this, props, params); - return this; -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/autocomplete.js b/vendor/framework7/src/js/autocomplete.js deleted file mode 100644 index 3d235f152..000000000 --- a/vendor/framework7/src/js/autocomplete.js +++ /dev/null @@ -1,626 +0,0 @@ -/*=============================================================================== -************ Autocomplete ************ -===============================================================================*/ -var Autocomplete = function (params) { - var a = this; - - // Params - var defaults = { - // Standalone Options - /* - opener: undefined, - */ - popupCloseText: 'Close', - backText: 'Back', - searchbarPlaceholderText: 'Search...', - searchbarCancelText: 'Cancel', - openIn: 'page', - backOnSelect: false, - notFoundText: 'Nothing found', - /* - pageTitle: undefined, - */ - - // Handle Data - /* - source: undefined, - limit: undefined, - */ - valueProperty: 'id', - textProperty: 'text', - - // Dropdown Options - /* - dropdownPlaceholderText: 'Type anything...', - */ - updateInputValueOnSelect: true, - expandInput: false, - - // Preloader - preloaderColor: false, - preloader: false, - - // Templates - /* - itemTemplate: undefined, - navbarTemplate: undefined, - dropdownTemplate: undefined - dropdownItemTemplate: undefined, - dropdownPlaceholderTemplate: undefined - */ - - // Color themes - /* - navbarTheme: undefined, - formTheme: undefined, - */ - - // Callbacks - /* - onChange: function (a, value) - for not dropdown - onOpen: function (a) - onClose: function (a) - */ - }; - - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - a.params = params; - - // Opener Link & View - if (a.params.opener) { - a.opener = $(a.params.opener); - } - var view = a.params.view; - if (!a.params.view && a.opener && a.opener.length) { - // Find related view - view = a.opener.parents('.' + app.params.viewClass); - if (view.length === 0) return; - view = view[0].f7View; - } - - // Input - if (a.params.input) { - a.input = $(a.params.input); - if (a.input.length === 0 && a.params.openIn === 'dropdown') return; - } - - // Array with selected items - a.value = a.params.value || []; - - // ID & Inputs - a.id = (new Date()).getTime(); - a.inputType = a.params.multiple ? 'checkbox' : 'radio'; - a.inputName = a.inputType + '-' + a.id; - - // Is Material - var material = app.params.material; - - // Back On Select - var backOnSelect = a.params.backOnSelect; - - if (a.params.openIn !== 'dropdown') { - // Item Template - a.itemTemplate = t7.compile(a.params.itemTemplate || - '
                                                • ' + - '' + - '
                                                • ' - ); - // Page Layout - var pageTitle = a.params.pageTitle || ''; - if (!pageTitle && a.opener && a.opener.length) { - pageTitle = a.opener.find('.item-title').text(); - } - var pageName = 'autocomplete-' + a.inputName; - - var navbarTheme = a.params.navbarTheme, - formTheme = a.params.formTheme; - - // Navbar HTML - var navbarHTML; - var noNavbar = '', noToolbar = '', navbarLayout; - - a.navbarTemplate = t7.compile(a.params.navbarTemplate || - '' - ); - navbarHTML = a.navbarTemplate({ - pageTitle: pageTitle, - backText: a.params.backText, - popupCloseText: a.params.popupCloseText, - openIn: a.params.openIn, - navbarTheme: navbarTheme, - inPopup: a.params.openIn === 'popup', - inPage: a.params.openIn === 'page', - material: material, - preloader: a.params.preloader, - preloaderColor: a.params.preloaderColor, - }); - - // Determine navbar layout type - static/fixed/through - if (a.params.openIn === 'page') { - navbarLayout = 'static'; - if (a.opener) { - if (a.opener.parents('.navbar-through').length > 0) navbarLayout = 'through'; - if (a.opener.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed'; - noToolbar = a.opener.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : ''; - noNavbar = a.opener.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout; - } - else if (view.container) { - if ($(view.container).hasClass('navbar-through') || $(view.container).find('.navbar-through').length > 0) navbarLayout = 'through'; - if ($(view.container).hasClass('navbar-fixed') || $(view.container).find('.navbar-fixed').length > 0) navbarLayout = 'fixed'; - noToolbar = $(view.activePage.container).hasClass('no-toolbar') ? 'no-toolbar' : ''; - noNavbar = $(view.activePage.container).hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout; - } - } - else { - navbarLayout = 'fixed'; - } - var searchbarHTML = - '' + - '
                                                  '; - var pageHTML = - (navbarLayout === 'through' ? navbarHTML : '') + - '
                                                  ' + - '
                                                  ' + - (navbarLayout === 'fixed' ? navbarHTML : '') + - searchbarHTML + - '
                                                  ' + - (navbarLayout === 'static' ? navbarHTML : '') + - '
                                                  ' + - '
                                                    ' + - '
                                                    ' + - '
                                                    ' + - '
                                                    • ' + a.params.notFoundText + '
                                                    ' + - '
                                                    ' + - '
                                                    ' + - '
                                                      ' + - '
                                                      ' + - '
                                                      ' + - '
                                                      ' + - '
                                                      '; - } - else { - a.dropdownItemTemplate = t7.compile(a.params.dropdownItemTemplate || - '
                                                    • ' + - '' + - '
                                                    • ' - ); - a.dropdownPlaceholderTemplate = t7.compile(a.params.dropdownPlaceholderTemplate || - '
                                                    • ' + - '
                                                      ' + - '
                                                      ' + - '
                                                      {{text}}
                                                      ' + - '
                                                      ' + - '' + - '
                                                    • ' - ); - a.dropdownTemplate = t7.compile(a.params.dropdownTemplate || - '
                                                      ' + - '
                                                      ' + - '
                                                      ' + - '
                                                        ' + - '
                                                        ' + - '
                                                        ' + - '{{#if preloader}}' + - '
                                                        {{#if material}}{{materialPreloaderHtml}}{{/if}}
                                                        ' + - '{{/if}}' + - '
                                                        ' - ); - } - - // Define popup - a.popup = undefined; - - // Define Dropdown - a.dropdown = undefined; - - // Handle Input Value Change - function handleInputValue (e) { - var query = a.input.val(); - if (a.params.source) { - a.params.source(a, query, function (items) { - var itemsHTML = ''; - var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length; - a.items = items; - var i, j; - var regExp = new RegExp('('+query+')', 'i'); - for (i = 0; i < limit; i++) { - var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i]; - itemsHTML += a.dropdownItemTemplate({ - value: itemValue, - text: (typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty]).replace(regExp, '$1') - }); - } - if (itemsHTML === '' && query === '' && a.params.dropdownPlaceholderText) { - itemsHTML += a.dropdownPlaceholderTemplate({ - text: a.params.dropdownPlaceholderText, - }); - } - a.dropdown.find('ul').html(itemsHTML); - }); - } - } - // Handle Drop Down Click - function handleDropdownClick (e) { - /*jshint validthis:true */ - var clicked = $(this); - var clickedItem; - for (var i = 0; i < a.items.length; i++) { - var itemValue = typeof a.items[i] === 'object' ? a.items[i][a.params.valueProperty] : a.items[i]; - var value = clicked.attr('data-value'); - if (itemValue === value || itemValue * 1 === value * 1) { - clickedItem = a.items[i]; - } - } - if (a.params.updateInputValueOnSelect) { - a.input.val(typeof clickedItem === 'object' ? clickedItem[a.params.textProperty] : clickedItem); - a.input.trigger('input change'); - } - - if (a.params.onChange) { - a.params.onChange(a, clickedItem); - } - - a.close(); - } - - // Handle HTML Click to close Dropdown - function closeOnHTMLClick (e) { - var target = $(e.target); - if (!(target.is(a.input[0]) || a.dropdown && target.parents(a.dropdown[0]).length > 0)) { - a.close(); - } - } - - a.positionDropDown = function () { - var listBlock = a.input.parents('.list-block'), - pageContent = a.input.parents('.page-content'), - paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-top'), 10), - // inputOffset = a.input.offset(), - listBlockOffsetLeft = listBlock.length > 0 ? listBlock.offset().left - listBlock.parent().offset().left : 0, - inputOffsetLeft = a.input.offset().left - (listBlock.length > 0 ? listBlock.offset().left : 0), - inputOffsetTop = a.input.offset().top - (pageContent.offset().top - pageContent[0].scrollTop), - maxHeight = pageContent[0].scrollHeight - paddingBottom - (inputOffsetTop + pageContent[0].scrollTop) - a.input[0].offsetHeight; - - a.dropdown.css({ - left: (listBlock.length > 0 ? listBlockOffsetLeft : inputOffsetLeft) + 'px', - top: inputOffsetTop + pageContent[0].scrollTop + a.input[0].offsetHeight + 'px', - width: (listBlock.length > 0 ? listBlock[0].offsetWidth : a.input[0].offsetWidth) + 'px' - }); - a.dropdown.children('.autocomplete-dropdown-inner').css({ - maxHeight: maxHeight + 'px', - paddingLeft: listBlock.length > 0 && !a.params.expandInput ? inputOffsetLeft - (material ? 16 : 15) + 'px' : '' - }); - }; - - // Event Listeners on new page - a.pageInit = function (e) { - var page = e.detail.page; - a.page = $(page.container); - a.pageData = page; - if (page.name !== pageName) { - return; - } - var container = $(page.container); - // Init Search Bar - var searchbar = app.searchbar(container.find('.searchbar'), { - customSearch: true, - onSearch: function (searchbar, data) { - if (data.query.length === 0 && searchbar.active) { - searchbar.overlay.addClass('searchbar-overlay-active'); - } - else { - searchbar.overlay.removeClass('searchbar-overlay-active'); - } - - var i, j, k; - - if (a.params.source) { - a.params.source(a, data.query, function(items) { - var itemsHTML = ''; - var limit = a.params.limit ? Math.min(a.params.limit, items.length) : items.length; - a.items = items; - for (i = 0; i < limit; i++) { - var selected = false; - var itemValue = typeof items[i] === 'object' ? items[i][a.params.valueProperty] : items[i]; - for (j = 0; j < a.value.length; j++) { - var aValue = typeof a.value[j] === 'object' ? a.value[j][a.params.valueProperty] : a.value[j]; - if (aValue === itemValue || aValue * 1 === itemValue * 1) selected = true; - } - itemsHTML += a.itemTemplate({ - value: itemValue, - text: typeof items[i] !== 'object' ? items[i] : items[i][a.params.textProperty], - inputType: a.inputType, - id: a.id, - inputName: a.inputName, - selected: selected, - checkbox: a.inputType === 'checkbox', - material: material - }); - } - container.find('.autocomplete-found ul').html(itemsHTML); - if (items.length === 0) { - if (data.query.length !== 0) { - container.find('.autocomplete-not-found').show(); - container.find('.autocomplete-found, .autocomplete-values').hide(); - } - else { - container.find('.autocomplete-values').show(); - container.find('.autocomplete-found, .autocomplete-not-found').hide(); - } - } - else { - container.find('.autocomplete-found').show(); - container.find('.autocomplete-not-found, .autocomplete-values').hide(); - } - }); - } - } - }); - - // Save searchbar instance - a.searchbar = searchbar; - - // Update values - function updateValues() { - var valuesHTML = ''; - var i; - for (i = 0; i < a.value.length; i++) { - - valuesHTML += a.itemTemplate({ - value: typeof a.value[i] === 'object' ? a.value[i][a.params.valueProperty] : a.value[i], - text: typeof a.value[i] === 'object' ? a.value[i][a.params.textProperty]: a.value[i], - inputType: a.inputType, - id: a.id, - inputName: a.inputName + '-checked', - checkbox: a.inputType === 'checkbox', - material: material, - selected: true - }); - } - container.find('.autocomplete-values ul').html(valuesHTML); - } - - // Handle Inputs - container.on('change', 'input[type="radio"], input[type="checkbox"]', function () { - var i; - var input = this; - var value = input.value; - var text = $(input).parents('li').find('.item-title').text(); - var isValues = $(input).parents('.autocomplete-values').length > 0; - var item, itemValue, aValue; - if (isValues) { - if (a.inputType === 'checkbox' && !input.checked) { - for (i = 0; i < a.value.length; i++) { - aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty]; - if (aValue === value || aValue * 1 === value * 1) { - a.value.splice(i, 1); - } - } - updateValues(); - if (a.params.onChange) a.params.onChange(a, a.value); - } - return; - } - - // Find Related Item - for (i = 0; i < a.items.length; i++) { - itemValue = typeof a.items[i] === 'string' ? a.items[i] : a.items[i][a.params.valueProperty]; - if (itemValue === value || itemValue * 1 === value * 1) item = a.items[i]; - } - // Update Selected Value - if (a.inputType === 'radio') { - a.value = [item]; - } - else { - if (input.checked) { - a.value.push(item); - } - else { - for (i = 0; i < a.value.length; i++) { - aValue = typeof a.value[i] === 'string' ? a.value[i] : a.value[i][a.params.valueProperty]; - if (aValue === value || aValue * 1 === value * 1) { - a.value.splice(i, 1); - } - } - } - } - - // Update Values Block - updateValues(); - - // On Select Callback - if ((a.inputType === 'radio' && input.checked || a.inputType === 'checkbox') && a.params.onChange ) { - a.params.onChange(a, a.value); - } - if (backOnSelect && a.inputType === 'radio') { - if (a.params.openIn === 'popup') app.closeModal(a.popup); - else view.router.back(); - } - }); - - // Update Values On Page Init - updateValues(); - - if (a.params.onOpen) a.params.onOpen(a); - }; - - // Show Hide Preloader - a.showPreloader = function () { - if (a.params.openIn === 'dropdown') { - if (a.dropdown) a.dropdown.find('.autocomplete-preloader').addClass('autocomplete-preloader-visible'); - } - else $('.autocomplete-preloader').addClass('autocomplete-preloader-visible'); - }; - - a.hidePreloader = function () { - if (a.params.openIn === 'dropdown') { - if (a.dropdown) a.dropdown.find('.autocomplete-preloader').removeClass('autocomplete-preloader-visible'); - } - else $('.autocomplete-preloader').removeClass('autocomplete-preloader-visible'); - }; - - // Open Autocomplete Page/Popup - a.open = function () { - if (a.opened) return; - a.opened = true; - if (a.params.openIn === 'dropdown') { - if (!a.dropdown) { - a.dropdown = $(a.dropdownTemplate({ - preloader: a.params.preloader, - preloaderColor: a.params.preloaderColor, - material: material, - materialPreloaderHtml: app.params.materialPreloaderHtml - })); - a.dropdown.on('click', 'label', handleDropdownClick); - - } - var listBlock = a.input.parents('.list-block'); - if (listBlock.length && a.input.parents('.item-content').length > 0 && a.params.expandInput) { - a.input.parents('.item-content').addClass('item-content-dropdown-expand'); - } - a.positionDropDown(); - a.input.parents('.page-content').append(a.dropdown); - a.dropdown.addClass('autocomplete-dropdown-in'); - a.input.trigger('input'); - $(window).on('resize', a.positionDropDown); - if (a.params.onOpen) a.params.onOpen(a); - } - else { - $(document).once('pageInit', '.autocomplete-page', a.pageInit); - if (a.params.openIn === 'popup') { - a.popup = app.popup( - '' - ); - a.popup = $(a.popup); - a.popup.once('closed', function () { - a.popup = undefined; - a.opened = false; - if (a.params.onClose) a.params.onClose(a); - }); - } - else { - view.router.load({ - content: pageHTML - }); - $(document).once('pageBack', '.autocomplete-page', function () { - a.opened = false; - if (a.params.onClose) a.params.onClose(a); - }); - } - } - }; - a.close = function (e) { - if (!a.opened) return; - if (a.params.openIn === 'dropdown') { - if (e && e.type === 'blur' && a.dropdown.find('label.active-state').length > 0) return; - a.dropdown.removeClass('autocomplete-dropdown-in').remove(); - a.input.parents('.item-content-dropdown-expand').removeClass('item-content-dropdown-expand'); - a.opened = false; - $(window).off('resize', a.positionDropDown); - if (a.params.onClose) a.params.onClose(a); - } - if (a.params.openIn === 'popup') { - if (a.popup) app.closeModal(a.popup); - } - }; - - // Init Events - a.initEvents = function (detach) { - var method = detach ? 'off' : 'on'; - if (a.params.openIn !== 'dropdown' && a.opener) { - a.opener[method]('click', a.open); - } - if (a.params.openIn === 'dropdown' && a.input) { - a.input[method]('focus', a.open); - a.input[method]('input', handleInputValue); - if (app.device.android) { - $('html')[method]('click', closeOnHTMLClick); - } - else { - a.input[method]('blur', a.close); - } - } - if (detach && a.dropdown) { - a.dropdown = null; - } - }; - - // Init/Destroy Methods - a.init = function () { - a.initEvents(); - }; - a.destroy = function () { - a.initEvents(true); - a = null; - }; - - // Init - a.init(); - - return a; -}; -app.autocomplete = function (params) { - return new Autocomplete(params); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/calendar.js b/vendor/framework7/src/js/calendar.js deleted file mode 100644 index e167ffa5b..000000000 --- a/vendor/framework7/src/js/calendar.js +++ /dev/null @@ -1,996 +0,0 @@ -/*====================================================== -************ Calendar ************ -======================================================*/ -var Calendar = function (params) { - var p = this; - var defaults = { - monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August' , 'September' , 'October', 'November', 'December'], - monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], - dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], - dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], - firstDay: 1, // First day of the week, Monday - weekendDays: [0, 6], // Sunday and Saturday - multiple: false, - rangePicker: false, - dateFormat: 'yyyy-mm-dd', - direction: 'horizontal', // or 'vertical' - minDate: null, - maxDate: null, - disabled: null, // dates range of disabled days - events: null, // dates range of days with events - rangesClasses: null, //array with custom classes date ranges - touchMove: true, - animate: true, - closeOnSelect: false, - monthPicker: true, - monthPickerTemplate: - '
                                                        ' + - '' + - '' + - '' + - '
                                                        ', - yearPicker: true, - yearPickerTemplate: - '
                                                        ' + - '' + - '' + - '' + - '
                                                        ', - weekHeader: true, - // Common settings - closeByOutsideClick: true, - scrollToInput: true, - inputReadOnly: true, - convertToPopover: true, - onlyInPopover: false, - toolbar: true, - toolbarCloseText: 'Done', - headerPlaceholder: 'Select date', - header: app.params.material, - footer: app.params.material, - toolbarTemplate: - '
                                                        ' + - '
                                                        ' + - '{{monthPicker}}' + - '{{yearPicker}}' + - '
                                                        ' + - '
                                                        ', - headerTemplate: - '
                                                        ' + - '
                                                        {{placeholder}}
                                                        ' + - '
                                                        ', - footerTemplate: - '', - - /* Callbacks - onMonthAdd - onChange - onOpen - onClose - onDayClick - onMonthYearChangeStart - onMonthYearChangeEnd - */ - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - p.params = params; - p.initialized = false; - - // Inline flag - p.inline = p.params.container ? true : false; - - // Is horizontal - p.isH = p.params.direction === 'horizontal'; - - // RTL inverter - var inverter = p.isH ? (app.rtl ? -1 : 1) : 1; - - // Animating flag - p.animating = false; - - // Should be converted to popover - function isPopover() { - var toPopover = false; - if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover; - if (!p.inline && p.params.input) { - if (p.params.onlyInPopover) toPopover = true; - else { - if (app.device.ios) { - toPopover = app.device.ipad ? true : false; - } - else { - if ($(window).width() >= 768) toPopover = true; - } - } - } - return toPopover; - } - function inPopover() { - if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true; - else return false; - } - - // Format date - function formatDate(date) { - date = new Date(date); - var year = date.getFullYear(); - var month = date.getMonth(); - var month1 = month + 1; - var day = date.getDate(); - var weekDay = date.getDay(); - - return p.params.dateFormat - .replace(/yyyy/g, year) - .replace(/yy/g, (year + '').substring(2)) - .replace(/mm/g, month1 < 10 ? '0' + month1 : month1) - .replace(/m(\W+)/g, month1 + '$1') - .replace(/MM/g, p.params.monthNames[month]) - .replace(/M(\W+)/g, p.params.monthNamesShort[month] + '$1') - .replace(/dd/g, day < 10 ? '0' + day : day) - .replace(/d(\W+)/g, day + '$1') - .replace(/DD/g, p.params.dayNames[weekDay]) - .replace(/D(\W+)/g, p.params.dayNamesShort[weekDay] + '$1'); - } - - - // Value - p.addValue = function (value) { - if (p.params.multiple) { - if (!p.value) p.value = []; - var inValuesIndex; - for (var i = 0; i < p.value.length; i++) { - if (new Date(value).getTime() === new Date(p.value[i]).getTime()) { - inValuesIndex = i; - } - } - if (typeof inValuesIndex === 'undefined') { - p.value.push(value); - } - else { - p.value.splice(inValuesIndex, 1); - } - p.updateValue(); - } - else if (p.params.rangePicker) { - if (!p.value) p.value = []; - if (p.value.length === 2 || p.value.length === 0) { - p.value = []; - } - if (p.value[0] !== value) p.value.push(value); - else p.value = []; - p.value.sort(function (a,b) { - return a - b; - }); - p.updateValue(); - } - else { - p.value = [value]; - p.updateValue(); - } - }; - p.setValue = function (arrValues) { - p.value = arrValues; - p.updateValue(); - }; - p.updateValue = function (onlyHeader) { - var i, inputValue; - if (p.container && p.container.length > 0) { - p.wrapper.find('.picker-calendar-day-selected').removeClass('picker-calendar-day-selected'); - var valueDate; - if (p.params.rangePicker && p.value.length === 2) { - for (i = p.value[0]; i <= p.value[1]; i += 24*60*60*1000) { - valueDate = new Date(i); - p.wrapper.find('.picker-calendar-day[data-date="' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '"]').addClass('picker-calendar-day-selected'); - } - } - else { - for (i = 0; i < p.value.length; i++) { - valueDate = new Date(p.value[i]); - p.wrapper.find('.picker-calendar-day[data-date="' + valueDate.getFullYear() + '-' + valueDate.getMonth() + '-' + valueDate.getDate() + '"]').addClass('picker-calendar-day-selected'); - } - } - } - - if (p.params.onChange) { - p.params.onChange(p, p.value); - } - if ((p.input && p.input.length > 0) || (app.params.material && p.params.header)) { - if (p.params.formatValue) inputValue = p.params.formatValue(p, p.value); - else { - inputValue = []; - for (i = 0; i < p.value.length; i++) { - inputValue.push(formatDate(p.value[i])); - } - inputValue = inputValue.join(p.params.rangePicker ? ' - ' : ', '); - } - if (app.params.material && p.params.header && p.container && p.container.length > 0) { - p.container.find('.picker-calendar-selected-date').text(inputValue); - } - if (p.input && p.input.length > 0 && !onlyHeader) { - $(p.input).val(inputValue); - $(p.input).trigger('change'); - } - - } - }; - - // Columns Handlers - p.initCalendarEvents = function () { - var col; - var allowItemClick = true; - var isTouched, isMoved, touchStartX, touchStartY, touchCurrentX, touchCurrentY, touchStartTime, touchEndTime, startTranslate, currentTranslate, wrapperWidth, wrapperHeight, percentage, touchesDiff, isScrolling; - function handleTouchStart (e) { - if (isMoved || isTouched) return; - // e.preventDefault(); - isTouched = true; - touchStartX = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - percentage = 0; - allowItemClick = true; - isScrolling = undefined; - startTranslate = currentTranslate = p.monthsTranslate; - } - function handleTouchMove (e) { - if (!isTouched) return; - - touchCurrentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(touchCurrentY - touchStartY) > Math.abs(touchCurrentX - touchStartX)); - } - if (p.isH && isScrolling) { - isTouched = false; - return; - } - e.preventDefault(); - if (p.animating) { - isTouched = false; - return; - } - allowItemClick = false; - if (!isMoved) { - // First move - isMoved = true; - wrapperWidth = p.wrapper[0].offsetWidth; - wrapperHeight = p.wrapper[0].offsetHeight; - p.wrapper.transition(0); - } - - touchesDiff = p.isH ? touchCurrentX - touchStartX : touchCurrentY - touchStartY; - percentage = touchesDiff/(p.isH ? wrapperWidth : wrapperHeight); - currentTranslate = (p.monthsTranslate * inverter + percentage) * 100; - - // Transform wrapper - p.wrapper.transform('translate3d(' + (p.isH ? currentTranslate : 0) + '%, ' + (p.isH ? 0 : currentTranslate) + '%, 0)'); - - } - function handleTouchEnd (e) { - if (!isTouched || !isMoved) { - isTouched = isMoved = false; - return; - } - isTouched = isMoved = false; - - touchEndTime = new Date().getTime(); - if (touchEndTime - touchStartTime < 300) { - if (Math.abs(touchesDiff) < 10) { - p.resetMonth(); - } - else if (touchesDiff >= 10) { - if (app.rtl) p.nextMonth(); - else p.prevMonth(); - } - else { - if (app.rtl) p.prevMonth(); - else p.nextMonth(); - } - } - else { - if (percentage <= -0.5) { - if (app.rtl) p.prevMonth(); - else p.nextMonth(); - } - else if (percentage >= 0.5) { - if (app.rtl) p.nextMonth(); - else p.prevMonth(); - } - else { - p.resetMonth(); - } - } - - // Allow click - setTimeout(function () { - allowItemClick = true; - }, 100); - } - - function handleDayClick(e) { - if (!allowItemClick) return; - var day = $(e.target).parents('.picker-calendar-day'); - if (day.length === 0 && $(e.target).hasClass('picker-calendar-day')) { - day = $(e.target); - } - if (day.length === 0) return; - if (day.hasClass('picker-calendar-day-selected') && !(p.params.multiple || p.params.rangePicker)) return; - if (day.hasClass('picker-calendar-day-disabled')) return; - if (!p.params.rangePicker) { - if (day.hasClass('picker-calendar-day-next')) p.nextMonth(); - if (day.hasClass('picker-calendar-day-prev')) p.prevMonth(); - } - var dateYear = day.attr('data-year'); - var dateMonth = day.attr('data-month'); - var dateDay = day.attr('data-day'); - if (p.params.onDayClick) { - p.params.onDayClick(p, day[0], dateYear, dateMonth, dateDay); - } - p.addValue(new Date(dateYear, dateMonth, dateDay).getTime()); - if (p.params.closeOnSelect) { - if (p.params.rangePicker && p.value.length === 2 || !p.params.rangePicker) p.close(); - } - } - - p.container.find('.picker-calendar-prev-month').on('click', p.prevMonth); - p.container.find('.picker-calendar-next-month').on('click', p.nextMonth); - p.container.find('.picker-calendar-prev-year').on('click', p.prevYear); - p.container.find('.picker-calendar-next-year').on('click', p.nextYear); - p.wrapper.on('click', handleDayClick); - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - if (p.params.touchMove) { - p.wrapper.on(app.touchEvents.start, handleTouchStart, passiveListener); - p.wrapper.on(app.touchEvents.move, handleTouchMove); - p.wrapper.on(app.touchEvents.end, handleTouchEnd, passiveListener); - } - - p.container[0].f7DestroyCalendarEvents = function () { - p.container.find('.picker-calendar-prev-month').off('click', p.prevMonth); - p.container.find('.picker-calendar-next-month').off('click', p.nextMonth); - p.container.find('.picker-calendar-prev-year').off('click', p.prevYear); - p.container.find('.picker-calendar-next-year').off('click', p.nextYear); - p.wrapper.off('click', handleDayClick); - if (p.params.touchMove) { - p.wrapper.off(app.touchEvents.start, handleTouchStart, passiveListener); - p.wrapper.off(app.touchEvents.move, handleTouchMove); - p.wrapper.off(app.touchEvents.end, handleTouchEnd, passiveListener); - } - }; - - - }; - p.destroyCalendarEvents = function (colContainer) { - if ('f7DestroyCalendarEvents' in p.container[0]) p.container[0].f7DestroyCalendarEvents(); - }; - - // Scan Dates Range - p.dateInRange = function (dayDate, range) { - var match = false; - var i; - if (!range) return false; - if ($.isArray(range)) { - for (i = 0; i < range.length; i ++) { - if (range[i].from || range[i].to) { - if (range[i].from && range[i].to) { - if ((dayDate <= new Date(range[i].to).getTime()) && (dayDate >= new Date(range[i].from).getTime())) { - match = true; - } - } - else if (range[i].from) { - if (dayDate >= new Date(range[i].from).getTime()) { - match = true; - } - } - else if (range[i].to) { - if (dayDate <= new Date(range[i].to).getTime()) { - match = true; - } - } - } else if (dayDate === new Date(range[i]).getTime()) { - match = true; - } - } - } - else if (range.from || range.to) { - if (range.from && range.to) { - if ((dayDate <= new Date(range.to).getTime()) && (dayDate >= new Date(range.from).getTime())) { - match = true; - } - } - else if (range.from) { - if (dayDate >= new Date(range.from).getTime()) { - match = true; - } - } - else if (range.to) { - if (dayDate <= new Date(range.to).getTime()) { - match = true; - } - } - } - else if (typeof range === 'function') { - match = range(new Date(dayDate)); - } - return match; - }; - // Calendar Methods - p.daysInMonth = function (date) { - var d = new Date(date); - return new Date(d.getFullYear(), d.getMonth() + 1, 0).getDate(); - }; - p.monthHTML = function (date, offset) { - date = new Date(date); - var year = date.getFullYear(), - month = date.getMonth(), - day = date.getDate(); - if (offset === 'next') { - if (month === 11) date = new Date(year + 1, 0); - else date = new Date(year, month + 1, 1); - } - if (offset === 'prev') { - if (month === 0) date = new Date(year - 1, 11); - else date = new Date(year, month - 1, 1); - } - if (offset === 'next' || offset === 'prev') { - month = date.getMonth(); - year = date.getFullYear(); - } - var daysInPrevMonth = p.daysInMonth(new Date(date.getFullYear(), date.getMonth()).getTime() - 10 * 24 * 60 * 60 * 1000), - daysInMonth = p.daysInMonth(date), - firstDayOfMonthIndex = new Date(date.getFullYear(), date.getMonth()).getDay(); - if (firstDayOfMonthIndex === 0) firstDayOfMonthIndex = 7; - - var dayDate, currentValues = [], i, j, k, - rows = 6, cols = 7, - monthHTML = '', - dayIndex = 0 + (p.params.firstDay - 1), - today = new Date().setHours(0,0,0,0), - minDate = p.params.minDate ? new Date(p.params.minDate).getTime() : null, - maxDate = p.params.maxDate ? new Date(p.params.maxDate).getTime() : null, - disabled, - hasEvent; - - if (p.value && p.value.length) { - for (i = 0; i < p.value.length; i++) { - currentValues.push(new Date(p.value[i]).setHours(0,0,0,0)); - } - } - - for (i = 1; i <= rows; i++) { - var rowHTML = ''; - var row = i; - for (j = 1; j <= cols; j++) { - var col = j; - dayIndex ++; - var dayNumber = dayIndex - firstDayOfMonthIndex; - var weekDayIndex = (col - 1 + p.params.firstDay > 6) ? (col - 1 - 7 + p.params.firstDay) : (col - 1 + p.params.firstDay); - var addClass = ''; - if (dayNumber < 0) { - dayNumber = daysInPrevMonth + dayNumber + 1; - addClass += ' picker-calendar-day-prev'; - dayDate = new Date(month - 1 < 0 ? year - 1 : year, month - 1 < 0 ? 11 : month - 1, dayNumber).getTime(); - } - else { - dayNumber = dayNumber + 1; - if (dayNumber > daysInMonth) { - dayNumber = dayNumber - daysInMonth; - addClass += ' picker-calendar-day-next'; - dayDate = new Date(month + 1 > 11 ? year + 1 : year, month + 1 > 11 ? 0 : month + 1, dayNumber).getTime(); - } - else { - dayDate = new Date(year, month, dayNumber).getTime(); - } - } - // Today - if (dayDate === today) addClass += ' picker-calendar-day-today'; - // Selected - if (p.params.rangePicker && currentValues.length === 2) { - if (dayDate >= currentValues[0] && dayDate <= currentValues[1]) addClass += ' picker-calendar-day-selected'; - } - else { - if (currentValues.indexOf(dayDate) >= 0) addClass += ' picker-calendar-day-selected'; - } - // Weekend - if (p.params.weekendDays.indexOf(weekDayIndex) >= 0) { - addClass += ' picker-calendar-day-weekend'; - } - // Has Events - hasEvent = false; - if (p.params.events) { - if (p.dateInRange(dayDate, p.params.events)) { - hasEvent = true; - } - } - if (hasEvent) { - addClass += ' picker-calendar-day-has-events'; - } - // Custom Ranges - if (p.params.rangesClasses) { - for (k = 0; k < p.params.rangesClasses.length; k++) { - if (p.dateInRange(dayDate, p.params.rangesClasses[k].range)) { - addClass += ' ' + p.params.rangesClasses[k].cssClass; - } - } - } - // Disabled - disabled = false; - if ((minDate && dayDate < minDate) || (maxDate && dayDate > maxDate)) { - disabled = true; - } - if (p.params.disabled) { - if (p.dateInRange(dayDate, p.params.disabled)) { - disabled = true; - } - } - if (disabled) { - addClass += ' picker-calendar-day-disabled'; - } - - - dayDate = new Date(dayDate); - var dayYear = dayDate.getFullYear(); - var dayMonth = dayDate.getMonth(); - rowHTML += '
                                                        '+dayNumber+'
                                                        '; - } - monthHTML += '
                                                        ' + rowHTML + '
                                                        '; - } - monthHTML = '
                                                        ' + monthHTML + '
                                                        '; - return monthHTML; - }; - p.animating = false; - p.updateCurrentMonthYear = function (dir) { - if (typeof dir === 'undefined') { - p.currentMonth = parseInt(p.months.eq(1).attr('data-month'), 10); - p.currentYear = parseInt(p.months.eq(1).attr('data-year'), 10); - } - else { - p.currentMonth = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-month'), 10); - p.currentYear = parseInt(p.months.eq(dir === 'next' ? (p.months.length - 1) : 0).attr('data-year'), 10); - } - p.container.find('.current-month-value').text(p.params.monthNames[p.currentMonth]); - p.container.find('.current-year-value').text(p.currentYear); - - }; - p.onMonthChangeStart = function (dir) { - p.updateCurrentMonthYear(dir); - p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next'); - var currentIndex = dir === 'next' ? p.months.length - 1 : 0; - - p.months.eq(currentIndex).addClass('picker-calendar-month-current'); - p.months.eq(dir === 'next' ? currentIndex - 1 : currentIndex + 1).addClass(dir === 'next' ? 'picker-calendar-month-prev' : 'picker-calendar-month-next'); - - if (p.params.onMonthYearChangeStart) { - p.params.onMonthYearChangeStart(p, p.currentYear, p.currentMonth); - } - }; - p.onMonthChangeEnd = function (dir, rebuildBoth) { - p.animating = false; - var nextMonthHTML, prevMonthHTML, newMonthHTML; - p.wrapper.find('.picker-calendar-month:not(.picker-calendar-month-prev):not(.picker-calendar-month-current):not(.picker-calendar-month-next)').remove(); - - if (typeof dir === 'undefined') { - dir = 'next'; - rebuildBoth = true; - } - if (!rebuildBoth) { - newMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), dir); - } - else { - p.wrapper.find('.picker-calendar-month-next, .picker-calendar-month-prev').remove(); - prevMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'prev'); - nextMonthHTML = p.monthHTML(new Date(p.currentYear, p.currentMonth), 'next'); - } - if (dir === 'next' || rebuildBoth) { - p.wrapper.append(newMonthHTML || nextMonthHTML); - } - if (dir === 'prev' || rebuildBoth) { - p.wrapper.prepend(newMonthHTML || prevMonthHTML); - } - p.months = p.wrapper.find('.picker-calendar-month'); - p.setMonthsTranslate(p.monthsTranslate); - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]); - } - if (p.params.onMonthYearChangeEnd) { - p.params.onMonthYearChangeEnd(p, p.currentYear, p.currentMonth); - } - }; - p.setMonthsTranslate = function (translate) { - translate = translate || p.monthsTranslate || 0; - if (typeof p.monthsTranslate === 'undefined') p.monthsTranslate = translate; - p.months.removeClass('picker-calendar-month-current picker-calendar-month-prev picker-calendar-month-next'); - var prevMonthTranslate = -(translate + 1) * 100 * inverter; - var currentMonthTranslate = -translate * 100 * inverter; - var nextMonthTranslate = -(translate - 1) * 100 * inverter; - p.months.eq(0).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev'); - p.months.eq(1).transform('translate3d(' + (p.isH ? currentMonthTranslate : 0) + '%, ' + (p.isH ? 0 : currentMonthTranslate) + '%, 0)').addClass('picker-calendar-month-current'); - p.months.eq(2).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next'); - }; - p.nextMonth = function (transition) { - if (typeof transition === 'undefined' || typeof transition === 'object') { - transition = ''; - if (!p.params.animate) transition = 0; - } - var nextMonth = parseInt(p.months.eq(p.months.length - 1).attr('data-month'), 10); - var nextYear = parseInt(p.months.eq(p.months.length - 1).attr('data-year'), 10); - var nextDate = new Date(nextYear, nextMonth); - var nextDateTime = nextDate.getTime(); - var transitionEndCallback = p.animating ? false : true; - if (p.params.maxDate) { - if (nextDateTime > new Date(p.params.maxDate).getTime()) { - return p.resetMonth(); - } - } - p.monthsTranslate --; - if (nextMonth === p.currentMonth) { - var nextMonthTranslate = -(p.monthsTranslate) * 100 * inverter; - var nextMonthHTML = $(p.monthHTML(nextDateTime, 'next')).transform('translate3d(' + (p.isH ? nextMonthTranslate : 0) + '%, ' + (p.isH ? 0 : nextMonthTranslate) + '%, 0)').addClass('picker-calendar-month-next'); - p.wrapper.append(nextMonthHTML[0]); - p.months = p.wrapper.find('.picker-calendar-month'); - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, p.months.eq(p.months.length - 1)[0]); - } - } - p.animating = true; - p.onMonthChangeStart('next'); - var translate = (p.monthsTranslate * 100) * inverter; - - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)'); - if (transitionEndCallback) { - p.wrapper.transitionEnd(function () { - p.onMonthChangeEnd('next'); - }); - } - if (!p.params.animate) { - p.onMonthChangeEnd('next'); - } - }; - p.prevMonth = function (transition) { - if (typeof transition === 'undefined' || typeof transition === 'object') { - transition = ''; - if (!p.params.animate) transition = 0; - } - var prevMonth = parseInt(p.months.eq(0).attr('data-month'), 10); - var prevYear = parseInt(p.months.eq(0).attr('data-year'), 10); - var prevDate = new Date(prevYear, prevMonth + 1, -1); - var prevDateTime = prevDate.getTime(); - var transitionEndCallback = p.animating ? false : true; - if (p.params.minDate) { - if (prevDateTime < new Date(p.params.minDate).getTime()) { - return p.resetMonth(); - } - } - p.monthsTranslate ++; - if (prevMonth === p.currentMonth) { - var prevMonthTranslate = -(p.monthsTranslate) * 100 * inverter; - var prevMonthHTML = $(p.monthHTML(prevDateTime, 'prev')).transform('translate3d(' + (p.isH ? prevMonthTranslate : 0) + '%, ' + (p.isH ? 0 : prevMonthTranslate) + '%, 0)').addClass('picker-calendar-month-prev'); - p.wrapper.prepend(prevMonthHTML[0]); - p.months = p.wrapper.find('.picker-calendar-month'); - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, p.months.eq(0)[0]); - } - } - p.animating = true; - p.onMonthChangeStart('prev'); - var translate = (p.monthsTranslate * 100) * inverter; - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)'); - if (transitionEndCallback) { - p.wrapper.transitionEnd(function () { - p.onMonthChangeEnd('prev'); - }); - } - if (!p.params.animate) { - p.onMonthChangeEnd('prev'); - } - }; - p.resetMonth = function (transition) { - if (typeof transition === 'undefined') transition = ''; - var translate = (p.monthsTranslate * 100) * inverter; - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? translate : 0) + '%, ' + (p.isH ? 0 : translate) + '%, 0)'); - }; - p.setYearMonth = function (year, month, transition) { - if (typeof year === 'undefined') year = p.currentYear; - if (typeof month === 'undefined') month = p.currentMonth; - if (typeof transition === 'undefined' || typeof transition === 'object') { - transition = ''; - if (!p.params.animate) transition = 0; - } - var targetDate; - if (year < p.currentYear) { - targetDate = new Date(year, month + 1, -1).getTime(); - } - else { - targetDate = new Date(year, month).getTime(); - } - if (p.params.maxDate && targetDate > new Date(p.params.maxDate).getTime()) { - return false; - } - if (p.params.minDate && targetDate < new Date(p.params.minDate).getTime()) { - return false; - } - var currentDate = new Date(p.currentYear, p.currentMonth).getTime(); - var dir = targetDate > currentDate ? 'next' : 'prev'; - var newMonthHTML = p.monthHTML(new Date(year, month)); - p.monthsTranslate = p.monthsTranslate || 0; - var prevTranslate = p.monthsTranslate; - var monthTranslate, wrapperTranslate; - var transitionEndCallback = p.animating ? false : true; - if (targetDate > currentDate) { - // To next - p.monthsTranslate --; - if (!p.animating) p.months.eq(p.months.length - 1).remove(); - p.wrapper.append(newMonthHTML); - p.months = p.wrapper.find('.picker-calendar-month'); - monthTranslate = -(prevTranslate - 1) * 100 * inverter; - p.months.eq(p.months.length - 1).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-next'); - } - else { - // To prev - p.monthsTranslate ++; - if (!p.animating) p.months.eq(0).remove(); - p.wrapper.prepend(newMonthHTML); - p.months = p.wrapper.find('.picker-calendar-month'); - monthTranslate = -(prevTranslate + 1) * 100 * inverter; - p.months.eq(0).transform('translate3d(' + (p.isH ? monthTranslate : 0) + '%, ' + (p.isH ? 0 : monthTranslate) + '%, 0)').addClass('picker-calendar-month-prev'); - } - if (p.params.onMonthAdd) { - p.params.onMonthAdd(p, dir === 'next' ? p.months.eq(p.months.length - 1)[0] : p.months.eq(0)[0]); - } - p.animating = true; - p.onMonthChangeStart(dir); - wrapperTranslate = (p.monthsTranslate * 100) * inverter; - p.wrapper.transition(transition).transform('translate3d(' + (p.isH ? wrapperTranslate : 0) + '%, ' + (p.isH ? 0 : wrapperTranslate) + '%, 0)'); - if (transitionEndCallback) { - p.wrapper.transitionEnd(function () { - p.onMonthChangeEnd(dir, true); - }); - } - if (!p.params.animate) { - p.onMonthChangeEnd(dir); - } - }; - p.nextYear = function () { - p.setYearMonth(p.currentYear + 1); - }; - p.prevYear = function () { - p.setYearMonth(p.currentYear - 1); - }; - - - // HTML Layout - p.layout = function () { - var pickerHTML = ''; - var pickerClass = ''; - var i; - - var layoutDate = p.value && p.value.length ? p.value[0] : new Date().setHours(0,0,0,0); - var prevMonthHTML = p.monthHTML(layoutDate, 'prev'); - var currentMonthHTML = p.monthHTML(layoutDate); - var nextMonthHTML = p.monthHTML(layoutDate, 'next'); - var monthsHTML = '
                                                        ' + (prevMonthHTML + currentMonthHTML + nextMonthHTML) + '
                                                        '; - // Week days header - var weekHeaderHTML = ''; - if (p.params.weekHeader) { - for (i = 0; i < 7; i++) { - var weekDayIndex = (i + p.params.firstDay > 6) ? (i - 7 + p.params.firstDay) : (i + p.params.firstDay); - var dayName = p.params.dayNamesShort[weekDayIndex]; - weekHeaderHTML += '
                                                        ' + dayName + '
                                                        '; - - } - weekHeaderHTML = '
                                                        ' + weekHeaderHTML + '
                                                        '; - } - pickerClass = 'picker-modal picker-calendar' + - (p.params.rangePicker ? ' picker-calendar-range' : '') + - (p.params.cssClass ? ' ' + p.params.cssClass : ''); - var toolbarHTML = p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : ''; - if (p.params.toolbar) { - toolbarHTML = p.params.toolbarTemplate - .replace(/{{closeText}}/g, p.params.toolbarCloseText) - .replace(/{{monthPicker}}/g, (p.params.monthPicker ? p.params.monthPickerTemplate : '')) - .replace(/{{yearPicker}}/g, (p.params.yearPicker ? p.params.yearPickerTemplate : '')); - } - var headerHTML = p.params.header ? p.params.headerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText).replace(/{{placeholder}}/g, p.params.headerPlaceholder) : ''; - var footerHTML = p.params.footer ? p.params.footerTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : ''; - - pickerHTML = - '
                                                        ' + - headerHTML + - footerHTML + - toolbarHTML + - '
                                                        ' + - weekHeaderHTML + - monthsHTML + - '
                                                        ' + - '
                                                        '; - - - p.pickerHTML = pickerHTML; - }; - - // Input Events - function openOnInput(e) { - e.preventDefault(); - if (p.opened) return; - p.open(); - if (p.params.scrollToInput && !isPopover() && !app.params.material) { - var pageContent = p.input.parents('.page-content'); - if (pageContent.length === 0) return; - - var paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-bottom'), 10), - pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(), - pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(), - newPaddingBottom; - - var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight; - if (inputTop > pageHeight) { - var scrollTop = pageContent.scrollTop() + inputTop - pageHeight; - if (scrollTop + pageHeight > pageScrollHeight) { - newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom; - if (pageHeight === pageScrollHeight) { - newPaddingBottom = p.container.height(); - } - pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'}); - } - pageContent.scrollTop(scrollTop, 300); - } - } - } - function closeOnHTMLClick(e) { - if (inPopover()) return; - if (p.input && p.input.length > 0) { - if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close(); - } - else { - if ($(e.target).parents('.picker-modal').length === 0) p.close(); - } - } - - if (p.params.input) { - p.input = $(p.params.input); - if (p.input.length > 0) { - if (p.params.inputReadOnly) p.input.prop('readOnly', true); - if (!p.inline) { - p.input.on('click', openOnInput); - } - if (p.params.inputReadOnly) { - p.input.on('focus mousedown', function (e) { - e.preventDefault(); - }); - } - } - - } - - if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick); - - // Open - function onPickerClose() { - p.opened = false; - if (p.input && p.input.length > 0) { - p.input.parents('.page-content').css({'padding-bottom': ''}); - if (app.params.material) p.input.trigger('blur'); - } - if (p.params.onClose) p.params.onClose(p); - - // Destroy events - p.destroyCalendarEvents(); - } - - p.opened = false; - p.open = function () { - var toPopover = isPopover(); - var updateValue = false; - if (!p.opened) { - // Set date value - if (!p.value) { - if (p.params.value) { - p.value = p.params.value; - updateValue = true; - } - } - - // Layout - p.layout(); - - // Append - if (toPopover) { - p.pickerHTML = '
                                                        ' + p.pickerHTML + '
                                                        '; - p.popover = app.popover(p.pickerHTML, p.params.input, true); - p.container = $(p.popover).find('.picker-modal'); - $(p.popover).on('close', function () { - onPickerClose(); - }); - } - else if (p.inline) { - p.container = $(p.pickerHTML); - p.container.addClass('picker-modal-inline'); - $(p.params.container).append(p.container); - } - else { - p.container = $(app.pickerModal(p.pickerHTML)); - $(p.container) - .on('close', function () { - onPickerClose(); - }); - } - - // Store calendar instance - p.container[0].f7Calendar = p; - p.wrapper = p.container.find('.picker-calendar-months-wrapper'); - - // Months - p.months = p.wrapper.find('.picker-calendar-month'); - - // Update current month and year - p.updateCurrentMonthYear(); - - // Set initial translate - p.monthsTranslate = 0; - p.setMonthsTranslate(); - - // Init events - p.initCalendarEvents(); - - // Update input value - if (updateValue) p.updateValue(); - else if (app.params.material && p.value) p.updateValue(true); - - // Material Focus - if (p.input && p.input.length > 0 && app.params.material) { - p.input.trigger('focus'); - } - - } - - // Set flag - p.opened = true; - p.initialized = true; - if (p.params.onMonthAdd) { - p.months.each(function () { - p.params.onMonthAdd(p, this); - }); - } - if (p.params.onOpen) p.params.onOpen(p); - }; - - // Close - p.close = function () { - if (!p.opened || p.inline) return; - if (inPopover()) { - app.closeModal(p.popover); - return; - } - else { - app.closeModal(p.container); - return; - } - }; - - // Destroy - p.destroy = function () { - p.close(); - if (p.params.input && p.input.length > 0) { - p.input.off('click focus', openOnInput); - } - $('html').off('click', closeOnHTMLClick); - }; - - if (p.inline) { - p.open(); - } - else { - if (!p.initialized && p.params.value) p.setValue(p.params.value); - } - - return p; -}; -app.calendar = function (params) { - return new Calendar(params); -}; diff --git a/vendor/framework7/src/js/clicks.js b/vendor/framework7/src/js/clicks.js deleted file mode 100644 index 345c2f7f2..000000000 --- a/vendor/framework7/src/js/clicks.js +++ /dev/null @@ -1,336 +0,0 @@ -/*=============================================================================== -************ Handle clicks and make them fast (on tap); ************ -===============================================================================*/ -app.initClickEvents = function () { - function handleScrollTop(e) { - /*jshint validthis:true */ - var clicked = $(this); - var target = $(e.target); - var isLink = clicked[0].nodeName.toLowerCase() === 'a' || - clicked.parents('a').length > 0 || - target[0].nodeName.toLowerCase() === 'a' || - target.parents('a').length > 0; - - if (isLink) return; - var pageContent, page; - if (app.params.scrollTopOnNavbarClick && clicked.is('.navbar .center')) { - // Find active page - var navbar = clicked.parents('.navbar'); - - // Static Layout - pageContent = navbar.parents('.page-content'); - - if (pageContent.length === 0) { - // Fixed Layout - if (navbar.parents('.page').length > 0) { - pageContent = navbar.parents('.page').find('.page-content'); - } - // Through Layout - if (pageContent.length === 0) { - if (navbar.nextAll('.pages').length > 0) { - pageContent = navbar.nextAll('.pages').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - } - } - } - if (app.params.scrollTopOnStatusbarClick && clicked.is('.statusbar-overlay')) { - if ($('.popup.modal-in').length > 0) { - // Check for opened popup - pageContent = $('.popup.modal-in').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - else if ($('.panel.active').length > 0) { - // Check for opened panel - pageContent = $('.panel.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - else if ($('.views > .view.active').length > 0) { - // View in tab bar app layout - pageContent = $('.views > .view.active').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - else { - // Usual case - pageContent = $('.views').find('.page:not(.page-on-left):not(.page-on-right):not(.cached)').find('.page-content'); - } - } - - if (pageContent && pageContent.length > 0) { - // Check for tab - if (pageContent.hasClass('tab')) { - pageContent = pageContent.parent('.tabs').children('.page-content.active'); - } - if (pageContent.length > 0) pageContent.scrollTop(0, 300); - } - } - function handleClicks(e) { - /*jshint validthis:true */ - var clicked = $(this); - var url = clicked.attr('href'); - var isLink = clicked[0].nodeName.toLowerCase() === 'a'; - - // Check if link is external - if (isLink) { - if (clicked.is(app.params.externalLinks) || (url && url.indexOf('javascript:') >= 0)) { - if(url && clicked.attr('target') === '_system') { - e.preventDefault(); - window.open(url, '_system'); - } - return; - } - } - - // Collect Clicked data- attributes - var clickedData = clicked.dataset(); - - // Smart Select - if (clicked.hasClass('smart-select')) { - if (app.smartSelectOpen) app.smartSelectOpen(clicked); - } - - // Open Panel - if (clicked.hasClass('open-panel')) { - if ($('.panel').length === 1) { - if ($('.panel').hasClass('panel-left')) app.openPanel('left'); - else app.openPanel('right'); - } - else { - if (clickedData.panel === 'right') app.openPanel('right'); - else app.openPanel('left'); - } - } - // Close Panel - if (clicked.hasClass('close-panel')) { - app.closePanel(); - } - - if (clicked.hasClass('panel-overlay') && app.params.panelsCloseByOutside) { - app.closePanel(); - } - // Popover - if (clicked.hasClass('open-popover')) { - var popover; - if (clickedData.popover) { - popover = clickedData.popover; - } - else popover = '.popover'; - app.popover(popover, clicked); - } - if (clicked.hasClass('close-popover')) { - app.closeModal('.popover.modal-in'); - } - // Popup - var popup; - if (clicked.hasClass('open-popup')) { - if (clickedData.popup) { - popup = clickedData.popup; - } - else popup = '.popup'; - app.popup(popup); - } - if (clicked.hasClass('close-popup')) { - if (clickedData.popup) { - popup = clickedData.popup; - } - else popup = '.popup.modal-in'; - app.closeModal(popup); - } - // Login Screen - var loginScreen; - if (clicked.hasClass('open-login-screen')) { - if (clickedData.loginScreen) { - loginScreen = clickedData.loginScreen; - } - else loginScreen = '.login-screen'; - app.loginScreen(loginScreen); - } - if (clicked.hasClass('close-login-screen')) { - app.closeModal('.login-screen.modal-in'); - } - // Close Modal - if (clicked.hasClass('modal-overlay')) { - if ($('.modal.modal-in').length > 0 && app.params.modalCloseByOutside) - app.closeModal('.modal.modal-in'); - if ($('.actions-modal.modal-in').length > 0 && app.params.actionsCloseByOutside) - app.closeModal('.actions-modal.modal-in'); - - if ($('.popover.modal-in').length > 0) app.closeModal('.popover.modal-in'); - } - if (clicked.hasClass('popup-overlay')) { - if ($('.popup.modal-in').length > 0 && app.params.popupCloseByOutside) - app.closeModal('.popup.modal-in'); - } - if (clicked.hasClass('picker-modal-overlay')) { - if ($('.picker-modal.modal-in').length > 0) - app.closeModal('.picker-modal.modal-in'); - } - - // Picker - if (clicked.hasClass('close-picker')) { - var pickerToClose = $('.picker-modal.modal-in'); - if (pickerToClose.length > 0) { - app.closeModal(pickerToClose); - } - else { - pickerToClose = $('.popover.modal-in .picker-modal'); - if (pickerToClose.length > 0) { - app.closeModal(pickerToClose.parents('.popover')); - } - } - } - if (clicked.hasClass('open-picker')) { - var pickerToOpen; - if (clickedData.picker) { - pickerToOpen = clickedData.picker; - } - else pickerToOpen = '.picker-modal'; - app.pickerModal(pickerToOpen, clicked); - } - - // Tabs - var isTabLink; - if (clicked.hasClass('tab-link')) { - isTabLink = true; - app.showTab(clickedData.tab || clicked.attr('href'), clicked); - } - // Swipeout Close - if (clicked.hasClass('swipeout-close')) { - app.swipeoutClose(clicked.parents('.swipeout-opened')); - } - // Swipeout Delete - if (clicked.hasClass('swipeout-delete')) { - if (clickedData.confirm) { - var text = clickedData.confirm; - var title = clickedData.confirmTitle; - if (title) { - app.confirm(text, title, function () { - app.swipeoutDelete(clicked.parents('.swipeout')); - }, function () { - if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout')); - }); - } - else { - app.confirm(text, function () { - app.swipeoutDelete(clicked.parents('.swipeout')); - }, function () { - if (clickedData.closeOnCancel) app.swipeoutClose(clicked.parents('.swipeout')); - }); - } - } - else { - app.swipeoutDelete(clicked.parents('.swipeout')); - } - - } - // Sortable - if (clicked.hasClass('toggle-sortable')) { - app.sortableToggle(clickedData.sortable); - } - if (clicked.hasClass('open-sortable')) { - app.sortableOpen(clickedData.sortable); - } - if (clicked.hasClass('close-sortable')) { - app.sortableClose(clickedData.sortable); - } - // Accordion - if (clicked.hasClass('accordion-item-toggle') || (clicked.hasClass('item-link') && clicked.parent().hasClass('accordion-item'))) { - var accordionItem = clicked.parent('.accordion-item'); - if (accordionItem.length === 0) accordionItem = clicked.parents('.accordion-item'); - if (accordionItem.length === 0) accordionItem = clicked.parents('li'); - app.accordionToggle(accordionItem); - } - - // Speed Dial - if (clicked.hasClass('floating-button') && clicked.parent().hasClass('speed-dial')) { - clicked.parent().toggleClass('speed-dial-opened'); - } - if (clicked.hasClass('close-speed-dial')) { - $('.speed-dial-opened').removeClass('speed-dial-opened'); - } - - // Load Page - if (app.params.ajaxLinks && !clicked.is(app.params.ajaxLinks) || !isLink || !app.params.router) { - return; - } - if (isLink) { - e.preventDefault(); - } - - var validUrl = url && url.length > 0 && url !== '#' && !isTabLink; - var template = clickedData.template; - if (validUrl || clicked.hasClass('back') || template) { - var view; - if (clickedData.view) { - view = $(clickedData.view)[0].f7View; - } - else { - view = clicked.parents('.' + app.params.viewClass)[0] && clicked.parents('.' + app.params.viewClass)[0].f7View; - if (view && view.params.linksView) { - if (typeof view.params.linksView === 'string') view = $(view.params.linksView)[0].f7View; - else if (view.params.linksView instanceof View) view = view.params.linksView; - } - } - if (!view) { - if (app.mainView) view = app.mainView; - } - if (!view) return; - - var pageName; - if (!template) { - if (url && url.indexOf('#') === 0 && url !== '#') { - if (view.params.domCache) { - pageName = url.split('#')[1]; - } - else return; - } - if (url === '#' && !clicked.hasClass('back')) return; - } - else { - url = undefined; - } - - var animatePages; - if (typeof clickedData.animatePages !== 'undefined') { - animatePages = clickedData.animatePages; - } - else { - if (clicked.hasClass('with-animation')) animatePages = true; - if (clicked.hasClass('no-animation')) animatePages = false; - } - - var options = { - animatePages: animatePages, - ignoreCache: clickedData.ignoreCache, - force: clickedData.force, - reload: clickedData.reload, - reloadPrevious: clickedData.reloadPrevious, - pageName: pageName, - pushState: clickedData.pushState, - url: url - }; - - if (app.params.template7Pages) { - options.contextName = clickedData.contextName; - var context = clickedData.context; - if (context) { - options.context = JSON.parse(context); - } - } - if (template && template in t7.templates) { - options.template = t7.templates[template]; - } - - if (clicked.hasClass('back')) view.router.back(options); - else view.router.load(options); - } - } - $(document).on('click', 'a, .open-panel, .close-panel, .panel-overlay, .modal-overlay, .popup-overlay, .swipeout-delete, .swipeout-close, .close-popup, .open-popup, .open-popover, .open-login-screen, .close-login-screen .smart-select, .toggle-sortable, .open-sortable, .close-sortable, .accordion-item-toggle, .close-picker, .picker-modal-overlay', handleClicks); - if (app.params.scrollTopOnNavbarClick || app.params.scrollTopOnStatusbarClick) { - $(document).on('click', '.statusbar-overlay, .navbar .center', handleScrollTop); - } - - // Prevent scrolling on overlays - function preventScrolling(e) { - e.preventDefault(); - } - if (app.support.touch && !app.device.android) { - $(document).on((app.params.fastClicks ? 'touchstart' : 'touchmove'), '.panel-overlay, .modal-overlay, .preloader-indicator-overlay, .popup-overlay, .searchbar-overlay', preventScrolling); - } -}; diff --git a/vendor/framework7/src/js/dom7-ajax.js b/vendor/framework7/src/js/dom7-ajax.js deleted file mode 100644 index 47a47e1e1..000000000 --- a/vendor/framework7/src/js/dom7-ajax.js +++ /dev/null @@ -1,280 +0,0 @@ -// Global Ajax Setup -var globalAjaxOptions = {}; -$.ajaxSetup = function (options) { - if (options.type) options.method = options.type; - $.each(options, function (optionName, optionValue) { - globalAjaxOptions[optionName] = optionValue; - }); -}; - -// Ajax -var _jsonpRequests = 0; -$.ajax = function (options) { - var defaults = { - method: 'GET', - data: false, - async: true, - cache: true, - user: '', - password: '', - headers: {}, - xhrFields: {}, - statusCode: {}, - processData: true, - dataType: 'text', - contentType: 'application/x-www-form-urlencoded', - timeout: 0 - }; - var callbacks = ['beforeSend', 'error', 'complete', 'success', 'statusCode']; - - - //For jQuery guys - if (options.type) options.method = options.type; - - // Merge global and defaults - $.each(globalAjaxOptions, function (globalOptionName, globalOptionValue) { - if (callbacks.indexOf(globalOptionName) < 0) defaults[globalOptionName] = globalOptionValue; - }); - - // Function to run XHR callbacks and events - function fireAjaxCallback (eventName, eventData, callbackName) { - var a = arguments; - if (eventName) $(document).trigger(eventName, eventData); - if (callbackName) { - // Global callback - if (callbackName in globalAjaxOptions) globalAjaxOptions[callbackName](a[3], a[4], a[5], a[6]); - // Options callback - if (options[callbackName]) options[callbackName](a[3], a[4], a[5], a[6]); - } - } - - // Merge options and defaults - $.each(defaults, function (prop, defaultValue) { - if (!(prop in options)) options[prop] = defaultValue; - }); - - // Default URL - if (!options.url) { - options.url = window.location.toString(); - } - // Parameters Prefix - var paramsPrefix = options.url.indexOf('?') >= 0 ? '&' : '?'; - - // UC method - var _method = options.method.toUpperCase(); - // Data to modify GET URL - if ((_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') && options.data) { - var stringData; - if (typeof options.data === 'string') { - // Should be key=value string - if (options.data.indexOf('?') >= 0) stringData = options.data.split('?')[1]; - else stringData = options.data; - } - else { - // Should be key=value object - stringData = $.serializeObject(options.data); - } - if (stringData.length) { - options.url += paramsPrefix + stringData; - if (paramsPrefix === '?') paramsPrefix = '&'; - } - } - // JSONP - if (options.dataType === 'json' && options.url.indexOf('callback=') >= 0) { - - var callbackName = 'f7jsonp_' + Date.now() + (_jsonpRequests++); - var abortTimeout; - var callbackSplit = options.url.split('callback='); - var requestUrl = callbackSplit[0] + 'callback=' + callbackName; - if (callbackSplit[1].indexOf('&') >= 0) { - var addVars = callbackSplit[1].split('&').filter(function (el) { return el.indexOf('=') > 0; }).join('&'); - if (addVars.length > 0) requestUrl += '&' + addVars; - } - - // Create script - var script = document.createElement('script'); - script.type = 'text/javascript'; - script.onerror = function() { - clearTimeout(abortTimeout); - fireAjaxCallback(undefined, undefined, 'error', null, 'scripterror'); - }; - script.src = requestUrl; - - // Handler - window[callbackName] = function (data) { - clearTimeout(abortTimeout); - fireAjaxCallback(undefined, undefined, 'success', data); - script.parentNode.removeChild(script); - script = null; - delete window[callbackName]; - }; - document.querySelector('head').appendChild(script); - - if (options.timeout > 0) { - abortTimeout = setTimeout(function () { - script.parentNode.removeChild(script); - script = null; - fireAjaxCallback(undefined, undefined, 'error', null, 'timeout'); - }, options.timeout); - } - - return; - } - - // Cache for GET/HEAD requests - if (_method === 'GET' || _method === 'HEAD' || _method === 'OPTIONS' || _method === 'DELETE') { - if (options.cache === false) { - options.url += (paramsPrefix + '_nocache=' + Date.now()); - } - } - - // Create XHR - var xhr = new XMLHttpRequest(); - - // Save Request URL - xhr.requestUrl = options.url; - xhr.requestParameters = options; - - // Open XHR - xhr.open(_method, options.url, options.async, options.user, options.password); - - // Create POST Data - var postData = null; - - if ((_method === 'POST' || _method === 'PUT' || _method === 'PATCH') && options.data) { - if (options.processData) { - var postDataInstances = [ArrayBuffer, Blob, Document, FormData]; - // Post Data - if (postDataInstances.indexOf(options.data.constructor) >= 0) { - postData = options.data; - } - else { - // POST Headers - var boundary = '---------------------------' + Date.now().toString(16); - - if (options.contentType === 'multipart\/form-data') { - xhr.setRequestHeader('Content-Type', 'multipart\/form-data; boundary=' + boundary); - } - else { - xhr.setRequestHeader('Content-Type', options.contentType); - } - postData = ''; - var _data = $.serializeObject(options.data); - if (options.contentType === 'multipart\/form-data') { - boundary = '---------------------------' + Date.now().toString(16); - _data = _data.split('&'); - var _newData = []; - for (var i = 0; i < _data.length; i++) { - _newData.push('Content-Disposition: form-data; name="' + _data[i].split('=')[0] + '"\r\n\r\n' + _data[i].split('=')[1] + '\r\n'); - } - postData = '--' + boundary + '\r\n' + _newData.join('--' + boundary + '\r\n') + '--' + boundary + '--\r\n'; - } - else { - postData = options.contentType === 'application/x-www-form-urlencoded' ? _data : _data.replace(/&/g, '\r\n'); - } - } - } - else { - postData = options.data; - } - - } - - // Additional headers - if (options.headers) { - $.each(options.headers, function (headerName, headerCallback) { - xhr.setRequestHeader(headerName, headerCallback); - }); - } - - // Check for crossDomain - if (typeof options.crossDomain === 'undefined') { - options.crossDomain = /^([\w-]+:)?\/\/([^\/]+)/.test(options.url) && RegExp.$2 !== window.location.host; - } - - if (!options.crossDomain) { - xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); - } - - if (options.xhrFields) { - $.each(options.xhrFields, function (fieldName, fieldValue) { - xhr[fieldName] = fieldValue; - }); - } - - var xhrTimeout; - // Handle XHR - xhr.onload = function (e) { - if (xhrTimeout) clearTimeout(xhrTimeout); - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) { - var responseData; - if (options.dataType === 'json') { - try { - responseData = JSON.parse(xhr.responseText); - fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr); - } - catch (err) { - fireAjaxCallback('ajaxError', {xhr: xhr, parseerror: true}, 'error', xhr, 'parseerror'); - } - } - else { - responseData = xhr.responseType === 'text' || xhr.responseType === '' ? xhr.responseText : xhr.response; - fireAjaxCallback('ajaxSuccess', {xhr: xhr}, 'success', responseData, xhr.status, xhr); - } - } - else { - fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status); - } - if (options.statusCode) { - if (globalAjaxOptions.statusCode && globalAjaxOptions.statusCode[xhr.status]) globalAjaxOptions.statusCode[xhr.status](xhr); - if (options.statusCode[xhr.status]) options.statusCode[xhr.status](xhr); - } - fireAjaxCallback('ajaxComplete', {xhr: xhr}, 'complete', xhr, xhr.status); - }; - - xhr.onerror = function (e) { - if (xhrTimeout) clearTimeout(xhrTimeout); - fireAjaxCallback('ajaxError', {xhr: xhr}, 'error', xhr, xhr.status); - }; - - // Ajax start callback - fireAjaxCallback('ajaxStart', {xhr: xhr}, 'start', xhr); - fireAjaxCallback(undefined, undefined, 'beforeSend', xhr); - - // Timeout - if (options.timeout > 0) { - xhr.onabort = function () { - if (xhrTimeout) clearTimeout(xhrTimeout); - }; - xhrTimeout = setTimeout(function () { - xhr.abort(); - fireAjaxCallback('ajaxError', {xhr: xhr, timeout: true}, 'error', xhr, 'timeout'); - fireAjaxCallback('ajaxComplete', {xhr: xhr, timeout: true}, 'complete', xhr, 'timeout'); - }, options.timeout); - } - - // Send XHR - xhr.send(postData); - - // Return XHR object - return xhr; -}; -// Shrotcuts -(function () { - var methods = ('get post getJSON').split(' '); - function createMethod(method) { - $[method] = function (url, data, success, error) { - return $.ajax({ - url: url, - method: method === 'post' ? 'POST' : 'GET', - data: typeof data === 'function' ? undefined : data, - success: typeof data === 'function' ? data : success, - error: typeof data === 'function' ? success : error, - dataType: method === 'getJSON' ? 'json' : undefined - }); - }; - } - for (var i = 0; i < methods.length; i++) { - createMethod(methods[i]); - } -})(); diff --git a/vendor/framework7/src/js/dom7-intro.js b/vendor/framework7/src/js/dom7-intro.js deleted file mode 100644 index 2bebd7111..000000000 --- a/vendor/framework7/src/js/dom7-intro.js +++ /dev/null @@ -1,66 +0,0 @@ -/*=========================== -Dom7 Library -===========================*/ -var Dom7 = (function () { - var Dom7 = function (arr) { - var _this = this, i = 0; - // Create array-like object - for (i = 0; i < arr.length; i++) { - _this[i] = arr[i]; - } - _this.length = arr.length; - // Return collection with methods - return this; - }; - var $ = function (selector, context) { - var arr = [], i = 0; - if (selector && !context) { - if (selector instanceof Dom7) { - return selector; - } - } - if (selector) { - // String - if (typeof selector === 'string') { - var els, tempParent, html; - selector = html = selector.trim(); - if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) { - var toCreate = 'div'; - if (html.indexOf(':~]/)) { - // Pure ID selector - els = [document.getElementById(selector.split('#')[1])]; - } - else { - // Other selectors - els = (context || document).querySelectorAll(selector); - } - for (i = 0; i < els.length; i++) { - if (els[i]) arr.push(els[i]); - } - } - } - // Node/element - else if (selector.nodeType || selector === window || selector === document) { - arr.push(selector); - } - //Array of elements or instance of Dom - else if (selector.length > 0 && selector[0].nodeType) { - for (i = 0; i < selector.length; i++) { - arr.push(selector[i]); - } - } - } - return new Dom7(arr); - }; \ No newline at end of file diff --git a/vendor/framework7/src/js/dom7-methods.js b/vendor/framework7/src/js/dom7-methods.js deleted file mode 100644 index 58de0a545..000000000 --- a/vendor/framework7/src/js/dom7-methods.js +++ /dev/null @@ -1,783 +0,0 @@ -Dom7.prototype = { - // Classes and attriutes - addClass: function (className) { - if (typeof className === 'undefined') { - return this; - } - var classes = className.split(' '); - for (var i = 0; i < classes.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]); - } - } - return this; - }, - removeClass: function (className) { - var classes = className.split(' '); - for (var i = 0; i < classes.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]); - } - } - return this; - }, - hasClass: function (className) { - if (!this[0]) return false; - else return this[0].classList.contains(className); - }, - toggleClass: function (className) { - var classes = className.split(' '); - for (var i = 0; i < classes.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]); - } - } - return this; - }, - attr: function (attrs, value) { - if (arguments.length === 1 && typeof attrs === 'string') { - // Get attr - if (this[0]) return this[0].getAttribute(attrs); - else return undefined; - } - else { - // Set attrs - for (var i = 0; i < this.length; i++) { - if (arguments.length === 2) { - // String - this[i].setAttribute(attrs, value); - } - else { - // Object - for (var attrName in attrs) { - this[i][attrName] = attrs[attrName]; - this[i].setAttribute(attrName, attrs[attrName]); - } - } - } - return this; - } - }, - removeAttr: function (attr) { - for (var i = 0; i < this.length; i++) { - this[i].removeAttribute(attr); - } - return this; - }, - prop: function (props, value) { - if (arguments.length === 1 && typeof props === 'string') { - // Get prop - if (this[0]) return this[0][props]; - else return undefined; - } - else { - // Set props - for (var i = 0; i < this.length; i++) { - if (arguments.length === 2) { - // String - this[i][props] = value; - } - else { - // Object - for (var propName in props) { - this[i][propName] = props[propName]; - } - } - } - return this; - } - }, - data: function (key, value) { - if (typeof value === 'undefined') { - // Get value - if (this[0]) { - if (this[0].dom7ElementDataStorage && (key in this[0].dom7ElementDataStorage)) { - return this[0].dom7ElementDataStorage[key]; - } - else { - var dataKey = this[0].getAttribute('data-' + key); - if (dataKey) { - return dataKey; - } - else return undefined; - } - } - else return undefined; - } - else { - // Set value - for (var i = 0; i < this.length; i++) { - var el = this[i]; - if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {}; - el.dom7ElementDataStorage[key] = value; - } - return this; - } - }, - removeData: function(key) { - for (var i = 0; i < this.length; i++) { - var el = this[i]; - if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) { - el.dom7ElementDataStorage[key] = null; - delete el.dom7ElementDataStorage[key]; - } - } - }, - dataset: function () { - var el = this[0]; - if (el) { - var dataset = {}; - if (el.dataset) { - for (var dataKey in el.dataset) { - dataset[dataKey] = el.dataset[dataKey]; - } - } - else { - for (var i = 0; i < el.attributes.length; i++) { - var attr = el.attributes[i]; - if (attr.name.indexOf('data-') >= 0) { - dataset[$.toCamelCase(attr.name.split('data-')[1])] = attr.value; - } - } - } - for (var key in dataset) { - if (dataset[key] === 'false') dataset[key] = false; - else if (dataset[key] === 'true') dataset[key] = true; - else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] = dataset[key] * 1; - } - return dataset; - } - else return undefined; - }, - val: function (value) { - if (typeof value === 'undefined') { - if (this[0]) return this[0].value; - else return undefined; - } - else { - for (var i = 0; i < this.length; i++) { - this[i].value = value; - } - return this; - } - }, - // Transforms - transform : function (transform) { - for (var i = 0; i < this.length; i++) { - var elStyle = this[i].style; - elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.MozTransform = elStyle.OTransform = elStyle.transform = transform; - } - return this; - }, - transition: function (duration) { - if (typeof duration !== 'string') { - duration = duration + 'ms'; - } - for (var i = 0; i < this.length; i++) { - var elStyle = this[i].style; - elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.MozTransitionDuration = elStyle.OTransitionDuration = elStyle.transitionDuration = duration; - } - return this; - }, - //Events - on: function (eventName, targetSelector, listener, capture) { - function handleLiveEvent(e) { - var target = e.target; - if ($(target).is(targetSelector)) listener.call(target, e); - else { - var parents = $(target).parents(); - for (var k = 0; k < parents.length; k++) { - if ($(parents[k]).is(targetSelector)) listener.call(parents[k], e); - } - } - } - var events = eventName.split(' '); - var i, j; - for (i = 0; i < this.length; i++) { - if (typeof targetSelector === 'function' || targetSelector === false) { - // Usual events - if (typeof targetSelector === 'function') { - listener = arguments[1]; - capture = arguments[2] || false; - } - for (j = 0; j < events.length; j++) { - this[i].addEventListener(events[j], listener, capture); - } - } - else { - //Live events - for (j = 0; j < events.length; j++) { - if (!this[i].dom7LiveListeners) this[i].dom7LiveListeners = []; - this[i].dom7LiveListeners.push({listener: listener, liveListener: handleLiveEvent}); - this[i].addEventListener(events[j], handleLiveEvent, capture); - } - } - } - - return this; - }, - off: function (eventName, targetSelector, listener, capture) { - var events = eventName.split(' '); - for (var i = 0; i < events.length; i++) { - for (var j = 0; j < this.length; j++) { - if (typeof targetSelector === 'function' || targetSelector === false) { - // Usual events - if (typeof targetSelector === 'function') { - listener = arguments[1]; - capture = arguments[2] || false; - } - this[j].removeEventListener(events[i], listener, capture); - } - else { - // Live event - if (this[j].dom7LiveListeners) { - for (var k = 0; k < this[j].dom7LiveListeners.length; k++) { - if (this[j].dom7LiveListeners[k].listener === listener) { - this[j].removeEventListener(events[i], this[j].dom7LiveListeners[k].liveListener, capture); - } - } - } - } - } - } - return this; - }, - once: function (eventName, targetSelector, listener, capture) { - var dom = this; - if (typeof targetSelector === 'function') { - listener = arguments[1]; - capture = arguments[2]; - targetSelector = false; - } - function proxy(e) { - listener.call(e.target, e); - dom.off(eventName, targetSelector, proxy, capture); - } - return dom.on(eventName, targetSelector, proxy, capture); - }, - trigger: function (eventName, eventData) { - var events = eventName.split(' '); - for (var i = 0; i < events.length; i++) { - for (var j = 0; j < this.length; j++) { - var evt; - try { - evt = new CustomEvent(events[i], {detail: eventData, bubbles: true, cancelable: true}); - } - catch (e) { - evt = document.createEvent('Event'); - evt.initEvent(events[i], true, true); - evt.detail = eventData; - } - this[j].dispatchEvent(evt); - } - } - return this; - }, - transitionEnd: function (callback) { - var events = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd'], - i, j, dom = this; - function fireCallBack(e) { - /*jshint validthis:true */ - if (e.target !== this) return; - callback.call(this, e); - for (i = 0; i < events.length; i++) { - dom.off(events[i], fireCallBack); - } - } - if (callback) { - for (i = 0; i < events.length; i++) { - dom.on(events[i], fireCallBack); - } - } - return this; - }, - animationEnd: function (callback) { - var events = ['webkitAnimationEnd', 'OAnimationEnd', 'MSAnimationEnd', 'animationend'], - i, j, dom = this; - function fireCallBack(e) { - callback(e); - for (i = 0; i < events.length; i++) { - dom.off(events[i], fireCallBack); - } - } - if (callback) { - for (i = 0; i < events.length; i++) { - dom.on(events[i], fireCallBack); - } - } - return this; - }, - // Sizing/Styles - width: function () { - if (this[0] === window) { - return window.innerWidth; - } - else { - if (this.length > 0) { - return parseFloat(this.css('width')); - } - else { - return null; - } - } - }, - outerWidth: function (includeMargins) { - if (this.length > 0) { - if (includeMargins) { - var styles = this.styles(); - return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left')); - } - else - return this[0].offsetWidth; - } - else return null; - }, - height: function () { - if (this[0] === window) { - return window.innerHeight; - } - else { - if (this.length > 0) { - return parseFloat(this.css('height')); - } - else { - return null; - } - } - }, - outerHeight: function (includeMargins) { - if (this.length > 0) { - if (includeMargins) { - var styles = this.styles(); - return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom')); - } - else - return this[0].offsetHeight; - } - else return null; - }, - offset: function () { - if (this.length > 0) { - var el = this[0]; - var box = el.getBoundingClientRect(); - var body = document.body; - var clientTop = el.clientTop || body.clientTop || 0; - var clientLeft = el.clientLeft || body.clientLeft || 0; - var scrollTop = window.pageYOffset || el.scrollTop; - var scrollLeft = window.pageXOffset || el.scrollLeft; - return { - top: box.top + scrollTop - clientTop, - left: box.left + scrollLeft - clientLeft - }; - } - else { - return null; - } - }, - hide: function () { - for (var i = 0; i < this.length; i++) { - this[i].style.display = 'none'; - } - return this; - }, - show: function () { - for (var i = 0; i < this.length; i++) { - this[i].style.display = 'block'; - } - return this; - }, - styles: function () { - var i, styles; - if (this[0]) return window.getComputedStyle(this[0], null); - else return undefined; - }, - css: function (props, value) { - var i; - if (arguments.length === 1) { - if (typeof props === 'string') { - if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props); - } - else { - for (i = 0; i < this.length; i++) { - for (var prop in props) { - this[i].style[prop] = props[prop]; - } - } - return this; - } - } - if (arguments.length === 2 && typeof props === 'string') { - for (i = 0; i < this.length; i++) { - this[i].style[props] = value; - } - return this; - } - return this; - }, - - //Dom manipulation - each: function (callback) { - for (var i = 0; i < this.length; i++) { - callback.call(this[i], i, this[i]); - } - return this; - }, - filter: function (callback) { - var matchedItems = []; - var dom = this; - for (var i = 0; i < dom.length; i++) { - if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]); - } - return new Dom7(matchedItems); - }, - html: function (html) { - if (typeof html === 'undefined') { - return this[0] ? this[0].innerHTML : undefined; - } - else { - for (var i = 0; i < this.length; i++) { - this[i].innerHTML = html; - } - return this; - } - }, - text: function (text) { - if (typeof text === 'undefined') { - if (this[0]) { - return this[0].textContent.trim(); - } - else return null; - } - else { - for (var i = 0; i < this.length; i++) { - this[i].textContent = text; - } - return this; - } - }, - is: function (selector) { - if (!this[0] || typeof selector === 'undefined') return false; - var compareWith, i; - if (typeof selector === 'string') { - var el = this[0]; - if (el === document) return selector === document; - if (el === window) return selector === window; - - if (el.matches) return el.matches(selector); - else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector); - else if (el.mozMatchesSelector) return el.mozMatchesSelector(selector); - else if (el.msMatchesSelector) return el.msMatchesSelector(selector); - else { - compareWith = $(selector); - for (i = 0; i < compareWith.length; i++) { - if (compareWith[i] === this[0]) return true; - } - return false; - } - } - else if (selector === document) return this[0] === document; - else if (selector === window) return this[0] === window; - else { - if (selector.nodeType || selector instanceof Dom7) { - compareWith = selector.nodeType ? [selector] : selector; - for (i = 0; i < compareWith.length; i++) { - if (compareWith[i] === this[0]) return true; - } - return false; - } - return false; - } - - }, - indexOf: function (el) { - for (var i = 0; i < this.length; i++) { - if (this[i] === el) return i; - } - }, - index: function () { - if (this[0]) { - var child = this[0]; - var i = 0; - while ((child = child.previousSibling) !== null) { - if (child.nodeType === 1) i++; - } - return i; - } - else return undefined; - }, - eq: function (index) { - if (typeof index === 'undefined') return this; - var length = this.length; - var returnIndex; - if (index > length - 1) { - return new Dom7([]); - } - if (index < 0) { - returnIndex = length + index; - if (returnIndex < 0) return new Dom7([]); - else return new Dom7([this[returnIndex]]); - } - return new Dom7([this[index]]); - }, - append: function (newChild) { - var i, j; - for (i = 0; i < this.length; i++) { - if (typeof newChild === 'string') { - var tempDiv = document.createElement('div'); - tempDiv.innerHTML = newChild; - while (tempDiv.firstChild) { - this[i].appendChild(tempDiv.firstChild); - } - } - else if (newChild instanceof Dom7) { - for (j = 0; j < newChild.length; j++) { - this[i].appendChild(newChild[j]); - } - } - else { - this[i].appendChild(newChild); - } - } - return this; - }, - appendTo: function (parent) { - $(parent).append(this); - return this; - }, - prepend: function (newChild) { - var i, j; - for (i = 0; i < this.length; i++) { - if (typeof newChild === 'string') { - var tempDiv = document.createElement('div'); - tempDiv.innerHTML = newChild; - for (j = tempDiv.childNodes.length - 1; j >= 0; j--) { - this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]); - } - // this[i].insertAdjacentHTML('afterbegin', newChild); - } - else if (newChild instanceof Dom7) { - for (j = 0; j < newChild.length; j++) { - this[i].insertBefore(newChild[j], this[i].childNodes[0]); - } - } - else { - this[i].insertBefore(newChild, this[i].childNodes[0]); - } - } - return this; - }, - prependTo: function (parent) { - $(parent).prepend(this); - return this; - }, - insertBefore: function (selector) { - var before = $(selector); - for (var i = 0; i < this.length; i++) { - if (before.length === 1) { - before[0].parentNode.insertBefore(this[i], before[0]); - } - else if (before.length > 1) { - for (var j = 0; j < before.length; j++) { - before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]); - } - } - } - }, - insertAfter: function (selector) { - var after = $(selector); - for (var i = 0; i < this.length; i++) { - if (after.length === 1) { - after[0].parentNode.insertBefore(this[i], after[0].nextSibling); - } - else if (after.length > 1) { - for (var j = 0; j < after.length; j++) { - after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling); - } - } - } - }, - next: function (selector) { - if (this.length > 0) { - if (selector) { - if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) return new Dom7([this[0].nextElementSibling]); - else return new Dom7([]); - } - else { - if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]); - else return new Dom7([]); - } - } - else return new Dom7([]); - }, - nextAll: function (selector) { - var nextEls = []; - var el = this[0]; - if (!el) return new Dom7([]); - while (el.nextElementSibling) { - var next = el.nextElementSibling; - if (selector) { - if($(next).is(selector)) nextEls.push(next); - } - else nextEls.push(next); - el = next; - } - return new Dom7(nextEls); - }, - prev: function (selector) { - if (this.length > 0) { - if (selector) { - if (this[0].previousElementSibling && $(this[0].previousElementSibling).is(selector)) return new Dom7([this[0].previousElementSibling]); - else return new Dom7([]); - } - else { - if (this[0].previousElementSibling) return new Dom7([this[0].previousElementSibling]); - else return new Dom7([]); - } - } - else return new Dom7([]); - }, - prevAll: function (selector) { - var prevEls = []; - var el = this[0]; - if (!el) return new Dom7([]); - while (el.previousElementSibling) { - var prev = el.previousElementSibling; - if (selector) { - if($(prev).is(selector)) prevEls.push(prev); - } - else prevEls.push(prev); - el = prev; - } - return new Dom7(prevEls); - }, - siblings: function (selector) { - return this.nextAll(selector).add(this.prevAll(selector)); - }, - parent: function (selector) { - var parents = []; - for (var i = 0; i < this.length; i++) { - if (this[i].parentNode !== null) { - if (selector) { - if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode); - } - else { - parents.push(this[i].parentNode); - } - } - } - return $($.unique(parents)); - }, - parents: function (selector) { - var parents = []; - for (var i = 0; i < this.length; i++) { - var parent = this[i].parentNode; - while (parent) { - if (selector) { - if ($(parent).is(selector)) parents.push(parent); - } - else { - parents.push(parent); - } - parent = parent.parentNode; - } - } - return $($.unique(parents)); - }, - closest: function (selector) { - var closest = this; - if (typeof selector === 'undefined') { - return new Dom7([]); - } - if (!closest.is(selector)) { - closest = closest.parents(selector).eq(0); - } - return closest; - }, - find : function (selector) { - var foundElements = []; - for (var i = 0; i < this.length; i++) { - var found = this[i].querySelectorAll(selector); - for (var j = 0; j < found.length; j++) { - foundElements.push(found[j]); - } - } - return new Dom7(foundElements); - }, - children: function (selector) { - var children = []; - for (var i = 0; i < this.length; i++) { - var childNodes = this[i].childNodes; - - for (var j = 0; j < childNodes.length; j++) { - if (!selector) { - if (childNodes[j].nodeType === 1) children.push(childNodes[j]); - } - else { - if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) children.push(childNodes[j]); - } - } - } - return new Dom7($.unique(children)); - }, - remove: function () { - for (var i = 0; i < this.length; i++) { - if (this[i].parentNode) this[i].parentNode.removeChild(this[i]); - } - return this; - }, - detach: function () { - return this.remove(); - }, - add: function () { - var dom = this; - var i, j; - for (i = 0; i < arguments.length; i++) { - var toAdd = $(arguments[i]); - for (j = 0; j < toAdd.length; j++) { - dom[dom.length] = toAdd[j]; - dom.length++; - } - } - return dom; - }, - empty: function () { - for (var i = 0; i < this.length; i++) { - var el = this[i]; - if (el.nodeType === 1) { - for (var j = 0; j < el.childNodes.length; j++) { - if (el.childNodes[j].parentNode) el.childNodes[j].parentNode.removeChild(el.childNodes[j]); - } - el.textContent = ''; - } - } - return this; - } -}; - -// Shortcuts -(function () { - var shortcuts = ('click blur focus focusin focusout keyup keydown keypress submit change mousedown mousemove mouseup mouseenter mouseleave mouseout mouseover touchstart touchend touchmove resize scroll').split(' '); - var notTrigger = ('resize scroll').split(' '); - function createMethod(name) { - Dom7.prototype[name] = function (targetSelector, listener, capture) { - var i; - if (typeof targetSelector === 'undefined') { - for (i = 0; i < this.length; i++) { - if (notTrigger.indexOf(name) < 0) { - if (name in this[i]) this[i][name](); - else { - $(this[i]).trigger(name); - } - } - } - return this; - } - else { - return this.on(name, targetSelector, listener, capture); - } - }; - } - for (var i = 0; i < shortcuts.length; i++) { - createMethod(shortcuts[i]); - } -})(); diff --git a/vendor/framework7/src/js/dom7-outro.js b/vendor/framework7/src/js/dom7-outro.js deleted file mode 100644 index f4599ccd7..000000000 --- a/vendor/framework7/src/js/dom7-outro.js +++ /dev/null @@ -1,11 +0,0 @@ - return $; -})(); - -// Export Dom7 to Framework7 -Framework7.$ = Dom7; - -// Export to local scope -var $ = Dom7; - -// Export to Window -window.Dom7 = Dom7; diff --git a/vendor/framework7/src/js/dom7-utils.js b/vendor/framework7/src/js/dom7-utils.js deleted file mode 100644 index 9cfd33099..000000000 --- a/vendor/framework7/src/js/dom7-utils.js +++ /dev/null @@ -1,393 +0,0 @@ -// DOM Library Utilites -$.parseUrlQuery = function (url) { - var url = url || location.href; - var query = {}, i, params, param; - - if (typeof url === 'string' && url.length) { - url = (url.indexOf('#') > -1) ? url.split('#')[0] : url; - if (url.indexOf('?') > -1) url = url.split('?')[1]; - else return query; - - params = url.split('&'); - for (i = 0; i < params.length; i ++) { - param = params[i].split('='); - query[param[0]] = param[1]; - } - } - return query; -}; -$.isArray = function (arr) { - if (Object.prototype.toString.apply(arr) === '[object Array]') return true; - else return false; -}; -$.each = function (obj, callback) { - if (typeof obj !== 'object') return; - if (!callback) return; - var i, prop; - if ($.isArray(obj) || obj instanceof Dom7) { - // Array - for (i = 0; i < obj.length; i++) { - callback(i, obj[i]); - } - } - else { - // Object - for (prop in obj) { - if (obj.hasOwnProperty(prop)) { - callback(prop, obj[prop]); - } - } - } -}; -$.unique = function (arr) { - var unique = []; - for (var i = 0; i < arr.length; i++) { - if (unique.indexOf(arr[i]) === -1) unique.push(arr[i]); - } - return unique; -}; -$.serializeObject = $.param = function (obj, parents) { - if (typeof obj === 'string') return obj; - var resultArray = []; - var separator = '&'; - parents = parents || []; - var newParents; - function var_name(name) { - if (parents.length > 0) { - var _parents = ''; - for (var j = 0; j < parents.length; j++) { - if (j === 0) _parents += parents[j]; - else _parents += '[' + encodeURIComponent(parents[j]) + ']'; - } - return _parents + '[' + encodeURIComponent(name) + ']'; - } - else { - return encodeURIComponent(name); - } - } - function var_value(value) { - return encodeURIComponent(value); - } - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) { - var toPush; - if ($.isArray(obj[prop])) { - toPush = []; - for (var i = 0; i < obj[prop].length; i ++) { - if (!$.isArray(obj[prop][i]) && typeof obj[prop][i] === 'object') { - newParents = parents.slice(); - newParents.push(prop); - newParents.push(i + ''); - toPush.push($.serializeObject(obj[prop][i], newParents)); - } - else { - toPush.push(var_name(prop) + '[]=' + var_value(obj[prop][i])); - } - - } - if (toPush.length > 0) resultArray.push(toPush.join(separator)); - } - else if (obj[prop] === null) { - resultArray.push(var_name(prop) + '='); - } - else if (typeof obj[prop] === 'object') { - // Object, convert to named array - newParents = parents.slice(); - newParents.push(prop); - toPush = $.serializeObject(obj[prop], newParents); - if (toPush !== '') resultArray.push(toPush); - } - else if (typeof obj[prop] !== 'undefined' && obj[prop] !== '') { - // Should be string or plain value - resultArray.push(var_name(prop) + '=' + var_value(obj[prop])); - } - } - } - return resultArray.join(separator); -}; -$.toCamelCase = function (string) { - return string.toLowerCase().replace(/-(.)/g, function(match, group1) { - return group1.toUpperCase(); - }); -}; -$.dataset = function (el) { - return $(el).dataset(); -}; -$.getTranslate = function (el, axis) { - var matrix, curTransform, curStyle, transformMatrix; - - // automatic axis detection - if (typeof axis === 'undefined') { - axis = 'x'; - } - - curStyle = window.getComputedStyle(el, null); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(function(a){ - return a.replace(',','.'); - }).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } - else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - - if (axis === 'x') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m41; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[12]); - //Normal Browsers - else - curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m42; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[13]); - //Normal Browsers - else - curTransform = parseFloat(matrix[5]); - } - - return curTransform || 0; -}; - -$.requestAnimationFrame = function (callback) { - if (window.requestAnimationFrame) return window.requestAnimationFrame(callback); - else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback); - else if (window.mozRequestAnimationFrame) return window.mozRequestAnimationFrame(callback); - else { - return window.setTimeout(callback, 1000 / 60); - } -}; -$.cancelAnimationFrame = function (id) { - if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id); - else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id); - else if (window.mozCancelAnimationFrame) return window.mozCancelAnimationFrame(id); - else { - return window.clearTimeout(id); - } -}; -$.supportTouch = !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch); - -// Remove Diacritics -var defaultDiacriticsRemovalap = [ - {base:'A', letters:'\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F'}, - {base:'AA',letters:'\uA732'}, - {base:'AE',letters:'\u00C6\u01FC\u01E2'}, - {base:'AO',letters:'\uA734'}, - {base:'AU',letters:'\uA736'}, - {base:'AV',letters:'\uA738\uA73A'}, - {base:'AY',letters:'\uA73C'}, - {base:'B', letters:'\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181'}, - {base:'C', letters:'\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E'}, - {base:'D', letters:'\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779'}, - {base:'DZ',letters:'\u01F1\u01C4'}, - {base:'Dz',letters:'\u01F2\u01C5'}, - {base:'E', letters:'\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E'}, - {base:'F', letters:'\u0046\u24BB\uFF26\u1E1E\u0191\uA77B'}, - {base:'G', letters:'\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E'}, - {base:'H', letters:'\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D'}, - {base:'I', letters:'\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197'}, - {base:'J', letters:'\u004A\u24BF\uFF2A\u0134\u0248'}, - {base:'K', letters:'\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2'}, - {base:'L', letters:'\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780'}, - {base:'LJ',letters:'\u01C7'}, - {base:'Lj',letters:'\u01C8'}, - {base:'M', letters:'\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C'}, - {base:'N', letters:'\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4'}, - {base:'NJ',letters:'\u01CA'}, - {base:'Nj',letters:'\u01CB'}, - {base:'O', letters:'\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C'}, - {base:'OI',letters:'\u01A2'}, - {base:'OO',letters:'\uA74E'}, - {base:'OU',letters:'\u0222'}, - {base:'OE',letters:'\u008C\u0152'}, - {base:'oe',letters:'\u009C\u0153'}, - {base:'P', letters:'\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754'}, - {base:'Q', letters:'\u0051\u24C6\uFF31\uA756\uA758\u024A'}, - {base:'R', letters:'\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782'}, - {base:'S', letters:'\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784'}, - {base:'T', letters:'\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786'}, - {base:'TZ',letters:'\uA728'}, - {base:'U', letters:'\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244'}, - {base:'V', letters:'\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245'}, - {base:'VY',letters:'\uA760'}, - {base:'W', letters:'\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72'}, - {base:'X', letters:'\u0058\u24CD\uFF38\u1E8A\u1E8C'}, - {base:'Y', letters:'\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE'}, - {base:'Z', letters:'\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762'}, - {base:'a', letters:'\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250'}, - {base:'aa',letters:'\uA733'}, - {base:'ae',letters:'\u00E6\u01FD\u01E3'}, - {base:'ao',letters:'\uA735'}, - {base:'au',letters:'\uA737'}, - {base:'av',letters:'\uA739\uA73B'}, - {base:'ay',letters:'\uA73D'}, - {base:'b', letters:'\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253'}, - {base:'c', letters:'\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184'}, - {base:'d', letters:'\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A'}, - {base:'dz',letters:'\u01F3\u01C6'}, - {base:'e', letters:'\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD'}, - {base:'f', letters:'\u0066\u24D5\uFF46\u1E1F\u0192\uA77C'}, - {base:'g', letters:'\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F'}, - {base:'h', letters:'\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265'}, - {base:'hv',letters:'\u0195'}, - {base:'i', letters:'\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131'}, - {base:'j', letters:'\u006A\u24D9\uFF4A\u0135\u01F0\u0249'}, - {base:'k', letters:'\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3'}, - {base:'l', letters:'\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747'}, - {base:'lj',letters:'\u01C9'}, - {base:'m', letters:'\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F'}, - {base:'n', letters:'\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5'}, - {base:'nj',letters:'\u01CC'}, - {base:'o', letters:'\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275'}, - {base:'oi',letters:'\u01A3'}, - {base:'ou',letters:'\u0223'}, - {base:'oo',letters:'\uA74F'}, - {base:'p',letters:'\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755'}, - {base:'q',letters:'\u0071\u24E0\uFF51\u024B\uA757\uA759'}, - {base:'r',letters:'\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783'}, - {base:'s',letters:'\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B'}, - {base:'t',letters:'\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787'}, - {base:'tz',letters:'\uA729'}, - {base:'u',letters: '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289'}, - {base:'v',letters:'\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C'}, - {base:'vy',letters:'\uA761'}, - {base:'w',letters:'\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73'}, - {base:'x',letters:'\u0078\u24E7\uFF58\u1E8B\u1E8D'}, - {base:'y',letters:'\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF'}, - {base:'z',letters:'\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763'} -]; - -var diacriticsMap = {}; -for (var i=0; i < defaultDiacriticsRemovalap.length; i++){ - var letters = defaultDiacriticsRemovalap[i].letters; - for (var j=0; j < letters.length ; j++){ - diacriticsMap[letters[j]] = defaultDiacriticsRemovalap[i].base; - } -} - -$.removeDiacritics = function (str) { - return str.replace(/[^\u0000-\u007E]/g, function(a){ - return diacriticsMap[a] || a; - }); -}; -// Link to prototype -$.fn = Dom7.prototype; - -// Plugins -$.fn.scrollTo = function (left, top, duration, easing, callback) { - if (arguments.length === 4 && typeof easing === 'function') { - callback = easing; - easing = undefined; - } - return this.each(function () { - var el = this; - var currentTop, currentLeft, maxTop, maxLeft, newTop, newLeft, scrollTop, scrollLeft; - var animateTop = top > 0 || top === 0; - var animateLeft = left > 0 || left === 0; - if (typeof easing === 'undefined') { - easing = 'swing'; - } - if (animateTop) { - currentTop = el.scrollTop; - if (!duration) { - el.scrollTop = top; - } - } - if (animateLeft) { - currentLeft = el.scrollLeft; - if (!duration) { - el.scrollLeft = left; - } - } - if (!duration) return; - if (animateTop) { - maxTop = el.scrollHeight - el.offsetHeight; - newTop = Math.max(Math.min(top, maxTop), 0); - } - if (animateLeft) { - maxLeft = el.scrollWidth - el.offsetWidth; - newLeft = Math.max(Math.min(left, maxLeft), 0); - } - var startTime = null; - if (animateTop && newTop === currentTop) animateTop = false; - if (animateLeft && newLeft === currentLeft) animateLeft = false; - function render(time) { - if (time === undefined) { - time = new Date().getTime(); - } - if (startTime === null) { - startTime = time; - } - var doneLeft, doneTop, done; - var progress = Math.max(Math.min((time - startTime) / duration, 1), 0); - var easeProgress = easing === 'linear' ? progress : (0.5 - Math.cos( progress * Math.PI ) / 2); - if (animateTop) scrollTop = currentTop + (easeProgress * (newTop - currentTop)); - if (animateLeft) scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft)); - if (animateTop && newTop > currentTop && scrollTop >= newTop) { - el.scrollTop = newTop; - done = true; - } - if (animateTop && newTop < currentTop && scrollTop <= newTop) { - el.scrollTop = newTop; - done = true; - } - - if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) { - el.scrollLeft = newLeft; - done = true; - } - if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) { - el.scrollLeft = newLeft; - done = true; - } - - if (done) { - if (callback) callback(); - return; - } - if (animateTop) el.scrollTop = scrollTop; - if (animateLeft) el.scrollLeft = scrollLeft; - $.requestAnimationFrame(render); - } - $.requestAnimationFrame(render); - }); -}; -$.fn.scrollTop = function (top, duration, easing, callback) { - if (arguments.length === 3 && typeof easing === 'function') { - callback = easing; - easing = undefined; - } - var dom = this; - if (typeof top === 'undefined') { - if (dom.length > 0) return dom[0].scrollTop; - else return null; - } - return dom.scrollTo(undefined, top, duration, easing, callback); -}; -$.fn.scrollLeft = function (left, duration, easing, callback) { - if (arguments.length === 3 && typeof easing === 'function') { - callback = easing; - easing = undefined; - } - var dom = this; - if (typeof left === 'undefined') { - if (dom.length > 0) return dom[0].scrollLeft; - else return null; - } - return dom.scrollTo(left, undefined, duration, easing, callback); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/f7-intro.js b/vendor/framework7/src/js/f7-intro.js deleted file mode 100644 index 631c87a81..000000000 --- a/vendor/framework7/src/js/f7-intro.js +++ /dev/null @@ -1,173 +0,0 @@ -'use strict'; -/*=========================== -Framework 7 -===========================*/ -window.Framework7 = function (params) { - // App - var app = this; - - // Version - app.version = '1.5.0'; - - // Default Parameters - app.params = { - // - root: 'body', - // - cache: true, - cacheIgnore: [], - cacheIgnoreGetParameters: false, - cacheDuration: 1000 * 60 * 10, // Ten minutes - preloadPreviousPage: true, - uniqueHistory: false, - uniqueHistoryIgnoreGetParameters: false, - dynamicPageUrl: 'content-{{index}}', - allowDuplicateUrls: false, - router: true, - routerRemoveTimeout: false, - routerRemoveWithTimeout: false, - // Push State - pushState: false, - pushStateRoot: undefined, - pushStateNoAnimation: false, - pushStateSeparator: '#!/', - pushStateOnLoad: true, - // Fast clicks - fastClicks: true, - fastClicksDistanceThreshold: 10, - fastClicksDelayBetweenClicks: 50, - fastClicksExclude: '', // CSS selector - // Tap Hold - tapHold: false, - tapHoldDelay: 750, - tapHoldPreventClicks: true, - // Active State - activeState: true, - activeStateElements: 'a, button, label, span', - // Animate Nav Back Icon - animateNavBackIcon: false, - // Swipe Back - swipeBackPage: true, - swipeBackPageThreshold: 0, - swipeBackPageActiveArea: 30, - swipeBackPageAnimateShadow: true, - swipeBackPageAnimateOpacity: true, - // Ajax - ajaxLinks: undefined, // or CSS selector - // External Links - externalLinks: '.external', // CSS selector - // Sortable - sortable: true, - // Scroll toolbars - hideNavbarOnPageScroll: false, - hideToolbarOnPageScroll: false, - hideTabbarOnPageScroll: false, - showBarsOnPageScrollEnd: true, - showBarsOnPageScrollTop: true, - // Swipeout - swipeout: true, - swipeoutActionsNoFold: false, - swipeoutNoFollow: false, - swipeoutRemoveWithTimeout: false, - // Smart Select Back link template - smartSelectOpenIn: 'page', // or 'popup' or 'picker' - smartSelectBackText: 'Back', - smartSelectPopupCloseText: 'Close', - smartSelectPickerCloseText: 'Done', - smartSelectSearchbar: false, - smartSelectBackOnSelect: false, - // Tap Navbar or Statusbar to scroll to top - scrollTopOnNavbarClick: false, - scrollTopOnStatusbarClick: false, - // Panels - swipePanel: false, // or 'left' or 'right' - swipePanelActiveArea: 0, - swipePanelCloseOpposite: true, - swipePanelOnlyClose: false, - swipePanelNoFollow: false, - swipePanelThreshold: 0, - panelsCloseByOutside: true, - // Modals - modalButtonOk: 'OK', - modalButtonCancel: 'Cancel', - modalUsernamePlaceholder: 'Username', - modalPasswordPlaceholder: 'Password', - modalTitle: 'Framework7', - modalCloseByOutside: false, - actionsCloseByOutside: true, - popupCloseByOutside: true, - modalPreloaderTitle: 'Loading... ', - modalStack: true, - // Lazy Load - imagesLazyLoadThreshold: 0, - imagesLazyLoadSequential: true, - // Name space - viewClass: 'view', - viewMainClass: 'view-main', - viewsClass: 'views', - // Notifications defaults - notificationCloseOnClick: false, - notificationCloseIcon: true, - notificationCloseButtonText: 'Close', - // Animate Pages - animatePages: true, - // Template7 - templates: {}, - template7Data: {}, - template7Pages: false, - precompileTemplates: false, - // Material - material: false, - materialPageLoadDelay: 0, - materialPreloaderSvg: '', - materialPreloaderHtml: - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '', - materialRipple: true, - materialRippleElements: '.ripple, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, a.searchbar-clear, a.floating-button, .floating-button > a, .speed-dial-buttons a', - // Auto init - init: true, - }; - - // Extend defaults with parameters - for (var param in params) { - app.params[param] = params[param]; - } - - // DOM lib - var $ = Dom7; - - // Template7 lib - var t7 = Template7; - app._compiledTemplates = {}; - - // App Root - app.root = $(app.params.root); - app.root.eq(0).addClass('framework7-root'); - - // Touch events - app.touchEvents = { - start: app.support.touch ? 'touchstart' : 'mousedown', - move: app.support.touch ? 'touchmove' : 'mousemove', - end: app.support.touch ? 'touchend' : 'mouseup' - }; - - // Link to local storage - app.ls = window.localStorage; - - // RTL - app.rtl = $('body').css('direction') === 'rtl'; - if (app.rtl) $('html').attr('dir', 'rtl'); - - // Overwrite statusbar overlay - if (typeof app.params.statusbarOverlay !== 'undefined') { - if (app.params.statusbarOverlay) $('html').addClass('with-statusbar-overlay'); - else $('html').removeClass('with-statusbar-overlay'); - } diff --git a/vendor/framework7/src/js/f7-outro.js b/vendor/framework7/src/js/f7-outro.js deleted file mode 100644 index 85346cdaa..000000000 --- a/vendor/framework7/src/js/f7-outro.js +++ /dev/null @@ -1,3 +0,0 @@ - //Return instance - return app; -}; diff --git a/vendor/framework7/src/js/fast-clicks.js b/vendor/framework7/src/js/fast-clicks.js deleted file mode 100644 index df56146a3..000000000 --- a/vendor/framework7/src/js/fast-clicks.js +++ /dev/null @@ -1,537 +0,0 @@ -/*=============================================================================== -************ Fast Clicks ************ -************ Inspired by https://github.com/ftlabs/fastclick ************ -===============================================================================*/ -app.initFastClicks = function () { - if (app.params.activeState) { - $('html').addClass('watch-active-state'); - } - if (app.device.ios && app.device.webView) { - // Strange hack required for iOS 8 webview to work on inputs - window.addEventListener('touchstart', function () {}); - } - - var touchStartX, touchStartY, touchStartTime, targetElement, trackClick, activeSelection, scrollParent, lastClickTime, isMoved, tapHoldFired, tapHoldTimeout; - var activableElement, activeTimeout, needsFastClick, needsFastClickTimeOut; - var rippleWave, rippleTarget, rippleTransform, rippleTimeout; - function findActivableElement(el) { - var target = $(el); - var parents = target.parents(app.params.activeStateElements); - var activable; - if (target.is(app.params.activeStateElements)) { - activable = target; - } - if (parents.length > 0) { - activable = activable ? activable.add(parents) : parents; - } - return activable ? activable : target; - } - function isInsideScrollableView(el) { - var pageContent = el.parents('.page-content, .panel'); - - if (pageContent.length === 0) { - return false; - } - - // This event handler covers the "tap to stop scrolling". - if (pageContent.prop('scrollHandlerSet') !== 'yes') { - pageContent.on('scroll', function() { - clearTimeout(activeTimeout); - clearTimeout(rippleTimeout); - }); - pageContent.prop('scrollHandlerSet', 'yes'); - } - - return true; - } - function addActive() { - if (!activableElement) return; - activableElement.addClass('active-state'); - } - function removeActive(el) { - if (!activableElement) return; - activableElement.removeClass('active-state'); - activableElement = null; - } - function isFormElement(el) { - var nodes = ('input select textarea label').split(' '); - if (el.nodeName && nodes.indexOf(el.nodeName.toLowerCase()) >= 0) return true; - return false; - } - function androidNeedsBlur(el) { - var noBlur = ('button input textarea select').split(' '); - if (document.activeElement && el !== document.activeElement && document.activeElement !== document.body) { - if (noBlur.indexOf(el.nodeName.toLowerCase()) >= 0) { - return false; - } - else { - return true; - } - } - else { - return false; - } - } - function targetNeedsFastClick(el) { - var $el = $(el); - if (el.nodeName.toLowerCase() === 'input' && el.type === 'file') return false; - if (el.nodeName.toLowerCase() === 'select' && app.device.android) return false; - if ($el.hasClass('no-fastclick') || $el.parents('.no-fastclick').length > 0) return false; - if (app.params.fastClicksExclude && $el.is(app.params.fastClicksExclude)) return false; - return true; - } - function targetNeedsFocus(el) { - if (document.activeElement === el) { - return false; - } - var tag = el.nodeName.toLowerCase(); - var skipInputs = ('button checkbox file image radio submit').split(' '); - if (el.disabled || el.readOnly) return false; - if (tag === 'textarea') return true; - if (tag === 'select') { - if (app.device.android) return false; - else return true; - } - if (tag === 'input' && skipInputs.indexOf(el.type) < 0) return true; - } - function targetNeedsPrevent(el) { - el = $(el); - var prevent = true; - if (el.is('label') || el.parents('label').length > 0) { - if (app.device.android) { - prevent = false; - } - else if (app.device.ios && el.is('input')) { - prevent = true; - } - else prevent = false; - } - return prevent; - } - - // Mouse Handlers - function handleMouseDown (e) { - findActivableElement(e.target).addClass('active-state'); - if ('which' in e && e.which === 3) { - setTimeout(function () { - $('.active-state').removeClass('active-state'); - }, 0); - } - if (app.params.material && app.params.materialRipple) { - touchStartX = e.pageX; - touchStartY = e.pageY; - rippleTouchStart(e.target, e.pageX, e.pageY); - } - } - function handleMouseMove (e) { - $('.active-state').removeClass('active-state'); - if (app.params.material && app.params.materialRipple) { - rippleTouchMove(); - } - } - function handleMouseUp (e) { - $('.active-state').removeClass('active-state'); - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - } - - // Material Touch Ripple Effect - function findRippleElement(el) { - var needsRipple = app.params.materialRippleElements; - var $el = $(el); - if ($el.is(needsRipple)) { - if ($el.hasClass('no-ripple')) { - return false; - } - return $el; - } - else if ($el.parents(needsRipple).length > 0) { - var rippleParent = $el.parents(needsRipple).eq(0); - if (rippleParent.hasClass('no-ripple')) { - return false; - } - return rippleParent; - } - else return false; - } - function createRipple(x, y, el) { - var box = el[0].getBoundingClientRect(); - var center = { - x: x - box.left, - y: y - box.top - }, - height = box.height, - width = box.width; - var diameter = Math.max(Math.pow((Math.pow(height, 2) + Math.pow(width, 2)), 0.5), 48); - - rippleWave = $( - '
                                                        ' - ); - el.prepend(rippleWave); - var clientLeft = rippleWave[0].clientLeft; - rippleTransform = 'translate3d('+(-center.x + width/2)+'px, '+(-center.y + height/2)+'px, 0) scale(1)'; - rippleWave.transform(rippleTransform); - } - - function removeRipple() { - if (!rippleWave) return; - var toRemove = rippleWave; - - var removeTimeout = setTimeout(function () { - toRemove.remove(); - }, 400); - - rippleWave - .addClass('ripple-wave-fill') - .transform(rippleTransform.replace('scale(1)', 'scale(1.01)')) - .transitionEnd(function () { - clearTimeout(removeTimeout); - - var rippleWave = $(this) - .addClass('ripple-wave-out') - .transform(rippleTransform.replace('scale(1)', 'scale(1.01)')); - - removeTimeout = setTimeout(function () { - rippleWave.remove(); - }, 700); - - setTimeout(function () { - rippleWave.transitionEnd(function(){ - clearTimeout(removeTimeout); - $(this).remove(); - }); - }, 0); - }); - - rippleWave = rippleTarget = undefined; - } - - function rippleTouchStart (el, x, y) { - rippleTarget = findRippleElement(el); - if (!rippleTarget || rippleTarget.length === 0) { - rippleTarget = undefined; - return; - } - if (!isInsideScrollableView(rippleTarget)) { - createRipple(touchStartX, touchStartY, rippleTarget); - } - else { - rippleTimeout = setTimeout(function () { - createRipple(touchStartX, touchStartY, rippleTarget); - }, 80); - } - } - function rippleTouchMove() { - clearTimeout(rippleTimeout); - removeRipple(); - } - function rippleTouchEnd() { - if (rippleWave) { - removeRipple(); - } - else if (rippleTarget && !isMoved) { - clearTimeout(rippleTimeout); - createRipple(touchStartX, touchStartY, rippleTarget); - setTimeout(removeRipple, 0); - } - else { - removeRipple(); - } - } - - // Send Click - function sendClick(e) { - var touch = e.changedTouches[0]; - var evt = document.createEvent('MouseEvents'); - var eventType = 'click'; - if (app.device.android && targetElement.nodeName.toLowerCase() === 'select') { - eventType = 'mousedown'; - } - evt.initMouseEvent(eventType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); - evt.forwardedTouchEvent = true; - targetElement.dispatchEvent(evt); - } - - // Touch Handlers - function handleTouchStart(e) { - isMoved = false; - tapHoldFired = false; - if (e.targetTouches.length > 1) { - if (activableElement) removeActive(); - return true; - } - if (e.touches.length > 1 && activableElement) { - removeActive(); - } - if (app.params.tapHold) { - if (tapHoldTimeout) clearTimeout(tapHoldTimeout); - tapHoldTimeout = setTimeout(function () { - if (e && e.touches && e.touches.length > 1) return; - tapHoldFired = true; - e.preventDefault(); - $(e.target).trigger('taphold'); - }, app.params.tapHoldDelay); - } - if (needsFastClickTimeOut) clearTimeout(needsFastClickTimeOut); - needsFastClick = targetNeedsFastClick(e.target); - - if (!needsFastClick) { - trackClick = false; - return true; - } - if (app.device.ios || (app.device.android && 'getSelection' in window)) { - var selection = window.getSelection(); - if (selection.rangeCount && selection.focusNode !== document.body && (!selection.isCollapsed || document.activeElement === selection.focusNode)) { - activeSelection = true; - return true; - } - else { - activeSelection = false; - } - } - if (app.device.android) { - if (androidNeedsBlur(e.target)) { - document.activeElement.blur(); - } - } - - trackClick = true; - targetElement = e.target; - touchStartTime = (new Date()).getTime(); - touchStartX = e.targetTouches[0].pageX; - touchStartY = e.targetTouches[0].pageY; - - // Detect scroll parent - if (app.device.ios) { - scrollParent = undefined; - $(targetElement).parents().each(function () { - var parent = this; - if (parent.scrollHeight > parent.offsetHeight && !scrollParent) { - scrollParent = parent; - scrollParent.f7ScrollTop = scrollParent.scrollTop; - } - }); - } - if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) { - e.preventDefault(); - } - - if (app.params.activeState) { - activableElement = findActivableElement(targetElement); - // If it's inside a scrollable view, we don't trigger active-state yet, - // because it can be a scroll instead. Based on the link: - // http://labnote.beedesk.com/click-scroll-and-pseudo-active-on-mobile-webk - if (!isInsideScrollableView(activableElement)) { - addActive(); - } else { - activeTimeout = setTimeout(addActive, 80); - } - } - if (app.params.material && app.params.materialRipple) { - rippleTouchStart(targetElement, touchStartX, touchStartY); - } - } - function handleTouchMove(e) { - if (!trackClick) return; - var _isMoved = false; - var distance = app.params.fastClicksDistanceThreshold; - if (distance) { - var pageX = e.targetTouches[0].pageX; - var pageY = e.targetTouches[0].pageY; - if (Math.abs(pageX - touchStartX) > distance || Math.abs(pageY - touchStartY) > distance) { - _isMoved = true; - } - } - else { - _isMoved = true; - } - if (_isMoved) { - trackClick = false; - targetElement = null; - isMoved = true; - if (app.params.tapHold) { - clearTimeout(tapHoldTimeout); - } - if (app.params.activeState) { - clearTimeout(activeTimeout); - removeActive(); - } - if (app.params.material && app.params.materialRipple) { - rippleTouchMove(); - } - } - } - function handleTouchEnd(e) { - clearTimeout(activeTimeout); - clearTimeout(tapHoldTimeout); - - if (!trackClick) { - if (!activeSelection && needsFastClick) { - if (!(app.device.android && !e.cancelable)) { - e.preventDefault(); - } - } - return true; - } - - if (document.activeElement === e.target) { - if (app.params.activeState) removeActive(); - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - return true; - } - - if (!activeSelection) { - e.preventDefault(); - } - - if ((e.timeStamp - lastClickTime) < app.params.fastClicksDelayBetweenClicks) { - setTimeout(removeActive, 0); - return true; - } - - lastClickTime = e.timeStamp; - - trackClick = false; - - if (app.device.ios && scrollParent) { - if (scrollParent.scrollTop !== scrollParent.f7ScrollTop) { - return false; - } - } - - // Add active-state here because, in a very fast tap, the timeout didn't - // have the chance to execute. Removing active-state in a timeout gives - // the chance to the animation execute. - if (app.params.activeState) { - addActive(); - setTimeout(removeActive, 0); - } - // Remove Ripple - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - - // Trigger focus when required - if (targetNeedsFocus(targetElement)) { - if (app.device.ios && app.device.webView) { - if ((event.timeStamp - touchStartTime) > 159) { - targetElement = null; - return false; - } - targetElement.focus(); - return false; - } - else { - targetElement.focus(); - } - } - - // Blur active elements - if (document.activeElement && targetElement !== document.activeElement && document.activeElement !== document.body && targetElement.nodeName.toLowerCase() !== 'label') { - document.activeElement.blur(); - } - - // Send click - e.preventDefault(); - sendClick(e); - return false; - } - function handleTouchCancel(e) { - trackClick = false; - targetElement = null; - - // Remove Active State - clearTimeout(activeTimeout); - clearTimeout(tapHoldTimeout); - if (app.params.activeState) { - removeActive(); - } - - // Remove Ripple - if (app.params.material && app.params.materialRipple) { - rippleTouchEnd(); - } - } - - function handleClick(e) { - var allowClick = false; - - if (trackClick) { - targetElement = null; - trackClick = false; - return true; - } - if (e.target.type === 'submit' && e.detail === 0) { - return true; - } - if (!targetElement) { - if (!isFormElement(e.target)) { - allowClick = true; - } - } - if (!needsFastClick) { - allowClick = true; - } - if (document.activeElement === targetElement) { - allowClick = true; - } - if (e.forwardedTouchEvent) { - allowClick = true; - } - if (!e.cancelable) { - allowClick = true; - } - if (app.params.tapHold && app.params.tapHoldPreventClicks && tapHoldFired) { - allowClick = false; - } - if (!allowClick) { - e.stopImmediatePropagation(); - e.stopPropagation(); - if (targetElement) { - if (targetNeedsPrevent(targetElement) || isMoved) { - e.preventDefault(); - } - } - else { - e.preventDefault(); - } - targetElement = null; - } - needsFastClickTimeOut = setTimeout(function () { - needsFastClick = false; - }, (app.device.ios || app.device.androidChrome ? 100 : 400)); - - if (app.params.tapHold) { - tapHoldTimeout = setTimeout(function () { - tapHoldFired = false; - }, (app.device.ios || app.device.androidChrome ? 100 : 400)); - } - - return allowClick; - } - if (app.support.touch) { - document.addEventListener('click', handleClick, true); - - document.addEventListener('touchstart', handleTouchStart); - document.addEventListener('touchmove', handleTouchMove); - document.addEventListener('touchend', handleTouchEnd); - document.addEventListener('touchcancel', handleTouchCancel); - } - else { - if (app.params.activeState) { - document.addEventListener('mousedown', handleMouseDown); - document.addEventListener('mousemove', handleMouseMove); - document.addEventListener('mouseup', handleMouseUp); - } - } - if (app.params.material && app.params.materialRipple) { - document.addEventListener('contextmenu', function (e) { - if (activableElement) removeActive(); - rippleTouchEnd(); - }); - } - -}; diff --git a/vendor/framework7/src/js/forms-ajax.js b/vendor/framework7/src/js/forms-ajax.js deleted file mode 100644 index 1b0f24d6b..000000000 --- a/vendor/framework7/src/js/forms-ajax.js +++ /dev/null @@ -1,36 +0,0 @@ -/*=============================================================================== -************ Ajax submit for forms ************ -===============================================================================*/ -// Ajax submit on forms -$(document).on('submit change', 'form.ajax-submit, form.ajax-submit-onchange', function (e) { - var form = $(this); - if (e.type === 'change' && !form.hasClass('ajax-submit-onchange')) return; - if (e.type === 'submit') e.preventDefault(); - - var method = (form.attr('method') || 'GET').toUpperCase(); - var contentType = form.prop('enctype') || form.attr('enctype'); - - var url = form.attr('action'); - if (!url) return; - - var data; - if (method === 'POST') data = new FormData(form[0]); - else data = $.serializeObject(app.formToJSON(form[0])); - - var xhr = $.ajax({ - method: method, - url: url, - contentType: contentType, - data: data, - beforeSend: function (xhr) { - form.trigger('beforeSubmit', {data:data, xhr: xhr}); - }, - error: function (xhr) { - form.trigger('submitError', {data:data, xhr: xhr}); - }, - success: function (data) { - form.trigger('submitted', {data: data, xhr: xhr}); - } - }); -}); - diff --git a/vendor/framework7/src/js/forms-storage.js b/vendor/framework7/src/js/forms-storage.js deleted file mode 100644 index 7e4a54aea..000000000 --- a/vendor/framework7/src/js/forms-storage.js +++ /dev/null @@ -1,167 +0,0 @@ -/*=============================================================================== -************ Store and parse forms data ************ -===============================================================================*/ -app.formsData = {}; -app.formStoreData = function (formId, formJSON) { - // Store form data in app.formsData - app.formsData[formId] = formJSON; - - // Store form data in local storage also - app.ls['f7form-' + formId] = JSON.stringify(formJSON); -}; -app.formDeleteData = function (formId) { - // Delete form data from app.formsData - if (app.formsData[formId]) { - app.formsData[formId] = ''; - delete app.formsData[formId]; - } - - // Delete form data from local storage also - if (app.ls['f7form-' + formId]) { - app.ls['f7form-' + formId] = ''; - app.ls.removeItem('f7form-' + formId); - } -}; -app.formGetData = function (formId) { - // First of all check in local storage - if (app.ls['f7form-' + formId]) { - return JSON.parse(app.ls['f7form-' + formId]); - } - // Try to get it from formsData obj - else if (app.formsData[formId]) return app.formsData[formId]; -}; -app.formToData = function (form) { - form = $(form); - if (form.length !== 1) return false; - - // Form data - var formData = {}; - - // Skip input types - var skipTypes = ['submit', 'image', 'button', 'file']; - var skipNames = []; - form.find('input, select, textarea').each(function () { - var input = $(this); - var name = input.attr('name'); - var type = input.attr('type'); - var tag = this.nodeName.toLowerCase(); - if (skipTypes.indexOf(type) >= 0) return; - if (skipNames.indexOf(name) >= 0 || !name) return; - if (tag === 'select' && input.prop('multiple')) { - skipNames.push(name); - formData[name] = []; - form.find('select[name="' + name + '"] option').each(function () { - if (this.selected) formData[name].push(this.value); - }); - } - else { - switch (type) { - case 'checkbox' : - skipNames.push(name); - formData[name] = []; - form.find('input[name="' + name + '"]').each(function () { - if (this.checked) formData[name].push(this.value); - }); - break; - case 'radio' : - skipNames.push(name); - form.find('input[name="' + name + '"]').each(function () { - if (this.checked) formData[name] = this.value; - }); - break; - default : - formData[name] = input.val(); - break; - } - } - - }); - form.trigger('formToJSON formToData', {formData: formData}); - - return formData; -}; -app.formToJSON = app.formToData; -app.formFromData = function (form, formData) { - form = $(form); - if (form.length !== 1) return false; - - // Skip input types - var skipTypes = ['submit', 'image', 'button', 'file']; - var skipNames = []; - - form.find('input, select, textarea').each(function () { - var input = $(this); - var name = input.attr('name'); - var type = input.attr('type'); - var tag = this.nodeName.toLowerCase(); - if (!formData[name]) return; - if (skipTypes.indexOf(type) >= 0) return; - if (skipNames.indexOf(name) >= 0 || !name) return; - if (tag === 'select' && input.prop('multiple')) { - skipNames.push(name); - form.find('select[name="' + name + '"] option').each(function () { - if (formData[name].indexOf(this.value) >= 0) this.selected = true; - else this.selected = false; - }); - } - else { - switch (type) { - case 'checkbox' : - skipNames.push(name); - form.find('input[name="' + name + '"]').each(function () { - if (formData[name].indexOf(this.value) >= 0) this.checked = true; - else this.checked = false; - }); - break; - case 'radio' : - skipNames.push(name); - form.find('input[name="' + name + '"]').each(function () { - if (formData[name] === this.value) this.checked = true; - else this.checked = false; - }); - break; - default : - input.val(formData[name]); - break; - } - } - if (tag === 'select' && input.parents('.smart-select').length > 0) { - input.trigger('change'); - } - }); - form.trigger('formFromJSON formFromData', {formData: formData}); -}; -app.formFromJSON = app.formFromData; - -app.initFormsStorage = function (pageContainer) { - pageContainer = $(pageContainer); - var forms = pageContainer.find('form.store-data'); - if (forms.length === 0) return; - - // Parse forms data and fill form if there is such data - forms.each(function () { - var id = this.getAttribute('id'); - if (!id) return; - var formData = app.formGetData(id); - if (formData) app.formFromData(this, formData); - }); - // Update forms data on inputs change - function storeForm() { - /*jshint validthis:true */ - var form = $(this); - var formId = form[0].id; - if (!formId) return; - var formJSON = app.formToData(form); - if (!formJSON) return; - app.formStoreData(formId, formJSON); - form.trigger('store', {data: formJSON}); - } - forms.on('change submit', storeForm); - - // Detach Listeners - function pageBeforeRemove() { - forms.off('change submit', storeForm); - pageContainer.off('pageBeforeRemove', pageBeforeRemove); - } - pageContainer.on('pageBeforeRemove', pageBeforeRemove); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/forms-textarea.js b/vendor/framework7/src/js/forms-textarea.js deleted file mode 100644 index f6bef4c84..000000000 --- a/vendor/framework7/src/js/forms-textarea.js +++ /dev/null @@ -1,54 +0,0 @@ -/*=============================================================================== -************ Resizable textarea ************ -===============================================================================*/ -app.resizeTextarea = function (textarea) { - textarea = $(textarea); - if (!textarea.hasClass('resizable')) { - return; - } - textarea.css({'height': ''}); - var height = textarea[0].offsetHeight; - var diff = height - textarea[0].clientHeight; - var scrollHeight = textarea[0].scrollHeight; - - if (scrollHeight + diff > height) { - var newAreaHeight = scrollHeight + diff; - textarea.css('height', newAreaHeight + 'px'); - } -}; -app.resizableTextarea = function (textarea) { - textarea = $(textarea); - if (textarea.length === 0) return; - var textareaTimeout; - function handleTextarea() { - clearTimeout(textareaTimeout); - textareaTimeout = setTimeout(function () { - app.resizeTextarea(textarea); - }, 0); - } - textarea[0].f7DestroyResizableTextarea = function () { - textarea.off('change keydown keypress keyup paste cut', handleTextarea); - }; - return textarea.on('change keydown keypress keyup paste cut', handleTextarea); -}; -app.destroyResizableTextarea = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length > 0 && pageContainer.is('textarea') && pageContainer[0].f7DestroyResizableTextarea) { - pageContainer[0].f7DestroyResizableTextarea(); - } - else if (pageContainer.length > 0) { - pageContainer.find('textarea.resiable').each(function () { - var textarea = this; - if (textarea.f7DestroyResizableTextarea) { - textarea.f7DestroyResizableTextarea (); - } - }); - } -}; -app.initPageResizableTextarea = function (pageContainer) { - pageContainer = $(pageContainer); - var textareas = pageContainer.find('textarea.resizable'); - textareas.each(function () { - app.resizableTextarea(this); - }); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/infinite-scroll.js b/vendor/framework7/src/js/infinite-scroll.js deleted file mode 100644 index ba90a5ddc..000000000 --- a/vendor/framework7/src/js/infinite-scroll.js +++ /dev/null @@ -1,52 +0,0 @@ -/* =============================================================================== -************ Infinite Scroll ************ -=============================================================================== */ -function handleInfiniteScroll() { - /*jshint validthis:true */ - var inf = $(this); - var scrollTop = inf[0].scrollTop; - var scrollHeight = inf[0].scrollHeight; - var height = inf[0].offsetHeight; - var distance = inf[0].getAttribute('data-distance'); - var virtualListContainer = inf.find('.virtual-list'); - var virtualList; - var onTop = inf.hasClass('infinite-scroll-top'); - if (!distance) distance = 50; - if (typeof distance === 'string' && distance.indexOf('%') >= 0) { - distance = parseInt(distance, 10) / 100 * height; - } - if (distance > height) distance = height; - if (onTop) { - if (scrollTop < distance) { - inf.trigger('infinite'); - } - } - else { - if (scrollTop + height >= scrollHeight - distance) { - if (virtualListContainer.length > 0) { - virtualList = virtualListContainer[0].f7VirtualList; - if (virtualList && !virtualList.reachEnd) return; - } - inf.trigger('infinite'); - } - } - -} -app.attachInfiniteScroll = function (infiniteContent) { - $(infiniteContent).on('scroll', handleInfiniteScroll); -}; -app.detachInfiniteScroll = function (infiniteContent) { - $(infiniteContent).off('scroll', handleInfiniteScroll); -}; - -app.initPageInfiniteScroll = function (pageContainer) { - pageContainer = $(pageContainer); - var infiniteContent = pageContainer.find('.infinite-scroll'); - if (infiniteContent.length === 0) return; - app.attachInfiniteScroll(infiniteContent); - function detachEvents() { - app.detachInfiniteScroll(infiniteContent); - pageContainer.off('pageBeforeRemove', detachEvents); - } - pageContainer.on('pageBeforeRemove', detachEvents); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/init.js b/vendor/framework7/src/js/init.js deleted file mode 100644 index 946ddf2fe..000000000 --- a/vendor/framework7/src/js/init.js +++ /dev/null @@ -1,52 +0,0 @@ -/*====================================================== -************ App Init ************ -======================================================*/ -app.init = function () { - // Compile Template7 templates on app load - if (app.initTemplate7Templates) app.initTemplate7Templates(); - - // Init Plugins - if (app.initPlugins) app.initPlugins(); - - // Init Device - if (app.getDeviceInfo) app.getDeviceInfo(); - - // Init Click events - if (app.initFastClicks && app.params.fastClicks) app.initFastClicks(); - if (app.initClickEvents) app.initClickEvents(); - - // Init each page callbacks - $('.page:not(.cached)').each(function () { - app.initPageWithCallback(this); - }); - - // Init each navbar callbacks - $('.navbar:not(.cached)').each(function () { - app.initNavbarWithCallback(this); - }); - - // Init resize events - if (app.initResize) app.initResize(); - - // Init push state - if (app.initPushState && app.params.pushState) app.initPushState(); - - // Init Live Swipeouts events - if (app.initSwipeout && app.params.swipeout) app.initSwipeout(); - - // Init Live Sortable events - if (app.initSortable && app.params.sortable) app.initSortable(); - - // Init Live Swipe Panels - if (app.initSwipePanels && (app.params.swipePanel || app.params.swipePanelOnlyClose)) app.initSwipePanels(); - - // Init Material Inputs - if (app.params.material && app.initMaterialWatchInputs) app.initMaterialWatchInputs(); - - // App Init callback - if (app.params.onAppInit) app.params.onAppInit(); - - // Plugin app init hook - app.pluginHook('appInit'); -}; -if (app.params.init) app.init(); diff --git a/vendor/framework7/src/js/lazy-load.js b/vendor/framework7/src/js/lazy-load.js deleted file mode 100644 index 11f2c2b94..000000000 --- a/vendor/framework7/src/js/lazy-load.js +++ /dev/null @@ -1,146 +0,0 @@ -/*====================================================== -************ Image Lazy Loading ************ -************ Based on solution by Marc Godard, https://github.com/MarcGodard ************ -======================================================*/ -app.initImagesLazyLoad = function (pageContainer) { - pageContainer = $(pageContainer); - - // Lazy images - var lazyLoadImages; - if (pageContainer.hasClass('lazy')) { - lazyLoadImages = pageContainer; - pageContainer = lazyLoadImages.parents('.page'); - } - else { - lazyLoadImages = pageContainer.find('.lazy'); - } - if (lazyLoadImages.length === 0) return; - - // Scrollable page content - var pageContent; - if (pageContainer.hasClass('page-content')) { - pageContent = pageContainer; - pageContainer = pageContainer.parents('.page'); - } - else { - pageContent = pageContainer.find('.page-content'); - } - if (pageContent.length === 0) return; - - // Placeholder - var placeholderSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEXCwsK592mkAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg=='; - if (typeof app.params.imagesLazyLoadPlaceholder === 'string') { - placeholderSrc = app.params.imagesLazyLoadPlaceholder; - } - if (app.params.imagesLazyLoadPlaceholder !== false) lazyLoadImages.each(function(){ - if ($(this).attr('data-src')) $(this).attr('src', placeholderSrc); - }); - - // load image - var imagesSequence = []; - var imageIsLoading = false; - function loadImage(el) { - el = $(el); - - var bg = el.attr('data-background'); - var src = bg ? bg : el.attr('data-src'); - if (!src) return; - - function onLoad() { - el.removeClass('lazy').addClass('lazy-loaded'); - if (bg) { - el.css('background-image', 'url(' + src + ')'); - } - else { - el.attr('src', src); - } - - if (app.params.imagesLazyLoadSequential) { - imageIsLoading = false; - if (imagesSequence.length > 0) { - loadImage(imagesSequence.shift()); - } - } - } - - if (app.params.imagesLazyLoadSequential) { - if (imageIsLoading) { - if (imagesSequence.indexOf(el[0]) < 0) imagesSequence.push(el[0]); - return; - } - } - - // Loading flag - imageIsLoading = true; - - var image = new Image(); - image.onload = onLoad; - image.onerror = onLoad; - image.src =src; - } - function lazyHandler() { - lazyLoadImages = pageContainer.find('.lazy'); - lazyLoadImages.each(function(index, el) { - el = $(el); - if (el.parents('.tab:not(.active)').length > 0) { - return; - } - if (isElementInViewport(el[0])) { - loadImage(el); - } - }); - } - - function isElementInViewport (el) { - var rect = el.getBoundingClientRect(); - var threshold = app.params.imagesLazyLoadThreshold || 0; - return ( - rect.top >= (0 - threshold) && - rect.left >= (0 - threshold) && - rect.top <= (window.innerHeight + threshold) && - rect.left <= (window.innerWidth + threshold) - ); - } - - function attachEvents(destroy) { - var method = destroy ? 'off' : 'on'; - lazyLoadImages[method]('lazy', lazyHandler); - lazyLoadImages.parents('.tab')[method]('show', lazyHandler); - pageContainer[method]('lazy', lazyHandler); - pageContent[method]('lazy', lazyHandler); - pageContent[method]('scroll', lazyHandler); - $(window)[method]('resize', lazyHandler); - } - function detachEvents() { - attachEvents(true); - } - - // Store detach function - pageContainer[0].f7DestroyImagesLazyLoad = detachEvents; - - // Attach events - attachEvents(); - - // Destroy on page remove - if (pageContainer.hasClass('page')) { - pageContainer.once('pageBeforeRemove', detachEvents); - } - - // Run loader on page load/init - lazyHandler(); - - // Run after page animation - pageContainer.once('pageAfterAnimation', lazyHandler); -}; -app.destroyImagesLazyLoad = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length > 0 && pageContainer[0].f7DestroyImagesLazyLoad) { - pageContainer[0].f7DestroyImagesLazyLoad(); - } -}; -app.reinitImagesLazyLoad = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length > 0) { - pageContainer.trigger('lazy'); - } -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/material-inputs.js b/vendor/framework7/src/js/material-inputs.js deleted file mode 100644 index d94627be7..000000000 --- a/vendor/framework7/src/js/material-inputs.js +++ /dev/null @@ -1,66 +0,0 @@ -/*====================================================== -************ Material Text Inputs ************ -======================================================*/ -app.initPageMaterialInputs = function (pageContainer) { - pageContainer = $(pageContainer); - var textareas = pageContainer.find('textarea.resizable'); - pageContainer.find('.item-input').each(function () { - var itemInput = $(this); - var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image']; - itemInput.find('input, select, textarea').each(function () { - var input = $(this); - if (notInputs.indexOf(input.attr('type')) < 0) { - itemInput.addClass('item-input-field'); - if (input.val().trim() !== '') { - input.parents('.item-input, .input-field').add(input.parents('.item-inner')).addClass('not-empty-state'); - } - } - }); - if (itemInput.parents('.input-item, .inputs-list').length > 0) return; - itemInput.parents('.list-block').eq(0).addClass('inputs-list'); - }); -}; -/*====================================================== -************ Material Focus Inputs ************ -======================================================*/ -app.initMaterialWatchInputs = function () { - var notInputs = ['checkbox', 'button', 'submit', 'range', 'radio', 'image']; - function addFocusState(e) { - /*jshint validthis:true*/ - var i = $(this); - var type = i.attr('type'); - if (notInputs.indexOf(type) >= 0) return; - var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0)); - els.addClass('focus-state'); - } - function removeFocusState(e) { - /*jshint validthis:true*/ - var i = $(this), value = i.val(); - var type = i.attr('type'); - if (notInputs.indexOf(type) >= 0) return; - var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0)); - els.removeClass('focus-state'); - if (value && value.trim() !== '') { - els.addClass('not-empty-state'); - } - else { - els.removeClass('not-empty-state'); - } - } - function watchChangeState(e) { - /*jshint validthis:true*/ - var i = $(this), value = i.val(); - var type = i.attr('type'); - if (notInputs.indexOf(type) >= 0) return; - var els = i.add(i.parents('.item-input, .input-field')).add(i.parents('.item-inner').eq(0)); - if (value && value.trim() !== '') { - els.addClass('not-empty-state'); - } - else { - els.removeClass('not-empty-state'); - } - } - $(document).on('change', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', watchChangeState, true); - $(document).on('focus', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', addFocusState, true); - $(document).on('blur', '.item-input input, .item-input select, .item-input textarea, input, textarea, select', removeFocusState, true); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/material-preloader.js b/vendor/framework7/src/js/material-preloader.js deleted file mode 100644 index 7fa9e0983..000000000 --- a/vendor/framework7/src/js/material-preloader.js +++ /dev/null @@ -1,10 +0,0 @@ -/*====================================================== -************ Material Preloader ************ -======================================================*/ -app.initPageMaterialPreloader = function (pageContainer) { - $(pageContainer).find('.preloader').each(function () { - if ($(this).children().length === 0) { - $(this).html(app.params.materialPreloaderHtml); - } - }); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/material-tabbar.js b/vendor/framework7/src/js/material-tabbar.js deleted file mode 100644 index acac56036..000000000 --- a/vendor/framework7/src/js/material-tabbar.js +++ /dev/null @@ -1,40 +0,0 @@ -/*====================================================== -************ Material Tabbar ************ -======================================================*/ -app.materialTabbarSetHighlight = function (tabbar, activeLink) { - tabbar = $(tabbar); - activeLink = activeLink || tabbar.find('.tab-link.active'); - - var tabLinkWidth, highlightTranslate; - if (tabbar.hasClass('tabbar-scrollable')) { - tabLinkWidth = activeLink[0].offsetWidth + 'px'; - highlightTranslate = (app.rtl ? - activeLink[0].offsetLeft: activeLink[0].offsetLeft) + 'px'; - } - else { - tabLinkWidth = 1 / tabbar.find('.tab-link').length * 100 + '%'; - highlightTranslate = (app.rtl ? - activeLink.index(): activeLink.index()) * 100 + '%'; - } - - tabbar.find('.tab-link-highlight') - .css({width: tabLinkWidth}) - .transform('translate3d(' + highlightTranslate + ',0,0)'); -}; -app.initPageMaterialTabbar = function (pageContainer) { - pageContainer = $(pageContainer); - var tabbar = $(pageContainer).find('.tabbar'); - - function tabbarSetHighlight() { - app.materialTabbarSetHighlight(tabbar); - } - if (tabbar.length > 0) { - if (tabbar.find('.tab-link-highlight').length === 0) { - tabbar.find('.toolbar-inner').append(''); - } - - tabbarSetHighlight(); - $(window).on('resize', tabbarSetHighlight); - pageContainer.once('pageBeforeRemove', function () { - $(window).off('resize', tabbarSetHighlight); - }); - } -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/messagebar.js b/vendor/framework7/src/js/messagebar.js deleted file mode 100644 index be485890e..000000000 --- a/vendor/framework7/src/js/messagebar.js +++ /dev/null @@ -1,140 +0,0 @@ -/*====================================================== -************ Messagebar ************ -======================================================*/ -var Messagebar = function (container, params) { - var defaults = { - textarea: null, - maxHeight: null, - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined' || params[def] === null) { - params[def] = defaults[def]; - } - } - - // Instance - var m = this; - - // Params - m.params = params; - - // Container - m.container = $(container); - if (m.container.length === 0) return; - - // Textarea - m.textarea = m.params.textarea ? $(m.params.textarea) : m.container.find('textarea'); - - // Is In Page - m.pageContainer = m.container.parents('.page').eq(0); - m.pageContent = m.pageContainer.find('.page-content'); - - // Initial Sizes - m.pageContentPadding = parseInt(m.pageContent.css('padding-bottom')); - m.initialBarHeight = m.container[0].offsetHeight; - m.initialAreaHeight = m.textarea[0].offsetHeight; - - - // Resize textarea - m.sizeTextarea = function () { - // Reset - m.textarea.css({'height': ''}); - - var height = m.textarea[0].offsetHeight; - var diff = height - m.textarea[0].clientHeight; - var scrollHeight = m.textarea[0].scrollHeight; - - // Update - if (scrollHeight + diff > height) { - var newAreaHeight = scrollHeight + diff; - var newBarHeight = m.initialBarHeight + (newAreaHeight - m.initialAreaHeight); - var maxBarHeight = m.params.maxHeight || m.container.parents('.view')[0].offsetHeight - 88; - if (newBarHeight > maxBarHeight) { - newBarHeight = parseInt(maxBarHeight, 10); - newAreaHeight = newBarHeight - m.initialBarHeight + m.initialAreaHeight; - } - m.textarea.css('height', newAreaHeight + 'px'); - m.container.css('height', newBarHeight + 'px'); - var onBottom = (m.pageContent[0].scrollTop === m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight); - if (m.pageContent.length > 0) { - m.pageContent.css('padding-bottom', newBarHeight + 'px'); - if (m.pageContent.find('.messages-new-first').length === 0 && onBottom) { - m.pageContent.scrollTop(m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight); - } - } - } - else { - if (m.pageContent.length > 0) { - m.container.css({'height': '', 'bottom': ''}); - m.pageContent.css({'padding-bottom': ''}); - } - } - }; - - // Clear - m.clear = function () { - m.textarea.val('').trigger('change'); - }; - m.value = function (value) { - if (typeof value === 'undefined') return m.textarea.val(); - else m.textarea.val(value).trigger('change'); - }; - - // Handle textarea - m.textareaTimeout = undefined; - m.handleTextarea = function (e) { - clearTimeout(m.textareaTimeout); - m.textareaTimeout = setTimeout(function () { - m.sizeTextarea(); - }, 0); - }; - - //Events - function preventSubmit(e) { - e.preventDefault(); - } - - m.attachEvents = function (destroy) { - var method = destroy ? 'off' : 'on'; - m.container[method]('submit', preventSubmit); - m.textarea[method]('change keydown keypress keyup paste cut', m.handleTextarea); - }; - m.detachEvents = function () { - m.attachEvents(true); - }; - - // Init Destroy - m.init = function () { - m.attachEvents(); - }; - m.destroy = function () { - m.detachEvents(); - m = null; - }; - - // Init - m.init(); - - m.container[0].f7Messagebar = m; - return m; -}; -app.messagebar = function (container, params) { - return new Messagebar(container, params); -}; -app.initPageMessagebar = function (pageContainer) { - pageContainer = $(pageContainer); - var messagebar = pageContainer.hasClass('messagebar') ? pageContainer : pageContainer.find('.messagebar'); - if (messagebar.length === 0) return; - if (!messagebar.hasClass('messagebar-init')) return; - var mb = app.messagebar(messagebar, messagebar.dataset()); - - // Destroy on page remove - function pageBeforeRemove() { - mb.destroy(); - pageContainer.off('pageBeforeRemove', pageBeforeRemove); - } - if (pageContainer.hasClass('page')) { - pageContainer.on('pageBeforeRemove', pageBeforeRemove); - } -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/messages.js b/vendor/framework7/src/js/messages.js deleted file mode 100644 index e8887f755..000000000 --- a/vendor/framework7/src/js/messages.js +++ /dev/null @@ -1,233 +0,0 @@ -/*====================================================== -************ Messages ************ -======================================================*/ -var Messages = function (container, params) { - var defaults = { - autoLayout: true, - newMessagesFirst: false, - scrollMessages: true, - scrollMessagesOnlyOnEdge: false, - messageTemplate: - '{{#if day}}' + - '
                                                        {{day}} {{#if time}}, {{time}}{{/if}}
                                                        ' + - '{{/if}}' + - '
                                                        ' + - '{{#if name}}
                                                        {{name}}
                                                        {{/if}}' + - '
                                                        {{text}}{{#if date}}
                                                        {{date}}
                                                        {{/if}}
                                                        ' + - '{{#if avatar}}
                                                        {{/if}}' + - '{{#if label}}
                                                        {{label}}
                                                        {{/if}}' + - '
                                                        ' - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined' || params[def] === null) { - params[def] = defaults[def]; - } - } - - // Instance - var m = this; - - // Params - m.params = params; - - // Container - m.container = $(container); - if (m.container.length === 0) return; - - // Autolayout - if (m.params.autoLayout) m.container.addClass('messages-auto-layout'); - - // New messages first - if (m.params.newMessagesFirst) m.container.addClass('messages-new-first'); - - // Is In Page - m.pageContainer = m.container.parents('.page').eq(0); - m.pageContent = m.pageContainer.find('.page-content'); - - // Compiled template - m.template = Template7.compile(m.params.messageTemplate); - - // Auto Layout - m.layout = function () { - if (!m.container.hasClass('messages-auto-layout')) m.container.addClass('messages-auto-layout'); - m.container.find('.message').each(function () { - var message = $(this); - if (message.find('.message-text img').length > 0) { - var childNodes = message.find('.message-text')[0].childNodes; - var onlyPic = true; - for (var i = 0 ; i < childNodes.length; i++) { - if (childNodes[i].nodeType === 1 && childNodes[i].nodeName.toLowerCase() !== 'img') onlyPic = false; - if (childNodes[i].nodeType === 3 && childNodes[i].textContent.trim() !== '') onlyPic = false; - } - if (onlyPic) message.addClass('message-pic'); - else message.removeClass('message-pic'); - } - if (message.find('.message-avatar').length > 0) message.addClass('message-with-avatar'); - }); - m.container.find('.message').each(function () { - var message = $(this); - var isSent = message.hasClass('message-sent'); - var next = message.next('.message-' + (isSent ? 'sent' : 'received')); - var prev = message.prev('.message-' + (isSent ? 'sent' : 'received')); - if (next.length === 0) { - message.addClass('message-last message-with-tail'); - } - else message.removeClass('message-last message-with-tail'); - - if (prev.length === 0) { - message.addClass('message-first'); - } - else message.removeClass('message-first'); - - if (prev.length > 0 && prev.find('.message-name').length > 0 && message.find('.message-name').length > 0) { - if (prev.find('.message-name').text() !== message.find('.message-name').text()) { - prev.addClass('message-last message-with-tail'); - message.addClass('message-first'); - } - } - }); - }; - - // Add Message - m.appendMessage = function (props, animate) { - return m.addMessage(props, 'append', animate); - }; - m.prependMessage = function (props, animate) { - return m.addMessage(props, 'prepend', animate); - }; - m.addMessage = function (props, method, animate) { - return m.addMessages([props], method, animate); - }; - m.addMessages = function (newMessages, method, animate) { - if (typeof animate === 'undefined') { - animate = true; - } - if (typeof method === 'undefined') { - method = m.params.newMessagesFirst ? 'prepend' : 'append'; - } - var newMessagesHTML = '', i; - for (i = 0; i < newMessages.length; i++) { - var props = newMessages[i] || {}; - props.type = props.type || 'sent'; - if (!props.text) continue; - props.hasImage = props.text.indexOf('= 0; - if (props.onlyImage === false) props.hasImage = false; - if (animate) props.position = method === 'append' ? 'bottom' : 'top'; - - newMessagesHTML += m.template(props); - } - var scrollHeightBefore = m.pageContent[0].scrollHeight, - heightBefore = m.pageContent[0].offsetHeight, - scrollBefore = m.pageContent[0].scrollTop; - m.container[method](newMessagesHTML); - if (m.params.autoLayout) m.layout(); - if (method === 'prepend') { - m.pageContent[0].scrollTop = scrollBefore + (m.pageContent[0].scrollHeight - scrollHeightBefore); - } - if (m.params.scrollMessages && (method === 'append' && !m.params.newMessagesFirst) || (method === 'prepend' && m.params.newMessagesFirst)) { - if (m.params.scrollMessagesOnlyOnEdge) { - var onEdge = false; - if (m.params.newMessagesFirst) { - if (scrollBefore === 0) onEdge = true; - } - else { - if (scrollBefore - (scrollHeightBefore - heightBefore) >= -10) onEdge = true; - } - if (onEdge) m.scrollMessages(animate ? undefined : 0); - } - else m.scrollMessages(animate ? undefined : 0); - } - var messages = m.container.find('.message'); - if (newMessages.length === 1) { - return method === 'append' ? messages[messages.length - 1] : messages[0]; - } - else { - var messagesToReturn = []; - if (method === 'append') { - for (i = messages.length - newMessages.length; i < messages.length; i++) { - messagesToReturn.push(messages[i]); - } - } - else { - for (i = 0; i < newMessages.length; i++) { - messagesToReturn.push(messages[i]); - } - } - return messagesToReturn; - } - - }; - m.removeMessage = function (message) { - message = $(message); - if (message.length === 0) { - return false; - } - else { - message.remove(); - if (m.params.autoLayout) m.layout(); - return true; - } - }; - m.removeMessages = function (messages) { - m.removeMessage(messages); - }; - m.clean = function () { - m.container.html(''); - }; - - // Scroll - m.scrollMessages = function (duration, scrollTop) { - if (typeof duration === 'undefined') duration = 400; - var currentScroll = m.pageContent[0].scrollTop; - var newScroll; - if (typeof scrollTop !== 'undefined') newScroll = scrollTop; - else { - newScroll = m.params.newMessagesFirst ? 0 : m.pageContent[0].scrollHeight - m.pageContent[0].offsetHeight; - if (newScroll === currentScroll) return; - } - m.pageContent.scrollTop(newScroll, duration); - }; - - // Init Destroy - m.init = function () { - if (m.params.messages) { - m.addMessages(m.params.messages, undefined, false); - } - else { - if (m.params.autoLayout) m.layout(); - m.scrollMessages(0); - } - - }; - m.destroy = function () { - m = null; - }; - - // Init - m.init(); - - m.container[0].f7Messages = m; - return m; -}; -app.messages = function (container, params) { - return new Messages (container, params); -}; -app.initPageMessages = function (pageContainer) { - pageContainer = $(pageContainer); - var messages = pageContainer.find('.messages'); - if (messages.length === 0) return; - if (!messages.hasClass('messages-init')) { - return; - } - var m = app.messages(messages, messages.dataset()); - - // Destroy on page remove - function pageBeforeRemove() { - m.destroy(); - pageContainer.off('pageBeforeRemove', pageBeforeRemove); - } - if (pageContainer.hasClass('page')) { - pageContainer.on('pageBeforeRemove', pageBeforeRemove); - } -}; diff --git a/vendor/framework7/src/js/modals.js b/vendor/framework7/src/js/modals.js deleted file mode 100644 index 290555055..000000000 --- a/vendor/framework7/src/js/modals.js +++ /dev/null @@ -1,671 +0,0 @@ -/*====================================================== -************ Modals ************ -======================================================*/ -var _modalTemplateTempDiv = document.createElement('div'); -app.modalStack = []; -app.modalStackClearQueue = function () { - if (app.modalStack.length) { - (app.modalStack.shift())(); - } -}; -app.modal = function (params) { - params = params || {}; - var modalHTML = ''; - if (app.params.modalTemplate) { - if (!app._compiledTemplates.modal) app._compiledTemplates.modal = t7.compile(app.params.modalTemplate); - modalHTML = app._compiledTemplates.modal(params); - } - else { - var buttonsHTML = ''; - if (params.buttons && params.buttons.length > 0) { - for (var i = 0; i < params.buttons.length; i++) { - buttonsHTML += '' + params.buttons[i].text + ''; - } - } - var titleHTML = params.title ? '' : ''; - var textHTML = params.text ? '' : ''; - var afterTextHTML = params.afterText ? params.afterText : ''; - var noButtons = !params.buttons || params.buttons.length === 0 ? 'modal-no-buttons' : ''; - var verticalButtons = params.verticalButtons ? 'modal-buttons-vertical': ''; - var modalButtonsHTML = params.buttons && params.buttons.length > 0 ? '' : ''; - modalHTML = ''; - } - - _modalTemplateTempDiv.innerHTML = modalHTML; - - var modal = $(_modalTemplateTempDiv).children(); - - app.root.append(modal[0]); - - // Add events on buttons - modal.find('.modal-button').each(function (index, el) { - $(el).on('click', function (e) { - if (params.buttons[index].close !== false) app.closeModal(modal); - if (params.buttons[index].onClick) params.buttons[index].onClick(modal, e); - if (params.onClick) params.onClick(modal, index); - }); - }); - app.openModal(modal); - return modal[0]; -}; -app.alert = function (text, title, callbackOk) { - if (typeof title === 'function') { - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - buttons: [ {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} ] - }); -}; -app.confirm = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - buttons: [ - {text: app.params.modalButtonCancel, onClick: callbackCancel}, - {text: app.params.modalButtonOk, bold: true, onClick: callbackOk} - ] - }); -}; -app.prompt = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - afterText: '
                                                        ', - buttons: [ - { - text: app.params.modalButtonCancel - }, - { - text: app.params.modalButtonOk, - bold: true - } - ], - onClick: function (modal, index) { - if (index === 0 && callbackCancel) callbackCancel($(modal).find('.modal-text-input').val()); - if (index === 1 && callbackOk) callbackOk($(modal).find('.modal-text-input').val()); - } - }); -}; -app.modalLogin = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - afterText: '', - buttons: [ - { - text: app.params.modalButtonCancel - }, - { - text: app.params.modalButtonOk, - bold: true - } - ], - onClick: function (modal, index) { - var username = $(modal).find('.modal-text-input[name="modal-username"]').val(); - var password = $(modal).find('.modal-text-input[name="modal-password"]').val(); - if (index === 0 && callbackCancel) callbackCancel(username, password); - if (index === 1 && callbackOk) callbackOk(username, password); - } - }); -}; -app.modalPassword = function (text, title, callbackOk, callbackCancel) { - if (typeof title === 'function') { - callbackCancel = arguments[2]; - callbackOk = arguments[1]; - title = undefined; - } - return app.modal({ - text: text || '', - title: typeof title === 'undefined' ? app.params.modalTitle : title, - afterText: '
                                                        ', - buttons: [ - { - text: app.params.modalButtonCancel - }, - { - text: app.params.modalButtonOk, - bold: true - } - ], - onClick: function (modal, index) { - var password = $(modal).find('.modal-text-input[name="modal-password"]').val(); - if (index === 0 && callbackCancel) callbackCancel(password); - if (index === 1 && callbackOk) callbackOk(password); - } - }); -}; -app.showPreloader = function (title) { - return app.modal({ - title: title || app.params.modalPreloaderTitle, - text: '
                                                        ' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
                                                        ', - cssClass: 'modal-preloader' - }); -}; -app.hidePreloader = function () { - app.closeModal('.modal.modal-in'); -}; -app.showIndicator = function () { - if ($('.preloader-indicator-overlay').length > 0) return; - app.root.append('
                                                        ' + (app.params.material ? app.params.materialPreloaderHtml : '') + '
                                                        '); -}; -app.hideIndicator = function () { - $('.preloader-indicator-overlay, .preloader-indicator-modal').remove(); -}; -// Action Sheet -app.actions = function (target, params) { - var toPopover = false, modal, groupSelector, buttonSelector; - if (arguments.length === 1) { - // Actions - params = target; - } - else { - // Popover - if (app.device.ios) { - if (app.device.ipad) toPopover = true; - } - else { - if ($(window).width() >= 768) toPopover = true; - } - } - params = params || []; - - if (params.length > 0 && !$.isArray(params[0])) { - params = [params]; - } - var modalHTML; - if (toPopover) { - var actionsToPopoverTemplate = app.params.modalActionsToPopoverTemplate || - '
                                                        ' + - '
                                                        ' + - '{{#each this}}' + - '
                                                        ' + - '
                                                          ' + - '{{#each this}}' + - '{{#if label}}' + - '
                                                        • {{text}}
                                                        • ' + - '{{else}}' + - '
                                                        • {{text}}
                                                        • ' + - '{{/if}}' + - '{{/each}}' + - '
                                                        ' + - '
                                                        ' + - '{{/each}}' + - '
                                                        ' + - '
                                                        '; - if (!app._compiledTemplates.actionsToPopover) { - app._compiledTemplates.actionsToPopover = t7.compile(actionsToPopoverTemplate); - } - var popoverHTML = app._compiledTemplates.actionsToPopover(params); - modal = $(app.popover(popoverHTML, target, true)); - groupSelector = '.list-block ul'; - buttonSelector = '.list-button'; - } - else { - if (app.params.modalActionsTemplate) { - if (!app._compiledTemplates.actions) app._compiledTemplates.actions = t7.compile(app.params.modalActionsTemplate); - modalHTML = app._compiledTemplates.actions(params); - } - else { - var buttonsHTML = ''; - for (var i = 0; i < params.length; i++) { - for (var j = 0; j < params[i].length; j++) { - if (j === 0) buttonsHTML += '
                                                        '; - var button = params[i][j]; - var buttonClass = button.label ? 'actions-modal-label' : 'actions-modal-button'; - if (button.bold) buttonClass += ' actions-modal-button-bold'; - if (button.color) buttonClass += ' color-' + button.color; - if (button.bg) buttonClass += ' bg-' + button.bg; - if (button.disabled) buttonClass += ' disabled'; - buttonsHTML += '
                                                        ' + button.text + '
                                                        '; - if (j === params[i].length - 1) buttonsHTML += '
                                                        '; - } - } - modalHTML = '
                                                        ' + buttonsHTML + '
                                                        '; - } - _modalTemplateTempDiv.innerHTML = modalHTML; - modal = $(_modalTemplateTempDiv).children(); - app.root.append(modal[0]); - groupSelector = '.actions-modal-group'; - buttonSelector = '.actions-modal-button'; - } - - var groups = modal.find(groupSelector); - groups.each(function (index, el) { - var groupIndex = index; - $(el).children().each(function (index, el) { - var buttonIndex = index; - var buttonParams = params[groupIndex][buttonIndex]; - var clickTarget; - if (!toPopover && $(el).is(buttonSelector)) clickTarget = $(el); - if (toPopover && $(el).find(buttonSelector).length > 0) clickTarget = $(el).find(buttonSelector); - - if (clickTarget) { - clickTarget.on('click', function (e) { - if (buttonParams.close !== false) app.closeModal(modal); - if (buttonParams.onClick) buttonParams.onClick(modal, e); - }); - } - }); - }); - if (!toPopover) app.openModal(modal); - return modal[0]; -}; -app.popover = function (modal, target, removeOnClose) { - if (typeof removeOnClose === 'undefined') removeOnClose = true; - if (typeof modal === 'string' && modal.indexOf('<') >= 0) { - var _modal = document.createElement('div'); - _modal.innerHTML = modal.trim(); - if (_modal.childNodes.length > 0) { - modal = _modal.childNodes[0]; - if (removeOnClose) modal.classList.add('remove-on-close'); - app.root.append(modal); - } - else return false; //nothing found - } - modal = $(modal); - target = $(target); - if (modal.length === 0 || target.length === 0) return false; - if (modal.parents('body').length === 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - if (modal.find('.popover-angle').length === 0 && !app.params.material) { - modal.append('
                                                        '); - } - modal.show(); - - var material = app.params.material; - - function sizePopover() { - modal.css({left: '', top: ''}); - var modalWidth = modal.width(); - var modalHeight = modal.height(); // 13 - height of angle - var modalAngle, modalAngleSize = 0, modalAngleLeft, modalAngleTop; - if (!material) { - modalAngle = modal.find('.popover-angle'); - modalAngleSize = modalAngle.width() / 2; - modalAngle.removeClass('on-left on-right on-top on-bottom').css({left: '', top: ''}); - } - else { - modal.removeClass('popover-on-left popover-on-right popover-on-top popover-on-bottom').css({left: '', top: ''}); - } - - var targetWidth = target.outerWidth(); - var targetHeight = target.outerHeight(); - var targetOffset = target.offset(); - var targetParentPage = target.parents('.page'); - if (targetParentPage.length > 0) { - targetOffset.top = targetOffset.top - targetParentPage[0].scrollTop; - } - - var windowHeight = $(window).height(); - var windowWidth = $(window).width(); - - var modalTop = 0; - var modalLeft = 0; - var diff = 0; - // Top Position - var modalPosition = material ? 'bottom' : 'top'; - if (material) { - if (modalHeight < windowHeight - targetOffset.top - targetHeight) { - // On bottom - modalPosition = 'bottom'; - modalTop = targetOffset.top; - } - else if (modalHeight < targetOffset.top) { - // On top - modalTop = targetOffset.top - modalHeight + targetHeight; - modalPosition = 'top'; - } - else { - // On middle - modalPosition = 'bottom'; - modalTop = targetOffset.top; - } - - if (modalTop <= 0) { - modalTop = 8; - } - else if (modalTop + modalHeight >= windowHeight) { - modalTop = windowHeight - modalHeight - 8; - } - - // Horizontal Position - modalLeft = targetOffset.left; - if (modalLeft + modalWidth >= windowWidth - 8) { - modalLeft = targetOffset.left + targetWidth - modalWidth - 8; - } - if (modalLeft < 8) { - modalLeft = 8; - } - if (modalPosition === 'top') { - modal.addClass('popover-on-top'); - } - if (modalPosition === 'bottom') { - modal.addClass('popover-on-bottom'); - } - if (target.hasClass('floating-button-to-popover') && !modal.hasClass('modal-in')) { - modal.addClass('popover-floating-button'); - var diffX = (modalLeft + modalWidth / 2) - (targetOffset.left + targetWidth / 2), - diffY = (modalTop + modalHeight / 2) - (targetOffset.top + targetHeight / 2); - target - .addClass('floating-button-to-popover-in') - .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0)') - .transitionEnd(function (e) { - if (!target.hasClass('floating-button-to-popover-in')) return; - target - .addClass('floating-button-to-popover-scale') - .transform('translate3d(' + diffX + 'px, ' + diffY + 'px,0) scale(' + (modalWidth/targetWidth) + ', ' + (modalHeight/targetHeight) + ')'); - }); - - modal.once('close', function () { - target - .removeClass('floating-button-to-popover-in floating-button-to-popover-scale') - .addClass('floating-button-to-popover-out') - .transform('') - .transitionEnd(function (e) { - target.removeClass('floating-button-to-popover-out'); - }); - }); - modal.once('closed', function () { - modal.removeClass('popover-floating-button'); - }); - } - - } - else { - if ((modalHeight + modalAngleSize) < targetOffset.top) { - // On top - modalTop = targetOffset.top - modalHeight - modalAngleSize; - } - else if ((modalHeight + modalAngleSize) < windowHeight - targetOffset.top - targetHeight) { - // On bottom - modalPosition = 'bottom'; - modalTop = targetOffset.top + targetHeight + modalAngleSize; - } - else { - // On middle - modalPosition = 'middle'; - modalTop = targetHeight / 2 + targetOffset.top - modalHeight / 2; - diff = modalTop; - if (modalTop <= 0) { - modalTop = 5; - } - else if (modalTop + modalHeight >= windowHeight) { - modalTop = windowHeight - modalHeight - 5; - } - diff = diff - modalTop; - } - - // Horizontal Position - if (modalPosition === 'top' || modalPosition === 'bottom') { - modalLeft = targetWidth / 2 + targetOffset.left - modalWidth / 2; - diff = modalLeft; - if (modalLeft < 5) modalLeft = 5; - if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5; - if (modalPosition === 'top') { - modalAngle.addClass('on-bottom'); - } - if (modalPosition === 'bottom') { - modalAngle.addClass('on-top'); - } - diff = diff - modalLeft; - modalAngleLeft = (modalWidth / 2 - modalAngleSize + diff); - modalAngleLeft = Math.max(Math.min(modalAngleLeft, modalWidth - modalAngleSize * 2 - 13), 13); - modalAngle.css({left: modalAngleLeft + 'px'}); - - } - else if (modalPosition === 'middle') { - modalLeft = targetOffset.left - modalWidth - modalAngleSize; - modalAngle.addClass('on-right'); - if (modalLeft < 5 || (modalLeft + modalWidth > windowWidth)) { - if (modalLeft < 5) modalLeft = targetOffset.left + targetWidth + modalAngleSize; - if (modalLeft + modalWidth > windowWidth) modalLeft = windowWidth - modalWidth - 5; - modalAngle.removeClass('on-right').addClass('on-left'); - } - modalAngleTop = (modalHeight / 2 - modalAngleSize + diff); - modalAngleTop = Math.max(Math.min(modalAngleTop, modalHeight - modalAngleSize * 2 - 13), 13); - modalAngle.css({top: modalAngleTop + 'px'}); - } - } - - - // Apply Styles - modal.css({top: modalTop + 'px', left: modalLeft + 'px'}); - } - - sizePopover(); - - $(window).on('resize', sizePopover); - - modal.on('close', function () { - $(window).off('resize', sizePopover); - }); - - app.openModal(modal); - return modal[0]; -}; -app.popup = function (modal, removeOnClose) { - if (typeof removeOnClose === 'undefined') removeOnClose = true; - if (typeof modal === 'string' && modal.indexOf('<') >= 0) { - var _modal = document.createElement('div'); - _modal.innerHTML = modal.trim(); - if (_modal.childNodes.length > 0) { - modal = _modal.childNodes[0]; - if (removeOnClose) modal.classList.add('remove-on-close'); - app.root.append(modal); - } - else return false; //nothing found - } - modal = $(modal); - if (modal.length === 0) return false; - if (modal.parents('body').length === 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - modal.show(); - - app.openModal(modal); - return modal[0]; -}; -app.pickerModal = function (modal, removeOnClose) { - if (typeof removeOnClose === 'undefined') removeOnClose = true; - if (typeof modal === 'string' && modal.indexOf('<') >= 0) { - modal = $(modal); - if (modal.length > 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - else return false; //nothing found - } - modal = $(modal); - if (modal.length === 0) return false; - if (modal.parents('body').length === 0) { - if (removeOnClose) modal.addClass('remove-on-close'); - app.root.append(modal[0]); - } - if ($('.picker-modal.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) { - app.closeModal('.picker-modal.modal-in:not(.modal-out)'); - } - modal.show(); - app.openModal(modal); - return modal[0]; -}; -app.loginScreen = function (modal) { - if (!modal) modal = '.login-screen'; - modal = $(modal); - if (modal.length === 0) return false; - if ($('.login-screen.modal-in:not(.modal-out)').length > 0 && !modal.hasClass('modal-in')) { - app.closeModal('.login-screen.modal-in:not(.modal-out)'); - } - modal.show(); - - app.openModal(modal); - return modal[0]; -}; -app.openModal = function (modal) { - modal = $(modal); - var isModal = modal.hasClass('modal'); - if ($('.modal.modal-in:not(.modal-out)').length && app.params.modalStack && isModal) { - app.modalStack.push(function () { - app.openModal(modal); - }); - return; - } - // do nothing if this modal already shown - if (true === modal.data('f7-modal-shown')) { - return; - } - modal.data('f7-modal-shown', true); - modal.once('close', function() { - modal.removeData('f7-modal-shown'); - }); - var isPopover = modal.hasClass('popover'); - var isPopup = modal.hasClass('popup'); - var isLoginScreen = modal.hasClass('login-screen'); - var isPickerModal = modal.hasClass('picker-modal'); - if (isModal) { - modal.show(); - modal.css({ - marginTop: - Math.round(modal.outerHeight() / 2) + 'px' - }); - } - - var overlay; - if (!isLoginScreen && !isPickerModal) { - if ($('.modal-overlay').length === 0 && !isPopup) { - app.root.append(''); - } - if ($('.popup-overlay').length === 0 && isPopup) { - app.root.append(''); - } - overlay = isPopup ? $('.popup-overlay') : $('.modal-overlay'); - } - if (app.params.material && isPickerModal) { - if (modal.hasClass('picker-calendar')) { - if ($('.picker-modal-overlay').length === 0 && !isPopup) { - app.root.append('
                                                        '); - } - overlay = $('.picker-modal-overlay'); - } - } - - //Make sure that styles are applied, trigger relayout; - var clientLeft = modal[0].clientLeft; - - // Trugger open event - modal.trigger('open'); - - // Picker modal body class - if (isPickerModal) { - $('body').addClass('with-picker-modal'); - } - - // Init Pages and Navbars in modal - if (modal.find('.' + app.params.viewClass).length > 0) { - modal.find('.page').each(function () { - app.initPageWithCallback(this); - }); - modal.find('.navbar').each(function () { - app.initNavbarWithCallback(this); - }); - } - - // Classes for transition in - if (!isLoginScreen && !isPickerModal) overlay.addClass('modal-overlay-visible'); - if (app.params.material && isPickerModal && overlay) overlay.addClass('modal-overlay-visible'); - modal.removeClass('modal-out').addClass('modal-in').transitionEnd(function (e) { - if (modal.hasClass('modal-out')) modal.trigger('closed'); - else modal.trigger('opened'); - }); - return true; -}; -app.closeModal = function (modal) { - modal = $(modal || '.modal-in'); - if (typeof modal !== 'undefined' && modal.length === 0) { - return; - } - var isModal = modal.hasClass('modal'); - var isPopover = modal.hasClass('popover'); - var isPopup = modal.hasClass('popup'); - var isLoginScreen = modal.hasClass('login-screen'); - var isPickerModal = modal.hasClass('picker-modal'); - - var removeOnClose = modal.hasClass('remove-on-close'); - - var overlay; - - if (isPopup) overlay = $('.popup-overlay'); - else { - if (isPickerModal && app.params.material) overlay = $('.picker-modal-overlay'); - else if (!isPickerModal) overlay = $('.modal-overlay'); - } - - if (isPopup){ - if (modal.length === $('.popup.modal-in').length) { - overlay.removeClass('modal-overlay-visible'); - } - } - else if (overlay && overlay.length > 0) { - overlay.removeClass('modal-overlay-visible'); - } - - modal.trigger('close'); - - // Picker modal body class - if (isPickerModal) { - $('body').removeClass('with-picker-modal'); - $('body').addClass('picker-modal-closing'); - } - - if (!(isPopover && !app.params.material)) { - modal.removeClass('modal-in').addClass('modal-out').transitionEnd(function (e) { - if (modal.hasClass('modal-out')) modal.trigger('closed'); - else { - modal.trigger('opened'); - if (isPopover) return; - } - - if (isPickerModal) { - $('body').removeClass('picker-modal-closing'); - } - if (isPopup || isLoginScreen || isPickerModal || isPopover) { - modal.removeClass('modal-out').hide(); - if (removeOnClose && modal.length > 0) { - modal.remove(); - } - } - else { - modal.remove(); - } - }); - if (isModal && app.params.modalStack) { - app.modalStackClearQueue(); - } - } - else { - modal.removeClass('modal-in modal-out').trigger('closed').hide(); - if (removeOnClose) { - modal.remove(); - } - } - return true; -}; diff --git a/vendor/framework7/src/js/navbars.js b/vendor/framework7/src/js/navbars.js deleted file mode 100644 index 4c5c7945c..000000000 --- a/vendor/framework7/src/js/navbars.js +++ /dev/null @@ -1,220 +0,0 @@ -/*====================================================== -************ Navbars && Toolbars ************ -======================================================*/ -// On Navbar Init Callback -app.navbarInitCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) { - if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0]; - if (!navbarInnerContainer || navbarInnerContainer.f7NavbarInitialized && view && !view.params.domCache) return; - var navbarData = { - container: navbarContainer, - innerContainer: navbarInnerContainer - }; - var pageData = pageContainer && pageContainer.f7PageData; - - var eventData = { - page: pageData, - navbar: navbarData - }; - - if (navbarInnerContainer.f7NavbarInitialized && ((view && view.params.domCache) || (!view && $(navbarContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) { - // Reinit Navbar - app.reinitNavbar(navbarContainer, navbarInnerContainer); - - // Plugin hook - app.pluginHook('navbarReinit', eventData); - - // Event - $(navbarInnerContainer).trigger('navbarReinit', eventData); - return; - } - navbarInnerContainer.f7NavbarInitialized = true; - // Before Init - app.pluginHook('navbarBeforeInit', navbarData, pageData); - $(navbarInnerContainer).trigger('navbarBeforeInit', eventData); - - // Initialize Navbar - app.initNavbar(navbarContainer, navbarInnerContainer); - - // On init - app.pluginHook('navbarInit', navbarData, pageData); - $(navbarInnerContainer).trigger('navbarInit', eventData); -}; -// Navbar Remove Callback -app.navbarRemoveCallback = function (view, pageContainer, navbarContainer, navbarInnerContainer) { - if (!navbarContainer && navbarInnerContainer) navbarContainer = $(navbarInnerContainer).parent('.navbar')[0]; - var navbarData = { - container: navbarContainer, - innerContainer: navbarInnerContainer - }; - var pageData; - if (pageContainer) { - pageData = pageContainer.f7PageData; - } - - var eventData = { - page: pageData, - navbar: navbarData - }; - app.pluginHook('navbarBeforeRemove', navbarData, pageData); - $(navbarInnerContainer).trigger('navbarBeforeRemove', eventData); - navbarData = null; - pageData = null; -}; -app.initNavbar = function (navbarContainer, navbarInnerContainer) { - // Init Subnavbar Searchbar - if (app.initSearchbar) app.initSearchbar(navbarInnerContainer); -}; -app.reinitNavbar = function (navbarContainer, navbarInnerContainer) { - // Re init navbar methods -}; -app.initNavbarWithCallback = function (navbarContainer) { - navbarContainer = $(navbarContainer); - var viewContainer = navbarContainer.parents('.' + app.params.viewClass); - var view; - if (viewContainer.length === 0) return; - if (navbarContainer.parents('.navbar-through').length === 0 && viewContainer.find('.navbar-through').length === 0) return; - view = viewContainer[0].f7View || undefined; - - navbarContainer.find('.navbar-inner').each(function () { - var navbarInnerContainer = this; - var pageContainer; - if ($(navbarInnerContainer).attr('data-page')) { - // For dom cache - pageContainer = viewContainer.find('.page[data-page="' + $(navbarInnerContainer).attr('data-page') + '"]')[0]; - } - if (!pageContainer) { - var pages = viewContainer.find('.page'); - if (pages.length === 1) { - pageContainer = pages[0]; - } - else { - viewContainer.find('.page').each(function () { - if (this.f7PageData && this.f7PageData.navbarInnerContainer === navbarInnerContainer) { - pageContainer = this; - } - }); - } - } - app.navbarInitCallback(view, pageContainer, navbarContainer[0], navbarInnerContainer); - }); -}; - -// Size Navbars -app.sizeNavbars = function (viewContainer) { - if (app.params.material) return; - var navbarInner = viewContainer ? $(viewContainer).find('.navbar .navbar-inner:not(.cached)') : $('.navbar .navbar-inner:not(.cached)'); - navbarInner.each(function () { - var n = $(this); - if (n.hasClass('cached')) return; - var left = app.rtl ? n.find('.right') : n.find('.left'), - right = app.rtl ? n.find('.left') : n.find('.right'), - center = n.find('.center'), - subnavbar = n.find('.subnavbar'), - noLeft = left.length === 0, - noRight = right.length === 0, - leftWidth = noLeft ? 0 : left.outerWidth(true), - rightWidth = noRight ? 0 : right.outerWidth(true), - centerWidth = center.outerWidth(true), - navbarStyles = n.styles(), - navbarWidth = n[0].offsetWidth - parseInt(navbarStyles.paddingLeft, 10) - parseInt(navbarStyles.paddingRight, 10), - onLeft = n.hasClass('navbar-on-left'), - currLeft, diff; - - if (noRight) { - currLeft = navbarWidth - centerWidth; - } - if (noLeft) { - currLeft = 0; - } - if (!noLeft && !noRight) { - currLeft = (navbarWidth - rightWidth - centerWidth + leftWidth) / 2; - } - var requiredLeft = (navbarWidth - centerWidth) / 2; - if (navbarWidth - leftWidth - rightWidth > centerWidth) { - if (requiredLeft < leftWidth) { - requiredLeft = leftWidth; - } - if (requiredLeft + centerWidth > navbarWidth - rightWidth) { - requiredLeft = navbarWidth - rightWidth - centerWidth; - } - diff = requiredLeft - currLeft; - } - else { - diff = 0; - } - // RTL inverter - var inverter = app.rtl ? -1 : 1; - - if (center.hasClass('sliding')) { - center[0].f7NavbarLeftOffset = -(currLeft + diff) * inverter; - center[0].f7NavbarRightOffset = (navbarWidth - currLeft - diff - centerWidth) * inverter; - if (onLeft) { - if (app.params.animateNavBackIcon) { - var activeNavbarBackLink = n.parent().find('.navbar-on-center').find('.left.sliding .back .icon ~ span'); - if (activeNavbarBackLink.length > 0) { - center[0].f7NavbarLeftOffset += activeNavbarBackLink[0].offsetLeft; - } - } - center.transform('translate3d(' + center[0].f7NavbarLeftOffset + 'px, 0, 0)'); - } - } - if (!noLeft && left.hasClass('sliding')) { - if (app.rtl) { - left[0].f7NavbarLeftOffset = -(navbarWidth - left[0].offsetWidth) / 2 * inverter; - left[0].f7NavbarRightOffset = leftWidth * inverter; - } - else { - left[0].f7NavbarLeftOffset = -leftWidth; - left[0].f7NavbarRightOffset = (navbarWidth - left[0].offsetWidth) / 2; - if (app.params.animateNavBackIcon && left.find('.back .icon').length > 0) { - left[0].f7NavbarRightOffset -= left.find('.back .icon')[0].offsetWidth; - } - } - if (onLeft) left.transform('translate3d(' + left[0].f7NavbarLeftOffset + 'px, 0, 0)'); - } - if (!noRight && right.hasClass('sliding')) { - if (app.rtl) { - right[0].f7NavbarLeftOffset = -rightWidth * inverter; - right[0].f7NavbarRightOffset = (navbarWidth - right[0].offsetWidth) / 2 * inverter; - } - else { - right[0].f7NavbarLeftOffset = -(navbarWidth - right[0].offsetWidth) / 2; - right[0].f7NavbarRightOffset = rightWidth; - } - if (onLeft) right.transform('translate3d(' + right[0].f7NavbarLeftOffset + 'px, 0, 0)'); - } - if (subnavbar.length && subnavbar.hasClass('sliding')) { - subnavbar[0].f7NavbarLeftOffset = app.rtl ? subnavbar[0].offsetWidth : -subnavbar[0].offsetWidth; - subnavbar[0].f7NavbarRightOffset = -subnavbar[0].f7NavbarLeftOffset; - } - - // Center left - var centerLeft = diff; - if (app.rtl && noLeft && noRight && center.length > 0) centerLeft = -centerLeft; - center.css({left: centerLeft + 'px'}); - - }); -}; - -// Hide/Show Navbars/Toolbars -app.hideNavbar = function (navbarContainer) { - $(navbarContainer).addClass('navbar-hidden'); - return true; -}; -app.showNavbar = function (navbarContainer) { - var navbar = $(navbarContainer); - navbar.addClass('navbar-hiding').removeClass('navbar-hidden').transitionEnd(function () { - navbar.removeClass('navbar-hiding'); - }); - return true; -}; -app.hideToolbar = function (toolbarContainer) { - $(toolbarContainer).addClass('toolbar-hidden'); - return true; -}; -app.showToolbar = function (toolbarContainer) { - var toolbar = $(toolbarContainer); - toolbar.addClass('toolbar-hiding').removeClass('toolbar-hidden').transitionEnd(function () { - toolbar.removeClass('toolbar-hiding'); - }); -}; diff --git a/vendor/framework7/src/js/notifications.js b/vendor/framework7/src/js/notifications.js deleted file mode 100644 index 5dea010e3..000000000 --- a/vendor/framework7/src/js/notifications.js +++ /dev/null @@ -1,163 +0,0 @@ -/*====================================================== -************ Notifications ************ -======================================================*/ -var _tempNotificationElement; -app.addNotification = function (params) { - if (!params) return; - - if (typeof params.media === 'undefined') params.media = app.params.notificationMedia; - if (typeof params.title === 'undefined') params.title = app.params.notificationTitle; - if (typeof params.subtitle === 'undefined') params.subtitle = app.params.notificationSubtitle; - if (typeof params.closeIcon === 'undefined') params.closeIcon = app.params.notificationCloseIcon; - if (typeof params.hold === 'undefined') params.hold = app.params.notificationHold; - if (typeof params.closeOnClick === 'undefined') params.closeOnClick = app.params.notificationCloseOnClick; - if (typeof params.button === 'undefined') params.button = app.params.notificationCloseButtonText && { - text: app.params.notificationCloseButtonText, - close: true - }; - - if (!_tempNotificationElement) _tempNotificationElement = document.createElement('div'); - - params.material = app.params.material; - - var container = $('.notifications'); - if (container.length === 0) { - app.root.append('
                                                          '); - container = $('.notifications'); - } - var list = container.children('ul'); - - var notificationTemplate = app.params.notificationTemplate || - '{{#if custom}}' + - '
                                                        • {{custom}}
                                                        • ' + - '{{else}}' + - '
                                                        • ' + - '
                                                          ' + - '{{#if material}}' + - '
                                                          ' + - '
                                                          {{js "this.message || this.title || this.subtitle"}}
                                                          ' + - '{{#if ../button}}{{#button}}' + - '
                                                          ' + - '{{text}}' + - '
                                                          ' + - '{{/button}}{{/if}}' + - '
                                                          ' + - '{{else}}' + - '{{#if media}}' + - '
                                                          {{media}}
                                                          ' + - '{{/if}}' + - '
                                                          ' + - '
                                                          ' + - '{{#if title}}' + - '
                                                          {{title}}
                                                          ' + - '{{/if}}' + - '{{#if closeIcon}}' + - '
                                                          ' + - '{{/if}}' + - '
                                                          ' + - '{{#if subtitle}}' + - '
                                                          {{subtitle}}
                                                          ' + - '{{/if}}' + - '{{#if message}}' + - '
                                                          {{message}}
                                                          ' + - '
                                                          ' + - '{{/if}}' + - '{{/if}}' + - '
                                                          ' + - '
                                                        • ' + - '{{/if}}'; - if (!app._compiledTemplates.notification) { - app._compiledTemplates.notification = t7.compile(notificationTemplate); - } - _tempNotificationElement.innerHTML = app._compiledTemplates.notification(params); - - var item = $(_tempNotificationElement).children(); - - item.on('click', function (e) { - var close = false; - var target = $(e.target); - if (params.material && target.hasClass('button')) { - if (params.button && params.button.onClick) params.button.onClick.call(target[0], e, item[0]); - } - if (target.is('.close-notification') || $(e.target).parents('.close-notification').length > 0) { - close = true; - } - else { - if (params.onClick) params.onClick(e, item[0]); - if (params.closeOnClick) close = true; - } - if (close) app.closeNotification(item[0]); - }); - if (params.onClose) { - item.data('f7NotificationOnClose', function () { - params.onClose(item[0]); - }); - } - if (params.additionalClass) { - item.addClass(params.additionalClass); - } - if (params.hold) { - setTimeout(function () { - if (item.length > 0) app.closeNotification(item[0]); - }, params.hold); - } - - if (!app.params.material) { - app.closeNotification(list.children('li.notification-item:last-child')); - } - list.append(item[0]); - container.show(); - - var itemHeight = item.outerHeight(), clientLeft; - if (params.material) { - container.transform('translate3d(0, '+itemHeight+'px, 0)'); - container.transition(0); - - clientLeft = item[0].clientLeft; - - container.transform('translate3d(0, 0, 0)'); - container.transition(''); - } - else { - item.transform('translate3d(0,' + (-itemHeight) + 'px,0)'); - item.transition(0); - - clientLeft = item[0].clientLeft; - - item.transition(''); - item.transform('translate3d(0,0px,0)'); - } - - container.transform('translate3d(0, 0,0)'); - item.removeClass('notification-hidden'); - - return item[0]; -}; -app.closeNotification = function (item) { - item = $(item); - if (item.length === 0) return; - if (item.hasClass('notification-item-removing')) return; - var container = $('.notifications'); - - var itemHeight = item.outerHeight(); - item.css('height', itemHeight + 'px').transition(0).addClass('notification-item-removing'); - var clientLeft = item[0].clientLeft; - - item.css({ - height: '0px', - marginBottom: '0px' - }).transition(''); - - if (item.data('f7NotificationOnClose')) item.data('f7NotificationOnClose')(); - - if (container.find('.notification-item:not(.notification-item-removing)').length === 0) { - container.transform(''); - } - - item.addClass('notification-hidden').transitionEnd(function () { - item.remove(); - if (container.find('.notification-item').length === 0) { - container.hide(); - } - }); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/pages.js b/vendor/framework7/src/js/pages.js deleted file mode 100644 index bc7d2d6ab..000000000 --- a/vendor/framework7/src/js/pages.js +++ /dev/null @@ -1,348 +0,0 @@ -/*====================================================== -************ Pages ************ -======================================================*/ -// Page Callbacks API -app.pageCallbacks = {}; - -app.onPage = function (callbackName, pageName, callback) { - if (pageName && pageName.split(' ').length > 1) { - var pageNames = pageName.split(' '); - var returnCallbacks = []; - for (var i = 0; i < pageNames.length; i++) { - returnCallbacks.push(app.onPage(callbackName, pageNames[i], callback)); - } - returnCallbacks.remove = function () { - for (var i = 0; i < returnCallbacks.length; i++) { - returnCallbacks[i].remove(); - } - }; - returnCallbacks.trigger = function () { - for (var i = 0; i < returnCallbacks.length; i++) { - returnCallbacks[i].trigger(); - } - }; - return returnCallbacks; - } - var callbacks = app.pageCallbacks[callbackName][pageName]; - if (!callbacks) { - callbacks = app.pageCallbacks[callbackName][pageName] = []; - } - app.pageCallbacks[callbackName][pageName].push(callback); - return { - remove: function () { - var removeIndex; - for (var i = 0; i < callbacks.length; i++) { - if (callbacks[i].toString() === callback.toString()) { - removeIndex = i; - } - } - if (typeof removeIndex !== 'undefined') callbacks.splice(removeIndex, 1); - }, - trigger: callback - }; -}; - -//Create callbacks methods dynamically -function createPageCallback(callbackName) { - var capitalized = callbackName.replace(/^./, function (match) { - return match.toUpperCase(); - }); - app['onPage' + capitalized] = function (pageName, callback) { - return app.onPage(callbackName, pageName, callback); - }; -} - -var pageCallbacksNames = ('beforeInit init reinit beforeAnimation afterAnimation back afterBack beforeRemove').split(' '); -for (var i = 0; i < pageCallbacksNames.length; i++) { - app.pageCallbacks[pageCallbacksNames[i]] = {}; - createPageCallback(pageCallbacksNames[i]); -} - -app.triggerPageCallbacks = function (callbackName, pageName, pageData) { - var allPagesCallbacks = app.pageCallbacks[callbackName]['*']; - if (allPagesCallbacks) { - for (var j = 0; j < allPagesCallbacks.length; j++) { - allPagesCallbacks[j](pageData); - } - } - var callbacks = app.pageCallbacks[callbackName][pageName]; - if (!callbacks || callbacks.length === 0) return; - for (var i = 0; i < callbacks.length; i++) { - callbacks[i](pageData); - } -}; - -// On Page Init Callback -app.pageInitCallback = function (view, params) { - var pageContainer = params.pageContainer; - if (!pageContainer) return; - if (pageContainer.f7PageInitialized && view && !view.params.domCache) return; - - var pageQuery = params.query; - if (!pageQuery) { - if (params.url && params.url.indexOf('?') > 0) { - pageQuery = $.parseUrlQuery(params.url || ''); - } - else if (pageContainer.f7PageData && pageContainer.f7PageData.query) { - pageQuery = pageContainer.f7PageData.query; - } - else { - pageQuery = {}; - } - } - - // Page Data - var pageData = { - container: pageContainer, - url: params.url, - query: pageQuery, - name: $(pageContainer).attr('data-page'), - view: view, - from: params.position, - context: params.context, - navbarInnerContainer: params.navbarInnerContainer, - fromPage: params.fromPage - }; - if (params.fromPage && !params.fromPage.navbarInnerContainer && params.oldNavbarInnerContainer) { - params.fromPage.navbarInnerContainer = params.oldNavbarInnerContainer; - } - - if (pageContainer.f7PageInitialized && ((view && view.params.domCache) || (!view && $(pageContainer).parents('.popup, .popover, .login-screen, .modal, .actions-modal, .picker-modal').length > 0))) { - // Reinit Page - app.reinitPage(pageContainer); - - // Callbacks - app.pluginHook('pageReinit', pageData); - if (app.params.onPageReinit) app.params.onPageReinit(app, pageData); - app.triggerPageCallbacks('reinit', pageData.name, pageData); - $(pageData.container).trigger('pageReinit', {page: pageData}); - return; - } - pageContainer.f7PageInitialized = true; - - // Store pagedata in page - pageContainer.f7PageData = pageData; - - // Update View's activePage - if (view && !params.preloadOnly && !params.reloadPrevious) { - // Add data-page on view - $(view.container).attr('data-page', pageData.name); - // Update View active page data - view.activePage = pageData; - } - - // Before Init Callbacks - app.pluginHook('pageBeforeInit', pageData); - if (app.params.onPageBeforeInit) app.params.onPageBeforeInit(app, pageData); - app.triggerPageCallbacks('beforeInit', pageData.name, pageData); - $(pageData.container).trigger('pageBeforeInit', {page: pageData}); - - // Init page - app.initPage(pageContainer); - - // Init Callback - app.pluginHook('pageInit', pageData); - if (app.params.onPageInit) app.params.onPageInit(app, pageData); - app.triggerPageCallbacks('init', pageData.name, pageData); - $(pageData.container).trigger('pageInit', {page: pageData}); -}; -app.pageRemoveCallback = function (view, pageContainer, position) { - var pageContext; - if (!pageContainer) return; - if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context; - // Page Data - var pageData = { - container: pageContainer, - name: $(pageContainer).attr('data-page'), - view: view, - url: pageContainer.f7PageData && pageContainer.f7PageData.url, - query: pageContainer.f7PageData && pageContainer.f7PageData.query, - navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer, - from: position, - context: pageContext - }; - // Before Init Callback - app.pluginHook('pageBeforeRemove', pageData); - if (app.params.onPageBeforeRemove) app.params.onPageBeforeRemove(app, pageData); - app.triggerPageCallbacks('beforeRemove', pageData.name, pageData); - $(pageData.container).trigger('pageBeforeRemove', {page: pageData}); - pageData = null; -}; -app.pageBackCallback = function (callback, view, params) { - // Page Data - var pageContainer = params.pageContainer; - var pageContext; - if (!pageContainer) return; - if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context; - - var pageData = { - container: pageContainer, - name: $(pageContainer).attr('data-page'), - url: pageContainer.f7PageData && pageContainer.f7PageData.url, - query: pageContainer.f7PageData && pageContainer.f7PageData.query, - view: view, - from: params.position, - context: pageContext, - navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer, - swipeBack: params.swipeBack - }; - - if (callback === 'after') { - app.pluginHook('pageAfterBack', pageData); - if (app.params.onPageAfterBack) app.params.onPageAfterBack(app, pageData); - app.triggerPageCallbacks('afterBack', pageData.name, pageData); - $(pageContainer).trigger('pageAfterBack', {page: pageData}); - - } - if (callback === 'before') { - app.pluginHook('pageBack', pageData); - if (app.params.onPageBack) app.params.onPageBack(app, pageData); - app.triggerPageCallbacks('back', pageData.name, pageData); - $(pageData.container).trigger('pageBack', {page: pageData}); - } -}; -app.pageAnimCallback = function (callback, view, params) { - var pageContainer = params.pageContainer; - var pageContext; - if (!pageContainer) return; - if (pageContainer.f7PageData) pageContext = pageContainer.f7PageData.context; - - var pageQuery = params.query; - if (!pageQuery) { - if (params.url && params.url.indexOf('?') > 0) { - pageQuery = $.parseUrlQuery(params.url || ''); - } - else if (pageContainer.f7PageData && pageContainer.f7PageData.query) { - pageQuery = pageContainer.f7PageData.query; - } - else { - pageQuery = {}; - } - } - // Page Data - var pageData = { - container: pageContainer, - url: params.url, - query: pageQuery, - name: $(pageContainer).attr('data-page'), - view: view, - from: params.position, - context: pageContext, - swipeBack: params.swipeBack, - navbarInnerContainer: pageContainer.f7PageData && pageContainer.f7PageData.navbarInnerContainer, - fromPage: params.fromPage - }; - var oldPage = params.oldPage, - newPage = params.newPage; - - // Update page date - pageContainer.f7PageData = pageData; - - if (callback === 'after') { - app.pluginHook('pageAfterAnimation', pageData); - if (app.params.onPageAfterAnimation) app.params.onPageAfterAnimation(app, pageData); - app.triggerPageCallbacks('afterAnimation', pageData.name, pageData); - $(pageData.container).trigger('pageAfterAnimation', {page: pageData}); - - } - if (callback === 'before') { - // Add data-page on view - $(view.container).attr('data-page', pageData.name); - - // Update View's activePage - if (view) view.activePage = pageData; - - // Hide/show navbar dynamically - if (newPage.hasClass('no-navbar') && !oldPage.hasClass('no-navbar')) { - view.hideNavbar(); - } - if (!newPage.hasClass('no-navbar') && (oldPage.hasClass('no-navbar') || oldPage.hasClass('no-navbar-by-scroll'))) { - view.showNavbar(); - } - // Hide/show navbar toolbar - if (newPage.hasClass('no-toolbar') && !oldPage.hasClass('no-toolbar')) { - view.hideToolbar(); - } - if (!newPage.hasClass('no-toolbar') && (oldPage.hasClass('no-toolbar') || oldPage.hasClass('no-toolbar-by-scroll'))) { - view.showToolbar(); - } - // Hide/show tabbar - var tabBar; - if (newPage.hasClass('no-tabbar') && !oldPage.hasClass('no-tabbar')) { - tabBar = $(view.container).find('.tabbar'); - if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar'); - app.hideToolbar(tabBar); - } - if (!newPage.hasClass('no-tabbar') && (oldPage.hasClass('no-tabbar') || oldPage.hasClass('no-tabbar-by-scroll'))) { - tabBar = $(view.container).find('.tabbar'); - if (tabBar.length === 0) tabBar = $(view.container).parents('.' + app.params.viewsClass).find('.tabbar'); - app.showToolbar(tabBar); - } - - oldPage.removeClass('no-navbar-by-scroll no-toolbar-by-scroll'); - // Callbacks - app.pluginHook('pageBeforeAnimation', pageData); - if (app.params.onPageBeforeAnimation) app.params.onPageBeforeAnimation(app, pageData); - app.triggerPageCallbacks('beforeAnimation', pageData.name, pageData); - $(pageData.container).trigger('pageBeforeAnimation', {page: pageData}); - } -}; - -// Init Page Events and Manipulations -app.initPage = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length === 0) return; - // Size navbars on page load - if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]); - // Init messages - if (app.initPageMessages) app.initPageMessages(pageContainer); - // Init forms storage - if (app.initFormsStorage) app.initFormsStorage(pageContainer); - // Init smart select - if (app.initSmartSelects) app.initSmartSelects(pageContainer); - // Init slider - if (app.initPageSwiper) app.initPageSwiper(pageContainer); - // Init pull to refres - if (app.initPullToRefresh) app.initPullToRefresh(pageContainer); - // Init infinite scroll - if (app.initPageInfiniteScroll) app.initPageInfiniteScroll(pageContainer); - // Init searchbar - if (app.initSearchbar) app.initSearchbar(pageContainer); - // Init message bar - if (app.initPageMessagebar) app.initPageMessagebar(pageContainer); - // Init scroll toolbars - if (app.initPageScrollToolbars) app.initPageScrollToolbars(pageContainer); - // Init lazy images - if (app.initImagesLazyLoad) app.initImagesLazyLoad(pageContainer); - // Init progress bars - if (app.initPageProgressbar) app.initPageProgressbar(pageContainer); - // Init resizeable textareas - if (app.initPageResizableTextarea) app.initPageResizableTextarea(pageContainer); - // Init Material Preloader - if (app.params.material && app.initPageMaterialPreloader) app.initPageMaterialPreloader(pageContainer); - // Init Material Inputs - if (app.params.material && app.initPageMaterialInputs) app.initPageMaterialInputs(pageContainer); - // Init Material Tabbar - if (app.params.material && app.initPageMaterialTabbar) app.initPageMaterialTabbar(pageContainer); -}; -app.reinitPage = function (pageContainer) { - pageContainer = $(pageContainer); - if (pageContainer.length === 0) return; - // Size navbars on page reinit - if (app.sizeNavbars) app.sizeNavbars(pageContainer.parents('.' + app.params.viewClass)[0]); - // Reinit slider - if (app.reinitPageSwiper) app.reinitPageSwiper(pageContainer); - // Reinit lazy load - if (app.reinitLazyLoad) app.reinitLazyLoad(pageContainer); -}; -app.initPageWithCallback = function (pageContainer) { - pageContainer = $(pageContainer); - var viewContainer = pageContainer.parents('.' + app.params.viewClass); - if (viewContainer.length === 0) return; - var view = viewContainer[0].f7View || undefined; - var url = view && view.url ? view.url : undefined; - if (viewContainer && pageContainer.attr('data-page')) { - viewContainer.attr('data-page', pageContainer.attr('data-page')); - } - app.pageInitCallback(view, {pageContainer: pageContainer[0], url: url, position: 'center'}); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/panels.js b/vendor/framework7/src/js/panels.js deleted file mode 100644 index e06a0369c..000000000 --- a/vendor/framework7/src/js/panels.js +++ /dev/null @@ -1,328 +0,0 @@ -/*====================================================== -************ Panels ************ -======================================================*/ -app.allowPanelOpen = true; -app.openPanel = function (panelPosition) { - if (!app.allowPanelOpen) return false; - var panel = $('.panel-' + panelPosition); - if (panel.length === 0 || panel.hasClass('active')) return false; - app.closePanel(); // Close if some panel is opened - app.allowPanelOpen = false; - var effect = panel.hasClass('panel-reveal') ? 'reveal' : 'cover'; - panel.css({display: 'block'}).addClass('active'); - panel.trigger('open'); - if (app.params.material) { - $('.panel-overlay').show(); - } - if (panel.find('.' + app.params.viewClass).length > 0) { - if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]); - } - - // Trigger reLayout - var clientLeft = panel[0].clientLeft; - - // Transition End; - var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : panel; - var openedTriggered = false; - - function panelTransitionEnd() { - transitionEndTarget.transitionEnd(function (e) { - if ($(e.target).is(transitionEndTarget)) { - if (panel.hasClass('active')) { - panel.trigger('opened'); - } - else { - panel.trigger('closed'); - } - if (app.params.material) $('.panel-overlay').css({display: ''}); - app.allowPanelOpen = true; - } - else panelTransitionEnd(); - }); - } - panelTransitionEnd(); - - $('body').addClass('with-panel-' + panelPosition + '-' + effect); - return true; -}; -app.closePanel = function () { - var activePanel = $('.panel.active'); - if (activePanel.length === 0) return false; - var effect = activePanel.hasClass('panel-reveal') ? 'reveal' : 'cover'; - var panelPosition = activePanel.hasClass('panel-left') ? 'left' : 'right'; - activePanel.removeClass('active'); - var transitionEndTarget = effect === 'reveal' ? $('.' + app.params.viewsClass) : activePanel; - activePanel.trigger('close'); - app.allowPanelOpen = false; - - transitionEndTarget.transitionEnd(function () { - if (activePanel.hasClass('active')) return; - activePanel.css({display: ''}); - activePanel.trigger('closed'); - $('body').removeClass('panel-closing'); - app.allowPanelOpen = true; - }); - - $('body').addClass('panel-closing').removeClass('with-panel-' + panelPosition + '-' + effect); -}; -/*====================================================== -************ Swipe panels ************ -======================================================*/ -app.initSwipePanels = function () { - var panel, side; - if (app.params.swipePanel) { - panel = $('.panel.panel-' + app.params.swipePanel); - side = app.params.swipePanel; - if (panel.length === 0 && side !== 'both') return; - } - else { - if (app.params.swipePanelOnlyClose) { - if ($('.panel').length === 0) return; - } - else return; - } - - var panelOverlay = $('.panel-overlay'); - var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, translate, overlayOpacity, opened, panelWidth, effect, direction; - var views = $('.' + app.params.viewsClass); - - function handleTouchStart(e) { - if (!app.allowPanelOpen || (!app.params.swipePanel && !app.params.swipePanelOnlyClose) || isTouched) return; - if ($('.modal-in, .photo-browser-in').length > 0) return; - if (!(app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose)) { - if ($('.panel.active').length > 0 && !panel.hasClass('active')) return; - } - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - if (app.params.swipePanelCloseOpposite || app.params.swipePanelOnlyClose) { - if ($('.panel.active').length > 0) { - side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right'; - } - else { - if (app.params.swipePanelOnlyClose) return; - side = app.params.swipePanel; - } - if (!side) return; - } - panel = $('.panel.panel-' + side); - opened = panel.hasClass('active'); - if (app.params.swipePanelActiveArea && !opened) { - if (side === 'left') { - if (touchesStart.x > app.params.swipePanelActiveArea) return; - } - if (side === 'right') { - if (touchesStart.x < window.innerWidth - app.params.swipePanelActiveArea) return; - } - } - isMoved = false; - isTouched = true; - isScrolling = undefined; - - touchStartTime = (new Date()).getTime(); - direction = undefined; - } - function handleTouchMove(e) { - if (!isTouched) return; - if (e.f7PreventPanelSwipe) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (isScrolling) { - isTouched = false; - return; - } - if (!direction) { - if (pageX > touchesStart.x) { - direction = 'to-right'; - } - else { - direction = 'to-left'; - } - - if(side === 'both'){ - if ($('.panel.active').length > 0) { - side = $('.panel.active').hasClass('panel-left') ? 'left' : 'right'; - } - else { - side = direction === 'to-right' ? 'left' : 'right'; - } - panel = $('.panel.panel-' + side); - } - - if ( - side === 'left' && - ( - direction === 'to-left' && !panel.hasClass('active') - ) || - side === 'right' && - ( - direction === 'to-right' && !panel.hasClass('active') - ) - ) - { - isTouched = false; - return; - } - } - - if (app.params.swipePanelNoFollow) { - var timeDiff = (new Date()).getTime() - touchStartTime; - if (timeDiff < 300) { - if (direction === 'to-left') { - if (side === 'right') app.openPanel(side); - if (side === 'left' && panel.hasClass('active')) app.closePanel(); - } - if (direction === 'to-right') { - if (side === 'left') app.openPanel(side); - if (side === 'right' && panel.hasClass('active')) app.closePanel(); - } - } - isTouched = false; - isMoved = false; - return; - } - - if (!isMoved) { - effect = panel.hasClass('panel-cover') ? 'cover' : 'reveal'; - if (!opened) { - panel.show(); - panelOverlay.show(); - } - panelWidth = panel[0].offsetWidth; - panel.transition(0); - if (panel.find('.' + app.params.viewClass).length > 0) { - if (app.sizeNavbars) app.sizeNavbars(panel.find('.' + app.params.viewClass)[0]); - } - } - - isMoved = true; - - e.preventDefault(); - var threshold = opened ? 0 : -app.params.swipePanelThreshold; - if (side === 'right') threshold = -threshold; - - touchesDiff = pageX - touchesStart.x + threshold; - - if (side === 'right') { - translate = touchesDiff - (opened ? panelWidth : 0); - if (translate > 0) translate = 0; - if (translate < -panelWidth) { - translate = -panelWidth; - } - } - else { - translate = touchesDiff + (opened ? panelWidth : 0); - if (translate < 0) translate = 0; - if (translate > panelWidth) { - translate = panelWidth; - } - } - if (effect === 'reveal') { - views.transform('translate3d(' + translate + 'px,0,0)').transition(0); - panelOverlay.transform('translate3d(' + translate + 'px,0,0)').transition(0); - - app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth)); - } - else { - panel.transform('translate3d(' + translate + 'px,0,0)').transition(0); - if (app.params.material) { - panelOverlay.transition(0); - overlayOpacity = Math.abs(translate/panelWidth); - panelOverlay.css({opacity: overlayOpacity}); - } - app.pluginHook('swipePanelSetTransform', views[0], panel[0], Math.abs(translate / panelWidth)); - } - } - function handleTouchEnd(e) { - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - isTouched = false; - isMoved = false; - var timeDiff = (new Date()).getTime() - touchStartTime; - var action; - var edge = (translate === 0 || Math.abs(translate) === panelWidth); - - if (!opened) { - if (translate === 0) { - action = 'reset'; - } - else if ( - timeDiff < 300 && Math.abs(translate) > 0 || - timeDiff >= 300 && (Math.abs(translate) >= panelWidth / 2) - ) { - action = 'swap'; - } - else { - action = 'reset'; - } - } - else { - if (translate === -panelWidth) { - action = 'reset'; - } - else if ( - timeDiff < 300 && Math.abs(translate) >= 0 || - timeDiff >= 300 && (Math.abs(translate) <= panelWidth / 2) - ) { - if (side === 'left' && translate === panelWidth) action = 'reset'; - else action = 'swap'; - } - else { - action = 'reset'; - } - } - if (action === 'swap') { - app.allowPanelOpen = true; - if (opened) { - app.closePanel(); - if (edge) { - panel.css({display: ''}); - $('body').removeClass('panel-closing'); - } - } - else { - app.openPanel(side); - } - if (edge) app.allowPanelOpen = true; - } - if (action === 'reset') { - if (opened) { - app.allowPanelOpen = true; - app.openPanel(side); - } - else { - app.closePanel(); - if (edge) { - app.allowPanelOpen = true; - panel.css({display: ''}); - } - else { - var target = effect === 'reveal' ? views : panel; - panel.trigger('close'); - $('body').addClass('panel-closing'); - target.transitionEnd(function () { - panel.trigger('closed'); - panel.css({display: ''}); - $('body').removeClass('panel-closing'); - app.allowPanelOpen = true; - }); - } - } - } - if (effect === 'reveal') { - views.transition(''); - views.transform(''); - } - panel.transition('').transform(''); - panelOverlay.css({display: ''}).transform('').transition('').css('opacity', ''); - } - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - $(document).on(app.touchEvents.start, handleTouchStart, passiveListener); - $(document).on(app.touchEvents.move, handleTouchMove); - $(document).on(app.touchEvents.end, handleTouchEnd, passiveListener); -}; diff --git a/vendor/framework7/src/js/photo-browser.js b/vendor/framework7/src/js/photo-browser.js deleted file mode 100644 index 613c106cb..000000000 --- a/vendor/framework7/src/js/photo-browser.js +++ /dev/null @@ -1,428 +0,0 @@ -/*====================================================== -************ Photo Browser ************ -======================================================*/ -var PhotoBrowser = function (params) { - var pb = this, i; - - var defaults = { - photos : [], - initialSlide: 0, - spaceBetween: 20, - speed: 300, - zoom: true, - zoomMax: 3, - zoomMin: 1, - exposition: true, - expositionHideCaptions: false, - type: 'standalone', - navbar: true, - toolbar: true, - theme: 'light', - swipeToClose: true, - backLinkText: 'Close', - ofText: 'of', - loop: false, - lazyLoading: false, - lazyLoadingInPrevNext: false, - lazyLoadingOnTransitionStart: false, - material: app.params.material, - materialPreloaderSvg: app.params.materialPreloaderSvg, - materialPreloaderHtml: app.params.materialPreloaderHtml, - /* - Callbacks: - onLazyImageLoad(pb, slide, img) - onLazyImageReady(pb, slide, img) - onOpen(pb) - onClose(pb) - onTransitionStart(swiper) - onTransitionEnd(swiper) - onSlideChangeStart(swiper) - onSlideChangeEnd(swiper) - onTap(swiper, e) - onClick(swiper, e) - onDoubleTap(swiper, e) - onSwipeToClose(pb) - */ - }; - - params = params || {}; - if (!params.backLinkText && app.params.material) defaults.backLinkText = ''; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - if (params.maxZoom) { - params.zoomMax = params.maxZoom; - } - if (params.minZoom) { - params.zoomMin = params.minZoom; - } - - pb.params = params; - pb.params.iconsColorClass = pb.params.iconsColor ? 'color-' + pb.params.iconsColor : (pb.params.theme === 'dark' ? 'color-white' : ''); - pb.params.preloaderColorClass = pb.params.theme === 'dark' ? 'preloader-white' : ''; - - // Templates - var photoTemplate = pb.params.photoTemplate || - '
                                                          ' + - '' + - '' + - '' + - '
                                                          '; - var photoLazyTemplate = pb.params.lazyPhotoTemplate || - '
                                                          ' + - '
                                                          {{#if @root.material}}{{@root.materialPreloaderHtml}}{{/if}}
                                                          ' + - '' + - '' + - '' + - '
                                                          '; - var objectTemplate = pb.params.objectTemplate || - '
                                                          {{js "this.html || this"}}
                                                          '; - var captionTemplate = pb.params.captionTemplate || - '
                                                          ' + - '{{caption}}' + - '
                                                          '; - var navbarTemplate = pb.params.navbarTemplate || - ''; - var toolbarTemplate = pb.params.toolbarTemplate || - '
                                                          ' + - '
                                                          ' + - '' + - '' + - '' + - '' + - '' + - '' + - '
                                                          ' + - '
                                                          '; - - var htmlTemplate = t7.compile('
                                                          ' + - '' + - '
                                                          ')(pb.params); - - pb.activeIndex = pb.params.initialSlide; - pb.openIndex = pb.activeIndex; - pb.opened = false; - - pb.open = function (index) { - if (typeof index === 'undefined') index = pb.activeIndex; - index = parseInt(index, 10); - if (pb.opened && pb.swiper) { - pb.swiper.slideTo(index); - return; - } - pb.opened = true; - pb.openIndex = index; - if (pb.params.type === 'standalone') { - app.root.append(htmlTemplate); - } - if (pb.params.type === 'popup') { - pb.popup = app.popup(''); - $(pb.popup).on('closed', pb.onPopupClose); - } - if (pb.params.type === 'page') { - $(document).on('pageBeforeInit', pb.onPageBeforeInit); - $(document).on('pageBeforeRemove', pb.onPageBeforeRemove); - if (!pb.params.view) pb.params.view = app.mainView; - pb.params.view.loadContent(htmlTemplate); - return; - } - pb.layout(pb.openIndex); - if (pb.params.onOpen) { - pb.params.onOpen(pb); - } - - }; - pb.close = function () { - pb.opened = false; - if (!pb.swiperContainer || pb.swiperContainer.length === 0) { - return; - } - if (pb.params.onClose) { - pb.params.onClose(pb); - } - // Detach events - pb.attachEvents(true); - // Delete from DOM - if (pb.params.type === 'standalone') { - pb.container.removeClass('photo-browser-in').addClass('photo-browser-out').animationEnd(function () { - pb.container.remove(); - }); - } - // Destroy slider - pb.swiper.destroy(); - // Delete references - pb.swiper = pb.swiperContainer = pb.swiperWrapper = pb.slides = undefined; //gestureSlide = gestureImg = gestureImgWrap = undefined; - }; - - pb.onPopupClose = function (e) { - pb.close(); - $(pb.popup).off('pageBeforeInit', pb.onPopupClose); - }; - pb.onPageBeforeInit = function (e) { - if (e.detail.page.name === 'photo-browser-slides') { - pb.layout(pb.openIndex); - } - $(document).off('pageBeforeInit', pb.onPageBeforeInit); - }; - pb.onPageBeforeRemove = function (e) { - if (e.detail.page.name === 'photo-browser-slides') { - pb.close(); - } - $(document).off('pageBeforeRemove', pb.onPageBeforeRemove); - }; - - pb.onSliderTransitionStart = function (swiper) { - pb.activeIndex = swiper.activeIndex; - - var current = swiper.activeIndex + 1; - var total = swiper.slides.length; - if (pb.params.loop) { - total = total - 2; - current = current - swiper.loopedSlides; - if (current < 1) current = total + current; - if (current > total) current = current - total; - } - pb.container.find('.photo-browser-current').text(current); - pb.container.find('.photo-browser-total').text(total); - - $('.photo-browser-prev, .photo-browser-next').removeClass('photo-browser-link-inactive'); - - if (swiper.isBeginning && !pb.params.loop) { - $('.photo-browser-prev').addClass('photo-browser-link-inactive'); - } - if (swiper.isEnd && !pb.params.loop) { - $('.photo-browser-next').addClass('photo-browser-link-inactive'); - } - - // Update captions - if (pb.captions.length > 0) { - pb.captionsContainer.find('.photo-browser-caption-active').removeClass('photo-browser-caption-active'); - var captionIndex = pb.params.loop ? swiper.slides.eq(swiper.activeIndex).attr('data-swiper-slide-index') : pb.activeIndex; - pb.captionsContainer.find('[data-caption-index="' + captionIndex + '"]').addClass('photo-browser-caption-active'); - } - - - // Stop Video - var previousSlideVideo = swiper.slides.eq(swiper.previousIndex).find('video'); - if (previousSlideVideo.length > 0) { - if ('pause' in previousSlideVideo[0]) previousSlideVideo[0].pause(); - } - // Callback - if (pb.params.onTransitionStart) pb.params.onTransitionStart(swiper); - }; - pb.onSliderTransitionEnd = function (swiper) { - if (pb.params.onTransitionEnd) pb.params.onTransitionEnd(swiper); - }; - - pb.layout = function (index) { - if (pb.params.type === 'page') { - pb.container = $('.photo-browser-swiper-container').parents('.view'); - } - else { - pb.container = $('.photo-browser'); - } - if (pb.params.type === 'standalone') { - pb.container.addClass('photo-browser-in'); - app.sizeNavbars(pb.container); - } - pb.swiperContainer = pb.container.find('.photo-browser-swiper-container'); - pb.swiperWrapper = pb.container.find('.photo-browser-swiper-wrapper'); - pb.slides = pb.container.find('.photo-browser-slide'); - pb.captionsContainer = pb.container.find('.photo-browser-captions'); - pb.captions = pb.container.find('.photo-browser-caption'); - - var sliderSettings = { - nextButton: pb.params.nextButton || '.photo-browser-next', - prevButton: pb.params.prevButton || '.photo-browser-prev', - indexButton: pb.params.indexButton, - initialSlide: index, - spaceBetween: pb.params.spaceBetween, - speed: pb.params.speed, - loop: pb.params.loop, - lazyLoading: pb.params.lazyLoading, - lazyLoadingInPrevNext: pb.params.lazyLoadingInPrevNext, - lazyLoadingOnTransitionStart: pb.params.lazyLoadingOnTransitionStart, - preloadImages: pb.params.lazyLoading ? false : true, - zoom: pb.params.zoom, - zoomMax: pb.params.zoomMax, - zoomMin: pb.params.zoomMin, - onTap: function (swiper, e) { - if (pb.params.onTap) pb.params.onTap(swiper, e); - }, - onClick: function (swiper, e) { - if (pb.params.exposition) pb.toggleExposition(); - if (pb.params.onClick) pb.params.onClick(swiper, e); - }, - onDoubleTap: function (swiper, e) { - // pb.toggleZoom(e); - if (pb.params.onDoubleTap) pb.params.onDoubleTap(swiper, e); - }, - onTransitionStart: function (swiper) { - pb.onSliderTransitionStart(swiper); - }, - onTransitionEnd: function (swiper) { - pb.onSliderTransitionEnd(swiper); - }, - onSlideChangeStart: pb.params.onSlideChangeStart, - onSlideChangeEnd: pb.params.onSlideChangeEnd, - onLazyImageLoad: function (swiper, slide, img) { - if (pb.params.onLazyImageLoad) pb.params.onLazyImageLoad(pb, slide, img); - }, - onLazyImageReady: function (swiper, slide, img) { - $(slide).removeClass('photo-browser-slide-lazy'); - if (pb.params.onLazyImageReady) pb.params.onLazyImageReady(pb, slide, img); - } - }; - - if (pb.params.swipeToClose && pb.params.type !== 'page') { - sliderSettings.onTouchStart = pb.swipeCloseTouchStart; - sliderSettings.onTouchMoveOpposite = pb.swipeCloseTouchMove; - sliderSettings.onTouchEnd = pb.swipeCloseTouchEnd; - } - - pb.swiper = app.swiper(pb.swiperContainer, sliderSettings); - if (index === 0) { - pb.onSliderTransitionStart(pb.swiper); - } - pb.attachEvents(); - }; - pb.attachEvents = function (detach) { - var action = detach ? 'off' : 'on'; - pb.container.find('.photo-browser-close-link')[action]('click', pb.close); - }; - - - // Expose - pb.exposed = false; - pb.toggleExposition = function () { - if (pb.container) pb.container.toggleClass('photo-browser-exposed'); - if (pb.params.expositionHideCaptions) pb.captionsContainer.toggleClass('photo-browser-captions-exposed'); - pb.exposed = !pb.exposed; - }; - pb.enableExposition = function () { - if (pb.container) pb.container.addClass('photo-browser-exposed'); - if (pb.params.expositionHideCaptions) pb.captionsContainer.addClass('photo-browser-captions-exposed'); - pb.exposed = true; - }; - pb.disableExposition = function () { - if (pb.container) pb.container.removeClass('photo-browser-exposed'); - if (pb.params.expositionHideCaptions) pb.captionsContainer.removeClass('photo-browser-captions-exposed'); - pb.exposed = false; - }; - - // Swipe Up To Close - var swipeToCloseIsTouched = false; - var allowSwipeToClose = true; - var swipeToCloseDiff, swipeToCloseStart, swipeToCloseCurrent, swipeToCloseStarted = false, swipeToCloseActiveSlide, swipeToCloseTimeStart; - pb.swipeCloseTouchStart = function (swiper, e) { - if (!allowSwipeToClose) return; - swipeToCloseIsTouched = true; - }; - pb.swipeCloseTouchMove = function (swiper, e) { - if (!swipeToCloseIsTouched) return; - if (!swipeToCloseStarted) { - swipeToCloseStarted = true; - swipeToCloseStart = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - swipeToCloseActiveSlide = pb.swiper.slides.eq(pb.swiper.activeIndex); - swipeToCloseTimeStart = (new Date()).getTime(); - } - e.preventDefault(); - swipeToCloseCurrent = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - swipeToCloseDiff = swipeToCloseStart - swipeToCloseCurrent; - var opacity = 1 - Math.abs(swipeToCloseDiff) / 300; - swipeToCloseActiveSlide.transform('translate3d(0,' + (-swipeToCloseDiff) + 'px,0)'); - pb.swiper.container.css('opacity', opacity).transition(0); - }; - pb.swipeCloseTouchEnd = function (swiper, e) { - swipeToCloseIsTouched = false; - if (!swipeToCloseStarted) { - swipeToCloseStarted = false; - return; - } - swipeToCloseStarted = false; - allowSwipeToClose = false; - var diff = Math.abs(swipeToCloseDiff); - var timeDiff = (new Date()).getTime() - swipeToCloseTimeStart; - if ((timeDiff < 300 && diff > 20) || (timeDiff >= 300 && diff > 100)) { - setTimeout(function () { - if (pb.params.type === 'standalone') { - pb.close(); - } - if (pb.params.type === 'popup') { - app.closeModal(pb.popup); - } - if (pb.params.onSwipeToClose) { - pb.params.onSwipeToClose(pb); - } - allowSwipeToClose = true; - }, 0); - return; - } - if (diff !== 0) { - swipeToCloseActiveSlide.addClass('transitioning').transitionEnd(function () { - allowSwipeToClose = true; - swipeToCloseActiveSlide.removeClass('transitioning'); - }); - } - else { - allowSwipeToClose = true; - } - pb.swiper.container.css('opacity', '').transition(''); - swipeToCloseActiveSlide.transform(''); - }; - - return pb; -}; - -app.photoBrowser = function (params) { - return new PhotoBrowser(params); -}; diff --git a/vendor/framework7/src/js/picker.js b/vendor/framework7/src/js/picker.js deleted file mode 100644 index d4720b857..000000000 --- a/vendor/framework7/src/js/picker.js +++ /dev/null @@ -1,607 +0,0 @@ -/*====================================================== -************ Picker ************ -======================================================*/ -var Picker = function (params) { - var p = this; - var defaults = { - updateValuesOnMomentum: false, - updateValuesOnTouchmove: true, - rotateEffect: false, - momentumRatio: 7, - freeMode: false, - // Common settings - closeByOutsideClick: true, - scrollToInput: true, - inputReadOnly: true, - convertToPopover: true, - onlyInPopover: false, - toolbar: true, - toolbarCloseText: 'Done', - toolbarTemplate: - '
                                                          ' + - '
                                                          ' + - '
                                                          ' + - '
                                                          ' + - '{{closeText}}' + - '
                                                          ' + - '
                                                          ' + - '
                                                          ' - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - p.params = params; - p.cols = []; - p.initialized = false; - - // Inline flag - p.inline = p.params.container ? true : false; - - // 3D Transforms origin bug, only on safari - var originBug = app.device.ios || (navigator.userAgent.toLowerCase().indexOf('safari') >= 0 && navigator.userAgent.toLowerCase().indexOf('chrome') < 0) && !app.device.android; - - // Should be converted to popover - function isPopover() { - var toPopover = false; - if (!p.params.convertToPopover && !p.params.onlyInPopover) return toPopover; - if (!p.inline && p.params.input) { - if (p.params.onlyInPopover) toPopover = true; - else { - if (app.device.ios) { - toPopover = app.device.ipad ? true : false; - } - else { - if ($(window).width() >= 768) toPopover = true; - } - } - } - return toPopover; - } - function inPopover() { - if (p.opened && p.container && p.container.length > 0 && p.container.parents('.popover').length > 0) return true; - else return false; - } - - // Value - p.setValue = function (arrValues, transition) { - var valueIndex = 0; - if (p.cols.length === 0) { - p.value = arrValues; - p.updateValue(arrValues); - return; - } - for (var i = 0; i < p.cols.length; i++) { - if (p.cols[i] && !p.cols[i].divider) { - p.cols[i].setValue(arrValues[valueIndex], transition); - valueIndex++; - } - } - }; - p.updateValue = function (forceValues) { - var newValue = forceValues || []; - var newDisplayValue = []; - for (var i = 0; i < p.cols.length; i++) { - if (!p.cols[i].divider) { - newValue.push(p.cols[i].value); - newDisplayValue.push(p.cols[i].displayValue); - } - } - if (newValue.indexOf(undefined) >= 0) { - return; - } - p.value = newValue; - p.displayValue = newDisplayValue; - if (p.params.onChange) { - p.params.onChange(p, p.value, p.displayValue); - } - if (p.input && p.input.length > 0) { - $(p.input).val(p.params.formatValue ? p.params.formatValue(p, p.value, p.displayValue) : p.value.join(' ')); - $(p.input).trigger('change'); - } - }; - - // Columns Handlers - p.initPickerCol = function (colElement, updateItems) { - var colContainer = $(colElement); - var colIndex = colContainer.index(); - var col = p.cols[colIndex]; - if (col.divider) return; - col.container = colContainer; - col.wrapper = col.container.find('.picker-items-col-wrapper'); - col.items = col.wrapper.find('.picker-item'); - - var i, j; - var wrapperHeight, itemHeight, itemsHeight, minTranslate, maxTranslate; - col.replaceValues = function (values, displayValues) { - col.destroyEvents(); - col.values = values; - col.displayValues = displayValues; - var newItemsHTML = p.columnHTML(col, true); - col.wrapper.html(newItemsHTML); - col.items = col.wrapper.find('.picker-item'); - col.calcSize(); - col.setValue(col.values[0], 0, true); - col.initEvents(); - }; - col.calcSize = function () { - if (p.params.rotateEffect) { - col.container.removeClass('picker-items-col-absolute'); - if (!col.width) col.container.css({width:''}); - } - var colWidth, colHeight; - colWidth = 0; - colHeight = col.container[0].offsetHeight; - wrapperHeight = col.wrapper[0].offsetHeight; - itemHeight = col.items[0].offsetHeight; - itemsHeight = itemHeight * col.items.length; - minTranslate = colHeight / 2 - itemsHeight + itemHeight / 2; - maxTranslate = colHeight / 2 - itemHeight / 2; - if (col.width) { - colWidth = col.width; - if (parseInt(colWidth, 10) === colWidth) colWidth = colWidth + 'px'; - col.container.css({width: colWidth}); - } - if (p.params.rotateEffect) { - if (!col.width) { - col.items.each(function () { - var item = $(this); - item.css({width:'auto'}); - colWidth = Math.max(colWidth, item[0].offsetWidth); - item.css({width:''}); - }); - col.container.css({width: (colWidth + 2) + 'px'}); - } - col.container.addClass('picker-items-col-absolute'); - } - }; - col.calcSize(); - - col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)').transition(0); - - - var activeIndex = 0; - var animationFrameId; - - // Set Value Function - col.setValue = function (newValue, transition, valueCallbacks) { - if (typeof transition === 'undefined') transition = ''; - var newActiveIndex = col.wrapper.find('.picker-item[data-picker-value="' + newValue + '"]').index(); - if(typeof newActiveIndex === 'undefined' || newActiveIndex === -1) { - return; - } - var newTranslate = -newActiveIndex * itemHeight + maxTranslate; - // Update wrapper - col.wrapper.transition(transition); - col.wrapper.transform('translate3d(0,' + (newTranslate) + 'px,0)'); - - // Watch items - if (p.params.updateValuesOnMomentum && col.activeIndex && col.activeIndex !== newActiveIndex ) { - $.cancelAnimationFrame(animationFrameId); - col.wrapper.transitionEnd(function(){ - $.cancelAnimationFrame(animationFrameId); - }); - updateDuringScroll(); - } - - // Update items - col.updateItems(newActiveIndex, newTranslate, transition, valueCallbacks); - }; - - col.updateItems = function (activeIndex, translate, transition, valueCallbacks) { - if (typeof translate === 'undefined') { - translate = $.getTranslate(col.wrapper[0], 'y'); - } - if(typeof activeIndex === 'undefined') activeIndex = -Math.round((translate - maxTranslate)/itemHeight); - if (activeIndex < 0) activeIndex = 0; - if (activeIndex >= col.items.length) activeIndex = col.items.length - 1; - var previousActiveIndex = col.activeIndex; - col.activeIndex = activeIndex; - col.wrapper.find('.picker-selected').removeClass('picker-selected'); - - col.items.transition(transition); - - var selectedItem = col.items.eq(activeIndex).addClass('picker-selected').transform(''); - - // Set 3D rotate effect - if (p.params.rotateEffect) { - var percentage = (translate - (Math.floor((translate - maxTranslate)/itemHeight) * itemHeight + maxTranslate)) / itemHeight; - - col.items.each(function () { - var item = $(this); - var itemOffsetTop = item.index() * itemHeight; - var translateOffset = maxTranslate - translate; - var itemOffset = itemOffsetTop - translateOffset; - var percentage = itemOffset / itemHeight; - - var itemsFit = Math.ceil(col.height / itemHeight / 2) + 1; - - var angle = (-18*percentage); - if (angle > 180) angle = 180; - if (angle < -180) angle = -180; - // Far class - if (Math.abs(percentage) > itemsFit) item.addClass('picker-item-far'); - else item.removeClass('picker-item-far'); - // Set transform - item.transform('translate3d(0, ' + (-translate + maxTranslate) + 'px, ' + (originBug ? -110 : 0) + 'px) rotateX(' + angle + 'deg)'); - }); - } - - if (valueCallbacks || typeof valueCallbacks === 'undefined') { - // Update values - col.value = selectedItem.attr('data-picker-value'); - col.displayValue = col.displayValues ? col.displayValues[activeIndex] : col.value; - // On change callback - if (previousActiveIndex !== activeIndex) { - if (col.onChange) { - col.onChange(p, col.value, col.displayValue); - } - p.updateValue(); - } - } - }; - - function updateDuringScroll() { - animationFrameId = $.requestAnimationFrame(function () { - col.updateItems(undefined, undefined, 0); - updateDuringScroll(); - }); - } - - // Update items on init - if (updateItems) col.updateItems(0, maxTranslate, 0); - - var allowItemClick = true; - var isTouched, isMoved, touchStartY, touchCurrentY, touchStartTime, touchEndTime, startTranslate, returnTo, currentTranslate, prevTranslate, velocityTranslate, velocityTime; - function handleTouchStart (e) { - if (isMoved || isTouched) return; - e.preventDefault(); - isTouched = true; - touchStartY = touchCurrentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - - allowItemClick = true; - startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y'); - } - function handleTouchMove (e) { - if (!isTouched) return; - e.preventDefault(); - allowItemClick = false; - touchCurrentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (!isMoved) { - // First move - $.cancelAnimationFrame(animationFrameId); - isMoved = true; - startTranslate = currentTranslate = $.getTranslate(col.wrapper[0], 'y'); - col.wrapper.transition(0); - } - - var diff = touchCurrentY - touchStartY; - currentTranslate = startTranslate + diff; - returnTo = undefined; - - // Normalize translate - if (currentTranslate < minTranslate) { - currentTranslate = minTranslate - Math.pow(minTranslate - currentTranslate, 0.8); - returnTo = 'min'; - } - if (currentTranslate > maxTranslate) { - currentTranslate = maxTranslate + Math.pow(currentTranslate - maxTranslate, 0.8); - returnTo = 'max'; - } - // Transform wrapper - col.wrapper.transform('translate3d(0,' + currentTranslate + 'px,0)'); - - // Update items - col.updateItems(undefined, currentTranslate, 0, p.params.updateValuesOnTouchmove); - - // Calc velocity - velocityTranslate = currentTranslate - prevTranslate || currentTranslate; - velocityTime = (new Date()).getTime(); - prevTranslate = currentTranslate; - } - function handleTouchEnd (e) { - if (!isTouched || !isMoved) { - isTouched = isMoved = false; - return; - } - isTouched = isMoved = false; - col.wrapper.transition(''); - if (returnTo) { - if (returnTo === 'min') { - col.wrapper.transform('translate3d(0,' + minTranslate + 'px,0)'); - } - else col.wrapper.transform('translate3d(0,' + maxTranslate + 'px,0)'); - } - touchEndTime = new Date().getTime(); - var velocity, newTranslate; - if (touchEndTime - touchStartTime > 300) { - newTranslate = currentTranslate; - } - else { - velocity = Math.abs(velocityTranslate / (touchEndTime - velocityTime)); - newTranslate = currentTranslate + velocityTranslate * p.params.momentumRatio; - } - - newTranslate = Math.max(Math.min(newTranslate, maxTranslate), minTranslate); - - // Active Index - var activeIndex = -Math.floor((newTranslate - maxTranslate)/itemHeight); - - // Normalize translate - if (!p.params.freeMode) newTranslate = -activeIndex * itemHeight + maxTranslate; - - // Transform wrapper - col.wrapper.transform('translate3d(0,' + (parseInt(newTranslate,10)) + 'px,0)'); - - // Update items - col.updateItems(activeIndex, newTranslate, '', true); - - // Watch items - if (p.params.updateValuesOnMomentum) { - updateDuringScroll(); - col.wrapper.transitionEnd(function(){ - $.cancelAnimationFrame(animationFrameId); - }); - } - - // Allow click - setTimeout(function () { - allowItemClick = true; - }, 100); - } - - function handleClick(e) { - if (!allowItemClick) return; - $.cancelAnimationFrame(animationFrameId); - /*jshint validthis:true */ - var value = $(this).attr('data-picker-value'); - col.setValue(value); - } - - col.initEvents = function (detach) { - var method = detach ? 'off' : 'on'; - col.container[method](app.touchEvents.start, handleTouchStart); - col.container[method](app.touchEvents.move, handleTouchMove); - col.container[method](app.touchEvents.end, handleTouchEnd); - col.items[method]('click', handleClick); - }; - col.destroyEvents = function () { - col.initEvents(true); - }; - - col.container[0].f7DestroyPickerCol = function () { - col.destroyEvents(); - }; - - col.initEvents(); - - }; - p.destroyPickerCol = function (colContainer) { - colContainer = $(colContainer); - if ('f7DestroyPickerCol' in colContainer[0]) colContainer[0].f7DestroyPickerCol(); - }; - // Resize cols - function resizeCols() { - if (!p.opened) return; - for (var i = 0; i < p.cols.length; i++) { - if (!p.cols[i].divider) { - p.cols[i].calcSize(); - p.cols[i].setValue(p.cols[i].value, 0, false); - } - } - } - $(window).on('resize', resizeCols); - - // HTML Layout - p.columnHTML = function (col, onlyItems) { - var columnItemsHTML = ''; - var columnHTML = ''; - if (col.divider) { - columnHTML += '
                                                          ' + col.content + '
                                                          '; - } - else { - for (var j = 0; j < col.values.length; j++) { - columnItemsHTML += '
                                                          ' + (col.displayValues ? col.displayValues[j] : col.values[j]) + '
                                                          '; - } - columnHTML += '
                                                          ' + columnItemsHTML + '
                                                          '; - } - return onlyItems ? columnItemsHTML : columnHTML; - }; - p.layout = function () { - var pickerHTML = ''; - var pickerClass = ''; - var i; - p.cols = []; - var colsHTML = ''; - for (i = 0; i < p.params.cols.length; i++) { - var col = p.params.cols[i]; - colsHTML += p.columnHTML(p.params.cols[i]); - p.cols.push(col); - } - pickerClass = 'picker-modal picker-columns ' + (p.params.cssClass || '') + (p.params.rotateEffect ? ' picker-3d' : ''); - pickerHTML = - '
                                                          ' + - (p.params.toolbar ? p.params.toolbarTemplate.replace(/{{closeText}}/g, p.params.toolbarCloseText) : '') + - '
                                                          ' + - colsHTML + - '
                                                          ' + - '
                                                          ' + - '
                                                          '; - - p.pickerHTML = pickerHTML; - }; - - // Input Events - function openOnInput(e) { - e.preventDefault(); - if (p.opened) return; - p.open(); - if (p.params.scrollToInput && !isPopover()) { - var pageContent = p.input.parents('.page-content'); - if (pageContent.length === 0) return; - - var paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-bottom'), 10), - pageHeight = pageContent[0].offsetHeight - paddingTop - p.container.height(), - pageScrollHeight = pageContent[0].scrollHeight - paddingTop - p.container.height(), - newPaddingBottom; - var inputTop = p.input.offset().top - paddingTop + p.input[0].offsetHeight; - if (inputTop > pageHeight) { - var scrollTop = pageContent.scrollTop() + inputTop - pageHeight; - if (scrollTop + pageHeight > pageScrollHeight) { - newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom; - if (pageHeight === pageScrollHeight) { - newPaddingBottom = p.container.height(); - } - pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'}); - } - pageContent.scrollTop(scrollTop, 300); - } - } - } - function closeOnHTMLClick(e) { - if (inPopover()) return; - if (p.input && p.input.length > 0) { - if (e.target !== p.input[0] && $(e.target).parents('.picker-modal').length === 0) p.close(); - } - else { - if ($(e.target).parents('.picker-modal').length === 0) p.close(); - } - } - - if (p.params.input) { - p.input = $(p.params.input); - if (p.input.length > 0) { - if (p.params.inputReadOnly) p.input.prop('readOnly', true); - if (!p.inline) { - p.input.on('click', openOnInput); - } - if (p.params.inputReadOnly) { - p.input.on('focus mousedown', function (e) { - e.preventDefault(); - }); - } - } - - } - - if (!p.inline && p.params.closeByOutsideClick) $('html').on('click', closeOnHTMLClick); - - // Open - function onPickerClose() { - p.opened = false; - if (p.input && p.input.length > 0) { - p.input.parents('.page-content').css({'padding-bottom': ''}); - if (app.params.material) p.input.trigger('blur'); - } - if (p.params.onClose) p.params.onClose(p); - - // Destroy events - p.container.find('.picker-items-col').each(function () { - p.destroyPickerCol(this); - }); - } - - p.opened = false; - p.open = function () { - var toPopover = isPopover(); - - if (!p.opened) { - - // Layout - p.layout(); - - // Append - if (toPopover) { - p.pickerHTML = '
                                                          ' + p.pickerHTML + '
                                                          '; - p.popover = app.popover(p.pickerHTML, p.params.input, true); - p.container = $(p.popover).find('.picker-modal'); - $(p.popover).on('close', function () { - onPickerClose(); - }); - } - else if (p.inline) { - p.container = $(p.pickerHTML); - p.container.addClass('picker-modal-inline'); - $(p.params.container).append(p.container); - } - else { - p.container = $(app.pickerModal(p.pickerHTML)); - $(p.container) - .on('close', function () { - onPickerClose(); - }); - } - - // Store picker instance - p.container[0].f7Picker = p; - - // Init Events - p.container.find('.picker-items-col').each(function () { - var updateItems = true; - if ((!p.initialized && p.params.value) || (p.initialized && p.value)) updateItems = false; - p.initPickerCol(this, updateItems); - }); - - // Set value - if (!p.initialized) { - if (p.value) p.setValue(p.value, 0); - else if (p.params.value) { - p.setValue(p.params.value, 0); - } - } - else { - if (p.value) p.setValue(p.value, 0); - } - - // Material Focus - if (p.input && p.input.length > 0 && app.params.material) { - p.input.trigger('focus'); - } - } - - // Set flag - p.opened = true; - p.initialized = true; - - if (p.params.onOpen) p.params.onOpen(p); - }; - - // Close - p.close = function () { - if (!p.opened || p.inline) return; - if (inPopover()) { - app.closeModal(p.popover); - return; - } - else { - app.closeModal(p.container); - return; - } - }; - - // Destroy - p.destroy = function () { - p.close(); - if (p.params.input && p.input.length > 0) { - p.input.off('click focus', openOnInput); - } - $('html').off('click', closeOnHTMLClick); - $(window).off('resize', resizeCols); - }; - - if (p.inline) { - p.open(); - } - else { - if (!p.initialized && p.params.value) p.setValue(p.params.value); - } - - return p; -}; -app.picker = function (params) { - return new Picker(params); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/plugins.js b/vendor/framework7/src/js/plugins.js deleted file mode 100644 index cba0f2cf5..000000000 --- a/vendor/framework7/src/js/plugins.js +++ /dev/null @@ -1,40 +0,0 @@ -/*======================================= -************ Plugins API ************ -=======================================*/ -var _plugins = []; -app.initPlugins = function () { - // Initialize plugins - for (var plugin in app.plugins) { - var p = app.plugins[plugin](app, app.params[plugin]); - if (p) _plugins.push(p); - } -}; -// Plugin Hooks -app.pluginHook = function (hook) { - for (var i = 0; i < _plugins.length; i++) { - if (_plugins[i].hooks && hook in _plugins[i].hooks) { - _plugins[i].hooks[hook](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - } -}; -// Prevented by plugin -app.pluginPrevent = function (action) { - var prevent = false; - for (var i = 0; i < _plugins.length; i++) { - if (_plugins[i].prevents && action in _plugins[i].prevents) { - if (_plugins[i].prevents[action](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])) prevent = true; - } - } - return prevent; -}; -// Preprocess content by plugin -app.pluginProcess = function (process, data) { - var processed = data; - for (var i = 0; i < _plugins.length; i++) { - if (_plugins[i].preprocess && process in _plugins[i].preprocess) { - processed = _plugins[i].preprocess[process](data, arguments[2], arguments[3], arguments[4], arguments[5], arguments[6]); - } - } - return processed; -}; - diff --git a/vendor/framework7/src/js/progressbar.js b/vendor/framework7/src/js/progressbar.js deleted file mode 100644 index ee7877778..000000000 --- a/vendor/framework7/src/js/progressbar.js +++ /dev/null @@ -1,78 +0,0 @@ -/*=============================================================================== -************ Progress Bar ************ -===============================================================================*/ -app.setProgressbar = function (container, progress, speed) { - container = $(container || app.root); - if (container.length === 0) return; - if (progress) progress = Math.min(Math.max(progress, 0), 100); - var progressbar; - if (container.hasClass('progressbar')) progressbar = container; - else { - progressbar = container.children('.progressbar'); - } - if (progressbar.length === 0 || progressbar.hasClass('progressbar-infinite')) return; - var clientLeft = progressbar[0].clientLeft; - progressbar.children('span').transform('translate3d(' + (-100 + progress) + '%,0,0)'); - if (typeof speed !== 'undefined') { - progressbar.children('span').transition(speed); - } - else { - progressbar.children('span').transition(''); - } - return progressbar[0]; -}; -app.showProgressbar = function (container, progress, color) { - if (typeof container === 'number') { - container = app.root; - progress = arguments[0]; - color = arguments[1]; - } - if (progress && typeof progress === 'string' && parseFloat(progress) !== progress * 1) { - color = progress; - progress = undefined; - } - container = $(container || app.root); - if (container.length === 0) return; - var progressbar; - if (container.hasClass('progressbar')) progressbar = container; - else { - progressbar = container.children('.progressbar:not(.progressbar-out), .progressbar-infinite:not(.progressbar-out)'); - if (progressbar.length === 0) { - // Create one - if (typeof progress !== 'undefined') { - // Determined - progressbar = $(''); - } - else { - // Infinite - progressbar = $(''); - } - container.append(progressbar); - } - } - if (progress) app.setProgressbar(container, progress); - return progressbar[0]; -}; -app.hideProgressbar = function (container) { - container = $(container || app.root); - if (container.length === 0) return; - var progressbar; - if (container.hasClass('progressbar')) progressbar = container; - else { - progressbar = container.children('.progressbar, .progressbar-infinite'); - } - if (progressbar.length === 0 || !progressbar.hasClass('progressbar-in') || progressbar.hasClass('progressbar-out')) return; - progressbar.removeClass('progressbar-in').addClass('progressbar-out').animationEnd(function () { - progressbar.remove(); - progressbar = null; - }); - return; -}; -app.initPageProgressbar = function (pageContainer) { - pageContainer = $(pageContainer); - pageContainer.find('.progressbar').each(function () { - var p = $(this); - if (p.children('span').length === 0) p.append(''); - if (p.attr('data-progress')) app.setProgressbar(p, p.attr('data-progress')); - }); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/proto-device.js b/vendor/framework7/src/js/proto-device.js deleted file mode 100644 index 73f7d482f..000000000 --- a/vendor/framework7/src/js/proto-device.js +++ /dev/null @@ -1,104 +0,0 @@ -/*=========================== -Device/OS Detection -===========================*/ -Framework7.prototype.device = (function () { - var device = {}; - var ua = navigator.userAgent; - var $ = Dom7; - - var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); - var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/); - - device.ios = device.android = device.iphone = device.ipad = device.androidChrome = false; - - // Android - if (android) { - device.os = 'android'; - device.osVersion = android[2]; - device.android = true; - device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0; - } - if (ipad || iphone || ipod) { - device.os = 'ios'; - device.ios = true; - } - // iOS - if (iphone && !ipod) { - device.osVersion = iphone[2].replace(/_/g, '.'); - device.iphone = true; - } - if (ipad) { - device.osVersion = ipad[2].replace(/_/g, '.'); - device.ipad = true; - } - if (ipod) { - device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null; - device.iphone = true; - } - // iOS 8+ changed UA - if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) { - if (device.osVersion.split('.')[0] === '10') { - device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0]; - } - } - - // Webview - device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i); - - // Minimal UI - if (device.os && device.os === 'ios') { - var osVersionArr = device.osVersion.split('.'); - device.minimalUi = !device.webView && - (ipod || iphone) && - (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7) && - $('meta[name="viewport"]').length > 0 && $('meta[name="viewport"]').attr('content').indexOf('minimal-ui') >= 0; - } - - // Check for status bar and fullscreen app mode - var windowWidth = $(window).width(); - var windowHeight = $(window).height(); - device.statusBar = false; - if (device.webView && (windowWidth * windowHeight === screen.width * screen.height)) { - device.statusBar = true; - } - else { - device.statusBar = false; - } - - // Classes - var classNames = []; - - // Pixel Ratio - device.pixelRatio = window.devicePixelRatio || 1; - classNames.push('pixel-ratio-' + Math.floor(device.pixelRatio)); - if (device.pixelRatio >= 2) { - classNames.push('retina'); - } - - // OS classes - if (device.os) { - classNames.push(device.os, device.os + '-' + device.osVersion.split('.')[0], device.os + '-' + device.osVersion.replace(/\./g, '-')); - if (device.os === 'ios') { - var major = parseInt(device.osVersion.split('.')[0], 10); - for (var i = major - 1; i >= 6; i--) { - classNames.push('ios-gt-' + i); - } - } - - } - // Status bar classes - if (device.statusBar) { - classNames.push('with-statusbar-overlay'); - } - else { - $('html').removeClass('with-statusbar-overlay'); - } - - // Add html classes - if (classNames.length > 0) $('html').addClass(classNames.join(' ')); - - // Export object - return device; -})(); diff --git a/vendor/framework7/src/js/proto-plugins.js b/vendor/framework7/src/js/proto-plugins.js deleted file mode 100644 index a1bf4cea9..000000000 --- a/vendor/framework7/src/js/proto-plugins.js +++ /dev/null @@ -1,4 +0,0 @@ -/*=========================== -Plugins prototype -===========================*/ -Framework7.prototype.plugins = {}; diff --git a/vendor/framework7/src/js/proto-support.js b/vendor/framework7/src/js/proto-support.js deleted file mode 100644 index 98f8dfd06..000000000 --- a/vendor/framework7/src/js/proto-support.js +++ /dev/null @@ -1,23 +0,0 @@ -/*=========================== -Features Support Detection -===========================*/ -Framework7.prototype.support = (function () { - var support = { - touch: !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch), - passiveListener: (function () { - var supportsPassive = false; - try { - var opts = Object.defineProperty({}, 'passive', { - get: function() { - supportsPassive = true; - } - }); - window.addEventListener('testPassiveListener', null, opts); - } catch (e) {} - return supportsPassive; - })() - }; - - // Export object - return support; -})(); diff --git a/vendor/framework7/src/js/pull-to-refresh.js b/vendor/framework7/src/js/pull-to-refresh.js deleted file mode 100644 index de87ac01c..000000000 --- a/vendor/framework7/src/js/pull-to-refresh.js +++ /dev/null @@ -1,222 +0,0 @@ -/*====================================================== -************ Pull To Refresh ************ -======================================================*/ -app.initPullToRefresh = function (pageContainer) { - var eventsTarget = $(pageContainer); - if (!eventsTarget.hasClass('pull-to-refresh-content')) { - eventsTarget = eventsTarget.find('.pull-to-refresh-content'); - } - if (!eventsTarget || eventsTarget.length === 0) return; - - var touchId, isTouched, isMoved, touchesStart = {}, isScrolling, touchesDiff, touchStartTime, container, refresh = false, useTranslate = false, startTranslate = 0, translate, scrollTop, wasScrolled, layer, triggerDistance, dynamicTriggerDistance, pullStarted; - var page = eventsTarget.hasClass('page') ? eventsTarget : eventsTarget.parents('.page'); - var hasNavbar = false; - if (page.find('.navbar').length > 0 || page.parents('.navbar-fixed, .navbar-through').length > 0 || page.hasClass('navbar-fixed') || page.hasClass('navbar-through')) hasNavbar = true; - if (page.hasClass('no-navbar')) hasNavbar = false; - if (!hasNavbar) eventsTarget.addClass('pull-to-refresh-no-navbar'); - - container = eventsTarget; - - // Define trigger distance - if (container.attr('data-ptr-distance')) { - dynamicTriggerDistance = true; - } - else { - triggerDistance = 44; - } - - function handleTouchStart(e) { - if (isTouched) { - if (app.device.os === 'android') { - if ('targetTouches' in e && e.targetTouches.length > 1) return; - } - else return; - } - - /*jshint validthis:true */ - container = $(this); - if (container.hasClass('refreshing')) { - return; - } - - isMoved = false; - pullStarted = false; - isTouched = true; - isScrolling = undefined; - wasScrolled = undefined; - if (e.type === 'touchstart') touchId = e.targetTouches[0].identifier; - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - - } - - function handleTouchMove(e) { - if (!isTouched) return; - var pageX, pageY, touch; - if (e.type === 'touchmove') { - if (touchId && e.touches) { - for (var i = 0; i < e.touches.length; i++) { - if (e.touches[i].identifier === touchId) { - touch = e.touches[i]; - } - } - } - if (!touch) touch = e.targetTouches[0]; - pageX = touch.pageX; - pageY = touch.pageY; - } - else { - pageX = e.pageX; - pageY = e.pageY; - } - if (!pageX || !pageY) return; - - - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (!isScrolling) { - isTouched = false; - return; - } - - scrollTop = container[0].scrollTop; - if (typeof wasScrolled === 'undefined' && scrollTop !== 0) wasScrolled = true; - - if (!isMoved) { - /*jshint validthis:true */ - container.removeClass('transitioning'); - if (scrollTop > container[0].offsetHeight) { - isTouched = false; - return; - } - if (dynamicTriggerDistance) { - triggerDistance = container.attr('data-ptr-distance'); - if (triggerDistance.indexOf('%') >= 0) triggerDistance = container[0].offsetHeight * parseInt(triggerDistance, 10) / 100; - } - startTranslate = container.hasClass('refreshing') ? triggerDistance : 0; - if (container[0].scrollHeight === container[0].offsetHeight || app.device.os !== 'ios') { - useTranslate = true; - } - else { - useTranslate = false; - } - } - isMoved = true; - touchesDiff = pageY - touchesStart.y; - - if (touchesDiff > 0 && scrollTop <= 0 || scrollTop < 0) { - // iOS 8 fix - if (app.device.os === 'ios' && parseInt(app.device.osVersion.split('.')[0], 10) > 7 && scrollTop === 0 && !wasScrolled) useTranslate = true; - - if (useTranslate) { - e.preventDefault(); - translate = (Math.pow(touchesDiff, 0.85) + startTranslate); - container.transform('translate3d(0,' + translate + 'px,0)'); - } - if ((useTranslate && Math.pow(touchesDiff, 0.85) > triggerDistance) || (!useTranslate && touchesDiff >= triggerDistance * 2)) { - refresh = true; - container.addClass('pull-up').removeClass('pull-down'); - } - else { - refresh = false; - container.removeClass('pull-up').addClass('pull-down'); - } - if (!pullStarted) { - container.trigger('pullstart'); - pullStarted = true; - } - container.trigger('pullmove', { - event: e, - scrollTop: scrollTop, - translate: translate, - touchesDiff: touchesDiff - }); - } - else { - pullStarted = false; - container.removeClass('pull-up pull-down'); - refresh = false; - return; - } - } - function handleTouchEnd(e) { - if (e.type === 'touchend' && e.changedTouches && e.changedTouches.length > 0 && touchId) { - if (e.changedTouches[0].identifier !== touchId) return; - } - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - if (translate) { - container.addClass('transitioning'); - translate = 0; - } - container.transform(''); - if (refresh) { - container.addClass('refreshing'); - container.trigger('refresh', { - done: function () { - app.pullToRefreshDone(container); - } - }); - } - else { - container.removeClass('pull-down'); - } - isTouched = false; - isMoved = false; - if (pullStarted) container.trigger('pullend'); - } - - // Attach Events - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - eventsTarget.on(app.touchEvents.start, handleTouchStart, passiveListener); - eventsTarget.on(app.touchEvents.move, handleTouchMove); - eventsTarget.on(app.touchEvents.end, handleTouchEnd, passiveListener); - - // Detach Events on page remove - if (page.length === 0) return; - function destroyPullToRefresh() { - eventsTarget.off(app.touchEvents.start, handleTouchStart); - eventsTarget.off(app.touchEvents.move, handleTouchMove); - eventsTarget.off(app.touchEvents.end, handleTouchEnd); - } - eventsTarget[0].f7DestroyPullToRefresh = destroyPullToRefresh; - function detachEvents() { - destroyPullToRefresh(); - page.off('pageBeforeRemove', detachEvents); - } - page.on('pageBeforeRemove', detachEvents); - -}; - -app.pullToRefreshDone = function (container) { - container = $(container); - if (container.length === 0) container = $('.pull-to-refresh-content.refreshing'); - container.removeClass('refreshing').addClass('transitioning'); - container.transitionEnd(function () { - container.removeClass('transitioning pull-up pull-down'); - container.trigger('refreshdone'); - }); -}; -app.pullToRefreshTrigger = function (container) { - container = $(container); - if (container.length === 0) container = $('.pull-to-refresh-content'); - if (container.hasClass('refreshing')) return; - container.addClass('transitioning refreshing'); - container.trigger('refresh', { - done: function () { - app.pullToRefreshDone(container); - } - }); -}; - -app.destroyPullToRefresh = function (pageContainer) { - pageContainer = $(pageContainer); - var pullToRefreshContent = pageContainer.hasClass('pull-to-refresh-content') ? pageContainer : pageContainer.find('.pull-to-refresh-content'); - if (pullToRefreshContent.length === 0) return; - if (pullToRefreshContent[0].f7DestroyPullToRefresh) pullToRefreshContent[0].f7DestroyPullToRefresh(); -}; diff --git a/vendor/framework7/src/js/push-state.js b/vendor/framework7/src/js/push-state.js deleted file mode 100644 index 0ef403c07..000000000 --- a/vendor/framework7/src/js/push-state.js +++ /dev/null @@ -1,112 +0,0 @@ -/*====================================================== -************ Handle Browser's History ************ -======================================================*/ -app.pushStateQueue = []; -app.pushStateClearQueue = function () { - if (app.pushStateQueue.length === 0) return; - var queue = app.pushStateQueue.pop(); - var animatePages; - if (app.params.pushStateNoAnimation === true) animatePages = false; - if (queue.action === 'back') { - app.router.back(queue.view, {animatePages: animatePages}); - } - if (queue.action === 'loadPage') { - app.router.load(queue.view, {url: queue.stateUrl, animatePages: animatePages, pushState: false}); - } - if (queue.action === 'loadContent') { - app.router.load(queue.view, {content: queue.stateContent, animatePages: animatePages, pushState: false}); - } - if (queue.action === 'loadPageName') { - app.router.load(queue.view, {pageName: queue.statePageName, url: queue.stateUrl, animatePages: animatePages, pushState: false}); - } -}; - -app.initPushState = function () { - var blockPopstate = true; - $(window).on('load', function () { - setTimeout(function () { - blockPopstate = false; - }, 0); - }); - - if (document.readyState && document.readyState === 'complete') { - blockPopstate = false; - } - - function handlePopState(e) { - if (blockPopstate) return; - var mainView = app.mainView; - if (!mainView) return; - var state = e.state; - if (!state) { - state = { - viewIndex: app.views.indexOf(mainView), - url : mainView.history[0] - }; - } - if (state.viewIndex < 0) return; - var view = app.views[state.viewIndex]; - var stateUrl = state && state.url || undefined; - var stateContent = state && state.content || undefined; - var statePageName = state && state.pageName || undefined; - var animatePages; - - if (app.params.pushStateNoAnimation === true) animatePages = false; - - if (stateUrl !== view.url) { - if (view.history.indexOf(stateUrl) >= 0) { - // Go Back - if (view.allowPageChange) { - app.router.back(view, {url:undefined, animatePages: animatePages, pushState: false, preloadOnly:false}); - } - else { - app.pushStateQueue.push({ - action: 'back', - view: view - }); - } - } - else if (stateContent) { - // Load Page - if (view.allowPageChange) { - app.router.load(view, {content:stateContent, animatePages: animatePages, pushState: false}); - } - else { - app.pushStateQueue.unshift({ - action: 'loadContent', - stateContent: stateContent, - view: view - }); - } - - } - else if (statePageName) { - // Load Page by page name with Dom Cache - if (view.allowPageChange) { - app.router.load(view, {pageName:statePageName, url: stateUrl, animatePages: animatePages, pushState: false}); - } - else { - app.pushStateQueue.unshift({ - action: 'loadPageName', - statePageName: statePageName, - view: view - }); - } - } - else { - // Load Page - if (view.allowPageChange) { - app.router.load(view, {url:stateUrl, animatePages: animatePages, pushState: false}); - } - else { - app.pushStateQueue.unshift({ - action: 'loadPage', - stateUrl: stateUrl, - view: view - }); - } - } - } - } - $(window).on('popstate', handlePopState); -}; diff --git a/vendor/framework7/src/js/resize.js b/vendor/framework7/src/js/resize.js deleted file mode 100644 index 629f9e933..000000000 --- a/vendor/framework7/src/js/resize.js +++ /dev/null @@ -1,27 +0,0 @@ -/*====================================================== -************ App Resize Actions ************ -======================================================*/ -// Prevent iPad horizontal body scrolling when soft keyboard is opened -function _fixIpadBodyScrolLeft() { - if (app.device.ipad) { - document.body.scrollLeft = 0; - setTimeout(function () { - document.body.scrollLeft = 0; - }, 0); - } -} -app.initResize = function () { - $(window).on('resize', app.resize); - $(window).on('orientationchange', app.orientationchange); -}; -app.resize = function () { - if (app.sizeNavbars) app.sizeNavbars(); - _fixIpadBodyScrolLeft(); - -}; -app.orientationchange = function () { - if (app.device && app.device.minimalUi) { - if (window.orientation === 90 || window.orientation === -90) document.body.scrollTop = 0; - } - _fixIpadBodyScrolLeft(); -}; diff --git a/vendor/framework7/src/js/router.js b/vendor/framework7/src/js/router.js deleted file mode 100644 index 566629cb9..000000000 --- a/vendor/framework7/src/js/router.js +++ /dev/null @@ -1,1268 +0,0 @@ -/*====================================================== -************ Navigation / Router ************ -======================================================*/ -app.router = { - _remove: function (el) { - if (app.params.routerRemoveTimeout || app.params.routerRemoveWithTimeout) { - setTimeout(function () { - $(el).remove(); - }, 0); - } - else $(el).remove(); - }, - // Temporary DOM Element - temporaryDom: document.createElement('div'), - - // Find page or navbar in passed container which are related to View - findElement: function (selector, container, view, notCached) { - container = $(container); - if (notCached) selector = selector + ':not(.cached)'; - var found = container.find(selector); - if (found.length > 1) { - if (typeof view.selector === 'string') { - // Search in related view - found = container.find(view.selector + ' ' + selector); - } - if (found.length > 1) { - // Search in main view - found = container.find('.' + app.params.viewMainClass + ' ' + selector); - } - } - if (found.length === 1) return found; - else { - // Try to find non cached - if (!notCached) found = app.router.findElement(selector, container, view, true); - if (found && found.length === 1) return found; - if (found && found.length > 1) return $(found[0]); - else return undefined; - } - }, - - // Set pages classess for animationEnd - animatePages: function (leftPage, rightPage, direction, view) { - // Loading new page - var removeClasses = 'page-on-center page-on-right page-on-left'; - if (direction === 'to-left') { - leftPage.removeClass(removeClasses).addClass('page-from-center-to-left'); - rightPage.removeClass(removeClasses).addClass('page-from-right-to-center'); - } - // Go back - if (direction === 'to-right') { - leftPage.removeClass(removeClasses).addClass('page-from-left-to-center'); - rightPage.removeClass(removeClasses).addClass('page-from-center-to-right'); - - } - }, - - // Prepare navbar before animarion - prepareNavbar: function (newNavbarInner, oldNavbarInner, newNavbarPosition) { - $(newNavbarInner).find('.sliding').each(function () { - var sliding = $(this); - var slidingOffset = newNavbarPosition === 'right' ? this.f7NavbarRightOffset : this.f7NavbarLeftOffset; - - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(' + (-slidingOffset) + 'px,0,0)'); - } - } - sliding.transform('translate3d(' + slidingOffset + 'px,0,0)'); - }); - }, - - // Set navbars classess for animation - animateNavbars: function (leftNavbarInner, rightNavbarInner, direction, view) { - // Loading new page - var removeClasses = 'navbar-on-right navbar-on-center navbar-on-left'; - if (direction === 'to-left') { - rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-right-to-center'); - rightNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - sliding.transform('translate3d(0px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(0px,0,0)'); - } - } - }); - - leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-left'); - leftNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - var rightText; - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('center') && rightNavbarInner.find('.sliding.left .back .icon').length > 0) { - rightText = rightNavbarInner.find('.sliding.left .back span'); - if (rightText.length > 0) this.f7NavbarLeftOffset += rightText[0].offsetLeft; - } - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarLeftOffset) + 'px,0,0)'); - } - } - sliding.transform('translate3d(' + (this.f7NavbarLeftOffset) + 'px,0,0)'); - }); - } - // Go back - if (direction === 'to-right') { - leftNavbarInner.removeClass(removeClasses).addClass('navbar-from-left-to-center'); - leftNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - sliding.transform('translate3d(0px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(0px,0,0)'); - } - } - }); - - rightNavbarInner.removeClass(removeClasses).addClass('navbar-from-center-to-right'); - rightNavbarInner.find('.sliding').each(function () { - var sliding = $(this); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && sliding.find('.back .icon').length > 0) { - sliding.find('.back .icon').transform('translate3d(' + (-this.f7NavbarRightOffset) + 'px,0,0)'); - } - } - sliding.transform('translate3d(' + (this.f7NavbarRightOffset) + 'px,0,0)'); - }); - } - }, - - preprocess: function(view, content, url, next) { - // Plugin hook - app.pluginHook('routerPreprocess', view, content, url, next); - - // Preprocess by plugin - content = app.pluginProcess('preprocess', content); - - if (view && view.params && view.params.preprocess) { - content = view.params.preprocess(content, url, next); - if (typeof content !== 'undefined') { - next(content); - } - } - else if (app.params.preprocess) { - content = app.params.preprocess(content, url, next); - if (typeof content !== 'undefined') { - next(content); - } - } - else { - next(content); - } - }, - preroute: function(view, options, isBack) { - if (isBack) options.isBack = true; - app.pluginHook('routerPreroute', view, options); - if ((app.params.preroute && app.params.preroute(view, options) === false) || (view && view.params.preroute && view.params.preroute(view, options) === false)) { - return true; - } - else { - return false; - } - }, - - template7Render: function (view, options) { - var url = options.url, - content = options.content, //initial content - t7_rendered_content = options.content, // will be rendered using Template7 - context = options.context, // Context data for Template7 - contextName = options.contextName, - template = options.template, // Template 7 compiled template - pageName = options.pageName; - - var t7_ctx, t7_template; - if (typeof content === 'string') { - if (url) { - if (app.template7Cache[url] && !options.ignoreCache) t7_template = t7.cache[url]; - else { - t7_template = t7.compile(content); - t7.cache[url] = t7_template; - } - } - else t7_template = t7.compile(content); - } - else if (template) { - t7_template = template; - } - - if (context) { - t7_ctx = context; - if (context && url) { - view.contextCache[url] = context; - } - } - else { - if (contextName) { - if (contextName.indexOf('.') >= 0) { - var _ctx_path = contextName.split('.'); - var _ctx = t7.data[_ctx_path[0]]; - for (var i = 1; i < _ctx_path.length; i++) { - if (_ctx_path[i]) _ctx = _ctx[_ctx_path[i]]; - } - t7_ctx = _ctx; - } - else t7_ctx = t7.data[contextName]; - } - if (!t7_ctx && url) { - t7_ctx = t7.data['url:' + url]; - } - if (!t7_ctx && typeof content === 'string' && !template) { - //try to find by page name in content - var pageNameMatch = content.match(/(data-page=["'][^"^']*["'])/); - if (pageNameMatch) { - var page = pageNameMatch[0].split('data-page=')[1].replace(/['"]/g, ''); - if (page) t7_ctx = t7.data['page:' + page]; - } - } - if (!t7_ctx && template && t7.templates) { - // Try to find matched template name in t7.templates - for (var templateName in t7.templates) { - if (t7.templates[templateName] === template) t7_ctx = t7.data[templateName]; - } - } - if (!t7_ctx && url && url in view.contextCache) { - t7_ctx = view.contextCache[url]; - } - if (!t7_ctx) { - t7_ctx = {}; - } - } - - if (t7_template && t7_ctx) { - if (typeof t7_ctx === 'function') t7_ctx = t7_ctx(); - if (url) { - // Extend data with URL query - var query = $.parseUrlQuery(url); - t7_ctx.url_query = {}; - for (var key in query) { - t7_ctx.url_query[key] = query[key]; - } - } - try { - t7_rendered_content = t7_template(t7_ctx); - } - catch (e) { - t7_rendered_content = ''; - if (window.console && window.console.error) { - console.error(e); - } - } - } - - return {content: t7_rendered_content, context: t7_ctx}; - } -}; - - -app.router._load = function (view, options) { - options = options || {}; - - var url = options.url, - content = options.content, //initial content - t7_rendered = {content: options.content}, - template = options.template, // Template 7 compiled template - pageName = options.pageName, - viewContainer = $(view.container), - pagesContainer = $(view.pagesContainer), - animatePages = options.animatePages, - newPage, oldPage, pagesInView, i, oldNavbarInner, newNavbarInner, navbar, dynamicNavbar, reloadPosition, - isDynamicPage = typeof url === 'undefined' && content || template, - pushState = options.pushState, - pageElement = options.pageElement; - - if (typeof animatePages === 'undefined') animatePages = view.params.animatePages; - // Plugin hook - app.pluginHook('routerLoad', view, options); - - // Render with Template7 - if (app.params.template7Pages && typeof content === 'string' || template) { - t7_rendered = app.router.template7Render(view, options); - if (t7_rendered.content && !content) { - content = t7_rendered.content; - } - } - - app.router.temporaryDom.innerHTML = ''; - - // Parse DOM - if (!pageName && !pageElement) { - if ((typeof content === 'string') || (url && (typeof content === 'string'))) { - app.router.temporaryDom.innerHTML = t7_rendered.content; - } else { - if ('length' in content && content.length > 1) { - for (var ci = 0; ci < content.length; ci++) { - $(app.router.temporaryDom).append(content[ci]); - } - } else { - $(app.router.temporaryDom).append(content); - } - } - } - - // Reload position - reloadPosition = options.reload && (options.reloadPrevious ? 'left' : 'center'); - - // Find new page - if (pageName) newPage = pagesContainer.find('.page[data-page="' + pageName + '"]'); - else { - if (pageElement) newPage = $(pageElement); - else newPage = app.router.findElement('.page', app.router.temporaryDom, view); - } - - // If page not found exit - if (!newPage || newPage.length === 0 || (pageName && view.activePage && view.activePage.name === pageName)) { - view.allowPageChange = true; - return; - } - - newPage.addClass(options.reload ? 'page-on-' + reloadPosition : 'page-on-right'); - - // Find old page (should be the last one) and remove older pages - pagesInView = pagesContainer.children('.page:not(.cached)'); - if (pageElement) { - pagesInView = pagesInView.filter(function (index, page) { - if (page !== pageElement) return page; - }); - } - - if (options.reload && options.reloadPrevious && pagesInView.length === 1) { - view.allowPageChange = true; - return; - } - - if (options.reload) { - oldPage = pagesInView.eq(pagesInView.length - 1); - } - else { - if (pagesInView.length > 1) { - for (i = 0; i < pagesInView.length - 2; i++) { - if (!view.params.domCache) { - app.pageRemoveCallback(view, pagesInView[i], 'left'); - app.router._remove(pagesInView[i]); - } - else { - $(pagesInView[i]).addClass('cached'); - } - } - if (!view.params.domCache) { - app.pageRemoveCallback(view, pagesInView[i], 'left'); - app.router._remove(pagesInView[i]); - } - else { - $(pagesInView[i]).addClass('cached'); - } - } - oldPage = pagesContainer.children('.page:not(.cached)'); - } - if (pageElement && oldPage.length > 1) { - oldPage = oldPage.filter(function (index, page) { - if (page !== pageElement) return page; - }); - } - if(view.params.domCache || pageElement) newPage.removeClass('cached'); - - // Dynamic navbar - if (view.params.dynamicNavbar) { - dynamicNavbar = true; - // Find navbar - if (pageName) { - newNavbarInner = viewContainer.find('.navbar-inner[data-page="' + pageName + '"]'); - } - else { - newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view); - } - if (!newNavbarInner || newNavbarInner.length === 0) { - // Look in page - newNavbarInner = newPage.find('.navbar-inner'); - if (!newNavbarInner || newNavbarInner.length === 0) { - // Set false - dynamicNavbar = false; - } - else { - if (newNavbarInner.parent('.navbar').length > 0) { - newNavbarInner.prependTo(newPage); - } - } - } - if (dynamicNavbar && newPage.find('.navbar').length > 0) { - app.router._remove(newPage.find('.navbar')); - } - navbar = viewContainer.children('.navbar'); - if (options.reload) { - oldNavbarInner = navbar.find('.navbar-inner:not(.cached):last-child'); - } - else { - oldNavbarInner = navbar.find('.navbar-inner:not(.cached)'); - - if (oldNavbarInner.length > 0) { - for (i = 0; i < oldNavbarInner.length - 1; i++) { - if (!view.params.domCache) { - app.navbarRemoveCallback(view, pagesInView[i], navbar[0], oldNavbarInner[i]); - app.router._remove(oldNavbarInner[i]); - } - else - $(oldNavbarInner[i]).addClass('cached'); - } - if (!newNavbarInner && oldNavbarInner.length === 1) { - if (!view.params.domCache) { - app.navbarRemoveCallback(view, pagesInView[0], navbar[0], oldNavbarInner[0]); - app.router._remove(oldNavbarInner[0]); - } - else - $(oldNavbarInner[0]).addClass('cached'); - } - oldNavbarInner = navbar.find('.navbar-inner:not(.cached)'); - } - } - } - if (dynamicNavbar) { - newNavbarInner.addClass(options.reload ? 'navbar-on-' + reloadPosition : 'navbar-on-right'); - if(view.params.domCache || pageElement) newNavbarInner.removeClass('cached'); - newPage[0].f7RelatedNavbar = newNavbarInner[0]; - newNavbarInner[0].f7RelatedPage = newPage[0]; - } - - // save content areas into view's cache - if (!url) { - var newPageName = pageName || newPage.attr('data-page'); - if (isDynamicPage) url = '#' + app.params.dynamicPageUrl.replace(/{{name}}/g, newPageName).replace(/{{index}}/g, view.history.length - (options.reload ? 1 : 0)); - else url = '#' + newPageName; - if (!view.params.domCache) { - view.contentCache[url] = content; - } - if (view.params.domCache && pageName) { - view.pagesCache[url] = pageName; - } - } - else if (url && pageElement) { - view.pageElementsCache[url] = { - page: newPage, - navbarInner: newNavbarInner - }; - } - - // Push State - if (app.params.pushState && !options.reloadPrevious && view.main) { - if (typeof pushState === 'undefined') pushState = true; - var pushStateRoot = app.params.pushStateRoot || ''; - var method = options.reload ? 'replaceState' : 'pushState'; - if (pushState) { - if (!isDynamicPage && !pageName) { - history[method]({url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url); - } - else if (isDynamicPage && content) { - history[method]({content: typeof content === 'string' ? content : '', url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url); - } - else if (pageName) { - history[method]({pageName: pageName, url: url, viewIndex: app.views.indexOf(view)}, '', pushStateRoot + app.params.pushStateSeparator + url); - } - } - } - - // Update View history - view.url = url; - if (options.reload) { - var lastUrl = view.history[view.history.length - (options.reloadPrevious ? 2 : 1)]; - if (lastUrl && - lastUrl.indexOf('#') === 0 && - lastUrl in view.contentCache && - lastUrl !== url && - view.history.indexOf(lastUrl) === -1) { - view.contentCache[lastUrl] = null; - delete view.contentCache[lastUrl]; - } - else if (lastUrl && - lastUrl in view.pageElementsCache && - lastUrl !== url && - (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) { - view.pageElementsCache[lastUrl] = null; - delete view.pageElementsCache[lastUrl]; - } - if (lastUrl && - lastUrl in view.contextCache && - lastUrl !== url && - (view.history.indexOf(lastUrl) === -1 || view.history.indexOf(lastUrl) === view.history.length - 1)) { - view.contextCache[lastUrl] = null; - delete view.contextCache[lastUrl]; - } - view.history[view.history.length - (options.reloadPrevious ? 2 : 1)] = url; - } - else { - view.history.push(url); - } - - // Unique history - var historyBecameUnique = false; - if (view.params.uniqueHistory) { - var _history = view.history; - var _url = url; - if (view.params.uniqueHistoryIgnoreGetParameters) { - _history = []; - _url = url.split('?')[0]; - for (i = 0; i < view.history.length; i++) { - _history.push(view.history[i].split('?')[0]); - } - } - - if (_history.indexOf(_url) !== _history.lastIndexOf(_url)) { - view.history = view.history.slice(0, _history.indexOf(_url)); - view.history.push(url); - historyBecameUnique = true; - } - } - // Dom manipulations - if (options.reloadPrevious) { - oldPage = oldPage.prev('.page'); - newPage.insertBefore(oldPage); - if (dynamicNavbar) { - oldNavbarInner = oldNavbarInner.prev('.navbar-inner'); - newNavbarInner.insertAfter(oldNavbarInner); - } - } - else { - pagesContainer.append(newPage[0]); - if (dynamicNavbar) navbar.append(newNavbarInner[0]); - } - // Remove Old Page And Navbar - if (options.reload) { - if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) { - oldPage.addClass('cached'); - if (dynamicNavbar) oldNavbarInner.addClass('cached'); - } - else { - app.pageRemoveCallback(view, oldPage[0], reloadPosition); - if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]); - app.router._remove(oldPage); - if (dynamicNavbar) app.router._remove(oldNavbarInner); - } - } - - // Page Init Events - app.pageInitCallback(view, { - pageContainer: newPage[0], - url: url, - position: options.reload ? reloadPosition : 'right', - navbarInnerContainer: dynamicNavbar ? newNavbarInner && newNavbarInner[0] : undefined, - oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined, - context: t7_rendered.context, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData, - reload: options.reload, - reloadPrevious: options.reloadPrevious - }); - - // Navbar init event - if (dynamicNavbar) { - app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, options.reload ? reloadPosition : 'right'); - } - - if (options.reload) { - view.allowPageChange = true; - if (historyBecameUnique) view.refreshPreviousPage(); - return; - } - - if (dynamicNavbar && animatePages) { - app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'right'); - } - // Force reLayout - var clientLeft = newPage[0].clientLeft; - - // Before Anim Callback - app.pageAnimCallback('before', view, { - pageContainer: newPage[0], - url: url, - position: 'right', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - - function afterAnimation() { - view.allowPageChange = true; - newPage.removeClass('page-from-right-to-center page-on-right page-on-left').addClass('page-on-center'); - oldPage.removeClass('page-from-center-to-left page-on-center page-on-right').addClass('page-on-left'); - if (dynamicNavbar) { - newNavbarInner.removeClass('navbar-from-right-to-center navbar-on-left navbar-on-right').addClass('navbar-on-center'); - oldNavbarInner.removeClass('navbar-from-center-to-left navbar-on-center navbar-on-right').addClass('navbar-on-left'); - } - app.pageAnimCallback('after', view, { - pageContainer: newPage[0], - url: url, - position: 'right', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - if (app.params.pushState && view.main) app.pushStateClearQueue(); - if (!(view.params.swipeBackPage || view.params.preloadPreviousPage)) { - if (view.params.domCache) { - oldPage.addClass('cached'); - if (dynamicNavbar) oldNavbarInner.addClass('cached'); - } - else { - if (!(url.indexOf('#') === 0 && newPage.attr('data-page').indexOf('smart-select-') === 0)) { - app.pageRemoveCallback(view, oldPage[0], 'left'); - if (dynamicNavbar) app.navbarRemoveCallback(view, oldPage[0], navbar[0], oldNavbarInner[0]); - app.router._remove(oldPage); - if (dynamicNavbar) app.router._remove(oldNavbarInner); - } - } - } - if (view.params.uniqueHistory && historyBecameUnique) { - view.refreshPreviousPage(); - } - } - if (animatePages) { - // Set pages before animation - if (app.params.material && app.params.materialPageLoadDelay) { - setTimeout(function () { - app.router.animatePages(oldPage, newPage, 'to-left', view); - }, app.params.materialPageLoadDelay); - } - else { - app.router.animatePages(oldPage, newPage, 'to-left', view); - } - - // Dynamic navbar animation - if (dynamicNavbar) { - setTimeout(function() { - app.router.animateNavbars(oldNavbarInner, newNavbarInner, 'to-left', view); - }, 0); - } - newPage.animationEnd(function (e) { - afterAnimation(); - }); - } - else { - if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform(''); - afterAnimation(); - } - -}; - -app.router.load = function (view, options) { - options = options || {}; - if (app.router.preroute(view, options)) { - return false; - } - var url = options.url; - var content = options.content; - var pageName = options.pageName; - var pageElement = options.pageElement; - if (pageName) { - if (pageName.indexOf('?') > 0) { - options.query = $.parseUrlQuery(pageName); - options.pageName = pageName = pageName.split('?')[0]; - } - } - var template = options.template; - if (view.params.reloadPages === true) options.reload = true; - - if (!view.allowPageChange) return false; - if (url && view.url === url && !options.reload && !view.params.allowDuplicateUrls) return false; - view.allowPageChange = false; - if (app.xhr && view.xhr && view.xhr === app.xhr) { - app.xhr.abort(); - app.xhr = false; - } - function proceed(content) { - app.router.preprocess(view, content, url, function (content) { - options.content = content; - app.router._load(view, options); - }); - } - if (content || pageName || pageElement) { - proceed(content); - return; - } - else if (template) { - app.router._load(view, options); - return; - } - - if (!options.url || options.url === '#') { - view.allowPageChange = true; - return; - } - app.get(options.url, view, options.ignoreCache, function (content, error) { - if (error) { - view.allowPageChange = true; - return; - } - proceed(content); - }); -}; - -app.router._back = function (view, options) { - options = options || {}; - var url = options.url, - content = options.content, - t7_rendered = {content: options.content}, // will be rendered using Template7 - template = options.template, // Template 7 compiled template - animatePages = options.animatePages, - preloadOnly = options.preloadOnly, - pushState = options.pushState, - ignoreCache = options.ignoreCache, - force = options.force, - pageName = options.pageName, - pageElement = options.pageElement; - - var viewContainer = $(view.container), - pagesContainer = $(view.pagesContainer), - pagesInView = pagesContainer.children('.page:not(.cached)'), - oldPage, newPage, oldNavbarInner, newNavbarInner, navbar, navbarInners, dynamicNavbar, manipulateDom = true; - - if (typeof animatePages === 'undefined') animatePages = view.params.animatePages; - - app.pluginHook('routerBack', view, options); - - // Render with Template7 - if (app.params.template7Pages && typeof content === 'string' || template) { - t7_rendered = app.router.template7Render(view, options); - if (t7_rendered.content && !content) { - content = t7_rendered.content; - } - } - - // Animation - function afterAnimation() { - app.pageBackCallback('after', view, { - pageContainer: oldPage[0], - url: url, - position: 'center', - oldPage: oldPage, - newPage: newPage, - }); - app.pageAnimCallback('after', view, { - pageContainer: newPage[0], - url: url, - position: 'left', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - app.router.afterBack(view, oldPage[0], newPage[0]); - } - function animateBack() { - // Page before animation callback - app.pageBackCallback('before', view, { - pageContainer: oldPage[0], - url: url, - position: 'center', - oldPage: oldPage, - newPage: newPage, - }); - app.pageAnimCallback('before', view, { - pageContainer: newPage[0], - url: url, - position: 'left', - oldPage: oldPage, - newPage: newPage, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData - }); - - if (animatePages) { - // Set pages before animation - app.router.animatePages(newPage, oldPage, 'to-right', view); - - // Dynamic navbar animation - if (dynamicNavbar) { - setTimeout(function () { - app.router.animateNavbars(newNavbarInner, oldNavbarInner, 'to-right', view); - }, 0); - } - - newPage.animationEnd(function () { - afterAnimation(); - }); - } - else { - if (dynamicNavbar) newNavbarInner.find('.sliding, .sliding .back .icon').transform(''); - afterAnimation(); - } - } - - function parseNewPage() { - app.router.temporaryDom.innerHTML = ''; - // Parse DOM - if ((typeof content === 'string') || (url && (typeof content === 'string'))) { - app.router.temporaryDom.innerHTML = t7_rendered.content; - } else { - if ('length' in content && content.length > 1) { - for (var ci = 0; ci < content.length; ci++) { - $(app.router.temporaryDom).append(content[ci]); - } - } else { - $(app.router.temporaryDom).append(content); - } - } - if (pageElement) newPage = $(pageElement); - else newPage = app.router.findElement('.page', app.router.temporaryDom, view); - - if (view.params.dynamicNavbar) { - // Find navbar - newNavbarInner = app.router.findElement('.navbar-inner', app.router.temporaryDom, view); - } - } - function setPages() { - // If pages not found or there are still more than one, exit - if (!newPage || newPage.length === 0) { - view.allowPageChange = true; - return; - } - if (view.params.dynamicNavbar && typeof dynamicNavbar === 'undefined') { - if (!newNavbarInner || newNavbarInner.length === 0) { - dynamicNavbar = false; - } - else { - dynamicNavbar = true; - } - } - - newPage.addClass('page-on-left').removeClass('cached'); - if (dynamicNavbar) { - navbar = viewContainer.children('.navbar'); - navbarInners = navbar.find('.navbar-inner:not(.cached)'); - newNavbarInner.addClass('navbar-on-left').removeClass('cached'); - } - // Remove/hide previous page in force mode - if (force) { - var pageToRemove, navbarToRemove; - pageToRemove = $(pagesInView[pagesInView.length - 2]); - - if (dynamicNavbar) navbarToRemove = $(pageToRemove[0] && pageToRemove[0].f7RelatedNavbar || navbarInners[navbarInners.length - 2]); - if (view.params.domCache && view.initialPages.indexOf(pageToRemove[0]) >= 0) { - if (pageToRemove.length && pageToRemove[0] !== newPage[0]) pageToRemove.addClass('cached'); - if (dynamicNavbar && navbarToRemove.length && navbarToRemove[0] !== newNavbarInner[0]) { - navbarToRemove.addClass('cached'); - } - } - else { - var removeNavbar = dynamicNavbar && navbarToRemove.length; - if (pageToRemove.length) { - app.pageRemoveCallback(view, pageToRemove[0], 'right'); - if (removeNavbar) { - app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]); - } - app.router._remove(pageToRemove); - if (removeNavbar) app.router._remove(navbarToRemove); - } - else if (removeNavbar) { - app.navbarRemoveCallback(view, pageToRemove[0], navbar[0], navbarToRemove[0]); - app.router._remove(navbarToRemove); - } - } - pagesInView = pagesContainer.children('.page:not(.cached)'); - if (dynamicNavbar) { - navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)'); - } - if (view.history.indexOf(url) >= 0) { - view.history = view.history.slice(0, view.history.indexOf(url) + 2); - } - else { - if (view.history[[view.history.length - 2]]) { - view.history[view.history.length - 2] = url; - } - else { - view.history.unshift(url); - } - } - } - - oldPage = $(pagesInView[pagesInView.length - 1]); - if (view.params.domCache) { - if (oldPage[0] === newPage[0]) { - oldPage = pagesContainer.children('.page.page-on-center'); - if (oldPage.length === 0 && view.activePage) oldPage = $(view.activePage.container); - } - } - - if (dynamicNavbar && !oldNavbarInner) { - oldNavbarInner = $(navbarInners[navbarInners.length - 1]); - if (view.params.domCache) { - if (oldNavbarInner[0] === newNavbarInner[0]) { - oldNavbarInner = navbar.children('.navbar-inner.navbar-on-center:not(.cached)'); - } - if (oldNavbarInner.length === 0) { - oldNavbarInner = navbar.children('.navbar-inner[data-page="'+oldPage.attr('data-page')+'"]'); - } - } - if (oldNavbarInner.length === 0 || newNavbarInner[0] === oldNavbarInner[0]) dynamicNavbar = false; - } - - if (dynamicNavbar) { - if (manipulateDom) newNavbarInner.insertBefore(oldNavbarInner); - newNavbarInner[0].f7RelatedPage = newPage[0]; - newPage[0].f7RelatedNavbar = newNavbarInner[0]; - } - if (manipulateDom) newPage.insertBefore(oldPage); - - // Page Init Events - app.pageInitCallback(view, { - pageContainer: newPage[0], - url: url, - position: 'left', - navbarInnerContainer: dynamicNavbar ? newNavbarInner[0] : undefined, - oldNavbarInnerContainer: dynamicNavbar ? oldNavbarInner && oldNavbarInner[0] : undefined, - context: t7_rendered.context, - query: options.query, - fromPage: oldPage && oldPage.length && oldPage[0].f7PageData, - preloadOnly: preloadOnly - }); - if (dynamicNavbar) { - app.navbarInitCallback(view, newPage[0], navbar[0], newNavbarInner[0], url, 'right'); - } - - if (dynamicNavbar && newNavbarInner.hasClass('navbar-on-left') && animatePages) { - app.router.prepareNavbar(newNavbarInner, oldNavbarInner, 'left'); - } - - if (preloadOnly) { - view.allowPageChange = true; - return; - } - - // Update View's URL - view.url = url; - - // Force reLayout - var clientLeft = newPage[0].clientLeft; - - animateBack(); - - // Push state - if (app.params.pushState && view.main) { - if (typeof pushState === 'undefined') pushState = true; - if (!preloadOnly && history.state && pushState) { - history.back(); - } - } - return; - } - - // Simple go back when we have pages on left - if (pagesInView.length > 1 && !force) { - // Exit if only preloadOnly - if (preloadOnly) { - view.allowPageChange = true; - return; - } - // Update View's URL - view.url = view.history[view.history.length - 2]; - url = view.url; - - // Define old and new pages - newPage = $(pagesInView[pagesInView.length - 2]); - oldPage = $(pagesInView[pagesInView.length - 1]); - - // Dynamic navbar - if (view.params.dynamicNavbar) { - dynamicNavbar = true; - // Find navbar - navbarInners = viewContainer.children('.navbar').find('.navbar-inner:not(.cached)'); - newNavbarInner = $(navbarInners[0]); - oldNavbarInner = $(navbarInners[1]); - if (newNavbarInner.length === 0 || oldNavbarInner.length === 0 || oldNavbarInner[0] === newNavbarInner[0]) { - dynamicNavbar = false; - } - } - manipulateDom = false; - setPages(); - return; - } - - if (!force) { - // Go back when there is no pages on left - if (!preloadOnly) { - view.url = view.history[view.history.length - 2]; - url = view.url; - } - - if (content) { - parseNewPage(); - setPages(); - return; - } - else if (pageName) { - // Get dom cached pages - newPage = $(viewContainer).find('.page[data-page="' + pageName + '"]'); - if (view.params.dynamicNavbar) { - newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page="' + pageName + '"]'); - if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) { - newNavbarInner = $(newPage[0].f7RelatedNavbar); - } - if (newNavbarInner.length === 0 && newPage[0].f7PageData) { - newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer); - } - } - setPages(); - return; - } - else if (url && url in view.pageElementsCache) { - newPage = view.pageElementsCache[url].page; - newNavbarInner = view.pageElementsCache[url].navbarInner; - setPages(); - return; - } - else { - view.allowPageChange = true; - return; - } - } - else { - if (url && url === view.url || pageName && view.activePage && view.activePage.name === pageName) { - view.allowPageChange = true; - return; - } - // Go back with force url - if (content) { - parseNewPage(); - setPages(); - return; - } - else if (pageName && view.params.domCache) { - if (pageName) url = '#' + pageName; - - newPage = $(viewContainer).find('.page[data-page="' + pageName + '"]'); - if (newPage[0].f7PageData && newPage[0].f7PageData.url) { - url = newPage[0].f7PageData.url; - } - if (view.params.dynamicNavbar) { - newNavbarInner = $(viewContainer).children('.navbar').find('.navbar-inner[data-page="' + pageName + '"]'); - if (newNavbarInner.length === 0 && newPage[0].f7RelatedNavbar) { - newNavbarInner = $(newPage[0].f7RelatedNavbar); - } - if (newNavbarInner.length === 0 && newPage[0].f7PageData) { - newNavbarInner = $(newPage[0].f7PageData.navbarInnerContainer); - } - } - setPages(); - return; - } - else if (pageElement && url) { - newPage = $(pageElement); - if (view.params.dynamicNavbar) { - newNavbarInner = newPage.find('.navbar-inner'); - if (newNavbarInner.length > 0) { - newPage.prepend(newNavbarInner); - app.router._remove(newPage.find('.navbar')); - } - } - setPages(); - return; - } - else { - view.allowPageChange = true; - return; - } - } - -}; -app.router.back = function (view, options) { - options = options || {}; - if (app.router.preroute(view, options, true)) { - return false; - } - var url = options.url; - var content = options.content; - var pageName = options.pageName; - var pageElement = options.pageElement; - if (pageName) { - if (pageName.indexOf('?') > 0) { - options.query = $.parseUrlQuery(pageName); - options.pageName = pageName = pageName.split('?')[0]; - } - } - var force = options.force; - if (!view.allowPageChange) return false; - view.allowPageChange = false; - if (app.xhr && view.xhr && view.xhr === app.xhr) { - app.xhr.abort(); - app.xhr = false; - } - var pagesInView = $(view.pagesContainer).find('.page:not(.cached)'); - - function proceed(content) { - app.router.preprocess(view, content, url, function (content) { - options.content = content; - app.router._back(view, options); - }); - } - if (pagesInView.length > 1 && !force) { - // Simple go back to previos page in view - app.router._back(view, options); - return; - } - if (!force) { - url = view.history[view.history.length - 2] || options.url; - if (!options.url) options.url = url; - if (!url) { - view.allowPageChange = true; - return; - } - if (url.indexOf('#') === 0 && view.contentCache[url]) { - proceed(view.contentCache[url]); - return; - } - else if (url.indexOf('#') === 0 && view.params.domCache) { - if (!pageName) options.pageName = url.split('#')[1]; - proceed(); - return; - } - else if (url && url in view.pageElementsCache) { - proceed(); - } - else if (url.indexOf('#') !== 0) { - // Load ajax page - app.get(options.url, view, options.ignoreCache, function (content, error) { - if (error) { - view.allowPageChange = true; - return; - } - proceed(content); - }); - return; - } - } - else { - // Go back with force url - if (!url && content) { - proceed(content); - return; - } - else if (!url && pageName) { - if (pageName) url = '#' + pageName; - proceed(); - return; - } - else if (url && pageElement) { - proceed(); - return; - } - else if (url) { - app.get(options.url, view, options.ignoreCache, function (content, error) { - if (error) { - view.allowPageChange = true; - return; - } - proceed(content); - }); - return; - } - } - view.allowPageChange = true; - return; -}; - -app.router.afterBack = function (view, oldPage, newPage) { - // Remove old page and set classes on new one - oldPage = $(oldPage); - newPage = $(newPage); - - if (view.params.domCache && view.initialPages.indexOf(oldPage[0]) >= 0) { - oldPage.removeClass('page-from-center-to-right').addClass('cached'); - } - else { - app.pageRemoveCallback(view, oldPage[0], 'right'); - app.router._remove(oldPage); - } - - newPage.removeClass('page-from-left-to-center page-on-left').addClass('page-on-center'); - view.allowPageChange = true; - - // Update View's History - var previousURL = view.history.pop(); - - var newNavbar; - - // Updated dynamic navbar - if (view.params.dynamicNavbar) { - var inners = $(view.container).children('.navbar').find('.navbar-inner:not(.cached)'); - var oldNavbar = $(oldPage[0].f7RelatedNavbar || inners[1]); - if (view.params.domCache && view.initialNavbars.indexOf(oldNavbar[0]) >= 0) { - oldNavbar.removeClass('navbar-from-center-to-right').addClass('cached'); - } - else { - app.navbarRemoveCallback(view, oldPage[0], undefined, oldNavbar[0]); - app.router._remove(oldNavbar); - } - newNavbar = $(inners[0]).removeClass('navbar-on-left navbar-from-left-to-center').addClass('navbar-on-center'); - } - - // Remove pages in dom cache - if (view.params.domCache) { - $(view.container).find('.page.cached').each(function () { - var page = $(this); - var index = page.index(); - var pageUrl = page[0].f7PageData && page[0].f7PageData.url; - if (pageUrl && view.history.indexOf(pageUrl) < 0 && view.initialPages.indexOf(this) < 0) { - app.pageRemoveCallback(view, page[0], 'right'); - if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.navbarRemoveCallback(view, page[0], undefined, page[0].f7RelatedNavbar); - app.router._remove(page); - if (page[0].f7RelatedNavbar && view.params.dynamicNavbar) app.router._remove(page[0].f7RelatedNavbar); - } - }); - } - - // Check previous page is content based only and remove it from content cache - if (!view.params.domCache && - previousURL && - previousURL.indexOf('#') > -1 && - (previousURL in view.contentCache) && - // If the same page is in the history multiple times, don't remove it. - view.history.indexOf(previousURL) === -1) { - view.contentCache[previousURL] = null; - delete view.contentCache[previousURL]; - } - if (previousURL && - (previousURL in view.pageElementsCache) && - // If the same page is in the history multiple times, don't remove it. - view.history.indexOf(previousURL) === -1) { - view.pageElementsCache[previousURL] = null; - delete view.pageElementsCache[previousURL]; - } - // Check for context cache - if (previousURL && - (previousURL in view.contextCache) && - // If the same page is in the history multiple times, don't remove it. - view.history.indexOf(previousURL) === -1) { - view.contextCache[previousURL] = null; - delete view.contextCache[previousURL]; - } - - if (app.params.pushState && view.main) app.pushStateClearQueue(); - - // Preload previous page - if (view.params.preloadPreviousPage) { - if (view.params.domCache && view.history.length > 1) { - var preloadUrl = view.history[view.history.length - 2]; - var previousPage; - var previousNavbar; - if (preloadUrl && view.pagesCache[preloadUrl]) { - // Load by page name - previousPage = $(view.container).find('.page[data-page="' + view.pagesCache[preloadUrl] + '"]'); - if (previousPage.next('.page')[0] !== newPage[0]) previousPage.insertBefore(newPage); - if (newNavbar) { - previousNavbar = $(view.container).children('.navbar').find('.navbar-inner[data-page="' + view.pagesCache[preloadUrl] + '"]'); - if(!previousNavbar || previousNavbar.length === 0) previousNavbar = newNavbar.prev('.navbar-inner.cached'); - if (previousNavbar.next('.navbar-inner')[0] !== newNavbar[0]) previousNavbar.insertBefore(newNavbar); - } - } - else { - // Just load previous page - previousPage = newPage.prev('.page.cached'); - if (newNavbar) previousNavbar = newNavbar.prev('.navbar-inner.cached'); - } - if (previousPage && previousPage.length > 0) previousPage.removeClass('cached page-on-right page-on-center').addClass('page-on-left'); - if (previousNavbar && previousNavbar.length > 0) previousNavbar.removeClass('cached navbar-on-right navbar-on-center').addClass('navbar-on-left'); - } - else { - app.router.back(view, {preloadOnly: true}); - } - } -}; diff --git a/vendor/framework7/src/js/scroll-toolbars.js b/vendor/framework7/src/js/scroll-toolbars.js deleted file mode 100644 index b7d35b22f..000000000 --- a/vendor/framework7/src/js/scroll-toolbars.js +++ /dev/null @@ -1,117 +0,0 @@ -/*============================================================= -************ Hide/show Toolbar/Navbar on scroll ************ -=============================================================*/ -app.initPageScrollToolbars = function (pageContainer) { - pageContainer = $(pageContainer); - var scrollContent = pageContainer.find('.page-content'); - if (scrollContent.length === 0) return; - var hideNavbar = (app.params.hideNavbarOnPageScroll || scrollContent.hasClass('hide-navbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-navbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll')); - var hideToolbar = (app.params.hideToolbarOnPageScroll || scrollContent.hasClass('hide-toolbar-on-scroll') || scrollContent.hasClass('hide-bars-on-scroll')) && !(scrollContent.hasClass('keep-toolbar-on-scroll') || scrollContent.hasClass('keep-bars-on-scroll')); - var hideTabbar = (app.params.hideTabbarOnPageScroll || scrollContent.hasClass('hide-tabbar-on-scroll')) && !(scrollContent.hasClass('keep-tabbar-on-scroll')); - - if (!(hideNavbar || hideToolbar || hideTabbar)) return; - - var viewContainer = scrollContent.parents('.' + app.params.viewClass); - if (viewContainer.length === 0) return; - - var navbar = viewContainer.find('.navbar'), - toolbar = viewContainer.find('.toolbar'), - tabbar; - if (hideTabbar) { - tabbar = viewContainer.find('.tabbar'); - if (tabbar.length === 0) tabbar = viewContainer.parents('.' + app.params.viewsClass).find('.tabbar'); - } - - var hasNavbar = navbar.length > 0, - hasToolbar = toolbar.length > 0, - hasTabbar = tabbar && tabbar.length > 0; - - var previousScroll, currentScroll; - previousScroll = currentScroll = scrollContent[0].scrollTop; - - var scrollHeight, offsetHeight, reachEnd, action, navbarHidden, toolbarHidden, tabbarHidden; - - var toolbarHeight = (hasToolbar && hideToolbar) ? toolbar[0].offsetHeight : 0; - var tabbarHeight = (hasTabbar && hideTabbar) ? tabbar[0].offsetHeight : 0; - var bottomBarHeight = tabbarHeight || toolbarHeight; - - function handleScroll(e) { - if (pageContainer.hasClass('page-on-left')) return; - currentScroll = scrollContent[0].scrollTop; - scrollHeight = scrollContent[0].scrollHeight; - offsetHeight = scrollContent[0].offsetHeight; - reachEnd = currentScroll + offsetHeight >= scrollHeight - bottomBarHeight; - navbarHidden = navbar.hasClass('navbar-hidden'); - toolbarHidden = toolbar.hasClass('toolbar-hidden'); - tabbarHidden = tabbar && tabbar.hasClass('toolbar-hidden'); - - if (reachEnd) { - if (app.params.showBarsOnPageScrollEnd) { - action = 'show'; - } - } - else if (previousScroll > currentScroll) { - if (app.params.showBarsOnPageScrollTop || currentScroll <= 44) { - action = 'show'; - } - else { - action = 'hide'; - } - } - else { - if (currentScroll > 44) { - action = 'hide'; - } - else { - action = 'show'; - } - } - - if (action === 'show') { - if (hasNavbar && hideNavbar && navbarHidden) { - app.showNavbar(navbar); - pageContainer.removeClass('no-navbar-by-scroll'); - navbarHidden = false; - } - if (hasToolbar && hideToolbar && toolbarHidden) { - app.showToolbar(toolbar); - pageContainer.removeClass('no-toolbar-by-scroll'); - toolbarHidden = false; - } - if (hasTabbar && hideTabbar && tabbarHidden) { - app.showToolbar(tabbar); - pageContainer.removeClass('no-tabbar-by-scroll'); - tabbarHidden = false; - } - } - else { - if (hasNavbar && hideNavbar && !navbarHidden) { - app.hideNavbar(navbar); - pageContainer.addClass('no-navbar-by-scroll'); - navbarHidden = true; - } - if (hasToolbar && hideToolbar && !toolbarHidden) { - app.hideToolbar(toolbar); - pageContainer.addClass('no-toolbar-by-scroll'); - toolbarHidden = true; - } - if (hasTabbar && hideTabbar && !tabbarHidden) { - app.hideToolbar(tabbar); - pageContainer.addClass('no-tabbar-by-scroll'); - tabbarHidden = true; - } - } - - previousScroll = currentScroll; - } - scrollContent.on('scroll', handleScroll); - scrollContent[0].f7ScrollToolbarsHandler = handleScroll; -}; -app.destroyScrollToolbars = function (pageContainer) { - pageContainer = $(pageContainer); - var scrollContent = pageContainer.find('.page-content'); - if (scrollContent.length === 0) return; - var handler = scrollContent[0].f7ScrollToolbarsHandler; - if (!handler) return; - scrollContent.off('scroll', scrollContent[0].f7ScrollToolbarsHandler); -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/searchbar.js b/vendor/framework7/src/js/searchbar.js deleted file mode 100644 index 7e5463b64..000000000 --- a/vendor/framework7/src/js/searchbar.js +++ /dev/null @@ -1,345 +0,0 @@ -/*====================================================== -************ Searchbar ************ -======================================================*/ -var Searchbar = function (container, params) { - var defaults = { - input: null, - clearButton: null, - cancelButton: null, - searchList: null, - searchIn: '.item-title', - searchBy: '', - found: null, - notFound: null, - overlay: null, - ignore: '.searchbar-ignore', - customSearch: false, - removeDiacritics: false, - hideDividers: true, - hideGroups: true, - /* Callbacks - onSearch - onEnable - onDisable - onClear - */ - - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined' || params[def] === null) { - params[def] = defaults[def]; - } - } - - // Instance - var s = this; - - // Material - s.material = app.params.material; - - // Params - s.params = params; - - // Container - container = $(container); - s.container = container; - - // Active - s.active = false; - - // Input - s.input = s.params.input ? $(s.params.input) : s.container.find('input[type="search"]'); - s.clearButton = s.params.clearButton ? $(s.params.clearButton) : s.container.find('.searchbar-clear'); - s.cancelButton = s.params.cancelButton ? $(s.params.cancelButton) : s.container.find('.searchbar-cancel'); - - // Search List - s.searchList = $(s.params.searchList); - - // Is Virtual List - s.isVirtualList = s.searchList.hasClass('virtual-list'); - - // Is In Page - s.pageContainer = s.container.parents('.page').eq(0); - - // Overlay - if (!s.params.overlay) { - s.overlay = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-overlay') : $('.searchbar-overlay'); - } - else { - s.overlay = $(s.params.overlay); - } - // Found and not found - if (!s.params.found) { - s.found = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-found') : $('.searchbar-found'); - } - else { - s.found = $(s.params.found); - } - if (!s.params.notFound) { - s.notFound = s.pageContainer.length > 0 ? s.pageContainer.find('.searchbar-not-found') : $('.searchbar-not-found'); - } - else { - s.notFound = $(s.params.notFound); - } - - // Set Cancel button - var cancelMarginProp = app.rtl ? 'margin-left' : 'margin-right'; - var cancelButtonHasMargin = false; - s.setCancelButtonMargin = function () { - s.cancelButton.transition(0).show(); - s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px'); - var clientLeft = s.cancelButton[0].clientLeft; - s.cancelButton.transition(''); - cancelButtonHasMargin = true; - }; - - // Trigger - s.triggerEvent = function (eventName, callbackName, eventData) { - s.container.trigger(eventName, eventData); - if (s.searchList.length > 0) s.searchList.trigger(eventName, eventData); - if (callbackName && s.params[callbackName]) s.params[callbackName](s, eventData); - }; - - // Enable/disalbe - s.enable = function (e) { - function _enable() { - if ((s.searchList.length || s.params.customSearch) && !s.container.hasClass('searchbar-active') && !s.query) s.overlay.addClass('searchbar-overlay-active'); - s.container.addClass('searchbar-active'); - if (s.cancelButton.length > 0 && !s.material) { - if (!cancelButtonHasMargin) { - s.setCancelButtonMargin(); - } - s.cancelButton.css(cancelMarginProp, '0px'); - } - s.triggerEvent('enableSearch', 'onEnable'); - s.active = true; - } - if (app.device.ios && !app.params.material && e && e.type === 'focus') { - setTimeout(function () { - _enable(); - }, 400); - } - else { - _enable(); - } - }; - - s.disable = function () { - s.input.val('').trigger('change'); - s.container.removeClass('searchbar-active searchbar-not-empty'); - if (s.cancelButton.length > 0 && !s.material) s.cancelButton.css(cancelMarginProp, -s.cancelButton[0].offsetWidth + 'px'); - - if (s.searchList.length || s.params.customSearch) s.overlay.removeClass('searchbar-overlay-active'); - - s.active = false; - function _disable() { - s.input.blur(); - } - if (app.device.ios) { - setTimeout(function () { - _disable(); - }, 400); - } - else { - _disable(); - } - s.triggerEvent('disableSearch', 'onDisable'); - }; - - // Clear - s.clear = function (e) { - if (!s.query && e && $(e.target).hasClass('searchbar-clear')) { - s.disable(); - return; - } - s.input.val('').trigger('change').focus(); - s.triggerEvent('clearSearch', 'onClear'); - }; - - // Search - s.handleInput = function () { - setTimeout(function () { - var value = s.input.val().trim(); - if ((s.searchList.length > 0 || s.params.customSearch) && (s.params.searchIn || s.isVirtualList)) s.search(value, true); - }, 0); - }; - - var previousQuery = ''; - var virtualList; - s.search = function (query, internal) { - if (query.trim() === previousQuery) return; - previousQuery = query.trim(); - - if (!internal) { - if (!s.active) { - s.enable(); - } - s.input.val(query); - } - s.query = s.value = query; - // Add active/inactive classes on overlay - if (query.length === 0) { - s.container.removeClass('searchbar-not-empty'); - if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.addClass('searchbar-overlay-active'); - } - else { - s.container.addClass('searchbar-not-empty'); - if (s.searchList.length && s.container.hasClass('searchbar-active')) s.overlay.removeClass('searchbar-overlay-active'); - } - - if (s.params.customSearch) { - s.triggerEvent('search', 'onSearch', {query: query}); - return; - } - - var foundItems = [], _vlQuery; - if (s.isVirtualList) { - virtualList = s.searchList[0].f7VirtualList; - if (query.trim() === '') { - virtualList.resetFilter(); - s.notFound.hide(); - s.found.show(); - return; - } - _vlQuery = s.params.removeDiacritics ? $.removeDiacritics(query) : query; - if (virtualList.params.searchAll) { - foundItems = virtualList.params.searchAll(_vlQuery, virtualList.items) || []; - } - else if (virtualList.params.searchByItem) { - for (var i = 0; i < virtualList.items.length; i++) { - if(virtualList.params.searchByItem(_vlQuery, i, virtualList.params.items[i])) { - foundItems.push(i); - } - } - } - } - else { - var values; - if (s.params.removeDiacritics) values = $.removeDiacritics(query.trim().toLowerCase()).split(' '); - else { - values = query.trim().toLowerCase().split(' '); - } - s.searchList.find('li').removeClass('hidden-by-searchbar').each(function (index, el) { - el = $(el); - var compareWithText = []; - el.find(s.params.searchIn).each(function () { - var itemText = $(this).text().trim().toLowerCase(); - if (s.params.removeDiacritics) itemText = $.removeDiacritics(itemText); - compareWithText.push(itemText); - }); - compareWithText = compareWithText.join(' '); - var wordsMatch = 0; - for (var i = 0; i < values.length; i++) { - if (compareWithText.indexOf(values[i]) >= 0) wordsMatch++; - } - if (wordsMatch !== values.length && !(s.params.ignore && el.is(s.params.ignore))) { - el.addClass('hidden-by-searchbar'); - } - else { - foundItems.push(el[0]); - } - }); - - if (s.params.hideDividers) { - s.searchList.find('.item-divider, .list-group-title').each(function () { - var title = $(this); - var nextElements = title.nextAll('li'); - var hide = true; - for (var i = 0; i < nextElements.length; i++) { - var nextEl = $(nextElements[i]); - if (nextEl.hasClass('list-group-title') || nextEl.hasClass('item-divider')) break; - if (!nextEl.hasClass('hidden-by-searchbar')) { - hide = false; - } - } - var ignore = s.params.ignore && title.is(s.params.ignore); - if (hide && !ignore) title.addClass('hidden-by-searchbar'); - else title.removeClass('hidden-by-searchbar'); - }); - } - if (s.params.hideGroups) { - s.searchList.find('.list-group').each(function () { - var group = $(this); - var ignore = s.params.ignore && group.is(s.params.ignore); - var notHidden = group.find('li:not(.hidden-by-searchbar)'); - if (notHidden.length === 0 && !ignore) { - group.addClass('hidden-by-searchbar'); - } - else { - group.removeClass('hidden-by-searchbar'); - } - }); - } - } - s.triggerEvent('search', 'onSearch', {query: query, foundItems: foundItems}); - if (foundItems.length === 0) { - s.notFound.show(); - s.found.hide(); - } - else { - s.notFound.hide(); - s.found.show(); - } - if (s.isVirtualList) { - virtualList.filterItems(foundItems); - } - }; - - // Events - function preventSubmit(e) { - e.preventDefault(); - } - - s.attachEvents = function (destroy) { - var method = destroy ? 'off' : 'on'; - s.container[method]('submit', preventSubmit); - if (!s.material) s.cancelButton[method]('click', s.disable); - s.overlay[method]('click', s.disable); - s.input[method]('focus', s.enable); - s.input[method]('change keydown keypress keyup', s.handleInput); - s.clearButton[method]('click', s.clear); - - }; - s.detachEvents = function() { - s.attachEvents(true); - }; - - // Init Destroy - s.init = function () { - s.attachEvents(); - }; - s.destroy = function () { - if (!s) return; - s.detachEvents(); - s = null; - }; - - // Init - s.init(); - - s.container[0].f7Searchbar = s; - return s; - -}; -app.searchbar = function (container, params) { - return new Searchbar(container, params); -}; -app.initSearchbar = function (container) { - container = $(container); - var searchbar = container.hasClass('searchbar') ? container : container.find('.searchbar'); - if (searchbar.length === 0) return; - if (!searchbar.hasClass('searchbar-init')) return; - - var sb = app.searchbar(searchbar, searchbar.dataset()); - - function onBeforeRemove() { - if (sb) sb.destroy(); - } - if (container.hasClass('page')) { - container.once('pageBeforeRemove', onBeforeRemove); - } - else if (container.hasClass('navbar-inner')) { - container.once('navbarBeforeRemove', onBeforeRemove); - } -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/smart-select.js b/vendor/framework7/src/js/smart-select.js deleted file mode 100644 index 7e4896e7e..000000000 --- a/vendor/framework7/src/js/smart-select.js +++ /dev/null @@ -1,519 +0,0 @@ -/*=============================================================================== -************ Smart Select ************ -===============================================================================*/ -app.initSmartSelects = function (pageContainer) { - pageContainer = $(pageContainer); - var selects; - if (pageContainer.is('.smart-select')) { - selects = pageContainer; - } - else { - selects = pageContainer.find('.smart-select'); - } - if (selects.length === 0) return; - - selects.each(function () { - var smartSelect = $(this); - - var $select = smartSelect.find('select'); - if ($select.length === 0) return; - - var select = $select[0]; - if (select.length === 0) return; - - var valueText = []; - for (var i = 0; i < select.length; i++) { - if (select[i].selected) valueText.push(select[i].textContent.trim()); - } - - var itemAfter = smartSelect.find('.item-after'); - if (itemAfter.length === 0) { - smartSelect.find('.item-inner').append('
                                                          ' + valueText.join(', ') + '
                                                          '); - } - else { - var selectedText = itemAfter.text(); - if (itemAfter.hasClass('smart-select-value')) { - for (i = 0; i < select.length; i++) { - select[i].selected = select[i].textContent.trim() === selectedText.trim(); - } - } else { - itemAfter.text(valueText.join(', ')); - } - } - - $select.on('change', function () { - var valueText = []; - for (var i = 0; i < select.length; i++) { - if (select[i].selected) valueText.push(select[i].textContent.trim()); - } - smartSelect.find('.item-after').text(valueText.join(', ')); - }); - - }); - -}; -app.smartSelectAddOption = function (select, option, index) { - select = $(select); - var smartSelect = select.parents('.smart-select'); - if (typeof index === 'undefined') { - select.append(option); - } - else { - $(option).insertBefore(select.find('option').eq(index)); - } - app.initSmartSelects(smartSelect); - var selectName = smartSelect.find('select').attr('name'); - var opened = $('.page.smart-select-page[data-select-name="' + selectName + '"]').length > 0; - if (opened) { - app.smartSelectOpen(smartSelect, true); - } -}; -app.smartSelectOpen = function (smartSelect, reLayout) { - smartSelect = $(smartSelect); - if (smartSelect.length === 0) return; - - // Find related view - var view = smartSelect.parents('.' + app.params.viewClass); - if (view.length === 0) return; - view = view[0].f7View; - - // Parameters - var openIn = smartSelect.attr('data-open-in') || app.params.smartSelectOpenIn; - if (openIn === 'popup') { - if ($('.popup.smart-select-popup').length > 0) return; - } - else if (openIn === 'picker') { - if ($('.picker-modal.modal-in').length > 0 && !reLayout){ - if (smartSelect[0].f7SmartSelectPicker !== $('.picker-modal.modal-in:not(.modal-out)')[0]) app.closeModal($('.picker-modal.modal-in:not(.modal-out)')); - else return; - } - } - else { - if (!view) return; - } - - var smartSelectData = smartSelect.dataset(); - var pageTitle = smartSelectData.pageTitle || smartSelect.find('.item-title').text(); - var backText = smartSelectData.backText || app.params.smartSelectBackText; - var closeText; - if (openIn === 'picker') { - closeText = smartSelectData.pickerCloseText || smartSelectData.backText || app.params.smartSelectPickerCloseText ; - } - else { - closeText = smartSelectData.popupCloseText || smartSelectData.backText || app.params.smartSelectPopupCloseText ; - } - var backOnSelect = smartSelectData.backOnSelect !== undefined ? smartSelectData.backOnSelect : app.params.smartSelectBackOnSelect; - var formTheme = smartSelectData.formTheme || app.params.smartSelectFormTheme; - var navbarTheme = smartSelectData.navbarTheme || app.params.smartSelectNavbarTheme; - var toolbarTheme = smartSelectData.toolbarTheme || app.params.smartSelectToolbarTheme; - var virtualList = smartSelectData.virtualList; - var virtualListHeight = smartSelectData.virtualListHeight; - var material = app.params.material; - var pickerHeight = smartSelectData.pickerHeight || app.params.smartSelectPickerHeight; - - // Collect all options/values - var select = smartSelect.find('select')[0]; - var $select = $(select); - var $selectData = $select.dataset(); - if (select.disabled || smartSelect.hasClass('disabled') || $select.hasClass('disabled')) { - return; - } - var values = []; - var id = (new Date()).getTime(); - var inputType = select.multiple ? 'checkbox' : 'radio'; - var inputName = inputType + '-' + id; - var maxLength = $select.attr('maxlength'); - var selectName = select.name; - var option, optionHasMedia, optionImage, optionIcon, optionGroup, optionGroupLabel, optionPreviousGroup, optionIsLabel, previousGroup, optionColor, optionClassName, optionData; - for (var i = 0; i < select.length; i++) { - option = $(select[i]); - optionData = option.dataset(); - optionImage = optionData.optionImage || $selectData.optionImage || smartSelectData.optionImage; - optionIcon = optionData.optionIcon || $selectData.optionIcon || smartSelectData.optionIcon; - optionHasMedia = optionImage || optionIcon || inputType === 'checkbox'; - if (material) optionHasMedia = optionImage || optionIcon; - optionColor = optionData.optionColor; - optionClassName = optionData.optionClass; - if (option[0].disabled) optionClassName += ' disabled'; - optionGroup = option.parent('optgroup')[0]; - optionGroupLabel = optionGroup && optionGroup.label; - optionIsLabel = false; - if (optionGroup) { - if (optionGroup !== previousGroup) { - optionIsLabel = true; - previousGroup = optionGroup; - values.push({ - groupLabel: optionGroupLabel, - isLabel: optionIsLabel - }); - } - } - values.push({ - value: option[0].value, - text: option[0].textContent.trim(), - selected: option[0].selected, - group: optionGroup, - groupLabel: optionGroupLabel, - image: optionImage, - icon: optionIcon, - color: optionColor, - className: optionClassName, - disabled: option[0].disabled, - inputType: inputType, - id: id, - hasMedia: optionHasMedia, - checkbox: inputType === 'checkbox', - inputName: inputName, - material: app.params.material - }); - } - - - // Item template/HTML - if (!app._compiledTemplates.smartSelectItem) { - app._compiledTemplates.smartSelectItem = t7.compile(app.params.smartSelectItemTemplate || - '{{#if isLabel}}' + - '
                                                        • {{groupLabel}}
                                                        • ' + - '{{else}}' + - '' + - '' + - '' + - '{{/if}}' - ); - } - var smartSelectItemTemplate = app._compiledTemplates.smartSelectItem; - - var inputsHTML = ''; - if (!virtualList) { - for (var j = 0; j < values.length; j++) { - inputsHTML += smartSelectItemTemplate(values[j]); - } - } - - // Toolbar / Navbar - var toolbarHTML = '', navbarHTML; - var noNavbar = '', noToolbar = '', noTabbar = '', navbarLayout; - - if (openIn === 'picker') { - if (!app._compiledTemplates.smartSelectToolbar) { - app._compiledTemplates.smartSelectToolbar = t7.compile(app.params.smartSelectToolbarTemplate || - '
                                                          ' + - '
                                                          ' + - '
                                                          ' + - '' + - '
                                                          ' + - '
                                                          ' - ); - } - - toolbarHTML = app._compiledTemplates.smartSelectToolbar({ - pageTitle: pageTitle, - closeText: closeText, - openIn: openIn, - toolbarTheme: toolbarTheme, - inPicker: openIn === 'picker' - }); - } - else { - // Navbar HTML - if (!app._compiledTemplates.smartSelectNavbar) { - app._compiledTemplates.smartSelectNavbar = t7.compile(app.params.smartSelectNavbarTemplate || - '' - ); - } - navbarHTML = app._compiledTemplates.smartSelectNavbar({ - pageTitle: pageTitle, - backText: backText, - closeText: closeText, - openIn: openIn, - navbarTheme: navbarTheme, - inPopup: openIn === 'popup', - inPage: openIn === 'page', - leftTemplate: openIn === 'popup' ? - (app.params.smartSelectPopupCloseTemplate || (material ? '
                                                          ' : '')).replace(/{{closeText}}/g, closeText) : - (app.params.smartSelectBackTemplate || (material ? '
                                                          ' : '')).replace(/{{backText}}/g, backText) - }); - // Determine navbar layout type - static/fixed/through - if (openIn === 'page') { - navbarLayout = 'static'; - if (smartSelect.parents('.navbar-through').length > 0) navbarLayout = 'through'; - if (smartSelect.parents('.navbar-fixed').length > 0) navbarLayout = 'fixed'; - noToolbar = smartSelect.parents('.page').hasClass('no-toolbar') ? 'no-toolbar' : ''; - noNavbar = smartSelect.parents('.page').hasClass('no-navbar') ? 'no-navbar' : 'navbar-' + navbarLayout; - noTabbar = smartSelect.parents('.page').hasClass('no-tabbar') ? 'no-tabbar' : ''; - } - else { - navbarLayout = 'fixed'; - } - } - - - // Page Layout - var pageName = 'smart-select-' + inputName; - - var useSearchbar = typeof smartSelect.data('searchbar') === 'undefined' ? app.params.smartSelectSearchbar : (smartSelect.data('searchbar') === 'true' ? true : false); - var searchbarPlaceholder, searchbarCancel; - - if (useSearchbar) { - searchbarPlaceholder = smartSelect.data('searchbar-placeholder') || 'Search'; - searchbarCancel = smartSelect.data('searchbar-cancel') || 'Cancel'; - } - - var searchbarHTML = '' + - '
                                                          '; - - var pageHTML = - (openIn !== 'picker' && navbarLayout === 'through' ? navbarHTML : '') + - '
                                                          ' + - '
                                                          ' + - (openIn !== 'picker' && navbarLayout === 'fixed' ? navbarHTML : '') + - (useSearchbar ? searchbarHTML : '') + - '
                                                          ' + - (openIn !== 'picker' && navbarLayout === 'static' ? navbarHTML : '') + - '
                                                          ' + - '
                                                            ' + - (virtualList ? '' : inputsHTML) + - '
                                                          ' + - '
                                                          ' + - '
                                                          ' + - '
                                                          ' + - '
                                                          '; - - // Define popup and picker - var popup, picker; - - // Scroll SS Picker To Input - function scrollToInput() { - var pageContent = smartSelect.parents('.page-content'); - if (pageContent.length === 0) return; - var paddingTop = parseInt(pageContent.css('padding-top'), 10), - paddingBottom = parseInt(pageContent.css('padding-bottom'), 10), - pageHeight = pageContent[0].offsetHeight - paddingTop - picker.height(), - pageScrollHeight = pageContent[0].scrollHeight - paddingTop - picker.height(), - newPaddingBottom; - var inputTop = smartSelect.offset().top - paddingTop + smartSelect[0].offsetHeight; - if (inputTop > pageHeight) { - var scrollTop = pageContent.scrollTop() + inputTop - pageHeight; - if (scrollTop + pageHeight > pageScrollHeight) { - newPaddingBottom = scrollTop + pageHeight - pageScrollHeight + paddingBottom; - if (pageHeight === pageScrollHeight) { - newPaddingBottom = picker.height(); - } - pageContent.css({'padding-bottom': (newPaddingBottom) + 'px'}); - } - pageContent.scrollTop(scrollTop, 300); - } - } - // Close SS Picker on HTML Click - function closeOnHTMLClick(e) { - var close = true; - if (e.target === smartSelect[0] || $(e.target).parents(smartSelect[0]).length > 0) { - close = false; - } - if ($(e.target).parents('.picker-modal').length > 0) { - close = false; - } - if (close) { - app.closeModal('.smart-select-picker.modal-in'); - } - } - - // Check max length - function checkMaxLength(container) { - if (select.selectedOptions.length >= maxLength) { - container.find('input[type="checkbox"]').each(function () { - if (!this.checked) { - $(this).parents('li').addClass('disabled'); - } - else { - $(this).parents('li').removeClass('disabled'); - } - }); - } - else { - container.find('.disabled').removeClass('disabled'); - } - } - // Event Listeners on new page - function handleInputs(container) { - container = $(container); - if (virtualList) { - var virtualListInstance = app.virtualList(container.find('.virtual-list'), { - items: values, - template: smartSelectItemTemplate, - height: virtualListHeight || undefined, - searchByItem: function (query, index, item) { - if (item.text.toLowerCase().indexOf(query.trim().toLowerCase()) >=0 ) return true; - return false; - } - }); - container.once(openIn === 'popup' || openIn === 'picker' ? 'closed': 'pageBeforeRemove', function () { - if (virtualListInstance && virtualListInstance.destroy) virtualListInstance.destroy(); - }); - } - if (maxLength) { - checkMaxLength(container); - } - if (backOnSelect) { - container.find('input[type="radio"][name="' + inputName + '"]:checked').parents('label').once('click', function () { - if (openIn === 'popup') app.closeModal(popup); - else if (openIn === 'picker') app.closeModal(picker); - else view.router.back(); - }); - } - container.on('change', 'input[name="' + inputName + '"]', function () { - var input = this; - var value = input.value; - var optionText = []; - if (input.type === 'checkbox') { - var values = []; - for (var i = 0; i < select.options.length; i++) { - var option = select.options[i]; - if (option.value === value) { - option.selected = input.checked; - } - if (option.selected) { - optionText.push(option.textContent.trim()); - } - } - if (maxLength) { - checkMaxLength(container); - } - } - else { - optionText = [smartSelect.find('option[value="' + value + '"]').text()]; - select.value = value; - } - - $select.trigger('change'); - smartSelect.find('.item-after').text(optionText.join(', ')); - if (backOnSelect && inputType === 'radio') { - if (openIn === 'popup') app.closeModal(popup); - else if (openIn === 'picker') app.closeModal(picker); - else view.router.back(); - } - }); - } - function pageInit(e) { - var page = e.detail.page; - if (page.name === pageName) { - handleInputs(page.container); - } - } - if (openIn === 'popup') { - if (reLayout) { - popup = $('.popup.smart-select-popup .view'); - popup.html(pageHTML); - } - else { - popup = app.popup( - '' - ); - popup = $(popup); - } - app.initPage(popup.find('.page')); - handleInputs(popup); - } - else if (openIn === 'picker') { - if (reLayout) { - picker = $('.picker-modal.smart-select-picker .view'); - picker.html(pageHTML); - } - else { - picker = app.pickerModal( - '
                                                          ' + - toolbarHTML + - '
                                                          ' + - '
                                                          ' + - pageHTML + - '
                                                          ' + - '
                                                          ' + - '
                                                          ' - ); - picker = $(picker); - - // Scroll To Input - scrollToInput(); - - // Close On Click - $('html').on('click', closeOnHTMLClick); - - // On Close - picker.once('close', function () { - // Reset linked picker - smartSelect[0].f7SmartSelectPicker = undefined; - - // Detach html click - $('html').off('click', closeOnHTMLClick); - - // Restore page padding bottom - smartSelect.parents('.page-content').css({paddingBottom: ''}); - }); - - // Link Picker - smartSelect[0].f7SmartSelectPicker = picker[0]; - } - - // Init Page - app.initPage(picker.find('.page')); - - // Attach events - handleInputs(picker); - } - else { - $(document).once('pageInit', '.smart-select-page', pageInit); - view.router.load({ - content: pageHTML, - reload: reLayout ? true : undefined - }); - } -}; diff --git a/vendor/framework7/src/js/sortable.js b/vendor/framework7/src/js/sortable.js deleted file mode 100644 index 8ea01db18..000000000 --- a/vendor/framework7/src/js/sortable.js +++ /dev/null @@ -1,129 +0,0 @@ -/*=============================================================================== -************ Sortable ************ -===============================================================================*/ -app.sortableToggle = function (sortableContainer) { - sortableContainer = $(sortableContainer); - if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable'); - sortableContainer.toggleClass('sortable-opened'); - if (sortableContainer.hasClass('sortable-opened')) { - sortableContainer.trigger('open'); - } - else { - sortableContainer.trigger('close'); - } - return sortableContainer; -}; -app.sortableOpen = function (sortableContainer) { - sortableContainer = $(sortableContainer); - if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable'); - sortableContainer.addClass('sortable-opened'); - sortableContainer.trigger('open'); - return sortableContainer; -}; -app.sortableClose = function (sortableContainer) { - sortableContainer = $(sortableContainer); - if (sortableContainer.length === 0) sortableContainer = $('.list-block.sortable'); - sortableContainer.removeClass('sortable-opened'); - sortableContainer.trigger('close'); - return sortableContainer; -}; -app.initSortable = function () { - var isTouched, isMoved, touchStartY, touchesDiff, sortingEl, sortingElHeight, sortingItems, minTop, maxTop, insertAfter, insertBefore, sortableContainer, startIndex; - - function handleTouchStart(e) { - isMoved = false; - isTouched = true; - touchStartY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - /*jshint validthis:true */ - sortingEl = $(this).parent(); - startIndex = sortingEl.index(); - sortingItems = sortingEl.parent().find('li'); - sortableContainer = sortingEl.parents('.sortable'); - e.preventDefault(); - app.allowPanelOpen = app.allowSwipeout = false; - } - function handleTouchMove(e) { - if (!isTouched || !sortingEl) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (!isMoved) { - sortingEl.addClass('sorting'); - sortableContainer.addClass('sortable-sorting'); - minTop = sortingEl[0].offsetTop; - maxTop = sortingEl.parent().height() - sortingEl[0].offsetTop - sortingEl.height(); - sortingElHeight = sortingEl[0].offsetHeight; - } - isMoved = true; - - e.preventDefault(); - e.f7PreventPanelSwipe = true; - touchesDiff = pageY - touchStartY; - var translate = touchesDiff; - if (translate < -minTop) translate = -minTop; - if (translate > maxTop) translate = maxTop; - sortingEl.transform('translate3d(0,' + translate + 'px,0)'); - - insertBefore = insertAfter = undefined; - - sortingItems.each(function () { - var currentEl = $(this); - if (currentEl[0] === sortingEl[0]) return; - var currentElOffset = currentEl[0].offsetTop; - var currentElHeight = currentEl.height(); - var sortingElOffset = sortingEl[0].offsetTop + translate; - - if ((sortingElOffset >= currentElOffset - currentElHeight / 2) && sortingEl.index() < currentEl.index()) { - currentEl.transform('translate3d(0, '+(-sortingElHeight)+'px,0)'); - insertAfter = currentEl; - insertBefore = undefined; - } - else if ((sortingElOffset <= currentElOffset + currentElHeight / 2) && sortingEl.index() > currentEl.index()) { - currentEl.transform('translate3d(0, '+(sortingElHeight)+'px,0)'); - insertAfter = undefined; - if (!insertBefore) insertBefore = currentEl; - } - else { - $(this).transform('translate3d(0, 0%,0)'); - } - }); - } - function handleTouchEnd(e) { - app.allowPanelOpen = app.allowSwipeout = true; - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - e.preventDefault(); - sortingItems.transform(''); - sortingEl.removeClass('sorting'); - sortableContainer.removeClass('sortable-sorting'); - var virtualList, oldIndex, newIndex; - if (insertAfter) { - sortingEl.insertAfter(insertAfter); - sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()}); - } - if (insertBefore) { - sortingEl.insertBefore(insertBefore); - sortingEl.trigger('sort', {startIndex: startIndex, newIndex: sortingEl.index()}); - } - if ((insertAfter || insertBefore) && sortableContainer.hasClass('virtual-list')) { - virtualList = sortableContainer[0].f7VirtualList; - oldIndex = sortingEl[0].f7VirtualListIndex; - newIndex = insertBefore ? insertBefore[0].f7VirtualListIndex : insertAfter[0].f7VirtualListIndex; - if (virtualList) virtualList.moveItem(oldIndex, newIndex); - } - insertAfter = insertBefore = undefined; - isTouched = false; - isMoved = false; - } - $(document).on(app.touchEvents.start, '.list-block.sortable .sortable-handler', handleTouchStart); - if (app.support.touch) { - $(document).on(app.touchEvents.move, '.list-block.sortable .sortable-handler', handleTouchMove); - $(document).on(app.touchEvents.end, '.list-block.sortable .sortable-handler', handleTouchEnd); - } - else { - $(document).on(app.touchEvents.move, handleTouchMove); - $(document).on(app.touchEvents.end, handleTouchEnd); - } -}; diff --git a/vendor/framework7/src/js/swipeout.js b/vendor/framework7/src/js/swipeout.js deleted file mode 100644 index 50b0841a9..000000000 --- a/vendor/framework7/src/js/swipeout.js +++ /dev/null @@ -1,405 +0,0 @@ -/*=============================================================================== -************ Swipeout Actions (Swipe to delete) ************ -===============================================================================*/ -app.swipeoutOpenedEl = undefined; -app.allowSwipeout = true; -app.initSwipeout = function (swipeoutEl) { - var isTouched, isMoved, isScrolling, touchesStart = {}, touchStartTime, touchesDiff, swipeOutEl, swipeOutContent, actionsRight, actionsLeft, actionsLeftWidth, actionsRightWidth, translate, opened, openedActions, buttonsLeft, buttonsRight, direction, overswipeLeftButton, overswipeRightButton, overswipeLeft, overswipeRight, noFoldLeft, noFoldRight; - $(document).on(app.touchEvents.start, function (e) { - if (app.swipeoutOpenedEl) { - var target = $(e.target); - if (!( - app.swipeoutOpenedEl.is(target[0]) || - target.parents('.swipeout').is(app.swipeoutOpenedEl) || - target.hasClass('modal-in') || - target.hasClass('modal-overlay') || - target.hasClass('actions-modal') || - target.parents('.actions-modal.modal-in, .modal.modal-in').length > 0 - )) { - app.swipeoutClose(app.swipeoutOpenedEl); - } - } - }); - - function handleTouchStart(e) { - if (!app.allowSwipeout) return; - isMoved = false; - isTouched = true; - isScrolling = undefined; - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - } - function handleTouchMove(e) { - if (!isTouched) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (isScrolling) { - isTouched = false; - return; - } - - if (!isMoved) { - if ($('.list-block.sortable-opened').length > 0) return; - /*jshint validthis:true */ - swipeOutEl = $(this); - swipeOutContent = swipeOutEl.find('.swipeout-content'); - actionsRight = swipeOutEl.find('.swipeout-actions-right'); - actionsLeft = swipeOutEl.find('.swipeout-actions-left'); - actionsLeftWidth = actionsRightWidth = buttonsLeft = buttonsRight = overswipeRightButton = overswipeLeftButton = null; - noFoldLeft = actionsLeft.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - noFoldRight = actionsRight.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - if (actionsLeft.length > 0) { - actionsLeftWidth = actionsLeft.outerWidth(); - buttonsLeft = actionsLeft.children('a'); - overswipeLeftButton = actionsLeft.find('.swipeout-overswipe'); - } - if (actionsRight.length > 0) { - actionsRightWidth = actionsRight.outerWidth(); - buttonsRight = actionsRight.children('a'); - overswipeRightButton = actionsRight.find('.swipeout-overswipe'); - } - opened = swipeOutEl.hasClass('swipeout-opened'); - if (opened) { - openedActions = swipeOutEl.find('.swipeout-actions-left.swipeout-actions-opened').length > 0 ? 'left' : 'right'; - } - swipeOutEl.removeClass('transitioning'); - if (!app.params.swipeoutNoFollow) { - swipeOutEl.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened'); - swipeOutEl.removeClass('swipeout-opened'); - } - } - isMoved = true; - e.preventDefault(); - - touchesDiff = pageX - touchesStart.x; - translate = touchesDiff; - - if (opened) { - if (openedActions === 'right') translate = translate - actionsRightWidth; - else translate = translate + actionsLeftWidth; - } - - if (translate > 0 && actionsLeft.length === 0 || translate < 0 && actionsRight.length === 0) { - if (!opened) { - isTouched = isMoved = false; - swipeOutContent.transform(''); - if (buttonsRight && buttonsRight.length > 0) { - buttonsRight.transform(''); - } - if (buttonsLeft && buttonsLeft.length > 0) { - buttonsLeft.transform(''); - } - return; - } - translate = 0; - } - - if (translate < 0) direction = 'to-left'; - else if (translate > 0) direction = 'to-right'; - else { - if (direction) direction = direction; - else direction = 'to-left'; - } - - var i, buttonOffset, progress; - - e.f7PreventPanelSwipe = true; - if (app.params.swipeoutNoFollow) { - if (opened) { - if (openedActions === 'right' && touchesDiff > 0) { - app.swipeoutClose(swipeOutEl); - } - if (openedActions === 'left' && touchesDiff < 0) { - app.swipeoutClose(swipeOutEl); - } - } - else { - if (touchesDiff < 0 && actionsRight.length > 0) { - app.swipeoutOpen(swipeOutEl, 'right'); - } - if (touchesDiff > 0 && actionsLeft.length > 0) { - app.swipeoutOpen(swipeOutEl, 'left'); - } - } - isTouched = false; - isMoved = false; - return; - } - overswipeLeft = false; - overswipeRight = false; - var $button; - if (actionsRight.length > 0) { - // Show right actions - progress = translate / actionsRightWidth; - if (translate < -actionsRightWidth) { - translate = -actionsRightWidth - Math.pow(-translate - actionsRightWidth, 0.8); - if (overswipeRightButton.length > 0) { - overswipeRight = true; - } - } - for (i = 0; i < buttonsRight.length; i++) { - if (typeof buttonsRight[i]._buttonOffset === 'undefined') { - buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft; - } - buttonOffset = buttonsRight[i]._buttonOffset; - $button = $(buttonsRight[i]); - if (overswipeRightButton.length > 0 && $button.hasClass('swipeout-overswipe')) { - $button.css({left: (overswipeRight ? -buttonOffset : 0) + 'px'}); - if (overswipeRight) { - $button.addClass('swipeout-overswipe-active'); - } - else { - $button.removeClass('swipeout-overswipe-active'); - } - } - $button.transform('translate3d(' + (translate - buttonOffset * (1 + Math.max(progress, -1))) + 'px,0,0)'); - } - } - if (actionsLeft.length > 0) { - // Show left actions - progress = translate / actionsLeftWidth; - if (translate > actionsLeftWidth) { - translate = actionsLeftWidth + Math.pow(translate - actionsLeftWidth, 0.8); - if (overswipeLeftButton.length > 0) { - overswipeLeft = true; - } - } - for (i = 0; i < buttonsLeft.length; i++) { - if (typeof buttonsLeft[i]._buttonOffset === 'undefined') { - buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth; - } - buttonOffset = buttonsLeft[i]._buttonOffset; - $button = $(buttonsLeft[i]); - if (overswipeLeftButton.length > 0 && $button.hasClass('swipeout-overswipe')) { - $button.css({left: (overswipeLeft ? buttonOffset : 0) + 'px'}); - if (overswipeLeft) { - $button.addClass('swipeout-overswipe-active'); - } - else { - $button.removeClass('swipeout-overswipe-active'); - } - } - if (buttonsLeft.length > 1) { - $button.css('z-index', buttonsLeft.length - i); - } - $button.transform('translate3d(' + (translate + buttonOffset * (1 - Math.min(progress, 1))) + 'px,0,0)'); - } - } - swipeOutContent.transform('translate3d(' + translate + 'px,0,0)'); - } - function handleTouchEnd(e) { - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - - isTouched = false; - isMoved = false; - var timeDiff = (new Date()).getTime() - touchStartTime; - var action, actionsWidth, actions, buttons, i, noFold; - - noFold = direction === 'to-left' ? noFoldRight : noFoldLeft; - actions = direction === 'to-left' ? actionsRight : actionsLeft; - actionsWidth = direction === 'to-left' ? actionsRightWidth : actionsLeftWidth; - - if ( - timeDiff < 300 && (touchesDiff < -10 && direction === 'to-left' || touchesDiff > 10 && direction === 'to-right') || - timeDiff >= 300 && Math.abs(translate) > actionsWidth / 2 - ) { - action = 'open'; - } - else { - action = 'close'; - } - if (timeDiff < 300) { - if (Math.abs(translate) === 0) action = 'close'; - if (Math.abs(translate) === actionsWidth) action = 'open'; - } - - if (action === 'open') { - app.swipeoutOpenedEl = swipeOutEl; - swipeOutEl.trigger('open'); - swipeOutEl.addClass('swipeout-opened transitioning'); - var newTranslate = direction === 'to-left' ? -actionsWidth : actionsWidth; - swipeOutContent.transform('translate3d(' + newTranslate + 'px,0,0)'); - actions.addClass('swipeout-actions-opened'); - buttons = direction === 'to-left' ? buttonsRight : buttonsLeft; - if (buttons) { - for (i = 0; i < buttons.length; i++) { - $(buttons[i]).transform('translate3d(' + newTranslate + 'px,0,0)'); - } - } - if (overswipeRight) { - actionsRight.find('.swipeout-overswipe')[0].click(); - } - if (overswipeLeft) { - actionsLeft.find('.swipeout-overswipe')[0].click(); - } - } - else { - swipeOutEl.trigger('close'); - app.swipeoutOpenedEl = undefined; - swipeOutEl.addClass('transitioning').removeClass('swipeout-opened'); - swipeOutContent.transform(''); - actions.removeClass('swipeout-actions-opened'); - } - - var buttonOffset; - if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) { - for (i = 0; i < buttonsLeft.length; i++) { - buttonOffset = buttonsLeft[i]._buttonOffset; - if (typeof buttonOffset === 'undefined') { - buttonsLeft[i]._buttonOffset = actionsLeftWidth - buttonsLeft[i].offsetLeft - buttonsLeft[i].offsetWidth; - } - $(buttonsLeft[i]).transform('translate3d(' + (buttonOffset) + 'px,0,0)'); - } - } - if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) { - for (i = 0; i < buttonsRight.length; i++) { - buttonOffset = buttonsRight[i]._buttonOffset; - if (typeof buttonOffset === 'undefined') { - buttonsRight[i]._buttonOffset = buttonsRight[i].offsetLeft; - } - $(buttonsRight[i]).transform('translate3d(' + (-buttonOffset) + 'px,0,0)'); - } - } - swipeOutContent.transitionEnd(function (e) { - if (opened && action === 'open' || closed && action === 'close') return; - swipeOutEl.trigger(action === 'open' ? 'opened' : 'closed'); - if (opened && action === 'close') { - if (actionsRight.length > 0) { - buttonsRight.transform(''); - } - if (actionsLeft.length > 0) { - buttonsLeft.transform(''); - } - } - }); - } - if (swipeoutEl) { - $(swipeoutEl).on(app.touchEvents.start, handleTouchStart); - $(swipeoutEl).on(app.touchEvents.move, handleTouchMove); - $(swipeoutEl).on(app.touchEvents.end, handleTouchEnd); - } - else { - $(document).on(app.touchEvents.start, '.list-block li.swipeout', handleTouchStart); - $(document).on(app.touchEvents.move, '.list-block li.swipeout', handleTouchMove); - $(document).on(app.touchEvents.end, '.list-block li.swipeout', handleTouchEnd); - } - -}; -app.swipeoutOpen = function (el, dir, callback) { - el = $(el); - if (arguments.length === 2) { - if (typeof arguments[1] === 'function') { - callback = dir; - } - } - - if (el.length === 0) return; - if (el.length > 1) el = $(el[0]); - if (!el.hasClass('swipeout') || el.hasClass('swipeout-opened')) return; - if (!dir) { - if (el.find('.swipeout-actions-right').length > 0) dir = 'right'; - else dir = 'left'; - } - var swipeOutActions = el.find('.swipeout-actions-' + dir); - if (swipeOutActions.length === 0) return; - var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - el.trigger('open').addClass('swipeout-opened').removeClass('transitioning'); - swipeOutActions.addClass('swipeout-actions-opened'); - var buttons = swipeOutActions.children('a'); - var swipeOutActionsWidth = swipeOutActions.outerWidth(); - var translate = dir === 'right' ? -swipeOutActionsWidth : swipeOutActionsWidth; - var i; - if (buttons.length > 1) { - for (i = 0; i < buttons.length; i++) { - if (dir === 'right') { - $(buttons[i]).transform('translate3d(' + (- buttons[i].offsetLeft) + 'px,0,0)'); - } - else { - $(buttons[i]).css('z-index', buttons.length - i).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)'); - } - } - var clientLeft = buttons[1].clientLeft; - } - el.addClass('transitioning'); - for (i = 0; i < buttons.length; i++) { - $(buttons[i]).transform('translate3d(' + (translate) + 'px,0,0)'); - } - el.find('.swipeout-content').transform('translate3d(' + translate + 'px,0,0)').transitionEnd(function () { - el.trigger('opened'); - if (callback) callback.call(el[0]); - }); - app.swipeoutOpenedEl = el; -}; -app.swipeoutClose = function (el, callback) { - el = $(el); - if (el.length === 0) return; - if (!el.hasClass('swipeout-opened')) return; - var dir = el.find('.swipeout-actions-opened').hasClass('swipeout-actions-right') ? 'right' : 'left'; - var swipeOutActions = el.find('.swipeout-actions-opened').removeClass('swipeout-actions-opened'); - var noFold = swipeOutActions.hasClass('swipeout-actions-no-fold') || app.params.swipeoutActionsNoFold; - var buttons = swipeOutActions.children('a'); - var swipeOutActionsWidth = swipeOutActions.outerWidth(); - app.allowSwipeout = false; - el.trigger('close'); - el.removeClass('swipeout-opened').addClass('transitioning'); - - var closeTO; - function onSwipeoutClose() { - app.allowSwipeout = true; - if (el.hasClass('swipeout-opened')) return; - el.removeClass('transitioning'); - buttons.transform(''); - el.trigger('closed'); - if (callback) callback.call(el[0]); - if (closeTO) clearTimeout(closeTO); - } - el.find('.swipeout-content').transform('').transitionEnd(onSwipeoutClose); - closeTO = setTimeout(onSwipeoutClose, 500); - - for (var i = 0; i < buttons.length; i++) { - if (dir === 'right') { - $(buttons[i]).transform('translate3d(' + (-buttons[i].offsetLeft) + 'px,0,0)'); - } - else { - $(buttons[i]).transform('translate3d(' + (swipeOutActionsWidth - buttons[i].offsetWidth - buttons[i].offsetLeft) + 'px,0,0)'); - } - $(buttons[i]).css({left:0 + 'px'}).removeClass('swipeout-overswipe-active'); - } - if (app.swipeoutOpenedEl && app.swipeoutOpenedEl[0] === el[0]) app.swipeoutOpenedEl = undefined; -}; -app.swipeoutDelete = function (el, callback) { - el = $(el); - if (el.length === 0) return; - if (el.length > 1) el = $(el[0]); - app.swipeoutOpenedEl = undefined; - el.trigger('delete'); - el.css({height: el.outerHeight() + 'px'}); - var clientLeft = el[0].clientLeft; - el.css({height: 0 + 'px'}).addClass('deleting transitioning').transitionEnd(function () { - el.trigger('deleted'); - if (callback) callback.call(el[0]); - if (el.parents('.virtual-list').length > 0) { - var virtualList = el.parents('.virtual-list')[0].f7VirtualList; - var virtualIndex = el[0].f7VirtualListIndex; - if (virtualList && typeof virtualIndex !== 'undefined') virtualList.deleteItem(virtualIndex); - } - else { - if (app.params.swipeoutRemoveWithTimeout) { - setTimeout(function () { - el.remove(); - }, 0); - } - else el.remove(); - } - }); - var translate = '-100%'; - el.find('.swipeout-content').transform('translate3d(' + translate + ',0,0)'); -}; diff --git a/vendor/framework7/src/js/swiper-init.js b/vendor/framework7/src/js/swiper-init.js deleted file mode 100644 index 97a0026f1..000000000 --- a/vendor/framework7/src/js/swiper-init.js +++ /dev/null @@ -1,53 +0,0 @@ -/*=========================== -Framework7 Swiper Additions -===========================*/ -app.swiper = function (container, params) { - return new Swiper(container, params); -}; -app.initPageSwiper = function (pageContainer) { - pageContainer = $(pageContainer); - var swipers = pageContainer.find('.swiper-init, .tabs-swipeable-wrap'); - if (swipers.length === 0) return; - function destroySwiperOnRemove(slider) { - function destroySwiper() { - slider.destroy(); - pageContainer.off('pageBeforeRemove', destroySwiper); - } - pageContainer.on('pageBeforeRemove', destroySwiper); - } - swipers.each(function () { - var swiper = $(this), initialSlide; - var params; - if (swiper.hasClass('tabs-swipeable-wrap')) { - swiper.addClass('swiper-container').children('.tabs').addClass('swiper-wrapper').children('.tab').addClass('swiper-slide'); - initialSlide = swiper.children('.tabs').children('.tab.active').index(); - } - if (swiper.data('swiper')) { - params = JSON.parse(swiper.data('swiper')); - } - else { - params = swiper.dataset(); - } - if (typeof params.initialSlide === 'undefined' && typeof initialSlide !== 'undefined') { - params.initialSlide = initialSlide; - } - if (swiper.hasClass('tabs-swipeable-wrap')) { - params.onSlideChangeStart = function (s) { - app.showTab(s.slides.eq(s.activeIndex)); - }; - } - var _slider = app.swiper(swiper[0], params); - destroySwiperOnRemove(_slider); - }); -}; -app.reinitPageSwiper = function (pageContainer) { - pageContainer = $(pageContainer); - var sliders = pageContainer.find('.swiper-init, .tabs-swipeable-wrap'); - if (sliders.length === 0) return; - for (var i = 0; i < sliders.length; i++) { - var sliderInstance = sliders[0].swiper; - if (sliderInstance) { - sliderInstance.update(true); - } - } -}; diff --git a/vendor/framework7/src/js/swiper.js b/vendor/framework7/src/js/swiper.js deleted file mode 100644 index b8b0ad210..000000000 --- a/vendor/framework7/src/js/swiper.js +++ /dev/null @@ -1,4000 +0,0 @@ -/*=========================== -Swiper -===========================*/ -window.Swiper = function (container, params) { - if (!(this instanceof Swiper)) return new Swiper(container, params); - var defaults = { - direction: 'horizontal', - touchEventsTarget: 'container', - initialSlide: 0, - speed: 300, - // autoplay - autoplay: false, - autoplayDisableOnInteraction: true, - autoplayStopOnLast: false, - // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView). - iOSEdgeSwipeDetection: false, - iOSEdgeSwipeThreshold: 20, - // Free mode - freeMode: false, - freeModeMomentum: true, - freeModeMomentumRatio: 1, - freeModeMomentumBounce: true, - freeModeMomentumBounceRatio: 1, - freeModeMomentumVelocityRatio: 1, - freeModeSticky: false, - freeModeMinimumVelocity: 0.02, - // Autoheight - autoHeight: false, - // Set wrapper width - setWrapperSize: false, - // Virtual Translate - virtualTranslate: false, - // Effects - effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip' - coverflow: { - rotate: 50, - stretch: 0, - depth: 100, - modifier: 1, - slideShadows : true - }, - flip: { - slideShadows : true, - limitRotation: true - }, - cube: { - slideShadows: true, - shadow: true, - shadowOffset: 20, - shadowScale: 0.94 - }, - fade: { - crossFade: false - }, - // Parallax - parallax: false, - // Zoom - zoom: false, - zoomMax: 3, - zoomMin: 1, - zoomToggle: true, - // Scrollbar - scrollbar: null, - scrollbarHide: true, - scrollbarDraggable: false, - scrollbarSnapOnRelease: false, - // Keyboard Mousewheel - keyboardControl: false, - mousewheelControl: false, - mousewheelReleaseOnEdges: false, - mousewheelInvert: false, - mousewheelForceToAxis: false, - mousewheelSensitivity: 1, - mousewheelEventsTarged: 'container', - // Hash Navigation - hashnav: false, - hashnavWatchState: false, - // History - history: false, - // Commong Nav State - replaceState: false, - // Breakpoints - breakpoints: undefined, - // Slides grid - spaceBetween: 0, - slidesPerView: 1, - slidesPerColumn: 1, - slidesPerColumnFill: 'column', - slidesPerGroup: 1, - centeredSlides: false, - slidesOffsetBefore: 0, // in px - slidesOffsetAfter: 0, // in px - // Round length - roundLengths: false, - // Touches - touchRatio: 1, - touchAngle: 45, - simulateTouch: true, - shortSwipes: true, - longSwipes: true, - longSwipesRatio: 0.5, - longSwipesMs: 300, - followFinger: true, - onlyExternal: false, - threshold: 0, - touchMoveStopPropagation: true, - touchReleaseOnEdges: false, - // Unique Navigation Elements - uniqueNavElements: true, - // Pagination - pagination: null, - paginationElement: 'span', - paginationClickable: false, - paginationHide: false, - paginationBulletRender: null, - paginationProgressRender: null, - paginationFractionRender: null, - paginationCustomRender: null, - paginationType: 'bullets', // 'bullets' or 'progress' or 'fraction' or 'custom' - // Resistance - resistance: true, - resistanceRatio: 0.85, - // Next/prev buttons - nextButton: null, - prevButton: null, - // Progress - watchSlidesProgress: false, - watchSlidesVisibility: false, - // Cursor - grabCursor: false, - // Clicks - preventClicks: true, - preventClicksPropagation: true, - slideToClickedSlide: false, - // Lazy Loading - lazyLoading: false, - lazyLoadingInPrevNext: false, - lazyLoadingInPrevNextAmount: 1, - lazyLoadingOnTransitionStart: false, - // Images - preloadImages: true, - updateOnImagesReady: true, - // loop - loop: false, - loopAdditionalSlides: 0, - loopedSlides: null, - // Control - control: undefined, - controlInverse: false, - controlBy: 'slide', //or 'container' - normalizeSlideIndex: true, - // Swiping/no swiping - allowSwipeToPrev: true, - allowSwipeToNext: true, - swipeHandler: null, //'.swipe-handler', - noSwiping: true, - noSwipingClass: 'swiper-no-swiping', - // Passive Listeners - passiveListeners: true, - // NS - containerModifierClass: 'swiper-container-', // NEW - slideClass: 'swiper-slide', - slideActiveClass: 'swiper-slide-active', - slideDuplicateActiveClass: 'swiper-slide-duplicate-active', - slideVisibleClass: 'swiper-slide-visible', - slideDuplicateClass: 'swiper-slide-duplicate', - slideNextClass: 'swiper-slide-next', - slideDuplicateNextClass: 'swiper-slide-duplicate-next', - slidePrevClass: 'swiper-slide-prev', - slideDuplicatePrevClass: 'swiper-slide-duplicate-prev', - wrapperClass: 'swiper-wrapper', - bulletClass: 'swiper-pagination-bullet', - bulletActiveClass: 'swiper-pagination-bullet-active', - buttonDisabledClass: 'swiper-button-disabled', - paginationCurrentClass: 'swiper-pagination-current', - paginationTotalClass: 'swiper-pagination-total', - paginationHiddenClass: 'swiper-pagination-hidden', - paginationProgressbarClass: 'swiper-pagination-progressbar', - paginationClickableClass: 'swiper-pagination-clickable', // NEW - paginationModifierClass: 'swiper-pagination-', // NEW - lazyLoadingClass: 'swiper-lazy', - lazyStatusLoadingClass: 'swiper-lazy-loading', - lazyStatusLoadedClass: 'swiper-lazy-loaded', - lazyPreloaderClass: 'swiper-lazy-preloader', - notificationClass: 'swiper-notification', - preloaderClass: 'preloader', - zoomContainerClass: 'swiper-zoom-container', - - // Observer - observer: false, - observeParents: false, - // Accessibility - a11y: false, - prevSlideMessage: 'Previous slide', - nextSlideMessage: 'Next slide', - firstSlideMessage: 'This is the first slide', - lastSlideMessage: 'This is the last slide', - paginationBulletMessage: 'Go to slide {{index}}', - // Callbacks - runCallbacksOnInit: true - /* - Callbacks: - onInit: function (swiper) - onDestroy: function (swiper) - onClick: function (swiper, e) - onTap: function (swiper, e) - onDoubleTap: function (swiper, e) - onSliderMove: function (swiper, e) - onSlideChangeStart: function (swiper) - onSlideChangeEnd: function (swiper) - onTransitionStart: function (swiper) - onTransitionEnd: function (swiper) - onImagesReady: function (swiper) - onProgress: function (swiper, progress) - onTouchStart: function (swiper, e) - onTouchMove: function (swiper, e) - onTouchMoveOpposite: function (swiper, e) - onTouchEnd: function (swiper, e) - onReachBeginning: function (swiper) - onReachEnd: function (swiper) - onSetTransition: function (swiper, duration) - onSetTranslate: function (swiper, translate) - onAutoplayStart: function (swiper) - onAutoplayStop: function (swiper), - onLazyImageLoad: function (swiper, slide, image) - onLazyImageReady: function (swiper, slide, image) - */ - - }; - var initialVirtualTranslate = params && params.virtualTranslate; - - params = params || {}; - var originalParams = {}; - for (var param in params) { - if (typeof params[param] === 'object' && params[param] !== null && !(params[param].nodeType || params[param] === window || params[param] === document || (typeof Dom7 !== 'undefined' && params[param] instanceof Dom7) || (typeof jQuery !== 'undefined' && params[param] instanceof jQuery))) { - originalParams[param] = {}; - for (var deepParam in params[param]) { - originalParams[param][deepParam] = params[param][deepParam]; - } - } - else { - originalParams[param] = params[param]; - } - } - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - else if (typeof params[def] === 'object') { - for (var deepDef in defaults[def]) { - if (typeof params[def][deepDef] === 'undefined') { - params[def][deepDef] = defaults[def][deepDef]; - } - } - } - } - - // Swiper - var s = this; - - // Params - s.params = params; - s.originalParams = originalParams; - - // Classname - s.classNames = []; - /*========================= - Dom Library and plugins - ===========================*/ - if (typeof $ !== 'undefined' && typeof Dom7 !== 'undefined'){ - $ = Dom7; - } - if (typeof $ === 'undefined') { - if (typeof Dom7 === 'undefined') { - $ = window.Dom7 || window.Zepto || window.jQuery; - } - else { - $ = Dom7; - } - if (!$) return; - } - // Export it to Swiper instance - s.$ = $; - - /*========================= - Breakpoints - ===========================*/ - s.currentBreakpoint = undefined; - s.getActiveBreakpoint = function () { - //Get breakpoint for window width - if (!s.params.breakpoints) return false; - var breakpoint = false; - var points = [], point; - for ( point in s.params.breakpoints ) { - if (s.params.breakpoints.hasOwnProperty(point)) { - points.push(point); - } - } - points.sort(function (a, b) { - return parseInt(a, 10) > parseInt(b, 10); - }); - for (var i = 0; i < points.length; i++) { - point = points[i]; - if (point >= window.innerWidth && !breakpoint) { - breakpoint = point; - } - } - return breakpoint || 'max'; - }; - s.setBreakpoint = function () { - //Set breakpoint for window width and update parameters - var breakpoint = s.getActiveBreakpoint(); - if (breakpoint && s.currentBreakpoint !== breakpoint) { - var breakPointsParams = breakpoint in s.params.breakpoints ? s.params.breakpoints[breakpoint] : s.originalParams; - var needsReLoop = s.params.loop && (breakPointsParams.slidesPerView !== s.params.slidesPerView); - for ( var param in breakPointsParams ) { - s.params[param] = breakPointsParams[param]; - } - s.currentBreakpoint = breakpoint; - if(needsReLoop && s.destroyLoop) { - s.reLoop(true); - } - } - }; - // Set breakpoint on load - if (s.params.breakpoints) { - s.setBreakpoint(); - } - - /*========================= - Preparation - Define Container, Wrapper and Pagination - ===========================*/ - s.container = $(container); - if (s.container.length === 0) return; - if (s.container.length > 1) { - var swipers = []; - s.container.each(function () { - var container = this; - swipers.push(new Swiper(this, params)); - }); - return swipers; - } - - // Save instance in container HTML Element and in data - s.container[0].swiper = s; - s.container.data('swiper', s); - - s.classNames.push(s.params.containerModifierClass + s.params.direction); - - if (s.params.freeMode) { - s.classNames.push(s.params.containerModifierClass + 'free-mode'); - } - if (!s.support.flexbox) { - s.classNames.push(s.params.containerModifierClass + 'no-flexbox'); - s.params.slidesPerColumn = 1; - } - if (s.params.autoHeight) { - s.classNames.push(s.params.containerModifierClass + 'autoheight'); - } - // Enable slides progress when required - if (s.params.parallax || s.params.watchSlidesVisibility) { - s.params.watchSlidesProgress = true; - } - // Max resistance when touchReleaseOnEdges - if (s.params.touchReleaseOnEdges) { - s.params.resistanceRatio = 0; - } - // Coverflow / 3D - if (['cube', 'coverflow', 'flip'].indexOf(s.params.effect) >= 0) { - if (s.support.transforms3d) { - s.params.watchSlidesProgress = true; - s.classNames.push(s.params.containerModifierClass + '3d'); - } - else { - s.params.effect = 'slide'; - } - } - if (s.params.effect !== 'slide') { - s.classNames.push(s.params.containerModifierClass + s.params.effect); - } - if (s.params.effect === 'cube') { - s.params.resistanceRatio = 0; - s.params.slidesPerView = 1; - s.params.slidesPerColumn = 1; - s.params.slidesPerGroup = 1; - s.params.centeredSlides = false; - s.params.spaceBetween = 0; - s.params.virtualTranslate = true; - s.params.setWrapperSize = false; - } - if (s.params.effect === 'fade' || s.params.effect === 'flip') { - s.params.slidesPerView = 1; - s.params.slidesPerColumn = 1; - s.params.slidesPerGroup = 1; - s.params.watchSlidesProgress = true; - s.params.spaceBetween = 0; - s.params.setWrapperSize = false; - if (typeof initialVirtualTranslate === 'undefined') { - s.params.virtualTranslate = true; - } - } - - // Grab Cursor - if (s.params.grabCursor && s.support.touch) { - s.params.grabCursor = false; - } - - // Wrapper - s.wrapper = s.container.children('.' + s.params.wrapperClass); - - // Pagination - if (s.params.pagination) { - s.paginationContainer = $(s.params.pagination); - if (s.params.uniqueNavElements && typeof s.params.pagination === 'string' && s.paginationContainer.length > 1 && s.container.find(s.params.pagination).length === 1) { - s.paginationContainer = s.container.find(s.params.pagination); - } - - if (s.params.paginationType === 'bullets' && s.params.paginationClickable) { - s.paginationContainer.addClass(s.params.paginationModifierClass + 'clickable'); - } - else { - s.params.paginationClickable = false; - } - s.paginationContainer.addClass(s.params.paginationModifierClass + s.params.paginationType); - } - // Next/Prev Buttons - if (s.params.nextButton || s.params.prevButton) { - if (s.params.nextButton) { - s.nextButton = $(s.params.nextButton); - if (s.params.uniqueNavElements && typeof s.params.nextButton === 'string' && s.nextButton.length > 1 && s.container.find(s.params.nextButton).length === 1) { - s.nextButton = s.container.find(s.params.nextButton); - } - } - if (s.params.prevButton) { - s.prevButton = $(s.params.prevButton); - if (s.params.uniqueNavElements && typeof s.params.prevButton === 'string' && s.prevButton.length > 1 && s.container.find(s.params.prevButton).length === 1) { - s.prevButton = s.container.find(s.params.prevButton); - } - } - } - - // Is Horizontal - s.isHorizontal = function () { - return s.params.direction === 'horizontal'; - }; - // s.isH = isH; - - // RTL - s.rtl = s.isHorizontal() && (s.container[0].dir.toLowerCase() === 'rtl' || s.container.css('direction') === 'rtl'); - if (s.rtl) { - s.classNames.push(s.params.containerModifierClass + 'rtl'); - } - - // Wrong RTL support - if (s.rtl) { - s.wrongRTL = s.wrapper.css('display') === '-webkit-box'; - } - - // Columns - if (s.params.slidesPerColumn > 1) { - s.classNames.push(s.params.containerModifierClass + 'multirow'); - } - - // Check for Android - if (s.device.android) { - s.classNames.push(s.params.containerModifierClass + 'android'); - } - - // Add classes - s.container.addClass(s.classNames.join(' ')); - - // Translate - s.translate = 0; - - // Progress - s.progress = 0; - - // Velocity - s.velocity = 0; - - /*========================= - Locks, unlocks - ===========================*/ - s.lockSwipeToNext = function () { - s.params.allowSwipeToNext = false; - if (s.params.allowSwipeToPrev === false && s.params.grabCursor) { - s.unsetGrabCursor(); - } - }; - s.lockSwipeToPrev = function () { - s.params.allowSwipeToPrev = false; - if (s.params.allowSwipeToNext === false && s.params.grabCursor) { - s.unsetGrabCursor(); - } - }; - s.lockSwipes = function () { - s.params.allowSwipeToNext = s.params.allowSwipeToPrev = false; - if (s.params.grabCursor) s.unsetGrabCursor(); - }; - s.unlockSwipeToNext = function () { - s.params.allowSwipeToNext = true; - if (s.params.allowSwipeToPrev === true && s.params.grabCursor) { - s.setGrabCursor(); - } - }; - s.unlockSwipeToPrev = function () { - s.params.allowSwipeToPrev = true; - if (s.params.allowSwipeToNext === true && s.params.grabCursor) { - s.setGrabCursor(); - } - }; - s.unlockSwipes = function () { - s.params.allowSwipeToNext = s.params.allowSwipeToPrev = true; - if (s.params.grabCursor) s.setGrabCursor(); - }; - - /*========================= - Round helper - ===========================*/ - function round(a) { - return Math.floor(a); - } - /*========================= - Set grab cursor - ===========================*/ - s.setGrabCursor = function(moving) { - s.container[0].style.cursor = 'move'; - s.container[0].style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab'; - s.container[0].style.cursor = moving ? '-moz-grabbin' : '-moz-grab'; - s.container[0].style.cursor = moving ? 'grabbing': 'grab'; - }; - s.unsetGrabCursor = function () { - s.container[0].style.cursor = ''; - }; - if (s.params.grabCursor) { - s.setGrabCursor(); - } - /*========================= - Update on Images Ready - ===========================*/ - s.imagesToLoad = []; - s.imagesLoaded = 0; - - s.loadImage = function (imgElement, src, srcset, sizes, checkForComplete, callback) { - var image; - function onReady () { - if (callback) callback(); - } - if (!imgElement.complete || !checkForComplete) { - if (src) { - image = new window.Image(); - image.onload = onReady; - image.onerror = onReady; - if (sizes) { - image.sizes = sizes; - } - if (srcset) { - image.srcset = srcset; - } - if (src) { - image.src = src; - } - } else { - onReady(); - } - - } else {//image already loaded... - onReady(); - } - }; - s.preloadImages = function () { - s.imagesToLoad = s.container.find('img'); - function _onReady() { - if (typeof s === 'undefined' || s === null) return; - if (s.imagesLoaded !== undefined) s.imagesLoaded++; - if (s.imagesLoaded === s.imagesToLoad.length) { - if (s.params.updateOnImagesReady) s.update(); - s.emit('onImagesReady', s); - } - } - for (var i = 0; i < s.imagesToLoad.length; i++) { - s.loadImage(s.imagesToLoad[i], (s.imagesToLoad[i].currentSrc || s.imagesToLoad[i].getAttribute('src')), (s.imagesToLoad[i].srcset || s.imagesToLoad[i].getAttribute('srcset')), s.imagesToLoad[i].sizes || s.imagesToLoad[i].getAttribute('sizes'), true, _onReady); - } - }; - - /*========================= - Autoplay - ===========================*/ - s.autoplayTimeoutId = undefined; - s.autoplaying = false; - s.autoplayPaused = false; - function autoplay() { - var autoplayDelay = s.params.autoplay; - var activeSlide = s.slides.eq(s.activeIndex); - if (activeSlide.attr('data-swiper-autoplay')) { - autoplayDelay = activeSlide.attr('data-swiper-autoplay') || s.params.autoplay; - } - s.autoplayTimeoutId = setTimeout(function () { - if (s.params.loop) { - s.fixLoop(); - s._slideNext(); - s.emit('onAutoplay', s); - } - else { - if (!s.isEnd) { - s._slideNext(); - s.emit('onAutoplay', s); - } - else { - if (!params.autoplayStopOnLast) { - s._slideTo(0); - s.emit('onAutoplay', s); - } - else { - s.stopAutoplay(); - } - } - } - }, autoplayDelay); - } - s.startAutoplay = function () { - if (typeof s.autoplayTimeoutId !== 'undefined') return false; - if (!s.params.autoplay) return false; - if (s.autoplaying) return false; - s.autoplaying = true; - s.emit('onAutoplayStart', s); - autoplay(); - }; - s.stopAutoplay = function (internal) { - if (!s.autoplayTimeoutId) return; - if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId); - s.autoplaying = false; - s.autoplayTimeoutId = undefined; - s.emit('onAutoplayStop', s); - }; - s.pauseAutoplay = function (speed) { - if (s.autoplayPaused) return; - if (s.autoplayTimeoutId) clearTimeout(s.autoplayTimeoutId); - s.autoplayPaused = true; - if (speed === 0) { - s.autoplayPaused = false; - autoplay(); - } - else { - s.wrapper.transitionEnd(function () { - if (!s) return; - s.autoplayPaused = false; - if (!s.autoplaying) { - s.stopAutoplay(); - } - else { - autoplay(); - } - }); - } - }; - /*========================= - Min/Max Translate - ===========================*/ - s.minTranslate = function () { - return (-s.snapGrid[0]); - }; - s.maxTranslate = function () { - return (-s.snapGrid[s.snapGrid.length - 1]); - }; - /*========================= - Slider/slides sizes - ===========================*/ - s.updateAutoHeight = function () { - var activeSlides = []; - var newHeight = 0; - - // Find slides currently in view - if(s.params.slidesPerView !== 'auto' && s.params.slidesPerView > 1) { - for (i = 0; i < Math.ceil(s.params.slidesPerView); i++) { - var index = s.activeIndex + i; - if(index > s.slides.length) break; - activeSlides.push(s.slides.eq(index)[0]); - } - } else { - activeSlides.push(s.slides.eq(s.activeIndex)[0]); - } - - // Find new height from heighest slide in view - for (i = 0; i < activeSlides.length; i++) { - if (typeof activeSlides[i] !== 'undefined') { - var height = activeSlides[i].offsetHeight; - newHeight = height > newHeight ? height : newHeight; - } - } - - // Update Height - if (newHeight) s.wrapper.css('height', newHeight + 'px'); - }; - s.updateContainerSize = function () { - var width, height; - if (typeof s.params.width !== 'undefined') { - width = s.params.width; - } - else { - width = s.container[0].clientWidth; - } - if (typeof s.params.height !== 'undefined') { - height = s.params.height; - } - else { - height = s.container[0].clientHeight; - } - if (width === 0 && s.isHorizontal() || height === 0 && !s.isHorizontal()) { - return; - } - - //Subtract paddings - width = width - parseInt(s.container.css('padding-left'), 10) - parseInt(s.container.css('padding-right'), 10); - height = height - parseInt(s.container.css('padding-top'), 10) - parseInt(s.container.css('padding-bottom'), 10); - - // Store values - s.width = width; - s.height = height; - s.size = s.isHorizontal() ? s.width : s.height; - }; - - s.updateSlidesSize = function () { - s.slides = s.wrapper.children('.' + s.params.slideClass); - s.snapGrid = []; - s.slidesGrid = []; - s.slidesSizesGrid = []; - - var spaceBetween = s.params.spaceBetween, - slidePosition = -s.params.slidesOffsetBefore, - i, - prevSlideSize = 0, - index = 0; - if (typeof s.size === 'undefined') return; - if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) { - spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * s.size; - } - - s.virtualSize = -spaceBetween; - // reset margins - if (s.rtl) s.slides.css({marginLeft: '', marginTop: ''}); - else s.slides.css({marginRight: '', marginBottom: ''}); - - var slidesNumberEvenToRows; - if (s.params.slidesPerColumn > 1) { - if (Math.floor(s.slides.length / s.params.slidesPerColumn) === s.slides.length / s.params.slidesPerColumn) { - slidesNumberEvenToRows = s.slides.length; - } - else { - slidesNumberEvenToRows = Math.ceil(s.slides.length / s.params.slidesPerColumn) * s.params.slidesPerColumn; - } - if (s.params.slidesPerView !== 'auto' && s.params.slidesPerColumnFill === 'row') { - slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, s.params.slidesPerView * s.params.slidesPerColumn); - } - } - - // Calc slides - var slideSize; - var slidesPerColumn = s.params.slidesPerColumn; - var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn; - var numFullColumns = slidesPerRow - (s.params.slidesPerColumn * slidesPerRow - s.slides.length); - for (i = 0; i < s.slides.length; i++) { - slideSize = 0; - var slide = s.slides.eq(i); - if (s.params.slidesPerColumn > 1) { - // Set slides order - var newSlideOrderIndex; - var column, row; - if (s.params.slidesPerColumnFill === 'column') { - column = Math.floor(i / slidesPerColumn); - row = i - column * slidesPerColumn; - if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn-1)) { - if (++row >= slidesPerColumn) { - row = 0; - column++; - } - } - newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn; - slide - .css({ - '-webkit-box-ordinal-group': newSlideOrderIndex, - '-moz-box-ordinal-group': newSlideOrderIndex, - '-ms-flex-order': newSlideOrderIndex, - '-webkit-order': newSlideOrderIndex, - 'order': newSlideOrderIndex - }); - } - else { - row = Math.floor(i / slidesPerRow); - column = i - row * slidesPerRow; - } - slide - .css( - 'margin-' + (s.isHorizontal() ? 'top' : 'left'), - (row !== 0 && s.params.spaceBetween) && (s.params.spaceBetween + 'px') - ) - .attr('data-swiper-column', column) - .attr('data-swiper-row', row); - - } - if (slide.css('display') === 'none') continue; - if (s.params.slidesPerView === 'auto') { - slideSize = s.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true); - if (s.params.roundLengths) slideSize = round(slideSize); - } - else { - slideSize = (s.size - (s.params.slidesPerView - 1) * spaceBetween) / s.params.slidesPerView; - if (s.params.roundLengths) slideSize = round(slideSize); - - if (s.isHorizontal()) { - s.slides[i].style.width = slideSize + 'px'; - } - else { - s.slides[i].style.height = slideSize + 'px'; - } - } - s.slides[i].swiperSlideSize = slideSize; - s.slidesSizesGrid.push(slideSize); - - - if (s.params.centeredSlides) { - slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween; - if (i === 0) slidePosition = slidePosition - s.size / 2 - spaceBetween; - if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0; - if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition); - s.slidesGrid.push(slidePosition); - } - else { - if ((index) % s.params.slidesPerGroup === 0) s.snapGrid.push(slidePosition); - s.slidesGrid.push(slidePosition); - slidePosition = slidePosition + slideSize + spaceBetween; - } - - s.virtualSize += slideSize + spaceBetween; - - prevSlideSize = slideSize; - - index ++; - } - s.virtualSize = Math.max(s.virtualSize, s.size) + s.params.slidesOffsetAfter; - var newSlidesGrid; - - if ( - s.rtl && s.wrongRTL && (s.params.effect === 'slide' || s.params.effect === 'coverflow')) { - s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'}); - } - if (!s.support.flexbox || s.params.setWrapperSize) { - if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'}); - else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'}); - } - - if (s.params.slidesPerColumn > 1) { - s.virtualSize = (slideSize + s.params.spaceBetween) * slidesNumberEvenToRows; - s.virtualSize = Math.ceil(s.virtualSize / s.params.slidesPerColumn) - s.params.spaceBetween; - if (s.isHorizontal()) s.wrapper.css({width: s.virtualSize + s.params.spaceBetween + 'px'}); - else s.wrapper.css({height: s.virtualSize + s.params.spaceBetween + 'px'}); - if (s.params.centeredSlides) { - newSlidesGrid = []; - for (i = 0; i < s.snapGrid.length; i++) { - if (s.snapGrid[i] < s.virtualSize + s.snapGrid[0]) newSlidesGrid.push(s.snapGrid[i]); - } - s.snapGrid = newSlidesGrid; - } - } - - // Remove last grid elements depending on width - if (!s.params.centeredSlides) { - newSlidesGrid = []; - for (i = 0; i < s.snapGrid.length; i++) { - if (s.snapGrid[i] <= s.virtualSize - s.size) { - newSlidesGrid.push(s.snapGrid[i]); - } - } - s.snapGrid = newSlidesGrid; - if (Math.floor(s.virtualSize - s.size) - Math.floor(s.snapGrid[s.snapGrid.length - 1]) > 1) { - s.snapGrid.push(s.virtualSize - s.size); - } - } - if (s.snapGrid.length === 0) s.snapGrid = [0]; - - if (s.params.spaceBetween !== 0) { - if (s.isHorizontal()) { - if (s.rtl) s.slides.css({marginLeft: spaceBetween + 'px'}); - else s.slides.css({marginRight: spaceBetween + 'px'}); - } - else s.slides.css({marginBottom: spaceBetween + 'px'}); - } - if (s.params.watchSlidesProgress) { - s.updateSlidesOffset(); - } - }; - s.updateSlidesOffset = function () { - for (var i = 0; i < s.slides.length; i++) { - s.slides[i].swiperSlideOffset = s.isHorizontal() ? s.slides[i].offsetLeft : s.slides[i].offsetTop; - } - }; - - /*========================= - Slider/slides progress - ===========================*/ - s.updateSlidesProgress = function (translate) { - if (typeof translate === 'undefined') { - translate = s.translate || 0; - } - if (s.slides.length === 0) return; - if (typeof s.slides[0].swiperSlideOffset === 'undefined') s.updateSlidesOffset(); - - var offsetCenter = -translate; - if (s.rtl) offsetCenter = translate; - - // Visible Slides - s.slides.removeClass(s.params.slideVisibleClass); - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides[i]; - var slideProgress = (offsetCenter + (s.params.centeredSlides ? s.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + s.params.spaceBetween); - if (s.params.watchSlidesVisibility) { - var slideBefore = -(offsetCenter - slide.swiperSlideOffset); - var slideAfter = slideBefore + s.slidesSizesGrid[i]; - var isVisible = - (slideBefore >= 0 && slideBefore < s.size) || - (slideAfter > 0 && slideAfter <= s.size) || - (slideBefore <= 0 && slideAfter >= s.size); - if (isVisible) { - s.slides.eq(i).addClass(s.params.slideVisibleClass); - } - } - slide.progress = s.rtl ? -slideProgress : slideProgress; - } - }; - s.updateProgress = function (translate) { - if (typeof translate === 'undefined') { - translate = s.translate || 0; - } - var translatesDiff = s.maxTranslate() - s.minTranslate(); - var wasBeginning = s.isBeginning; - var wasEnd = s.isEnd; - if (translatesDiff === 0) { - s.progress = 0; - s.isBeginning = s.isEnd = true; - } - else { - s.progress = (translate - s.minTranslate()) / (translatesDiff); - s.isBeginning = s.progress <= 0; - s.isEnd = s.progress >= 1; - } - if (s.isBeginning && !wasBeginning) s.emit('onReachBeginning', s); - if (s.isEnd && !wasEnd) s.emit('onReachEnd', s); - - if (s.params.watchSlidesProgress) s.updateSlidesProgress(translate); - s.emit('onProgress', s, s.progress); - }; - s.updateActiveIndex = function () { - var translate = s.rtl ? s.translate : -s.translate; - var newActiveIndex, i, snapIndex; - for (i = 0; i < s.slidesGrid.length; i ++) { - if (typeof s.slidesGrid[i + 1] !== 'undefined') { - if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1] - (s.slidesGrid[i + 1] - s.slidesGrid[i]) / 2) { - newActiveIndex = i; - } - else if (translate >= s.slidesGrid[i] && translate < s.slidesGrid[i + 1]) { - newActiveIndex = i + 1; - } - } - else { - if (translate >= s.slidesGrid[i]) { - newActiveIndex = i; - } - } - } - // Normalize slideIndex - if(s.params.normalizeSlideIndex){ - if (newActiveIndex < 0 || typeof newActiveIndex === 'undefined') newActiveIndex = 0; - } - // for (i = 0; i < s.slidesGrid.length; i++) { - // if (- translate >= s.slidesGrid[i]) { - // newActiveIndex = i; - // } - // } - snapIndex = Math.floor(newActiveIndex / s.params.slidesPerGroup); - if (snapIndex >= s.snapGrid.length) snapIndex = s.snapGrid.length - 1; - - if (newActiveIndex === s.activeIndex) { - return; - } - s.snapIndex = snapIndex; - s.previousIndex = s.activeIndex; - s.activeIndex = newActiveIndex; - s.updateClasses(); - s.updateRealIndex(); - }; - s.updateRealIndex = function(){ - s.realIndex = s.slides.eq(s.activeIndex).attr('data-swiper-slide-index') || s.activeIndex; - }; - - /*========================= - Classes - ===========================*/ - s.updateClasses = function () { - s.slides.removeClass(s.params.slideActiveClass + ' ' + s.params.slideNextClass + ' ' + s.params.slidePrevClass + ' ' + s.params.slideDuplicateActiveClass + ' ' + s.params.slideDuplicateNextClass + ' ' + s.params.slideDuplicatePrevClass); - var activeSlide = s.slides.eq(s.activeIndex); - // Active classes - activeSlide.addClass(s.params.slideActiveClass); - if (params.loop) { - // Duplicate to all looped slides - if (activeSlide.hasClass(s.params.slideDuplicateClass)) { - s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index="' + s.realIndex + '"]').addClass(s.params.slideDuplicateActiveClass); - } - else { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + s.realIndex + '"]').addClass(s.params.slideDuplicateActiveClass); - } - } - // Next Slide - var nextSlide = activeSlide.next('.' + s.params.slideClass).addClass(s.params.slideNextClass); - if (s.params.loop && nextSlide.length === 0) { - nextSlide = s.slides.eq(0); - nextSlide.addClass(s.params.slideNextClass); - } - // Prev Slide - var prevSlide = activeSlide.prev('.' + s.params.slideClass).addClass(s.params.slidePrevClass); - if (s.params.loop && prevSlide.length === 0) { - prevSlide = s.slides.eq(-1); - prevSlide.addClass(s.params.slidePrevClass); - } - if (params.loop) { - // Duplicate to all looped slides - if (nextSlide.hasClass(s.params.slideDuplicateClass)) { - s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index="' + nextSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicateNextClass); - } - else { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + nextSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicateNextClass); - } - if (prevSlide.hasClass(s.params.slideDuplicateClass)) { - s.wrapper.children('.' + s.params.slideClass + ':not(.' + s.params.slideDuplicateClass + ')[data-swiper-slide-index="' + prevSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicatePrevClass); - } - else { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + prevSlide.attr('data-swiper-slide-index') + '"]').addClass(s.params.slideDuplicatePrevClass); - } - } - - // Pagination - if (s.paginationContainer && s.paginationContainer.length > 0) { - // Current/Total - var current, - total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; - if (s.params.loop) { - current = Math.ceil((s.activeIndex - s.loopedSlides)/s.params.slidesPerGroup); - if (current > s.slides.length - 1 - s.loopedSlides * 2) { - current = current - (s.slides.length - s.loopedSlides * 2); - } - if (current > total - 1) current = current - total; - if (current < 0 && s.params.paginationType !== 'bullets') current = total + current; - } - else { - if (typeof s.snapIndex !== 'undefined') { - current = s.snapIndex; - } - else { - current = s.activeIndex || 0; - } - } - // Types - if (s.params.paginationType === 'bullets' && s.bullets && s.bullets.length > 0) { - s.bullets.removeClass(s.params.bulletActiveClass); - if (s.paginationContainer.length > 1) { - s.bullets.each(function () { - if ($(this).index() === current) $(this).addClass(s.params.bulletActiveClass); - }); - } - else { - s.bullets.eq(current).addClass(s.params.bulletActiveClass); - } - } - if (s.params.paginationType === 'fraction') { - s.paginationContainer.find('.' + s.params.paginationCurrentClass).text(current + 1); - s.paginationContainer.find('.' + s.params.paginationTotalClass).text(total); - } - if (s.params.paginationType === 'progress') { - var scale = (current + 1) / total, - scaleX = scale, - scaleY = 1; - if (!s.isHorizontal()) { - scaleY = scale; - scaleX = 1; - } - s.paginationContainer.find('.' + s.params.paginationProgressbarClass).transform('translate3d(0,0,0) scaleX(' + scaleX + ') scaleY(' + scaleY + ')').transition(s.params.speed); - } - if (s.params.paginationType === 'custom' && s.params.paginationCustomRender) { - s.paginationContainer.html(s.params.paginationCustomRender(s, current + 1, total)); - s.emit('onPaginationRendered', s, s.paginationContainer[0]); - } - } - - // Next/active buttons - if (!s.params.loop) { - if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) { - if (s.isBeginning) { - s.prevButton.addClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.disable(s.prevButton); - } - else { - s.prevButton.removeClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.enable(s.prevButton); - } - } - if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) { - if (s.isEnd) { - s.nextButton.addClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.disable(s.nextButton); - } - else { - s.nextButton.removeClass(s.params.buttonDisabledClass); - if (s.params.a11y && s.a11y) s.a11y.enable(s.nextButton); - } - } - } - }; - - /*========================= - Pagination - ===========================*/ - s.updatePagination = function () { - if (!s.params.pagination) return; - if (s.paginationContainer && s.paginationContainer.length > 0) { - var paginationHTML = ''; - if (s.params.paginationType === 'bullets') { - var numberOfBullets = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; - for (var i = 0; i < numberOfBullets; i++) { - if (s.params.paginationBulletRender) { - paginationHTML += s.params.paginationBulletRender(s, i, s.params.bulletClass); - } - else { - paginationHTML += '<' + s.params.paginationElement+' class="' + s.params.bulletClass + '">'; - } - } - s.paginationContainer.html(paginationHTML); - s.bullets = s.paginationContainer.find('.' + s.params.bulletClass); - if (s.params.paginationClickable && s.params.a11y && s.a11y) { - s.a11y.initPagination(); - } - } - if (s.params.paginationType === 'fraction') { - if (s.params.paginationFractionRender) { - paginationHTML = s.params.paginationFractionRender(s, s.params.paginationCurrentClass, s.params.paginationTotalClass); - } - else { - paginationHTML = - '' + - ' / ' + - ''; - } - s.paginationContainer.html(paginationHTML); - } - if (s.params.paginationType === 'progress') { - if (s.params.paginationProgressRender) { - paginationHTML = s.params.paginationProgressRender(s, s.params.paginationProgressbarClass); - } - else { - paginationHTML = ''; - } - s.paginationContainer.html(paginationHTML); - } - if (s.params.paginationType !== 'custom') { - s.emit('onPaginationRendered', s, s.paginationContainer[0]); - } - } - }; - /*========================= - Common update method - ===========================*/ - s.update = function (updateTranslate) { - s.updateContainerSize(); - s.updateSlidesSize(); - s.updateProgress(); - s.updatePagination(); - s.updateClasses(); - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.set(); - } - function forceSetTranslate() { - var translate = s.rtl ? -s.translate : s.translate; - newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate()); - s.setWrapperTranslate(newTranslate); - s.updateActiveIndex(); - s.updateClasses(); - } - if (updateTranslate) { - var translated, newTranslate; - if (s.controller && s.controller.spline) { - s.controller.spline = undefined; - } - if (s.params.freeMode) { - forceSetTranslate(); - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - } - else { - if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) { - translated = s.slideTo(s.slides.length - 1, 0, false, true); - } - else { - translated = s.slideTo(s.activeIndex, 0, false, true); - } - if (!translated) { - forceSetTranslate(); - } - } - } - else if (s.params.autoHeight) { - s.updateAutoHeight(); - } - }; - - /*========================= - Resize Handler - ===========================*/ - s.onResize = function (forceUpdatePagination) { - //Breakpoints - if (s.params.breakpoints) { - s.setBreakpoint(); - } - - // Disable locks on resize - var allowSwipeToPrev = s.params.allowSwipeToPrev; - var allowSwipeToNext = s.params.allowSwipeToNext; - s.params.allowSwipeToPrev = s.params.allowSwipeToNext = true; - - s.updateContainerSize(); - s.updateSlidesSize(); - if (s.params.slidesPerView === 'auto' || s.params.freeMode || forceUpdatePagination) s.updatePagination(); - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.set(); - } - if (s.controller && s.controller.spline) { - s.controller.spline = undefined; - } - var slideChangedBySlideTo = false; - if (s.params.freeMode) { - var newTranslate = Math.min(Math.max(s.translate, s.maxTranslate()), s.minTranslate()); - s.setWrapperTranslate(newTranslate); - s.updateActiveIndex(); - s.updateClasses(); - - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - } - else { - s.updateClasses(); - if ((s.params.slidesPerView === 'auto' || s.params.slidesPerView > 1) && s.isEnd && !s.params.centeredSlides) { - slideChangedBySlideTo = s.slideTo(s.slides.length - 1, 0, false, true); - } - else { - slideChangedBySlideTo = s.slideTo(s.activeIndex, 0, false, true); - } - } - if (s.params.lazyLoading && !slideChangedBySlideTo && s.lazy) { - s.lazy.load(); - } - // Return locks after resize - s.params.allowSwipeToPrev = allowSwipeToPrev; - s.params.allowSwipeToNext = allowSwipeToNext; - }; - - /*========================= - Events - ===========================*/ - - //Define Touch Events - s.touchEventsDesktop = {start: 'mousedown', move: 'mousemove', end: 'mouseup'}; - if (window.navigator.pointerEnabled) s.touchEventsDesktop = {start: 'pointerdown', move: 'pointermove', end: 'pointerup'}; - else if (window.navigator.msPointerEnabled) s.touchEventsDesktop = {start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp'}; - s.touchEvents = { - start : s.support.touch || !s.params.simulateTouch ? 'touchstart' : s.touchEventsDesktop.start, - move : s.support.touch || !s.params.simulateTouch ? 'touchmove' : s.touchEventsDesktop.move, - end : s.support.touch || !s.params.simulateTouch ? 'touchend' : s.touchEventsDesktop.end - }; - - - // WP8 Touch Events Fix - if (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) { - (s.params.touchEventsTarget === 'container' ? s.container : s.wrapper).addClass('swiper-wp8-' + s.params.direction); - } - - // Attach/detach events - s.initEvents = function (detach) { - var actionDom = detach ? 'off' : 'on'; - var action = detach ? 'removeEventListener' : 'addEventListener'; - var touchEventsTarget = s.params.touchEventsTarget === 'container' ? s.container[0] : s.wrapper[0]; - var target = s.support.touch ? touchEventsTarget : document; - - var moveCapture = s.params.nested ? true : false; - - //Touch Events - if (s.browser.ie) { - touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, false); - target[action](s.touchEvents.move, s.onTouchMove, moveCapture); - target[action](s.touchEvents.end, s.onTouchEnd, false); - } - else { - if (s.support.touch) { - var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false; - touchEventsTarget[action](s.touchEvents.start, s.onTouchStart, passiveListener); - touchEventsTarget[action](s.touchEvents.move, s.onTouchMove, moveCapture); - touchEventsTarget[action](s.touchEvents.end, s.onTouchEnd, passiveListener); - } - if ((params.simulateTouch && !s.device.ios && !s.device.android) || (params.simulateTouch && !s.support.touch && s.device.ios)) { - touchEventsTarget[action]('mousedown', s.onTouchStart, false); - document[action]('mousemove', s.onTouchMove, moveCapture); - document[action]('mouseup', s.onTouchEnd, false); - } - } - window[action]('resize', s.onResize); - - // Next, Prev, Index - if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) { - s.nextButton[actionDom]('click', s.onClickNext); - if (s.params.a11y && s.a11y) s.nextButton[actionDom]('keydown', s.a11y.onEnterKey); - } - if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) { - s.prevButton[actionDom]('click', s.onClickPrev); - if (s.params.a11y && s.a11y) s.prevButton[actionDom]('keydown', s.a11y.onEnterKey); - } - if (s.params.pagination && s.params.paginationClickable) { - s.paginationContainer[actionDom]('click', '.' + s.params.bulletClass, s.onClickIndex); - if (s.params.a11y && s.a11y) s.paginationContainer[actionDom]('keydown', '.' + s.params.bulletClass, s.a11y.onEnterKey); - } - - // Prevent Links Clicks - if (s.params.preventClicks || s.params.preventClicksPropagation) touchEventsTarget[action]('click', s.preventClicks, true); - }; - s.attachEvents = function () { - s.initEvents(); - }; - s.detachEvents = function () { - s.initEvents(true); - }; - - /*========================= - Handle Clicks - ===========================*/ - // Prevent Clicks - s.allowClick = true; - s.preventClicks = function (e) { - if (!s.allowClick) { - if (s.params.preventClicks) e.preventDefault(); - if (s.params.preventClicksPropagation && s.animating) { - e.stopPropagation(); - e.stopImmediatePropagation(); - } - } - }; - // Clicks - s.onClickNext = function (e) { - e.preventDefault(); - if (s.isEnd && !s.params.loop) return; - s.slideNext(); - }; - s.onClickPrev = function (e) { - e.preventDefault(); - if (s.isBeginning && !s.params.loop) return; - s.slidePrev(); - }; - s.onClickIndex = function (e) { - e.preventDefault(); - var index = $(this).index() * s.params.slidesPerGroup; - if (s.params.loop) index = index + s.loopedSlides; - s.slideTo(index); - }; - - /*========================= - Handle Touches - ===========================*/ - function findElementInEvent(e, selector) { - var el = $(e.target); - if (!el.is(selector)) { - if (typeof selector === 'string') { - el = el.parents(selector); - } - else if (selector.nodeType) { - var found; - el.parents().each(function (index, _el) { - if (_el === selector) found = selector; - }); - if (!found) return undefined; - else return selector; - } - } - if (el.length === 0) { - return undefined; - } - return el[0]; - } - s.updateClickedSlide = function (e) { - var slide = findElementInEvent(e, '.' + s.params.slideClass); - var slideFound = false; - if (slide) { - for (var i = 0; i < s.slides.length; i++) { - if (s.slides[i] === slide) slideFound = true; - } - } - - if (slide && slideFound) { - s.clickedSlide = slide; - s.clickedIndex = $(slide).index(); - } - else { - s.clickedSlide = undefined; - s.clickedIndex = undefined; - return; - } - if (s.params.slideToClickedSlide && s.clickedIndex !== undefined && s.clickedIndex !== s.activeIndex) { - var slideToIndex = s.clickedIndex, - realIndex, - duplicatedSlides; - if (s.params.loop) { - if (s.animating) return; - realIndex = $(s.clickedSlide).attr('data-swiper-slide-index'); - if (s.params.centeredSlides) { - if ((slideToIndex < s.loopedSlides - s.params.slidesPerView/2) || (slideToIndex > s.slides.length - s.loopedSlides + s.params.slidesPerView/2)) { - s.fixLoop(); - slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index="' + realIndex + '"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index(); - setTimeout(function () { - s.slideTo(slideToIndex); - }, 0); - } - else { - s.slideTo(slideToIndex); - } - } - else { - if (slideToIndex > s.slides.length - s.params.slidesPerView) { - s.fixLoop(); - slideToIndex = s.wrapper.children('.' + s.params.slideClass + '[data-swiper-slide-index="' + realIndex + '"]:not(.' + s.params.slideDuplicateClass + ')').eq(0).index(); - setTimeout(function () { - s.slideTo(slideToIndex); - }, 0); - } - else { - s.slideTo(slideToIndex); - } - } - } - else { - s.slideTo(slideToIndex); - } - } - }; - - var isTouched, - isMoved, - allowTouchCallbacks, - touchStartTime, - isScrolling, - currentTranslate, - startTranslate, - allowThresholdMove, - // Form elements to match - formElements = 'input, select, textarea, button, video', - // Last click time - lastClickTime = Date.now(), clickTimeout, - //Velocities - velocities = [], - allowMomentumBounce; - - // Animating Flag - s.animating = false; - - // Touches information - s.touches = { - startX: 0, - startY: 0, - currentX: 0, - currentY: 0, - diff: 0 - }; - - // Touch handlers - var isTouchEvent, startMoving; - s.onTouchStart = function (e) { - if (e.originalEvent) e = e.originalEvent; - isTouchEvent = e.type === 'touchstart'; - if (!isTouchEvent && 'which' in e && e.which === 3) return; - if (s.params.noSwiping && findElementInEvent(e, '.' + s.params.noSwipingClass)) { - s.allowClick = true; - return; - } - if (s.params.swipeHandler) { - if (!findElementInEvent(e, s.params.swipeHandler)) return; - } - - var startX = s.touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - var startY = s.touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - - // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore - if(s.device.ios && s.params.iOSEdgeSwipeDetection && startX <= s.params.iOSEdgeSwipeThreshold) { - return; - } - - isTouched = true; - isMoved = false; - allowTouchCallbacks = true; - isScrolling = undefined; - startMoving = undefined; - s.touches.startX = startX; - s.touches.startY = startY; - touchStartTime = Date.now(); - s.allowClick = true; - s.updateContainerSize(); - s.swipeDirection = undefined; - if (s.params.threshold > 0) allowThresholdMove = false; - if (e.type !== 'touchstart') { - var preventDefault = true; - if ($(e.target).is(formElements)) preventDefault = false; - if (document.activeElement && $(document.activeElement).is(formElements)) { - document.activeElement.blur(); - } - if (preventDefault) { - e.preventDefault(); - } - } - s.emit('onTouchStart', s, e); - }; - - s.onTouchMove = function (e) { - if (e.originalEvent) e = e.originalEvent; - if (isTouchEvent && e.type === 'mousemove') return; - if (e.preventedByNestedSwiper) { - s.touches.startX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - s.touches.startY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - return; - } - if (s.params.onlyExternal) { - // isMoved = true; - s.allowClick = false; - if (isTouched) { - s.touches.startX = s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - s.touches.startY = s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = Date.now(); - } - return; - } - if (isTouchEvent && s.params.touchReleaseOnEdges && !s.params.loop) { - if (!s.isHorizontal()) { - // Vertical - if ( - (s.touches.currentY < s.touches.startY && s.translate <= s.maxTranslate()) || - (s.touches.currentY > s.touches.startY && s.translate >= s.minTranslate()) - ) { - return; - } - } - else { - if ( - (s.touches.currentX < s.touches.startX && s.translate <= s.maxTranslate()) || - (s.touches.currentX > s.touches.startX && s.translate >= s.minTranslate()) - ) { - return; - } - } - } - if (isTouchEvent && document.activeElement) { - if (e.target === document.activeElement && $(e.target).is(formElements)) { - isMoved = true; - s.allowClick = false; - return; - } - } - if (allowTouchCallbacks) { - s.emit('onTouchMove', s, e); - } - if (e.targetTouches && e.targetTouches.length > 1) return; - - s.touches.currentX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - s.touches.currentY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - - if (typeof isScrolling === 'undefined') { - var touchAngle; - if (s.isHorizontal() && s.touches.currentY === s.touches.startY || !s.isHorizontal() && s.touches.currentX !== s.touches.startX) { - isScrolling = false; - } - else { - touchAngle = Math.atan2(Math.abs(s.touches.currentY - s.touches.startY), Math.abs(s.touches.currentX - s.touches.startX)) * 180 / Math.PI; - isScrolling = s.isHorizontal() ? touchAngle > s.params.touchAngle : (90 - touchAngle > s.params.touchAngle); - } - } - if (isScrolling) { - s.emit('onTouchMoveOpposite', s, e); - } - if (typeof startMoving === 'undefined' && s.browser.ieTouch) { - if (s.touches.currentX !== s.touches.startX || s.touches.currentY !== s.touches.startY) { - startMoving = true; - } - } - if (!isTouched) return; - if (isScrolling) { - isTouched = false; - return; - } - if (!startMoving && s.browser.ieTouch) { - return; - } - s.allowClick = false; - s.emit('onSliderMove', s, e); - e.preventDefault(); - if (s.params.touchMoveStopPropagation && !s.params.nested) { - e.stopPropagation(); - } - - if (!isMoved) { - if (params.loop) { - s.fixLoop(); - } - startTranslate = s.getWrapperTranslate(); - s.setWrapperTransition(0); - if (s.animating) { - s.wrapper.trigger('webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd'); - } - if (s.params.autoplay && s.autoplaying) { - if (s.params.autoplayDisableOnInteraction) { - s.stopAutoplay(); - } - else { - s.pauseAutoplay(); - } - } - allowMomentumBounce = false; - //Grab Cursor - if (s.params.grabCursor && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) { - s.setGrabCursor(true); - } - } - isMoved = true; - - var diff = s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY; - - diff = diff * s.params.touchRatio; - if (s.rtl) diff = -diff; - - s.swipeDirection = diff > 0 ? 'prev' : 'next'; - currentTranslate = diff + startTranslate; - - var disableParentSwiper = true; - if ((diff > 0 && currentTranslate > s.minTranslate())) { - disableParentSwiper = false; - if (s.params.resistance) currentTranslate = s.minTranslate() - 1 + Math.pow(-s.minTranslate() + startTranslate + diff, s.params.resistanceRatio); - } - else if (diff < 0 && currentTranslate < s.maxTranslate()) { - disableParentSwiper = false; - if (s.params.resistance) currentTranslate = s.maxTranslate() + 1 - Math.pow(s.maxTranslate() - startTranslate - diff, s.params.resistanceRatio); - } - - if (disableParentSwiper) { - e.preventedByNestedSwiper = true; - } - - // Directions locks - if (!s.params.allowSwipeToNext && s.swipeDirection === 'next' && currentTranslate < startTranslate) { - currentTranslate = startTranslate; - } - if (!s.params.allowSwipeToPrev && s.swipeDirection === 'prev' && currentTranslate > startTranslate) { - currentTranslate = startTranslate; - } - - - // Threshold - if (s.params.threshold > 0) { - if (Math.abs(diff) > s.params.threshold || allowThresholdMove) { - if (!allowThresholdMove) { - allowThresholdMove = true; - s.touches.startX = s.touches.currentX; - s.touches.startY = s.touches.currentY; - currentTranslate = startTranslate; - s.touches.diff = s.isHorizontal() ? s.touches.currentX - s.touches.startX : s.touches.currentY - s.touches.startY; - return; - } - } - else { - currentTranslate = startTranslate; - return; - } - } - - if (!s.params.followFinger) return; - - // Update active index in free mode - if (s.params.freeMode || s.params.watchSlidesProgress) { - s.updateActiveIndex(); - } - if (s.params.freeMode) { - //Velocity - if (velocities.length === 0) { - velocities.push({ - position: s.touches[s.isHorizontal() ? 'startX' : 'startY'], - time: touchStartTime - }); - } - velocities.push({ - position: s.touches[s.isHorizontal() ? 'currentX' : 'currentY'], - time: (new window.Date()).getTime() - }); - } - // Update progress - s.updateProgress(currentTranslate); - // Update translate - s.setWrapperTranslate(currentTranslate); - }; - s.onTouchEnd = function (e) { - if (e.originalEvent) e = e.originalEvent; - if (allowTouchCallbacks) { - s.emit('onTouchEnd', s, e); - } - allowTouchCallbacks = false; - if (!isTouched) return; - //Return Grab Cursor - if (s.params.grabCursor && isMoved && isTouched && (s.params.allowSwipeToNext === true || s.params.allowSwipeToPrev === true)) { - s.setGrabCursor(false); - } - - // Time diff - var touchEndTime = Date.now(); - var timeDiff = touchEndTime - touchStartTime; - - // Tap, doubleTap, Click - if (s.allowClick) { - s.updateClickedSlide(e); - s.emit('onTap', s, e); - if (timeDiff < 300 && (touchEndTime - lastClickTime) > 300) { - if (clickTimeout) clearTimeout(clickTimeout); - clickTimeout = setTimeout(function () { - if (!s) return; - if (s.params.paginationHide && s.paginationContainer.length > 0 && !$(e.target).hasClass(s.params.bulletClass)) { - s.paginationContainer.toggleClass(s.params.paginationHiddenClass); - } - s.emit('onClick', s, e); - }, 300); - - } - if (timeDiff < 300 && (touchEndTime - lastClickTime) < 300) { - if (clickTimeout) clearTimeout(clickTimeout); - s.emit('onDoubleTap', s, e); - } - } - - lastClickTime = Date.now(); - setTimeout(function () { - if (s) s.allowClick = true; - }, 0); - - if (!isTouched || !isMoved || !s.swipeDirection || s.touches.diff === 0 || currentTranslate === startTranslate) { - isTouched = isMoved = false; - return; - } - isTouched = isMoved = false; - - var currentPos; - if (s.params.followFinger) { - currentPos = s.rtl ? s.translate : -s.translate; - } - else { - currentPos = -currentTranslate; - } - if (s.params.freeMode) { - if (currentPos < -s.minTranslate()) { - s.slideTo(s.activeIndex); - return; - } - else if (currentPos > -s.maxTranslate()) { - if (s.slides.length < s.snapGrid.length) { - s.slideTo(s.snapGrid.length - 1); - } - else { - s.slideTo(s.slides.length - 1); - } - return; - } - - if (s.params.freeModeMomentum) { - if (velocities.length > 1) { - var lastMoveEvent = velocities.pop(), velocityEvent = velocities.pop(); - - var distance = lastMoveEvent.position - velocityEvent.position; - var time = lastMoveEvent.time - velocityEvent.time; - s.velocity = distance / time; - s.velocity = s.velocity / 2; - if (Math.abs(s.velocity) < s.params.freeModeMinimumVelocity) { - s.velocity = 0; - } - // this implies that the user stopped moving a finger then released. - // There would be no events with distance zero, so the last event is stale. - if (time > 150 || (new window.Date().getTime() - lastMoveEvent.time) > 300) { - s.velocity = 0; - } - } else { - s.velocity = 0; - } - s.velocity = s.velocity * s.params.freeModeMomentumVelocityRatio; - - velocities.length = 0; - var momentumDuration = 1000 * s.params.freeModeMomentumRatio; - var momentumDistance = s.velocity * momentumDuration; - - var newPosition = s.translate + momentumDistance; - if (s.rtl) newPosition = - newPosition; - var doBounce = false; - var afterBouncePosition; - var bounceAmount = Math.abs(s.velocity) * 20 * s.params.freeModeMomentumBounceRatio; - if (newPosition < s.maxTranslate()) { - if (s.params.freeModeMomentumBounce) { - if (newPosition + s.maxTranslate() < -bounceAmount) { - newPosition = s.maxTranslate() - bounceAmount; - } - afterBouncePosition = s.maxTranslate(); - doBounce = true; - allowMomentumBounce = true; - } - else { - newPosition = s.maxTranslate(); - } - } - else if (newPosition > s.minTranslate()) { - if (s.params.freeModeMomentumBounce) { - if (newPosition - s.minTranslate() > bounceAmount) { - newPosition = s.minTranslate() + bounceAmount; - } - afterBouncePosition = s.minTranslate(); - doBounce = true; - allowMomentumBounce = true; - } - else { - newPosition = s.minTranslate(); - } - } - else if (s.params.freeModeSticky) { - var j = 0, - nextSlide; - for (j = 0; j < s.snapGrid.length; j += 1) { - if (s.snapGrid[j] > -newPosition) { - nextSlide = j; - break; - } - - } - if (Math.abs(s.snapGrid[nextSlide] - newPosition) < Math.abs(s.snapGrid[nextSlide - 1] - newPosition) || s.swipeDirection === 'next') { - newPosition = s.snapGrid[nextSlide]; - } else { - newPosition = s.snapGrid[nextSlide - 1]; - } - if (!s.rtl) newPosition = - newPosition; - } - //Fix duration - if (s.velocity !== 0) { - if (s.rtl) { - momentumDuration = Math.abs((-newPosition - s.translate) / s.velocity); - } - else { - momentumDuration = Math.abs((newPosition - s.translate) / s.velocity); - } - } - else if (s.params.freeModeSticky) { - s.slideReset(); - return; - } - - if (s.params.freeModeMomentumBounce && doBounce) { - s.updateProgress(afterBouncePosition); - s.setWrapperTransition(momentumDuration); - s.setWrapperTranslate(newPosition); - s.onTransitionStart(); - s.animating = true; - s.wrapper.transitionEnd(function () { - if (!s || !allowMomentumBounce) return; - s.emit('onMomentumBounce', s); - - s.setWrapperTransition(s.params.speed); - s.setWrapperTranslate(afterBouncePosition); - s.wrapper.transitionEnd(function () { - if (!s) return; - s.onTransitionEnd(); - }); - }); - } else if (s.velocity) { - s.updateProgress(newPosition); - s.setWrapperTransition(momentumDuration); - s.setWrapperTranslate(newPosition); - s.onTransitionStart(); - if (!s.animating) { - s.animating = true; - s.wrapper.transitionEnd(function () { - if (!s) return; - s.onTransitionEnd(); - }); - } - - } else { - s.updateProgress(newPosition); - } - - s.updateActiveIndex(); - } - if (!s.params.freeModeMomentum || timeDiff >= s.params.longSwipesMs) { - s.updateProgress(); - s.updateActiveIndex(); - } - return; - } - - // Find current slide - var i, stopIndex = 0, groupSize = s.slidesSizesGrid[0]; - for (i = 0; i < s.slidesGrid.length; i += s.params.slidesPerGroup) { - if (typeof s.slidesGrid[i + s.params.slidesPerGroup] !== 'undefined') { - if (currentPos >= s.slidesGrid[i] && currentPos < s.slidesGrid[i + s.params.slidesPerGroup]) { - stopIndex = i; - groupSize = s.slidesGrid[i + s.params.slidesPerGroup] - s.slidesGrid[i]; - } - } - else { - if (currentPos >= s.slidesGrid[i]) { - stopIndex = i; - groupSize = s.slidesGrid[s.slidesGrid.length - 1] - s.slidesGrid[s.slidesGrid.length - 2]; - } - } - } - - // Find current slide size - var ratio = (currentPos - s.slidesGrid[stopIndex]) / groupSize; - - if (timeDiff > s.params.longSwipesMs) { - // Long touches - if (!s.params.longSwipes) { - s.slideTo(s.activeIndex); - return; - } - if (s.swipeDirection === 'next') { - if (ratio >= s.params.longSwipesRatio) s.slideTo(stopIndex + s.params.slidesPerGroup); - else s.slideTo(stopIndex); - - } - if (s.swipeDirection === 'prev') { - if (ratio > (1 - s.params.longSwipesRatio)) s.slideTo(stopIndex + s.params.slidesPerGroup); - else s.slideTo(stopIndex); - } - } - else { - // Short swipes - if (!s.params.shortSwipes) { - s.slideTo(s.activeIndex); - return; - } - if (s.swipeDirection === 'next') { - s.slideTo(stopIndex + s.params.slidesPerGroup); - - } - if (s.swipeDirection === 'prev') { - s.slideTo(stopIndex); - } - } - }; - /*========================= - Transitions - ===========================*/ - s._slideTo = function (slideIndex, speed) { - return s.slideTo(slideIndex, speed, true, true); - }; - s.slideTo = function (slideIndex, speed, runCallbacks, internal) { - if (typeof runCallbacks === 'undefined') runCallbacks = true; - if (typeof slideIndex === 'undefined') slideIndex = 0; - if (slideIndex < 0) slideIndex = 0; - s.snapIndex = Math.floor(slideIndex / s.params.slidesPerGroup); - if (s.snapIndex >= s.snapGrid.length) s.snapIndex = s.snapGrid.length - 1; - - var translate = - s.snapGrid[s.snapIndex]; - // Stop autoplay - if (s.params.autoplay && s.autoplaying) { - if (internal || !s.params.autoplayDisableOnInteraction) { - s.pauseAutoplay(speed); - } - else { - s.stopAutoplay(); - } - } - // Update progress - s.updateProgress(translate); - - // Normalize slideIndex - if(s.params.normalizeSlideIndex){ - for (var i = 0; i < s.slidesGrid.length; i++) { - if (- Math.floor(translate * 100) >= Math.floor(s.slidesGrid[i] * 100)) { - slideIndex = i; - } - } - } - - // Directions locks - if (!s.params.allowSwipeToNext && translate < s.translate && translate < s.minTranslate()) { - return false; - } - if (!s.params.allowSwipeToPrev && translate > s.translate && translate > s.maxTranslate()) { - if ((s.activeIndex || 0) !== slideIndex ) return false; - } - - // Update Index - if (typeof speed === 'undefined') speed = s.params.speed; - s.previousIndex = s.activeIndex || 0; - s.activeIndex = slideIndex; - s.updateRealIndex(); - if ((s.rtl && -translate === s.translate) || (!s.rtl && translate === s.translate)) { - // Update Height - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - s.updateClasses(); - if (s.params.effect !== 'slide') { - s.setWrapperTranslate(translate); - } - return false; - } - s.updateClasses(); - s.onTransitionStart(runCallbacks); - - if (speed === 0 || s.browser.lteIE9) { - s.setWrapperTranslate(translate); - s.setWrapperTransition(0); - s.onTransitionEnd(runCallbacks); - } - else { - s.setWrapperTranslate(translate); - s.setWrapperTransition(speed); - if (!s.animating) { - s.animating = true; - s.wrapper.transitionEnd(function () { - if (!s) return; - s.onTransitionEnd(runCallbacks); - }); - } - - } - - return true; - }; - - s.onTransitionStart = function (runCallbacks) { - if (typeof runCallbacks === 'undefined') runCallbacks = true; - if (s.params.autoHeight) { - s.updateAutoHeight(); - } - if (s.lazy) s.lazy.onTransitionStart(); - if (runCallbacks) { - s.emit('onTransitionStart', s); - if (s.activeIndex !== s.previousIndex) { - s.emit('onSlideChangeStart', s); - if (s.activeIndex > s.previousIndex) { - s.emit('onSlideNextStart', s); - } - else { - s.emit('onSlidePrevStart', s); - } - } - - } - }; - s.onTransitionEnd = function (runCallbacks) { - s.animating = false; - s.setWrapperTransition(0); - if (typeof runCallbacks === 'undefined') runCallbacks = true; - if (s.lazy) s.lazy.onTransitionEnd(); - if (runCallbacks) { - s.emit('onTransitionEnd', s); - if (s.activeIndex !== s.previousIndex) { - s.emit('onSlideChangeEnd', s); - if (s.activeIndex > s.previousIndex) { - s.emit('onSlideNextEnd', s); - } - else { - s.emit('onSlidePrevEnd', s); - } - } - } - if (s.params.history && s.history) { - s.history.setHistory(s.params.history, s.activeIndex); - } - if (s.params.hashnav && s.hashnav) { - s.hashnav.setHash(); - } - - }; - s.slideNext = function (runCallbacks, speed, internal) { - if (s.params.loop) { - if (s.animating) return false; - s.fixLoop(); - var clientLeft = s.container[0].clientLeft; - return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal); - } - else return s.slideTo(s.activeIndex + s.params.slidesPerGroup, speed, runCallbacks, internal); - }; - s._slideNext = function (speed) { - return s.slideNext(true, speed, true); - }; - s.slidePrev = function (runCallbacks, speed, internal) { - if (s.params.loop) { - if (s.animating) return false; - s.fixLoop(); - var clientLeft = s.container[0].clientLeft; - return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal); - } - else return s.slideTo(s.activeIndex - 1, speed, runCallbacks, internal); - }; - s._slidePrev = function (speed) { - return s.slidePrev(true, speed, true); - }; - s.slideReset = function (runCallbacks, speed, internal) { - return s.slideTo(s.activeIndex, speed, runCallbacks); - }; - - s.disableTouchControl = function () { - s.params.onlyExternal = true; - return true; - }; - s.enableTouchControl = function () { - s.params.onlyExternal = false; - return true; - }; - - /*========================= - Translate/transition helpers - ===========================*/ - s.setWrapperTransition = function (duration, byController) { - s.wrapper.transition(duration); - if (s.params.effect !== 'slide' && s.effects[s.params.effect]) { - s.effects[s.params.effect].setTransition(duration); - } - if (s.params.parallax && s.parallax) { - s.parallax.setTransition(duration); - } - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.setTransition(duration); - } - if (s.params.control && s.controller) { - s.controller.setTransition(duration, byController); - } - s.emit('onSetTransition', s, duration); - }; - s.setWrapperTranslate = function (translate, updateActiveIndex, byController) { - var x = 0, y = 0, z = 0; - if (s.isHorizontal()) { - x = s.rtl ? -translate : translate; - } - else { - y = translate; - } - - if (s.params.roundLengths) { - x = round(x); - y = round(y); - } - - if (!s.params.virtualTranslate) { - if (s.support.transforms3d) s.wrapper.transform('translate3d(' + x + 'px, ' + y + 'px, ' + z + 'px)'); - else s.wrapper.transform('translate(' + x + 'px, ' + y + 'px)'); - } - - s.translate = s.isHorizontal() ? x : y; - - // Check if we need to update progress - var progress; - var translatesDiff = s.maxTranslate() - s.minTranslate(); - if (translatesDiff === 0) { - progress = 0; - } - else { - progress = (translate - s.minTranslate()) / (translatesDiff); - } - if (progress !== s.progress) { - s.updateProgress(translate); - } - - if (updateActiveIndex) s.updateActiveIndex(); - if (s.params.effect !== 'slide' && s.effects[s.params.effect]) { - s.effects[s.params.effect].setTranslate(s.translate); - } - if (s.params.parallax && s.parallax) { - s.parallax.setTranslate(s.translate); - } - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.setTranslate(s.translate); - } - if (s.params.control && s.controller) { - s.controller.setTranslate(s.translate, byController); - } - s.emit('onSetTranslate', s, s.translate); - }; - - s.getTranslate = function (el, axis) { - var matrix, curTransform, curStyle, transformMatrix; - - // automatic axis detection - if (typeof axis === 'undefined') { - axis = 'x'; - } - - if (s.params.virtualTranslate) { - return s.rtl ? -s.translate : s.translate; - } - - curStyle = window.getComputedStyle(el, null); - if (window.WebKitCSSMatrix) { - curTransform = curStyle.transform || curStyle.webkitTransform; - if (curTransform.split(',').length > 6) { - curTransform = curTransform.split(', ').map(function(a){ - return a.replace(',','.'); - }).join(', '); - } - // Some old versions of Webkit choke when 'none' is passed; pass - // empty string instead in this case - transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform); - } - else { - transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,'); - matrix = transformMatrix.toString().split(','); - } - - if (axis === 'x') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m41; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[12]); - //Normal Browsers - else - curTransform = parseFloat(matrix[4]); - } - if (axis === 'y') { - //Latest Chrome and webkits Fix - if (window.WebKitCSSMatrix) - curTransform = transformMatrix.m42; - //Crazy IE10 Matrix - else if (matrix.length === 16) - curTransform = parseFloat(matrix[13]); - //Normal Browsers - else - curTransform = parseFloat(matrix[5]); - } - if (s.rtl && curTransform) curTransform = -curTransform; - return curTransform || 0; - }; - s.getWrapperTranslate = function (axis) { - if (typeof axis === 'undefined') { - axis = s.isHorizontal() ? 'x' : 'y'; - } - return s.getTranslate(s.wrapper[0], axis); - }; - - /*========================= - Observer - ===========================*/ - s.observers = []; - function initObserver(target, options) { - options = options || {}; - // create an observer instance - var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver; - var observer = new ObserverFunc(function (mutations) { - mutations.forEach(function (mutation) { - s.onResize(true); - s.emit('onObserverUpdate', s, mutation); - }); - }); - - observer.observe(target, { - attributes: typeof options.attributes === 'undefined' ? true : options.attributes, - childList: typeof options.childList === 'undefined' ? true : options.childList, - characterData: typeof options.characterData === 'undefined' ? true : options.characterData - }); - - s.observers.push(observer); - } - s.initObservers = function () { - if (s.params.observeParents) { - var containerParents = s.container.parents(); - for (var i = 0; i < containerParents.length; i++) { - initObserver(containerParents[i]); - } - } - - // Observe container - initObserver(s.container[0], {childList: false}); - - // Observe wrapper - initObserver(s.wrapper[0], {attributes: false}); - }; - s.disconnectObservers = function () { - for (var i = 0; i < s.observers.length; i++) { - s.observers[i].disconnect(); - } - s.observers = []; - }; - /*========================= - Loop - ===========================*/ - // Create looped slides - s.createLoop = function () { - // Remove duplicated slides - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove(); - - var slides = s.wrapper.children('.' + s.params.slideClass); - - if(s.params.slidesPerView === 'auto' && !s.params.loopedSlides) s.params.loopedSlides = slides.length; - - s.loopedSlides = parseInt(s.params.loopedSlides || s.params.slidesPerView, 10); - s.loopedSlides = s.loopedSlides + s.params.loopAdditionalSlides; - if (s.loopedSlides > slides.length) { - s.loopedSlides = slides.length; - } - - var prependSlides = [], appendSlides = [], i; - slides.each(function (index, el) { - var slide = $(this); - if (index < s.loopedSlides) appendSlides.push(el); - if (index < slides.length && index >= slides.length - s.loopedSlides) prependSlides.push(el); - slide.attr('data-swiper-slide-index', index); - }); - for (i = 0; i < appendSlides.length; i++) { - s.wrapper.append($(appendSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass)); - } - for (i = prependSlides.length - 1; i >= 0; i--) { - s.wrapper.prepend($(prependSlides[i].cloneNode(true)).addClass(s.params.slideDuplicateClass)); - } - }; - s.destroyLoop = function () { - s.wrapper.children('.' + s.params.slideClass + '.' + s.params.slideDuplicateClass).remove(); - s.slides.removeAttr('data-swiper-slide-index'); - }; - s.reLoop = function (updatePosition) { - var oldIndex = s.activeIndex - s.loopedSlides; - s.destroyLoop(); - s.createLoop(); - s.updateSlidesSize(); - if (updatePosition) { - s.slideTo(oldIndex + s.loopedSlides, 0, false); - } - - }; - s.fixLoop = function () { - var newIndex; - //Fix For Negative Oversliding - if (s.activeIndex < s.loopedSlides) { - newIndex = s.slides.length - s.loopedSlides * 3 + s.activeIndex; - newIndex = newIndex + s.loopedSlides; - s.slideTo(newIndex, 0, false, true); - } - //Fix For Positive Oversliding - else if ((s.params.slidesPerView === 'auto' && s.activeIndex >= s.loopedSlides * 2) || (s.activeIndex > s.slides.length - s.params.slidesPerView * 2)) { - newIndex = -s.slides.length + s.activeIndex + s.loopedSlides; - newIndex = newIndex + s.loopedSlides; - s.slideTo(newIndex, 0, false, true); - } - }; - /*========================= - Append/Prepend/Remove Slides - ===========================*/ - s.appendSlide = function (slides) { - if (s.params.loop) { - s.destroyLoop(); - } - if (typeof slides === 'object' && slides.length) { - for (var i = 0; i < slides.length; i++) { - if (slides[i]) s.wrapper.append(slides[i]); - } - } - else { - s.wrapper.append(slides); - } - if (s.params.loop) { - s.createLoop(); - } - if (!(s.params.observer && s.support.observer)) { - s.update(true); - } - }; - s.prependSlide = function (slides) { - if (s.params.loop) { - s.destroyLoop(); - } - var newActiveIndex = s.activeIndex + 1; - if (typeof slides === 'object' && slides.length) { - for (var i = 0; i < slides.length; i++) { - if (slides[i]) s.wrapper.prepend(slides[i]); - } - newActiveIndex = s.activeIndex + slides.length; - } - else { - s.wrapper.prepend(slides); - } - if (s.params.loop) { - s.createLoop(); - } - if (!(s.params.observer && s.support.observer)) { - s.update(true); - } - s.slideTo(newActiveIndex, 0, false); - }; - s.removeSlide = function (slidesIndexes) { - if (s.params.loop) { - s.destroyLoop(); - s.slides = s.wrapper.children('.' + s.params.slideClass); - } - var newActiveIndex = s.activeIndex, - indexToRemove; - if (typeof slidesIndexes === 'object' && slidesIndexes.length) { - for (var i = 0; i < slidesIndexes.length; i++) { - indexToRemove = slidesIndexes[i]; - if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove(); - if (indexToRemove < newActiveIndex) newActiveIndex--; - } - newActiveIndex = Math.max(newActiveIndex, 0); - } - else { - indexToRemove = slidesIndexes; - if (s.slides[indexToRemove]) s.slides.eq(indexToRemove).remove(); - if (indexToRemove < newActiveIndex) newActiveIndex--; - newActiveIndex = Math.max(newActiveIndex, 0); - } - - if (s.params.loop) { - s.createLoop(); - } - - if (!(s.params.observer && s.support.observer)) { - s.update(true); - } - if (s.params.loop) { - s.slideTo(newActiveIndex + s.loopedSlides, 0, false); - } - else { - s.slideTo(newActiveIndex, 0, false); - } - - }; - s.removeAllSlides = function () { - var slidesIndexes = []; - for (var i = 0; i < s.slides.length; i++) { - slidesIndexes.push(i); - } - s.removeSlide(slidesIndexes); - }; - - - /*========================= - Effects - ===========================*/ - s.effects = { - fade: { - setTranslate: function () { - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides.eq(i); - var offset = slide[0].swiperSlideOffset; - var tx = -offset; - if (!s.params.virtualTranslate) tx = tx - s.translate; - var ty = 0; - if (!s.isHorizontal()) { - ty = tx; - tx = 0; - } - var slideOpacity = s.params.fade.crossFade ? - Math.max(1 - Math.abs(slide[0].progress), 0) : - 1 + Math.min(Math.max(slide[0].progress, -1), 0); - slide - .css({ - opacity: slideOpacity - }) - .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px)'); - - } - - }, - setTransition: function (duration) { - s.slides.transition(duration); - if (s.params.virtualTranslate && duration !== 0) { - var eventTriggered = false; - s.slides.transitionEnd(function () { - if (eventTriggered) return; - if (!s) return; - eventTriggered = true; - s.animating = false; - var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd']; - for (var i = 0; i < triggerEvents.length; i++) { - s.wrapper.trigger(triggerEvents[i]); - } - }); - } - } - }, - flip: { - setTranslate: function () { - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides.eq(i); - var progress = slide[0].progress; - if (s.params.flip.limitRotation) { - progress = Math.max(Math.min(slide[0].progress, 1), -1); - } - var offset = slide[0].swiperSlideOffset; - var rotate = -180 * progress, - rotateY = rotate, - rotateX = 0, - tx = -offset, - ty = 0; - if (!s.isHorizontal()) { - ty = tx; - tx = 0; - rotateX = -rotateY; - rotateY = 0; - } - else if (s.rtl) { - rotateY = -rotateY; - } - - slide[0].style.zIndex = -Math.abs(Math.round(progress)) + s.slides.length; - - if (s.params.flip.slideShadows) { - //Set shadows - var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top'); - var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom'); - if (shadowBefore.length === 0) { - shadowBefore = $('
                                                          '); - slide.append(shadowBefore); - } - if (shadowAfter.length === 0) { - shadowAfter = $('
                                                          '); - slide.append(shadowAfter); - } - if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); - if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); - } - - slide - .transform('translate3d(' + tx + 'px, ' + ty + 'px, 0px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)'); - } - }, - setTransition: function (duration) { - s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); - if (s.params.virtualTranslate && duration !== 0) { - var eventTriggered = false; - s.slides.eq(s.activeIndex).transitionEnd(function () { - if (eventTriggered) return; - if (!s) return; - if (!$(this).hasClass(s.params.slideActiveClass)) return; - eventTriggered = true; - s.animating = false; - var triggerEvents = ['webkitTransitionEnd', 'transitionend', 'oTransitionEnd', 'MSTransitionEnd', 'msTransitionEnd']; - for (var i = 0; i < triggerEvents.length; i++) { - s.wrapper.trigger(triggerEvents[i]); - } - }); - } - } - }, - cube: { - setTranslate: function () { - var wrapperRotate = 0, cubeShadow; - if (s.params.cube.shadow) { - if (s.isHorizontal()) { - cubeShadow = s.wrapper.find('.swiper-cube-shadow'); - if (cubeShadow.length === 0) { - cubeShadow = $('
                                                          '); - s.wrapper.append(cubeShadow); - } - cubeShadow.css({height: s.width + 'px'}); - } - else { - cubeShadow = s.container.find('.swiper-cube-shadow'); - if (cubeShadow.length === 0) { - cubeShadow = $('
                                                          '); - s.container.append(cubeShadow); - } - } - } - for (var i = 0; i < s.slides.length; i++) { - var slide = s.slides.eq(i); - var slideAngle = i * 90; - var round = Math.floor(slideAngle / 360); - if (s.rtl) { - slideAngle = -slideAngle; - round = Math.floor(-slideAngle / 360); - } - var progress = Math.max(Math.min(slide[0].progress, 1), -1); - var tx = 0, ty = 0, tz = 0; - if (i % 4 === 0) { - tx = - round * 4 * s.size; - tz = 0; - } - else if ((i - 1) % 4 === 0) { - tx = 0; - tz = - round * 4 * s.size; - } - else if ((i - 2) % 4 === 0) { - tx = s.size + round * 4 * s.size; - tz = s.size; - } - else if ((i - 3) % 4 === 0) { - tx = - s.size; - tz = 3 * s.size + s.size * 4 * round; - } - if (s.rtl) { - tx = -tx; - } - - if (!s.isHorizontal()) { - ty = tx; - tx = 0; - } - - var transform = 'rotateX(' + (s.isHorizontal() ? 0 : -slideAngle) + 'deg) rotateY(' + (s.isHorizontal() ? slideAngle : 0) + 'deg) translate3d(' + tx + 'px, ' + ty + 'px, ' + tz + 'px)'; - if (progress <= 1 && progress > -1) { - wrapperRotate = i * 90 + progress * 90; - if (s.rtl) wrapperRotate = -i * 90 - progress * 90; - } - slide.transform(transform); - if (s.params.cube.slideShadows) { - //Set shadows - var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top'); - var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom'); - if (shadowBefore.length === 0) { - shadowBefore = $('
                                                          '); - slide.append(shadowBefore); - } - if (shadowAfter.length === 0) { - shadowAfter = $('
                                                          '); - slide.append(shadowAfter); - } - if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0); - if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0); - } - } - s.wrapper.css({ - '-webkit-transform-origin': '50% 50% -' + (s.size / 2) + 'px', - '-moz-transform-origin': '50% 50% -' + (s.size / 2) + 'px', - '-ms-transform-origin': '50% 50% -' + (s.size / 2) + 'px', - 'transform-origin': '50% 50% -' + (s.size / 2) + 'px' - }); - - if (s.params.cube.shadow) { - if (s.isHorizontal()) { - cubeShadow.transform('translate3d(0px, ' + (s.width / 2 + s.params.cube.shadowOffset) + 'px, ' + (-s.width / 2) + 'px) rotateX(90deg) rotateZ(0deg) scale(' + (s.params.cube.shadowScale) + ')'); - } - else { - var shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90; - var multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2); - var scale1 = s.params.cube.shadowScale, - scale2 = s.params.cube.shadowScale / multiplier, - offset = s.params.cube.shadowOffset; - cubeShadow.transform('scale3d(' + scale1 + ', 1, ' + scale2 + ') translate3d(0px, ' + (s.height / 2 + offset) + 'px, ' + (-s.height / 2 / scale2) + 'px) rotateX(-90deg)'); - } - } - var zFactor = (s.isSafari || s.isUiWebView) ? (-s.size / 2) : 0; - s.wrapper.transform('translate3d(0px,0,' + zFactor + 'px) rotateX(' + (s.isHorizontal() ? 0 : wrapperRotate) + 'deg) rotateY(' + (s.isHorizontal() ? -wrapperRotate : 0) + 'deg)'); - }, - setTransition: function (duration) { - s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); - if (s.params.cube.shadow && !s.isHorizontal()) { - s.container.find('.swiper-cube-shadow').transition(duration); - } - } - }, - coverflow: { - setTranslate: function () { - var transform = s.translate; - var center = s.isHorizontal() ? -transform + s.width / 2 : -transform + s.height / 2; - var rotate = s.isHorizontal() ? s.params.coverflow.rotate: -s.params.coverflow.rotate; - var translate = s.params.coverflow.depth; - //Each slide offset from center - for (var i = 0, length = s.slides.length; i < length; i++) { - var slide = s.slides.eq(i); - var slideSize = s.slidesSizesGrid[i]; - var slideOffset = slide[0].swiperSlideOffset; - var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * s.params.coverflow.modifier; - - var rotateY = s.isHorizontal() ? rotate * offsetMultiplier : 0; - var rotateX = s.isHorizontal() ? 0 : rotate * offsetMultiplier; - // var rotateZ = 0 - var translateZ = -translate * Math.abs(offsetMultiplier); - - var translateY = s.isHorizontal() ? 0 : s.params.coverflow.stretch * (offsetMultiplier); - var translateX = s.isHorizontal() ? s.params.coverflow.stretch * (offsetMultiplier) : 0; - - //Fix for ultra small values - if (Math.abs(translateX) < 0.001) translateX = 0; - if (Math.abs(translateY) < 0.001) translateY = 0; - if (Math.abs(translateZ) < 0.001) translateZ = 0; - if (Math.abs(rotateY) < 0.001) rotateY = 0; - if (Math.abs(rotateX) < 0.001) rotateX = 0; - - var slideTransform = 'translate3d(' + translateX + 'px,' + translateY + 'px,' + translateZ + 'px) rotateX(' + rotateX + 'deg) rotateY(' + rotateY + 'deg)'; - - slide.transform(slideTransform); - slide[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1; - if (s.params.coverflow.slideShadows) { - //Set shadows - var shadowBefore = s.isHorizontal() ? slide.find('.swiper-slide-shadow-left') : slide.find('.swiper-slide-shadow-top'); - var shadowAfter = s.isHorizontal() ? slide.find('.swiper-slide-shadow-right') : slide.find('.swiper-slide-shadow-bottom'); - if (shadowBefore.length === 0) { - shadowBefore = $('
                                                          '); - slide.append(shadowBefore); - } - if (shadowAfter.length === 0) { - shadowAfter = $('
                                                          '); - slide.append(shadowAfter); - } - if (shadowBefore.length) shadowBefore[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; - if (shadowAfter.length) shadowAfter[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0; - } - } - - //Set correct perspective for IE10 - if (s.browser.ie) { - var ws = s.wrapper[0].style; - ws.perspectiveOrigin = center + 'px 50%'; - } - }, - setTransition: function (duration) { - s.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration); - } - } - }; - - /*========================= - Images Lazy Loading - ===========================*/ - s.lazy = { - initialImageLoaded: false, - loadImageInSlide: function (index, loadInDuplicate) { - if (typeof index === 'undefined') return; - if (typeof loadInDuplicate === 'undefined') loadInDuplicate = true; - if (s.slides.length === 0) return; - - var slide = s.slides.eq(index); - var img = slide.find('.' + s.params.lazyLoadingClass + ':not(.' + s.params.lazyStatusLoadedClass + '):not(.' + s.params.lazyStatusLoadingClass + ')'); - if (slide.hasClass(s.params.lazyLoadingClass) && !slide.hasClass(s.params.lazyStatusLoadedClass) && !slide.hasClass(s.params.lazyStatusLoadingClass)) { - img = img.add(slide[0]); - } - if (img.length === 0) return; - - img.each(function () { - var _img = $(this); - _img.addClass(s.params.lazyStatusLoadingClass); - var background = _img.attr('data-background'); - var src = _img.attr('data-src'), - srcset = _img.attr('data-srcset'), - sizes = _img.attr('data-sizes'); - s.loadImage(_img[0], (src || background), srcset, sizes, false, function () { - if (background) { - _img.css('background-image', 'url("' + background + '")'); - _img.removeAttr('data-background'); - } - else { - if (srcset) { - _img.attr('srcset', srcset); - _img.removeAttr('data-srcset'); - } - if (sizes) { - _img.attr('sizes', sizes); - _img.removeAttr('data-sizes'); - } - if (src) { - _img.attr('src', src); - _img.removeAttr('data-src'); - } - - } - - _img.addClass(s.params.lazyStatusLoadedClass).removeClass(s.params.lazyStatusLoadingClass); - slide.find('.' + s.params.lazyPreloaderClass + ', .' + s.params.preloaderClass).remove(); - if (s.params.loop && loadInDuplicate) { - var slideOriginalIndex = slide.attr('data-swiper-slide-index'); - if (slide.hasClass(s.params.slideDuplicateClass)) { - var originalSlide = s.wrapper.children('[data-swiper-slide-index="' + slideOriginalIndex + '"]:not(.' + s.params.slideDuplicateClass + ')'); - s.lazy.loadImageInSlide(originalSlide.index(), false); - } - else { - var duplicatedSlide = s.wrapper.children('.' + s.params.slideDuplicateClass + '[data-swiper-slide-index="' + slideOriginalIndex + '"]'); - s.lazy.loadImageInSlide(duplicatedSlide.index(), false); - } - } - s.emit('onLazyImageReady', s, slide[0], _img[0]); - }); - - s.emit('onLazyImageLoad', s, slide[0], _img[0]); - }); - - }, - load: function () { - var i; - var slidesPerView = s.params.slidesPerView; - if (slidesPerView === 'auto') { - slidesPerView = 0; - } - if (!s.lazy.initialImageLoaded) s.lazy.initialImageLoaded = true; - if (s.params.watchSlidesVisibility) { - s.wrapper.children('.' + s.params.slideVisibleClass).each(function () { - s.lazy.loadImageInSlide($(this).index()); - }); - } - else { - if (slidesPerView > 1) { - for (i = s.activeIndex; i < s.activeIndex + slidesPerView ; i++) { - if (s.slides[i]) s.lazy.loadImageInSlide(i); - } - } - else { - s.lazy.loadImageInSlide(s.activeIndex); - } - } - if (s.params.lazyLoadingInPrevNext) { - if (slidesPerView > 1 || (s.params.lazyLoadingInPrevNextAmount && s.params.lazyLoadingInPrevNextAmount > 1)) { - var amount = s.params.lazyLoadingInPrevNextAmount; - var spv = slidesPerView; - var maxIndex = Math.min(s.activeIndex + spv + Math.max(amount, spv), s.slides.length); - var minIndex = Math.max(s.activeIndex - Math.max(spv, amount), 0); - // Next Slides - for (i = s.activeIndex + slidesPerView; i < maxIndex; i++) { - if (s.slides[i]) s.lazy.loadImageInSlide(i); - } - // Prev Slides - for (i = minIndex; i < s.activeIndex ; i++) { - if (s.slides[i]) s.lazy.loadImageInSlide(i); - } - } - else { - var nextSlide = s.wrapper.children('.' + s.params.slideNextClass); - if (nextSlide.length > 0) s.lazy.loadImageInSlide(nextSlide.index()); - - var prevSlide = s.wrapper.children('.' + s.params.slidePrevClass); - if (prevSlide.length > 0) s.lazy.loadImageInSlide(prevSlide.index()); - } - } - }, - onTransitionStart: function () { - if (s.params.lazyLoading) { - if (s.params.lazyLoadingOnTransitionStart || (!s.params.lazyLoadingOnTransitionStart && !s.lazy.initialImageLoaded)) { - s.lazy.load(); - } - } - }, - onTransitionEnd: function () { - if (s.params.lazyLoading && !s.params.lazyLoadingOnTransitionStart) { - s.lazy.load(); - } - } - }; - - - /*========================= - Scrollbar - ===========================*/ - s.scrollbar = { - isTouched: false, - setDragPosition: function (e) { - var sb = s.scrollbar; - var x = 0, y = 0; - var translate; - var pointerPosition = s.isHorizontal() ? - ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX) : - ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY) ; - var position = (pointerPosition) - sb.track.offset()[s.isHorizontal() ? 'left' : 'top'] - sb.dragSize / 2; - var positionMin = -s.minTranslate() * sb.moveDivider; - var positionMax = -s.maxTranslate() * sb.moveDivider; - if (position < positionMin) { - position = positionMin; - } - else if (position > positionMax) { - position = positionMax; - } - position = -position / sb.moveDivider; - s.updateProgress(position); - s.setWrapperTranslate(position, true); - }, - dragStart: function (e) { - var sb = s.scrollbar; - sb.isTouched = true; - e.preventDefault(); - e.stopPropagation(); - - sb.setDragPosition(e); - clearTimeout(sb.dragTimeout); - - sb.track.transition(0); - if (s.params.scrollbarHide) { - sb.track.css('opacity', 1); - } - s.wrapper.transition(100); - sb.drag.transition(100); - s.emit('onScrollbarDragStart', s); - }, - dragMove: function (e) { - var sb = s.scrollbar; - if (!sb.isTouched) return; - if (e.preventDefault) e.preventDefault(); - else e.returnValue = false; - sb.setDragPosition(e); - s.wrapper.transition(0); - sb.track.transition(0); - sb.drag.transition(0); - s.emit('onScrollbarDragMove', s); - }, - dragEnd: function (e) { - var sb = s.scrollbar; - if (!sb.isTouched) return; - sb.isTouched = false; - if (s.params.scrollbarHide) { - clearTimeout(sb.dragTimeout); - sb.dragTimeout = setTimeout(function () { - sb.track.css('opacity', 0); - sb.track.transition(400); - }, 1000); - - } - s.emit('onScrollbarDragEnd', s); - if (s.params.scrollbarSnapOnRelease) { - s.slideReset(); - } - }, - draggableEvents: (function () { - if ((s.params.simulateTouch === false && !s.support.touch)) return s.touchEventsDesktop; - else return s.touchEvents; - })(), - enableDraggable: function () { - var sb = s.scrollbar; - var target = s.support.touch ? sb.track : document; - $(sb.track).on(sb.draggableEvents.start, sb.dragStart); - $(target).on(sb.draggableEvents.move, sb.dragMove); - $(target).on(sb.draggableEvents.end, sb.dragEnd); - }, - disableDraggable: function () { - var sb = s.scrollbar; - var target = s.support.touch ? sb.track : document; - $(sb.track).off(s.draggableEvents.start, sb.dragStart); - $(target).off(s.draggableEvents.move, sb.dragMove); - $(target).off(s.draggableEvents.end, sb.dragEnd); - }, - set: function () { - if (!s.params.scrollbar) return; - var sb = s.scrollbar; - sb.track = $(s.params.scrollbar); - if (s.params.uniqueNavElements && typeof s.params.scrollbar === 'string' && sb.track.length > 1 && s.container.find(s.params.scrollbar).length === 1) { - sb.track = s.container.find(s.params.scrollbar); - } - sb.drag = sb.track.find('.swiper-scrollbar-drag'); - if (sb.drag.length === 0) { - sb.drag = $('
                                                          '); - sb.track.append(sb.drag); - } - sb.drag[0].style.width = ''; - sb.drag[0].style.height = ''; - sb.trackSize = s.isHorizontal() ? sb.track[0].offsetWidth : sb.track[0].offsetHeight; - - sb.divider = s.size / s.virtualSize; - sb.moveDivider = sb.divider * (sb.trackSize / s.size); - sb.dragSize = sb.trackSize * sb.divider; - - if (s.isHorizontal()) { - sb.drag[0].style.width = sb.dragSize + 'px'; - } - else { - sb.drag[0].style.height = sb.dragSize + 'px'; - } - - if (sb.divider >= 1) { - sb.track[0].style.display = 'none'; - } - else { - sb.track[0].style.display = ''; - } - if (s.params.scrollbarHide) { - sb.track[0].style.opacity = 0; - } - }, - setTranslate: function () { - if (!s.params.scrollbar) return; - var diff; - var sb = s.scrollbar; - var translate = s.translate || 0; - var newPos; - - var newSize = sb.dragSize; - newPos = (sb.trackSize - sb.dragSize) * s.progress; - if (s.rtl && s.isHorizontal()) { - newPos = -newPos; - if (newPos > 0) { - newSize = sb.dragSize - newPos; - newPos = 0; - } - else if (-newPos + sb.dragSize > sb.trackSize) { - newSize = sb.trackSize + newPos; - } - } - else { - if (newPos < 0) { - newSize = sb.dragSize + newPos; - newPos = 0; - } - else if (newPos + sb.dragSize > sb.trackSize) { - newSize = sb.trackSize - newPos; - } - } - if (s.isHorizontal()) { - if (s.support.transforms3d) { - sb.drag.transform('translate3d(' + (newPos) + 'px, 0, 0)'); - } - else { - sb.drag.transform('translateX(' + (newPos) + 'px)'); - } - sb.drag[0].style.width = newSize + 'px'; - } - else { - if (s.support.transforms3d) { - sb.drag.transform('translate3d(0px, ' + (newPos) + 'px, 0)'); - } - else { - sb.drag.transform('translateY(' + (newPos) + 'px)'); - } - sb.drag[0].style.height = newSize + 'px'; - } - if (s.params.scrollbarHide) { - clearTimeout(sb.timeout); - sb.track[0].style.opacity = 1; - sb.timeout = setTimeout(function () { - sb.track[0].style.opacity = 0; - sb.track.transition(400); - }, 1000); - } - }, - setTransition: function (duration) { - if (!s.params.scrollbar) return; - s.scrollbar.drag.transition(duration); - } - }; - - /*========================= - Controller - ===========================*/ - s.controller = { - LinearSpline: function (x, y) { - this.x = x; - this.y = y; - this.lastIndex = x.length - 1; - // Given an x value (x2), return the expected y2 value: - // (x1,y1) is the known point before given value, - // (x3,y3) is the known point after given value. - var i1, i3; - var l = this.x.length; - - this.interpolate = function (x2) { - if (!x2) return 0; - - // Get the indexes of x1 and x3 (the array indexes before and after given x2): - i3 = binarySearch(this.x, x2); - i1 = i3 - 1; - - // We have our indexes i1 & i3, so we can calculate already: - // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1 - return ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1]) + this.y[i1]; - }; - - var binarySearch = (function() { - var maxIndex, minIndex, guess; - return function(array, val) { - minIndex = -1; - maxIndex = array.length; - while (maxIndex - minIndex > 1) - if (array[guess = maxIndex + minIndex >> 1] <= val) { - minIndex = guess; - } else { - maxIndex = guess; - } - return maxIndex; - }; - })(); - }, - //xxx: for now i will just save one spline function to to - getInterpolateFunction: function(c){ - if(!s.controller.spline) s.controller.spline = s.params.loop ? - new s.controller.LinearSpline(s.slidesGrid, c.slidesGrid) : - new s.controller.LinearSpline(s.snapGrid, c.snapGrid); - }, - setTranslate: function (translate, byController) { - var controlled = s.params.control; - var multiplier, controlledTranslate; - function setControlledTranslate(c) { - // this will create an Interpolate function based on the snapGrids - // x is the Grid of the scrolled scroller and y will be the controlled scroller - // it makes sense to create this only once and recall it for the interpolation - // the function does a lot of value caching for performance - translate = c.rtl && c.params.direction === 'horizontal' ? -s.translate : s.translate; - if (s.params.controlBy === 'slide') { - s.controller.getInterpolateFunction(c); - // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid - // but it did not work out - controlledTranslate = -s.controller.spline.interpolate(-translate); - } - - if(!controlledTranslate || s.params.controlBy === 'container'){ - multiplier = (c.maxTranslate() - c.minTranslate()) / (s.maxTranslate() - s.minTranslate()); - controlledTranslate = (translate - s.minTranslate()) * multiplier + c.minTranslate(); - } - - if (s.params.controlInverse) { - controlledTranslate = c.maxTranslate() - controlledTranslate; - } - c.updateProgress(controlledTranslate); - c.setWrapperTranslate(controlledTranslate, false, s); - c.updateActiveIndex(); - } - if (s.isArray(controlled)) { - for (var i = 0; i < controlled.length; i++) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTranslate(controlled[i]); - } - } - } - else if (controlled instanceof Swiper && byController !== controlled) { - - setControlledTranslate(controlled); - } - }, - setTransition: function (duration, byController) { - var controlled = s.params.control; - var i; - function setControlledTransition(c) { - c.setWrapperTransition(duration, s); - if (duration !== 0) { - c.onTransitionStart(); - c.wrapper.transitionEnd(function(){ - if (!controlled) return; - if (c.params.loop && s.params.controlBy === 'slide') { - c.fixLoop(); - } - c.onTransitionEnd(); - - }); - } - } - if (s.isArray(controlled)) { - for (i = 0; i < controlled.length; i++) { - if (controlled[i] !== byController && controlled[i] instanceof Swiper) { - setControlledTransition(controlled[i]); - } - } - } - else if (controlled instanceof Swiper && byController !== controlled) { - setControlledTransition(controlled); - } - } - }; - - /*========================= - Parallax - ===========================*/ - function setParallaxTransform(el, progress) { - el = $(el); - var p, pX, pY; - var rtlFactor = s.rtl ? -1 : 1; - - p = el.attr('data-swiper-parallax') || '0'; - pX = el.attr('data-swiper-parallax-x'); - pY = el.attr('data-swiper-parallax-y'); - if (pX || pY) { - pX = pX || '0'; - pY = pY || '0'; - } - else { - if (s.isHorizontal()) { - pX = p; - pY = '0'; - } - else { - pY = p; - pX = '0'; - } - } - - if ((pX).indexOf('%') >= 0) { - pX = parseInt(pX, 10) * progress * rtlFactor + '%'; - } - else { - pX = pX * progress * rtlFactor + 'px' ; - } - if ((pY).indexOf('%') >= 0) { - pY = parseInt(pY, 10) * progress + '%'; - } - else { - pY = pY * progress + 'px' ; - } - - el.transform('translate3d(' + pX + ', ' + pY + ',0px)'); - } - s.parallax = { - setTranslate: function () { - s.container.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){ - setParallaxTransform(this, s.progress); - - }); - s.slides.each(function () { - var slide = $(this); - slide.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function () { - var progress = Math.min(Math.max(slide[0].progress, -1), 1); - setParallaxTransform(this, progress); - }); - }); - }, - setTransition: function (duration) { - if (typeof duration === 'undefined') duration = s.params.speed; - s.container.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]').each(function(){ - var el = $(this); - var parallaxDuration = parseInt(el.attr('data-swiper-parallax-duration'), 10) || duration; - if (duration === 0) parallaxDuration = 0; - el.transition(parallaxDuration); - }); - } - }; - - - /*========================= - Zoom - ===========================*/ - s.zoom = { - // "Global" Props - scale: 1, - currentScale: 1, - isScaling: false, - gesture: { - slide: undefined, - slideWidth: undefined, - slideHeight: undefined, - image: undefined, - imageWrap: undefined, - zoomMax: s.params.zoomMax - }, - image: { - isTouched: undefined, - isMoved: undefined, - currentX: undefined, - currentY: undefined, - minX: undefined, - minY: undefined, - maxX: undefined, - maxY: undefined, - width: undefined, - height: undefined, - startX: undefined, - startY: undefined, - touchesStart: {}, - touchesCurrent: {} - }, - velocity: { - x: undefined, - y: undefined, - prevPositionX: undefined, - prevPositionY: undefined, - prevTime: undefined - }, - // Calc Scale From Multi-touches - getDistanceBetweenTouches: function (e) { - if (e.targetTouches.length < 2) return 1; - var x1 = e.targetTouches[0].pageX, - y1 = e.targetTouches[0].pageY, - x2 = e.targetTouches[1].pageX, - y2 = e.targetTouches[1].pageY; - var distance = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)); - return distance; - }, - // Events - onGestureStart: function (e) { - var z = s.zoom; - if (!s.support.gestures) { - if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) { - return; - } - z.gesture.scaleStart = z.getDistanceBetweenTouches(e); - } - if (!z.gesture.slide || !z.gesture.slide.length) { - z.gesture.slide = $(this); - if (z.gesture.slide.length === 0) z.gesture.slide = s.slides.eq(s.activeIndex); - z.gesture.image = z.gesture.slide.find('img, svg, canvas'); - z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass); - z.gesture.zoomMax = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax ; - if (z.gesture.imageWrap.length === 0) { - z.gesture.image = undefined; - return; - } - } - z.gesture.image.transition(0); - z.isScaling = true; - }, - onGestureChange: function (e) { - var z = s.zoom; - if (!s.support.gestures) { - if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) { - return; - } - z.gesture.scaleMove = z.getDistanceBetweenTouches(e); - } - if (!z.gesture.image || z.gesture.image.length === 0) return; - if (s.support.gestures) { - z.scale = e.scale * z.currentScale; - } - else { - z.scale = (z.gesture.scaleMove / z.gesture.scaleStart) * z.currentScale; - } - if (z.scale > z.gesture.zoomMax) { - z.scale = z.gesture.zoomMax - 1 + Math.pow((z.scale - z.gesture.zoomMax + 1), 0.5); - } - if (z.scale < s.params.zoomMin) { - z.scale = s.params.zoomMin + 1 - Math.pow((s.params.zoomMin - z.scale + 1), 0.5); - } - z.gesture.image.transform('translate3d(0,0,0) scale(' + z.scale + ')'); - }, - onGestureEnd: function (e) { - var z = s.zoom; - if (!s.support.gestures) { - if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2) { - return; - } - } - if (!z.gesture.image || z.gesture.image.length === 0) return; - z.scale = Math.max(Math.min(z.scale, z.gesture.zoomMax), s.params.zoomMin); - z.gesture.image.transition(s.params.speed).transform('translate3d(0,0,0) scale(' + z.scale + ')'); - z.currentScale = z.scale; - z.isScaling = false; - if (z.scale === 1) z.gesture.slide = undefined; - }, - onTouchStart: function (s, e) { - var z = s.zoom; - if (!z.gesture.image || z.gesture.image.length === 0) return; - if (z.image.isTouched) return; - if (s.device.os === 'android') e.preventDefault(); - z.image.isTouched = true; - z.image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - z.image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - }, - onTouchMove: function (e) { - var z = s.zoom; - if (!z.gesture.image || z.gesture.image.length === 0) return; - s.allowClick = false; - if (!z.image.isTouched || !z.gesture.slide) return; - - if (!z.image.isMoved) { - z.image.width = z.gesture.image[0].offsetWidth; - z.image.height = z.gesture.image[0].offsetHeight; - z.image.startX = s.getTranslate(z.gesture.imageWrap[0], 'x') || 0; - z.image.startY = s.getTranslate(z.gesture.imageWrap[0], 'y') || 0; - z.gesture.slideWidth = z.gesture.slide[0].offsetWidth; - z.gesture.slideHeight = z.gesture.slide[0].offsetHeight; - z.gesture.imageWrap.transition(0); - } - // Define if we need image drag - var scaledWidth = z.image.width * z.scale; - var scaledHeight = z.image.height * z.scale; - - if (scaledWidth < z.gesture.slideWidth && scaledHeight < z.gesture.slideHeight) return; - - z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0); - z.image.maxX = -z.image.minX; - z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0); - z.image.maxY = -z.image.minY; - - z.image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - z.image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - - if (!z.image.isMoved && !z.isScaling) { - if (s.isHorizontal() && - (Math.floor(z.image.minX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x < z.image.touchesStart.x) || - (Math.floor(z.image.maxX) === Math.floor(z.image.startX) && z.image.touchesCurrent.x > z.image.touchesStart.x) - ) { - z.image.isTouched = false; - return; - } - else if (!s.isHorizontal() && - (Math.floor(z.image.minY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y < z.image.touchesStart.y) || - (Math.floor(z.image.maxY) === Math.floor(z.image.startY) && z.image.touchesCurrent.y > z.image.touchesStart.y) - ) { - z.image.isTouched = false; - return; - } - } - e.preventDefault(); - e.stopPropagation(); - - z.image.isMoved = true; - z.image.currentX = z.image.touchesCurrent.x - z.image.touchesStart.x + z.image.startX; - z.image.currentY = z.image.touchesCurrent.y - z.image.touchesStart.y + z.image.startY; - - if (z.image.currentX < z.image.minX) { - z.image.currentX = z.image.minX + 1 - Math.pow((z.image.minX - z.image.currentX + 1), 0.8); - } - if (z.image.currentX > z.image.maxX) { - z.image.currentX = z.image.maxX - 1 + Math.pow((z.image.currentX - z.image.maxX + 1), 0.8); - } - - if (z.image.currentY < z.image.minY) { - z.image.currentY = z.image.minY + 1 - Math.pow((z.image.minY - z.image.currentY + 1), 0.8); - } - if (z.image.currentY > z.image.maxY) { - z.image.currentY = z.image.maxY - 1 + Math.pow((z.image.currentY - z.image.maxY + 1), 0.8); - } - - //Velocity - if (!z.velocity.prevPositionX) z.velocity.prevPositionX = z.image.touchesCurrent.x; - if (!z.velocity.prevPositionY) z.velocity.prevPositionY = z.image.touchesCurrent.y; - if (!z.velocity.prevTime) z.velocity.prevTime = Date.now(); - z.velocity.x = (z.image.touchesCurrent.x - z.velocity.prevPositionX) / (Date.now() - z.velocity.prevTime) / 2; - z.velocity.y = (z.image.touchesCurrent.y - z.velocity.prevPositionY) / (Date.now() - z.velocity.prevTime) / 2; - if (Math.abs(z.image.touchesCurrent.x - z.velocity.prevPositionX) < 2) z.velocity.x = 0; - if (Math.abs(z.image.touchesCurrent.y - z.velocity.prevPositionY) < 2) z.velocity.y = 0; - z.velocity.prevPositionX = z.image.touchesCurrent.x; - z.velocity.prevPositionY = z.image.touchesCurrent.y; - z.velocity.prevTime = Date.now(); - - z.gesture.imageWrap.transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)'); - }, - onTouchEnd: function (s, e) { - var z = s.zoom; - if (!z.gesture.image || z.gesture.image.length === 0) return; - if (!z.image.isTouched || !z.image.isMoved) { - z.image.isTouched = false; - z.image.isMoved = false; - return; - } - z.image.isTouched = false; - z.image.isMoved = false; - var momentumDurationX = 300; - var momentumDurationY = 300; - var momentumDistanceX = z.velocity.x * momentumDurationX; - var newPositionX = z.image.currentX + momentumDistanceX; - var momentumDistanceY = z.velocity.y * momentumDurationY; - var newPositionY = z.image.currentY + momentumDistanceY; - - //Fix duration - if (z.velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - z.image.currentX) / z.velocity.x); - if (z.velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - z.image.currentY) / z.velocity.y); - var momentumDuration = Math.max(momentumDurationX, momentumDurationY); - - z.image.currentX = newPositionX; - z.image.currentY = newPositionY; - - // Define if we need image drag - var scaledWidth = z.image.width * z.scale; - var scaledHeight = z.image.height * z.scale; - z.image.minX = Math.min((z.gesture.slideWidth / 2 - scaledWidth / 2), 0); - z.image.maxX = -z.image.minX; - z.image.minY = Math.min((z.gesture.slideHeight / 2 - scaledHeight / 2), 0); - z.image.maxY = -z.image.minY; - z.image.currentX = Math.max(Math.min(z.image.currentX, z.image.maxX), z.image.minX); - z.image.currentY = Math.max(Math.min(z.image.currentY, z.image.maxY), z.image.minY); - - z.gesture.imageWrap.transition(momentumDuration).transform('translate3d(' + z.image.currentX + 'px, ' + z.image.currentY + 'px,0)'); - }, - onTransitionEnd: function (s) { - var z = s.zoom; - if (z.gesture.slide && s.previousIndex !== s.activeIndex) { - z.gesture.image.transform('translate3d(0,0,0) scale(1)'); - z.gesture.imageWrap.transform('translate3d(0,0,0)'); - z.gesture.slide = z.gesture.image = z.gesture.imageWrap = undefined; - z.scale = z.currentScale = 1; - } - }, - // Toggle Zoom - toggleZoom: function (s, e) { - var z = s.zoom; - if (!z.gesture.slide) { - z.gesture.slide = s.clickedSlide ? $(s.clickedSlide) : s.slides.eq(s.activeIndex); - z.gesture.image = z.gesture.slide.find('img, svg, canvas'); - z.gesture.imageWrap = z.gesture.image.parent('.' + s.params.zoomContainerClass); - } - if (!z.gesture.image || z.gesture.image.length === 0) return; - - var touchX, touchY, offsetX, offsetY, diffX, diffY, translateX, translateY, imageWidth, imageHeight, scaledWidth, scaledHeight, translateMinX, translateMinY, translateMaxX, translateMaxY, slideWidth, slideHeight; - - if (typeof z.image.touchesStart.x === 'undefined' && e) { - touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX; - touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY; - } - else { - touchX = z.image.touchesStart.x; - touchY = z.image.touchesStart.y; - } - - if (z.scale && z.scale !== 1) { - // Zoom Out - z.scale = z.currentScale = 1; - z.gesture.imageWrap.transition(300).transform('translate3d(0,0,0)'); - z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(1)'); - z.gesture.slide = undefined; - } - else { - // Zoom In - z.scale = z.currentScale = z.gesture.imageWrap.attr('data-swiper-zoom') || s.params.zoomMax; - if (e) { - slideWidth = z.gesture.slide[0].offsetWidth; - slideHeight = z.gesture.slide[0].offsetHeight; - offsetX = z.gesture.slide.offset().left; - offsetY = z.gesture.slide.offset().top; - diffX = offsetX + slideWidth/2 - touchX; - diffY = offsetY + slideHeight/2 - touchY; - - imageWidth = z.gesture.image[0].offsetWidth; - imageHeight = z.gesture.image[0].offsetHeight; - scaledWidth = imageWidth * z.scale; - scaledHeight = imageHeight * z.scale; - - translateMinX = Math.min((slideWidth / 2 - scaledWidth / 2), 0); - translateMinY = Math.min((slideHeight / 2 - scaledHeight / 2), 0); - translateMaxX = -translateMinX; - translateMaxY = -translateMinY; - - translateX = diffX * z.scale; - translateY = diffY * z.scale; - - if (translateX < translateMinX) { - translateX = translateMinX; - } - if (translateX > translateMaxX) { - translateX = translateMaxX; - } - - if (translateY < translateMinY) { - translateY = translateMinY; - } - if (translateY > translateMaxY) { - translateY = translateMaxY; - } - } - else { - translateX = 0; - translateY = 0; - } - z.gesture.imageWrap.transition(300).transform('translate3d(' + translateX + 'px, ' + translateY + 'px,0)'); - z.gesture.image.transition(300).transform('translate3d(0,0,0) scale(' + z.scale + ')'); - } - }, - // Attach/Detach Events - attachEvents: function (detach) { - var action = detach ? 'off' : 'on'; - - if (s.params.zoom) { - var target = s.slides; - var passiveListener = s.touchEvents.start === 'touchstart' && s.support.passiveListener && s.params.passiveListeners ? {passive: true, capture: false} : false; - // Scale image - if (s.support.gestures) { - s.slides[action]('gesturestart', s.zoom.onGestureStart, passiveListener); - s.slides[action]('gesturechange', s.zoom.onGestureChange, passiveListener); - s.slides[action]('gestureend', s.zoom.onGestureEnd, passiveListener); - } - else if (s.touchEvents.start === 'touchstart') { - s.slides[action](s.touchEvents.start, s.zoom.onGestureStart, passiveListener); - s.slides[action](s.touchEvents.move, s.zoom.onGestureChange, passiveListener); - s.slides[action](s.touchEvents.end, s.zoom.onGestureEnd, passiveListener); - } - - // Move image - s[action]('touchStart', s.zoom.onTouchStart); - s.slides.each(function (index, slide){ - if ($(slide).find('.' + s.params.zoomContainerClass).length > 0) { - $(slide)[action](s.touchEvents.move, s.zoom.onTouchMove); - } - }); - s[action]('touchEnd', s.zoom.onTouchEnd); - - // Scale Out - s[action]('transitionEnd', s.zoom.onTransitionEnd); - if (s.params.zoomToggle) { - s.on('doubleTap', s.zoom.toggleZoom); - } - } - }, - init: function () { - s.zoom.attachEvents(); - }, - destroy: function () { - s.zoom.attachEvents(true); - } - }; - - /*========================= - Plugins API. Collect all and init all plugins - ===========================*/ - s._plugins = []; - for (var plugin in s.plugins) { - var p = s.plugins[plugin](s, s.params[plugin]); - if (p) s._plugins.push(p); - } - // Method to call all plugins event/method - s.callPlugins = function (eventName) { - for (var i = 0; i < s._plugins.length; i++) { - if (eventName in s._plugins[i]) { - s._plugins[i][eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - } - }; - - /*========================= - Events/Callbacks/Plugins Emitter - ===========================*/ - function normalizeEventName (eventName) { - if (eventName.indexOf('on') !== 0) { - if (eventName[0] !== eventName[0].toUpperCase()) { - eventName = 'on' + eventName[0].toUpperCase() + eventName.substring(1); - } - else { - eventName = 'on' + eventName; - } - } - return eventName; - } - s.emitterEventListeners = { - - }; - s.emit = function (eventName) { - // Trigger callbacks - if (s.params[eventName]) { - s.params[eventName](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - var i; - // Trigger events - if (s.emitterEventListeners[eventName]) { - for (i = 0; i < s.emitterEventListeners[eventName].length; i++) { - s.emitterEventListeners[eventName][i](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - } - } - // Trigger plugins - if (s.callPlugins) s.callPlugins(eventName, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); - }; - s.on = function (eventName, handler) { - eventName = normalizeEventName(eventName); - if (!s.emitterEventListeners[eventName]) s.emitterEventListeners[eventName] = []; - s.emitterEventListeners[eventName].push(handler); - return s; - }; - s.off = function (eventName, handler) { - var i; - eventName = normalizeEventName(eventName); - if (typeof handler === 'undefined') { - // Remove all handlers for such event - s.emitterEventListeners[eventName] = []; - return s; - } - if (!s.emitterEventListeners[eventName] || s.emitterEventListeners[eventName].length === 0) return; - for (i = 0; i < s.emitterEventListeners[eventName].length; i++) { - if(s.emitterEventListeners[eventName][i] === handler) s.emitterEventListeners[eventName].splice(i, 1); - } - return s; - }; - s.once = function (eventName, handler) { - eventName = normalizeEventName(eventName); - var _handler = function () { - handler(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]); - s.off(eventName, _handler); - }; - s.on(eventName, _handler); - return s; - }; - - // Accessibility tools - s.a11y = { - makeFocusable: function ($el) { - $el.attr('tabIndex', '0'); - return $el; - }, - addRole: function ($el, role) { - $el.attr('role', role); - return $el; - }, - - addLabel: function ($el, label) { - $el.attr('aria-label', label); - return $el; - }, - - disable: function ($el) { - $el.attr('aria-disabled', true); - return $el; - }, - - enable: function ($el) { - $el.attr('aria-disabled', false); - return $el; - }, - - onEnterKey: function (event) { - if (event.keyCode !== 13) return; - if ($(event.target).is(s.params.nextButton)) { - s.onClickNext(event); - if (s.isEnd) { - s.a11y.notify(s.params.lastSlideMessage); - } - else { - s.a11y.notify(s.params.nextSlideMessage); - } - } - else if ($(event.target).is(s.params.prevButton)) { - s.onClickPrev(event); - if (s.isBeginning) { - s.a11y.notify(s.params.firstSlideMessage); - } - else { - s.a11y.notify(s.params.prevSlideMessage); - } - } - if ($(event.target).is('.' + s.params.bulletClass)) { - $(event.target)[0].click(); - } - }, - - liveRegion: $(''), - - notify: function (message) { - var notification = s.a11y.liveRegion; - if (notification.length === 0) return; - notification.html(''); - notification.html(message); - }, - init: function () { - // Setup accessibility - if (s.params.nextButton && s.nextButton && s.nextButton.length > 0) { - s.a11y.makeFocusable(s.nextButton); - s.a11y.addRole(s.nextButton, 'button'); - s.a11y.addLabel(s.nextButton, s.params.nextSlideMessage); - } - if (s.params.prevButton && s.prevButton && s.prevButton.length > 0) { - s.a11y.makeFocusable(s.prevButton); - s.a11y.addRole(s.prevButton, 'button'); - s.a11y.addLabel(s.prevButton, s.params.prevSlideMessage); - } - - $(s.container).append(s.a11y.liveRegion); - }, - initPagination: function () { - if (s.params.pagination && s.params.paginationClickable && s.bullets && s.bullets.length) { - s.bullets.each(function () { - var bullet = $(this); - s.a11y.makeFocusable(bullet); - s.a11y.addRole(bullet, 'button'); - s.a11y.addLabel(bullet, s.params.paginationBulletMessage.replace(/{{index}}/, bullet.index() + 1)); - }); - } - }, - destroy: function () { - if (s.a11y.liveRegion && s.a11y.liveRegion.length > 0) s.a11y.liveRegion.remove(); - } - }; - - - /*========================= - Init/Destroy - ===========================*/ - s.init = function () { - if (s.params.loop) s.createLoop(); - s.updateContainerSize(); - s.updateSlidesSize(); - s.updatePagination(); - if (s.params.scrollbar && s.scrollbar) { - s.scrollbar.set(); - if (s.params.scrollbarDraggable) { - s.scrollbar.enableDraggable(); - } - } - if (s.params.effect !== 'slide' && s.effects[s.params.effect]) { - if (!s.params.loop) s.updateProgress(); - s.effects[s.params.effect].setTranslate(); - } - if (s.params.loop) { - s.slideTo(s.params.initialSlide + s.loopedSlides, 0, s.params.runCallbacksOnInit); - } - else { - s.slideTo(s.params.initialSlide, 0, s.params.runCallbacksOnInit); - if (s.params.initialSlide === 0) { - if (s.parallax && s.params.parallax) s.parallax.setTranslate(); - if (s.lazy && s.params.lazyLoading) { - s.lazy.load(); - s.lazy.initialImageLoaded = true; - } - } - } - s.attachEvents(); - if (s.params.observer && s.support.observer) { - s.initObservers(); - } - if (s.params.preloadImages && !s.params.lazyLoading) { - s.preloadImages(); - } - if (s.params.zoom && s.zoom) { - s.zoom.init(); - } - if (s.params.autoplay) { - s.startAutoplay(); - } - if (s.params.keyboardControl) { - if (s.enableKeyboardControl) s.enableKeyboardControl(); - } - if (s.params.mousewheelControl) { - if (s.enableMousewheelControl) s.enableMousewheelControl(); - } - // Deprecated hashnavReplaceState changed to replaceState for use in hashnav and history - if (s.params.hashnavReplaceState) { - s.params.replaceState = s.params.hashnavReplaceState; - } - if (s.params.history) { - if (s.history) s.history.init(); - } - if (s.params.hashnav) { - if (s.hashnav) s.hashnav.init(); - } - if (s.params.a11y && s.a11y) s.a11y.init(); - s.emit('onInit', s); - }; - - // Cleanup dynamic styles - s.cleanupStyles = function () { - // Container - s.container.removeClass(s.classNames.join(' ')).removeAttr('style'); - - // Wrapper - s.wrapper.removeAttr('style'); - - // Slides - if (s.slides && s.slides.length) { - s.slides - .removeClass([ - s.params.slideVisibleClass, - s.params.slideActiveClass, - s.params.slideNextClass, - s.params.slidePrevClass - ].join(' ')) - .removeAttr('style') - .removeAttr('data-swiper-column') - .removeAttr('data-swiper-row'); - } - - // Pagination/Bullets - if (s.paginationContainer && s.paginationContainer.length) { - s.paginationContainer.removeClass(s.params.paginationHiddenClass); - } - if (s.bullets && s.bullets.length) { - s.bullets.removeClass(s.params.bulletActiveClass); - } - - // Buttons - if (s.params.prevButton) $(s.params.prevButton).removeClass(s.params.buttonDisabledClass); - if (s.params.nextButton) $(s.params.nextButton).removeClass(s.params.buttonDisabledClass); - - // Scrollbar - if (s.params.scrollbar && s.scrollbar) { - if (s.scrollbar.track && s.scrollbar.track.length) s.scrollbar.track.removeAttr('style'); - if (s.scrollbar.drag && s.scrollbar.drag.length) s.scrollbar.drag.removeAttr('style'); - } - }; - - // Destroy - s.destroy = function (deleteInstance, cleanupStyles) { - // Detach evebts - s.detachEvents(); - // Stop autoplay - s.stopAutoplay(); - // Disable draggable - if (s.params.scrollbar && s.scrollbar) { - if (s.params.scrollbarDraggable) { - s.scrollbar.disableDraggable(); - } - } - // Destroy loop - if (s.params.loop) { - s.destroyLoop(); - } - // Cleanup styles - if (cleanupStyles) { - s.cleanupStyles(); - } - // Disconnect observer - s.disconnectObservers(); - - // Destroy zoom - if (s.params.zoom && s.zoom) { - s.zoom.destroy(); - } - // Disable keyboard/mousewheel - if (s.params.keyboardControl) { - if (s.disableKeyboardControl) s.disableKeyboardControl(); - } - if (s.params.mousewheelControl) { - if (s.disableMousewheelControl) s.disableMousewheelControl(); - } - // Disable a11y - if (s.params.a11y && s.a11y) s.a11y.destroy(); - // Delete history popstate - if (s.params.history && !s.params.replaceState) { - window.removeEventListener('popstate', s.history.setHistoryPopState); - } - if (s.params.hashnav && s.hashnav) { - s.hashnav.destroy(); - } - // Destroy callback - s.emit('onDestroy'); - // Delete instance - if (deleteInstance !== false) s = null; - }; - - s.init(); - - - - // Return swiper instance - return s; -}; - -/*================================================== - Prototype -====================================================*/ -Swiper.prototype = { - isSafari: (function () { - var ua = navigator.userAgent.toLowerCase(); - return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0); - })(), - isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent), - isArray: function (arr) { - return Object.prototype.toString.apply(arr) === '[object Array]'; - }, - /*================================================== - Browser - ====================================================*/ - browser: { - ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled, - ieTouch: (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1) || (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1), - lteIE9: (function() { - // create temporary DIV - var div = document.createElement('div'); - // add content to tmp DIV which is wrapped into the IE HTML conditional statement - div.innerHTML = ''; - // return true / false value based on what will browser render - return div.getElementsByTagName('i').length === 1; - })() - }, - /*================================================== - Devices - ====================================================*/ - device: (function () { - var ua = navigator.userAgent; - var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); - var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); - var iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/); - return { - ios: ipad || iphone || ipod, - android: android - }; - })(), - /*================================================== - Feature Detection - ====================================================*/ - support: { - touch : (window.Modernizr && Modernizr.touch === true) || (function () { - return !!(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch); - })(), - - transforms3d : (window.Modernizr && Modernizr.csstransforms3d === true) || (function () { - var div = document.createElement('div').style; - return ('webkitPerspective' in div || 'MozPerspective' in div || 'OPerspective' in div || 'MsPerspective' in div || 'perspective' in div); - })(), - - flexbox: (function () { - var div = document.createElement('div').style; - var styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' '); - for (var i = 0; i < styles.length; i++) { - if (styles[i] in div) return true; - } - })(), - - observer: (function () { - return ('MutationObserver' in window || 'WebkitMutationObserver' in window); - })(), - - passiveListener: (function () { - var supportsPassive = false; - try { - var opts = Object.defineProperty({}, 'passive', { - get: function() { - supportsPassive = true; - } - }); - window.addEventListener('testPassiveListener', null, opts); - } catch (e) {} - return supportsPassive; - })(), - - gestures: (function () { - return 'ongesturestart' in window; - })() - }, - /*================================================== - Plugins - ====================================================*/ - plugins: {} -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/tabs.js b/vendor/framework7/src/js/tabs.js deleted file mode 100644 index 65911f093..000000000 --- a/vendor/framework7/src/js/tabs.js +++ /dev/null @@ -1,98 +0,0 @@ -/* =============================================================================== -************ Tabs ************ -=============================================================================== */ -app.showTab = function (tab, tabLink, force) { - var newTab = $(tab); - if (arguments.length === 2) { - if (typeof tabLink === 'boolean') { - force = tabLink; - } - } - if (newTab.length === 0) return false; - if (newTab.hasClass('active')) { - if (force) newTab.trigger('show'); - return false; - } - var tabs = newTab.parent('.tabs'); - if (tabs.length === 0) return false; - - // Return swipeouts in hidden tabs - app.allowSwipeout = true; - - // Animated tabs - var isAnimatedTabs = tabs.parent().hasClass('tabs-animated-wrap'); - if (isAnimatedTabs) { - var tabTranslate = (app.rtl ? newTab.index() : -newTab.index()) * 100; - tabs.transform('translate3d(' + tabTranslate + '%,0,0)'); - } - - // Swipeable tabs - var isSwipeableTabs = tabs.parent().hasClass('tabs-swipeable-wrap'), swiper; - if (isSwipeableTabs) { - swiper = tabs.parent()[0].swiper; - if (swiper.activeIndex !== newTab.index()) swiper.slideTo(newTab.index(), undefined, false); - } - - // Remove active class from old tabs - var oldTab = tabs.children('.tab.active').removeClass('active').trigger('hide'); - // Add active class to new tab - newTab.addClass('active'); - // Trigger 'show' event on new tab - newTab.trigger('show'); - - // Update navbars in new tab - if (!isAnimatedTabs && !isSwipeableTabs && newTab.find('.navbar').length > 0) { - // Find tab's view - var viewContainer; - if (newTab.hasClass(app.params.viewClass)) viewContainer = newTab[0]; - else viewContainer = newTab.parents('.' + app.params.viewClass)[0]; - app.sizeNavbars(viewContainer); - } - - // Find related link for new tab - if (tabLink) tabLink = $(tabLink); - else { - // Search by id - if (typeof tab === 'string') tabLink = $('.tab-link[href="' + tab + '"]'); - else tabLink = $('.tab-link[href="#' + newTab.attr('id') + '"]'); - // Search by data-tab - if (!tabLink || tabLink && tabLink.length === 0) { - $('[data-tab]').each(function () { - if (newTab.is($(this).attr('data-tab'))) tabLink = $(this); - }); - } - } - if (tabLink.length === 0) return; - - // Find related link for old tab - var oldTabLink; - if (oldTab && oldTab.length > 0) { - // Search by id - var oldTabId = oldTab.attr('id'); - if (oldTabId) oldTabLink = $('.tab-link[href="#' + oldTabId + '"]'); - // Search by data-tab - if (!oldTabLink || oldTabLink && oldTabLink.length === 0) { - $('[data-tab]').each(function () { - if (oldTab.is($(this).attr('data-tab'))) oldTabLink = $(this); - }); - } - } - - // Update links' classes - if (tabLink && tabLink.length > 0) { - tabLink.addClass('active'); - // Material Highlight - if (app.params.material) { - var tabbar = tabLink.parents('.tabbar'); - if (tabbar.length > 0) { - if (tabbar.find('.tab-link-highlight').length === 0) { - tabbar.find('.toolbar-inner').append(''); - } - app.materialTabbarSetHighlight(tabbar, tabLink); - } - } - } - if (oldTabLink && oldTabLink.length > 0) oldTabLink.removeClass('active'); - - return true; -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/template7-templates.js b/vendor/framework7/src/js/template7-templates.js deleted file mode 100644 index 82a67f0f4..000000000 --- a/vendor/framework7/src/js/template7-templates.js +++ /dev/null @@ -1,21 +0,0 @@ -/*=========================== -Compile Template7 Templates On App Init -===========================*/ -app.initTemplate7Templates = function () { - if (!window.Template7) return; - Template7.templates = Template7.templates || app.params.templates || {}; - Template7.data = Template7.data || app.params.template7Data || {}; - Template7.cache = Template7.cache || {}; - - app.templates = Template7.templates; - app.template7Data = Template7.data; - app.template7Cache = Template7.cache; - - // Precompile templates on app init - if (!app.params.precompileTemplates) return; - $('script[type="text/template7"]').each(function () { - var id = $(this).attr('id'); - if (!id) return; - Template7.templates[id] = Template7.compile($(this).html()); - }); -}; diff --git a/vendor/framework7/src/js/template7.js b/vendor/framework7/src/js/template7.js deleted file mode 100644 index b5552f2b2..000000000 --- a/vendor/framework7/src/js/template7.js +++ /dev/null @@ -1,473 +0,0 @@ -/*=========================== -Template7 Template engine -===========================*/ -window.Template7 = (function () { - 'use strict'; - function isArray(arr) { - return Object.prototype.toString.apply(arr) === '[object Array]'; - } - function isObject(obj) { - return obj instanceof Object; - } - function isFunction(func) { - return typeof func === 'function'; - } - function _escape(string) { - return typeof window !== 'undefined' && window.escape ? window.escape(string) : string - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"'); - } - var cache = {}; - var quoteSingleRexExp = new RegExp('\'', 'g'); - var quoteDoubleRexExp = new RegExp('"', 'g'); - function helperToSlices(string) { - var helperParts = string.replace(/[{}#}]/g, '').split(' '); - var slices = []; - var shiftIndex, i, j; - for (i = 0; i < helperParts.length; i++) { - var part = helperParts[i]; - var blockQuoteRegExp, openingQuote; - if (i === 0) slices.push(part); - else { - if (part.indexOf('"') === 0 || part.indexOf('\'') === 0) { - blockQuoteRegExp = part.indexOf('"') === 0 ? quoteDoubleRexExp : quoteSingleRexExp; - openingQuote = part.indexOf('"') === 0 ? '"' : '\''; - // Plain String - if (part.match(blockQuoteRegExp).length === 2) { - // One word string - slices.push(part); - } - else { - // Find closed Index - shiftIndex = 0; - for (j = i + 1; j < helperParts.length; j++) { - part += ' ' + helperParts[j]; - if (helperParts[j].indexOf(openingQuote) >= 0) { - shiftIndex = j; - slices.push(part); - break; - } - } - if (shiftIndex) i = shiftIndex; - } - } - else { - if (part.indexOf('=') > 0) { - // Hash - var hashParts = part.split('='); - var hashName = hashParts[0]; - var hashContent = hashParts[1]; - if (hashContent.match(blockQuoteRegExp).length !== 2) { - shiftIndex = 0; - for (j = i + 1; j < helperParts.length; j++) { - hashContent += ' ' + helperParts[j]; - if (helperParts[j].indexOf(openingQuote) >= 0) { - shiftIndex = j; - break; - } - } - if (shiftIndex) i = shiftIndex; - } - var hash = [hashName, hashContent.replace(blockQuoteRegExp,'')]; - slices.push(hash); - } - else { - // Plain variable - slices.push(part); - } - } - } - } - return slices; - } - function stringToBlocks(string) { - var blocks = [], i, j, k; - if (!string) return []; - var _blocks = string.split(/({{[^{^}]*}})/); - for (i = 0; i < _blocks.length; i++) { - var block = _blocks[i]; - if (block === '') continue; - if (block.indexOf('{{') < 0) { - blocks.push({ - type: 'plain', - content: block - }); - } - else { - if (block.indexOf('{/') >= 0) { - continue; - } - if (block.indexOf('{#') < 0 && block.indexOf(' ') < 0 && block.indexOf('else') < 0) { - // Simple variable - blocks.push({ - type: 'variable', - contextName: block.replace(/[{}]/g, '') - }); - continue; - } - // Helpers - var helperSlices = helperToSlices(block); - var helperName = helperSlices[0]; - var isPartial = helperName === '>'; - var helperContext = []; - var helperHash = {}; - for (j = 1; j < helperSlices.length; j++) { - var slice = helperSlices[j]; - if (isArray(slice)) { - // Hash - helperHash[slice[0]] = slice[1] === 'false' ? false : slice[1]; - } - else { - helperContext.push(slice); - } - } - - if (block.indexOf('{#') >= 0) { - // Condition/Helper - var helperStartIndex = i; - var helperContent = ''; - var elseContent = ''; - var toSkip = 0; - var shiftIndex; - var foundClosed = false, foundElse = false, foundClosedElse = false, depth = 0; - for (j = i + 1; j < _blocks.length; j++) { - if (_blocks[j].indexOf('{{#') >= 0) { - depth ++; - } - if (_blocks[j].indexOf('{{/') >= 0) { - depth --; - } - if (_blocks[j].indexOf('{{#' + helperName) >= 0) { - helperContent += _blocks[j]; - if (foundElse) elseContent += _blocks[j]; - toSkip ++; - } - else if (_blocks[j].indexOf('{{/' + helperName) >= 0) { - if (toSkip > 0) { - toSkip--; - helperContent += _blocks[j]; - if (foundElse) elseContent += _blocks[j]; - } - else { - shiftIndex = j; - foundClosed = true; - break; - } - } - else if (_blocks[j].indexOf('else') >= 0 && depth === 0) { - foundElse = true; - } - else { - if (!foundElse) helperContent += _blocks[j]; - if (foundElse) elseContent += _blocks[j]; - } - - } - if (foundClosed) { - if (shiftIndex) i = shiftIndex; - blocks.push({ - type: 'helper', - helperName: helperName, - contextName: helperContext, - content: helperContent, - inverseContent: elseContent, - hash: helperHash - }); - } - } - else if (block.indexOf(' ') > 0) { - if (isPartial) { - helperName = '_partial'; - if (helperContext[0]) helperContext[0] = '"' + helperContext[0].replace(/"|'/g, '') + '"'; - } - blocks.push({ - type: 'helper', - helperName: helperName, - contextName: helperContext, - hash: helperHash - }); - } - } - } - return blocks; - } - var Template7 = function (template, options) { - var t = this; - t.template = template; - - function getCompileFn(block, depth) { - if (block.content) return compile(block.content, depth); - else return function () {return ''; }; - } - function getCompileInverse(block, depth) { - if (block.inverseContent) return compile(block.inverseContent, depth); - else return function () {return ''; }; - } - function getCompileVar(name, ctx) { - var variable, parts, levelsUp = 0, initialCtx = ctx; - if (name.indexOf('../') === 0) { - levelsUp = name.split('../').length - 1; - var newDepth = ctx.split('_')[1] - levelsUp; - ctx = 'ctx_' + (newDepth >= 1 ? newDepth : 1); - parts = name.split('../')[levelsUp].split('.'); - } - else if (name.indexOf('@global') === 0) { - ctx = 'Template7.global'; - parts = name.split('@global.')[1].split('.'); - } - else if (name.indexOf('@root') === 0) { - ctx = 'root'; - parts = name.split('@root.')[1].split('.'); - } - else { - parts = name.split('.'); - } - variable = ctx; - for (var i = 0; i < parts.length; i++) { - var part = parts[i]; - if (part.indexOf('@') === 0) { - if (i > 0) { - variable += '[(data && data.' + part.replace('@', '') + ')]'; - } - else { - variable = '(data && data.' + name.replace('@', '') + ')'; - } - } - else { - if (isFinite(part)) { - variable += '[' + part + ']'; - } - else { - if (part === 'this' || part.indexOf('this.') >= 0 || part.indexOf('this[') >= 0 || part.indexOf('this(') >= 0) { - variable = part.replace('this', ctx); - } - else { - variable += '.' + part; - } - } - } - } - - return variable; - } - function getCompiledArguments(contextArray, ctx) { - var arr = []; - for (var i = 0; i < contextArray.length; i++) { - if (/^['"]/.test(contextArray[i])) arr.push(contextArray[i]); - else if (/^(true|false|\d+)$/.test(contextArray[i])) arr.push(contextArray[i]); - else { - arr.push(getCompileVar(contextArray[i], ctx)); - } - } - - return arr.join(', '); - } - function compile(template, depth) { - depth = depth || 1; - template = template || t.template; - if (typeof template !== 'string') { - throw new Error('Template7: Template must be a string'); - } - var blocks = stringToBlocks(template); - if (blocks.length === 0) { - return function () { return ''; }; - } - var ctx = 'ctx_' + depth; - var resultString = ''; - if (depth === 1) { - resultString += '(function (' + ctx + ', data, root) {\n'; - } - else { - resultString += '(function (' + ctx + ', data) {\n'; - } - if (depth === 1) { - resultString += 'function isArray(arr){return Object.prototype.toString.apply(arr) === \'[object Array]\';}\n'; - resultString += 'function isFunction(func){return (typeof func === \'function\');}\n'; - resultString += 'function c(val, ctx) {if (typeof val !== "undefined" && val !== null) {if (isFunction(val)) {return val.call(ctx);} else return val;} else return "";}\n'; - resultString += 'root = root || ctx_1 || {};\n'; - } - resultString += 'var r = \'\';\n'; - var i, j, context; - for (i = 0; i < blocks.length; i++) { - var block = blocks[i]; - // Plain block - if (block.type === 'plain') { - resultString += 'r +=\'' + (block.content).replace(/\r/g, '\\r').replace(/\n/g, '\\n').replace(/'/g, '\\' + '\'') + '\';'; - continue; - } - var variable, compiledArguments; - // Variable block - if (block.type === 'variable') { - variable = getCompileVar(block.contextName, ctx); - resultString += 'r += c(' + variable + ', ' + ctx + ');'; - } - // Helpers block - if (block.type === 'helper') { - if (block.helperName in t.helpers) { - compiledArguments = getCompiledArguments(block.contextName, ctx); - - resultString += 'r += (Template7.helpers.' + block.helperName + ').call(' + ctx + ', ' + (compiledArguments && (compiledArguments + ', ')) +'{hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth + 1) + ', inverse: ' + getCompileInverse(block, depth + 1) + ', root: root});'; - - } - else { - if (block.contextName.length > 0) { - throw new Error('Template7: Missing helper: "' + block.helperName + '"'); - } - else { - variable = getCompileVar(block.helperName, ctx); - resultString += 'if (' + variable + ') {'; - resultString += 'if (isArray(' + variable + ')) {'; - resultString += 'r += (Template7.helpers.each).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});'; - resultString += '}else {'; - resultString += 'r += (Template7.helpers.with).call(' + ctx + ', ' + variable + ', {hash:' + JSON.stringify(block.hash) + ', data: data || {}, fn: ' + getCompileFn(block, depth+1) + ', inverse: ' + getCompileInverse(block, depth+1) + ', root: root});'; - resultString += '}}'; - } - } - } - } - resultString += '\nreturn r;})'; - return eval.call(window, resultString); - } - t.compile = function (template) { - if (!t.compiled) { - t.compiled = compile(template); - } - return t.compiled; - }; - }; - Template7.prototype = { - options: {}, - partials: {}, - helpers: { - '_partial' : function (partialName, options) { - var p = Template7.prototype.partials[partialName]; - if (!p || (p && !p.template)) return ''; - if (!p.compiled) { - p.compiled = new Template7(p.template).compile(); - } - var ctx = this; - for (var hashName in options.hash) { - ctx[hashName] = options.hash[hashName]; - } - return p.compiled(ctx, options.data, options.root); - }, - 'escape': function (context, options) { - if (typeof context !== 'string') { - throw new Error('Template7: Passed context to "escape" helper should be a string'); - } - return _escape(context); - }, - 'if': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - if (context) { - return options.fn(this, options.data); - } - else { - return options.inverse(this, options.data); - } - }, - 'unless': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - if (!context) { - return options.fn(this, options.data); - } - else { - return options.inverse(this, options.data); - } - }, - 'each': function (context, options) { - var ret = '', i = 0; - if (isFunction(context)) { context = context.call(this); } - if (isArray(context)) { - if (options.hash.reverse) { - context = context.reverse(); - } - for (i = 0; i < context.length; i++) { - ret += options.fn(context[i], {first: i === 0, last: i === context.length - 1, index: i}); - } - if (options.hash.reverse) { - context = context.reverse(); - } - } - else { - for (var key in context) { - i++; - ret += options.fn(context[key], {key: key}); - } - } - if (i > 0) return ret; - else return options.inverse(this); - }, - 'with': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - return options.fn(context); - }, - 'join': function (context, options) { - if (isFunction(context)) { context = context.call(this); } - return context.join(options.hash.delimiter || options.hash.delimeter); - }, - 'js': function (expression, options) { - var func; - if (expression.indexOf('return')>=0) { - func = '(function(){'+expression+'})'; - } - else { - func = '(function(){return ('+expression+')})'; - } - return eval.call(this, func).call(this); - }, - 'js_compare': function (expression, options) { - var func; - if (expression.indexOf('return')>=0) { - func = '(function(){'+expression+'})'; - } - else { - func = '(function(){return ('+expression+')})'; - } - var condition = eval.call(this, func).call(this); - if (condition) { - return options.fn(this, options.data); - } - else { - return options.inverse(this, options.data); - } - } - } - }; - var t7 = function (template, data) { - if (arguments.length === 2) { - var instance = new Template7(template); - var rendered = instance.compile()(data); - instance = null; - return (rendered); - } - else return new Template7(template); - }; - t7.registerHelper = function (name, fn) { - Template7.prototype.helpers[name] = fn; - }; - t7.unregisterHelper = function (name) { - Template7.prototype.helpers[name] = undefined; - delete Template7.prototype.helpers[name]; - }; - t7.registerPartial = function (name, template) { - Template7.prototype.partials[name] = {template: template}; - }; - t7.unregisterPartial = function (name, template) { - if (Template7.prototype.partials[name]) { - Template7.prototype.partials[name] = undefined; - delete Template7.prototype.partials[name]; - } - }; - t7.compile = function (template, options) { - var instance = new Template7(template, options); - return instance.compile(); - }; - - t7.options = Template7.prototype.options; - t7.helpers = Template7.prototype.helpers; - t7.partials = Template7.prototype.partials; - return t7; -})(); \ No newline at end of file diff --git a/vendor/framework7/src/js/views.js b/vendor/framework7/src/js/views.js deleted file mode 100644 index f87be195e..000000000 --- a/vendor/framework7/src/js/views.js +++ /dev/null @@ -1,637 +0,0 @@ -/*====================================================== -************ Views ************ -======================================================*/ -app.views = []; -var View = function (selector, params) { - var defaults = { - dynamicNavbar: false, - domCache: false, - linksView: undefined, - reloadPages: false, - uniqueHistory: app.params.uniqueHistory, - uniqueHistoryIgnoreGetParameters: app.params.uniqueHistoryIgnoreGetParameters, - allowDuplicateUrls: app.params.allowDuplicateUrls, - swipeBackPage: app.params.swipeBackPage, - swipeBackPageAnimateShadow: app.params.swipeBackPageAnimateShadow, - swipeBackPageAnimateOpacity: app.params.swipeBackPageAnimateOpacity, - swipeBackPageActiveArea: app.params.swipeBackPageActiveArea, - swipeBackPageThreshold: app.params.swipeBackPageThreshold, - animatePages: app.params.animatePages, - preloadPreviousPage: app.params.preloadPreviousPage - }; - var i; - - // Params - params = params || {}; - - // Disable dynamic navbar for material theme - if (params.dynamicNavbar && app.params.material) params.dynamicNavbar = false; - - // Extend params with defaults - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - // View - var view = this; - view.params = params; - - // Selector - view.selector = selector; - - // Container - var container = $(selector); - view.container = container[0]; - - // Fix Selector - - if (typeof selector !== 'string') { - // Supposed to be HTMLElement or Dom7 - selector = (container.attr('id') ? '#' + container.attr('id') : '') + (container.attr('class') ? '.' + container.attr('class').replace(/ /g, '.').replace('.active', '') : ''); - view.selector = selector; - } - - // Is main - view.main = container.hasClass(app.params.viewMainClass); - - // Content cache - view.contentCache = {}; - - // Context cache - view.contextCache = {}; - - // Pages cache - view.pagesCache = {}; - view.pageElementsCache = {}; - - // Store View in element for easy access - container[0].f7View = view; - - // Pages - view.pagesContainer = container.find('.pages')[0]; - view.initialPages = []; - view.initialPagesUrl = []; - view.initialNavbars = []; - if (view.params.domCache) { - var initialPages = container.find('.page'); - for (i = 0; i < initialPages.length; i++) { - view.initialPages.push(initialPages[i]); - view.initialPagesUrl.push('#' + initialPages.eq(i).attr('data-page')); - } - if (view.params.dynamicNavbar) { - var initialNavbars = container.find('.navbar-inner'); - for (i = 0; i < initialNavbars.length; i++) { - view.initialNavbars.push(initialNavbars[i]); - } - } - - } - - view.allowPageChange = true; - - // Location - var docLocation = document.location.href; - - // History - view.history = []; - var viewURL = docLocation; - var pushStateSeparator = app.params.pushStateSeparator; - var pushStateRoot = app.params.pushStateRoot; - if (app.params.pushState && view.main) { - if (pushStateRoot) { - viewURL = pushStateRoot; - } - else { - if (pushStateSeparator && viewURL.indexOf(pushStateSeparator) >= 0 && viewURL.indexOf(pushStateSeparator + '#') < 0) viewURL = viewURL.split(pushStateSeparator)[0]; - } - - } - - // Active Page - var currentPage, currentPageData; - if (!view.activePage) { - currentPage = $(view.pagesContainer).find('.page-on-center'); - if (currentPage.length === 0) { - currentPage = $(view.pagesContainer).find('.page:not(.cached)'); - currentPage = currentPage.eq(currentPage.length - 1); - } - if (currentPage.length > 0) { - currentPageData = currentPage[0].f7PageData; - } - } - - // View startup URL - if (view.params.domCache && currentPage) { - view.url = container.attr('data-url') || view.params.url || '#' + currentPage.attr('data-page'); - view.pagesCache[view.url] = currentPage.attr('data-page'); - } - else view.url = container.attr('data-url') || view.params.url || viewURL; - - // Update current page Data - if (currentPageData) { - currentPageData.view = view; - currentPageData.url = view.url; - if (view.params.domCache && view.params.dynamicNavbar && !currentPageData.navbarInnerContainer) { - currentPageData.navbarInnerContainer = view.initialNavbars[view.initialPages.indexOf(currentPageData.container)]; - } - view.activePage = currentPageData; - currentPage[0].f7PageData = currentPageData; - } - - // Store to history main view's url - if (view.url) { - view.history.push(view.url); - } - - // Touch events - var isTouched = false, - isMoved = false, - touchesStart = {}, - isScrolling, - activePage = [], - previousPage = [], - viewContainerWidth, - touchesDiff, - allowViewTouchMove = true, - touchStartTime, - activeNavbar = [], - previousNavbar = [], - activeNavElements, - previousNavElements, - activeNavBackIcon, - previousNavBackIcon, - dynamicNavbar, - pageShadow, - el; - - view.handleTouchStart = function (e) { - if (!allowViewTouchMove || !view.params.swipeBackPage || isTouched || app.swipeoutOpenedEl || !view.allowPageChange) return; - isMoved = false; - isTouched = true; - isScrolling = undefined; - touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; - touchStartTime = (new Date()).getTime(); - dynamicNavbar = view.params.dynamicNavbar && container.find('.navbar-inner').length > 1; - }; - - view.handleTouchMove = function (e) { - if (!isTouched) return; - var pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - var pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; - if (typeof isScrolling === 'undefined') { - isScrolling = !!(isScrolling || Math.abs(pageY - touchesStart.y) > Math.abs(pageX - touchesStart.x)); - } - if (isScrolling || e.f7PreventSwipeBack || app.preventSwipeBack) { - isTouched = false; - return; - } - if (!isMoved) { - var cancel = false; - // Calc values during first move fired - viewContainerWidth = container.width(); - var target = $(e.target); - var swipeout = target.hasClass('swipeout') ? target : target.parents('.swipeout'); - if (swipeout.length > 0) { - if (!app.rtl && swipeout.find('.swipeout-actions-left').length > 0) cancel = true; - if (app.rtl && swipeout.find('.swipeout-actions-right').length > 0) cancel = true; - } - activePage = target.is('.page') ? target : target.parents('.page'); - if (activePage.hasClass('no-swipeback')) cancel = true; - previousPage = container.find('.page-on-left:not(.cached)'); - var notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea; - if (app.rtl) { - notFromBorder = touchesStart.x < container.offset().left - container[0].scrollLeft + viewContainerWidth - view.params.swipeBackPageActiveArea; - } - else { - notFromBorder = touchesStart.x - container.offset().left > view.params.swipeBackPageActiveArea; - } - if (notFromBorder) cancel = true; - if (previousPage.length === 0 || activePage.length === 0) cancel = true; - if (cancel) { - isTouched = false; - return; - } - - if (view.params.swipeBackPageAnimateShadow && !app.device.android) { - pageShadow = activePage.find('.swipeback-page-shadow'); - if (pageShadow.length === 0) { - pageShadow = $('
                                                          '); - activePage.append(pageShadow); - } - } - - if (dynamicNavbar) { - activeNavbar = container.find('.navbar-on-center:not(.cached)'); - previousNavbar = container.find('.navbar-on-left:not(.cached)'); - activeNavElements = activeNavbar.find('.left, .center, .right, .subnavbar, .fading'); - previousNavElements = previousNavbar.find('.left, .center, .right, .subnavbar, .fading'); - if (app.params.animateNavBackIcon) { - activeNavBackIcon = activeNavbar.find('.left.sliding .back .icon'); - previousNavBackIcon = previousNavbar.find('.left.sliding .back .icon'); - } - } - - // Close/Hide Any Picker - if ($('.picker-modal.modal-in').length > 0) { - app.closeModal($('.picker-modal.modal-in')); - } - } - e.f7PreventPanelSwipe = true; - isMoved = true; - e.preventDefault(); - - // RTL inverter - var inverter = app.rtl ? -1 : 1; - - // Touches diff - touchesDiff = (pageX - touchesStart.x - view.params.swipeBackPageThreshold) * inverter; - if (touchesDiff < 0) touchesDiff = 0; - var percentage = touchesDiff / viewContainerWidth; - - // Swipe Back Callback - var callbackData = { - percentage: percentage, - activePage: activePage[0], - previousPage: previousPage[0], - activeNavbar: activeNavbar[0], - previousNavbar: previousNavbar[0] - }; - if (view.params.onSwipeBackMove) { - view.params.onSwipeBackMove(callbackData); - } - container.trigger('swipeBackMove', callbackData); - - // Transform pages - var activePageTranslate = touchesDiff * inverter; - var previousPageTranslate = (touchesDiff / 5 - viewContainerWidth / 5) * inverter; - if (app.device.pixelRatio === 1) { - activePageTranslate = Math.round(activePageTranslate); - previousPageTranslate = Math.round(previousPageTranslate); - } - - activePage.transform('translate3d(' + activePageTranslate + 'px,0,0)'); - if (view.params.swipeBackPageAnimateShadow && !app.device.android) pageShadow[0].style.opacity = 1 - 1 * percentage; - - previousPage.transform('translate3d(' + previousPageTranslate + 'px,0,0)'); - if (view.params.swipeBackPageAnimateOpacity) previousPage[0].style.opacity = 0.9 + 0.1 * percentage; - - // Dynamic Navbars Animation - if (dynamicNavbar) { - var i; - for (i = 0; i < activeNavElements.length; i++) { - el = $(activeNavElements[i]); - if (!el.is('.subnavbar.sliding')) el[0].style.opacity = (1 - percentage * 1.3); - if (el[0].className.indexOf('sliding') >= 0) { - var activeNavTranslate = percentage * el[0].f7NavbarRightOffset; - if (app.device.pixelRatio === 1) activeNavTranslate = Math.round(activeNavTranslate); - el.transform('translate3d(' + activeNavTranslate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (el[0].className.indexOf('left') >= 0 && activeNavBackIcon.length > 0) { - activeNavBackIcon.transform('translate3d(' + -activeNavTranslate + 'px,0,0)'); - } - } - } - } - for (i = 0; i < previousNavElements.length; i++) { - el = $(previousNavElements[i]); - if (!el.is('.subnavbar.sliding')) el[0].style.opacity = percentage * 1.3 - 0.3; - if (el[0].className.indexOf('sliding') >= 0) { - var previousNavTranslate = el[0].f7NavbarLeftOffset * (1 - percentage); - if (app.device.pixelRatio === 1) previousNavTranslate = Math.round(previousNavTranslate); - el.transform('translate3d(' + previousNavTranslate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (el[0].className.indexOf('left') >= 0 && previousNavBackIcon.length > 0) { - previousNavBackIcon.transform('translate3d(' + -previousNavTranslate + 'px,0,0)'); - } - } - } - } - } - }; - - view.handleTouchEnd = function (e) { - if (!isTouched || !isMoved) { - isTouched = false; - isMoved = false; - return; - } - isTouched = false; - isMoved = false; - if (touchesDiff === 0) { - $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}); - if (dynamicNavbar) { - activeNavElements.transform('').css({opacity: ''}); - previousNavElements.transform('').css({opacity: ''}); - if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.transform(''); - if (previousNavBackIcon && activeNavBackIcon.length > 0) previousNavBackIcon.transform(''); - } - return; - } - var timeDiff = (new Date()).getTime() - touchStartTime; - var pageChanged = false; - // Swipe back to previous page - if ( - timeDiff < 300 && touchesDiff > 10 || - timeDiff >= 300 && touchesDiff > viewContainerWidth / 2 - ) { - activePage.removeClass('page-on-center').addClass('page-on-right'); - previousPage.removeClass('page-on-left').addClass('page-on-center'); - if (dynamicNavbar) { - activeNavbar.removeClass('navbar-on-center').addClass('navbar-on-right'); - previousNavbar.removeClass('navbar-on-left').addClass('navbar-on-center'); - } - pageChanged = true; - } - // Reset custom styles - // Add transitioning class for transition-duration - $([activePage[0], previousPage[0]]).transform('').css({opacity: '', boxShadow: ''}).addClass('page-transitioning'); - if (dynamicNavbar) { - activeNavElements.css({opacity: ''}) - .each(function () { - var translate = pageChanged ? this.f7NavbarRightOffset : 0; - var sliding = $(this); - sliding.transform('translate3d(' + translate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && activeNavBackIcon.length > 0) { - activeNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)'); - } - } - - }).addClass('page-transitioning'); - - previousNavElements.transform('').css({opacity: ''}).each(function () { - var translate = pageChanged ? 0 : this.f7NavbarLeftOffset; - var sliding = $(this); - sliding.transform('translate3d(' + translate + 'px,0,0)'); - if (app.params.animateNavBackIcon) { - if (sliding.hasClass('left') && previousNavBackIcon.length > 0) { - previousNavBackIcon.addClass('page-transitioning').transform('translate3d(' + -translate + 'px,0,0)'); - } - } - }).addClass('page-transitioning'); - } - allowViewTouchMove = false; - view.allowPageChange = false; - // Swipe Back Callback - var callbackData = { - activePage: activePage[0], - previousPage: previousPage[0], - activeNavbar: activeNavbar[0], - previousNavbar: previousNavbar[0] - }; - if (pageChanged) { - // Update View's URL - var url = view.history[view.history.length - 2]; - view.url = url; - - // Page before animation callback - app.pageBackCallback('before', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true}); - app.pageAnimCallback('before', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true}); - - if (view.params.onSwipeBackBeforeChange) { - view.params.onSwipeBackBeforeChange(callbackData); - } - container.trigger('swipeBackBeforeChange', callbackData); - } - else { - if (view.params.onSwipeBackBeforeReset) { - view.params.onSwipeBackBeforeReset(callbackData); - } - container.trigger('swipeBackBeforeReset', callbackData); - } - - activePage.transitionEnd(function () { - $([activePage[0], previousPage[0]]).removeClass('page-transitioning'); - if (dynamicNavbar) { - activeNavElements.removeClass('page-transitioning').css({opacity: ''}); - previousNavElements.removeClass('page-transitioning').css({opacity: ''}); - if (activeNavBackIcon && activeNavBackIcon.length > 0) activeNavBackIcon.removeClass('page-transitioning'); - if (previousNavBackIcon && previousNavBackIcon.length > 0) previousNavBackIcon.removeClass('page-transitioning'); - } - allowViewTouchMove = true; - view.allowPageChange = true; - if (pageChanged) { - if (app.params.pushState && view.main) history.back(); - // Page after animation callback - app.pageBackCallback('after', view, {pageContainer: activePage[0], url: url, position: 'center', newPage: previousPage, oldPage: activePage, swipeBack: true}); - app.pageAnimCallback('after', view, {pageContainer: previousPage[0], url: url, position: 'left', newPage: previousPage, oldPage: activePage, swipeBack: true}); - app.router.afterBack(view, activePage, previousPage); - - if (view.params.onSwipeBackAfterChange) { - view.params.onSwipeBackAfterChange(callbackData); - } - container.trigger('swipeBackAfterChange', callbackData); - } - else { - if (view.params.onSwipeBackAfterReset) { - view.params.onSwipeBackAfterReset(callbackData); - } - container.trigger('swipeBackAfterReset', callbackData); - } - if (pageShadow && pageShadow.length > 0) pageShadow.remove(); - }); - }; - view.attachEvents = function (detach) { - var action = detach ? 'off' : 'on'; - var passiveListener = app.touchEvents.start === 'touchstart' && app.support.passiveListener ? {passive: true, capture: false} : false; - container[action](app.touchEvents.start, view.handleTouchStart, passiveListener); - container[action](app.touchEvents.move, view.handleTouchMove); - container[action](app.touchEvents.end, view.handleTouchEnd, passiveListener); - }; - view.detachEvents = function () { - view.attachEvents(true); - }; - - // Init - if (view.params.swipeBackPage && !app.params.material) { - view.attachEvents(); - } - - // Add view to app - app.views.push(view); - if (view.main) app.mainView = view; - - // Router - view.router = { - load: function (options) { - return app.router.load(view, options); - }, - back: function (options) { - return app.router.back(view, options); - }, - // Shortcuts - loadPage: function (options) { - options = options || {}; - if (typeof options === 'string') { - var url = options; - options = {}; - if (url && url.indexOf('#') === 0 && view.params.domCache) { - options.pageName = url.split('#')[1]; - } - else options.url = url; - } - return app.router.load(view, options); - }, - loadContent: function (content) { - return app.router.load(view, {content: content}); - }, - reloadPage: function (url) { - return app.router.load(view, {url: url, reload: true}); - }, - reloadContent: function (content) { - return app.router.load(view, {content: content, reload: true}); - }, - reloadPreviousPage: function (url) { - return app.router.load(view, {url: url, reloadPrevious: true, reload: true}); - }, - reloadPreviousContent: function (content) { - return app.router.load(view, {content: content, reloadPrevious: true, reload: true}); - }, - refreshPage: function () { - var options = { - url: view.url, - reload: true, - ignoreCache: true - }; - if (options.url && options.url.indexOf('#') === 0) { - if (view.params.domCache && view.pagesCache[options.url]) { - options.pageName = view.pagesCache[options.url]; - options.url = undefined; - delete options.url; - } - else if (view.contentCache[options.url]) { - options.content = view.contentCache[options.url]; - options.url = undefined; - delete options.url; - } - } - return app.router.load(view, options); - }, - refreshPreviousPage: function () { - var options = { - url: view.history[view.history.length - 2], - reload: true, - reloadPrevious: true, - ignoreCache: true - }; - if (options.url && options.url.indexOf('#') === 0 && view.params.domCache && view.pagesCache[options.url]) { - options.pageName = view.pagesCache[options.url]; - options.url = undefined; - delete options.url; - } - return app.router.load(view, options); - } - }; - - // Aliases for temporary backward compatibility - view.loadPage = view.router.loadPage; - view.loadContent = view.router.loadContent; - view.reloadPage = view.router.reloadPage; - view.reloadContent = view.router.reloadContent; - view.reloadPreviousPage = view.router.reloadPreviousPage; - view.reloadPreviousContent = view.router.reloadPreviousContent; - view.refreshPage = view.router.refreshPage; - view.refreshPreviousPage = view.router.refreshPreviousPage; - view.back = view.router.back; - - // Bars methods - view.hideNavbar = function () { - return app.hideNavbar(container.find('.navbar')); - }; - view.showNavbar = function () { - return app.showNavbar(container.find('.navbar')); - }; - view.hideToolbar = function () { - return app.hideToolbar(container.find('.toolbar')); - }; - view.showToolbar = function () { - return app.showToolbar(container.find('.toolbar')); - }; - - // Push State on load - if (app.params.pushState && app.params.pushStateOnLoad && view.main) { - var pushStateUrl; - var pushStateUrlSplit = docLocation.split(pushStateSeparator)[1]; - if (pushStateRoot) { - pushStateUrl = docLocation.split(app.params.pushStateRoot + pushStateSeparator)[1]; - } - else if (pushStateSeparator && docLocation.indexOf(pushStateSeparator) >= 0 && docLocation.indexOf(pushStateSeparator + '#') < 0) { - pushStateUrl = pushStateUrlSplit; - } - var pushStateAnimatePages = app.params.pushStateNoAnimation ? false : undefined; - var historyState = history.state; - if (pushStateUrl) { - if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && historyState && historyState.pageName && 'viewIndex' in historyState) { - app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false}); - } - else if (pushStateUrl.indexOf('#') >= 0 && view.params.domCache && view.initialPagesUrl.indexOf(pushStateUrl) >= 0) { - app.router.load(view, {pageName: pushStateUrl.replace('#',''), animatePages: pushStateAnimatePages, pushState: false}); - } - else app.router.load(view, {url: pushStateUrl, animatePages: pushStateAnimatePages, pushState: false}); - } - else if (view.params.domCache && docLocation.indexOf(pushStateSeparator + '#') >= 0) { - if (historyState && historyState.pageName && 'viewIndex' in historyState) { - app.router.load(view, {pageName: historyState.pageName, url: historyState.url, animatePages: pushStateAnimatePages, pushState: false}); - } - else if (pushStateSeparator && pushStateUrlSplit.indexOf('#') === 0) { - if (view.initialPagesUrl.indexOf(pushStateUrlSplit)) { - app.router.load(view, {pageName: pushStateUrlSplit.replace('#', ''), animatePages: pushStateAnimatePages, pushState: false}); - } - } - } - } - - // Destroy - view.destroy = function () { - view.detachEvents(); - view = undefined; - }; - - // Plugin hook - app.pluginHook('addView', view); - - // Return view - return view; -}; - -app.addView = function (selector, params) { - return new View(selector, params); -}; - -app.getCurrentView = function (index) { - var popoverView = $('.popover.modal-in .view'); - var popupView = $('.popup.modal-in .view'); - var panelView = $('.panel.active .view'); - var appViews = $('.views'); - // Find active view as tab - var appView = appViews.children('.view'); - // Propably in tabs or split view - if (appView.length > 1) { - if (appView.hasClass('tab')) { - // Tabs - appView = appViews.children('.view.active'); - } - else { - // Split View, leave appView intact - } - } - if (popoverView.length > 0 && popoverView[0].f7View) return popoverView[0].f7View; - if (popupView.length > 0 && popupView[0].f7View) return popupView[0].f7View; - if (panelView.length > 0 && panelView[0].f7View) return panelView[0].f7View; - if (appView.length > 0) { - if (appView.length === 1 && appView[0].f7View) return appView[0].f7View; - if (appView.length > 1) { - var currentViews = []; - for (var i = 0; i < appView.length; i++) { - if (appView[i].f7View) currentViews.push(appView[i].f7View); - } - if (currentViews.length > 0 && typeof index !== 'undefined') return currentViews[index]; - if (currentViews.length > 1) return currentViews; - if (currentViews.length === 1) return currentViews[0]; - return undefined; - } - } - return undefined; -}; diff --git a/vendor/framework7/src/js/virtual-list.js b/vendor/framework7/src/js/virtual-list.js deleted file mode 100644 index dbfc280e6..000000000 --- a/vendor/framework7/src/js/virtual-list.js +++ /dev/null @@ -1,468 +0,0 @@ -/*=============================================================================== -************ Virtual List ************ -===============================================================================*/ -var VirtualList = function (listBlock, params) { - var defaults = { - cols: 1, - height: app.params.material ? 48 : 44, - cache: true, - dynamicHeightBufferSize: 1, - showFilteredItemsOnly: false - }; - params = params || {}; - for (var def in defaults) { - if (typeof params[def] === 'undefined') { - params[def] = defaults[def]; - } - } - - // Preparation - var vl = this; - vl.listBlock = $(listBlock); - vl.params = params; - vl.items = vl.params.items; - if (vl.params.showFilteredItemsOnly) { - vl.filteredItems = []; - } - if (vl.params.template) { - if (typeof vl.params.template === 'string') vl.template = t7.compile(vl.params.template); - else if (typeof vl.params.template === 'function') vl.template = vl.params.template; - } - vl.pageContent = vl.listBlock.parents('.page-content'); - - // Bad scroll - var updatableScroll; - if (typeof vl.params.updatableScroll !== 'undefined') { - updatableScroll = vl.params.updatableScroll; - } - else { - updatableScroll = true; - if (app.device.ios && app.device.osVersion.split('.')[0] < 8) { - updatableScroll = false; - } - } - - // Append
                                                            - vl.ul = vl.params.ul ? $(vl.params.ul) : vl.listBlock.children('ul'); - if (vl.ul.length === 0) { - vl.listBlock.append('
                                                              '); - vl.ul = vl.listBlock.children('ul'); - } - - // DOM cached items - vl.domCache = {}; - vl.displayDomCache = {}; - - // Temporary DOM Element - vl.tempDomElement = document.createElement('ul'); - - // Last repain position - vl.lastRepaintY = null; - - // Fragment - vl.fragment = document.createDocumentFragment(); - - // Filter - vl.filterItems = function (indexes, resetScrollTop) { - vl.filteredItems = []; - var firstIndex = indexes[0]; - var lastIndex = indexes[indexes.length - 1]; - for (var i = 0; i < indexes.length; i++) { - vl.filteredItems.push(vl.items[indexes[i]]); - } - if (typeof resetScrollTop === 'undefined') resetScrollTop = true; - if (resetScrollTop) { - vl.pageContent[0].scrollTop = 0; - } - vl.update(); - }; - vl.resetFilter = function () { - if (vl.params.showFilteredItemsOnly) { - vl.filteredItems = []; - } - else { - vl.filteredItems = null; - delete vl.filteredItems; - } - vl.update(); - }; - - var pageHeight, rowsPerScreen, rowsBefore, rowsAfter, rowsToRender, maxBufferHeight = 0, listHeight; - var dynamicHeight = typeof vl.params.height === 'function'; - - // Set list size - vl.setListSize = function () { - var items = vl.filteredItems || vl.items; - pageHeight = vl.pageContent[0].offsetHeight; - if (dynamicHeight) { - listHeight = 0; - vl.heights = []; - for (var i = 0; i < items.length; i++) { - var itemHeight = vl.params.height(items[i]); - listHeight += itemHeight; - vl.heights.push(itemHeight); - } - } - else { - listHeight = Math.ceil(items.length / vl.params.cols) * vl.params.height; - rowsPerScreen = Math.ceil(pageHeight / vl.params.height); - rowsBefore = vl.params.rowsBefore || rowsPerScreen * 2; - rowsAfter = vl.params.rowsAfter || rowsPerScreen; - rowsToRender = (rowsPerScreen + rowsBefore + rowsAfter); - maxBufferHeight = rowsBefore / 2 * vl.params.height; - } - - if (updatableScroll) { - vl.ul.css({height: listHeight + 'px'}); - } - }; - - // Render items - vl.render = function (force, forceScrollTop) { - if (force) vl.lastRepaintY = null; - - var scrollTop = -(vl.listBlock[0].getBoundingClientRect().top - vl.pageContent[0].getBoundingClientRect().top); - - if (typeof forceScrollTop !== 'undefined') scrollTop = forceScrollTop; - - if (vl.lastRepaintY === null || Math.abs(scrollTop - vl.lastRepaintY) > maxBufferHeight || (!updatableScroll && (vl.pageContent[0].scrollTop + pageHeight >= vl.pageContent[0].scrollHeight))) { - vl.lastRepaintY = scrollTop; - } - else { - return; - } - - var items = vl.filteredItems || vl.items, - fromIndex, toIndex, heightBeforeFirstItem = 0, heightBeforeLastItem = 0; - if (dynamicHeight) { - var itemTop = 0, j, itemHeight; - maxBufferHeight = pageHeight; - - for (j = 0; j < vl.heights.length; j++) { - itemHeight = vl.heights[j]; - if (typeof fromIndex === 'undefined') { - if (itemTop + itemHeight >= scrollTop - pageHeight * 2 * vl.params.dynamicHeightBufferSize) fromIndex = j; - else heightBeforeFirstItem += itemHeight; - } - - if (typeof toIndex === 'undefined') { - if (itemTop + itemHeight >= scrollTop + pageHeight * 2 * vl.params.dynamicHeightBufferSize || j === vl.heights.length - 1) toIndex = j + 1; - heightBeforeLastItem += itemHeight; - } - itemTop += itemHeight; - } - toIndex = Math.min(toIndex, items.length); - } - else { - fromIndex = (parseInt(scrollTop / vl.params.height) - rowsBefore) * vl.params.cols; - if (fromIndex < 0) { - fromIndex = 0; - } - toIndex = Math.min(fromIndex + rowsToRender * vl.params.cols, items.length); - } - - var topPosition; - vl.reachEnd = false; - for (var i = fromIndex; i < toIndex; i++) { - var item, index; - // Define real item index - index = vl.items.indexOf(items[i]); - - if (i === fromIndex) vl.currentFromIndex = index; - if (i === toIndex - 1) vl.currentToIndex = index; - if (index === vl.items.length - 1) vl.reachEnd = true; - - // Find items - if (vl.domCache[index]) { - item = vl.domCache[index]; - } - else { - if (vl.template) { - vl.tempDomElement.innerHTML = vl.template(items[i], {index: index}).trim(); - } - else if (vl.params.renderItem) { - vl.tempDomElement.innerHTML = vl.params.renderItem(index, items[i]).trim(); - } - else { - vl.tempDomElement.innerHTML = items[i].trim(); - } - item = vl.tempDomElement.childNodes[0]; - if (vl.params.cache) vl.domCache[index] = item; - } - item.f7VirtualListIndex = index; - - // Set item top position - if (i === fromIndex) { - if (dynamicHeight) { - topPosition = heightBeforeFirstItem; - } - else { - topPosition = (i * vl.params.height / vl.params.cols); - } - } - item.style.top = topPosition + 'px'; - - // Before item insert - if (vl.params.onItemBeforeInsert) vl.params.onItemBeforeInsert(vl, item); - - // Append item to fragment - vl.fragment.appendChild(item); - - - } - - // Update list height with not updatable scroll - if (!updatableScroll) { - if (dynamicHeight) { - vl.ul[0].style.height = heightBeforeLastItem + 'px'; - } - else { - vl.ul[0].style.height = i * vl.params.height / vl.params.cols + 'px'; - } - } - - - // Update list html - if (vl.params.onBeforeClear) vl.params.onBeforeClear(vl, vl.fragment); - vl.ul[0].innerHTML = ''; - - if (vl.params.onItemsBeforeInsert) vl.params.onItemsBeforeInsert(vl, vl.fragment); - vl.ul[0].appendChild(vl.fragment); - if (vl.params.onItemsAfterInsert) vl.params.onItemsAfterInsert(vl, vl.fragment); - - if (typeof forceScrollTop !== 'undefined' && force) { - vl.pageContent.scrollTop(forceScrollTop, 0); - } - }; - - vl.scrollToItem = function (index) { - if (index > vl.items.length) return false; - - var itemTop = 0, listTop; - if (dynamicHeight) { - for (var i = 0; i < index; i++) { - itemTop += vl.heights[i]; - } - } - else { - itemTop = index * vl.params.height; - } - listTop = vl.listBlock[0].offsetTop; - vl.render(true, listTop + itemTop - parseInt(vl.pageContent.css('padding-top'), 10)); - return true; - }; - - // Handle scroll event - vl.handleScroll = function (e) { - vl.render(); - }; - // Handle resize event - vl._isVisible = function (el) { - return !!( el.offsetWidth || el.offsetHeight || el.getClientRects().length ); - }; - vl.handleResize = function (e) { - if (vl._isVisible(vl.listBlock[0])) { - vl.setListSize(); - vl.render(true); - } - }; - - vl.attachEvents = function (detach) { - var action = detach ? 'off' : 'on'; - vl.pageContent[action]('scroll', vl.handleScroll); - vl.listBlock.parents('.tab').eq(0)[action]('show', vl.handleResize); - $(window)[action]('resize', vl.handleResize); - }; - - // Init Virtual List - vl.init = function () { - vl.attachEvents(); - vl.setListSize(); - vl.render(); - }; - - // Append - vl.appendItems = function (items) { - for (var i = 0; i < items.length; i++) { - vl.items.push(items[i]); - } - vl.update(); - }; - vl.appendItem = function (item) { - vl.appendItems([item]); - }; - // Replace - vl.replaceAllItems = function (items) { - vl.items = items; - delete vl.filteredItems; - vl.domCache = {}; - vl.update(); - }; - vl.replaceItem = function (index, item) { - vl.items[index] = item; - if (vl.params.cache) delete vl.domCache[index]; - vl.update(); - }; - // Prepend - vl.prependItems = function (items) { - for (var i = items.length - 1; i >= 0; i--) { - vl.items.unshift(items[i]); - } - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - newCache[parseInt(cached, 10) + items.length] = vl.domCache[cached]; - } - vl.domCache = newCache; - } - vl.update(); - }; - vl.prependItem = function (item) { - vl.prependItems([item]); - }; - - // Move - vl.moveItem = function (oldIndex, newIndex) { - if (oldIndex === newIndex) return; - // remove item from array - var item = vl.items.splice(oldIndex, 1)[0]; - if (newIndex >= vl.items.length) { - // Add item to the end - vl.items.push(item); - newIndex = vl.items.length - 1; - } - else { - // Add item to new index - vl.items.splice(newIndex, 0, item); - } - // Update cache - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - var cachedIndex = parseInt(cached, 10); - var leftIndex = oldIndex < newIndex ? oldIndex : newIndex; - var rightIndex = oldIndex < newIndex ? newIndex : oldIndex; - var indexShift = oldIndex < newIndex ? -1 : 1; - if (cachedIndex < leftIndex || cachedIndex > rightIndex) newCache[cachedIndex] = vl.domCache[cachedIndex]; - if (cachedIndex === leftIndex) newCache[rightIndex] = vl.domCache[cachedIndex]; - if (cachedIndex > leftIndex && cachedIndex <= rightIndex) newCache[cachedIndex + indexShift] = vl.domCache[cachedIndex]; - } - vl.domCache = newCache; - } - vl.update(); - }; - // Insert before - vl.insertItemBefore = function (index, item) { - if (index === 0) { - vl.prependItem(item); - return; - } - if (index >= vl.items.length) { - vl.appendItem(item); - return; - } - vl.items.splice(index, 0, item); - // Update cache - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - var cachedIndex = parseInt(cached, 10); - if (cachedIndex >= index) { - newCache[cachedIndex + 1] = vl.domCache[cachedIndex]; - } - } - vl.domCache = newCache; - } - vl.update(); - }; - // Delete - vl.deleteItems = function (indexes) { - var prevIndex, indexShift = 0; - for (var i = 0; i < indexes.length; i++) { - var index = indexes[i]; - if (typeof prevIndex !== 'undefined') { - if (index > prevIndex) { - indexShift = -i; - } - } - index = index + indexShift; - prevIndex = indexes[i]; - // Delete item - var deletedItem = vl.items.splice(index, 1)[0]; - - // Delete from filtered - if (vl.filteredItems && vl.filteredItems.indexOf(deletedItem) >= 0) { - vl.filteredItems.splice(vl.filteredItems.indexOf(deletedItem), 1); - } - // Update cache - if (vl.params.cache) { - var newCache = {}; - for (var cached in vl.domCache) { - var cachedIndex = parseInt(cached, 10); - if (cachedIndex === index) { - delete vl.domCache[index]; - } - else if (parseInt(cached, 10) > index) { - newCache[cachedIndex - 1] = vl.domCache[cached]; - } - else { - newCache[cachedIndex] = vl.domCache[cached]; - } - } - vl.domCache = newCache; - } - } - vl.update(); - }; - vl.deleteAllItems = function () { - vl.items = []; - delete vl.filteredItems; - if (vl.params.cache) vl.domCache = {}; - vl.update(); - }; - vl.deleteItem = function (index) { - vl.deleteItems([index]); - }; - - // Clear cache - vl.clearCache = function () { - vl.domCache = {}; - }; - - // Update Virtual List - vl.update = function () { - vl.setListSize(); - vl.render(true); - }; - - // Destroy - vl.destroy = function () { - vl.attachEvents(true); - delete vl.items; - delete vl.domCache; - }; - - // Init Virtual List - vl.init(); - - // Store vl in container - vl.listBlock[0].f7VirtualList = vl; - return vl; -}; - -// App Method -app.virtualList = function (listBlock, params) { - return new VirtualList(listBlock, params); -}; - -app.reinitVirtualList = function (pageContainer) { - var page = $(pageContainer); - var vlists = page.find('.virtual-list'); - if (vlists.length === 0) return; - for (var i = 0; i < vlists.length; i++) { - var vlistInstance = vlists[i].f7VirtualList; - if (vlistInstance) { - vlistInstance.update(); - } - } -}; \ No newline at end of file diff --git a/vendor/framework7/src/js/wrap-end.js b/vendor/framework7/src/js/wrap-end.js deleted file mode 100644 index 0319a0fe5..000000000 --- a/vendor/framework7/src/js/wrap-end.js +++ /dev/null @@ -1 +0,0 @@ -})(); diff --git a/vendor/framework7/src/js/wrap-start.js b/vendor/framework7/src/js/wrap-start.js deleted file mode 100644 index 5d11b9790..000000000 --- a/vendor/framework7/src/js/wrap-start.js +++ /dev/null @@ -1 +0,0 @@ -(function () { diff --git a/vendor/framework7/src/js/xhr.js b/vendor/framework7/src/js/xhr.js deleted file mode 100644 index 648b01c49..000000000 --- a/vendor/framework7/src/js/xhr.js +++ /dev/null @@ -1,65 +0,0 @@ -/*====================================================== -************ XHR ************ -======================================================*/ -// XHR Caching -app.cache = []; -app.removeFromCache = function (url) { - var index = false; - for (var i = 0; i < app.cache.length; i++) { - if (app.cache[i].url === url) index = i; - } - if (index !== false) app.cache.splice(index, 1); -}; - -// XHR -app.xhr = false; -app.get = function (url, view, ignoreCache, callback) { - // should we ignore get params or not - var _url = url; - if (app.params.cacheIgnoreGetParameters && url.indexOf('?') >= 0) { - _url = url.split('?')[0]; - } - if (app.params.cache && !ignoreCache && url.indexOf('nocache') < 0 && app.params.cacheIgnore.indexOf(_url) < 0) { - // Check is the url cached - for (var i = 0; i < app.cache.length; i++) { - if (app.cache[i].url === _url) { - // Check expiration - if ((new Date()).getTime() - app.cache[i].time < app.params.cacheDuration) { - // Load from cache - callback(app.cache[i].content); - return false; - } - } - } - } - - app.xhr = $.ajax({ - url: url, - method: 'GET', - beforeSend: app.params.onAjaxStart, - complete: function (xhr) { - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 0) { - if (app.params.cache) { - app.removeFromCache(_url); - app.cache.push({ - url: _url, - time: (new Date()).getTime(), - content: xhr.responseText - }); - } - callback(xhr.responseText, false); - } - else { - callback(xhr.responseText, true); - } - if (app.params.onAjaxComplete) app.params.onAjaxComplete(xhr); - }, - error: function (xhr) { - callback(xhr.responseText, true); - if (app.params.onAjaxError) app.params.onAjaxError(xhr); - } - }); - if (view) view.xhr = app.xhr; - - return app.xhr; -}; diff --git a/vendor/framework7/src/less/css/_mixins.css b/vendor/framework7/src/less/css/_mixins.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/vendor/framework7/src/less/css/badges.css b/vendor/framework7/src/less/css/badges.css deleted file mode 100644 index 7fae0284d..000000000 --- a/vendor/framework7/src/less/css/badges.css +++ /dev/null @@ -1,28 +0,0 @@ -.badge { - font-size: 13px; - display: inline-block; - color: #fff; - background: #8e8e93; - border-radius: 20px; - padding: 0px 6px; - height: 20px; - line-height: 20px; - box-sizing: border-box; - text-align: center; -} -.item-after .badge { - min-width: 20px; -} -.icon .badge { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 16px; - height: 16px; - border-radius: 16px; - padding: 0px 4px; - min-width: 16px; - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; -} diff --git a/vendor/framework7/src/less/css/framework7.ios.colors.css b/vendor/framework7/src/less/css/framework7.ios.colors.css deleted file mode 100644 index 50a82e28e..000000000 --- a/vendor/framework7/src/less/css/framework7.ios.colors.css +++ /dev/null @@ -1,2914 +0,0 @@ -/*========================== -Framework7 Color Themes -==========================*/ -.theme-gray .button:not(.button-fill) { - border-color: #8e8e93; -} -html:not(.watch-active-state) .theme-gray .button:not(.button-fill):active, -.theme-gray .button:not(.button-fill).active-state { - background-color: rgba(142, 142, 147, 0.15); -} -.theme-gray .button:not(.button-fill).active { - background-color: #8e8e93; - color: #fff; -} -.theme-gray .button.button-fill { - background: #8e8e93; - color: #fff; -} -.progressbar.theme-gray span, -.theme-gray .progressbar span { - background-color: #8e8e93; -} -.progressbar-infinite.theme-gray:before, -.theme-gray .progressbar-infinite:before { - background-color: #8e8e93; -} -.theme-gray i.icon, -i.icon.theme-gray { - color: #8e8e93; -} -i.icon-next.color-gray, -i.icon-next.theme-gray, -.theme-gray i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-gray, -i.icon-prev.theme-gray, -.theme-gray i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-gray, -i.icon-back.theme-gray, -.theme-gray i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-gray, -i.icon-forward.theme-gray, -.theme-gray i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-gray, -i.icon-bars.theme-gray, -.theme-gray i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-gray, - i.icon-bars.theme-gray, - .theme-gray i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%238e8e93'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-gray a, -.theme-gray .item-link.list-button { - color: #8e8e93; -} -.theme-gray .tabbar a, -.tabbar.theme-gray a, -.theme-gray .tabbar a i, -.tabbar.theme-gray a i { - color: inherit; -} -.theme-gray .tabbar a.active, -.tabbar.theme-gray a.active, -.theme-gray .tabbar a.active i, -.tabbar.theme-gray a.active i { - color: #8e8e93; -} -.theme-gray .messagebar .messagebar-send-link { - background-color: #8e8e93; -} -.theme-gray label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #8e8e93; -} -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%238e8e93'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray .picker-calendar-day.picker-calendar-day-selected span { - background-color: #8e8e93 !important; -} -.swiper-pagination.color-gray .swiper-pagination-bullet-active, -.theme-gray .swiper-pagination .swiper-pagination-bullet-active { - background-color: #8e8e93; -} -.swiper-pagination.color-gray .swiper-pagination-progressbar, -.theme-gray .swiper-pagination .swiper-pagination-progressbar { - background-color: #8e8e93; -} -.swiper-pagination.swiper-pagination-progress.bg-gray { - background-color: rgba(142, 142, 147, 0.25); -} -.swiper-button-next.color-gray, -.swiper-container-rtl .swiper-button-prev.color-gray, -.theme-gray .swiper-button-next, -.theme-gray .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-gray, -.swiper-container-rtl .swiper-button-next.color-gray, -.theme-gray .swiper-button-prev, -.theme-gray .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238e8e93'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray .floating-button, -.theme-gray .speed-dial-buttons a, -.floating-button.theme-gray, -.speed-dial-buttons a.theme-gray { - color: #fff; - background: #8e8e93; -} -html:not(.watch-active-state) .theme-gray .floating-button:active, -html:not(.watch-active-state) .theme-gray .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-gray:active, -.theme-gray .floating-button.active-state, -.theme-gray .speed-dial-buttons a.active-state, -.floating-button.theme-gray.active-state, -.speed-dial-buttons a.theme-gray.active-state { - background: #79797f; -} -.theme-gray .floating-button i, -.theme-gray .speed-dial-buttons a i, -.floating-button.theme-gray i, -.speed-dial-buttons a.theme-gray i { - color: inherit; -} -.theme-gray .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #8e8e93; -} -.theme-gray .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-gray input[type="range"]::-ms-fill-lower { - background-color: #8e8e93; -} -.badge.theme-gray { - background-color: #8e8e93; - color: #fff; -} -.theme-white .button:not(.button-fill) { - border-color: #ffffff; -} -html:not(.watch-active-state) .theme-white .button:not(.button-fill):active, -.theme-white .button:not(.button-fill).active-state { - background-color: rgba(255, 255, 255, 0.15); -} -.theme-white .button:not(.button-fill).active { - background-color: #ffffff; - color: #fff; -} -.theme-white .button.button-fill { - background: #ffffff; - color: #fff; -} -.progressbar.theme-white span, -.theme-white .progressbar span { - background-color: #ffffff; -} -.progressbar-infinite.theme-white:before, -.theme-white .progressbar-infinite:before { - background-color: #ffffff; -} -.theme-white i.icon, -i.icon.theme-white { - color: #ffffff; -} -i.icon-next.color-white, -i.icon-next.theme-white, -.theme-white i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-white, -i.icon-prev.theme-white, -.theme-white i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-white, -i.icon-back.theme-white, -.theme-white i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-white, -i.icon-forward.theme-white, -.theme-white i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-white, -i.icon-bars.theme-white, -.theme-white i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-white, - i.icon-bars.theme-white, - .theme-white i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ffffff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-white a, -.theme-white .item-link.list-button { - color: #ffffff; -} -.theme-white .tabbar a, -.tabbar.theme-white a, -.theme-white .tabbar a i, -.tabbar.theme-white a i { - color: inherit; -} -.theme-white .tabbar a.active, -.tabbar.theme-white a.active, -.theme-white .tabbar a.active i, -.tabbar.theme-white a.active i { - color: #ffffff; -} -.theme-white .messagebar .messagebar-send-link { - background-color: #ffffff; -} -.theme-white label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ffffff; -} -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ffffff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffffff !important; -} -.swiper-pagination.color-white .swiper-pagination-bullet-active, -.theme-white .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffffff; -} -.swiper-pagination.color-white .swiper-pagination-progressbar, -.theme-white .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffffff; -} -.swiper-pagination.swiper-pagination-progress.bg-white { - background-color: rgba(255, 255, 255, 0.25); -} -.swiper-button-next.color-white, -.swiper-container-rtl .swiper-button-prev.color-white, -.theme-white .swiper-button-next, -.theme-white .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-white, -.swiper-container-rtl .swiper-button-next.color-white, -.theme-white .swiper-button-prev, -.theme-white .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white .floating-button, -.theme-white .speed-dial-buttons a, -.floating-button.theme-white, -.speed-dial-buttons a.theme-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .theme-white .floating-button:active, -html:not(.watch-active-state) .theme-white .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-white:active, -.theme-white .floating-button.active-state, -.theme-white .speed-dial-buttons a.active-state, -.floating-button.theme-white.active-state, -.speed-dial-buttons a.theme-white.active-state { - background: #ebebeb; -} -.theme-white .floating-button i, -.theme-white .speed-dial-buttons a i, -.floating-button.theme-white i, -.speed-dial-buttons a.theme-white i { - color: inherit; -} -.theme-white .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.badge.theme-white { - background-color: #ffffff; - color: #fff; -} -.theme-black .button:not(.button-fill) { - border-color: #000000; -} -html:not(.watch-active-state) .theme-black .button:not(.button-fill):active, -.theme-black .button:not(.button-fill).active-state { - background-color: rgba(0, 0, 0, 0.15); -} -.theme-black .button:not(.button-fill).active { - background-color: #000000; - color: #fff; -} -.theme-black .button.button-fill { - background: #000000; - color: #fff; -} -.progressbar.theme-black span, -.theme-black .progressbar span { - background-color: #000000; -} -.progressbar-infinite.theme-black:before, -.theme-black .progressbar-infinite:before { - background-color: #000000; -} -.theme-black i.icon, -i.icon.theme-black { - color: #000000; -} -i.icon-next.color-black, -i.icon-next.theme-black, -.theme-black i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-black, -i.icon-prev.theme-black, -.theme-black i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-black, -i.icon-back.theme-black, -.theme-black i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-black, -i.icon-forward.theme-black, -.theme-black i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-black, -i.icon-bars.theme-black, -.theme-black i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-black, - i.icon-bars.theme-black, - .theme-black i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23000000'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-black a, -.theme-black .item-link.list-button { - color: #000000; -} -.theme-black .tabbar a, -.tabbar.theme-black a, -.theme-black .tabbar a i, -.tabbar.theme-black a i { - color: inherit; -} -.theme-black .tabbar a.active, -.tabbar.theme-black a.active, -.theme-black .tabbar a.active i, -.tabbar.theme-black a.active i { - color: #000000; -} -.theme-black .messagebar .messagebar-send-link { - background-color: #000000; -} -.theme-black label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #000000; -} -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23000000'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black .picker-calendar-day.picker-calendar-day-selected span { - background-color: #000000 !important; -} -.swiper-pagination.color-black .swiper-pagination-bullet-active, -.theme-black .swiper-pagination .swiper-pagination-bullet-active { - background-color: #000000; -} -.swiper-pagination.color-black .swiper-pagination-progressbar, -.theme-black .swiper-pagination .swiper-pagination-progressbar { - background-color: #000000; -} -.swiper-pagination.swiper-pagination-progress.bg-black { - background-color: rgba(0, 0, 0, 0.25); -} -.swiper-button-next.color-black, -.swiper-container-rtl .swiper-button-prev.color-black, -.theme-black .swiper-button-next, -.theme-black .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-black, -.swiper-container-rtl .swiper-button-next.color-black, -.theme-black .swiper-button-prev, -.theme-black .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black .floating-button, -.theme-black .speed-dial-buttons a, -.floating-button.theme-black, -.speed-dial-buttons a.theme-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .theme-black .floating-button:active, -html:not(.watch-active-state) .theme-black .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-black:active, -.theme-black .floating-button.active-state, -.theme-black .speed-dial-buttons a.active-state, -.floating-button.theme-black.active-state, -.speed-dial-buttons a.theme-black.active-state { - background: #000000; -} -.theme-black .floating-button i, -.theme-black .speed-dial-buttons a i, -.floating-button.theme-black i, -.speed-dial-buttons a.theme-black i { - color: inherit; -} -.theme-black .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.badge.theme-black { - background-color: #000000; - color: #fff; -} -.theme-lightblue .button:not(.button-fill) { - border-color: #5ac8fa; -} -html:not(.watch-active-state) .theme-lightblue .button:not(.button-fill):active, -.theme-lightblue .button:not(.button-fill).active-state { - background-color: rgba(90, 200, 250, 0.15); -} -.theme-lightblue .button:not(.button-fill).active { - background-color: #5ac8fa; - color: #fff; -} -.theme-lightblue .button.button-fill { - background: #5ac8fa; - color: #fff; -} -.progressbar.theme-lightblue span, -.theme-lightblue .progressbar span { - background-color: #5ac8fa; -} -.progressbar-infinite.theme-lightblue:before, -.theme-lightblue .progressbar-infinite:before { - background-color: #5ac8fa; -} -.theme-lightblue i.icon, -i.icon.theme-lightblue { - color: #5ac8fa; -} -i.icon-next.color-lightblue, -i.icon-next.theme-lightblue, -.theme-lightblue i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightblue, -i.icon-prev.theme-lightblue, -.theme-lightblue i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightblue, -i.icon-back.theme-lightblue, -.theme-lightblue i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightblue, -i.icon-forward.theme-lightblue, -.theme-lightblue i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lightblue, -i.icon-bars.theme-lightblue, -.theme-lightblue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-lightblue, - i.icon-bars.theme-lightblue, - .theme-lightblue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%235ac8fa'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-lightblue a, -.theme-lightblue .item-link.list-button { - color: #5ac8fa; -} -.theme-lightblue .tabbar a, -.tabbar.theme-lightblue a, -.theme-lightblue .tabbar a i, -.tabbar.theme-lightblue a i { - color: inherit; -} -.theme-lightblue .tabbar a.active, -.tabbar.theme-lightblue a.active, -.theme-lightblue .tabbar a.active i, -.tabbar.theme-lightblue a.active i { - color: #5ac8fa; -} -.theme-lightblue .messagebar .messagebar-send-link { - background-color: #5ac8fa; -} -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #5ac8fa; -} -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%235ac8fa'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #5ac8fa !important; -} -.swiper-pagination.color-lightblue .swiper-pagination-bullet-active, -.theme-lightblue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #5ac8fa; -} -.swiper-pagination.color-lightblue .swiper-pagination-progressbar, -.theme-lightblue .swiper-pagination .swiper-pagination-progressbar { - background-color: #5ac8fa; -} -.swiper-pagination.swiper-pagination-progress.bg-lightblue { - background-color: rgba(90, 200, 250, 0.25); -} -.swiper-button-next.color-lightblue, -.swiper-container-rtl .swiper-button-prev.color-lightblue, -.theme-lightblue .swiper-button-next, -.theme-lightblue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lightblue, -.swiper-container-rtl .swiper-button-next.color-lightblue, -.theme-lightblue .swiper-button-prev, -.theme-lightblue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%235ac8fa'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue .floating-button, -.theme-lightblue .speed-dial-buttons a, -.floating-button.theme-lightblue, -.speed-dial-buttons a.theme-lightblue { - color: #fff; - background: #5ac8fa; -} -html:not(.watch-active-state) .theme-lightblue .floating-button:active, -html:not(.watch-active-state) .theme-lightblue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lightblue:active, -.theme-lightblue .floating-button.active-state, -.theme-lightblue .speed-dial-buttons a.active-state, -.floating-button.theme-lightblue.active-state, -.speed-dial-buttons a.theme-lightblue.active-state { - background: #32bbf9; -} -.theme-lightblue .floating-button i, -.theme-lightblue .speed-dial-buttons a i, -.floating-button.theme-lightblue i, -.speed-dial-buttons a.theme-lightblue i { - color: inherit; -} -.theme-lightblue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #5ac8fa; -} -.theme-lightblue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lightblue input[type="range"]::-ms-fill-lower { - background-color: #5ac8fa; -} -.badge.theme-lightblue { - background-color: #5ac8fa; - color: #fff; -} -.theme-yellow .button:not(.button-fill) { - border-color: #ffcc00; -} -html:not(.watch-active-state) .theme-yellow .button:not(.button-fill):active, -.theme-yellow .button:not(.button-fill).active-state { - background-color: rgba(255, 204, 0, 0.15); -} -.theme-yellow .button:not(.button-fill).active { - background-color: #ffcc00; - color: #fff; -} -.theme-yellow .button.button-fill { - background: #ffcc00; - color: #fff; -} -.progressbar.theme-yellow span, -.theme-yellow .progressbar span { - background-color: #ffcc00; -} -.progressbar-infinite.theme-yellow:before, -.theme-yellow .progressbar-infinite:before { - background-color: #ffcc00; -} -.theme-yellow i.icon, -i.icon.theme-yellow { - color: #ffcc00; -} -i.icon-next.color-yellow, -i.icon-next.theme-yellow, -.theme-yellow i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-yellow, -i.icon-prev.theme-yellow, -.theme-yellow i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-yellow, -i.icon-back.theme-yellow, -.theme-yellow i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-yellow, -i.icon-forward.theme-yellow, -.theme-yellow i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-yellow, -i.icon-bars.theme-yellow, -.theme-yellow i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-yellow, - i.icon-bars.theme-yellow, - .theme-yellow i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ffcc00'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-yellow a, -.theme-yellow .item-link.list-button { - color: #ffcc00; -} -.theme-yellow .tabbar a, -.tabbar.theme-yellow a, -.theme-yellow .tabbar a i, -.tabbar.theme-yellow a i { - color: inherit; -} -.theme-yellow .tabbar a.active, -.tabbar.theme-yellow a.active, -.theme-yellow .tabbar a.active i, -.tabbar.theme-yellow a.active i { - color: #ffcc00; -} -.theme-yellow .messagebar .messagebar-send-link { - background-color: #ffcc00; -} -.theme-yellow label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ffcc00; -} -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ffcc00'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffcc00 !important; -} -.swiper-pagination.color-yellow .swiper-pagination-bullet-active, -.theme-yellow .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffcc00; -} -.swiper-pagination.color-yellow .swiper-pagination-progressbar, -.theme-yellow .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffcc00; -} -.swiper-pagination.swiper-pagination-progress.bg-yellow { - background-color: rgba(255, 204, 0, 0.25); -} -.swiper-button-next.color-yellow, -.swiper-container-rtl .swiper-button-prev.color-yellow, -.theme-yellow .swiper-button-next, -.theme-yellow .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-yellow, -.swiper-container-rtl .swiper-button-next.color-yellow, -.theme-yellow .swiper-button-prev, -.theme-yellow .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffcc00'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow .floating-button, -.theme-yellow .speed-dial-buttons a, -.floating-button.theme-yellow, -.speed-dial-buttons a.theme-yellow { - color: #fff; - background: #ffcc00; -} -html:not(.watch-active-state) .theme-yellow .floating-button:active, -html:not(.watch-active-state) .theme-yellow .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-yellow:active, -.theme-yellow .floating-button.active-state, -.theme-yellow .speed-dial-buttons a.active-state, -.floating-button.theme-yellow.active-state, -.speed-dial-buttons a.theme-yellow.active-state { - background: #d6ab00; -} -.theme-yellow .floating-button i, -.theme-yellow .speed-dial-buttons a i, -.floating-button.theme-yellow i, -.speed-dial-buttons a.theme-yellow i { - color: inherit; -} -.theme-yellow .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffcc00; -} -.theme-yellow .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffcc00; -} -.badge.theme-yellow { - background-color: #ffcc00; - color: #fff; -} -.theme-orange .button:not(.button-fill) { - border-color: #ff9500; -} -html:not(.watch-active-state) .theme-orange .button:not(.button-fill):active, -.theme-orange .button:not(.button-fill).active-state { - background-color: rgba(255, 149, 0, 0.15); -} -.theme-orange .button:not(.button-fill).active { - background-color: #ff9500; - color: #fff; -} -.theme-orange .button.button-fill { - background: #ff9500; - color: #fff; -} -.progressbar.theme-orange span, -.theme-orange .progressbar span { - background-color: #ff9500; -} -.progressbar-infinite.theme-orange:before, -.theme-orange .progressbar-infinite:before { - background-color: #ff9500; -} -.theme-orange i.icon, -i.icon.theme-orange { - color: #ff9500; -} -i.icon-next.color-orange, -i.icon-next.theme-orange, -.theme-orange i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-orange, -i.icon-prev.theme-orange, -.theme-orange i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-orange, -i.icon-back.theme-orange, -.theme-orange i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-orange, -i.icon-forward.theme-orange, -.theme-orange i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-orange, -i.icon-bars.theme-orange, -.theme-orange i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-orange, - i.icon-bars.theme-orange, - .theme-orange i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff9500'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-orange a, -.theme-orange .item-link.list-button { - color: #ff9500; -} -.theme-orange .tabbar a, -.tabbar.theme-orange a, -.theme-orange .tabbar a i, -.tabbar.theme-orange a i { - color: inherit; -} -.theme-orange .tabbar a.active, -.tabbar.theme-orange a.active, -.theme-orange .tabbar a.active i, -.tabbar.theme-orange a.active i { - color: #ff9500; -} -.theme-orange .messagebar .messagebar-send-link { - background-color: #ff9500; -} -.theme-orange label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ff9500; -} -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff9500'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff9500 !important; -} -.swiper-pagination.color-orange .swiper-pagination-bullet-active, -.theme-orange .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff9500; -} -.swiper-pagination.color-orange .swiper-pagination-progressbar, -.theme-orange .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff9500; -} -.swiper-pagination.swiper-pagination-progress.bg-orange { - background-color: rgba(255, 149, 0, 0.25); -} -.swiper-button-next.color-orange, -.swiper-container-rtl .swiper-button-prev.color-orange, -.theme-orange .swiper-button-next, -.theme-orange .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-orange, -.swiper-container-rtl .swiper-button-next.color-orange, -.theme-orange .swiper-button-prev, -.theme-orange .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff9500'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange .floating-button, -.theme-orange .speed-dial-buttons a, -.floating-button.theme-orange, -.speed-dial-buttons a.theme-orange { - color: #fff; - background: #ff9500; -} -html:not(.watch-active-state) .theme-orange .floating-button:active, -html:not(.watch-active-state) .theme-orange .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-orange:active, -.theme-orange .floating-button.active-state, -.theme-orange .speed-dial-buttons a.active-state, -.floating-button.theme-orange.active-state, -.speed-dial-buttons a.theme-orange.active-state { - background: #d67d00; -} -.theme-orange .floating-button i, -.theme-orange .speed-dial-buttons a i, -.floating-button.theme-orange i, -.speed-dial-buttons a.theme-orange i { - color: inherit; -} -.theme-orange .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9500; -} -.theme-orange .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9500; -} -.badge.theme-orange { - background-color: #ff9500; - color: #fff; -} -.theme-pink .button:not(.button-fill) { - border-color: #ff2d55; -} -html:not(.watch-active-state) .theme-pink .button:not(.button-fill):active, -.theme-pink .button:not(.button-fill).active-state { - background-color: rgba(255, 45, 85, 0.15); -} -.theme-pink .button:not(.button-fill).active { - background-color: #ff2d55; - color: #fff; -} -.theme-pink .button.button-fill { - background: #ff2d55; - color: #fff; -} -.progressbar.theme-pink span, -.theme-pink .progressbar span { - background-color: #ff2d55; -} -.progressbar-infinite.theme-pink:before, -.theme-pink .progressbar-infinite:before { - background-color: #ff2d55; -} -.theme-pink i.icon, -i.icon.theme-pink { - color: #ff2d55; -} -i.icon-next.color-pink, -i.icon-next.theme-pink, -.theme-pink i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-pink, -i.icon-prev.theme-pink, -.theme-pink i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-pink, -i.icon-back.theme-pink, -.theme-pink i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-pink, -i.icon-forward.theme-pink, -.theme-pink i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-pink, -i.icon-bars.theme-pink, -.theme-pink i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-pink, - i.icon-bars.theme-pink, - .theme-pink i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff2d55'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-pink a, -.theme-pink .item-link.list-button { - color: #ff2d55; -} -.theme-pink .tabbar a, -.tabbar.theme-pink a, -.theme-pink .tabbar a i, -.tabbar.theme-pink a i { - color: inherit; -} -.theme-pink .tabbar a.active, -.tabbar.theme-pink a.active, -.theme-pink .tabbar a.active i, -.tabbar.theme-pink a.active i { - color: #ff2d55; -} -.theme-pink .messagebar .messagebar-send-link { - background-color: #ff2d55; -} -.theme-pink label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ff2d55; -} -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff2d55'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff2d55 !important; -} -.swiper-pagination.color-pink .swiper-pagination-bullet-active, -.theme-pink .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff2d55; -} -.swiper-pagination.color-pink .swiper-pagination-progressbar, -.theme-pink .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff2d55; -} -.swiper-pagination.swiper-pagination-progress.bg-pink { - background-color: rgba(255, 45, 85, 0.25); -} -.swiper-button-next.color-pink, -.swiper-container-rtl .swiper-button-prev.color-pink, -.theme-pink .swiper-button-next, -.theme-pink .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-pink, -.swiper-container-rtl .swiper-button-next.color-pink, -.theme-pink .swiper-button-prev, -.theme-pink .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff2d55'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink .floating-button, -.theme-pink .speed-dial-buttons a, -.floating-button.theme-pink, -.speed-dial-buttons a.theme-pink { - color: #fff; - background: #ff2d55; -} -html:not(.watch-active-state) .theme-pink .floating-button:active, -html:not(.watch-active-state) .theme-pink .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-pink:active, -.theme-pink .floating-button.active-state, -.theme-pink .speed-dial-buttons a.active-state, -.floating-button.theme-pink.active-state, -.speed-dial-buttons a.theme-pink.active-state { - background: #ff0434; -} -.theme-pink .floating-button i, -.theme-pink .speed-dial-buttons a i, -.floating-button.theme-pink i, -.speed-dial-buttons a.theme-pink i { - color: inherit; -} -.theme-pink .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff2d55; -} -.theme-pink .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-pink input[type="range"]::-ms-fill-lower { - background-color: #ff2d55; -} -.badge.theme-pink { - background-color: #ff2d55; - color: #fff; -} -.theme-blue .button:not(.button-fill) { - border-color: #007aff; -} -html:not(.watch-active-state) .theme-blue .button:not(.button-fill):active, -.theme-blue .button:not(.button-fill).active-state { - background-color: rgba(0, 122, 255, 0.15); -} -.theme-blue .button:not(.button-fill).active { - background-color: #007aff; - color: #fff; -} -.theme-blue .button.button-fill { - background: #007aff; - color: #fff; -} -.progressbar.theme-blue span, -.theme-blue .progressbar span { - background-color: #007aff; -} -.progressbar-infinite.theme-blue:before, -.theme-blue .progressbar-infinite:before { - background-color: #007aff; -} -.theme-blue i.icon, -i.icon.theme-blue { - color: #007aff; -} -i.icon-next.color-blue, -i.icon-next.theme-blue, -.theme-blue i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-blue, -i.icon-prev.theme-blue, -.theme-blue i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-blue, -i.icon-back.theme-blue, -.theme-blue i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-blue, -i.icon-forward.theme-blue, -.theme-blue i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-blue, -i.icon-bars.theme-blue, -.theme-blue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-blue, - i.icon-bars.theme-blue, - .theme-blue i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-blue a, -.theme-blue .item-link.list-button { - color: #007aff; -} -.theme-blue .tabbar a, -.tabbar.theme-blue a, -.theme-blue .tabbar a i, -.tabbar.theme-blue a i { - color: inherit; -} -.theme-blue .tabbar a.active, -.tabbar.theme-blue a.active, -.theme-blue .tabbar a.active i, -.tabbar.theme-blue a.active i { - color: #007aff; -} -.theme-blue .messagebar .messagebar-send-link { - background-color: #007aff; -} -.theme-blue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #007aff; -} -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23007aff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #007aff !important; -} -.swiper-pagination.color-blue .swiper-pagination-bullet-active, -.theme-blue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #007aff; -} -.swiper-pagination.color-blue .swiper-pagination-progressbar, -.theme-blue .swiper-pagination .swiper-pagination-progressbar { - background-color: #007aff; -} -.swiper-pagination.swiper-pagination-progress.bg-blue { - background-color: rgba(0, 122, 255, 0.25); -} -.swiper-button-next.color-blue, -.swiper-container-rtl .swiper-button-prev.color-blue, -.theme-blue .swiper-button-next, -.theme-blue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-blue, -.swiper-container-rtl .swiper-button-next.color-blue, -.theme-blue .swiper-button-prev, -.theme-blue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue .floating-button, -.theme-blue .speed-dial-buttons a, -.floating-button.theme-blue, -.speed-dial-buttons a.theme-blue { - color: #fff; - background: #007aff; -} -html:not(.watch-active-state) .theme-blue .floating-button:active, -html:not(.watch-active-state) .theme-blue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-blue:active, -.theme-blue .floating-button.active-state, -.theme-blue .speed-dial-buttons a.active-state, -.floating-button.theme-blue.active-state, -.speed-dial-buttons a.theme-blue.active-state { - background: #0066d6; -} -.theme-blue .floating-button i, -.theme-blue .speed-dial-buttons a i, -.floating-button.theme-blue i, -.speed-dial-buttons a.theme-blue i { - color: inherit; -} -.theme-blue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #007aff; -} -.theme-blue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-blue input[type="range"]::-ms-fill-lower { - background-color: #007aff; -} -.badge.theme-blue { - background-color: #007aff; - color: #fff; -} -.theme-green .button:not(.button-fill) { - border-color: #4cd964; -} -html:not(.watch-active-state) .theme-green .button:not(.button-fill):active, -.theme-green .button:not(.button-fill).active-state { - background-color: rgba(76, 217, 100, 0.15); -} -.theme-green .button:not(.button-fill).active { - background-color: #4cd964; - color: #fff; -} -.theme-green .button.button-fill { - background: #4cd964; - color: #fff; -} -.progressbar.theme-green span, -.theme-green .progressbar span { - background-color: #4cd964; -} -.progressbar-infinite.theme-green:before, -.theme-green .progressbar-infinite:before { - background-color: #4cd964; -} -.theme-green i.icon, -i.icon.theme-green { - color: #4cd964; -} -i.icon-next.color-green, -i.icon-next.theme-green, -.theme-green i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-green, -i.icon-prev.theme-green, -.theme-green i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-green, -i.icon-back.theme-green, -.theme-green i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-green, -i.icon-forward.theme-green, -.theme-green i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-green, -i.icon-bars.theme-green, -.theme-green i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-green, - i.icon-bars.theme-green, - .theme-green i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%234cd964'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-green a, -.theme-green .item-link.list-button { - color: #4cd964; -} -.theme-green .tabbar a, -.tabbar.theme-green a, -.theme-green .tabbar a i, -.tabbar.theme-green a i { - color: inherit; -} -.theme-green .tabbar a.active, -.tabbar.theme-green a.active, -.theme-green .tabbar a.active i, -.tabbar.theme-green a.active i { - color: #4cd964; -} -.theme-green .messagebar .messagebar-send-link { - background-color: #4cd964; -} -.theme-green label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #4cd964; -} -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%234cd964'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green .picker-calendar-day.picker-calendar-day-selected span { - background-color: #4cd964 !important; -} -.swiper-pagination.color-green .swiper-pagination-bullet-active, -.theme-green .swiper-pagination .swiper-pagination-bullet-active { - background-color: #4cd964; -} -.swiper-pagination.color-green .swiper-pagination-progressbar, -.theme-green .swiper-pagination .swiper-pagination-progressbar { - background-color: #4cd964; -} -.swiper-pagination.swiper-pagination-progress.bg-green { - background-color: rgba(76, 217, 100, 0.25); -} -.swiper-button-next.color-green, -.swiper-container-rtl .swiper-button-prev.color-green, -.theme-green .swiper-button-next, -.theme-green .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-green, -.swiper-container-rtl .swiper-button-next.color-green, -.theme-green .swiper-button-prev, -.theme-green .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%234cd964'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green .floating-button, -.theme-green .speed-dial-buttons a, -.floating-button.theme-green, -.speed-dial-buttons a.theme-green { - color: #fff; - background: #4cd964; -} -html:not(.watch-active-state) .theme-green .floating-button:active, -html:not(.watch-active-state) .theme-green .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-green:active, -.theme-green .floating-button.active-state, -.theme-green .speed-dial-buttons a.active-state, -.floating-button.theme-green.active-state, -.speed-dial-buttons a.theme-green.active-state { - background: #2cd048; -} -.theme-green .floating-button i, -.theme-green .speed-dial-buttons a i, -.floating-button.theme-green i, -.speed-dial-buttons a.theme-green i { - color: inherit; -} -.theme-green .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4cd964; -} -.theme-green .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-green input[type="range"]::-ms-fill-lower { - background-color: #4cd964; -} -.badge.theme-green { - background-color: #4cd964; - color: #fff; -} -.theme-red .button:not(.button-fill) { - border-color: #ff3b30; -} -html:not(.watch-active-state) .theme-red .button:not(.button-fill):active, -.theme-red .button:not(.button-fill).active-state { - background-color: rgba(255, 59, 48, 0.15); -} -.theme-red .button:not(.button-fill).active { - background-color: #ff3b30; - color: #fff; -} -.theme-red .button.button-fill { - background: #ff3b30; - color: #fff; -} -.progressbar.theme-red span, -.theme-red .progressbar span { - background-color: #ff3b30; -} -.progressbar-infinite.theme-red:before, -.theme-red .progressbar-infinite:before { - background-color: #ff3b30; -} -.theme-red i.icon, -i.icon.theme-red { - color: #ff3b30; -} -i.icon-next.color-red, -i.icon-next.theme-red, -.theme-red i.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-red, -i.icon-prev.theme-red, -.theme-red i.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-red, -i.icon-back.theme-red, -.theme-red i.icon-back { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-red, -i.icon-forward.theme-red, -.theme-red i.icon-forward { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-red, -i.icon-bars.theme-red, -.theme-red i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2) { - i.icon-bars.color-red, - i.icon-bars.theme-red, - .theme-red i.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23ff3b30'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - } -} -.theme-red a, -.theme-red .item-link.list-button { - color: #ff3b30; -} -.theme-red .tabbar a, -.tabbar.theme-red a, -.theme-red .tabbar a i, -.tabbar.theme-red a i { - color: inherit; -} -.theme-red .tabbar a.active, -.tabbar.theme-red a.active, -.theme-red .tabbar a.active i, -.tabbar.theme-red a.active i { - color: #ff3b30; -} -.theme-red .messagebar .messagebar-send-link { - background-color: #ff3b30; -} -.theme-red label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: #ff3b30; -} -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-inner, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-inner { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23ff3b30'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff3b30 !important; -} -.swiper-pagination.color-red .swiper-pagination-bullet-active, -.theme-red .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff3b30; -} -.swiper-pagination.color-red .swiper-pagination-progressbar, -.theme-red .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff3b30; -} -.swiper-pagination.swiper-pagination-progress.bg-red { - background-color: rgba(255, 59, 48, 0.25); -} -.swiper-button-next.color-red, -.swiper-container-rtl .swiper-button-prev.color-red, -.theme-red .swiper-button-next, -.theme-red .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-red, -.swiper-container-rtl .swiper-button-next.color-red, -.theme-red .swiper-button-prev, -.theme-red .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff3b30'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red .floating-button, -.theme-red .speed-dial-buttons a, -.floating-button.theme-red, -.speed-dial-buttons a.theme-red { - color: #fff; - background: #ff3b30; -} -html:not(.watch-active-state) .theme-red .floating-button:active, -html:not(.watch-active-state) .theme-red .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-red:active, -.theme-red .floating-button.active-state, -.theme-red .speed-dial-buttons a.active-state, -.floating-button.theme-red.active-state, -.speed-dial-buttons a.theme-red.active-state { - background: #ff1407; -} -.theme-red .floating-button i, -.theme-red .speed-dial-buttons a i, -.floating-button.theme-red i, -.speed-dial-buttons a.theme-red i { - color: inherit; -} -.theme-red .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff3b30; -} -.theme-red .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-red input[type="range"]::-ms-fill-lower { - background-color: #ff3b30; -} -.badge.theme-red { - background-color: #ff3b30; - color: #fff; -} -/*========================== -Framework7 Color + Bg + Border -==========================*/ -.color-gray { - color: #8e8e93; -} -.list-block .item-link.list-button.color-gray, -.tabbar a.active.color-gray, -a.color-gray { - color: #8e8e93; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-gray, -.label-switch.color-gray input[type="checkbox"]:checked + .checkbox { - background-color: #8e8e93; -} -.color-gray.button:not(.button-fill), -.color-gray.buttons-row .button { - border-color: #8e8e93; -} -html:not(.watch-active-state) .color-gray.button:not(.button-fill):active, -html:not(.watch-active-state) .color-gray.buttons-row .button:active, -.color-gray.button:not(.button-fill).active-state, -.color-gray.buttons-row .button.active-state { - background-color: rgba(142, 142, 147, 0.15); -} -.color-gray.button:not(.button-fill).active, -.color-gray.buttons-row .button.active { - background-color: #8e8e93; - color: #fff; -} -.button.button-fill.color-gray { - background: #8e8e93; - color: #fff; -} -.progressbar.color-gray span, -.progressbar.bg-gray span { - background-color: #8e8e93; -} -.progressbar-infinite.color-gray:before, -.progressbar-infinite.bg-gray:before { - background-color: #8e8e93; -} -.color-gray i.icon, -i.icon.color-gray { - color: #8e8e93; -} -.preloader.color-gray, -.preloader.preloader-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%238e8e93'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-gray, -.button.button-fill.bg-gray, -a.bg-gray, -.list-block .swipeout-actions-left a.bg-gray, -.list-block .swipeout-actions-right a.bg-gray { - background-color: #8e8e93; -} -.border-gray { - border-color: #8e8e93; -} -.list-block .border-gray.item-inner:after, -.list-block ul.border-gray:after, -.border-gray:after, -.list-block .border-gray.item-inner:before, -.list-block ul.border-gray:before, -.border-gray:before { - background-color: #8e8e93; -} -.floating-button.color-gray, -.speed-dial-buttons a.color-gray, -.floating-button.bg-gray, -.speed-dial-buttons a.bg-gray { - color: #fff; - background: #8e8e93; -} -html:not(.watch-active-state) .floating-button.color-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-gray:active, -html:not(.watch-active-state) .floating-button.bg-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-gray:active, -.floating-button.color-gray.active-state, -.speed-dial-buttons a.color-gray.active-state, -.floating-button.bg-gray.active-state, -.speed-dial-buttons a.bg-gray.active-state { - background: #79797f; -} -.floating-button.color-gray i, -.speed-dial-buttons a.color-gray i, -.floating-button.bg-gray i, -.speed-dial-buttons a.bg-gray i { - color: inherit; -} -.range-slider.color-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #8e8e93; -} -.range-slider.color-gray input[type="range"]::-ms-fill-lower { - background-color: #8e8e93; -} -.badge.color-gray { - background-color: #8e8e93; - color: #fff; -} -.color-white { - color: #ffffff; -} -.list-block .item-link.list-button.color-white, -.tabbar a.active.color-white, -a.color-white { - color: #ffffff; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-white, -.label-switch.color-white input[type="checkbox"]:checked + .checkbox { - background-color: #ffffff; -} -.color-white.button:not(.button-fill), -.color-white.buttons-row .button { - border-color: #ffffff; -} -html:not(.watch-active-state) .color-white.button:not(.button-fill):active, -html:not(.watch-active-state) .color-white.buttons-row .button:active, -.color-white.button:not(.button-fill).active-state, -.color-white.buttons-row .button.active-state { - background-color: rgba(255, 255, 255, 0.15); -} -.color-white.button:not(.button-fill).active, -.color-white.buttons-row .button.active { - background-color: #ffffff; - color: #fff; -} -.button.button-fill.color-white { - background: #ffffff; - color: #fff; -} -.progressbar.color-white span, -.progressbar.bg-white span { - background-color: #ffffff; -} -.progressbar-infinite.color-white:before, -.progressbar-infinite.bg-white:before { - background-color: #ffffff; -} -.color-white i.icon, -i.icon.color-white { - color: #ffffff; -} -.preloader.color-white, -.preloader.preloader-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ffffff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-white, -.button.button-fill.bg-white, -a.bg-white, -.list-block .swipeout-actions-left a.bg-white, -.list-block .swipeout-actions-right a.bg-white { - background-color: #ffffff; -} -.border-white { - border-color: #ffffff; -} -.list-block .border-white.item-inner:after, -.list-block ul.border-white:after, -.border-white:after, -.list-block .border-white.item-inner:before, -.list-block ul.border-white:before, -.border-white:before { - background-color: #ffffff; -} -.floating-button.color-white, -.speed-dial-buttons a.color-white, -.floating-button.bg-white, -.speed-dial-buttons a.bg-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .floating-button.color-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-white:active, -html:not(.watch-active-state) .floating-button.bg-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-white:active, -.floating-button.color-white.active-state, -.speed-dial-buttons a.color-white.active-state, -.floating-button.bg-white.active-state, -.speed-dial-buttons a.bg-white.active-state { - background: #ebebeb; -} -.floating-button.color-white i, -.speed-dial-buttons a.color-white i, -.floating-button.bg-white i, -.speed-dial-buttons a.bg-white i { - color: inherit; -} -.range-slider.color-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.badge.color-white { - background-color: #ffffff; - color: #fff; -} -.color-black { - color: #000000; -} -.list-block .item-link.list-button.color-black, -.tabbar a.active.color-black, -a.color-black { - color: #000000; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-black, -.label-switch.color-black input[type="checkbox"]:checked + .checkbox { - background-color: #000000; -} -.color-black.button:not(.button-fill), -.color-black.buttons-row .button { - border-color: #000000; -} -html:not(.watch-active-state) .color-black.button:not(.button-fill):active, -html:not(.watch-active-state) .color-black.buttons-row .button:active, -.color-black.button:not(.button-fill).active-state, -.color-black.buttons-row .button.active-state { - background-color: rgba(0, 0, 0, 0.15); -} -.color-black.button:not(.button-fill).active, -.color-black.buttons-row .button.active { - background-color: #000000; - color: #fff; -} -.button.button-fill.color-black { - background: #000000; - color: #fff; -} -.progressbar.color-black span, -.progressbar.bg-black span { - background-color: #000000; -} -.progressbar-infinite.color-black:before, -.progressbar-infinite.bg-black:before { - background-color: #000000; -} -.color-black i.icon, -i.icon.color-black { - color: #000000; -} -.preloader.color-black, -.preloader.preloader-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23000000'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-black, -.button.button-fill.bg-black, -a.bg-black, -.list-block .swipeout-actions-left a.bg-black, -.list-block .swipeout-actions-right a.bg-black { - background-color: #000000; -} -.border-black { - border-color: #000000; -} -.list-block .border-black.item-inner:after, -.list-block ul.border-black:after, -.border-black:after, -.list-block .border-black.item-inner:before, -.list-block ul.border-black:before, -.border-black:before { - background-color: #000000; -} -.floating-button.color-black, -.speed-dial-buttons a.color-black, -.floating-button.bg-black, -.speed-dial-buttons a.bg-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .floating-button.color-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-black:active, -html:not(.watch-active-state) .floating-button.bg-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-black:active, -.floating-button.color-black.active-state, -.speed-dial-buttons a.color-black.active-state, -.floating-button.bg-black.active-state, -.speed-dial-buttons a.bg-black.active-state { - background: #000000; -} -.floating-button.color-black i, -.speed-dial-buttons a.color-black i, -.floating-button.bg-black i, -.speed-dial-buttons a.bg-black i { - color: inherit; -} -.range-slider.color-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.badge.color-black { - background-color: #000000; - color: #fff; -} -.color-lightblue { - color: #5ac8fa; -} -.list-block .item-link.list-button.color-lightblue, -.tabbar a.active.color-lightblue, -a.color-lightblue { - color: #5ac8fa; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lightblue, -.label-switch.color-lightblue input[type="checkbox"]:checked + .checkbox { - background-color: #5ac8fa; -} -.color-lightblue.button:not(.button-fill), -.color-lightblue.buttons-row .button { - border-color: #5ac8fa; -} -html:not(.watch-active-state) .color-lightblue.button:not(.button-fill):active, -html:not(.watch-active-state) .color-lightblue.buttons-row .button:active, -.color-lightblue.button:not(.button-fill).active-state, -.color-lightblue.buttons-row .button.active-state { - background-color: rgba(90, 200, 250, 0.15); -} -.color-lightblue.button:not(.button-fill).active, -.color-lightblue.buttons-row .button.active { - background-color: #5ac8fa; - color: #fff; -} -.button.button-fill.color-lightblue { - background: #5ac8fa; - color: #fff; -} -.progressbar.color-lightblue span, -.progressbar.bg-lightblue span { - background-color: #5ac8fa; -} -.progressbar-infinite.color-lightblue:before, -.progressbar-infinite.bg-lightblue:before { - background-color: #5ac8fa; -} -.color-lightblue i.icon, -i.icon.color-lightblue { - color: #5ac8fa; -} -.preloader.color-lightblue, -.preloader.preloader-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%235ac8fa'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-lightblue, -.button.button-fill.bg-lightblue, -a.bg-lightblue, -.list-block .swipeout-actions-left a.bg-lightblue, -.list-block .swipeout-actions-right a.bg-lightblue { - background-color: #5ac8fa; -} -.border-lightblue { - border-color: #5ac8fa; -} -.list-block .border-lightblue.item-inner:after, -.list-block ul.border-lightblue:after, -.border-lightblue:after, -.list-block .border-lightblue.item-inner:before, -.list-block ul.border-lightblue:before, -.border-lightblue:before { - background-color: #5ac8fa; -} -.floating-button.color-lightblue, -.speed-dial-buttons a.color-lightblue, -.floating-button.bg-lightblue, -.speed-dial-buttons a.bg-lightblue { - color: #fff; - background: #5ac8fa; -} -html:not(.watch-active-state) .floating-button.color-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lightblue:active, -html:not(.watch-active-state) .floating-button.bg-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lightblue:active, -.floating-button.color-lightblue.active-state, -.speed-dial-buttons a.color-lightblue.active-state, -.floating-button.bg-lightblue.active-state, -.speed-dial-buttons a.bg-lightblue.active-state { - background: #32bbf9; -} -.floating-button.color-lightblue i, -.speed-dial-buttons a.color-lightblue i, -.floating-button.bg-lightblue i, -.speed-dial-buttons a.bg-lightblue i { - color: inherit; -} -.range-slider.color-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #5ac8fa; -} -.range-slider.color-lightblue input[type="range"]::-ms-fill-lower { - background-color: #5ac8fa; -} -.badge.color-lightblue { - background-color: #5ac8fa; - color: #fff; -} -.color-yellow { - color: #ffcc00; -} -.list-block .item-link.list-button.color-yellow, -.tabbar a.active.color-yellow, -a.color-yellow { - color: #ffcc00; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-yellow, -.label-switch.color-yellow input[type="checkbox"]:checked + .checkbox { - background-color: #ffcc00; -} -.color-yellow.button:not(.button-fill), -.color-yellow.buttons-row .button { - border-color: #ffcc00; -} -html:not(.watch-active-state) .color-yellow.button:not(.button-fill):active, -html:not(.watch-active-state) .color-yellow.buttons-row .button:active, -.color-yellow.button:not(.button-fill).active-state, -.color-yellow.buttons-row .button.active-state { - background-color: rgba(255, 204, 0, 0.15); -} -.color-yellow.button:not(.button-fill).active, -.color-yellow.buttons-row .button.active { - background-color: #ffcc00; - color: #fff; -} -.button.button-fill.color-yellow { - background: #ffcc00; - color: #fff; -} -.progressbar.color-yellow span, -.progressbar.bg-yellow span { - background-color: #ffcc00; -} -.progressbar-infinite.color-yellow:before, -.progressbar-infinite.bg-yellow:before { - background-color: #ffcc00; -} -.color-yellow i.icon, -i.icon.color-yellow { - color: #ffcc00; -} -.preloader.color-yellow, -.preloader.preloader-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ffcc00'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-yellow, -.button.button-fill.bg-yellow, -a.bg-yellow, -.list-block .swipeout-actions-left a.bg-yellow, -.list-block .swipeout-actions-right a.bg-yellow { - background-color: #ffcc00; -} -.border-yellow { - border-color: #ffcc00; -} -.list-block .border-yellow.item-inner:after, -.list-block ul.border-yellow:after, -.border-yellow:after, -.list-block .border-yellow.item-inner:before, -.list-block ul.border-yellow:before, -.border-yellow:before { - background-color: #ffcc00; -} -.floating-button.color-yellow, -.speed-dial-buttons a.color-yellow, -.floating-button.bg-yellow, -.speed-dial-buttons a.bg-yellow { - color: #fff; - background: #ffcc00; -} -html:not(.watch-active-state) .floating-button.color-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-yellow:active, -html:not(.watch-active-state) .floating-button.bg-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-yellow:active, -.floating-button.color-yellow.active-state, -.speed-dial-buttons a.color-yellow.active-state, -.floating-button.bg-yellow.active-state, -.speed-dial-buttons a.bg-yellow.active-state { - background: #d6ab00; -} -.floating-button.color-yellow i, -.speed-dial-buttons a.color-yellow i, -.floating-button.bg-yellow i, -.speed-dial-buttons a.bg-yellow i { - color: inherit; -} -.range-slider.color-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffcc00; -} -.range-slider.color-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffcc00; -} -.badge.color-yellow { - background-color: #ffcc00; - color: #fff; -} -.color-orange { - color: #ff9500; -} -.list-block .item-link.list-button.color-orange, -.tabbar a.active.color-orange, -a.color-orange { - color: #ff9500; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-orange, -.label-switch.color-orange input[type="checkbox"]:checked + .checkbox { - background-color: #ff9500; -} -.color-orange.button:not(.button-fill), -.color-orange.buttons-row .button { - border-color: #ff9500; -} -html:not(.watch-active-state) .color-orange.button:not(.button-fill):active, -html:not(.watch-active-state) .color-orange.buttons-row .button:active, -.color-orange.button:not(.button-fill).active-state, -.color-orange.buttons-row .button.active-state { - background-color: rgba(255, 149, 0, 0.15); -} -.color-orange.button:not(.button-fill).active, -.color-orange.buttons-row .button.active { - background-color: #ff9500; - color: #fff; -} -.button.button-fill.color-orange { - background: #ff9500; - color: #fff; -} -.progressbar.color-orange span, -.progressbar.bg-orange span { - background-color: #ff9500; -} -.progressbar-infinite.color-orange:before, -.progressbar-infinite.bg-orange:before { - background-color: #ff9500; -} -.color-orange i.icon, -i.icon.color-orange { - color: #ff9500; -} -.preloader.color-orange, -.preloader.preloader-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff9500'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-orange, -.button.button-fill.bg-orange, -a.bg-orange, -.list-block .swipeout-actions-left a.bg-orange, -.list-block .swipeout-actions-right a.bg-orange { - background-color: #ff9500; -} -.border-orange { - border-color: #ff9500; -} -.list-block .border-orange.item-inner:after, -.list-block ul.border-orange:after, -.border-orange:after, -.list-block .border-orange.item-inner:before, -.list-block ul.border-orange:before, -.border-orange:before { - background-color: #ff9500; -} -.floating-button.color-orange, -.speed-dial-buttons a.color-orange, -.floating-button.bg-orange, -.speed-dial-buttons a.bg-orange { - color: #fff; - background: #ff9500; -} -html:not(.watch-active-state) .floating-button.color-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-orange:active, -html:not(.watch-active-state) .floating-button.bg-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-orange:active, -.floating-button.color-orange.active-state, -.speed-dial-buttons a.color-orange.active-state, -.floating-button.bg-orange.active-state, -.speed-dial-buttons a.bg-orange.active-state { - background: #d67d00; -} -.floating-button.color-orange i, -.speed-dial-buttons a.color-orange i, -.floating-button.bg-orange i, -.speed-dial-buttons a.bg-orange i { - color: inherit; -} -.range-slider.color-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9500; -} -.range-slider.color-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9500; -} -.badge.color-orange { - background-color: #ff9500; - color: #fff; -} -.color-pink { - color: #ff2d55; -} -.list-block .item-link.list-button.color-pink, -.tabbar a.active.color-pink, -a.color-pink { - color: #ff2d55; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-pink, -.label-switch.color-pink input[type="checkbox"]:checked + .checkbox { - background-color: #ff2d55; -} -.color-pink.button:not(.button-fill), -.color-pink.buttons-row .button { - border-color: #ff2d55; -} -html:not(.watch-active-state) .color-pink.button:not(.button-fill):active, -html:not(.watch-active-state) .color-pink.buttons-row .button:active, -.color-pink.button:not(.button-fill).active-state, -.color-pink.buttons-row .button.active-state { - background-color: rgba(255, 45, 85, 0.15); -} -.color-pink.button:not(.button-fill).active, -.color-pink.buttons-row .button.active { - background-color: #ff2d55; - color: #fff; -} -.button.button-fill.color-pink { - background: #ff2d55; - color: #fff; -} -.progressbar.color-pink span, -.progressbar.bg-pink span { - background-color: #ff2d55; -} -.progressbar-infinite.color-pink:before, -.progressbar-infinite.bg-pink:before { - background-color: #ff2d55; -} -.color-pink i.icon, -i.icon.color-pink { - color: #ff2d55; -} -.preloader.color-pink, -.preloader.preloader-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff2d55'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-pink, -.button.button-fill.bg-pink, -a.bg-pink, -.list-block .swipeout-actions-left a.bg-pink, -.list-block .swipeout-actions-right a.bg-pink { - background-color: #ff2d55; -} -.border-pink { - border-color: #ff2d55; -} -.list-block .border-pink.item-inner:after, -.list-block ul.border-pink:after, -.border-pink:after, -.list-block .border-pink.item-inner:before, -.list-block ul.border-pink:before, -.border-pink:before { - background-color: #ff2d55; -} -.floating-button.color-pink, -.speed-dial-buttons a.color-pink, -.floating-button.bg-pink, -.speed-dial-buttons a.bg-pink { - color: #fff; - background: #ff2d55; -} -html:not(.watch-active-state) .floating-button.color-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-pink:active, -html:not(.watch-active-state) .floating-button.bg-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-pink:active, -.floating-button.color-pink.active-state, -.speed-dial-buttons a.color-pink.active-state, -.floating-button.bg-pink.active-state, -.speed-dial-buttons a.bg-pink.active-state { - background: #ff0434; -} -.floating-button.color-pink i, -.speed-dial-buttons a.color-pink i, -.floating-button.bg-pink i, -.speed-dial-buttons a.bg-pink i { - color: inherit; -} -.range-slider.color-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff2d55; -} -.range-slider.color-pink input[type="range"]::-ms-fill-lower { - background-color: #ff2d55; -} -.badge.color-pink { - background-color: #ff2d55; - color: #fff; -} -.color-blue { - color: #007aff; -} -.list-block .item-link.list-button.color-blue, -.tabbar a.active.color-blue, -a.color-blue { - color: #007aff; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-blue, -.label-switch.color-blue input[type="checkbox"]:checked + .checkbox { - background-color: #007aff; -} -.color-blue.button:not(.button-fill), -.color-blue.buttons-row .button { - border-color: #007aff; -} -html:not(.watch-active-state) .color-blue.button:not(.button-fill):active, -html:not(.watch-active-state) .color-blue.buttons-row .button:active, -.color-blue.button:not(.button-fill).active-state, -.color-blue.buttons-row .button.active-state { - background-color: rgba(0, 122, 255, 0.15); -} -.color-blue.button:not(.button-fill).active, -.color-blue.buttons-row .button.active { - background-color: #007aff; - color: #fff; -} -.button.button-fill.color-blue { - background: #007aff; - color: #fff; -} -.progressbar.color-blue span, -.progressbar.bg-blue span { - background-color: #007aff; -} -.progressbar-infinite.color-blue:before, -.progressbar-infinite.bg-blue:before { - background-color: #007aff; -} -.color-blue i.icon, -i.icon.color-blue { - color: #007aff; -} -.preloader.color-blue, -.preloader.preloader-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23007aff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-blue, -.button.button-fill.bg-blue, -a.bg-blue, -.list-block .swipeout-actions-left a.bg-blue, -.list-block .swipeout-actions-right a.bg-blue { - background-color: #007aff; -} -.border-blue { - border-color: #007aff; -} -.list-block .border-blue.item-inner:after, -.list-block ul.border-blue:after, -.border-blue:after, -.list-block .border-blue.item-inner:before, -.list-block ul.border-blue:before, -.border-blue:before { - background-color: #007aff; -} -.floating-button.color-blue, -.speed-dial-buttons a.color-blue, -.floating-button.bg-blue, -.speed-dial-buttons a.bg-blue { - color: #fff; - background: #007aff; -} -html:not(.watch-active-state) .floating-button.color-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-blue:active, -html:not(.watch-active-state) .floating-button.bg-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-blue:active, -.floating-button.color-blue.active-state, -.speed-dial-buttons a.color-blue.active-state, -.floating-button.bg-blue.active-state, -.speed-dial-buttons a.bg-blue.active-state { - background: #0066d6; -} -.floating-button.color-blue i, -.speed-dial-buttons a.color-blue i, -.floating-button.bg-blue i, -.speed-dial-buttons a.bg-blue i { - color: inherit; -} -.range-slider.color-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #007aff; -} -.range-slider.color-blue input[type="range"]::-ms-fill-lower { - background-color: #007aff; -} -.badge.color-blue { - background-color: #007aff; - color: #fff; -} -.color-green { - color: #4cd964; -} -.list-block .item-link.list-button.color-green, -.tabbar a.active.color-green, -a.color-green { - color: #4cd964; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-green, -.label-switch.color-green input[type="checkbox"]:checked + .checkbox { - background-color: #4cd964; -} -.color-green.button:not(.button-fill), -.color-green.buttons-row .button { - border-color: #4cd964; -} -html:not(.watch-active-state) .color-green.button:not(.button-fill):active, -html:not(.watch-active-state) .color-green.buttons-row .button:active, -.color-green.button:not(.button-fill).active-state, -.color-green.buttons-row .button.active-state { - background-color: rgba(76, 217, 100, 0.15); -} -.color-green.button:not(.button-fill).active, -.color-green.buttons-row .button.active { - background-color: #4cd964; - color: #fff; -} -.button.button-fill.color-green { - background: #4cd964; - color: #fff; -} -.progressbar.color-green span, -.progressbar.bg-green span { - background-color: #4cd964; -} -.progressbar-infinite.color-green:before, -.progressbar-infinite.bg-green:before { - background-color: #4cd964; -} -.color-green i.icon, -i.icon.color-green { - color: #4cd964; -} -.preloader.color-green, -.preloader.preloader-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%234cd964'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-green, -.button.button-fill.bg-green, -a.bg-green, -.list-block .swipeout-actions-left a.bg-green, -.list-block .swipeout-actions-right a.bg-green { - background-color: #4cd964; -} -.border-green { - border-color: #4cd964; -} -.list-block .border-green.item-inner:after, -.list-block ul.border-green:after, -.border-green:after, -.list-block .border-green.item-inner:before, -.list-block ul.border-green:before, -.border-green:before { - background-color: #4cd964; -} -.floating-button.color-green, -.speed-dial-buttons a.color-green, -.floating-button.bg-green, -.speed-dial-buttons a.bg-green { - color: #fff; - background: #4cd964; -} -html:not(.watch-active-state) .floating-button.color-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-green:active, -html:not(.watch-active-state) .floating-button.bg-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-green:active, -.floating-button.color-green.active-state, -.speed-dial-buttons a.color-green.active-state, -.floating-button.bg-green.active-state, -.speed-dial-buttons a.bg-green.active-state { - background: #2cd048; -} -.floating-button.color-green i, -.speed-dial-buttons a.color-green i, -.floating-button.bg-green i, -.speed-dial-buttons a.bg-green i { - color: inherit; -} -.range-slider.color-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4cd964; -} -.range-slider.color-green input[type="range"]::-ms-fill-lower { - background-color: #4cd964; -} -.badge.color-green { - background-color: #4cd964; - color: #fff; -} -.color-red { - color: #ff3b30; -} -.list-block .item-link.list-button.color-red, -.tabbar a.active.color-red, -a.color-red { - color: #ff3b30; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-red, -.label-switch.color-red input[type="checkbox"]:checked + .checkbox { - background-color: #ff3b30; -} -.color-red.button:not(.button-fill), -.color-red.buttons-row .button { - border-color: #ff3b30; -} -html:not(.watch-active-state) .color-red.button:not(.button-fill):active, -html:not(.watch-active-state) .color-red.buttons-row .button:active, -.color-red.button:not(.button-fill).active-state, -.color-red.buttons-row .button.active-state { - background-color: rgba(255, 59, 48, 0.15); -} -.color-red.button:not(.button-fill).active, -.color-red.buttons-row .button.active { - background-color: #ff3b30; - color: #fff; -} -.button.button-fill.color-red { - background: #ff3b30; - color: #fff; -} -.progressbar.color-red span, -.progressbar.bg-red span { - background-color: #ff3b30; -} -.progressbar-infinite.color-red:before, -.progressbar-infinite.bg-red:before { - background-color: #ff3b30; -} -.color-red i.icon, -i.icon.color-red { - color: #ff3b30; -} -.preloader.color-red, -.preloader.preloader-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23ff3b30'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -.bg-red, -.button.button-fill.bg-red, -a.bg-red, -.list-block .swipeout-actions-left a.bg-red, -.list-block .swipeout-actions-right a.bg-red { - background-color: #ff3b30; -} -.border-red { - border-color: #ff3b30; -} -.list-block .border-red.item-inner:after, -.list-block ul.border-red:after, -.border-red:after, -.list-block .border-red.item-inner:before, -.list-block ul.border-red:before, -.border-red:before { - background-color: #ff3b30; -} -.floating-button.color-red, -.speed-dial-buttons a.color-red, -.floating-button.bg-red, -.speed-dial-buttons a.bg-red { - color: #fff; - background: #ff3b30; -} -html:not(.watch-active-state) .floating-button.color-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-red:active, -html:not(.watch-active-state) .floating-button.bg-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-red:active, -.floating-button.color-red.active-state, -.speed-dial-buttons a.color-red.active-state, -.floating-button.bg-red.active-state, -.speed-dial-buttons a.bg-red.active-state { - background: #ff1407; -} -.floating-button.color-red i, -.speed-dial-buttons a.color-red i, -.floating-button.bg-red i, -.speed-dial-buttons a.bg-red i { - color: inherit; -} -.range-slider.color-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff3b30; -} -.range-slider.color-red input[type="range"]::-ms-fill-lower { - background-color: #ff3b30; -} -.badge.color-red { - background-color: #ff3b30; - color: #fff; -} -/*========================== -Framework7 Layouts Themes -==========================*/ -/* === Dark layout === */ -.layout-dark .navbar, -.navbar.layout-dark, -.layout-dark .subnavbar, -.subnavbar.layout-dark { - background-color: #131313; - color: #fff; -} -.layout-dark .navbar:after, -.navbar.layout-dark:after, -.layout-dark .subnavbar:after, -.subnavbar.layout-dark:after { - background-color: #333; -} -.layout-dark .toolbar, -.toolbar.layout-dark { - background-color: #131313; - color: #fff; -} -.layout-dark .toolbar:before, -.toolbar.layout-dark:before { - background-color: #333; -} -.layout-dark .picker-modal .toolbar { - background-color: #131313; -} -.layout-dark .popover .picker-modal .toolbar { - background: none; -} -.layout-dark .picker-calendar-week-days { - color: #fff; - background-color: #131313; -} -.layout-dark .popover .picker-modal .picker-center-highlight:before, -.layout-dark .picker-modal.picker-modal-inline .picker-center-highlight:before { - background-color: #333; -} -.layout-dark .popover .picker-modal .picker-center-highlight:after, -.layout-dark .picker-modal.picker-modal-inline .picker-center-highlight:after { - background-color: #333; -} -.layout-dark .popover .picker-modal .picker-item.picker-selected, -.layout-dark .picker-modal.picker-modal-inline .picker-item.picker-selected { - color: #fff; -} -.layout-dark .popover .picker-modal .picker-calendar-week-days, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days { - color: #fff; -} -.layout-dark .popover .picker-modal .picker-calendar-day, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day { - color: #fff; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-prev, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-prev, -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-next, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-next { - color: #777; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-disabled, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-disabled { - color: #555; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-today span, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-today span { - background: #333; -} -.layout-dark .popover .picker-modal .picker-calendar-day.picker-calendar-day-has-events span:after, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-day.picker-calendar-day-has-events span:after { - background: #555; -} -.layout-dark .popover .picker-modal .picker-calendar-week-days:after, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days:after, -.layout-dark .popover .picker-modal .picker-calendar-row:after, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-row:after { - background-color: #333; -} -.layout-dark .popover .picker-modal .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-dark .picker-modal.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-dark .popover .picker-modal .picker-calendar-week-days ~ .picker-calendar-months:before, -.layout-dark .picker-modal.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - background-color: #333; -} -.layout-dark .popover .picker-modal .toolbar:after { - background-color: #333; -} -.layout-dark .photo-browser .navbar, -.layout-dark .views .view[data-page="photo-browser-slides"] .navbar, -.layout-dark .photo-browser .toolbar, -.layout-dark .views .view[data-page="photo-browser-slides"] .toolbar { - color: #000; - background: rgba(247, 247, 247, 0.95); -} -.layout-dark .photo-browser-dark .navbar, -.layout-dark .photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.layout-dark .tabbar a:not(.active) { - color: #fff; -} -.layout-dark .page, -.layout-dark .login-screen-content, -.page.layout-dark, -.layout-dark .panel, -.panel.layout-dark { - background-color: #222426; - color: #ddd; -} -.layout-dark .content-block-title { - color: #fff; -} -.layout-dark .content-block, -.content-block.layout-dark { - color: #bbb; -} -.layout-dark .content-block-inner { - background: #1c1d1f; - color: #ddd; -} -.layout-dark .content-block-inner:before { - background-color: #393939; -} -.layout-dark .content-block-inner:after { - background-color: #393939; -} -.layout-dark .list-block ul, -.list-block.layout-dark ul { - background: #1c1d1f; -} -.layout-dark .list-block ul:before, -.list-block.layout-dark ul:before { - background-color: #393939; -} -.layout-dark .list-block ul:after, -.list-block.layout-dark ul:after { - background-color: #393939; -} -.layout-dark .list-block.inset ul, -.list-block.layout-dark.inset ul { - background: #1c1d1f; -} -.layout-dark .list-block.notifications > ul, -.list-block.layout-dark.notifications > ul { - background: none; -} -.layout-dark .autocomplete-dropdown { - background: #1c1d1f; -} -.layout-dark .autocomplete-dropdown .list-block b { - color: #fff; -} -.layout-dark .card { - background: #1c1d1f; -} -.layout-dark .card-header:after { - background-color: #393939; -} -.layout-dark .card-footer { - color: #bbb; -} -.layout-dark .card-footer:before { - background-color: #393939; -} -.layout-dark .popover, -.popover.layout-dark { - background: rgba(0, 0, 0, 0.8); -} -.layout-dark .popover .popover-angle:after, -.popover.layout-dark .popover-angle:after { - background: rgba(0, 0, 0, 0.8); -} -.layout-dark .popover .list-block ul, -.popover.layout-dark .list-block ul { - background: none; -} -.layout-dark .actions-popover .list-block ul:before { - background-color: #393939; -} -.layout-dark .actions-popover .list-block ul:after { - background-color: #393939; -} -.layout-dark .actions-popover .actions-popover-label:after { - background-color: #393939; -} -.layout-dark li.sorting { - background-color: #29292f; -} -.layout-dark .swipeout-actions-left a, -.layout-dark .swipeout-actions-right a { - background-color: #444; -} -.layout-dark .item-inner:after, -.layout-dark .list-block ul ul li:last-child .item-inner:after { - background-color: #393939; -} -.layout-dark .item-after { - color: #bbb; -} -html:not(.watch-active-state) .layout-dark .item-link:active, -html:not(.watch-active-state) .layout-dark label.label-checkbox:active, -html:not(.watch-active-state) .layout-dark label.label-radio:active, -.layout-dark .item-link.active-state, -.layout-dark label.label-checkbox.active-state, -.layout-dark label.label-radio.active-state { - background-color: #29292f; -} -.layout-dark .item-link.list-button:after { - background-color: #393939; -} -.layout-dark .list-block-label { - color: #bbb; -} -.layout-dark .item-divider, -.layout-dark .list-group-title { - background: #1a1a1a; - color: #bbb; -} -.layout-dark .item-divider:before, -.layout-dark .list-group-title:before { - background-color: #393939; -} -.layout-dark .searchbar { - background: #333; -} -.layout-dark .searchbar:after { - background-color: #333; -} -.layout-dark .list-block input[type="text"], -.list-block.layout-dark input[type="text"], -.layout-dark .list-block input[type="password"], -.list-block.layout-dark input[type="password"], -.layout-dark .list-block input[type="email"], -.list-block.layout-dark input[type="email"], -.layout-dark .list-block input[type="tel"], -.list-block.layout-dark input[type="tel"], -.layout-dark .list-block input[type="url"], -.list-block.layout-dark input[type="url"], -.layout-dark .list-block input[type="date"], -.list-block.layout-dark input[type="date"], -.layout-dark .list-block input[type="datetime-local"], -.list-block.layout-dark input[type="datetime-local"], -.layout-dark .list-block input[type="number"], -.list-block.layout-dark input[type="number"], -.layout-dark .list-block select, -.list-block.layout-dark select, -.layout-dark .list-block textarea, -.list-block.layout-dark textarea { - color: #fff; -} -.layout-dark .label-switch .checkbox { - background-color: #393939; -} -.layout-dark .label-switch .checkbox:before { - background-color: #1c1d1f; -} -.layout-dark .range-slider input[type="range"]:after { - background: #1c1d1f; -} -.layout-dark .range-slider input[type="range"]::-ms-thumb { - border: none; -} -/* === White layout === */ -.layout-white .navbar, -.navbar.layout-white, -.layout-white .subnavbar, -.subnavbar.layout-white { - background-color: #fff; - color: #000; -} -.layout-white .navbar:after, -.navbar.layout-white:after, -.layout-white .subnavbar:after, -.subnavbar.layout-white:after { - background-color: #ddd; -} -.layout-white .toolbar, -.toolbar.layout-white { - background-color: #fff; - color: #000; -} -.layout-white .toolbar:before, -.toolbar.layout-white:before { - background-color: #ddd; -} -.layout-white .picker-modal .toolbar { - background-color: #fff; -} -.layout-white .popover .picker-modal .toolbar { - background: none; -} -.layout-white .popover .picker-modal .picker-center-highlight:before, -.layout-white .picker-modal.picker-modal-inline .picker-center-highlight:before { - background-color: #ddd; -} -.layout-white .popover .picker-modal .picker-center-highlight:after, -.layout-white .picker-modal.picker-modal-inline .picker-center-highlight:after { - background-color: #ddd; -} -.layout-white .popover .picker-modal .picker-calendar-week-days:after, -.layout-white .picker-modal.picker-modal-inline .picker-calendar-week-days:after, -.layout-white .popover .picker-modal .picker-calendar-row:after, -.layout-white .picker-modal.picker-modal-inline .picker-calendar-row:after { - background-color: #ddd; -} -.layout-white .popover .picker-modal .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-white .picker-modal.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.layout-white .popover .picker-modal .picker-calendar-week-days ~ .picker-calendar-months:before, -.layout-white .picker-modal.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - background-color: #ddd; -} -.layout-white .popover .picker-modal .toolbar:after { - background-color: #ddd; -} -.layout-white .photo-browser .navbar, -.layout-white .views .view[data-page="photo-browser-slides"] .navbar, -.layout-white .photo-browser .toolbar, -.layout-white .views .view[data-page="photo-browser-slides"] .toolbar { - color: #000; - background: rgba(247, 247, 247, 0.95); -} -.layout-white .photo-browser-dark .navbar, -.layout-white .photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.layout-white .tabbar a:not(.active) { - color: #777; -} -.layout-white .page, -.layout-white .login-screen-content, -.page.layout-white, -.layout-white .panel, -.panel.layout-white { - background-color: #fff; - color: #000; -} -.layout-white .content-block-title { - color: #777; -} -.layout-white .content-block, -.content-block.layout-white { - color: #777; -} -.layout-white .content-block-inner { - background: #fafafa; - color: #000; -} -.layout-white .content-block-inner:after { - background-color: #ddd; -} -.layout-white .content-block-inner:before { - background-color: #ddd; -} -.layout-white .list-block ul, -.list-block.layout-white ul { - background: #fff; -} -.layout-white .list-block ul:after, -.list-block.layout-white ul:after { - background-color: #ddd; -} -.layout-white .list-block ul:before, -.list-block.layout-white ul:before { - background-color: #ddd; -} -.layout-white .list-block.inset ul, -.list-block.layout-white.inset ul { - background: #fafafa; -} -.layout-white .list-block.notifications > ul, -.list-block.layout-white.notifications > ul { - background: none; -} -.layout-white .popover-inner > .list-block ul { - background: none; -} -.layout-white li.sorting { - background-color: #eee; -} -.layout-white .swipeout-actions-left a, -.layout-white .swipeout-actions-right a { - background-color: #c7c7cc; -} -.layout-white .item-inner, -.layout-white .list-block ul ul li:last-child .item-inner { - border-color: #ddd; -} -.layout-white .item-inner:after, -.layout-white .list-block ul ul li:last-child .item-inner:after { - background-color: #ddd; -} -.layout-white .item-after { - color: #8e8e93; -} -html:not(.watch-active-state) .layout-white .item-link:active, -html:not(.watch-active-state) .layout-white label.label-checkbox:active, -html:not(.watch-active-state) .layout-white label.label-radio:active, -.layout-white .item-link.active-state, -.layout-white label.label-checkbox.active-state, -.layout-white label.label-radio.active-state { - background-color: #eee; -} -.layout-white .item-link.list-button:after { - background-color: #ddd; -} -.layout-white .list-block-label { - color: #777; -} -.layout-white .item-divider, -.layout-white .list-group-title { - background: #f7f7f7; - color: #777; -} -.layout-white .item-divider:before, -.layout-white .list-group-title:before { - background-color: #ddd; -} -.layout-white .searchbar { - background: #c9c9ce; -} -.layout-white .searchbar:after { - background-color: #b4b4b4; -} -.layout-white .list-block input[type="text"], -.list-block.layout-white input[type="text"], -.layout-white .list-block input[type="password"], -.list-block.layout-white input[type="password"], -.layout-white .list-block input[type="email"], -.list-block.layout-white input[type="email"], -.layout-white .list-block input[type="tel"], -.list-block.layout-white input[type="tel"], -.layout-white .list-block input[type="url"], -.list-block.layout-white input[type="url"], -.layout-white .list-block input[type="date"], -.list-block.layout-white input[type="date"], -.layout-white .list-block input[type="datetime-local"], -.list-block.layout-white input[type="datetime-local"], -.layout-white .list-block input[type="number"], -.list-block.layout-white input[type="number"], -.layout-white .list-block select, -.list-block.layout-white select, -.layout-white .list-block textarea, -.list-block.layout-white textarea { - color: #777; -} -.layout-white .label-switch .checkbox { - background-color: #e5e5e5; -} -.layout-white .label-switch .checkbox:before { - background-color: #fff; -} -.layout-white .range-slider input[type="range"]:after { - background: #fff; -} diff --git a/vendor/framework7/src/less/css/framework7.ios.css b/vendor/framework7/src/less/css/framework7.ios.css deleted file mode 100644 index 2e613435d..000000000 --- a/vendor/framework7/src/less/css/framework7.ios.css +++ /dev/null @@ -1,7070 +0,0 @@ -html, -body, -.framework7-root { - position: relative; - height: 100%; - width: 100%; - overflow-x: hidden; -} -body { - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; - color: #000; - font-size: 14px; - line-height: 1.4; - width: 100%; - -webkit-text-size-adjust: 100%; - background: #fff; - overflow: hidden; -} -.framework7-root { - overflow: hidden; -} -@media all and (width: 1024px) and (height: 691px) and (orientation: landscape) { - html, - body, - .framework7-root { - height: 671px; - } -} -@media all and (width: 1024px) and (height: 692px) and (orientation: landscape) { - html, - body, - .framework7-root { - height: 672px; - } -} -* { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-touch-callout: none; -} -a, -input, -textarea, -select { - outline: 0; -} -a { - text-decoration: none; - color: #007aff; -} -p { - margin: 1em 0; -} -/* === Grid === */ -.row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.row > [class*="col-"] { - box-sizing: border-box; -} -.row .col-auto { - width: 100%; -} -.row .col-100 { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); -} -.row.no-gutter .col-100 { - width: 100%; -} -.row .col-95 { - width: 95%; - width: -webkit-calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); -} -.row.no-gutter .col-95 { - width: 95%; -} -.row .col-90 { - width: 90%; - width: -webkit-calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); -} -.row.no-gutter .col-90 { - width: 90%; -} -.row .col-85 { - width: 85%; - width: -webkit-calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); -} -.row.no-gutter .col-85 { - width: 85%; -} -.row .col-80 { - width: 80%; - width: -webkit-calc((100% - 15px*0.25) / 1.25); - width: calc((100% - 15px*0.25) / 1.25); -} -.row.no-gutter .col-80 { - width: 80%; -} -.row .col-75 { - width: 75%; - width: -webkit-calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); -} -.row.no-gutter .col-75 { - width: 75%; -} -.row .col-70 { - width: 70%; - width: -webkit-calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); -} -.row.no-gutter .col-70 { - width: 70%; -} -.row .col-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); -} -.row.no-gutter .col-66 { - width: 66.66666666666666%; -} -.row .col-65 { - width: 65%; - width: -webkit-calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); -} -.row.no-gutter .col-65 { - width: 65%; -} -.row .col-60 { - width: 60%; - width: -webkit-calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); -} -.row.no-gutter .col-60 { - width: 60%; -} -.row .col-55 { - width: 55%; - width: -webkit-calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); -} -.row.no-gutter .col-55 { - width: 55%; -} -.row .col-50 { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); -} -.row.no-gutter .col-50 { - width: 50%; -} -.row .col-45 { - width: 45%; - width: -webkit-calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); -} -.row.no-gutter .col-45 { - width: 45%; -} -.row .col-40 { - width: 40%; - width: -webkit-calc((100% - 15px*1.5) / 2.5); - width: calc((100% - 15px*1.5) / 2.5); -} -.row.no-gutter .col-40 { - width: 40%; -} -.row .col-35 { - width: 35%; - width: -webkit-calc((100% - 15px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 15px*1.8571428571428572) / 2.857142857142857); -} -.row.no-gutter .col-35 { - width: 35%; -} -.row .col-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); -} -.row.no-gutter .col-33 { - width: 33.333333333333336%; -} -.row .col-30 { - width: 30%; - width: -webkit-calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); -} -.row.no-gutter .col-30 { - width: 30%; -} -.row .col-25 { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); -} -.row.no-gutter .col-25 { - width: 25%; -} -.row .col-20 { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); -} -.row.no-gutter .col-20 { - width: 20%; -} -.row .col-15 { - width: 15%; - width: -webkit-calc((100% - 15px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 15px*5.666666666666667) / 6.666666666666667); -} -.row.no-gutter .col-15 { - width: 15%; -} -.row .col-10 { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); -} -.row.no-gutter .col-10 { - width: 10%; -} -.row .col-5 { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); -} -.row.no-gutter .col-5 { - width: 5%; -} -.row .col-auto:nth-last-child(1), -.row .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); -} -.row.no-gutter .col-auto:nth-last-child(1), -.row.no-gutter .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; -} -.row .col-auto:nth-last-child(2), -.row .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); -} -.row.no-gutter .col-auto:nth-last-child(2), -.row.no-gutter .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; -} -.row .col-auto:nth-last-child(3), -.row .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); -} -.row.no-gutter .col-auto:nth-last-child(3), -.row.no-gutter .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; -} -.row .col-auto:nth-last-child(4), -.row .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); -} -.row.no-gutter .col-auto:nth-last-child(4), -.row.no-gutter .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; -} -.row .col-auto:nth-last-child(5), -.row .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); -} -.row.no-gutter .col-auto:nth-last-child(5), -.row.no-gutter .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; -} -.row .col-auto:nth-last-child(6), -.row .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 15px*5) / 6); - width: calc((100% - 15px*5) / 6); -} -.row.no-gutter .col-auto:nth-last-child(6), -.row.no-gutter .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; -} -.row .col-auto:nth-last-child(7), -.row .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 15px*6) / 7); - width: calc((100% - 15px*6) / 7); -} -.row.no-gutter .col-auto:nth-last-child(7), -.row.no-gutter .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; -} -.row .col-auto:nth-last-child(8), -.row .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 15px*7) / 8); - width: calc((100% - 15px*7) / 8); -} -.row.no-gutter .col-auto:nth-last-child(8), -.row.no-gutter .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; -} -.row .col-auto:nth-last-child(9), -.row .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 15px*8) / 9); - width: calc((100% - 15px*8) / 9); -} -.row.no-gutter .col-auto:nth-last-child(9), -.row.no-gutter .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; -} -.row .col-auto:nth-last-child(10), -.row .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); -} -.row.no-gutter .col-auto:nth-last-child(10), -.row.no-gutter .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; -} -.row .col-auto:nth-last-child(11), -.row .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 15px*10) / 11); - width: calc((100% - 15px*10) / 11); -} -.row.no-gutter .col-auto:nth-last-child(11), -.row.no-gutter .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; -} -.row .col-auto:nth-last-child(12), -.row .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 15px*11) / 12); - width: calc((100% - 15px*11) / 12); -} -.row.no-gutter .col-auto:nth-last-child(12), -.row.no-gutter .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; -} -.row .col-auto:nth-last-child(13), -.row .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 15px*12) / 13); - width: calc((100% - 15px*12) / 13); -} -.row.no-gutter .col-auto:nth-last-child(13), -.row.no-gutter .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; -} -.row .col-auto:nth-last-child(14), -.row .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 15px*13) / 14); - width: calc((100% - 15px*13) / 14); -} -.row.no-gutter .col-auto:nth-last-child(14), -.row.no-gutter .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; -} -.row .col-auto:nth-last-child(15), -.row .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 15px*14) / 15); - width: calc((100% - 15px*14) / 15); -} -.row.no-gutter .col-auto:nth-last-child(15), -.row.no-gutter .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; -} -.row .col-auto:nth-last-child(16), -.row .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 15px*15) / 16); - width: calc((100% - 15px*15) / 16); -} -.row.no-gutter .col-auto:nth-last-child(16), -.row.no-gutter .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; -} -.row .col-auto:nth-last-child(17), -.row .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 15px*16) / 17); - width: calc((100% - 15px*16) / 17); -} -.row.no-gutter .col-auto:nth-last-child(17), -.row.no-gutter .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; -} -.row .col-auto:nth-last-child(18), -.row .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 15px*17) / 18); - width: calc((100% - 15px*17) / 18); -} -.row.no-gutter .col-auto:nth-last-child(18), -.row.no-gutter .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; -} -.row .col-auto:nth-last-child(19), -.row .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 15px*18) / 19); - width: calc((100% - 15px*18) / 19); -} -.row.no-gutter .col-auto:nth-last-child(19), -.row.no-gutter .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; -} -.row .col-auto:nth-last-child(20), -.row .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); -} -.row.no-gutter .col-auto:nth-last-child(20), -.row.no-gutter .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; -} -.row .col-auto:nth-last-child(21), -.row .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 15px*20) / 21); - width: calc((100% - 15px*20) / 21); -} -.row.no-gutter .col-auto:nth-last-child(21), -.row.no-gutter .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; -} -@media all and (min-width: 768px) { - .row .tablet-100 { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); - } - .row.no-gutter .tablet-100 { - width: 100%; - } - .row .tablet-95 { - width: 95%; - width: -webkit-calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 15px*0.05263157894736836) / 1.0526315789473684); - } - .row.no-gutter .tablet-95 { - width: 95%; - } - .row .tablet-90 { - width: 90%; - width: -webkit-calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 15px*0.11111111111111116) / 1.1111111111111112); - } - .row.no-gutter .tablet-90 { - width: 90%; - } - .row .tablet-85 { - width: 85%; - width: -webkit-calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 15px*0.17647058823529416) / 1.1764705882352942); - } - .row.no-gutter .tablet-85 { - width: 85%; - } - .row .tablet-80 { - width: 80%; - width: -webkit-calc((100% - 15px*0.25) / 1.25); - width: calc((100% - 15px*0.25) / 1.25); - } - .row.no-gutter .tablet-80 { - width: 80%; - } - .row .tablet-75 { - width: 75%; - width: -webkit-calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 15px*0.33333333333333326) / 1.3333333333333333); - } - .row.no-gutter .tablet-75 { - width: 75%; - } - .row .tablet-70 { - width: 70%; - width: -webkit-calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 15px*0.4285714285714286) / 1.4285714285714286); - } - .row.no-gutter .tablet-70 { - width: 70%; - } - .row .tablet-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 15px*0.5000000000000002) / 1.5000000000000002); - } - .row.no-gutter .tablet-66 { - width: 66.66666666666666%; - } - .row .tablet-65 { - width: 65%; - width: -webkit-calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 15px*0.5384615384615385) / 1.5384615384615385); - } - .row.no-gutter .tablet-65 { - width: 65%; - } - .row .tablet-60 { - width: 60%; - width: -webkit-calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 15px*0.6666666666666667) / 1.6666666666666667); - } - .row.no-gutter .tablet-60 { - width: 60%; - } - .row .tablet-55 { - width: 55%; - width: -webkit-calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 15px*0.8181818181818181) / 1.8181818181818181); - } - .row.no-gutter .tablet-55 { - width: 55%; - } - .row .tablet-50 { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); - } - .row.no-gutter .tablet-50 { - width: 50%; - } - .row .tablet-45 { - width: 45%; - width: -webkit-calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 15px*1.2222222222222223) / 2.2222222222222223); - } - .row.no-gutter .tablet-45 { - width: 45%; - } - .row .tablet-40 { - width: 40%; - width: -webkit-calc((100% - 15px*1.5) / 2.5); - width: calc((100% - 15px*1.5) / 2.5); - } - .row.no-gutter .tablet-40 { - width: 40%; - } - .row .tablet-35 { - width: 35%; - width: -webkit-calc((100% - 15px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 15px*1.8571428571428572) / 2.857142857142857); - } - .row.no-gutter .tablet-35 { - width: 35%; - } - .row .tablet-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); - } - .row.no-gutter .tablet-33 { - width: 33.333333333333336%; - } - .row .tablet-30 { - width: 30%; - width: -webkit-calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 15px*2.3333333333333335) / 3.3333333333333335); - } - .row.no-gutter .tablet-30 { - width: 30%; - } - .row .tablet-25 { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); - } - .row.no-gutter .tablet-25 { - width: 25%; - } - .row .tablet-20 { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); - } - .row.no-gutter .tablet-20 { - width: 20%; - } - .row .tablet-15 { - width: 15%; - width: -webkit-calc((100% - 15px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 15px*5.666666666666667) / 6.666666666666667); - } - .row.no-gutter .tablet-15 { - width: 15%; - } - .row .tablet-10 { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); - } - .row.no-gutter .tablet-10 { - width: 10%; - } - .row .tablet-5 { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); - } - .row.no-gutter .tablet-5 { - width: 5%; - } - .row .tablet-auto:nth-last-child(1), - .row .tablet-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 15px*0) / 1); - width: calc((100% - 15px*0) / 1); - } - .row.no-gutter .tablet-auto:nth-last-child(1), - .row.no-gutter .tablet-auto:nth-last-child(1) ~ .tablet-auto { - width: 100%; - } - .row .tablet-auto:nth-last-child(2), - .row .tablet-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 15px*1) / 2); - width: calc((100% - 15px*1) / 2); - } - .row.no-gutter .tablet-auto:nth-last-child(2), - .row.no-gutter .tablet-auto:nth-last-child(2) ~ .tablet-auto { - width: 50%; - } - .row .tablet-auto:nth-last-child(3), - .row .tablet-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 15px*2) / 3); - width: calc((100% - 15px*2) / 3); - } - .row.no-gutter .tablet-auto:nth-last-child(3), - .row.no-gutter .tablet-auto:nth-last-child(3) ~ .tablet-auto { - width: 33.33333333%; - } - .row .tablet-auto:nth-last-child(4), - .row .tablet-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 15px*3) / 4); - width: calc((100% - 15px*3) / 4); - } - .row.no-gutter .tablet-auto:nth-last-child(4), - .row.no-gutter .tablet-auto:nth-last-child(4) ~ .tablet-auto { - width: 25%; - } - .row .tablet-auto:nth-last-child(5), - .row .tablet-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 15px*4) / 5); - width: calc((100% - 15px*4) / 5); - } - .row.no-gutter .tablet-auto:nth-last-child(5), - .row.no-gutter .tablet-auto:nth-last-child(5) ~ .tablet-auto { - width: 20%; - } - .row .tablet-auto:nth-last-child(6), - .row .tablet-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 15px*5) / 6); - width: calc((100% - 15px*5) / 6); - } - .row.no-gutter .tablet-auto:nth-last-child(6), - .row.no-gutter .tablet-auto:nth-last-child(6) ~ .tablet-auto { - width: 16.66666667%; - } - .row .tablet-auto:nth-last-child(7), - .row .tablet-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 15px*6) / 7); - width: calc((100% - 15px*6) / 7); - } - .row.no-gutter .tablet-auto:nth-last-child(7), - .row.no-gutter .tablet-auto:nth-last-child(7) ~ .tablet-auto { - width: 14.28571429%; - } - .row .tablet-auto:nth-last-child(8), - .row .tablet-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 15px*7) / 8); - width: calc((100% - 15px*7) / 8); - } - .row.no-gutter .tablet-auto:nth-last-child(8), - .row.no-gutter .tablet-auto:nth-last-child(8) ~ .tablet-auto { - width: 12.5%; - } - .row .tablet-auto:nth-last-child(9), - .row .tablet-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 15px*8) / 9); - width: calc((100% - 15px*8) / 9); - } - .row.no-gutter .tablet-auto:nth-last-child(9), - .row.no-gutter .tablet-auto:nth-last-child(9) ~ .tablet-auto { - width: 11.11111111%; - } - .row .tablet-auto:nth-last-child(10), - .row .tablet-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 15px*9) / 10); - width: calc((100% - 15px*9) / 10); - } - .row.no-gutter .tablet-auto:nth-last-child(10), - .row.no-gutter .tablet-auto:nth-last-child(10) ~ .tablet-auto { - width: 10%; - } - .row .tablet-auto:nth-last-child(11), - .row .tablet-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 15px*10) / 11); - width: calc((100% - 15px*10) / 11); - } - .row.no-gutter .tablet-auto:nth-last-child(11), - .row.no-gutter .tablet-auto:nth-last-child(11) ~ .tablet-auto { - width: 9.09090909%; - } - .row .tablet-auto:nth-last-child(12), - .row .tablet-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 15px*11) / 12); - width: calc((100% - 15px*11) / 12); - } - .row.no-gutter .tablet-auto:nth-last-child(12), - .row.no-gutter .tablet-auto:nth-last-child(12) ~ .tablet-auto { - width: 8.33333333%; - } - .row .tablet-auto:nth-last-child(13), - .row .tablet-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 15px*12) / 13); - width: calc((100% - 15px*12) / 13); - } - .row.no-gutter .tablet-auto:nth-last-child(13), - .row.no-gutter .tablet-auto:nth-last-child(13) ~ .tablet-auto { - width: 7.69230769%; - } - .row .tablet-auto:nth-last-child(14), - .row .tablet-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 15px*13) / 14); - width: calc((100% - 15px*13) / 14); - } - .row.no-gutter .tablet-auto:nth-last-child(14), - .row.no-gutter .tablet-auto:nth-last-child(14) ~ .tablet-auto { - width: 7.14285714%; - } - .row .tablet-auto:nth-last-child(15), - .row .tablet-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 15px*14) / 15); - width: calc((100% - 15px*14) / 15); - } - .row.no-gutter .tablet-auto:nth-last-child(15), - .row.no-gutter .tablet-auto:nth-last-child(15) ~ .tablet-auto { - width: 6.66666667%; - } - .row .tablet-auto:nth-last-child(16), - .row .tablet-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 15px*15) / 16); - width: calc((100% - 15px*15) / 16); - } - .row.no-gutter .tablet-auto:nth-last-child(16), - .row.no-gutter .tablet-auto:nth-last-child(16) ~ .tablet-auto { - width: 6.25%; - } - .row .tablet-auto:nth-last-child(17), - .row .tablet-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 15px*16) / 17); - width: calc((100% - 15px*16) / 17); - } - .row.no-gutter .tablet-auto:nth-last-child(17), - .row.no-gutter .tablet-auto:nth-last-child(17) ~ .tablet-auto { - width: 5.88235294%; - } - .row .tablet-auto:nth-last-child(18), - .row .tablet-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 15px*17) / 18); - width: calc((100% - 15px*17) / 18); - } - .row.no-gutter .tablet-auto:nth-last-child(18), - .row.no-gutter .tablet-auto:nth-last-child(18) ~ .tablet-auto { - width: 5.55555556%; - } - .row .tablet-auto:nth-last-child(19), - .row .tablet-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 15px*18) / 19); - width: calc((100% - 15px*18) / 19); - } - .row.no-gutter .tablet-auto:nth-last-child(19), - .row.no-gutter .tablet-auto:nth-last-child(19) ~ .tablet-auto { - width: 5.26315789%; - } - .row .tablet-auto:nth-last-child(20), - .row .tablet-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 15px*19) / 20); - width: calc((100% - 15px*19) / 20); - } - .row.no-gutter .tablet-auto:nth-last-child(20), - .row.no-gutter .tablet-auto:nth-last-child(20) ~ .tablet-auto { - width: 5%; - } - .row .tablet-auto:nth-last-child(21), - .row .tablet-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 15px*20) / 21); - width: calc((100% - 15px*20) / 21); - } - .row.no-gutter .tablet-auto:nth-last-child(21), - .row.no-gutter .tablet-auto:nth-last-child(21) ~ .tablet-auto { - width: 4.76190476%; - } -} -/* === Views === */ -.views, -.view { - position: relative; - width: 100%; - height: 100%; - z-index: 5000; -} -.views { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.view { - overflow: hidden; - box-sizing: border-box; -} -/* === Pages === */ -.pages { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; - background: #000; -} -.page { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #efeff4; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.page.cached { - display: none; -} -.page-on-left { - opacity: 0.9; - -webkit-transform: translate3d(-20%, 0, 0); - transform: translate3d(-20%, 0, 0); -} -.page-on-center .swipeback-page-shadow { - opacity: 1; -} -.page-on-right { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); -} -.page-on-right .swipeback-page-shadow { - opacity: 0; -} -.page-content { - overflow: auto; - -webkit-overflow-scrolling: touch; - box-sizing: border-box; - height: 100%; - position: relative; - z-index: 1; -} -.swipeback-page-shadow { - position: absolute; - right: 100%; - top: 0; - width: 16px; - height: 100%; - background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - z-index: -1; - content: ''; -} -html.android .swipeback-page-shadow { - display: none; - -webkit-animation: none; - animation: none; -} -.page-transitioning, -.page-transitioning .swipeback-page-shadow { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.page-from-right-to-center:before, -.page-from-center-to-right:before { - position: absolute; - right: 100%; - top: 0; - width: 16px; - height: 100%; - background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.2) 100%); - z-index: -1; - content: ''; -} -html.android .page-from-right-to-center:before, -html.android .page-from-center-to-right:before { - display: none; - -webkit-animation: none; - animation: none; -} -.page-from-right-to-center { - -webkit-animation: pageFromRightToCenter 400ms forwards; - animation: pageFromRightToCenter 400ms forwards; -} -.page-from-right-to-center:before { - -webkit-animation: pageFromRightToCenterShadow 400ms forwards; - animation: pageFromRightToCenterShadow 400ms forwards; -} -.page-from-center-to-right { - -webkit-animation: pageFromCenterToRight 400ms forwards; - animation: pageFromCenterToRight 400ms forwards; -} -.page-from-center-to-right:before { - -webkit-animation: pageFromCenterToRightShadow 400ms forwards; - animation: pageFromCenterToRightShadow 400ms forwards; -} -@-webkit-keyframes pageFromRightToCenter { - from { - -webkit-transform: translate3d(100%, 0, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromRightToCenter { - from { - transform: translate3d(100%, 0, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes pageFromRightToCenterShadow { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes pageFromRightToCenterShadow { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - -webkit-transform: translate3d(0, 0, 0); - } - to { - -webkit-transform: translate3d(100%, 0, 0); - } -} -@keyframes pageFromCenterToRight { - from { - transform: translate3d(0, 0, 0); - } - to { - transform: translate3d(100%, 0, 0); - } -} -@-webkit-keyframes pageFromCenterToRightShadow { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes pageFromCenterToRightShadow { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.page-from-center-to-left { - -webkit-animation: pageFromCenterToLeft 400ms forwards; - animation: pageFromCenterToLeft 400ms forwards; -} -.page-from-left-to-center { - -webkit-animation: pageFromLeftToCenter 400ms forwards; - animation: pageFromLeftToCenter 400ms forwards; -} -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } - to { - opacity: 0.9; - -webkit-transform: translate3d(-20%, 0, 0); - } -} -@keyframes pageFromCenterToLeft { - from { - transform: translate3d(0, 0, 0); - } - to { - opacity: 0.9; - transform: translate3d(-20%, 0, 0); - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - -webkit-transform: translate3d(-20%, 0, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromLeftToCenter { - from { - transform: translate3d(-20%, 0, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -/* === Toolbars === */ -.navbar-inner, -.toolbar-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0 8px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.navbar-inner.cached { - display: none; -} -.navbar, -.toolbar { - height: 44px; - width: 100%; - box-sizing: border-box; - font-size: 17px; - position: relative; - margin: 0; - z-index: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; -} -.navbar b, -.toolbar b { - font-weight: 500; -} -html.ios-gt-8 .navbar b, -html.ios-gt-8 .toolbar b { - font-weight: 600; -} -.navbar, -.toolbar, -.subnavbar { - background: #f7f7f8; -} -.navbar a.link, -.toolbar a.link, -.subnavbar a.link { - line-height: 44px; - height: 44px; - text-decoration: none; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translateZ(0px); - transform: translateZ(0px); -} -html:not(.watch-active-state) .navbar a.link:active, -html:not(.watch-active-state) .toolbar a.link:active, -html:not(.watch-active-state) .subnavbar a.link:active, -.navbar a.link.active-state, -.toolbar a.link.active-state, -.subnavbar a.link.active-state { - opacity: 0.3; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.navbar a.link i + span, -.toolbar a.link i + span, -.subnavbar a.link i + span, -.navbar a.link i + i, -.toolbar a.link i + i, -.subnavbar a.link i + i, -.navbar a.link span + i, -.toolbar a.link span + i, -.subnavbar a.link span + i, -.navbar a.link span + span, -.toolbar a.link span + span, -.subnavbar a.link span + span { - margin-left: 7px; -} -.navbar a.icon-only, -.toolbar a.icon-only, -.subnavbar a.icon-only { - min-width: 44px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 0; -} -.navbar i.icon, -.toolbar i.icon, -.subnavbar i.icon { - display: block; -} -.navbar { - left: 0; - top: 0; -} -.navbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .navbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .navbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.navbar:after { - backface-visibility: hidden; -} -.navbar.no-border:after { - display: none; -} -.navbar .center { - font-size: 17px; - font-weight: 500; - text-align: center; - margin: 0; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 44px; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -html.ios-gt-8 .navbar .center { - font-weight: 600; -} -.navbar .left, -.navbar .right { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar .left a + a, -.navbar .right a + a { - margin-left: 15px; -} -.navbar .left { - margin-right: 10px; -} -.navbar .right { - margin-left: 10px; -} -.navbar .right:first-child { - position: absolute; - right: 8px; - height: 100%; -} -.popup .navbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.subnavbar { - height: 44px; - width: 100%; - position: absolute; - left: 0; - top: 100%; - margin-top: -1px; - z-index: 20; - box-sizing: border-box; - padding: 0 8px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.subnavbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .subnavbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .subnavbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.subnavbar.no-border:after { - display: none; -} -.navbar.no-border .subnavbar { - margin-top: 0; -} -.navbar-on-left .subnavbar, -.navbar-on-right .subnavbar { - pointer-events: none; -} -.navbar .subnavbar, -.page .subnavbar { - position: absolute; -} -.page > .subnavbar { - top: 0; - margin-top: 0; -} -.subnavbar > .buttons-row { - width: 100%; -} -.subnavbar .searchbar, -.subnavbar.searchbar { - position: absolute; -} -.subnavbar.searchbar, -.subnavbar .searchbar { - position: absolute; -} -.subnavbar .searchbar { - left: 0; - top: 0; -} -.toolbar { - left: 0; - bottom: 0; -} -.toolbar:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .toolbar:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .toolbar:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.toolbar.no-border:before { - display: none; -} -.toolbar a { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; -} -.tabbar { - color: #929292; - z-index: 5001; -} -.tabbar a { - color: #929292; -} -.tabbar a.active { - color: #007aff; -} -.tabbar a.link { - line-height: 1.4; -} -.tabbar a.tab-link, -.tabbar a.link { - height: 100%; - width: 100%; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - overflow: visible; - -webkit-box-flex: 1; - -ms-flex: 1; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.tabbar i.icon { - height: 30px; -} -.tabbar-labels { - height: 50px; -} -.tabbar-labels a.tab-link, -.tabbar-labels a.link { - padding-top: 4px; - padding-bottom: 4px; - height: 100%; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.tabbar-labels a.tab-link i + span, -.tabbar-labels a.link i + span { - margin: 0; -} -.tabbar-labels span.tabbar-label { - line-height: 1; - display: block; - margin: 0; - letter-spacing: 0.01em; - font-size: 10px; - position: relative; - text-overflow: ellipsis; - white-space: nowrap; -} -.subnavbar input[type="text"], -.navbar input[type="text"], -.subnavbar input[type="password"], -.navbar input[type="password"], -.subnavbar input[type="search"], -.navbar input[type="search"], -.subnavbar input[type="email"], -.navbar input[type="email"], -.subnavbar input[type="tel"], -.navbar input[type="tel"], -.subnavbar input[type="url"], -.navbar input[type="url"] { - box-sizing: border-box; - width: 100%; - height: 28px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 5px; - font-family: inherit; - color: #000; - font-size: 14px; - font-weight: normal; - padding: 0 8px; - background-color: #fff; -} -@media all and (min-width: 768px) { - .tabbar .toolbar-inner { - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - } - .tabbar a.tab-link, - .tabbar a.link { - width: auto; - min-width: 105px; - } - .tabbar-labels { - height: 56px; - } - .tabbar-labels span.tabbar-label { - font-size: 14px; - } -} -.navbar-from-right-to-center .left, -.navbar-from-right-to-center .right, -.navbar-from-right-to-center .center, -.navbar-from-right-to-center .subnavbar, -.navbar-from-right-to-center .fading { - -webkit-animation: navbarElementFadeIn 400ms forwards; - animation: navbarElementFadeIn 400ms forwards; -} -.navbar-from-right-to-center .sliding { - opacity: 1; -} -.navbar-from-center-to-right .left, -.navbar-from-center-to-right .right, -.navbar-from-center-to-right .center, -.navbar-from-center-to-right .subnavbar, -.navbar-from-center-to-right .fading { - -webkit-animation: navbarElementFadeOut 400ms forwards; - animation: navbarElementFadeOut 400ms forwards; -} -.navbar-from-center-to-right .sliding { - opacity: 0; -} -.navbar-from-center-to-right .subnavbar.sliding { - opacity: 1; -} -@-webkit-keyframes navbarElementFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes navbarElementFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -.navbar-from-center-to-left .left, -.navbar-from-center-to-left .right, -.navbar-from-center-to-left .center, -.navbar-from-center-to-left .subnavbar, -.navbar-from-center-to-left .fading { - -webkit-animation: navbarElementFadeOut 400ms forwards; - animation: navbarElementFadeOut 400ms forwards; -} -.navbar-from-center-to-left .sliding { - opacity: 0; -} -.navbar-from-center-to-left .subnavbar.sliding { - opacity: 1; -} -.navbar-from-left-to-center .left, -.navbar-from-left-to-center .right, -.navbar-from-left-to-center .center, -.navbar-from-left-to-center .subnavbar, -.navbar-from-left-to-center .fading { - -webkit-animation: navbarElementFadeIn 400ms forwards; - animation: navbarElementFadeIn 400ms forwards; -} -.navbar-from-left-to-center .sliding { - opacity: 1; -} -.navbar-on-left .left, -.navbar-on-left .right, -.navbar-on-left .center, -.navbar-on-left .subnavbar, -.navbar-on-left .fading { - opacity: 0; -} -.navbar-on-left .sliding { - opacity: 0; -} -.navbar-on-left .subnavbar.sliding { - opacity: 1; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); -} -.navbar-on-right .left, -.navbar-on-right .right, -.navbar-on-right .center, -.navbar-on-right .subnavbar, -.navbar-on-right .fading { - opacity: 0; -} -.navbar-on-right .sliding { - opacity: 0; -} -.navbar-on-right .subnavbar.sliding { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); -} -@-webkit-keyframes navbarElementFadeOut { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes navbarElementFadeOut { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.navbar-from-right-to-center .left.sliding .back.link .icon, -.navbar-from-center-to-right .left.sliding .back.link .icon, -.navbar-from-center-to-left .left.sliding .back.link .icon, -.navbar-from-left-to-center .left.sliding .back.link .icon { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar-from-right-to-center .sliding, -.navbar-from-center-to-right .sliding, -.navbar-from-center-to-left .sliding, -.navbar-from-left-to-center .sliding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-animation: none; - animation: none; -} -/* === Relation between toolbar/navbar types and pages === */ -.page > .navbar, -.view > .navbar, -.views > .navbar, -.page > .toolbar, -.view > .toolbar, -.views > .toolbar { - position: absolute; -} -.subnavbar ~ .page-content { - padding-top: 44px; -} -.navbar-through .page-content, -.navbar-fixed .page-content { - padding-top: 44px; -} -.navbar-through .with-subnavbar .page-content, -.navbar-fixed .with-subnavbar .page-content, -.navbar-through .page-content.with-subnavbar, -.navbar-fixed .page-content.with-subnavbar, -.navbar-through .subnavbar ~ .page-content, -.navbar-fixed .subnavbar ~ .page-content { - padding-top: 88px; -} -.navbar-through .page .subnavbar, -.navbar-fixed .page .subnavbar, -.navbar-through.page .subnavbar, -.navbar-fixed.page .subnavbar { - top: 44px; -} -.toolbar-through .page-content, -.toolbar-fixed .page-content, -.tabbar-through .page-content, -.tabbar-fixed .page-content { - padding-bottom: 44px; -} -.tabbar-labels-fixed .page-content, -.tabbar-labels-through .page-content { - padding-bottom: 50px; -} -@media all and (min-width: 768px) { - .tabbar-labels-fixed .page-content, - .tabbar-labels-through .page-content { - padding-bottom: 56px; - } -} -.navbar.navbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar.navbar-hiding ~ .page-content .list-group-title, -.navbar.navbar-hiding ~ .pages .list-group-title, -.navbar.navbar-hiding ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hiding ~ .page-content .subnavbar, -.navbar.navbar-hiding ~ .pages .subnavbar, -.navbar.navbar-hiding ~ .page .subnavbar { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} -.navbar.navbar-hidden ~ .page-content .list-group-title, -.navbar.navbar-hidden ~ .pages .list-group-title, -.navbar.navbar-hidden ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - top: -44px; -} -.navbar.navbar-hidden ~ .page-content .subnavbar, -.navbar.navbar-hidden ~ .pages .subnavbar, -.navbar.navbar-hidden ~ .page .subnavbar { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.page.no-navbar .page-content { - padding-top: 0; -} -.page.no-navbar.with-subnavbar .page-content, -.with-subnavbar .page.no-navbar .page-content, -.page.no-navbar .page-content.with-subnavbar { - padding-top: 44px; -} -.toolbar.toolbar-hiding, -.tabbar.toolbar-hiding, -.toolbar.tabbar-hiding, -.tabbar.tabbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.toolbar.toolbar-hidden, -.tabbar.toolbar-hidden, -.toolbar.tabbar-hidden, -.tabbar.tabbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.page.no-toolbar .page-content, -.page.no-tabbar .page-content { - padding-bottom: 0; -} -/* === Search Bar === */ -.searchbar { - height: 44px; - width: 100%; - background: #c9c9ce; - box-sizing: border-box; - padding: 0 8px; - overflow: hidden; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.searchbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #b4b4b4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .searchbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .searchbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.searchbar .searchbar-input { - width: 100%; - height: 28px; - position: relative; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.searchbar input[type="search"] { - box-sizing: border-box; - width: 100%; - height: 28px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 5px; - font-family: inherit; - color: #000; - font-size: 14px; - font-weight: normal; - padding: 0 8px; - background-color: #fff; - padding: 0 28px; - height: 100%; - background-repeat: no-repeat; - background-position: 8px center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2013'%20enable-background%3D'new%200%200%2013%2013'%3E%3Cg%3E%3Cpath%20fill%3D'%23939398'%20d%3D'M5%2C1c2.2%2C0%2C4%2C1.8%2C4%2C4S7.2%2C9%2C5%2C9S1%2C7.2%2C1%2C5S2.8%2C1%2C5%2C1%20M5%2C0C2.2%2C0%2C0%2C2.2%2C0%2C5s2.2%2C5%2C5%2C5s5-2.2%2C5-5S7.8%2C0%2C5%2C0%20L5%2C0z'%2F%3E%3C%2Fg%3E%3Cline%20stroke%3D'%23939398'%20stroke-miterlimit%3D'10'%20x1%3D'12.6'%20y1%3D'12.6'%20x2%3D'8.2'%20y2%3D'8.2'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 13px 13px; - background-size: 13px 13px; -} -.searchbar input[type="search"]::-webkit-input-placeholder { - color: #939398; - opacity: 1; -} -.searchbar input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} -.searchbar .searchbar-clear { - position: absolute; - width: 28px; - height: 28px; - right: 0; - top: 0; - opacity: 0; - pointer-events: none; - background-position: center; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'14'%20cy%3D'14'%20r%3D'14'%20fill%3D'%238e8e93'%2F%3E%3Cline%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'8'%20y1%3D'8'%20x2%3D'20'%20y2%3D'20'%2F%3E%3Cline%20fill%3D'none'%20stroke%3D'%23ffffff'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'20'%20y1%3D'8'%20x2%3D'8'%20y2%3D'20'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 14px 14px; - background-size: 14px 14px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - cursor: pointer; -} -.searchbar .searchbar-cancel { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - font-size: 17px; - cursor: pointer; - opacity: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - margin-left: 0; - pointer-events: none; - display: none; -} -.searchbar.searchbar-active .searchbar-cancel { - margin-left: 8px; - opacity: 1; - pointer-events: auto; -} -html:not(.watch-active-state) .searchbar.searchbar-active .searchbar-cancel:active, -.searchbar.searchbar-active .searchbar-cancel.active-state { - opacity: 0.3; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.searchbar.searchbar-not-empty .searchbar-clear { - pointer-events: auto; - opacity: 1; -} -.searchbar-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 100; - opacity: 0; - pointer-events: none; - background: rgba(0, 0, 0, 0.4); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.searchbar-overlay.searchbar-overlay-active { - opacity: 1; - pointer-events: auto; -} -.searchbar-not-found { - display: none; -} -.hidden-by-searchbar, -.list-block .hidden-by-searchbar, -.list-block li.hidden-by-searchbar { - display: none; -} -.page > .searchbar { - position: absolute; - width: 100%; - left: 0; - top: 0; - z-index: 200; -} -.page > .searchbar ~ .page-content { - padding-top: 44px; -} -.navbar-fixed .page > .searchbar, -.navbar-through .page > .searchbar, -.navbar-fixed > .searchbar, -.navbar-through > .searchbar { - top: 44px; -} -.navbar-fixed .page > .searchbar ~ .page-content, -.navbar-through .page > .searchbar ~ .page-content, -.navbar-fixed > .searchbar ~ .page-content, -.navbar-through > .searchbar ~ .page-content { - padding-top: 88px; -} -/* === Message Bar === */ -.messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background: #fff; -} -.messagebar:before { - display: none; -} -.messagebar textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #c8c8cd; - background: #fff; - border-radius: 17px; - box-shadow: none; - display: block; - padding: 6px 15px; - margin: 0; - width: 100%; - height: 34px; - color: #000; - font-size: 17px; - line-height: 20px; - font-family: inherit; - resize: none; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.messagebar .link { - -ms-flex-item-align: flex-end; - -webkit-align-self: flex-end; - align-self: flex-end; -} -.messagebar .link.icon-only:first-child { - margin-left: -6px; -} -.messagebar .link:not(.icon-only) + textarea { - margin-left: 8px; -} -.messagebar textarea + .link { - margin-left: 8px; -} -.messagebar .link { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.messagebar ~ .page-content { - padding-bottom: 44px; -} -.page.no-toolbar .messagebar ~ .page-content { - padding-bottom: 44px; -} -.hidden-toolbar .messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -/* === Icons === */ -i.icon { - display: inline-block; - vertical-align: middle; - background-size: 100% auto; - background-position: center; - background-repeat: no-repeat; - font-style: normal; - position: relative; -} -i.icon.icon-back { - width: 12px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M10%2C0l2%2C2l-8%2C8l8%2C8l-2%2C2L0%2C10L10%2C0z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-forward { - width: 12px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2012%2020'%3E%3Cpath%20d%3D'M2%2C20l-2-2l8-8L0%2C2l2-2l10%2C10L2%2C20z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-bars { - width: 21px; - height: 14px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2021%2014'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h2v2H0V0z%20M4%2C0h17v1H4V0z%20M0%2C6h2v2H0V6z%20M4%2C6h17v1H4V6z%20M0%2C12h2v2H0V12z%20M4%2C12h17v1H4V12z'%2F%3E%3C%2Fsvg%3E"); -} -@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2ddpx) { - i.icon.icon-bars { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2042%2026'%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M0%2C0h4v4H0V0z%20M8%2C1h34v2H8V1z%20M0%2C11h4v4H0V11z%20M8%2C12h34v2H8V12z%20M0%2C22h4v4H0V22z%20M8%2C23h34v2H8V23z'%2F%3E%3C%2Fsvg%3E"); - height: 13px; - } -} -i.icon.icon-camera { - width: 25px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20x%3D'0px'%20y%3D'0px'%20viewBox%3D'0%200%2025%2020'%3E%3Cpath%20fill%3D'%238C8D92'%20d%3D'M13.3%2C5.5c-2.7%2C0-5%2C2.2-5%2C5s2.2%2C5%2C5%2C5c2.7%2C0%2C5-2.2%2C5-5S16%2C5.5%2C13.3%2C5.5z'%2F%3E%3Cpath%20fill%3D'%238C8D92'%20d%3D'M22.8%2C1.8h-3.3c-0.2-1.3-1-1.8-2-1.8H8.1c-1%2C0-1.8%2C0.4-2%2C1.8H2.8C1.4%2C1.8%2C0%2C2.8%2C0%2C4.2v12.6%20c0%2C1.4%2C1.4%2C2.5%2C2.8%2C2.5h20c1.4%2C0%2C2.2-1.1%2C2.2-2.5V4.2C25%2C2.8%2C24.2%2C1.8%2C22.8%2C1.8z%20M3.5%2C6.4C2.6%2C6.4%2C2%2C5.8%2C2%2C5c0-0.8%2C0.7-1.5%2C1.5-1.5%20S5%2C4.1%2C5%2C5C5%2C5.8%2C4.3%2C6.4%2C3.5%2C6.4z%20M13.3%2C16.8c-3.5%2C0-6.3-2.7-6.3-6.2c0-3.3%2C2.5-6.2%2C5.7-6.2h1.2c3.2%2C0%2C5.7%2C2.9%2C5.7%2C6.2%20C19.6%2C14.1%2C16.7%2C16.8%2C13.3%2C16.8z'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-f7 { - width: 29px; - height: 29px; - background-image: url("../img/i-f7-ios.png"); - border-radius: 6px; -} -i.icon.icon-next, -i.icon.icon-prev { - width: 15px; - height: 15px; -} -i.icon.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); -} -i.icon.icon-plus { - width: 25px; - height: 25px; - font-size: 31px; - line-height: 20px; - text-align: center; - font-weight: 100; -} -.navbar .framework7-icons, -.navbar .f7-icons, -.toolbar .framework7-icons, -.toolbar .f7-icons { - font-size: 22px; -} -.tabbar .framework7-icons, -.tabbar .f7-icons, -.tabbar-labels .framework7-icons, -.tabbar-labels .f7-icons { - font-size: 25px; -} -.badge { - font-size: 13px; - display: inline-block; - color: #fff; - background: #8e8e93; - border-radius: 20px; - padding: 0px 6px; - height: 20px; - line-height: 20px; - box-sizing: border-box; - text-align: center; -} -.item-after .badge { - min-width: 20px; -} -.icon .badge { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 16px; - height: 16px; - border-radius: 16px; - padding: 0px 4px; - min-width: 16px; - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; -} -/* === Chips === */ -.chip { - font-size: 14px; - font-weight: normal; - color: #fff; - background: rgba(0, 0, 0, 0.37); - display: inline-block; - height: 23px; - line-height: 23px; - border-radius: 5px; - padding: 0 6px; - box-sizing: border-box; - vertical-align: middle; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 2px 0; -} -.chip-media { - width: 16px; - height: 16px; - vertical-align: middle; - border-radius: 50%; - text-align: center; - line-height: 16px; - color: #fff; - font-size: 12px; - box-sizing: border-box; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.chip-media img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - border-radius: 50%; - display: block; -} -.chip-media + .chip-label { - margin-left: 4px; -} -.chip-media i.icon { - font-size: 16px; - height: 16px; -} -.chip-label { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - min-width: 0; -} -.chip-delete { - margin-right: -6px; - width: 23px; - height: 23px; - text-align: center; - line-height: 23px; - cursor: pointer; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2028'%3E%3Ccircle%20cx%3D'14'%20cy%3D'14'%20r%3D'14'%20fill%3D'%23fff'%2F%3E%3Cline%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'8'%20y1%3D'8'%20x2%3D'20'%20y2%3D'20'%2F%3E%3Cline%20fill%3D'none'%20stroke%3D'%23000'%20stroke-width%3D'2'%20stroke-miterlimit%3D'10'%20x1%3D'20'%20y1%3D'8'%20x2%3D'8'%20y2%3D'20'%2F%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-position: center; - -webkit-background-size: 13px 13px; - background-size: 13px 13px; - opacity: 0.7; -} -html:not(.watch-active-state) .chip-delete:active, -.chip-delete.active-state { - opacity: 1; -} -/* === Content Block === */ -.content-block { - margin: 35px 0; - padding: 0 15px; - color: #6d6d72; - box-sizing: border-box; -} -.content-block.no-hairlines:before, -.content-block.no-hairlines ul:before, -.content-block.no-hairlines .content-block-inner:before { - display: none; -} -.content-block.no-hairlines:after, -.content-block.no-hairlines ul:after, -.content-block.no-hairlines .content-block-inner:after { - display: none; -} -.content-block-title { - position: relative; - overflow: hidden; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - line-height: 1; - color: #6d6d72; - margin: 35px 15px 10px; -} -.content-block-title + .list-block, -.content-block-title + .content-block, -.content-block-title + .card { - margin-top: 10px; -} -.content-block-inner { - background: #fff; - padding: 10px 15px; - margin-left: -15px; - width: 100%; - position: relative; - color: #000; -} -.content-block-inner:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .content-block-inner:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .content-block-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block.inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; -} -.content-block.inset .content-block-inner { - border-radius: 7px; -} -.content-block.inset .content-block-inner:before { - display: none; -} -.content-block.inset .content-block-inner:after { - display: none; -} -@media all and (min-width: 768px) { - .content-block.tablet-inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; - } - .content-block.tablet-inset .content-block-inner { - border-radius: 7px; - } - .content-block.tablet-inset .content-block-inner:before { - display: none; - } - .content-block.tablet-inset .content-block-inner:after { - display: none; - } -} -/* === Lists === */ -.list-block { - margin: 35px 0; - font-size: 17px; -} -.list-block ul { - background: #fff; - list-style: none; - padding: 0; - margin: 0; - position: relative; -} -.list-block ul:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .list-block ul:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block ul:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul ul { - padding-left: 45px; -} -.list-block ul ul:before { - display: none; -} -.list-block ul ul:after { - display: none; -} -.list-block .align-top, -.list-block .align-top .item-content, -.list-block .align-top .item-inner { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.list-block.inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; -} -.list-block.inset .content-block-title { - margin-left: 0; - margin-right: 0; -} -.list-block.inset ul { - border-radius: 7px; -} -.list-block.inset ul:before { - display: none; -} -.list-block.inset ul:after { - display: none; -} -.list-block.inset li:first-child > a { - border-radius: 7px 7px 0 0; -} -.list-block.inset li:last-child > a { - border-radius: 0 0 7px 7px; -} -.list-block.inset li:first-child:last-child > a { - border-radius: 7px; -} -@media all and (min-width: 768px) { - .list-block.tablet-inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 7px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 7px 7px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 7px 7px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 7px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 7px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 7px 7px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 7px 7px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 7px; - } -} -.list-block li { - box-sizing: border-box; - position: relative; -} -.list-block .item-media { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - box-sizing: border-box; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - padding-top: 7px; - padding-bottom: 8px; -} -.list-block .item-media i + i { - margin-left: 5px; -} -.list-block .item-media i + img { - margin-left: 5px; -} -.list-block .item-media + .item-inner { - margin-left: 15px; -} -.list-block .item-inner { - padding-right: 15px; - position: relative; - width: 100%; - padding-top: 8px; - padding-bottom: 7px; - min-height: 44px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1; - overflow: hidden; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .item-title { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - min-width: 0; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -.list-block .item-after { - white-space: nowrap; - color: #8e8e93; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - margin-left: 5px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - max-height: 28px; -} -.list-block .smart-select .item-after, -.list-block .autocomplete-opener .item-after { - max-width: 70%; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - display: block; -} -.list-block .item-link { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: block; - color: inherit; -} -.list-block .item-link .item-inner { - padding-right: 35px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; - background-repeat: no-repeat; - background-position: 95% center; - background-position: -webkit-calc(100% - 15px) center; - background-position: calc(100% - 15px) center; -} -html:not(.watch-active-state) .list-block .item-link:active, -.list-block .item-link.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) .list-block .item-link:active .item-inner:after, -.list-block .item-link.active-state .item-inner:after { - background-color: transparent; -} -.list-block .item-link.list-button { - padding: 0 15px; - text-align: center; - color: #007aff; - display: block; - line-height: 43px; -} -.list-block .item-link.list-button:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block .item-link.list-button:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-link.list-button:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .item-content { - box-sizing: border-box; - padding-left: 15px; - min-height: 44px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.list-block .list-block-label { - margin: 10px 0 35px; - padding: 0 15px; - font-size: 14px; - color: #8f8f94; -} -.list-block .swipeout { - overflow: hidden; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.list-block .swipeout.deleting { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .swipeout.deleting .swipeout-content { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout.transitioning .swipeout-content, -.list-block .swipeout.transitioning .swipeout-actions-right a, -.list-block .swipeout.transitioning .swipeout-actions-left a, -.list-block .swipeout.transitioning .swipeout-overswipe { - -webkit-transition: 300ms; - transition: 300ms; -} -.list-block .swipeout-content { - position: relative; - z-index: 10; -} -.list-block .swipeout-overswipe { - -webkit-transition: 200ms left; - transition: 200ms left; -} -.list-block .swipeout-actions-left, -.list-block .swipeout-actions-right { - position: absolute; - top: 0; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.list-block .swipeout-actions-left a, -.list-block .swipeout-actions-right a { - padding: 0 30px; - color: #fff; - background: #c7c7cc; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - position: relative; - left: 0; -} -.list-block .swipeout-actions-left a:after, -.list-block .swipeout-actions-right a:after { - content: ''; - position: absolute; - top: 0; - width: 600%; - height: 100%; - background: inherit; - z-index: -1; -} -.list-block .swipeout-actions-left a.swipeout-delete, -.list-block .swipeout-actions-right a.swipeout-delete { - background: #ff3b30; -} -.list-block .swipeout-actions-right { - right: 0%; - -webkit-transform: translateX(100%); - transform: translateX(100%); -} -.list-block .swipeout-actions-right a:after { - left: 100%; - margin-left: -1px; -} -.list-block .swipeout-actions-left { - left: 0%; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout-actions-left a:after { - right: 100%; - margin-right: -1px; -} -.list-block .item-subtitle { - font-size: 15px; - position: relative; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - text-overflow: ellipsis; -} -.list-block .item-text { - font-size: 15px; - color: #8e8e93; - line-height: 21px; - position: relative; - overflow: hidden; - height: 42px; - text-overflow: ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - display: -webkit-box; -} -.list-block.media-list .item-title, -.list-block li.media-item .item-title { - font-weight: 500; -} -html.ios-gt-8 .list-block.media-list .item-title, -html.ios-gt-8 .list-block li.media-item .item-title { - font-weight: 600; -} -.list-block.media-list .item-inner, -.list-block li.media-item .item-inner { - display: block; - padding-top: 10px; - padding-bottom: 9px; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block.media-list .item-link .item-inner, -.list-block li.media-item .item-link .item-inner { - background: none; - padding-right: 15px; -} -.list-block.media-list .item-link .item-title-row, -.list-block li.media-item .item-link .item-title-row { - padding-right: 20px; - background: no-repeat right center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -.list-block.media-list .item-media, -.list-block li.media-item .item-media { - padding-top: 9px; - padding-bottom: 10px; -} -.list-block.media-list .item-media img, -.list-block li.media-item .item-media img { - display: block; -} -.list-block.media-list .item-title-row, -.list-block li.media-item .item-title-row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.list-block.media-list .item-content > .item-after, -.list-block li.media-item .item-content > .item-after { - margin-right: 15px; - margin-left: 15px; -} -.list-block .list-group ul:after, -.list-block .list-group ul:before { - z-index: 25; -} -.list-block .list-group + .list-group ul:before { - display: none; -} -.list-block .item-divider, -.list-block .list-group-title { - background: #F7F7F7; - margin-top: -1px; - padding: 4px 15px; - white-space: nowrap; - position: relative; - max-width: 100%; - text-overflow: ellipsis; - overflow: hidden; - color: #8e8e93; - z-index: 15; -} -.list-block .item-divider:before, -.list-block .list-group-title:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .list-block .item-divider:before, -html.pixel-ratio-2 .list-block .list-group-title:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-divider:before, -html.pixel-ratio-3 .list-block .list-group-title:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .list-group-title { - position: relative; - position: -webkit-sticky; - position: -moz-sticky; - position: sticky; - top: 0px; - z-index: 20; - margin-top: 0; -} -.list-block .list-group-title:before { - display: none; -} -.list-block .sortable-handler { - position: absolute; - right: 0; - top: 0; - bottom: 1px; - z-index: 10; - background-repeat: no-repeat; - background-size: 18px 12px; - background-position: center; - width: 35px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2018%2012'%20fill%3D'%23c7c7cc'%3E%3Cpath%20d%3D'M0%2C2V0h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C7V5h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C12v-2h22v2H0z'%2F%3E%3C%2Fsvg%3E"); - opacity: 0; - visibility: hidden; - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable-opened .sortable-handler { - visibility: visible; - opacity: 1; -} -.list-block.sortable-opened .item-inner, -.list-block.sortable-opened .item-link .item-inner { - padding-right: 35px; -} -.list-block.sortable-opened .item-link .item-inner, -.list-block.sortable-opened .item-link .item-title-row { - background-image: none; -} -.list-block.sortable-sorting li { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block li.sorting { - z-index: 50; - background: rgba(255, 255, 255, 0.8); - box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.6); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.list-block li.sorting .item-inner:after { - display: none; -} -.list-block li:last-child .list-button:after { - display: none; -} -.list-block li:last-child .item-inner:after, -.list-block li:last-child li:last-child .item-inner:after { - display: none; -} -.list-block li li:last-child .item-inner:after, -.list-block li:last-child li .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c8c7cc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-2 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-3 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block.no-hairlines:before, -.list-block.no-hairlines ul:before, -.list-block.no-hairlines .content-block-inner:before { - display: none; -} -.list-block.no-hairlines:after, -.list-block.no-hairlines ul:after, -.list-block.no-hairlines .content-block-inner:after { - display: none; -} -.list-block.no-hairlines-between .item-inner:after, -.list-block.no-hairlines-between .list-button:after, -.list-block.no-hairlines-between .item-divider:after, -.list-block.no-hairlines-between .list-group-title:after, -.list-block.no-hairlines-between .list-group-title:after { - display: none; -} -/* === Contacts === */ -.contacts-content { - background: #fff; -} -.contacts-block { - margin: 0; -} -.contacts-block .list-group-title { - padding: 0 15px; - background: #f7f7f7; - color: #000; - font-weight: 500; - line-height: 22px; - height: 22px; -} -html.ios-gt-8 .contacts-block .list-group-title { - font-weight: 600; -} -.contacts-block .list-group:first-child ul:before { - display: none; -} -.contacts-block .list-group:last-child ul:after { - display: none; -} -/* === Forms === */ -.list-block input[type="text"], -.list-block input[type="password"], -.list-block input[type="search"], -.list-block input[type="email"], -.list-block input[type="tel"], -.list-block input[type="url"], -.list-block input[type="date"], -.list-block input[type="datetime-local"], -.list-block input[type="time"], -.list-block input[type="number"], -.list-block select, -.list-block textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0 0 0 0; - box-shadow: none; - display: block; - padding: 0px; - margin: 0; - width: 100%; - height: 43px; - color: #000; - font-size: 17px; - font-family: inherit; -} -.list-block .item-title.label { - vertical-align: top; -} -.list-block .item-title.label + .item-input { - margin-left: 5px; -} -.list-block input[type="date"], -.list-block input[type="datetime-local"] { - line-height: 44px; -} -.list-block select { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; -} -.list-block textarea { - height: 100px; - resize: none; - line-height: 1.4; - padding-top: 8px; - padding-bottom: 7px; -} -.list-block textarea.resizable { - height: 43px; -} -.list-block .item-input { - width: 100%; - margin-top: -8px; - margin-bottom: -7px; - -webkit-box-flex: 1; - -ms-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.list-block .item-title.label { - width: 35%; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.label-switch { - display: inline-block; - vertical-align: middle; - width: 52px; - border-radius: 16px; - box-sizing: border-box; - height: 32px; - position: relative; - cursor: pointer; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.label-switch .checkbox { - width: 52px; - border-radius: 16px; - box-sizing: border-box; - height: 32px; - background: #e5e5e5; - z-index: 0; - margin: 0; - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - cursor: pointer; - position: relative; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch .checkbox:before { - content: ' '; - position: absolute; - left: 2px; - top: 2px; - width: 48px; - border-radius: 16px; - box-sizing: border-box; - height: 28px; - background: #fff; - z-index: 1; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: scale(1); - transform: scale(1); -} -.label-switch .checkbox:after { - content: ' '; - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - position: absolute; - z-index: 2; - top: 2px; - left: 2px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - -webkit-transform: translateX(0px); - transform: translateX(0px); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch input[type="checkbox"] { - display: none; -} -.label-switch input[type="checkbox"]:checked + .checkbox { - background: #4cd964; -} -.label-switch input[type="checkbox"]:checked + .checkbox:before { - -webkit-transform: scale(0); - transform: scale(0); -} -.label-switch input[type="checkbox"]:checked + .checkbox:after { - -webkit-transform: translateX(20px); - transform: translateX(20px); -} -html.android .label-switch input[type="checkbox"] + .checkbox { - -webkit-transition-duration: 0; - transition-duration: 0; -} -html.android .label-switch input[type="checkbox"] + .checkbox:after, -html.android .label-switch input[type="checkbox"] + .checkbox:before { - -webkit-transition-duration: 0; - transition-duration: 0; -} -.button { - border: 1px solid #007aff; - color: #007aff; - text-decoration: none; - text-align: center; - display: block; - border-radius: 5px; - line-height: 27px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 29px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - font-size: 14px; - font-family: inherit; - cursor: pointer; - outline: 0; -} -input[type="submit"].button, -input[type="button"].button { - width: 100%; -} -html:not(.watch-active-state) .button:active, -.button.active-state { - background: rgba(0, 122, 255, 0.15); -} -.button.button-round { - border-radius: 27px; -} -.button.active { - background: #007aff; - color: #fff; -} -.button.button-big { - font-size: 17px; - height: 44px; - line-height: 42px; -} -.button.button-fill { - color: #fff; - background: #007aff; - border-color: transparent; -} -html:not(.watch-active-state) .button.button-fill:active, -.button.button-fill.active-state { - opacity: 0.8; -} -.button i.icon:first-child { - margin-right: 10px; -} -.button i.icon:last-child { - margin-left: 10px; -} -.button i.icon:first-child:last-child { - margin-left: 0; - margin-right: 0; -} -.buttons-row { - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.buttons-row .button { - border-radius: 0 0 0 0; - border-left-width: 0; - width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1; -} -.buttons-row .button:first-child { - border-radius: 5px 0 0 5px; - border-left-width: 1px; - border-left-style: solid; -} -.buttons-row .button:last-child { - border-radius: 0 5px 5px 0; -} -.buttons-row .button:first-child:last-child { - border-radius: 5px; -} -.buttons-row .button.button-round:first-child { - border-radius: 27px 0 0 27px; -} -.buttons-row .button.button-round:last-child { - border-radius: 0 27px 27px 0; -} -.range-slider { - width: 100%; - position: relative; - overflow: hidden; - padding-left: 3px; - padding-right: 3px; - margin-left: -1px; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.range-slider input[type="range"] { - position: relative; - height: 28px; - width: 100%; - margin: 4px 0 5px 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #b7b8b7), color-stop(100%, #b7b8b7)); - background: linear-gradient(to right, #b7b8b7 0, #b7b8b7 100%); - background-position: center; - background-size: 100% 2px; - background-repeat: no-repeat; - outline: 0; - border: none; - box-sizing: content-box; - -ms-background-position-y: 500px; -} -.range-slider input[type="range"]:focus, -.range-slider input[type="range"]:active { - border: 0; - outline: 0; -} -.range-slider input[type="range"]:after { - height: 2px; - background: #fff; - content: ' '; - width: 5px; - top: 50%; - margin-top: -1px; - left: -5px; - z-index: 1; - position: absolute; -} -.range-slider input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - height: 28px; - width: 28px; - position: relative; - background: none; -} -.range-slider input[type="range"]::-webkit-slider-thumb:after { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); - border: 0; - outline: 0; - position: absolute; - box-sizing: border-box; - content: ' '; - left: 0; - top: 0; -} -.range-slider input[type="range"]::-webkit-slider-thumb:before { - position: absolute; - top: 50%; - right: 100%; - width: 2000px; - height: 2px; - margin-top: -1px; - z-index: 1; - background: #007aff; - content: ' '; -} -.range-slider input[type="range"]::-moz-range-track { - width: 100%; - height: 2px; - background: #b7b8b7; - border: none; - outline: 0; -} -.range-slider input[type="range"]::-moz-range-thumb { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); - border: 0; - outline: 0; - position: absolute; - box-sizing: border-box; - content: ' '; -} -.range-slider input[type="range"]::-ms-track { - width: 100%; - height: 2px; - cursor: pointer; - background: transparent; - border-color: transparent; - color: transparent; -} -.range-slider input[type="range"]::-ms-thumb { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4); - border: 0; - outline: 0; - position: absolute; - content: ' '; - box-shadow: none; - border: 1px solid rgba(0, 0, 0, 0.2); - box-sizing: border-box; - margin-top: 0; - top: 50%; -} -.range-slider input[type="range"]::-ms-fill-lower { - background: #007aff; -} -.range-slider input[type="range"]::-ms-fill-upper { - background: #b7b8b7; -} -label.label-checkbox { - cursor: pointer; -} -label.label-checkbox i.icon-form-checkbox { - width: 22px; - height: 22px; - position: relative; - border-radius: 22px; - border: 1px solid #c7c7cc; - box-sizing: border-box; -} -label.label-checkbox i.icon-form-checkbox:after { - content: ' '; - position: absolute; - left: 50%; - margin-left: -6px; - top: 50%; - margin-top: -4px; - width: 12px; - height: 9px; -} -label.label-checkbox input[type="checkbox"], -label.label-checkbox input[type="radio"] { - display: none; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - border: none; - background-color: #007aff; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox:after { - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20x%3D'0px'%20y%3D'0px'%20viewBox%3D'0%200%2012%209'%20xml%3Aspace%3D'preserve'%3E%3Cpolygon%20fill%3D'%23ffffff'%20points%3D'12%2C0.7%2011.3%2C0%203.9%2C7.4%200.7%2C4.2%200%2C4.9%203.9%2C8.8%203.9%2C8.8%203.9%2C8.8%20'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 12px 9px; - background-size: 12px 9px; -} -label.label-radio { - cursor: pointer; -} -label.label-radio input[type="checkbox"], -label.label-radio input[type="radio"] { - display: none; -} -label.label-radio input[type="checkbox"] ~ .item-inner, -label.label-radio input[type="radio"] ~ .item-inner { - padding-right: 35px; -} -label.label-radio input[type="checkbox"]:checked ~ .item-inner, -label.label-radio input[type="radio"]:checked ~ .item-inner { - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2013%2010'%3E%3Cpolygon%20fill%3D'%23007aff'%20points%3D'11.6%2C0%204.4%2C7.2%201.4%2C4.2%200%2C5.6%204.4%2C10%204.4%2C10%204.4%2C10%2013%2C1.4%20'%2F%3E%3C%2Fsvg%3E"); - background-position: 90% center; - background-position: -webkit-calc(100% - 15px) center; - background-position: calc(100% - 15px) center; - -webkit-background-size: 13px 10px; - background-size: 13px 10px; -} -label.label-checkbox, -label.label-radio { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -html:not(.watch-active-state) label.label-checkbox:active, -html:not(.watch-active-state) label.label-radio:active, -label.label-checkbox.active-state, -label.label-radio.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) label.label-checkbox:active .item-inner:after, -html:not(.watch-active-state) label.label-radio:active .item-inner:after, -label.label-checkbox.active-state .item-inner:after, -label.label-radio.active-state .item-inner:after { - background-color: transparent; -} -.smart-select select { - display: none; -} -/* === Floating Action Button === */ -.floating-button { - position: absolute; - right: 15px; - bottom: 15px; - width: 50px; - height: 50px; - border-radius: 50%; - z-index: 1500; - background-color: #007aff; - color: #fff; - overflow: hidden; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -html:not(.watch-active-state) .floating-button:active, -.floating-button.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background: #0066d6; -} -.toolbar-fixed .floating-button, -.toolbar-through .floating-button { - bottom: 59px; -} -.tabbar-labels-fixed .floating-button, -.tabbar-labels-through .floating-button { - bottom: 65px; -} -@media (min-width: 768px) { - .tabbar-labels-fixed .floating-button, - .tabbar-labels-through .floating-button { - bottom: 71px; - } -} -.floating-button-toolbar, -.speed-dial { - position: absolute; - right: 15px; - bottom: 15px; - z-index: 1500; -} -.toolbar-fixed .floating-button-toolbar, -.toolbar-fixed .speed-dial, -.toolbar-through .floating-button-toolbar, -.toolbar-through .speed-dial { - bottom: 59px; -} -.tabbar-labels-fixed .floating-button-toolbar, -.tabbar-labels-fixed .speed-dial, -.tabbar-labels-through .floating-button-toolbar, -.tabbar-labels-through .speed-dial { - bottom: 65px; -} -@media (min-width: 768px) { - .tabbar-labels-fixed .floating-button-toolbar, - .tabbar-labels-fixed .speed-dial, - .tabbar-labels-through .floating-button-toolbar, - .tabbar-labels-through .speed-dial { - bottom: 71px; - } -} -.floating-button-toolbar .floating-button, -.speed-dial .floating-button { - right: 0; - bottom: 0; - position: relative; -} -.speed-dial .floating-button i { - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.speed-dial .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - opacity: 1; -} -.speed-dial-buttons { - position: absolute; - width: 40px; - left: 50%; - margin-left: -20px; - bottom: 100%; - margin-bottom: 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -moz-box-orient: vertical; - -moz-box-direction: reverse; - -ms-flex-direction: column-reverse; - -webkit-flex-direction: column-reverse; - flex-direction: column-reverse; - visibility: hidden; - pointer-events: none; -} -.speed-dial-buttons a { - width: 40px; - height: 40px; - opacity: 0; - color: #fff; - border-radius: 50%; - position: relative; - z-index: 1; - overflow: hidden; - background-color: #007aff; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-transform: translate3d(0, 8px, 0) scale(0.3); - transform: translate3d(0, 8px, 0) scale(0.3); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} -.speed-dial-buttons a + a { - margin-bottom: 16px; -} -html:not(.watch-active-state) .speed-dial-buttons a:active, -.speed-dial-buttons a.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background: #0066d6; -} -.speed-dial-opened .speed-dial-buttons { - visibility: visible; - pointer-events: auto; -} -.speed-dial-opened .speed-dial-buttons a { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scaleY(1); - transform: translate3d(0, 0, 0) scaleY(1); -} -.speed-dial-opened .speed-dial-buttons a:nth-child(2) { - -webkit-transition-delay: 50ms; - transition-delay: 50ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(3) { - -webkit-transition-delay: 100ms; - transition-delay: 100ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(4) { - -webkit-transition-delay: 150ms; - transition-delay: 150ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(5) { - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(6) { - -webkit-transition-delay: 250ms; - transition-delay: 250ms; -} -.floating-button-to-popover.floating-button-to-popover { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-in { - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-in i { - opacity: 0; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-scale { - border-radius: 0; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - box-shadow: none; -} -.floating-button-to-popover.floating-button-to-popover-out { - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-out i { - opacity: 1; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -/* === Accordion === */ -.list-block .accordion-item-toggle { - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .accordion-item-toggle .item-inner { - padding-right: 35px; - background: no-repeat -webkit-calc(100% - 15px) center; - background: no-repeat calc(100% - 15px) center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active, -.list-block .accordion-item-toggle.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active > .item-inner:after, -.list-block .accordion-item-toggle.active-state > .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item-toggle .item-inner, -.list-block .accordion-item > .item-link .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: background-color; - transition-property: background-color; -} -.list-block .accordion-item-toggle .item-inner:after, -.list-block .accordion-item > .item-link .item-inner:after { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, -.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, -.list-block.media-list .accordion-item-expanded > .item-link .item-title-row, -.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, -.list-block .accordion-item-expanded.media-item > .item-link .item-title-row { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(115%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 20px 20px; -} -.list-block .accordion-item-expanded .accordion-item-toggle .item-inner:after, -.list-block .accordion-item-expanded > .item-link .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item .content-block, -.list-block .accordion-item .list-block { - margin-top: 0; - margin-bottom: 0; -} -.list-block .accordion-item ul { - padding-left: 0; -} -.accordion-item-content { - position: relative; - overflow: hidden; - height: 0; - font-size: 14px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.accordion-item-expanded > .accordion-item-content { - height: auto; -} -html.android-4 .accordion-item-content { - -webkit-transform: none; - transform: none; -} -/* === Cards === */ -.cards-list ul, -.card .list-block ul { - background: none; -} -.cards-list > ul:before, -.card .list-block > ul:before { - display: none; -} -.cards-list > ul:after, -.card .list-block > ul:after { - display: none; -} -.card { - background: #fff; - box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.3); - margin: 10px; - position: relative; - border-radius: 2px; - font-size: 14px; -} -.card .list-block, -.card .content-block { - margin: 0; -} -.row:not(.no-gutter) .col > .card { - margin-left: 0; - margin-right: 0; -} -.card-content { - position: relative; -} -.card-content-inner { - padding: 15px; - position: relative; -} -.card-content-inner > p:first-child { - margin-top: 0; -} -.card-content-inner > p:last-child { - margin-bottom: 0; -} -.card-content-inner > .list-block, -.card-content-inner > .content-block { - margin: -15px; -} -.card-header, -.card-footer { - min-height: 44px; - position: relative; - padding: 10px 15px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.card-header[valign="top"], -.card-footer[valign="top"] { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.card-header[valign="bottom"], -.card-footer[valign="bottom"] { - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.card-header a.link, -.card-footer a.link { - line-height: 44px; - height: 44px; - text-decoration: none; - position: relative; - margin-top: -10px; - margin-bottom: -10px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -html:not(.watch-active-state) .card-header a.link:active, -html:not(.watch-active-state) .card-footer a.link:active, -.card-header a.link.active-state, -.card-footer a.link.active-state { - opacity: 0.3; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.card-header a.link i + span, -.card-footer a.link i + span, -.card-header a.link i + i, -.card-footer a.link i + i, -.card-header a.link span + i, -.card-footer a.link span + i, -.card-header a.link span + span, -.card-footer a.link span + span { - margin-left: 7px; -} -.card-header a.link i.icon, -.card-footer a.link i.icon { - display: block; -} -.card-header a.icon-only, -.card-footer a.icon-only { - min-width: 44px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 0; -} -.card-header { - border-radius: 2px 2px 0 0; - font-size: 17px; -} -.card-header:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .card-header:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-header:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-header.no-border:after { - display: none; -} -.card-footer { - border-radius: 0 0 2px 2px; - color: #6d6d72; -} -.card-footer:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .card-footer:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-footer:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-footer.no-border:before { - display: none; -} -/* === Modals === */ -.modal-overlay, -.preloader-indicator-overlay, -.popup-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.4); - z-index: 13000; - visibility: hidden; - opacity: 0; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.modal-overlay.modal-overlay-visible, -.preloader-indicator-overlay.modal-overlay-visible, -.popup-overlay.modal-overlay-visible { - visibility: visible; - opacity: 1; -} -.popup-overlay { - z-index: 10500; -} -.modal { - width: 270px; - position: absolute; - z-index: 13500; - left: 50%; - margin-left: -135px; - margin-top: 0; - top: 50%; - text-align: center; - border-radius: 13px; - overflow: hidden; - opacity: 0; - -webkit-transform: translate3d(0, 0, 0) scale(1.185); - transform: translate3d(0, 0, 0) scale(1.185); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -ms-transition-property: -ms-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - color: #000; - display: none; -} -.modal.modal-in { - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} -.modal.modal-out { - opacity: 0; - z-index: 13499; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} -.modal-inner { - padding: 15px; - border-radius: 13px 13px 0 0; - position: relative; - background: rgba(255, 255, 255, 0.95); -} -.modal-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .modal-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .modal-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.modal-title { - font-weight: 500; - font-size: 18px; - text-align: center; -} -html.ios-gt-8 .modal-title { - font-weight: 600; -} -.modal-title + .modal-text { - margin-top: 5px; -} -.modal-buttons { - height: 44px; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.modal-buttons.modal-buttons-vertical { - display: block; - height: auto; -} -.modal-button { - width: 100%; - padding: 0 5px; - height: 44px; - font-size: 17px; - line-height: 44px; - text-align: center; - color: #007aff; - display: block; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - cursor: pointer; - box-sizing: border-box; - -webkit-box-flex: 1; - -ms-flex: 1; - background: rgba(255, 255, 255, 0.95); -} -.modal-button:after { - content: ''; - position: absolute; - right: 0; - top: 0; - left: auto; - bottom: auto; - width: 1px; - height: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 100% 50%; - transform-origin: 100% 50%; -} -html.pixel-ratio-2 .modal-button:after { - -webkit-transform: scaleX(0.5); - transform: scaleX(0.5); -} -html.pixel-ratio-3 .modal-button:after { - -webkit-transform: scaleX(0.33); - transform: scaleX(0.33); -} -.modal-button:first-child { - border-radius: 0 0 0 13px; -} -.modal-button:last-child { - border-radius: 0 0 13px 0; -} -.modal-button:last-child:after { - display: none; -} -.modal-button:first-child:last-child { - border-radius: 0 0 13px 13px; -} -.modal-button.modal-button-bold { - font-weight: 500; -} -html.ios-gt-8 .modal-button.modal-button-bold { - font-weight: 600; -} -html:not(.watch-active-state) .modal-button:active, -.modal-button.active-state { - background: rgba(230, 230, 230, 0.95); -} -.modal-buttons-vertical .modal-button { - border-radius: 0; -} -.modal-buttons-vertical .modal-button:after { - display: none; -} -.modal-buttons-vertical .modal-button:before { - display: none; -} -.modal-buttons-vertical .modal-button:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .modal-buttons-vertical .modal-button:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .modal-buttons-vertical .modal-button:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.modal-buttons-vertical .modal-button:last-child { - border-radius: 0 0 13px 13px; -} -.modal-buttons-vertical .modal-button:last-child:after { - display: none; -} -.modal-no-buttons .modal-inner { - border-radius: 13px; -} -.modal-no-buttons .modal-inner:after { - display: none; -} -.modal-no-buttons .modal-buttons { - display: none; -} -.actions-modal { - position: absolute; - left: 0; - bottom: 0; - z-index: 13500; - width: 100%; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - max-height: 100%; - overflow: auto; - -webkit-overflow-scrolling: touch; -} -@media (min-width: 496px) { - .actions-modal { - width: 480px; - left: 50%; - margin-left: -240px; - } -} -.actions-modal.modal-in { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.actions-modal.modal-out { - z-index: 13499; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.actions-modal-group { - margin: 8px; - position: relative; - border-radius: 13px; - overflow: hidden; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.actions-modal-button, -.actions-modal-label { - width: 100%; - text-align: center; - font-weight: normal; - margin: 0; - background: rgba(255, 255, 255, 0.95); - box-sizing: border-box; - display: block; - position: relative; - overflow: hidden; -} -.actions-modal-button:after, -.actions-modal-label:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-modal-button:after, -html.pixel-ratio-2 .actions-modal-label:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-modal-button:after, -html.pixel-ratio-3 .actions-modal-label:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-modal-button a, -.actions-modal-label a { - text-decoration: none; - color: inherit; - display: block; -} -.actions-modal-button b, -.actions-modal-label b { - font-weight: 500; -} -html.ios-gt-8 .actions-modal-button b, -html.ios-gt-8 .actions-modal-label b { - font-weight: 600; -} -.actions-modal-button.actions-modal-button-bold, -.actions-modal-label.actions-modal-button-bold { - font-weight: 500; -} -html.ios-gt-8 .actions-modal-button.actions-modal-button-bold, -html.ios-gt-8 .actions-modal-label.actions-modal-button-bold { - font-weight: 600; -} -.actions-modal-button.actions-modal-button-red, -.actions-modal-label.actions-modal-button-red { - color: #ff3b30; -} -.actions-modal-button:first-child, -.actions-modal-label:first-child { - border-radius: 13px 13px 0 0; -} -.actions-modal-button:last-child, -.actions-modal-label:last-child { - border-radius: 0 0 13px 13px; -} -.actions-modal-button:last-child:after, -.actions-modal-label:last-child:after { - display: none; -} -.actions-modal-button:first-child:last-child, -.actions-modal-label:first-child:last-child { - border-radius: 13px; -} -.actions-modal-button.disabled, -.actions-modal-label.disabled { - opacity: 0.9; - color: #8e8e93; -} -.actions-modal-button { - cursor: pointer; - height: 57px; - line-height: 57px; - font-size: 20px; - color: #007aff; - white-space: normal; - text-overflow: ellipsis; -} -html:not(.watch-active-state) .actions-modal-button:active, -.actions-modal-button.active-state { - background: rgba(230, 230, 230, 0.9); -} -.actions-modal-label { - font-size: 13px; - line-height: 1.3; - min-height: 57px; - padding: 8px 10px; - color: #8a8a8a; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -@media (orientation: landscape) { - .actions-modal-label { - min-height: 44px; - } - .actions-modal-button { - height: 44px; - line-height: 44px; - } -} -input.modal-text-input { - box-sizing: border-box; - height: 26px; - background: #fff; - margin: 0; - margin-top: 15px; - padding: 0 5px; - border: 1px solid rgba(0, 0, 0, 0.3); - border-radius: 0; - width: 100%; - font-size: 14px; - font-family: inherit; - display: block; - box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; -} -input.modal-text-input + input.modal-text-input { - margin-top: 5px; -} -.modal-input-double + .modal-input-double input.modal-text-input { - border-top: 0; - margin-top: 0; -} -.popover { - width: 320px; - background: rgba(255, 255, 255, 0.95); - z-index: 13500; - margin: 0; - top: 0; - opacity: 0; - left: 0; - border-radius: 13px; - position: absolute; - display: none; - -webkit-transform: none; - transform: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -ms-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; -} -.popover.modal-in { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 1; -} -.popover .list-block { - margin: 0; -} -.popover .list-block ul { - background: none; -} -.popover .list-block:first-child ul { - border-radius: 13px 13px 0 0; -} -.popover .list-block:first-child ul:before { - display: none; -} -.popover .list-block:first-child li:first-child a { - border-radius: 13px 13px 0 0; -} -.popover .list-block:last-child ul { - border-radius: 0 0 13px 13px; -} -.popover .list-block:last-child ul:after { - display: none; -} -.popover .list-block:last-child li:last-child a { - border-radius: 0 0 13px 13px; -} -.popover .list-block:first-child:last-child li:first-child:last-child a, -.popover .list-block:first-child:last-child ul:first-child:last-child { - border-radius: 13px; -} -.popover .list-block + .list-block { - margin-top: 35px; -} -.popover-angle { - width: 26px; - height: 26px; - position: absolute; - left: -26px; - top: 0; - z-index: 100; - overflow: hidden; -} -.popover-angle:after { - content: ' '; - background: rgba(255, 255, 255, 0.95); - width: 26px; - height: 26px; - position: absolute; - left: 0; - top: 0; - border-radius: 3px; - -webkit-transform: rotate(45deg); - transform: rotate(45deg); -} -.popover-angle.on-left { - left: -26px; -} -.popover-angle.on-left:after { - left: 19px; - top: 0; -} -.popover-angle.on-right { - left: 100%; -} -.popover-angle.on-right:after { - left: -19px; - top: 0; -} -.popover-angle.on-top { - left: 0; - top: -26px; -} -.popover-angle.on-top:after { - left: 0; - top: 19px; -} -.popover-angle.on-bottom { - left: 0; - top: 100%; -} -.popover-angle.on-bottom:after { - left: 0; - top: -19px; -} -.popover-inner { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.actions-popover .list-block + .list-block { - margin-top: 20px; -} -.actions-popover .list-block ul { - background: #fff; -} -.actions-popover-label { - padding: 8px 10px; - color: #8a8a8a; - font-size: 13px; - line-height: 1.3; - text-align: center; - position: relative; -} -.actions-popover-label:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.2); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-popover-label:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-popover-label:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-popover-label:last-child:after { - display: none; -} -.popup, -.login-screen { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11000; - background: #fff; - box-sizing: border-box; - display: none; - overflow: auto; - -webkit-overflow-scrolling: touch; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.popup.modal-in, -.login-screen.modal-in, -.popup.modal-out, -.login-screen.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.popup.modal-in, -.login-screen.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.popup.modal-out, -.login-screen.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.login-screen.modal-in, -.login-screen.modal-out { - display: block; -} -@media all and (min-width: 630px) and (min-height: 630px) { - .popup:not(.tablet-fullscreen) { - width: 630px; - height: 630px; - left: 50%; - top: 50%; - margin-left: -315px; - margin-top: -315px; - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } - .popup:not(.tablet-fullscreen).modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .popup:not(.tablet-fullscreen).modal-out { - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } -} -@media all and (max-width: 629px), (max-height: 629px) { - html.with-statusbar-overlay .popup { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; - } - html.with-statusbar-overlay .popup-overlay { - z-index: 9500; - } -} -html.with-statusbar-overlay .login-screen, -html.with-statusbar-overlay .popup.tablet-fullscreen { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.modal .preloader { - width: 34px; - height: 34px; -} -.preloader-indicator-overlay { - visibility: visible; - opacity: 0; - background: none; -} -.preloader-indicator-modal { - position: absolute; - left: 50%; - top: 50%; - padding: 8px; - margin-left: -25px; - margin-top: -25px; - background: rgba(0, 0, 0, 0.8); - z-index: 13500; - border-radius: 5px; -} -.preloader-indicator-modal .preloader { - display: block; - width: 34px; - height: 34px; -} -.picker-modal { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 260px; - z-index: 12500; - display: none; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - background: #cfd5da; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal.modal-in, -.picker-modal.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.picker-modal.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal .picker-modal-inner { - height: 100%; - position: relative; -} -.picker-modal .toolbar { - position: relative; - width: 100%; - background: #f7f7f8; -} -.picker-modal .toolbar:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #929499; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .picker-modal .toolbar:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-modal .toolbar:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-modal .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 44px); - height: -moz-calc(100% - 44px); - height: calc(100% - 44px); -} -.picker-modal.picker-modal-inline, -.popover .picker-modal { - display: block; - position: relative; - background: none; - z-index: inherit; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.picker-modal-inline .toolbar:before, -.popover .picker-modal .toolbar:before { - display: none; -} -.picker-modal.picker-modal-inline .toolbar:after, -.popover .picker-modal .toolbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #929499; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-modal.picker-modal-inline .toolbar:after, -html.pixel-ratio-2 .popover .picker-modal .toolbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-modal.picker-modal-inline .toolbar:after, -html.pixel-ratio-3 .popover .picker-modal .toolbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.popover .picker-modal { - width: auto; -} -.popover .picker-modal .toolbar { - background: none; -} -.picker-modal.smart-select-picker .page { - background: #fff; -} -.picker-modal.smart-select-picker .toolbar:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-modal.smart-select-picker .toolbar:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-modal.smart-select-picker .toolbar:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-modal.smart-select-picker .list-block { - margin: 0; -} -.picker-modal.smart-select-picker .list-block ul:before { - display: none; -} -.picker-modal.smart-select-picker .list-block ul:after { - display: none; -} -/* === Panels === */ -.panel-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0); - opacity: 0; - z-index: 5999; - display: none; -} -.panel { - z-index: 1000; - display: none; - background: #111; - box-sizing: border-box; - overflow: auto; - -webkit-overflow-scrolling: touch; - position: absolute; - width: 260px; - top: 0; - height: 100%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.panel.panel-left.panel-cover { - z-index: 6000; - left: -260px; -} -.panel.panel-left.panel-reveal { - left: 0; -} -.panel.panel-right.panel-cover { - z-index: 6000; - right: -260px; -} -.panel.panel-right.panel-reveal { - right: 0; -} -body.with-panel-left-cover .views, -body.with-panel-right-cover .views { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body.with-panel-left-cover .panel-overlay, -body.with-panel-right-cover .panel-overlay { - display: block; -} -body.with-panel-left-reveal .views, -body.with-panel-right-reveal .views { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; -} -body.with-panel-left-reveal .panel-overlay, -body.with-panel-right-reveal .panel-overlay { - display: block; -} -body.with-panel-left-reveal .views { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-left-reveal .panel-overlay { - margin-left: 260px; -} -body.with-panel-left-cover .panel-left { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-right-reveal .views { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.with-panel-right-reveal .panel-overlay { - margin-left: -260px; -} -body.with-panel-right-cover .panel-right { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.panel-closing .views { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; -} -/* === Images Lazy Loading === */ -.lazy-loaded.lazy-fadeIn { - -webkit-animation: lazyFadeIn 600ms; - animation: lazyFadeIn 600ms; -} -@-webkit-keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -/* === Tabs === */ -.tabs .tab { - display: none; -} -.tabs .tab.active { - display: block; -} -.tabs-animated-wrap { - position: relative; - width: 100%; - overflow: hidden; - height: 100%; -} -.tabs-animated-wrap > .tabs { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.tabs-animated-wrap > .tabs > .tab { - width: 100%; - display: block; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.tabs-swipeable-wrap { - height: 100%; -} -.tabs-swipeable-wrap > .tabs > .tab { - display: block; -} -/* === Messages === */ -.messages-content { - background: #fff; -} -.messages { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.messages-date { - text-align: center; - font-weight: 500; - font-size: 11px; - line-height: 1; - margin: 10px 15px; - color: #8e8e93; -} -html.ios-gt-8 .messages-date { - font-weight: 600; -} -.messages-date span { - font-weight: 400; -} -.message { - box-sizing: border-box; - margin: 1px 10px 0; - max-width: 70%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.message:first-child { - margin-top: 10px; -} -.message .message-text { - box-sizing: border-box; - border-radius: 16px; - padding: 6px 16px 9px; - min-width: 48px; - min-height: 35px; - font-size: 17px; - line-height: 1.2; - word-break: break-word; -} -.message .message-text img { - max-width: 100%; - height: auto; -} -.message.message-pic .message-text { - padding: 0; - background: none; -} -.message.message-pic img { - display: block; - border-radius: 16px; -} -.message-name { - font-size: 12px; - line-height: 1; - color: #8e8e93; - margin-bottom: 2px; - margin-top: 7px; -} -.message-hide-name .message-name { - display: none; -} -.message-label { - font-size: 12px; - line-height: 1; - color: #8e8e93; - margin-top: 4px; -} -.message-hide-label .message-label { - display: none; -} -.message-avatar { - width: 29px; - height: 29px; - border-radius: 100%; - margin-top: -29px; - position: relative; - top: 1px; - background-size: cover; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.message-hide-avatar .message-avatar { - opacity: 0; -} -.message-date { - font-size: 12px; - margin-top: 4px; - opacity: 0.8; -} -.message-pic img + .message-date { - margin-top: 8px; -} -.message-sent .message-date { - text-align: right; -} -.message-sent { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.message-sent .message-name { - margin-right: 16px; -} -.message-sent .message-label { - margin-right: 6px; -} -.message-sent.message-with-avatar .message-text { - margin-right: 29px; -} -.message-sent.message-with-avatar .message-name { - margin-right: 45px; -} -.message-sent.message-with-avatar .message-label { - margin-right: 34px; -} -.message-sent .message-text { - padding-right: 22px; - background-color: #00d449; - color: white; - margin-left: auto; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%; -} -.message-sent.message-last .message-text, -.message-sent.message-with-tail .message-text { - border-radius: 16px 16px 0 16px; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%; -} -.message-sent.message-last.message-pic img, -.message-sent.message-with-tail.message-pic img { - border-radius: 16px 16px 0 16px; -} -.message-received { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.message-received .message-text { - padding-left: 22px; - background-color: #e5e5ea; - color: #000; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%; -} -.message-received .message-name { - margin-left: 16px; -} -.message-received .message-label { - margin-left: 6px; -} -.message-received.message-with-avatar .message-text { - margin-left: 29px; -} -.message-received.message-with-avatar .message-name { - margin-left: 45px; -} -.message-received.message-with-avatar .message-label { - margin-left: 34px; -} -.message-received.message-last .message-text, -.message-received.message-with-tail .message-text { - border-radius: 16px 16px 16px 0; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%; -} -.message-received.message-last.message-pic img, -.message-received.message-with-tail.message-pic img { - border-radius: 16px 16px 16px 0; -} -.message-last { - margin-bottom: 8px; -} -.message-appear-from-bottom { - -webkit-animation: messageAppearFromBottom 400ms; - animation: messageAppearFromBottom 400ms; -} -.message-appear-from-top { - -webkit-animation: messageAppearFromTop 400ms; - animation: messageAppearFromTop 400ms; -} -.messages-auto-layout .message-name, -.messages-auto-layout .message-label { - display: none; -} -.messages-auto-layout .message-avatar { - opacity: 0; -} -.messages-auto-layout .message-first .message-name { - display: block; -} -.messages-auto-layout .message-last .message-avatar { - opacity: 1; -} -.messages-auto-layout .message-last .message-label { - display: block; -} -html.retina.ios-6 .message, -html.retina.ios-6 .message.message-pic img { - -webkit-mask-box-image: none; - border-radius: 16px; -} -@-webkit-keyframes messageAppearFromBottom { - from { - -webkit-transform: translate3d(0, 100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromBottom { - from { - transform: translate3d(0, 100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes messageAppearFromTop { - from { - -webkit-transform: translate3d(0, -100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromTop { - from { - transform: translate3d(0, -100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -/* === Statusbar overlay === */ -html.with-statusbar-overlay body { - padding-top: 20px; - box-sizing: border-box; -} -html.with-statusbar-overlay body .statusbar-overlay { - display: block; -} -html.with-statusbar-overlay body .panel { - padding-top: 20px; -} -.statusbar-overlay { - background: #f7f7f8; - z-index: 10000; - position: absolute; - left: 0; - top: 0; - height: 20px; - width: 100%; - display: none; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -/* === Preloader === */ -.preloader { - display: inline-block; - width: 20px; - height: 20px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - background-position: 50%; - background-size: 100%; - background-repeat: no-repeat; - -webkit-animation: preloader-spin 1s steps(12, end) infinite; - animation: preloader-spin 1s steps(12, end) infinite; -} -@-webkit-keyframes preloader-spin { - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes preloader-spin { - 100% { - transform: rotate(360deg); - } -} -/* === Progress Bar === */ -.progressbar, -.progressbar-infinite { - height: 2px; - width: 100%; - overflow: hidden; - position: relative; - display: block; - background: #b6b6b6; - border-radius: 2px; - -webkit-transform-origin: center top; - transform-origin: center top; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.progressbar { - vertical-align: middle; -} -.progressbar span { - width: 100%; - background: #007aff; - height: 100%; - position: absolute; - left: 0; - top: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.progressbar-infinite:before { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #007aff; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - -webkit-animation: progressbar-infinite 1s linear infinite; - animation: progressbar-infinite 1s linear infinite; -} -html.with-statusbar-overlay body > .progressbar-infinite, -html.with-statusbar-overlay .framework7-root > .progressbar-infinite { - top: 20px; -} -.progressbar-infinite.color-multi { - background: none; -} -.progressbar-infinite.color-multi:before { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 400%; - height: 100%; - background-image: -webkit-linear-gradient(left, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964); - background-image: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964); - background-size: 25% 100%; - background-repeat: repeat-x; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-animation: progressbar-infinite-multicolor 3s linear infinite; - animation: progressbar-infinite-multicolor 3s linear infinite; -} -html.with-statusbar-overlay body > .progressbar-infinite.color-multi, -html.with-statusbar-overlay .framework7-root > .progressbar-infinite.color-multi { - top: 20px; -} -body > .progressbar, -.view > .progressbar, -.views > .progressbar, -.page > .progressbar, -.panel > .progressbar, -.popup > .progressbar, -.framework7-root > .progressbar, -body > .progressbar-infinite, -.view > .progressbar-infinite, -.views > .progressbar-infinite, -.page > .progressbar-infinite, -.panel > .progressbar-infinite, -.popup > .progressbar-infinite, -.framework7-root > .progressbar-infinite { - position: absolute; - left: 0; - top: 0; - z-index: 15000; - border-radius: 0; -} -.progressbar-in { - -webkit-animation: progressbar-in 300ms forwards; - animation: progressbar-in 300ms forwards; -} -.progressbar-out { - -webkit-animation: progressbar-out 300ms forwards; - animation: progressbar-out 300ms forwards; -} -html.with-statusbar-overlay body > .progressbar { - top: 20px; -} -@-webkit-keyframes progressbar-in { - from { - opacity: 0; - -webkit-transform: scaleY(0); - } - to { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes progressbar-in { - from { - opacity: 0; - transform: scaleY(0); - } - to { - opacity: 1; - transform: scaleY(1); - } -} -@-webkit-keyframes progressbar-out { - from { - opacity: 1; - -webkit-transform: scaleY(1); - } - to { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes progressbar-out { - from { - opacity: 1; - transform: scaleY(1); - } - to { - opacity: 0; - transform: scaleY(0); - } -} -@-webkit-keyframes progressbar-infinite { - 0% { - -webkit-transform: translate3d(-50%, 0, 0) scaleX(0.5); - } - 100% { - -webkit-transform: translate3d(100%, 0, 0) scaleX(0.5); - } -} -@keyframes progressbar-infinite { - 0% { - transform: translate3d(-50%, 0, 0) scaleX(0.5); - } - 100% { - transform: translate3d(100%, 0, 0) scaleX(0.5); - } -} -@-webkit-keyframes progressbar-infinite-multicolor { - from { - -webkit-transform: translate3d(0%, 0, 0); - } - to { - -webkit-transform: translate3d(-50%, 0, 0); - } -} -@keyframes progressbar-infinite-multicolor { - from { - transform: translate3d(0%, 0, 0); - } - to { - transform: translate3d(-50%, 0, 0); - } -} -/* === Pull To Refresh === */ -.pull-to-refresh-layer { - position: absolute; - position: relative; - margin-top: -44px; - left: 0; - top: 0; - width: 100%; - height: 44px; -} -.pull-to-refresh-layer .preloader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -10px; - margin-top: -10px; - visibility: hidden; -} -.pull-to-refresh-layer .pull-to-refresh-arrow { - width: 13px; - height: 20px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -6px; - margin-top: -10px; - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2026%2040'%3E%3Cpolygon%20points%3D'9%2C22%209%2C0%2017%2C0%2017%2C22%2026%2C22%2013.5%2C40%200%2C22'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E"); - background-size: 13px 20px; - z-index: 10; - -webkit-transform: rotate(0deg) translate3d(0, 0, 0); - transform: rotate(0deg) translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.pull-to-refresh-content.pull-to-refresh-no-navbar { - margin-top: -44px; - height: -webkit-calc(100% + 44px); - height: -moz-calc(100% + 44px); - height: calc(100% + 44px); -} -.pull-to-refresh-content.pull-to-refresh-no-navbar .pull-to-refresh-layer { - margin-top: 0; -} -.pull-to-refresh-content.transitioning, -.pull-to-refresh-content.refreshing { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.pull-to-refresh-content:not(.refreshing) .pull-to-refresh-layer .preloader { - -webkit-animation: none; - animation: none; -} -.pull-to-refresh-content.refreshing { - -webkit-transform: translate3d(0, 44px, 0); - transform: translate3d(0, 44px, 0); -} -.pull-to-refresh-content.refreshing .pull-to-refresh-arrow { - visibility: hidden; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.pull-to-refresh-content.refreshing .preloader { - visibility: visible; -} -.pull-to-refresh-content.pull-up .pull-to-refresh-arrow { - -webkit-transform: rotate(180deg) translate3d(0, 0, 0); - transform: rotate(180deg) translate3d(0, 0, 0); -} -/* === Infinite Scroll Preloader === */ -.infinite-scroll-preloader { - text-align: center; - padding: 5px 0; -} -/* === Autocomplete === */ -.autocomplete-page .autocomplete-found { - display: block; -} -.autocomplete-page .autocomplete-not-found { - display: none; -} -.autocomplete-page .autocomplete-values { - display: block; -} -.autocomplete-page .list-block ul:empty { - display: none; -} -.autocomplete-preloader:not(.autocomplete-preloader-visible) { - -webkit-animation: none; - animation: none; - visibility: hidden; -} -.autocomplete-dropdown { - background: #fff; - box-sizing: border-box; - position: absolute; - z-index: 500; - box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.2); - width: 100%; - left: 0; -} -.autocomplete-dropdown .autocomplete-dropdown-inner { - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; - height: 100%; - z-index: 1; -} -.autocomplete-dropdown .autocomplete-preloader { - display: none; - position: absolute; - right: 15px; - bottom: 100%; - margin-bottom: 12px; - width: 20px; - height: 20px; -} -.autocomplete-dropdown .autocomplete-preloader-visible { - display: block; -} -.autocomplete-dropdown .autocomplete-dropdown-placeholder { - color: #a9a9a9; -} -.autocomplete-dropdown .list-block { - margin: 0; -} -.autocomplete-dropdown .list-block ul { - background: none !important; -} -.autocomplete-dropdown .list-block ul:before { - display: none; -} -.autocomplete-dropdown .list-block ul:after { - display: none; -} -.autocomplete-dropdown .list-block b { - font-weight: 500; -} -html.ios-gt-8 .autocomplete-dropdown .list-block b { - font-weight: 600; -} -.list-block .item-content-dropdown-expand .item-title.label { - width: 0; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; -} -.list-block .item-content-dropdown-expand .item-title.label + .item-input { - margin-left: 0; -} -.list-block .item-content-dropdown-expand .item-input { - width: 100%; -} -/* === Swiper === */ -.swiper-container { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - /* Fix of Webkit flickering */ - z-index: 1; -} -.swiper-container-no-flexbox .swiper-slide { - float: left; -} -.swiper-container-vertical > .swiper-wrapper { - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-container-android .swiper-slide, -.swiper-wrapper { - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate(0px, 0px); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); -} -.swiper-container-multirow > .swiper-wrapper { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -ms-flex-wrap: wrap; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -.swiper-container-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-slide { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; -} -/* Auto Height */ -.swiper-container-autoheight, -.swiper-container-autoheight .swiper-slide { - height: auto; -} -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-transition-property: -webkit-transform, height; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform, height; -} -/* a11y */ -.swiper-container .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} -/* Arrows */ -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: 50%; - width: 27px; - height: 44px; - margin-top: -22px; - z-index: 10; - cursor: pointer; - -moz-background-size: 27px 44px; - -webkit-background-size: 27px 44px; - background-size: 27px 44px; - background-position: center; - background-repeat: no-repeat; -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev, -.swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - left: 10px; - right: auto; -} -.swiper-button-next, -.swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - right: 10px; - left: auto; -} -/* Pagination Styles */ -.swiper-pagination { - position: absolute; - text-align: center; - -webkit-transition: 300ms; - -moz-transition: 300ms; - -o-transition: 300ms; - transition: 300ms; - -webkit-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-container-horizontal > .swiper-pagination-bullets { - bottom: 10px; - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullet { - width: 8px; - height: 8px; - display: inline-block; - border-radius: 100%; - background: #000; - opacity: 0.2; -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet-active { - opacity: 1; - background: #007aff; -} -.swiper-container-vertical > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform: translate3d(0px, -50%, 0); - -moz-transform: translate3d(0px, -50%, 0); - -o-transform: translate(0px, -50%); - -ms-transform: translate3d(0px, -50%, 0); - transform: translate3d(0px, -50%, 0); -} -.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 5px 0; - display: block; -} -.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 5px; -} -/* Progress */ -.swiper-pagination-progress { - background: rgba(0, 0, 0, 0.25); - position: absolute; -} -.swiper-pagination-progress .swiper-pagination-progressbar { - background: #007aff; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: left top; - -moz-transform-origin: left top; - -ms-transform-origin: left top; - -o-transform-origin: left top; - transform-origin: left top; -} -.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - -moz-transform-origin: right top; - -ms-transform-origin: right top; - -o-transform-origin: right top; - transform-origin: right top; -} -.swiper-container-horizontal > .swiper-pagination-progress { - width: 100%; - height: 4px; - left: 0; - top: 0; -} -.swiper-container-vertical > .swiper-pagination-progress { - width: 4px; - height: 100%; - left: 0; - top: 0; -} -/* 3D Container */ -.swiper-container-3d { - -webkit-perspective: 1200px; - -moz-perspective: 1200px; - -o-perspective: 1200px; - perspective: 1200px; -} -.swiper-container-3d .swiper-wrapper, -.swiper-container-3d .swiper-slide, -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom, -.swiper-container-3d .swiper-cube-shadow { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; -} -.swiper-container-3d .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -/* Coverflow */ -.swiper-container-coverflow .swiper-wrapper, -.swiper-container-flip .swiper-wrapper { - /* Windows 8 IE 10 fix */ - -ms-perspective: 1200px; -} -/* Cube + Flip */ -.swiper-container-cube, -.swiper-container-flip { - overflow: visible; -} -.swiper-container-cube .swiper-slide, -.swiper-container-flip .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-container-cube .swiper-slide .swiper-slide, -.swiper-container-flip .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-flip .swiper-slide-active, -.swiper-container-cube .swiper-slide-active .swiper-slide-active, -.swiper-container-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-container-cube .swiper-slide-shadow-top, -.swiper-container-flip .swiper-slide-shadow-top, -.swiper-container-cube .swiper-slide-shadow-bottom, -.swiper-container-flip .swiper-slide-shadow-bottom, -.swiper-container-cube .swiper-slide-shadow-left, -.swiper-container-flip .swiper-slide-shadow-left, -.swiper-container-cube .swiper-slide-shadow-right, -.swiper-container-flip .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Cube */ -.swiper-container-cube .swiper-slide { - visibility: hidden; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-container-cube.swiper-container-rtl .swiper-slide { - -webkit-transform-origin: 100% 0; - -moz-transform-origin: 100% 0; - -ms-transform-origin: 100% 0; - transform-origin: 100% 0; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-cube .swiper-slide-next, -.swiper-container-cube .swiper-slide-prev, -.swiper-container-cube .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; -} -.swiper-container-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - background: #000; - opacity: 0.6; - -webkit-filter: blur(50px); - filter: blur(50px); - z-index: 0; -} -/* Fade */ -.swiper-container-fade.swiper-container-free-mode .swiper-slide { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.swiper-container-fade .swiper-slide { - pointer-events: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; -} -.swiper-container-fade .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-fade .swiper-slide-active, -.swiper-container-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-zoom-container { - width: 100%; - height: 100%; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -moz-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -moz-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - text-align: center; -} -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; -} -/* Scrollbar */ -.swiper-scrollbar { - border-radius: 10px; - position: relative; - -ms-touch-action: none; - background: rgba(0, 0, 0, 0.1); -} -.swiper-container-horizontal > .swiper-scrollbar { - position: absolute; - left: 1%; - bottom: 3px; - z-index: 50; - height: 5px; - width: 98%; -} -.swiper-container-vertical > .swiper-scrollbar { - position: absolute; - right: 3px; - top: 1%; - z-index: 50; - width: 5px; - height: 98%; -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: rgba(0, 0, 0, 0.5); - border-radius: 10px; - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -/* Preloader */ -.swiper-slide .preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; -} -/* === Photo Browser === */ -.photo-browser { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11500; -} -body > .photo-browser, -.framework7-root > .photo-browser { - opacity: 0; - display: none; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body > .photo-browser.photo-browser-in, -.framework7-root > .photo-browser.photo-browser-in { - display: block; - -webkit-animation: photoBrowserIn 400ms forwards; - animation: photoBrowserIn 400ms forwards; -} -body > .photo-browser.photo-browser-out, -.framework7-root > .photo-browser.photo-browser-out { - display: block; - -webkit-animation: photoBrowserOut 400ms forwards; - animation: photoBrowserOut 400ms forwards; -} -html.with-statusbar-overlay body > .photo-browser, -html.with-statusbar-overlay .framework7-root > .photo-browser { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.popup > .photo-browser .navbar, -body > .photo-browser .navbar, -.framework7-root > .photo-browser .navbar, -.popup > .photo-browser .toolbar, -body > .photo-browser .toolbar, -.framework7-root > .photo-browser .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.photo-browser .page[data-page="photo-browser-slides"] { - background: none; -} -.photo-browser-popup { - background: none; -} -.photo-browser .navbar, -.views .view[data-page="photo-browser-slides"] .navbar, -.photo-browser .toolbar, -.views .view[data-page="photo-browser-slides"] .toolbar { - background: rgba(247, 247, 247, 0.95); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .navbar, -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.photo-browser-exposed .navbar, -.photo-browser-exposed .toolbar { - opacity: 0; - visibility: hidden; - pointer-events: none; -} -.photo-browser-exposed .photo-browser-swiper-container { - background: #000; -} -.photo-browser-of { - margin: 0 5px; -} -.photo-browser-captions { - pointer-events: none; - position: absolute; - left: 0; - width: 100%; - bottom: 0; - z-index: 10; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-captions.photo-browser-captions-exposed { - opacity: 0; -} -.toolbar ~ .photo-browser-captions { - bottom: 44px; - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-exposed .toolbar ~ .photo-browser-captions { - -webkit-transform: translate3d(0, 44px, 0); - transform: translate3d(0, 44px, 0); -} -.toolbar ~ .photo-browser-captions.photo-browser-captions-exposed { - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-caption { - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - position: absolute; - bottom: 0; - left: 0; - opacity: 0; - padding: 4px 5px; - width: 100%; - text-align: center; - color: #fff; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-caption:empty { - display: none; -} -.photo-browser-caption.photo-browser-caption-active { - opacity: 1; -} -.photo-browser-captions-light .photo-browser-caption { - background: rgba(255, 255, 255, 0.8); - color: #000; -} -.photo-browser-exposed .photo-browser-caption { - color: #fff; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-swiper-container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: #fff; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-swiper-wrapper { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-link-inactive { - opacity: 0.3; -} -.photo-browser-slide { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - box-sizing: border-box; -} -.photo-browser-slide.transitioning { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-slide span.swiper-zoom-container { - display: none; -} -.photo-browser-slide img { - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - display: none; -} -.photo-browser-slide.swiper-slide-active span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-next span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-slide.swiper-slide-active img, -.photo-browser-slide.swiper-slide-next img, -.photo-browser-slide.swiper-slide-prev img { - display: inline; -} -.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader { - display: block; -} -.photo-browser-slide iframe { - width: 100%; - height: 100%; -} -.photo-browser-slide .preloader { - display: none; - position: absolute; - width: 42px; - height: 42px; - margin-left: -21px; - margin-top: -21px; - left: 50%; - top: 50%; -} -.photo-browser-dark .navbar, -.photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.photo-browser-dark .navbar:before, -.photo-browser-dark .toolbar:before { - display: none; -} -.photo-browser-dark .navbar:after, -.photo-browser-dark .toolbar:after { - display: none; -} -.photo-browser-dark .navbar a, -.photo-browser-dark .toolbar a { - color: #fff; -} -.photo-browser-dark .photo-browser-swiper-container { - background: #000; -} -@-webkit-keyframes photoBrowserIn { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@keyframes photoBrowserIn { - 0% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@-webkit-keyframes photoBrowserOut { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -@keyframes photoBrowserOut { - 0% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -/* === Columns Picker === */ -.picker-columns { - width: 100%; - height: 260px; - z-index: 11500; -} -.picker-columns.picker-modal-inline, -.popover .picker-columns { - height: 200px; -} -@media (orientation: landscape) and (max-height: 415px) { - .picker-columns:not(.picker-modal-inline) { - height: 200px; - } -} -.popover.popover-picker-columns { - width: 280px; -} -.picker-items { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - padding: 0; - text-align: right; - font-size: 24px; - -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); - -webkit-mask-box-image: linear-gradient(to top, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); -} -.picker-items-col { - overflow: hidden; - position: relative; - max-height: 100%; -} -.picker-items-col.picker-items-col-left { - text-align: left; -} -.picker-items-col.picker-items-col-center { - text-align: center; -} -.picker-items-col.picker-items-col-right { - text-align: right; -} -.picker-items-col.picker-items-col-divider { - color: #000; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.picker-items-col-wrapper { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.picker-item { - height: 36px; - line-height: 36px; - padding: 0 10px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - color: #707274; - left: 0; - top: 0; - width: 100%; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-items-col-absolute .picker-item { - position: absolute; -} -.picker-item.picker-item-far { - pointer-events: none; -} -.picker-item.picker-selected { - color: #000; - -webkit-transform: translate3d(0, 0, 0) rotateX(0deg); - transform: translate3d(0, 0, 0) rotateX(0deg); -} -.picker-center-highlight { - height: 36px; - box-sizing: border-box; - position: absolute; - left: 0; - width: 100%; - top: 50%; - margin-top: -18px; - pointer-events: none; -} -.picker-center-highlight:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #a8abb0; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .picker-center-highlight:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-center-highlight:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #a8abb0; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-center-highlight:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-3d .picker-items { - overflow: hidden; - -webkit-perspective: 1200px; - perspective: 1200px; -} -.picker-3d .picker-items-col, -.picker-3d .picker-items-col-wrapper, -.picker-3d .picker-item { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.picker-3d .picker-items-col { - overflow: visible; -} -.picker-3d .picker-item { - -webkit-transform-origin: center center -110px; - transform-origin: center center -110px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -/* === Calendar === */ -.picker-calendar { - background: #fff; - height: 320px; - width: 100%; - overflow: hidden; -} -@media (orientation: landscape) and (max-height: 415px) { - .picker-calendar:not(.picker-modal-inline) { - height: 220px; - } -} -.picker-calendar .picker-modal-inner { - overflow: hidden; -} -.popover-picker-calendar .picker-calendar { - height: 320px; -} -.popover.popover-picker-calendar { - width: 320px; -} -.picker-calendar-week-days { - height: 18px; - background: #f7f7f8; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - font-size: 11px; - box-sizing: border-box; - position: relative; -} -.picker-calendar-week-days:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-calendar-week-days:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-calendar-week-days:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-calendar-week-days .picker-calendar-week-day { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - line-height: 17px; - text-align: center; -} -.picker-calendar-week-days + .picker-calendar-months { - height: -webkit-calc(100% - 18px); - height: -moz-calc(100% - 18px); - height: calc(100% - 18px); -} -.picker-calendar-months { - width: 100%; - height: 100%; - overflow: hidden; - position: relative; -} -.picker-calendar-months-wrapper { - position: relative; - width: 100%; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-calendar-month { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.picker-calendar-row { - height: 16.66666667%; - height: -webkit-calc(100% / 6); - height: -moz-calc(100% / 6); - height: calc(100% / 6); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 100%; - position: relative; -} -.picker-calendar-row:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #ccc; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-calendar-row:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-calendar-row:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-calendar-row:last-child:after { - display: none; -} -.picker-calendar-day { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - box-sizing: border-box; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - text-align: center; - color: #000; - font-size: 15px; - cursor: pointer; - z-index: 20; - height: 100%; -} -.picker-calendar-day.picker-calendar-day-prev, -.picker-calendar-day.picker-calendar-day-next { - color: #b8b8b8; -} -.picker-calendar-day.picker-calendar-day-disabled { - color: #d4d4d4; - cursor: auto; -} -.picker-calendar-day.picker-calendar-day-today span { - background: #e3e3e3; -} -.picker-calendar-day.picker-calendar-day-selected span { - background: #007aff; - color: #fff; -} -.picker-calendar-day.picker-calendar-day-has-events span:after { - content: ''; - width: 4px; - height: 4px; - border-radius: 50%; - background: #ccc; - position: absolute; - margin-left: -2px; - left: 50%; - bottom: 1px; -} -.picker-calendar-day.picker-calendar-day-has-events.picker-calendar-day-selected span:after { - display: none; -} -.picker-calendar-day span { - display: inline-block; - border-radius: 100%; - width: 30px; - height: 30px; - line-height: 30px; - position: relative; -} -.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected { - -webkit-box-align: stretch; - -ms-flex-align: stretch; - -webkit-align-items: stretch; - align-items: stretch; - -ms-flex-line-pack: stretch; - -webkit-align-content: stretch; - align-content: stretch; -} -.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected span { - width: 100%; - border-radius: 0; - height: auto; - text-align: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.picker-calendar-month-picker, -.picker-calendar-year-picker { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - width: 50%; - max-width: 200px; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; -} -.picker-calendar-month-picker a.icon-only, -.picker-calendar-year-picker a.icon-only { - min-width: 36px; -} -.picker-calendar-month-picker span, -.picker-calendar-year-picker span { - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - overflow: hidden; - text-overflow: ellipsis; -} -.popover .picker-calendar .picker-calendar-week-days, -.picker-calendar.picker-modal-inline .picker-calendar-week-days { - background: none; -} -.popover .picker-calendar .toolbar:before, -.picker-calendar.picker-modal-inline .toolbar:before, -.popover .picker-calendar .picker-calendar-week-days:before, -.picker-calendar.picker-modal-inline .picker-calendar-week-days:before { - display: none; -} -.popover .picker-calendar .toolbar:after, -.picker-calendar.picker-modal-inline .toolbar:after, -.popover .picker-calendar .picker-calendar-week-days:after, -.picker-calendar.picker-modal-inline .picker-calendar-week-days:after { - display: none; -} -.popover .picker-calendar .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.picker-calendar.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -.popover .picker-calendar .picker-calendar-week-days ~ .picker-calendar-months:before, -.picker-calendar.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #c4c4c4; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .popover .picker-calendar .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-2 .picker-calendar.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-2 .popover .picker-calendar .picker-calendar-week-days ~ .picker-calendar-months:before, -html.pixel-ratio-2 .picker-calendar.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .popover .picker-calendar .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-3 .picker-calendar.picker-modal-inline .toolbar ~ .picker-modal-inner .picker-calendar-months:before, -html.pixel-ratio-3 .popover .picker-calendar .picker-calendar-week-days ~ .picker-calendar-months:before, -html.pixel-ratio-3 .picker-calendar.picker-modal-inline .picker-calendar-week-days ~ .picker-calendar-months:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -/* === Notifications === */ -.notifications { - position: absolute; - left: 0; - top: 0; - width: 100%; - z-index: 20000; - font-size: 14px; - margin: 0; - border: none; - display: none; - box-sizing: border-box; - max-height: 100%; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-perspective: 1200px; - perspective: 1200px; - padding-top: 8px; - padding-bottom: 8px; -} -.notifications.list-block > ul { - background: none; - margin: 0 auto; - max-width: 584px; -} -.notifications.list-block > ul:before { - display: none; -} -.notifications.list-block > ul:after { - display: none; -} -.with-statusbar-overlay .notifications { - padding-top: 20px; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); -} -.notifications .item-content { - padding-left: 8px; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.notifications .item-title-row { - margin-bottom: 8px; -} -.notifications .item-title-row:before { - position: absolute; - left: 0; - top: 0; - height: 36px; - border-radius: 12px 12px 0 0; - z-index: -1; - background: #fff; - content: ''; - width: 100%; -} -.notifications .item-title { - font-weight: 400 !important; - height: 36px; - text-transform: uppercase; - line-height: 35px; - font-size: 13px; -} -html.ios-gt-8 .notifications .item-title { - font-weight: 400 !important; -} -.notifications .item-subtitle { - font-size: 15px; - font-weight: 500; -} -html.ios-gt-8 .notifications .item-subtitle { - font-weight: 600; -} -.notifications .item-text { - font-size: 14px; - color: inherit; - height: auto; - line-height: inherit; -} -.notifications .item-subtitle:first-child, -.notifications .item-text:first-child { - margin-top: 8px; -} -.notifications .item-content, -.notifications .item-inner { - min-height: 0; -} -.notifications .item-inner { - position: static; -} -.notifications .item-inner:after { - display: none; -} -.notifications .item-media { - width: 20px; -} -.notifications .item-media img { - max-width: 20px; - max-height: 20px; -} -.notifications .item-media i.icon { - width: 20px; - height: 20px; - -webkit-background-size: cover; - background-size: cover; - background-position: center; - background-repeat: no-repeat; -} -.notifications .item-media + .item-inner { - margin-left: 8px; - overflow: visible; -} -.notifications li.notification-item { - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.15); -} -.notifications li.notification-item .item-inner { - padding-top: 0; -} -.notifications li.notification-item .item-media { - padding-top: 8px; -} -.notifications .item-after { - margin-top: auto; - margin-bottom: auto; -} -.notifications .close-notification { - width: 22px; - height: 22px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2044%2044'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cg%20stroke%3D'none'%20stroke-width%3D'1'%20fill%3D'none'%20fill-rule%3D'evenodd'%3E%3Cpath%20d%3D'M22.5%2C20.3786797%20L14.7218254%2C12.6005051%20L12.6005051%2C14.7218254%20L20.3786797%2C22.5%20L12.6005051%2C30.2781746%20L14.7218254%2C32.3994949%20L22.5%2C24.6213203%20L30.2781746%2C32.3994949%20L32.3994949%2C30.2781746%20L24.6213203%2C22.5%20L32.3994949%2C14.7218254%20L30.2781746%2C12.6005051%20L22.5%2C20.3786797%20Z%20M22%2C44%20C34.1502645%2C44%2044%2C34.1502645%2044%2C22%20C44%2C9.8497355%2034.1502645%2C0%2022%2C0%20C9.8497355%2C0%200%2C9.8497355%200%2C22%20C0%2C34.1502645%209.8497355%2C44%2022%2C44%20Z'%20fill%3D'%23000000'%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E"); - background-position: center top; - background-repeat: no-repeat; - -webkit-background-size: 100% auto; - background-size: 100% auto; - position: relative; - opacity: 0.2; -} -.notifications .close-notification span { - position: absolute; - width: 44px; - height: 44px; - left: 50%; - top: 50%; - margin-left: -22px; - margin-top: -22px; -} -.notifications .notification-item { - max-width: 568px; - margin: 0 auto 8px; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - background: rgba(250, 250, 250, 0.95); - border-radius: 12px; - width: -webkit-calc(100% - 16px); - width: -moz-calc(100% - 16px); - width: calc(100% - 16px); - position: absolute; - left: 8px; - top: 0; -} -.notifications .notification-item:last-child { - margin-bottom: 0; -} -.notifications .notification-hidden { - opacity: 0; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -/* === Login screen === */ -.login-screen-content { - background: #fff; -} -.login-screen-content .login-screen-title, -.login-screen-content .list-block, -.login-screen-content .content-block, -.login-screen-content .list-block-label { - max-width: 480px; - margin: 25px auto; -} -.login-screen-content .list-block ul { - background: none; -} -.login-screen-content .list-block ul:before { - display: none; -} -.login-screen-content .list-block ul:after { - display: none; -} -.login-screen-content .list-block-label { - text-align: center; -} -.login-screen-title { - text-align: center; - font-size: 30px; -} -/* === Disabled elements === */ -.disabled, -[disabled] { - opacity: 0.55; - pointer-events: none; -} -.disabled .disabled, -.disabled [disabled], -[disabled] .disabled, -[disabled] [disabled] { - opacity: 1; -} diff --git a/vendor/framework7/src/less/css/framework7.material.colors.css b/vendor/framework7/src/less/css/framework7.material.colors.css deleted file mode 100644 index ac53e7f84..000000000 --- a/vendor/framework7/src/less/css/framework7.material.colors.css +++ /dev/null @@ -1,8164 +0,0 @@ -/*========================== -Framework7 Layouts Themes -==========================*/ -/* === Dark layout === */ -.layout-dark .page, -.layout-dark .login-screen-content, -.page.layout-dark, -.layout-dark .panel, -.panel.layout-dark { - background-color: #222; - color: rgba(255, 255, 255, 0.87); -} -.layout-dark .content-block-title { - color: rgba(255, 255, 255, 0.87); -} -.layout-dark .content-block-inner:before { - background-color: #393939; -} -.layout-dark .content-block-inner:after { - background-color: #393939; -} -.layout-dark .popover .list-block ul { - background: none; -} -.layout-dark .card { - background: #1c1c1c; -} -.layout-dark .card-header:after { - background-color: #393939; -} -.layout-dark .card-footer { - color: #bbb; -} -.layout-dark .card-footer:before { - background-color: #393939; -} -.layout-dark .list-block ul:before, -.list-block.layout-dark ul:before { - background-color: #393939; -} -.layout-dark .list-block ul:after, -.list-block.layout-dark ul:after { - background-color: #393939; -} -.layout-dark .list-block.inset ul, -.list-block.layout-dark.inset ul { - background: #1c1c1c; -} -.layout-dark .list-block.notifications > ul, -.list-block.layout-dark.notifications > ul { - background: none; -} -.layout-dark li.sorting { - background-color: rgba(34, 34, 34, 0.8); -} -.layout-dark .swipeout-actions-left a, -.layout-dark .swipeout-actions-right a { - background-color: #444; -} -.layout-dark .item-inner:after, -.layout-dark .list-block ul ul li:last-child .item-inner:after { - background-color: #393939; -} -.layout-dark .item-after, -.layout-dark .item-text { - color: rgba(255, 255, 255, 0.7); -} -.layout-dark .list-block-label { - color: #bbb; -} -.layout-dark .item-divider, -.layout-dark .list-group-title { - background: #1a1a1a; - color: #bbb; -} -.layout-dark .item-divider:before, -.layout-dark .list-group-title:before { - background-color: #393939; -} -.layout-dark .contacts-block .list-group-title { - background: none; -} -.layout-dark .autocomplete-dropdown { - background: #1c1c1c; -} -.layout-dark .autocomplete-dropdown .list-block { - color: rgba(255, 255, 255, 0.54); -} -.layout-dark .autocomplete-dropdown .list-block b { - color: rgba(255, 255, 255, 0.87); -} -html:not(.watch-active-state) .layout-dark .item-link:active, -html:not(.watch-active-state) .layout-dark label.label-checkbox:active, -html:not(.watch-active-state) .layout-dark label.label-radio:active, -.layout-dark .item-link.active-state, -.layout-dark label.label-checkbox.active-state, -.layout-dark label.label-radio.active-state { - background-color: rgba(255, 255, 255, 0.05); -} -.layout-dark .list-block input[type="text"], -.layout-dark .list-block input[type="password"], -.layout-dark .list-block input[type="search"], -.layout-dark .list-block input[type="email"], -.layout-dark .list-block input[type="tel"], -.layout-dark .list-block input[type="url"], -.layout-dark .list-block input[type="date"], -.layout-dark .list-block input[type="datetime-local"], -.layout-dark .list-block input[type="time"], -.layout-dark .list-block input[type="number"], -.layout-dark .list-block select, -.layout-dark .list-block textarea { - color: #fff; -} -.layout-dark .list-block input[type="text"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="password"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="search"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="email"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="tel"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="url"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="date"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="datetime-local"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="time"]::-webkit-input-placeholder, -.layout-dark .list-block input[type="number"]::-webkit-input-placeholder, -.layout-dark .list-block select::-webkit-input-placeholder, -.layout-dark .list-block textarea::-webkit-input-placeholder { - color: rgba(255, 255, 255, 0.35); -} -.layout-dark .label-switch .checkbox { - background: rgba(255, 255, 255, 0.3); -} -.layout-dark .item-inner:not(.focus-state) .label, -.layout-dark .item-inner:not(.focus-state) .floating-label { - color: rgba(255, 255, 255, 0.7); -} -.layout-dark .item-inner:not(.focus-state):not(.not-empty-state) .item-input-field:after, -.layout-dark .item-inner:not(.focus-state):not(.not-empty-state) .input-field:after { - background-color: rgba(255, 255, 255, 0.12); -} -.layout-dark label.label-checkbox i.icon-form-checkbox { - border-color: rgba(255, 255, 255, 0.7); -} -.layout-dark label.label-radio i.icon-form-radio { - border-color: rgba(255, 255, 255, 0.7); -} -.layout-dark .item-link.list-button:after { - background-color: #393939; -} -.layout-dark .page-content .ripple-wave { - background: rgba(255, 255, 255, 0.3); -} -html:not(.watch-active-state) .layout-dark .button:not(.button-fill):active, -.layout-dark .button:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.1); -} -.layout-dark .chip { - background: rgba(255, 255, 255, 0.87); -} -/*========================== -Framework7 Color Themes -==========================*/ -.theme-red .button:not(.button-fill) { - color: #f44336; -} -.theme-red .navbar .button:not(.button-fill), -.theme-red.navbar .button:not(.button-fill), -.theme-red .toolbar .button:not(.button-fill), -.theme-red.toolbar .button:not(.button-fill), -.theme-red .subnavbar .button:not(.button-fill), -.theme-red.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-red .button.button-fill { - background: #f44336; - color: #fff; -} -html:not(.watch-active-state) .theme-red .button.button-fill:active, -.theme-red .button.button-fill.active-state { - background: #D32F2F; -} -.progressbar.theme-red, -.theme-red .progressbar { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar.theme-red span, -.theme-red .progressbar span { - background-color: #f44336; -} -.progressbar-infinite.theme-red, -.theme-red .progressbar-infinite { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar-infinite.theme-red:after, -.theme-red .progressbar-infinite:after, -.progressbar-infinite.theme-red:before, -.theme-red .progressbar-infinite:before { - background-color: #f44336; -} -.color-red i.icon, -i.icon.color-red { - color: #f44336; -} -i.icon-next.color-red, -i.icon-next.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-red, -i.icon-prev.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23f44336'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-red, -i.icon-back.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-red, -i.icon-forward.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-red, -i.icon-bars.theme-red { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red a { - color: #f44336; -} -.theme-red .navbar, -.navbar.theme-red, -.theme-red .toolbar, -.toolbar.theme-red, -.theme-red .subnavbar, -.subnavbar.theme-red, -.theme-red .searchbar, -.searchbar.theme-red { - background-color: #f44336; -} -.theme-red .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-red input[type="checkbox"]:checked + .checkbox { - background-color: rgba(244, 67, 54, 0.5); -} -.theme-red .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-red input[type="checkbox"]:checked + .checkbox:after { - background-color: #f44336; -} -.theme-red label.label-checkbox, -label.label-checkbox.theme-red { - cursor: pointer; -} -.theme-red label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-red i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-red label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-red input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #f44336; - background-color: #f44336; -} -.theme-red label.label-radio i.icon-form-radio:after, -label.label-radio.theme-red i.icon-form-radio:after { - background-color: #f44336; -} -.theme-red label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-red input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-red label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-red input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #f44336; -} -.theme-red label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-red input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-red label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-red input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-red label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-red input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-red label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-red input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #f44336; -} -.theme-red .focus-state .label, -.theme-red .focus-state .floating-label { - color: #f44336; -} -.theme-red .item-input-field.focus-state:after, -.theme-red .input-field.focus-state:after, -.theme-red .item-input-field.not-empty-state:after, -.theme-red .input-field.not-empty-state:after { - background: #f44336; -} -.theme-red .picker-calendar-day.picker-calendar-day-today span { - color: #f44336; -} -.theme-red .picker-calendar-day.picker-calendar-day-selected span { - background-color: #f44336; - color: #fff; -} -.theme-red .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #f44336; -} -.theme-red .picker-header { - background-color: #f44336; -} -.theme-red .modal-button { - color: #f44336; -} -.swiper-pagination.color-red .swiper-pagination-bullet-active, -.theme-red .swiper-pagination .swiper-pagination-bullet-active { - background-color: #f44336; -} -.swiper-pagination.color-red .swiper-pagination-progressbar, -.theme-red .swiper-pagination .swiper-pagination-progressbar { - background-color: #f44336; -} -.swiper-pagination.swiper-pagination-progress.bg-red { - background-color: rgba(244, 67, 54, 0.25); -} -.swiper-button-next.color-red, -.swiper-container-rtl .swiper-button-prev.color-red, -.theme-red .swiper-button-next, -.theme-red .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-red, -.swiper-container-rtl .swiper-button-next.color-red, -.theme-red .swiper-button-prev, -.theme-red .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23f44336'%2F%3E%3C%2Fsvg%3E"); -} -.theme-red .floating-button, -.theme-red .speed-dial-buttons a, -.floating-button.theme-red, -.speed-dial-buttons a.theme-red { - color: #fff; - background: #f44336; -} -html:not(.watch-active-state) .theme-red .floating-button:active, -html:not(.watch-active-state) .theme-red .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-red:active, -.theme-red .floating-button.active-state, -.theme-red .speed-dial-buttons a.active-state, -.floating-button.theme-red.active-state, -.speed-dial-buttons a.theme-red.active-state { - background: #D32F2F; -} -.theme-red .floating-button i, -.theme-red .speed-dial-buttons a i, -.floating-button.theme-red i, -.speed-dial-buttons a.theme-red i { - color: inherit; -} -.theme-red .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-red input[type="range"]::-webkit-slider-thumb { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-red input[type="range"]::-ms-thumb { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-red input[type="range"]::-ms-fill-lower { - background-color: #f44336; -} -.theme-red .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-red input[type="range"]::-moz-range-thumb { - background-color: #f44336; -} -.badge.theme-red { - background-color: #f44336; - color: #fff; -} -.theme-pink .button:not(.button-fill) { - color: #e91e63; -} -.theme-pink .navbar .button:not(.button-fill), -.theme-pink.navbar .button:not(.button-fill), -.theme-pink .toolbar .button:not(.button-fill), -.theme-pink.toolbar .button:not(.button-fill), -.theme-pink .subnavbar .button:not(.button-fill), -.theme-pink.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-pink .button.button-fill { - background: #e91e63; - color: #fff; -} -html:not(.watch-active-state) .theme-pink .button.button-fill:active, -.theme-pink .button.button-fill.active-state { - background: #C2185B; -} -.progressbar.theme-pink, -.theme-pink .progressbar { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar.theme-pink span, -.theme-pink .progressbar span { - background-color: #e91e63; -} -.progressbar-infinite.theme-pink, -.theme-pink .progressbar-infinite { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar-infinite.theme-pink:after, -.theme-pink .progressbar-infinite:after, -.progressbar-infinite.theme-pink:before, -.theme-pink .progressbar-infinite:before { - background-color: #e91e63; -} -.color-pink i.icon, -i.icon.color-pink { - color: #e91e63; -} -i.icon-next.color-pink, -i.icon-next.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-pink, -i.icon-prev.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23e91e63'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-pink, -i.icon-back.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-pink, -i.icon-forward.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-pink, -i.icon-bars.theme-pink { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink a { - color: #e91e63; -} -.theme-pink .navbar, -.navbar.theme-pink, -.theme-pink .toolbar, -.toolbar.theme-pink, -.theme-pink .subnavbar, -.subnavbar.theme-pink, -.theme-pink .searchbar, -.searchbar.theme-pink { - background-color: #e91e63; -} -.theme-pink .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-pink input[type="checkbox"]:checked + .checkbox { - background-color: rgba(233, 30, 99, 0.5); -} -.theme-pink .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-pink input[type="checkbox"]:checked + .checkbox:after { - background-color: #e91e63; -} -.theme-pink label.label-checkbox, -label.label-checkbox.theme-pink { - cursor: pointer; -} -.theme-pink label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-pink i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-pink label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-pink input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #e91e63; - background-color: #e91e63; -} -.theme-pink label.label-radio i.icon-form-radio:after, -label.label-radio.theme-pink i.icon-form-radio:after { - background-color: #e91e63; -} -.theme-pink label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-pink input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-pink label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-pink input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #e91e63; -} -.theme-pink label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-pink input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-pink label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-pink input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-pink label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-pink input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-pink label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-pink input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #e91e63; -} -.theme-pink .focus-state .label, -.theme-pink .focus-state .floating-label { - color: #e91e63; -} -.theme-pink .item-input-field.focus-state:after, -.theme-pink .input-field.focus-state:after, -.theme-pink .item-input-field.not-empty-state:after, -.theme-pink .input-field.not-empty-state:after { - background: #e91e63; -} -.theme-pink .picker-calendar-day.picker-calendar-day-today span { - color: #e91e63; -} -.theme-pink .picker-calendar-day.picker-calendar-day-selected span { - background-color: #e91e63; - color: #fff; -} -.theme-pink .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #e91e63; -} -.theme-pink .picker-header { - background-color: #e91e63; -} -.theme-pink .modal-button { - color: #e91e63; -} -.swiper-pagination.color-pink .swiper-pagination-bullet-active, -.theme-pink .swiper-pagination .swiper-pagination-bullet-active { - background-color: #e91e63; -} -.swiper-pagination.color-pink .swiper-pagination-progressbar, -.theme-pink .swiper-pagination .swiper-pagination-progressbar { - background-color: #e91e63; -} -.swiper-pagination.swiper-pagination-progress.bg-pink { - background-color: rgba(233, 30, 99, 0.25); -} -.swiper-button-next.color-pink, -.swiper-container-rtl .swiper-button-prev.color-pink, -.theme-pink .swiper-button-next, -.theme-pink .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-pink, -.swiper-container-rtl .swiper-button-next.color-pink, -.theme-pink .swiper-button-prev, -.theme-pink .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23e91e63'%2F%3E%3C%2Fsvg%3E"); -} -.theme-pink .floating-button, -.theme-pink .speed-dial-buttons a, -.floating-button.theme-pink, -.speed-dial-buttons a.theme-pink { - color: #fff; - background: #e91e63; -} -html:not(.watch-active-state) .theme-pink .floating-button:active, -html:not(.watch-active-state) .theme-pink .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-pink:active, -.theme-pink .floating-button.active-state, -.theme-pink .speed-dial-buttons a.active-state, -.floating-button.theme-pink.active-state, -.speed-dial-buttons a.theme-pink.active-state { - background: #C2185B; -} -.theme-pink .floating-button i, -.theme-pink .speed-dial-buttons a i, -.floating-button.theme-pink i, -.speed-dial-buttons a.theme-pink i { - color: inherit; -} -.theme-pink .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-pink input[type="range"]::-webkit-slider-thumb { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-pink input[type="range"]::-ms-thumb { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-pink input[type="range"]::-ms-fill-lower { - background-color: #e91e63; -} -.theme-pink .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-pink input[type="range"]::-moz-range-thumb { - background-color: #e91e63; -} -.badge.theme-pink { - background-color: #e91e63; - color: #fff; -} -.theme-purple .button:not(.button-fill) { - color: #9c27b0; -} -.theme-purple .navbar .button:not(.button-fill), -.theme-purple.navbar .button:not(.button-fill), -.theme-purple .toolbar .button:not(.button-fill), -.theme-purple.toolbar .button:not(.button-fill), -.theme-purple .subnavbar .button:not(.button-fill), -.theme-purple.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-purple .button.button-fill { - background: #9c27b0; - color: #fff; -} -html:not(.watch-active-state) .theme-purple .button.button-fill:active, -.theme-purple .button.button-fill.active-state { - background: #7B1FA2; -} -.progressbar.theme-purple, -.theme-purple .progressbar { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar.theme-purple span, -.theme-purple .progressbar span { - background-color: #9c27b0; -} -.progressbar-infinite.theme-purple, -.theme-purple .progressbar-infinite { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar-infinite.theme-purple:after, -.theme-purple .progressbar-infinite:after, -.progressbar-infinite.theme-purple:before, -.theme-purple .progressbar-infinite:before { - background-color: #9c27b0; -} -.color-purple i.icon, -i.icon.color-purple { - color: #9c27b0; -} -i.icon-next.color-purple, -i.icon-next.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-purple, -i.icon-prev.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239c27b0'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-purple, -i.icon-back.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-purple, -i.icon-forward.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-purple, -i.icon-bars.theme-purple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -.theme-purple a { - color: #9c27b0; -} -.theme-purple .navbar, -.navbar.theme-purple, -.theme-purple .toolbar, -.toolbar.theme-purple, -.theme-purple .subnavbar, -.subnavbar.theme-purple, -.theme-purple .searchbar, -.searchbar.theme-purple { - background-color: #9c27b0; -} -.theme-purple .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-purple input[type="checkbox"]:checked + .checkbox { - background-color: rgba(156, 39, 176, 0.5); -} -.theme-purple .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-purple input[type="checkbox"]:checked + .checkbox:after { - background-color: #9c27b0; -} -.theme-purple label.label-checkbox, -label.label-checkbox.theme-purple { - cursor: pointer; -} -.theme-purple label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-purple i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-purple label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-purple label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-purple input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #9c27b0; - background-color: #9c27b0; -} -.theme-purple label.label-radio i.icon-form-radio:after, -label.label-radio.theme-purple i.icon-form-radio:after { - background-color: #9c27b0; -} -.theme-purple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-purple input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-purple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-purple input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #9c27b0; -} -.theme-purple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-purple input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-purple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-purple input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-purple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-purple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-purple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-purple input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #9c27b0; -} -.theme-purple .focus-state .label, -.theme-purple .focus-state .floating-label { - color: #9c27b0; -} -.theme-purple .item-input-field.focus-state:after, -.theme-purple .input-field.focus-state:after, -.theme-purple .item-input-field.not-empty-state:after, -.theme-purple .input-field.not-empty-state:after { - background: #9c27b0; -} -.theme-purple .picker-calendar-day.picker-calendar-day-today span { - color: #9c27b0; -} -.theme-purple .picker-calendar-day.picker-calendar-day-selected span { - background-color: #9c27b0; - color: #fff; -} -.theme-purple .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #9c27b0; -} -.theme-purple .picker-header { - background-color: #9c27b0; -} -.theme-purple .modal-button { - color: #9c27b0; -} -.swiper-pagination.color-purple .swiper-pagination-bullet-active, -.theme-purple .swiper-pagination .swiper-pagination-bullet-active { - background-color: #9c27b0; -} -.swiper-pagination.color-purple .swiper-pagination-progressbar, -.theme-purple .swiper-pagination .swiper-pagination-progressbar { - background-color: #9c27b0; -} -.swiper-pagination.swiper-pagination-progress.bg-purple { - background-color: rgba(156, 39, 176, 0.25); -} -.swiper-button-next.color-purple, -.swiper-container-rtl .swiper-button-prev.color-purple, -.theme-purple .swiper-button-next, -.theme-purple .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-purple, -.swiper-container-rtl .swiper-button-next.color-purple, -.theme-purple .swiper-button-prev, -.theme-purple .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%239c27b0'%2F%3E%3C%2Fsvg%3E"); -} -.theme-purple .floating-button, -.theme-purple .speed-dial-buttons a, -.floating-button.theme-purple, -.speed-dial-buttons a.theme-purple { - color: #fff; - background: #9c27b0; -} -html:not(.watch-active-state) .theme-purple .floating-button:active, -html:not(.watch-active-state) .theme-purple .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-purple:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-purple:active, -.theme-purple .floating-button.active-state, -.theme-purple .speed-dial-buttons a.active-state, -.floating-button.theme-purple.active-state, -.speed-dial-buttons a.theme-purple.active-state { - background: #7B1FA2; -} -.theme-purple .floating-button i, -.theme-purple .speed-dial-buttons a i, -.floating-button.theme-purple i, -.speed-dial-buttons a.theme-purple i { - color: inherit; -} -.theme-purple .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-purple input[type="range"]::-webkit-slider-thumb:before { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-purple input[type="range"]::-webkit-slider-thumb { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-purple input[type="range"]::-ms-thumb { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-purple input[type="range"]::-ms-fill-lower { - background-color: #9c27b0; -} -.theme-purple .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-purple input[type="range"]::-moz-range-thumb { - background-color: #9c27b0; -} -.badge.theme-purple { - background-color: #9c27b0; - color: #fff; -} -.theme-deeppurple .button:not(.button-fill) { - color: #673ab7; -} -.theme-deeppurple .navbar .button:not(.button-fill), -.theme-deeppurple.navbar .button:not(.button-fill), -.theme-deeppurple .toolbar .button:not(.button-fill), -.theme-deeppurple.toolbar .button:not(.button-fill), -.theme-deeppurple .subnavbar .button:not(.button-fill), -.theme-deeppurple.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-deeppurple .button.button-fill { - background: #673ab7; - color: #fff; -} -html:not(.watch-active-state) .theme-deeppurple .button.button-fill:active, -.theme-deeppurple .button.button-fill.active-state { - background: #512DA8; -} -.progressbar.theme-deeppurple, -.theme-deeppurple .progressbar { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar.theme-deeppurple span, -.theme-deeppurple .progressbar span { - background-color: #673ab7; -} -.progressbar-infinite.theme-deeppurple, -.theme-deeppurple .progressbar-infinite { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar-infinite.theme-deeppurple:after, -.theme-deeppurple .progressbar-infinite:after, -.progressbar-infinite.theme-deeppurple:before, -.theme-deeppurple .progressbar-infinite:before { - background-color: #673ab7; -} -.color-deeppurple i.icon, -i.icon.color-deeppurple { - color: #673ab7; -} -i.icon-next.color-deeppurple, -i.icon-next.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-deeppurple, -i.icon-prev.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23673ab7'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-deeppurple, -i.icon-back.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-deeppurple, -i.icon-forward.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-deeppurple, -i.icon-bars.theme-deeppurple { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeppurple a { - color: #673ab7; -} -.theme-deeppurple .navbar, -.navbar.theme-deeppurple, -.theme-deeppurple .toolbar, -.toolbar.theme-deeppurple, -.theme-deeppurple .subnavbar, -.subnavbar.theme-deeppurple, -.theme-deeppurple .searchbar, -.searchbar.theme-deeppurple { - background-color: #673ab7; -} -.theme-deeppurple .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-deeppurple input[type="checkbox"]:checked + .checkbox { - background-color: rgba(103, 58, 183, 0.5); -} -.theme-deeppurple .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-deeppurple input[type="checkbox"]:checked + .checkbox:after { - background-color: #673ab7; -} -.theme-deeppurple label.label-checkbox, -label.label-checkbox.theme-deeppurple { - cursor: pointer; -} -.theme-deeppurple label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-deeppurple i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeppurple label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-deeppurple label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeppurple input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #673ab7; - background-color: #673ab7; -} -.theme-deeppurple label.label-radio i.icon-form-radio:after, -label.label-radio.theme-deeppurple i.icon-form-radio:after { - background-color: #673ab7; -} -.theme-deeppurple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #673ab7; -} -.theme-deeppurple label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-deeppurple label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeppurple input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #673ab7; -} -.theme-deeppurple .focus-state .label, -.theme-deeppurple .focus-state .floating-label { - color: #673ab7; -} -.theme-deeppurple .item-input-field.focus-state:after, -.theme-deeppurple .input-field.focus-state:after, -.theme-deeppurple .item-input-field.not-empty-state:after, -.theme-deeppurple .input-field.not-empty-state:after { - background: #673ab7; -} -.theme-deeppurple .picker-calendar-day.picker-calendar-day-today span { - color: #673ab7; -} -.theme-deeppurple .picker-calendar-day.picker-calendar-day-selected span { - background-color: #673ab7; - color: #fff; -} -.theme-deeppurple .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #673ab7; -} -.theme-deeppurple .picker-header { - background-color: #673ab7; -} -.theme-deeppurple .modal-button { - color: #673ab7; -} -.swiper-pagination.color-deeppurple .swiper-pagination-bullet-active, -.theme-deeppurple .swiper-pagination .swiper-pagination-bullet-active { - background-color: #673ab7; -} -.swiper-pagination.color-deeppurple .swiper-pagination-progressbar, -.theme-deeppurple .swiper-pagination .swiper-pagination-progressbar { - background-color: #673ab7; -} -.swiper-pagination.swiper-pagination-progress.bg-deeppurple { - background-color: rgba(103, 58, 183, 0.25); -} -.swiper-button-next.color-deeppurple, -.swiper-container-rtl .swiper-button-prev.color-deeppurple, -.theme-deeppurple .swiper-button-next, -.theme-deeppurple .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-deeppurple, -.swiper-container-rtl .swiper-button-next.color-deeppurple, -.theme-deeppurple .swiper-button-prev, -.theme-deeppurple .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23673ab7'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeppurple .floating-button, -.theme-deeppurple .speed-dial-buttons a, -.floating-button.theme-deeppurple, -.speed-dial-buttons a.theme-deeppurple { - color: #fff; - background: #673ab7; -} -html:not(.watch-active-state) .theme-deeppurple .floating-button:active, -html:not(.watch-active-state) .theme-deeppurple .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-deeppurple:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-deeppurple:active, -.theme-deeppurple .floating-button.active-state, -.theme-deeppurple .speed-dial-buttons a.active-state, -.floating-button.theme-deeppurple.active-state, -.speed-dial-buttons a.theme-deeppurple.active-state { - background: #512DA8; -} -.theme-deeppurple .floating-button i, -.theme-deeppurple .speed-dial-buttons a i, -.floating-button.theme-deeppurple i, -.speed-dial-buttons a.theme-deeppurple i { - color: inherit; -} -.theme-deeppurple .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-deeppurple input[type="range"]::-webkit-slider-thumb:before { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-deeppurple input[type="range"]::-webkit-slider-thumb { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-deeppurple input[type="range"]::-ms-thumb { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-deeppurple input[type="range"]::-ms-fill-lower { - background-color: #673ab7; -} -.theme-deeppurple .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-deeppurple input[type="range"]::-moz-range-thumb { - background-color: #673ab7; -} -.badge.theme-deeppurple { - background-color: #673ab7; - color: #fff; -} -.theme-indigo .button:not(.button-fill) { - color: #3f51b5; -} -.theme-indigo .navbar .button:not(.button-fill), -.theme-indigo.navbar .button:not(.button-fill), -.theme-indigo .toolbar .button:not(.button-fill), -.theme-indigo.toolbar .button:not(.button-fill), -.theme-indigo .subnavbar .button:not(.button-fill), -.theme-indigo.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-indigo .button.button-fill { - background: #3f51b5; - color: #fff; -} -html:not(.watch-active-state) .theme-indigo .button.button-fill:active, -.theme-indigo .button.button-fill.active-state { - background: #303F9F; -} -.progressbar.theme-indigo, -.theme-indigo .progressbar { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar.theme-indigo span, -.theme-indigo .progressbar span { - background-color: #3f51b5; -} -.progressbar-infinite.theme-indigo, -.theme-indigo .progressbar-infinite { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar-infinite.theme-indigo:after, -.theme-indigo .progressbar-infinite:after, -.progressbar-infinite.theme-indigo:before, -.theme-indigo .progressbar-infinite:before { - background-color: #3f51b5; -} -.color-indigo i.icon, -i.icon.color-indigo { - color: #3f51b5; -} -i.icon-next.color-indigo, -i.icon-next.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-indigo, -i.icon-prev.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%233f51b5'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-indigo, -i.icon-back.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-indigo, -i.icon-forward.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-indigo, -i.icon-bars.theme-indigo { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -.theme-indigo a { - color: #3f51b5; -} -.theme-indigo .navbar, -.navbar.theme-indigo, -.theme-indigo .toolbar, -.toolbar.theme-indigo, -.theme-indigo .subnavbar, -.subnavbar.theme-indigo, -.theme-indigo .searchbar, -.searchbar.theme-indigo { - background-color: #3f51b5; -} -.theme-indigo .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-indigo input[type="checkbox"]:checked + .checkbox { - background-color: rgba(63, 81, 181, 0.5); -} -.theme-indigo .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-indigo input[type="checkbox"]:checked + .checkbox:after { - background-color: #3f51b5; -} -.theme-indigo label.label-checkbox, -label.label-checkbox.theme-indigo { - cursor: pointer; -} -.theme-indigo label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-indigo i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-indigo label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-indigo label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-indigo input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #3f51b5; - background-color: #3f51b5; -} -.theme-indigo label.label-radio i.icon-form-radio:after, -label.label-radio.theme-indigo i.icon-form-radio:after { - background-color: #3f51b5; -} -.theme-indigo label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-indigo input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-indigo label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-indigo input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #3f51b5; -} -.theme-indigo label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-indigo label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-indigo input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #3f51b5; -} -.theme-indigo .focus-state .label, -.theme-indigo .focus-state .floating-label { - color: #3f51b5; -} -.theme-indigo .item-input-field.focus-state:after, -.theme-indigo .input-field.focus-state:after, -.theme-indigo .item-input-field.not-empty-state:after, -.theme-indigo .input-field.not-empty-state:after { - background: #3f51b5; -} -.theme-indigo .picker-calendar-day.picker-calendar-day-today span { - color: #3f51b5; -} -.theme-indigo .picker-calendar-day.picker-calendar-day-selected span { - background-color: #3f51b5; - color: #fff; -} -.theme-indigo .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #3f51b5; -} -.theme-indigo .picker-header { - background-color: #3f51b5; -} -.theme-indigo .modal-button { - color: #3f51b5; -} -.swiper-pagination.color-indigo .swiper-pagination-bullet-active, -.theme-indigo .swiper-pagination .swiper-pagination-bullet-active { - background-color: #3f51b5; -} -.swiper-pagination.color-indigo .swiper-pagination-progressbar, -.theme-indigo .swiper-pagination .swiper-pagination-progressbar { - background-color: #3f51b5; -} -.swiper-pagination.swiper-pagination-progress.bg-indigo { - background-color: rgba(63, 81, 181, 0.25); -} -.swiper-button-next.color-indigo, -.swiper-container-rtl .swiper-button-prev.color-indigo, -.theme-indigo .swiper-button-next, -.theme-indigo .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-indigo, -.swiper-container-rtl .swiper-button-next.color-indigo, -.theme-indigo .swiper-button-prev, -.theme-indigo .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%233f51b5'%2F%3E%3C%2Fsvg%3E"); -} -.theme-indigo .floating-button, -.theme-indigo .speed-dial-buttons a, -.floating-button.theme-indigo, -.speed-dial-buttons a.theme-indigo { - color: #fff; - background: #3f51b5; -} -html:not(.watch-active-state) .theme-indigo .floating-button:active, -html:not(.watch-active-state) .theme-indigo .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-indigo:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-indigo:active, -.theme-indigo .floating-button.active-state, -.theme-indigo .speed-dial-buttons a.active-state, -.floating-button.theme-indigo.active-state, -.speed-dial-buttons a.theme-indigo.active-state { - background: #303F9F; -} -.theme-indigo .floating-button i, -.theme-indigo .speed-dial-buttons a i, -.floating-button.theme-indigo i, -.speed-dial-buttons a.theme-indigo i { - color: inherit; -} -.theme-indigo .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-indigo input[type="range"]::-webkit-slider-thumb:before { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-indigo input[type="range"]::-webkit-slider-thumb { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-indigo input[type="range"]::-ms-thumb { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-indigo input[type="range"]::-ms-fill-lower { - background-color: #3f51b5; -} -.theme-indigo .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-indigo input[type="range"]::-moz-range-thumb { - background-color: #3f51b5; -} -.badge.theme-indigo { - background-color: #3f51b5; - color: #fff; -} -.theme-blue .button:not(.button-fill) { - color: #2196f3; -} -.theme-blue .navbar .button:not(.button-fill), -.theme-blue.navbar .button:not(.button-fill), -.theme-blue .toolbar .button:not(.button-fill), -.theme-blue.toolbar .button:not(.button-fill), -.theme-blue .subnavbar .button:not(.button-fill), -.theme-blue.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-blue .button.button-fill { - background: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .theme-blue .button.button-fill:active, -.theme-blue .button.button-fill.active-state { - background: #1976D2; -} -.progressbar.theme-blue, -.theme-blue .progressbar { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar.theme-blue span, -.theme-blue .progressbar span { - background-color: #2196f3; -} -.progressbar-infinite.theme-blue, -.theme-blue .progressbar-infinite { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar-infinite.theme-blue:after, -.theme-blue .progressbar-infinite:after, -.progressbar-infinite.theme-blue:before, -.theme-blue .progressbar-infinite:before { - background-color: #2196f3; -} -.color-blue i.icon, -i.icon.color-blue { - color: #2196f3; -} -i.icon-next.color-blue, -i.icon-next.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-blue, -i.icon-prev.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%232196f3'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-blue, -i.icon-back.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-blue, -i.icon-forward.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-blue, -i.icon-bars.theme-blue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue a { - color: #2196f3; -} -.theme-blue .navbar, -.navbar.theme-blue, -.theme-blue .toolbar, -.toolbar.theme-blue, -.theme-blue .subnavbar, -.subnavbar.theme-blue, -.theme-blue .searchbar, -.searchbar.theme-blue { - background-color: #2196f3; -} -.theme-blue .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-blue input[type="checkbox"]:checked + .checkbox { - background-color: rgba(33, 150, 243, 0.5); -} -.theme-blue .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-blue input[type="checkbox"]:checked + .checkbox:after { - background-color: #2196f3; -} -.theme-blue label.label-checkbox, -label.label-checkbox.theme-blue { - cursor: pointer; -} -.theme-blue label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-blue i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-blue label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-blue input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #2196f3; - background-color: #2196f3; -} -.theme-blue label.label-radio i.icon-form-radio:after, -label.label-radio.theme-blue i.icon-form-radio:after { - background-color: #2196f3; -} -.theme-blue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-blue input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-blue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-blue input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #2196f3; -} -.theme-blue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-blue input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-blue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-blue input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-blue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-blue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-blue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-blue input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #2196f3; -} -.theme-blue .focus-state .label, -.theme-blue .focus-state .floating-label { - color: #2196f3; -} -.theme-blue .item-input-field.focus-state:after, -.theme-blue .input-field.focus-state:after, -.theme-blue .item-input-field.not-empty-state:after, -.theme-blue .input-field.not-empty-state:after { - background: #2196f3; -} -.theme-blue .picker-calendar-day.picker-calendar-day-today span { - color: #2196f3; -} -.theme-blue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #2196f3; - color: #fff; -} -.theme-blue .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #2196f3; -} -.theme-blue .picker-header { - background-color: #2196f3; -} -.theme-blue .modal-button { - color: #2196f3; -} -.swiper-pagination.color-blue .swiper-pagination-bullet-active, -.theme-blue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #2196f3; -} -.swiper-pagination.color-blue .swiper-pagination-progressbar, -.theme-blue .swiper-pagination .swiper-pagination-progressbar { - background-color: #2196f3; -} -.swiper-pagination.swiper-pagination-progress.bg-blue { - background-color: rgba(33, 150, 243, 0.25); -} -.swiper-button-next.color-blue, -.swiper-container-rtl .swiper-button-prev.color-blue, -.theme-blue .swiper-button-next, -.theme-blue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-blue, -.swiper-container-rtl .swiper-button-next.color-blue, -.theme-blue .swiper-button-prev, -.theme-blue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%232196f3'%2F%3E%3C%2Fsvg%3E"); -} -.theme-blue .floating-button, -.theme-blue .speed-dial-buttons a, -.floating-button.theme-blue, -.speed-dial-buttons a.theme-blue { - color: #fff; - background: #2196f3; -} -html:not(.watch-active-state) .theme-blue .floating-button:active, -html:not(.watch-active-state) .theme-blue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-blue:active, -.theme-blue .floating-button.active-state, -.theme-blue .speed-dial-buttons a.active-state, -.floating-button.theme-blue.active-state, -.speed-dial-buttons a.theme-blue.active-state { - background: #1976D2; -} -.theme-blue .floating-button i, -.theme-blue .speed-dial-buttons a i, -.floating-button.theme-blue i, -.speed-dial-buttons a.theme-blue i { - color: inherit; -} -.theme-blue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-blue input[type="range"]::-webkit-slider-thumb { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-blue input[type="range"]::-ms-thumb { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-blue input[type="range"]::-ms-fill-lower { - background-color: #2196f3; -} -.theme-blue .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-blue input[type="range"]::-moz-range-thumb { - background-color: #2196f3; -} -.badge.theme-blue { - background-color: #2196f3; - color: #fff; -} -.theme-lightblue .button:not(.button-fill) { - color: #03a9f4; -} -.theme-lightblue .navbar .button:not(.button-fill), -.theme-lightblue.navbar .button:not(.button-fill), -.theme-lightblue .toolbar .button:not(.button-fill), -.theme-lightblue.toolbar .button:not(.button-fill), -.theme-lightblue .subnavbar .button:not(.button-fill), -.theme-lightblue.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-lightblue .button.button-fill { - background: #03a9f4; - color: #fff; -} -html:not(.watch-active-state) .theme-lightblue .button.button-fill:active, -.theme-lightblue .button.button-fill.active-state { - background: #0288D1; -} -.progressbar.theme-lightblue, -.theme-lightblue .progressbar { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar.theme-lightblue span, -.theme-lightblue .progressbar span { - background-color: #03a9f4; -} -.progressbar-infinite.theme-lightblue, -.theme-lightblue .progressbar-infinite { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar-infinite.theme-lightblue:after, -.theme-lightblue .progressbar-infinite:after, -.progressbar-infinite.theme-lightblue:before, -.theme-lightblue .progressbar-infinite:before { - background-color: #03a9f4; -} -.color-lightblue i.icon, -i.icon.color-lightblue { - color: #03a9f4; -} -i.icon-next.color-lightblue, -i.icon-next.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightblue, -i.icon-prev.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2303a9f4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightblue, -i.icon-back.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightblue, -i.icon-forward.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lightblue, -i.icon-bars.theme-lightblue { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue a { - color: #03a9f4; -} -.theme-lightblue .navbar, -.navbar.theme-lightblue, -.theme-lightblue .toolbar, -.toolbar.theme-lightblue, -.theme-lightblue .subnavbar, -.subnavbar.theme-lightblue, -.theme-lightblue .searchbar, -.searchbar.theme-lightblue { - background-color: #03a9f4; -} -.theme-lightblue .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-lightblue input[type="checkbox"]:checked + .checkbox { - background-color: rgba(3, 169, 244, 0.5); -} -.theme-lightblue .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-lightblue input[type="checkbox"]:checked + .checkbox:after { - background-color: #03a9f4; -} -.theme-lightblue label.label-checkbox, -label.label-checkbox.theme-lightblue { - cursor: pointer; -} -.theme-lightblue label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-lightblue i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-lightblue label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightblue input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #03a9f4; - background-color: #03a9f4; -} -.theme-lightblue label.label-radio i.icon-form-radio:after, -label.label-radio.theme-lightblue i.icon-form-radio:after { - background-color: #03a9f4; -} -.theme-lightblue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightblue input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-lightblue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightblue input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #03a9f4; -} -.theme-lightblue label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-lightblue label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightblue input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #03a9f4; -} -.theme-lightblue .focus-state .label, -.theme-lightblue .focus-state .floating-label { - color: #03a9f4; -} -.theme-lightblue .item-input-field.focus-state:after, -.theme-lightblue .input-field.focus-state:after, -.theme-lightblue .item-input-field.not-empty-state:after, -.theme-lightblue .input-field.not-empty-state:after { - background: #03a9f4; -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-today span { - color: #03a9f4; -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-selected span { - background-color: #03a9f4; - color: #fff; -} -.theme-lightblue .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #03a9f4; -} -.theme-lightblue .picker-header { - background-color: #03a9f4; -} -.theme-lightblue .modal-button { - color: #03a9f4; -} -.swiper-pagination.color-lightblue .swiper-pagination-bullet-active, -.theme-lightblue .swiper-pagination .swiper-pagination-bullet-active { - background-color: #03a9f4; -} -.swiper-pagination.color-lightblue .swiper-pagination-progressbar, -.theme-lightblue .swiper-pagination .swiper-pagination-progressbar { - background-color: #03a9f4; -} -.swiper-pagination.swiper-pagination-progress.bg-lightblue { - background-color: rgba(3, 169, 244, 0.25); -} -.swiper-button-next.color-lightblue, -.swiper-container-rtl .swiper-button-prev.color-lightblue, -.theme-lightblue .swiper-button-next, -.theme-lightblue .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lightblue, -.swiper-container-rtl .swiper-button-next.color-lightblue, -.theme-lightblue .swiper-button-prev, -.theme-lightblue .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2303a9f4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightblue .floating-button, -.theme-lightblue .speed-dial-buttons a, -.floating-button.theme-lightblue, -.speed-dial-buttons a.theme-lightblue { - color: #fff; - background: #03a9f4; -} -html:not(.watch-active-state) .theme-lightblue .floating-button:active, -html:not(.watch-active-state) .theme-lightblue .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lightblue:active, -.theme-lightblue .floating-button.active-state, -.theme-lightblue .speed-dial-buttons a.active-state, -.floating-button.theme-lightblue.active-state, -.speed-dial-buttons a.theme-lightblue.active-state { - background: #0288D1; -} -.theme-lightblue .floating-button i, -.theme-lightblue .speed-dial-buttons a i, -.floating-button.theme-lightblue i, -.speed-dial-buttons a.theme-lightblue i { - color: inherit; -} -.theme-lightblue .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-lightblue input[type="range"]::-webkit-slider-thumb { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-lightblue input[type="range"]::-ms-thumb { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lightblue input[type="range"]::-ms-fill-lower { - background-color: #03a9f4; -} -.theme-lightblue .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-lightblue input[type="range"]::-moz-range-thumb { - background-color: #03a9f4; -} -.badge.theme-lightblue { - background-color: #03a9f4; - color: #fff; -} -.theme-cyan .button:not(.button-fill) { - color: #00bcd4; -} -.theme-cyan .navbar .button:not(.button-fill), -.theme-cyan.navbar .button:not(.button-fill), -.theme-cyan .toolbar .button:not(.button-fill), -.theme-cyan.toolbar .button:not(.button-fill), -.theme-cyan .subnavbar .button:not(.button-fill), -.theme-cyan.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-cyan .button.button-fill { - background: #00bcd4; - color: #fff; -} -html:not(.watch-active-state) .theme-cyan .button.button-fill:active, -.theme-cyan .button.button-fill.active-state { - background: #0097A7; -} -.progressbar.theme-cyan, -.theme-cyan .progressbar { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar.theme-cyan span, -.theme-cyan .progressbar span { - background-color: #00bcd4; -} -.progressbar-infinite.theme-cyan, -.theme-cyan .progressbar-infinite { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar-infinite.theme-cyan:after, -.theme-cyan .progressbar-infinite:after, -.progressbar-infinite.theme-cyan:before, -.theme-cyan .progressbar-infinite:before { - background-color: #00bcd4; -} -.color-cyan i.icon, -i.icon.color-cyan { - color: #00bcd4; -} -i.icon-next.color-cyan, -i.icon-next.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-cyan, -i.icon-prev.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%2300bcd4'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-cyan, -i.icon-back.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-cyan, -i.icon-forward.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-cyan, -i.icon-bars.theme-cyan { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-cyan a { - color: #00bcd4; -} -.theme-cyan .navbar, -.navbar.theme-cyan, -.theme-cyan .toolbar, -.toolbar.theme-cyan, -.theme-cyan .subnavbar, -.subnavbar.theme-cyan, -.theme-cyan .searchbar, -.searchbar.theme-cyan { - background-color: #00bcd4; -} -.theme-cyan .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-cyan input[type="checkbox"]:checked + .checkbox { - background-color: rgba(0, 188, 212, 0.5); -} -.theme-cyan .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-cyan input[type="checkbox"]:checked + .checkbox:after { - background-color: #00bcd4; -} -.theme-cyan label.label-checkbox, -label.label-checkbox.theme-cyan { - cursor: pointer; -} -.theme-cyan label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-cyan i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-cyan label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-cyan label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-cyan input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #00bcd4; - background-color: #00bcd4; -} -.theme-cyan label.label-radio i.icon-form-radio:after, -label.label-radio.theme-cyan i.icon-form-radio:after { - background-color: #00bcd4; -} -.theme-cyan label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-cyan input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-cyan label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-cyan input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #00bcd4; -} -.theme-cyan label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-cyan label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-cyan input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #00bcd4; -} -.theme-cyan .focus-state .label, -.theme-cyan .focus-state .floating-label { - color: #00bcd4; -} -.theme-cyan .item-input-field.focus-state:after, -.theme-cyan .input-field.focus-state:after, -.theme-cyan .item-input-field.not-empty-state:after, -.theme-cyan .input-field.not-empty-state:after { - background: #00bcd4; -} -.theme-cyan .picker-calendar-day.picker-calendar-day-today span { - color: #00bcd4; -} -.theme-cyan .picker-calendar-day.picker-calendar-day-selected span { - background-color: #00bcd4; - color: #fff; -} -.theme-cyan .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #00bcd4; -} -.theme-cyan .picker-header { - background-color: #00bcd4; -} -.theme-cyan .modal-button { - color: #00bcd4; -} -.swiper-pagination.color-cyan .swiper-pagination-bullet-active, -.theme-cyan .swiper-pagination .swiper-pagination-bullet-active { - background-color: #00bcd4; -} -.swiper-pagination.color-cyan .swiper-pagination-progressbar, -.theme-cyan .swiper-pagination .swiper-pagination-progressbar { - background-color: #00bcd4; -} -.swiper-pagination.swiper-pagination-progress.bg-cyan { - background-color: rgba(0, 188, 212, 0.25); -} -.swiper-button-next.color-cyan, -.swiper-container-rtl .swiper-button-prev.color-cyan, -.theme-cyan .swiper-button-next, -.theme-cyan .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-cyan, -.swiper-container-rtl .swiper-button-next.color-cyan, -.theme-cyan .swiper-button-prev, -.theme-cyan .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%2300bcd4'%2F%3E%3C%2Fsvg%3E"); -} -.theme-cyan .floating-button, -.theme-cyan .speed-dial-buttons a, -.floating-button.theme-cyan, -.speed-dial-buttons a.theme-cyan { - color: #fff; - background: #00bcd4; -} -html:not(.watch-active-state) .theme-cyan .floating-button:active, -html:not(.watch-active-state) .theme-cyan .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-cyan:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-cyan:active, -.theme-cyan .floating-button.active-state, -.theme-cyan .speed-dial-buttons a.active-state, -.floating-button.theme-cyan.active-state, -.speed-dial-buttons a.theme-cyan.active-state { - background: #0097A7; -} -.theme-cyan .floating-button i, -.theme-cyan .speed-dial-buttons a i, -.floating-button.theme-cyan i, -.speed-dial-buttons a.theme-cyan i { - color: inherit; -} -.theme-cyan .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-cyan input[type="range"]::-webkit-slider-thumb:before { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-cyan input[type="range"]::-webkit-slider-thumb { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-cyan input[type="range"]::-ms-thumb { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-cyan input[type="range"]::-ms-fill-lower { - background-color: #00bcd4; -} -.theme-cyan .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-cyan input[type="range"]::-moz-range-thumb { - background-color: #00bcd4; -} -.badge.theme-cyan { - background-color: #00bcd4; - color: #fff; -} -.theme-teal .button:not(.button-fill) { - color: #009688; -} -.theme-teal .navbar .button:not(.button-fill), -.theme-teal.navbar .button:not(.button-fill), -.theme-teal .toolbar .button:not(.button-fill), -.theme-teal.toolbar .button:not(.button-fill), -.theme-teal .subnavbar .button:not(.button-fill), -.theme-teal.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-teal .button.button-fill { - background: #009688; - color: #fff; -} -html:not(.watch-active-state) .theme-teal .button.button-fill:active, -.theme-teal .button.button-fill.active-state { - background: #00897B; -} -.progressbar.theme-teal, -.theme-teal .progressbar { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar.theme-teal span, -.theme-teal .progressbar span { - background-color: #009688; -} -.progressbar-infinite.theme-teal, -.theme-teal .progressbar-infinite { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar-infinite.theme-teal:after, -.theme-teal .progressbar-infinite:after, -.progressbar-infinite.theme-teal:before, -.theme-teal .progressbar-infinite:before { - background-color: #009688; -} -.color-teal i.icon, -i.icon.color-teal { - color: #009688; -} -i.icon-next.color-teal, -i.icon-next.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-teal, -i.icon-prev.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23009688'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-teal, -i.icon-back.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-teal, -i.icon-forward.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-teal, -i.icon-bars.theme-teal { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -.theme-teal a { - color: #009688; -} -.theme-teal .navbar, -.navbar.theme-teal, -.theme-teal .toolbar, -.toolbar.theme-teal, -.theme-teal .subnavbar, -.subnavbar.theme-teal, -.theme-teal .searchbar, -.searchbar.theme-teal { - background-color: #009688; -} -.theme-teal .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-teal input[type="checkbox"]:checked + .checkbox { - background-color: rgba(0, 150, 136, 0.5); -} -.theme-teal .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-teal input[type="checkbox"]:checked + .checkbox:after { - background-color: #009688; -} -.theme-teal label.label-checkbox, -label.label-checkbox.theme-teal { - cursor: pointer; -} -.theme-teal label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-teal i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-teal label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-teal label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-teal input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #009688; - background-color: #009688; -} -.theme-teal label.label-radio i.icon-form-radio:after, -label.label-radio.theme-teal i.icon-form-radio:after { - background-color: #009688; -} -.theme-teal label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-teal input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-teal label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-teal input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #009688; -} -.theme-teal label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-teal input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-teal label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-teal input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-teal label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-teal input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-teal label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-teal input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #009688; -} -.theme-teal .focus-state .label, -.theme-teal .focus-state .floating-label { - color: #009688; -} -.theme-teal .item-input-field.focus-state:after, -.theme-teal .input-field.focus-state:after, -.theme-teal .item-input-field.not-empty-state:after, -.theme-teal .input-field.not-empty-state:after { - background: #009688; -} -.theme-teal .picker-calendar-day.picker-calendar-day-today span { - color: #009688; -} -.theme-teal .picker-calendar-day.picker-calendar-day-selected span { - background-color: #009688; - color: #fff; -} -.theme-teal .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #009688; -} -.theme-teal .picker-header { - background-color: #009688; -} -.theme-teal .modal-button { - color: #009688; -} -.swiper-pagination.color-teal .swiper-pagination-bullet-active, -.theme-teal .swiper-pagination .swiper-pagination-bullet-active { - background-color: #009688; -} -.swiper-pagination.color-teal .swiper-pagination-progressbar, -.theme-teal .swiper-pagination .swiper-pagination-progressbar { - background-color: #009688; -} -.swiper-pagination.swiper-pagination-progress.bg-teal { - background-color: rgba(0, 150, 136, 0.25); -} -.swiper-button-next.color-teal, -.swiper-container-rtl .swiper-button-prev.color-teal, -.theme-teal .swiper-button-next, -.theme-teal .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-teal, -.swiper-container-rtl .swiper-button-next.color-teal, -.theme-teal .swiper-button-prev, -.theme-teal .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23009688'%2F%3E%3C%2Fsvg%3E"); -} -.theme-teal .floating-button, -.theme-teal .speed-dial-buttons a, -.floating-button.theme-teal, -.speed-dial-buttons a.theme-teal { - color: #fff; - background: #009688; -} -html:not(.watch-active-state) .theme-teal .floating-button:active, -html:not(.watch-active-state) .theme-teal .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-teal:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-teal:active, -.theme-teal .floating-button.active-state, -.theme-teal .speed-dial-buttons a.active-state, -.floating-button.theme-teal.active-state, -.speed-dial-buttons a.theme-teal.active-state { - background: #00897B; -} -.theme-teal .floating-button i, -.theme-teal .speed-dial-buttons a i, -.floating-button.theme-teal i, -.speed-dial-buttons a.theme-teal i { - color: inherit; -} -.theme-teal .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-teal input[type="range"]::-webkit-slider-thumb:before { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-teal input[type="range"]::-webkit-slider-thumb { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-teal input[type="range"]::-ms-thumb { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-teal input[type="range"]::-ms-fill-lower { - background-color: #009688; -} -.theme-teal .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-teal input[type="range"]::-moz-range-thumb { - background-color: #009688; -} -.badge.theme-teal { - background-color: #009688; - color: #fff; -} -.theme-green .button:not(.button-fill) { - color: #4caf50; -} -.theme-green .navbar .button:not(.button-fill), -.theme-green.navbar .button:not(.button-fill), -.theme-green .toolbar .button:not(.button-fill), -.theme-green.toolbar .button:not(.button-fill), -.theme-green .subnavbar .button:not(.button-fill), -.theme-green.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-green .button.button-fill { - background: #4caf50; - color: #fff; -} -html:not(.watch-active-state) .theme-green .button.button-fill:active, -.theme-green .button.button-fill.active-state { - background: #388E3C; -} -.progressbar.theme-green, -.theme-green .progressbar { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar.theme-green span, -.theme-green .progressbar span { - background-color: #4caf50; -} -.progressbar-infinite.theme-green, -.theme-green .progressbar-infinite { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar-infinite.theme-green:after, -.theme-green .progressbar-infinite:after, -.progressbar-infinite.theme-green:before, -.theme-green .progressbar-infinite:before { - background-color: #4caf50; -} -.color-green i.icon, -i.icon.color-green { - color: #4caf50; -} -i.icon-next.color-green, -i.icon-next.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-green, -i.icon-prev.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%234caf50'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-green, -i.icon-back.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-green, -i.icon-forward.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-green, -i.icon-bars.theme-green { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green a { - color: #4caf50; -} -.theme-green .navbar, -.navbar.theme-green, -.theme-green .toolbar, -.toolbar.theme-green, -.theme-green .subnavbar, -.subnavbar.theme-green, -.theme-green .searchbar, -.searchbar.theme-green { - background-color: #4caf50; -} -.theme-green .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-green input[type="checkbox"]:checked + .checkbox { - background-color: rgba(76, 175, 80, 0.5); -} -.theme-green .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-green input[type="checkbox"]:checked + .checkbox:after { - background-color: #4caf50; -} -.theme-green label.label-checkbox, -label.label-checkbox.theme-green { - cursor: pointer; -} -.theme-green label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-green i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-green label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-green input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #4caf50; - background-color: #4caf50; -} -.theme-green label.label-radio i.icon-form-radio:after, -label.label-radio.theme-green i.icon-form-radio:after { - background-color: #4caf50; -} -.theme-green label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-green input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-green label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-green input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #4caf50; -} -.theme-green label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-green input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-green label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-green input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-green label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-green input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-green label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-green input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #4caf50; -} -.theme-green .focus-state .label, -.theme-green .focus-state .floating-label { - color: #4caf50; -} -.theme-green .item-input-field.focus-state:after, -.theme-green .input-field.focus-state:after, -.theme-green .item-input-field.not-empty-state:after, -.theme-green .input-field.not-empty-state:after { - background: #4caf50; -} -.theme-green .picker-calendar-day.picker-calendar-day-today span { - color: #4caf50; -} -.theme-green .picker-calendar-day.picker-calendar-day-selected span { - background-color: #4caf50; - color: #fff; -} -.theme-green .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #4caf50; -} -.theme-green .picker-header { - background-color: #4caf50; -} -.theme-green .modal-button { - color: #4caf50; -} -.swiper-pagination.color-green .swiper-pagination-bullet-active, -.theme-green .swiper-pagination .swiper-pagination-bullet-active { - background-color: #4caf50; -} -.swiper-pagination.color-green .swiper-pagination-progressbar, -.theme-green .swiper-pagination .swiper-pagination-progressbar { - background-color: #4caf50; -} -.swiper-pagination.swiper-pagination-progress.bg-green { - background-color: rgba(76, 175, 80, 0.25); -} -.swiper-button-next.color-green, -.swiper-container-rtl .swiper-button-prev.color-green, -.theme-green .swiper-button-next, -.theme-green .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-green, -.swiper-container-rtl .swiper-button-next.color-green, -.theme-green .swiper-button-prev, -.theme-green .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%234caf50'%2F%3E%3C%2Fsvg%3E"); -} -.theme-green .floating-button, -.theme-green .speed-dial-buttons a, -.floating-button.theme-green, -.speed-dial-buttons a.theme-green { - color: #fff; - background: #4caf50; -} -html:not(.watch-active-state) .theme-green .floating-button:active, -html:not(.watch-active-state) .theme-green .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-green:active, -.theme-green .floating-button.active-state, -.theme-green .speed-dial-buttons a.active-state, -.floating-button.theme-green.active-state, -.speed-dial-buttons a.theme-green.active-state { - background: #388E3C; -} -.theme-green .floating-button i, -.theme-green .speed-dial-buttons a i, -.floating-button.theme-green i, -.speed-dial-buttons a.theme-green i { - color: inherit; -} -.theme-green .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-green input[type="range"]::-webkit-slider-thumb { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-green input[type="range"]::-ms-thumb { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-green input[type="range"]::-ms-fill-lower { - background-color: #4caf50; -} -.theme-green .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-green input[type="range"]::-moz-range-thumb { - background-color: #4caf50; -} -.badge.theme-green { - background-color: #4caf50; - color: #fff; -} -.theme-lightgreen .button:not(.button-fill) { - color: #8bc34a; -} -.theme-lightgreen .navbar .button:not(.button-fill), -.theme-lightgreen.navbar .button:not(.button-fill), -.theme-lightgreen .toolbar .button:not(.button-fill), -.theme-lightgreen.toolbar .button:not(.button-fill), -.theme-lightgreen .subnavbar .button:not(.button-fill), -.theme-lightgreen.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-lightgreen .button.button-fill { - background: #8bc34a; - color: #fff; -} -html:not(.watch-active-state) .theme-lightgreen .button.button-fill:active, -.theme-lightgreen .button.button-fill.active-state { - background: #689F38; -} -.progressbar.theme-lightgreen, -.theme-lightgreen .progressbar { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar.theme-lightgreen span, -.theme-lightgreen .progressbar span { - background-color: #8bc34a; -} -.progressbar-infinite.theme-lightgreen, -.theme-lightgreen .progressbar-infinite { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar-infinite.theme-lightgreen:after, -.theme-lightgreen .progressbar-infinite:after, -.progressbar-infinite.theme-lightgreen:before, -.theme-lightgreen .progressbar-infinite:before { - background-color: #8bc34a; -} -.color-lightgreen i.icon, -i.icon.color-lightgreen { - color: #8bc34a; -} -i.icon-next.color-lightgreen, -i.icon-next.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lightgreen, -i.icon-prev.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%238bc34a'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lightgreen, -i.icon-back.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lightgreen, -i.icon-forward.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lightgreen, -i.icon-bars.theme-lightgreen { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightgreen a { - color: #8bc34a; -} -.theme-lightgreen .navbar, -.navbar.theme-lightgreen, -.theme-lightgreen .toolbar, -.toolbar.theme-lightgreen, -.theme-lightgreen .subnavbar, -.subnavbar.theme-lightgreen, -.theme-lightgreen .searchbar, -.searchbar.theme-lightgreen { - background-color: #8bc34a; -} -.theme-lightgreen .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-lightgreen input[type="checkbox"]:checked + .checkbox { - background-color: rgba(139, 195, 74, 0.5); -} -.theme-lightgreen .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-lightgreen input[type="checkbox"]:checked + .checkbox:after { - background-color: #8bc34a; -} -.theme-lightgreen label.label-checkbox, -label.label-checkbox.theme-lightgreen { - cursor: pointer; -} -.theme-lightgreen label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-lightgreen i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightgreen label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-lightgreen label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lightgreen input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #8bc34a; - background-color: #8bc34a; -} -.theme-lightgreen label.label-radio i.icon-form-radio:after, -label.label-radio.theme-lightgreen i.icon-form-radio:after { - background-color: #8bc34a; -} -.theme-lightgreen label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #8bc34a; -} -.theme-lightgreen label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-lightgreen label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lightgreen input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #8bc34a; -} -.theme-lightgreen .focus-state .label, -.theme-lightgreen .focus-state .floating-label { - color: #8bc34a; -} -.theme-lightgreen .item-input-field.focus-state:after, -.theme-lightgreen .input-field.focus-state:after, -.theme-lightgreen .item-input-field.not-empty-state:after, -.theme-lightgreen .input-field.not-empty-state:after { - background: #8bc34a; -} -.theme-lightgreen .picker-calendar-day.picker-calendar-day-today span { - color: #8bc34a; -} -.theme-lightgreen .picker-calendar-day.picker-calendar-day-selected span { - background-color: #8bc34a; - color: #fff; -} -.theme-lightgreen .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #8bc34a; -} -.theme-lightgreen .picker-header { - background-color: #8bc34a; -} -.theme-lightgreen .modal-button { - color: #8bc34a; -} -.swiper-pagination.color-lightgreen .swiper-pagination-bullet-active, -.theme-lightgreen .swiper-pagination .swiper-pagination-bullet-active { - background-color: #8bc34a; -} -.swiper-pagination.color-lightgreen .swiper-pagination-progressbar, -.theme-lightgreen .swiper-pagination .swiper-pagination-progressbar { - background-color: #8bc34a; -} -.swiper-pagination.swiper-pagination-progress.bg-lightgreen { - background-color: rgba(139, 195, 74, 0.25); -} -.swiper-button-next.color-lightgreen, -.swiper-container-rtl .swiper-button-prev.color-lightgreen, -.theme-lightgreen .swiper-button-next, -.theme-lightgreen .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lightgreen, -.swiper-container-rtl .swiper-button-next.color-lightgreen, -.theme-lightgreen .swiper-button-prev, -.theme-lightgreen .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%238bc34a'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lightgreen .floating-button, -.theme-lightgreen .speed-dial-buttons a, -.floating-button.theme-lightgreen, -.speed-dial-buttons a.theme-lightgreen { - color: #fff; - background: #8bc34a; -} -html:not(.watch-active-state) .theme-lightgreen .floating-button:active, -html:not(.watch-active-state) .theme-lightgreen .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lightgreen:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lightgreen:active, -.theme-lightgreen .floating-button.active-state, -.theme-lightgreen .speed-dial-buttons a.active-state, -.floating-button.theme-lightgreen.active-state, -.speed-dial-buttons a.theme-lightgreen.active-state { - background: #689F38; -} -.theme-lightgreen .floating-button i, -.theme-lightgreen .speed-dial-buttons a i, -.floating-button.theme-lightgreen i, -.speed-dial-buttons a.theme-lightgreen i { - color: inherit; -} -.theme-lightgreen .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lightgreen input[type="range"]::-webkit-slider-thumb:before { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-lightgreen input[type="range"]::-webkit-slider-thumb { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-lightgreen input[type="range"]::-ms-thumb { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lightgreen input[type="range"]::-ms-fill-lower { - background-color: #8bc34a; -} -.theme-lightgreen .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-lightgreen input[type="range"]::-moz-range-thumb { - background-color: #8bc34a; -} -.badge.theme-lightgreen { - background-color: #8bc34a; - color: #fff; -} -.theme-lime .button:not(.button-fill) { - color: #cddc39; -} -.theme-lime .navbar .button:not(.button-fill), -.theme-lime.navbar .button:not(.button-fill), -.theme-lime .toolbar .button:not(.button-fill), -.theme-lime.toolbar .button:not(.button-fill), -.theme-lime .subnavbar .button:not(.button-fill), -.theme-lime.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-lime .button.button-fill { - background: #cddc39; - color: #fff; -} -html:not(.watch-active-state) .theme-lime .button.button-fill:active, -.theme-lime .button.button-fill.active-state { - background: #AFB42B; -} -.progressbar.theme-lime, -.theme-lime .progressbar { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar.theme-lime span, -.theme-lime .progressbar span { - background-color: #cddc39; -} -.progressbar-infinite.theme-lime, -.theme-lime .progressbar-infinite { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar-infinite.theme-lime:after, -.theme-lime .progressbar-infinite:after, -.progressbar-infinite.theme-lime:before, -.theme-lime .progressbar-infinite:before { - background-color: #cddc39; -} -.color-lime i.icon, -i.icon.color-lime { - color: #cddc39; -} -i.icon-next.color-lime, -i.icon-next.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-lime, -i.icon-prev.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23cddc39'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-lime, -i.icon-back.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-lime, -i.icon-forward.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-lime, -i.icon-bars.theme-lime { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lime a { - color: #cddc39; -} -.theme-lime .navbar, -.navbar.theme-lime, -.theme-lime .toolbar, -.toolbar.theme-lime, -.theme-lime .subnavbar, -.subnavbar.theme-lime, -.theme-lime .searchbar, -.searchbar.theme-lime { - background-color: #cddc39; -} -.theme-lime .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-lime input[type="checkbox"]:checked + .checkbox { - background-color: rgba(205, 220, 57, 0.5); -} -.theme-lime .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-lime input[type="checkbox"]:checked + .checkbox:after { - background-color: #cddc39; -} -.theme-lime label.label-checkbox, -label.label-checkbox.theme-lime { - cursor: pointer; -} -.theme-lime label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-lime i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lime label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-lime label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-lime input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #cddc39; - background-color: #cddc39; -} -.theme-lime label.label-radio i.icon-form-radio:after, -label.label-radio.theme-lime i.icon-form-radio:after { - background-color: #cddc39; -} -.theme-lime label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lime input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-lime label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-lime input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #cddc39; -} -.theme-lime label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lime input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-lime label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-lime input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-lime label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lime input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-lime label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-lime input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #cddc39; -} -.theme-lime .focus-state .label, -.theme-lime .focus-state .floating-label { - color: #cddc39; -} -.theme-lime .item-input-field.focus-state:after, -.theme-lime .input-field.focus-state:after, -.theme-lime .item-input-field.not-empty-state:after, -.theme-lime .input-field.not-empty-state:after { - background: #cddc39; -} -.theme-lime .picker-calendar-day.picker-calendar-day-today span { - color: #cddc39; -} -.theme-lime .picker-calendar-day.picker-calendar-day-selected span { - background-color: #cddc39; - color: #fff; -} -.theme-lime .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #cddc39; -} -.theme-lime .picker-header { - background-color: #cddc39; -} -.theme-lime .modal-button { - color: #cddc39; -} -.swiper-pagination.color-lime .swiper-pagination-bullet-active, -.theme-lime .swiper-pagination .swiper-pagination-bullet-active { - background-color: #cddc39; -} -.swiper-pagination.color-lime .swiper-pagination-progressbar, -.theme-lime .swiper-pagination .swiper-pagination-progressbar { - background-color: #cddc39; -} -.swiper-pagination.swiper-pagination-progress.bg-lime { - background-color: rgba(205, 220, 57, 0.25); -} -.swiper-button-next.color-lime, -.swiper-container-rtl .swiper-button-prev.color-lime, -.theme-lime .swiper-button-next, -.theme-lime .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-lime, -.swiper-container-rtl .swiper-button-next.color-lime, -.theme-lime .swiper-button-prev, -.theme-lime .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23cddc39'%2F%3E%3C%2Fsvg%3E"); -} -.theme-lime .floating-button, -.theme-lime .speed-dial-buttons a, -.floating-button.theme-lime, -.speed-dial-buttons a.theme-lime { - color: #fff; - background: #cddc39; -} -html:not(.watch-active-state) .theme-lime .floating-button:active, -html:not(.watch-active-state) .theme-lime .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-lime:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-lime:active, -.theme-lime .floating-button.active-state, -.theme-lime .speed-dial-buttons a.active-state, -.floating-button.theme-lime.active-state, -.speed-dial-buttons a.theme-lime.active-state { - background: #AFB42B; -} -.theme-lime .floating-button i, -.theme-lime .speed-dial-buttons a i, -.floating-button.theme-lime i, -.speed-dial-buttons a.theme-lime i { - color: inherit; -} -.theme-lime .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-lime input[type="range"]::-webkit-slider-thumb:before { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-lime input[type="range"]::-webkit-slider-thumb { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-lime input[type="range"]::-ms-thumb { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-lime input[type="range"]::-ms-fill-lower { - background-color: #cddc39; -} -.theme-lime .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-lime input[type="range"]::-moz-range-thumb { - background-color: #cddc39; -} -.badge.theme-lime { - background-color: #cddc39; - color: #fff; -} -.theme-yellow .button:not(.button-fill) { - color: #ffeb3b; -} -.theme-yellow .navbar .button:not(.button-fill), -.theme-yellow.navbar .button:not(.button-fill), -.theme-yellow .toolbar .button:not(.button-fill), -.theme-yellow.toolbar .button:not(.button-fill), -.theme-yellow .subnavbar .button:not(.button-fill), -.theme-yellow.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-yellow .button.button-fill { - background: #ffeb3b; - color: #fff; -} -html:not(.watch-active-state) .theme-yellow .button.button-fill:active, -.theme-yellow .button.button-fill.active-state { - background: #FBC02D; -} -.progressbar.theme-yellow, -.theme-yellow .progressbar { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar.theme-yellow span, -.theme-yellow .progressbar span { - background-color: #ffeb3b; -} -.progressbar-infinite.theme-yellow, -.theme-yellow .progressbar-infinite { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar-infinite.theme-yellow:after, -.theme-yellow .progressbar-infinite:after, -.progressbar-infinite.theme-yellow:before, -.theme-yellow .progressbar-infinite:before { - background-color: #ffeb3b; -} -.color-yellow i.icon, -i.icon.color-yellow { - color: #ffeb3b; -} -i.icon-next.color-yellow, -i.icon-next.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-yellow, -i.icon-prev.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffeb3b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-yellow, -i.icon-back.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-yellow, -i.icon-forward.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-yellow, -i.icon-bars.theme-yellow { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow a { - color: #ffeb3b; -} -.theme-yellow .navbar, -.navbar.theme-yellow, -.theme-yellow .toolbar, -.toolbar.theme-yellow, -.theme-yellow .subnavbar, -.subnavbar.theme-yellow, -.theme-yellow .searchbar, -.searchbar.theme-yellow { - background-color: #ffeb3b; -} -.theme-yellow .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-yellow input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 235, 59, 0.5); -} -.theme-yellow .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-yellow input[type="checkbox"]:checked + .checkbox:after { - background-color: #ffeb3b; -} -.theme-yellow label.label-checkbox, -label.label-checkbox.theme-yellow { - cursor: pointer; -} -.theme-yellow label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-yellow i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-yellow label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-yellow input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ffeb3b; - background-color: #ffeb3b; -} -.theme-yellow label.label-radio i.icon-form-radio:after, -label.label-radio.theme-yellow i.icon-form-radio:after { - background-color: #ffeb3b; -} -.theme-yellow label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-yellow input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-yellow label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-yellow input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ffeb3b; -} -.theme-yellow label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-yellow label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-yellow input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ffeb3b; -} -.theme-yellow .focus-state .label, -.theme-yellow .focus-state .floating-label { - color: #ffeb3b; -} -.theme-yellow .item-input-field.focus-state:after, -.theme-yellow .input-field.focus-state:after, -.theme-yellow .item-input-field.not-empty-state:after, -.theme-yellow .input-field.not-empty-state:after { - background: #ffeb3b; -} -.theme-yellow .picker-calendar-day.picker-calendar-day-today span { - color: #ffeb3b; -} -.theme-yellow .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffeb3b; - color: #fff; -} -.theme-yellow .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ffeb3b; -} -.theme-yellow .picker-header { - background-color: #ffeb3b; -} -.theme-yellow .modal-button { - color: #ffeb3b; -} -.swiper-pagination.color-yellow .swiper-pagination-bullet-active, -.theme-yellow .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffeb3b; -} -.swiper-pagination.color-yellow .swiper-pagination-progressbar, -.theme-yellow .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffeb3b; -} -.swiper-pagination.swiper-pagination-progress.bg-yellow { - background-color: rgba(255, 235, 59, 0.25); -} -.swiper-button-next.color-yellow, -.swiper-container-rtl .swiper-button-prev.color-yellow, -.theme-yellow .swiper-button-next, -.theme-yellow .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-yellow, -.swiper-container-rtl .swiper-button-next.color-yellow, -.theme-yellow .swiper-button-prev, -.theme-yellow .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffeb3b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-yellow .floating-button, -.theme-yellow .speed-dial-buttons a, -.floating-button.theme-yellow, -.speed-dial-buttons a.theme-yellow { - color: #fff; - background: #ffeb3b; -} -html:not(.watch-active-state) .theme-yellow .floating-button:active, -html:not(.watch-active-state) .theme-yellow .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-yellow:active, -.theme-yellow .floating-button.active-state, -.theme-yellow .speed-dial-buttons a.active-state, -.floating-button.theme-yellow.active-state, -.speed-dial-buttons a.theme-yellow.active-state { - background: #FBC02D; -} -.theme-yellow .floating-button i, -.theme-yellow .speed-dial-buttons a i, -.floating-button.theme-yellow i, -.speed-dial-buttons a.theme-yellow i { - color: inherit; -} -.theme-yellow .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-yellow input[type="range"]::-webkit-slider-thumb { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-yellow input[type="range"]::-ms-thumb { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffeb3b; -} -.theme-yellow .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-yellow input[type="range"]::-moz-range-thumb { - background-color: #ffeb3b; -} -.badge.theme-yellow { - background-color: #ffeb3b; - color: #fff; -} -.theme-amber .button:not(.button-fill) { - color: #ffc107; -} -.theme-amber .navbar .button:not(.button-fill), -.theme-amber.navbar .button:not(.button-fill), -.theme-amber .toolbar .button:not(.button-fill), -.theme-amber.toolbar .button:not(.button-fill), -.theme-amber .subnavbar .button:not(.button-fill), -.theme-amber.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-amber .button.button-fill { - background: #ffc107; - color: #fff; -} -html:not(.watch-active-state) .theme-amber .button.button-fill:active, -.theme-amber .button.button-fill.active-state { - background: #FFA000; -} -.progressbar.theme-amber, -.theme-amber .progressbar { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar.theme-amber span, -.theme-amber .progressbar span { - background-color: #ffc107; -} -.progressbar-infinite.theme-amber, -.theme-amber .progressbar-infinite { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar-infinite.theme-amber:after, -.theme-amber .progressbar-infinite:after, -.progressbar-infinite.theme-amber:before, -.theme-amber .progressbar-infinite:before { - background-color: #ffc107; -} -.color-amber i.icon, -i.icon.color-amber { - color: #ffc107; -} -i.icon-next.color-amber, -i.icon-next.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-amber, -i.icon-prev.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffc107'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-amber, -i.icon-back.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-amber, -i.icon-forward.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-amber, -i.icon-bars.theme-amber { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -.theme-amber a { - color: #ffc107; -} -.theme-amber .navbar, -.navbar.theme-amber, -.theme-amber .toolbar, -.toolbar.theme-amber, -.theme-amber .subnavbar, -.subnavbar.theme-amber, -.theme-amber .searchbar, -.searchbar.theme-amber { - background-color: #ffc107; -} -.theme-amber .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-amber input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 193, 7, 0.5); -} -.theme-amber .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-amber input[type="checkbox"]:checked + .checkbox:after { - background-color: #ffc107; -} -.theme-amber label.label-checkbox, -label.label-checkbox.theme-amber { - cursor: pointer; -} -.theme-amber label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-amber i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-amber label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-amber label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-amber input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ffc107; - background-color: #ffc107; -} -.theme-amber label.label-radio i.icon-form-radio:after, -label.label-radio.theme-amber i.icon-form-radio:after { - background-color: #ffc107; -} -.theme-amber label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-amber input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-amber label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-amber input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ffc107; -} -.theme-amber label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-amber input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-amber label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-amber input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-amber label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-amber input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-amber label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-amber input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ffc107; -} -.theme-amber .focus-state .label, -.theme-amber .focus-state .floating-label { - color: #ffc107; -} -.theme-amber .item-input-field.focus-state:after, -.theme-amber .input-field.focus-state:after, -.theme-amber .item-input-field.not-empty-state:after, -.theme-amber .input-field.not-empty-state:after { - background: #ffc107; -} -.theme-amber .picker-calendar-day.picker-calendar-day-today span { - color: #ffc107; -} -.theme-amber .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffc107; - color: #fff; -} -.theme-amber .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ffc107; -} -.theme-amber .picker-header { - background-color: #ffc107; -} -.theme-amber .modal-button { - color: #ffc107; -} -.swiper-pagination.color-amber .swiper-pagination-bullet-active, -.theme-amber .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffc107; -} -.swiper-pagination.color-amber .swiper-pagination-progressbar, -.theme-amber .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffc107; -} -.swiper-pagination.swiper-pagination-progress.bg-amber { - background-color: rgba(255, 193, 7, 0.25); -} -.swiper-button-next.color-amber, -.swiper-container-rtl .swiper-button-prev.color-amber, -.theme-amber .swiper-button-next, -.theme-amber .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-amber, -.swiper-container-rtl .swiper-button-next.color-amber, -.theme-amber .swiper-button-prev, -.theme-amber .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffc107'%2F%3E%3C%2Fsvg%3E"); -} -.theme-amber .floating-button, -.theme-amber .speed-dial-buttons a, -.floating-button.theme-amber, -.speed-dial-buttons a.theme-amber { - color: #fff; - background: #ffc107; -} -html:not(.watch-active-state) .theme-amber .floating-button:active, -html:not(.watch-active-state) .theme-amber .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-amber:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-amber:active, -.theme-amber .floating-button.active-state, -.theme-amber .speed-dial-buttons a.active-state, -.floating-button.theme-amber.active-state, -.speed-dial-buttons a.theme-amber.active-state { - background: #FFA000; -} -.theme-amber .floating-button i, -.theme-amber .speed-dial-buttons a i, -.floating-button.theme-amber i, -.speed-dial-buttons a.theme-amber i { - color: inherit; -} -.theme-amber .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-amber input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-amber input[type="range"]::-webkit-slider-thumb { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-amber input[type="range"]::-ms-thumb { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-amber input[type="range"]::-ms-fill-lower { - background-color: #ffc107; -} -.theme-amber .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-amber input[type="range"]::-moz-range-thumb { - background-color: #ffc107; -} -.badge.theme-amber { - background-color: #ffc107; - color: #fff; -} -.theme-orange .button:not(.button-fill) { - color: #ff9800; -} -.theme-orange .navbar .button:not(.button-fill), -.theme-orange.navbar .button:not(.button-fill), -.theme-orange .toolbar .button:not(.button-fill), -.theme-orange.toolbar .button:not(.button-fill), -.theme-orange .subnavbar .button:not(.button-fill), -.theme-orange.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-orange .button.button-fill { - background: #ff9800; - color: #fff; -} -html:not(.watch-active-state) .theme-orange .button.button-fill:active, -.theme-orange .button.button-fill.active-state { - background: #F57C00; -} -.progressbar.theme-orange, -.theme-orange .progressbar { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar.theme-orange span, -.theme-orange .progressbar span { - background-color: #ff9800; -} -.progressbar-infinite.theme-orange, -.theme-orange .progressbar-infinite { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar-infinite.theme-orange:after, -.theme-orange .progressbar-infinite:after, -.progressbar-infinite.theme-orange:before, -.theme-orange .progressbar-infinite:before { - background-color: #ff9800; -} -.color-orange i.icon, -i.icon.color-orange { - color: #ff9800; -} -i.icon-next.color-orange, -i.icon-next.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-orange, -i.icon-prev.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff9800'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-orange, -i.icon-back.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-orange, -i.icon-forward.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-orange, -i.icon-bars.theme-orange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange a { - color: #ff9800; -} -.theme-orange .navbar, -.navbar.theme-orange, -.theme-orange .toolbar, -.toolbar.theme-orange, -.theme-orange .subnavbar, -.subnavbar.theme-orange, -.theme-orange .searchbar, -.searchbar.theme-orange { - background-color: #ff9800; -} -.theme-orange .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-orange input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 152, 0, 0.5); -} -.theme-orange .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-orange input[type="checkbox"]:checked + .checkbox:after { - background-color: #ff9800; -} -.theme-orange label.label-checkbox, -label.label-checkbox.theme-orange { - cursor: pointer; -} -.theme-orange label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-orange i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-orange label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-orange input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ff9800; - background-color: #ff9800; -} -.theme-orange label.label-radio i.icon-form-radio:after, -label.label-radio.theme-orange i.icon-form-radio:after { - background-color: #ff9800; -} -.theme-orange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-orange input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-orange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-orange input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ff9800; -} -.theme-orange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-orange input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-orange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-orange input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-orange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-orange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-orange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-orange input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ff9800; -} -.theme-orange .focus-state .label, -.theme-orange .focus-state .floating-label { - color: #ff9800; -} -.theme-orange .item-input-field.focus-state:after, -.theme-orange .input-field.focus-state:after, -.theme-orange .item-input-field.not-empty-state:after, -.theme-orange .input-field.not-empty-state:after { - background: #ff9800; -} -.theme-orange .picker-calendar-day.picker-calendar-day-today span { - color: #ff9800; -} -.theme-orange .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff9800; - color: #fff; -} -.theme-orange .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ff9800; -} -.theme-orange .picker-header { - background-color: #ff9800; -} -.theme-orange .modal-button { - color: #ff9800; -} -.swiper-pagination.color-orange .swiper-pagination-bullet-active, -.theme-orange .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff9800; -} -.swiper-pagination.color-orange .swiper-pagination-progressbar, -.theme-orange .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff9800; -} -.swiper-pagination.swiper-pagination-progress.bg-orange { - background-color: rgba(255, 152, 0, 0.25); -} -.swiper-button-next.color-orange, -.swiper-container-rtl .swiper-button-prev.color-orange, -.theme-orange .swiper-button-next, -.theme-orange .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-orange, -.swiper-container-rtl .swiper-button-next.color-orange, -.theme-orange .swiper-button-prev, -.theme-orange .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff9800'%2F%3E%3C%2Fsvg%3E"); -} -.theme-orange .floating-button, -.theme-orange .speed-dial-buttons a, -.floating-button.theme-orange, -.speed-dial-buttons a.theme-orange { - color: #fff; - background: #ff9800; -} -html:not(.watch-active-state) .theme-orange .floating-button:active, -html:not(.watch-active-state) .theme-orange .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-orange:active, -.theme-orange .floating-button.active-state, -.theme-orange .speed-dial-buttons a.active-state, -.floating-button.theme-orange.active-state, -.speed-dial-buttons a.theme-orange.active-state { - background: #F57C00; -} -.theme-orange .floating-button i, -.theme-orange .speed-dial-buttons a i, -.floating-button.theme-orange i, -.speed-dial-buttons a.theme-orange i { - color: inherit; -} -.theme-orange .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-orange input[type="range"]::-webkit-slider-thumb { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-orange input[type="range"]::-ms-thumb { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9800; -} -.theme-orange .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-orange input[type="range"]::-moz-range-thumb { - background-color: #ff9800; -} -.badge.theme-orange { - background-color: #ff9800; - color: #fff; -} -.theme-deeporange .button:not(.button-fill) { - color: #ff5722; -} -.theme-deeporange .navbar .button:not(.button-fill), -.theme-deeporange.navbar .button:not(.button-fill), -.theme-deeporange .toolbar .button:not(.button-fill), -.theme-deeporange.toolbar .button:not(.button-fill), -.theme-deeporange .subnavbar .button:not(.button-fill), -.theme-deeporange.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-deeporange .button.button-fill { - background: #ff5722; - color: #fff; -} -html:not(.watch-active-state) .theme-deeporange .button.button-fill:active, -.theme-deeporange .button.button-fill.active-state { - background: #E64A19; -} -.progressbar.theme-deeporange, -.theme-deeporange .progressbar { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar.theme-deeporange span, -.theme-deeporange .progressbar span { - background-color: #ff5722; -} -.progressbar-infinite.theme-deeporange, -.theme-deeporange .progressbar-infinite { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar-infinite.theme-deeporange:after, -.theme-deeporange .progressbar-infinite:after, -.progressbar-infinite.theme-deeporange:before, -.theme-deeporange .progressbar-infinite:before { - background-color: #ff5722; -} -.color-deeporange i.icon, -i.icon.color-deeporange { - color: #ff5722; -} -i.icon-next.color-deeporange, -i.icon-next.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-deeporange, -i.icon-prev.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ff5722'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-deeporange, -i.icon-back.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-deeporange, -i.icon-forward.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-deeporange, -i.icon-bars.theme-deeporange { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeporange a { - color: #ff5722; -} -.theme-deeporange .navbar, -.navbar.theme-deeporange, -.theme-deeporange .toolbar, -.toolbar.theme-deeporange, -.theme-deeporange .subnavbar, -.subnavbar.theme-deeporange, -.theme-deeporange .searchbar, -.searchbar.theme-deeporange { - background-color: #ff5722; -} -.theme-deeporange .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-deeporange input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 87, 34, 0.5); -} -.theme-deeporange .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-deeporange input[type="checkbox"]:checked + .checkbox:after { - background-color: #ff5722; -} -.theme-deeporange label.label-checkbox, -label.label-checkbox.theme-deeporange { - cursor: pointer; -} -.theme-deeporange label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-deeporange i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeporange label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-deeporange label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-deeporange input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ff5722; - background-color: #ff5722; -} -.theme-deeporange label.label-radio i.icon-form-radio:after, -label.label-radio.theme-deeporange i.icon-form-radio:after { - background-color: #ff5722; -} -.theme-deeporange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeporange input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-deeporange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-deeporange input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ff5722; -} -.theme-deeporange label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-deeporange label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-deeporange input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ff5722; -} -.theme-deeporange .focus-state .label, -.theme-deeporange .focus-state .floating-label { - color: #ff5722; -} -.theme-deeporange .item-input-field.focus-state:after, -.theme-deeporange .input-field.focus-state:after, -.theme-deeporange .item-input-field.not-empty-state:after, -.theme-deeporange .input-field.not-empty-state:after { - background: #ff5722; -} -.theme-deeporange .picker-calendar-day.picker-calendar-day-today span { - color: #ff5722; -} -.theme-deeporange .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ff5722; - color: #fff; -} -.theme-deeporange .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ff5722; -} -.theme-deeporange .picker-header { - background-color: #ff5722; -} -.theme-deeporange .modal-button { - color: #ff5722; -} -.swiper-pagination.color-deeporange .swiper-pagination-bullet-active, -.theme-deeporange .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ff5722; -} -.swiper-pagination.color-deeporange .swiper-pagination-progressbar, -.theme-deeporange .swiper-pagination .swiper-pagination-progressbar { - background-color: #ff5722; -} -.swiper-pagination.swiper-pagination-progress.bg-deeporange { - background-color: rgba(255, 87, 34, 0.25); -} -.swiper-button-next.color-deeporange, -.swiper-container-rtl .swiper-button-prev.color-deeporange, -.theme-deeporange .swiper-button-next, -.theme-deeporange .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-deeporange, -.swiper-container-rtl .swiper-button-next.color-deeporange, -.theme-deeporange .swiper-button-prev, -.theme-deeporange .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ff5722'%2F%3E%3C%2Fsvg%3E"); -} -.theme-deeporange .floating-button, -.theme-deeporange .speed-dial-buttons a, -.floating-button.theme-deeporange, -.speed-dial-buttons a.theme-deeporange { - color: #fff; - background: #ff5722; -} -html:not(.watch-active-state) .theme-deeporange .floating-button:active, -html:not(.watch-active-state) .theme-deeporange .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-deeporange:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-deeporange:active, -.theme-deeporange .floating-button.active-state, -.theme-deeporange .speed-dial-buttons a.active-state, -.floating-button.theme-deeporange.active-state, -.speed-dial-buttons a.theme-deeporange.active-state { - background: #E64A19; -} -.theme-deeporange .floating-button i, -.theme-deeporange .speed-dial-buttons a i, -.floating-button.theme-deeporange i, -.speed-dial-buttons a.theme-deeporange i { - color: inherit; -} -.theme-deeporange .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-deeporange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-deeporange input[type="range"]::-webkit-slider-thumb { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-deeporange input[type="range"]::-ms-thumb { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-deeporange input[type="range"]::-ms-fill-lower { - background-color: #ff5722; -} -.theme-deeporange .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-deeporange input[type="range"]::-moz-range-thumb { - background-color: #ff5722; -} -.badge.theme-deeporange { - background-color: #ff5722; - color: #fff; -} -.theme-brown .button:not(.button-fill) { - color: #795548; -} -.theme-brown .navbar .button:not(.button-fill), -.theme-brown.navbar .button:not(.button-fill), -.theme-brown .toolbar .button:not(.button-fill), -.theme-brown.toolbar .button:not(.button-fill), -.theme-brown .subnavbar .button:not(.button-fill), -.theme-brown.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-brown .button.button-fill { - background: #795548; - color: #fff; -} -html:not(.watch-active-state) .theme-brown .button.button-fill:active, -.theme-brown .button.button-fill.active-state { - background: #5D4037; -} -.progressbar.theme-brown, -.theme-brown .progressbar { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar.theme-brown span, -.theme-brown .progressbar span { - background-color: #795548; -} -.progressbar-infinite.theme-brown, -.theme-brown .progressbar-infinite { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar-infinite.theme-brown:after, -.theme-brown .progressbar-infinite:after, -.progressbar-infinite.theme-brown:before, -.theme-brown .progressbar-infinite:before { - background-color: #795548; -} -.color-brown i.icon, -i.icon.color-brown { - color: #795548; -} -i.icon-next.color-brown, -i.icon-next.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-brown, -i.icon-prev.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23795548'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-brown, -i.icon-back.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-brown, -i.icon-forward.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-brown, -i.icon-bars.theme-brown { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -.theme-brown a { - color: #795548; -} -.theme-brown .navbar, -.navbar.theme-brown, -.theme-brown .toolbar, -.toolbar.theme-brown, -.theme-brown .subnavbar, -.subnavbar.theme-brown, -.theme-brown .searchbar, -.searchbar.theme-brown { - background-color: #795548; -} -.theme-brown .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-brown input[type="checkbox"]:checked + .checkbox { - background-color: rgba(121, 85, 72, 0.5); -} -.theme-brown .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-brown input[type="checkbox"]:checked + .checkbox:after { - background-color: #795548; -} -.theme-brown label.label-checkbox, -label.label-checkbox.theme-brown { - cursor: pointer; -} -.theme-brown label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-brown i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-brown label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-brown label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-brown input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #795548; - background-color: #795548; -} -.theme-brown label.label-radio i.icon-form-radio:after, -label.label-radio.theme-brown i.icon-form-radio:after { - background-color: #795548; -} -.theme-brown label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-brown input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-brown label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-brown input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #795548; -} -.theme-brown label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-brown input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-brown label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-brown input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-brown label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-brown input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-brown label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-brown input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #795548; -} -.theme-brown .focus-state .label, -.theme-brown .focus-state .floating-label { - color: #795548; -} -.theme-brown .item-input-field.focus-state:after, -.theme-brown .input-field.focus-state:after, -.theme-brown .item-input-field.not-empty-state:after, -.theme-brown .input-field.not-empty-state:after { - background: #795548; -} -.theme-brown .picker-calendar-day.picker-calendar-day-today span { - color: #795548; -} -.theme-brown .picker-calendar-day.picker-calendar-day-selected span { - background-color: #795548; - color: #fff; -} -.theme-brown .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #795548; -} -.theme-brown .picker-header { - background-color: #795548; -} -.theme-brown .modal-button { - color: #795548; -} -.swiper-pagination.color-brown .swiper-pagination-bullet-active, -.theme-brown .swiper-pagination .swiper-pagination-bullet-active { - background-color: #795548; -} -.swiper-pagination.color-brown .swiper-pagination-progressbar, -.theme-brown .swiper-pagination .swiper-pagination-progressbar { - background-color: #795548; -} -.swiper-pagination.swiper-pagination-progress.bg-brown { - background-color: rgba(121, 85, 72, 0.25); -} -.swiper-button-next.color-brown, -.swiper-container-rtl .swiper-button-prev.color-brown, -.theme-brown .swiper-button-next, -.theme-brown .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-brown, -.swiper-container-rtl .swiper-button-next.color-brown, -.theme-brown .swiper-button-prev, -.theme-brown .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23795548'%2F%3E%3C%2Fsvg%3E"); -} -.theme-brown .floating-button, -.theme-brown .speed-dial-buttons a, -.floating-button.theme-brown, -.speed-dial-buttons a.theme-brown { - color: #fff; - background: #795548; -} -html:not(.watch-active-state) .theme-brown .floating-button:active, -html:not(.watch-active-state) .theme-brown .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-brown:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-brown:active, -.theme-brown .floating-button.active-state, -.theme-brown .speed-dial-buttons a.active-state, -.floating-button.theme-brown.active-state, -.speed-dial-buttons a.theme-brown.active-state { - background: #5D4037; -} -.theme-brown .floating-button i, -.theme-brown .speed-dial-buttons a i, -.floating-button.theme-brown i, -.speed-dial-buttons a.theme-brown i { - color: inherit; -} -.theme-brown .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-brown input[type="range"]::-webkit-slider-thumb:before { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-brown input[type="range"]::-webkit-slider-thumb { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-brown input[type="range"]::-ms-thumb { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-brown input[type="range"]::-ms-fill-lower { - background-color: #795548; -} -.theme-brown .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-brown input[type="range"]::-moz-range-thumb { - background-color: #795548; -} -.badge.theme-brown { - background-color: #795548; - color: #fff; -} -.theme-gray .button:not(.button-fill) { - color: #9e9e9e; -} -.theme-gray .navbar .button:not(.button-fill), -.theme-gray.navbar .button:not(.button-fill), -.theme-gray .toolbar .button:not(.button-fill), -.theme-gray.toolbar .button:not(.button-fill), -.theme-gray .subnavbar .button:not(.button-fill), -.theme-gray.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-gray .button.button-fill { - background: #9e9e9e; - color: #fff; -} -html:not(.watch-active-state) .theme-gray .button.button-fill:active, -.theme-gray .button.button-fill.active-state { - background: #616161; -} -.progressbar.theme-gray, -.theme-gray .progressbar { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar.theme-gray span, -.theme-gray .progressbar span { - background-color: #9e9e9e; -} -.progressbar-infinite.theme-gray, -.theme-gray .progressbar-infinite { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar-infinite.theme-gray:after, -.theme-gray .progressbar-infinite:after, -.progressbar-infinite.theme-gray:before, -.theme-gray .progressbar-infinite:before { - background-color: #9e9e9e; -} -.color-gray i.icon, -i.icon.color-gray { - color: #9e9e9e; -} -i.icon-next.color-gray, -i.icon-next.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-gray, -i.icon-prev.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%239e9e9e'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-gray, -i.icon-back.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-gray, -i.icon-forward.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-gray, -i.icon-bars.theme-gray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray a { - color: #9e9e9e; -} -.theme-gray .navbar, -.navbar.theme-gray, -.theme-gray .toolbar, -.toolbar.theme-gray, -.theme-gray .subnavbar, -.subnavbar.theme-gray, -.theme-gray .searchbar, -.searchbar.theme-gray { - background-color: #9e9e9e; -} -.theme-gray .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-gray input[type="checkbox"]:checked + .checkbox { - background-color: rgba(158, 158, 158, 0.5); -} -.theme-gray .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-gray input[type="checkbox"]:checked + .checkbox:after { - background-color: #9e9e9e; -} -.theme-gray label.label-checkbox, -label.label-checkbox.theme-gray { - cursor: pointer; -} -.theme-gray label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-gray i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-gray label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-gray input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #9e9e9e; - background-color: #9e9e9e; -} -.theme-gray label.label-radio i.icon-form-radio:after, -label.label-radio.theme-gray i.icon-form-radio:after { - background-color: #9e9e9e; -} -.theme-gray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-gray input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-gray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-gray input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #9e9e9e; -} -.theme-gray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-gray input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-gray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-gray input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-gray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-gray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-gray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-gray input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #9e9e9e; -} -.theme-gray .focus-state .label, -.theme-gray .focus-state .floating-label { - color: #9e9e9e; -} -.theme-gray .item-input-field.focus-state:after, -.theme-gray .input-field.focus-state:after, -.theme-gray .item-input-field.not-empty-state:after, -.theme-gray .input-field.not-empty-state:after { - background: #9e9e9e; -} -.theme-gray .picker-calendar-day.picker-calendar-day-today span { - color: #9e9e9e; -} -.theme-gray .picker-calendar-day.picker-calendar-day-selected span { - background-color: #9e9e9e; - color: #fff; -} -.theme-gray .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #9e9e9e; -} -.theme-gray .picker-header { - background-color: #9e9e9e; -} -.theme-gray .modal-button { - color: #9e9e9e; -} -.swiper-pagination.color-gray .swiper-pagination-bullet-active, -.theme-gray .swiper-pagination .swiper-pagination-bullet-active { - background-color: #9e9e9e; -} -.swiper-pagination.color-gray .swiper-pagination-progressbar, -.theme-gray .swiper-pagination .swiper-pagination-progressbar { - background-color: #9e9e9e; -} -.swiper-pagination.swiper-pagination-progress.bg-gray { - background-color: rgba(158, 158, 158, 0.25); -} -.swiper-button-next.color-gray, -.swiper-container-rtl .swiper-button-prev.color-gray, -.theme-gray .swiper-button-next, -.theme-gray .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-gray, -.swiper-container-rtl .swiper-button-next.color-gray, -.theme-gray .swiper-button-prev, -.theme-gray .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%239e9e9e'%2F%3E%3C%2Fsvg%3E"); -} -.theme-gray .floating-button, -.theme-gray .speed-dial-buttons a, -.floating-button.theme-gray, -.speed-dial-buttons a.theme-gray { - color: #fff; - background: #9e9e9e; -} -html:not(.watch-active-state) .theme-gray .floating-button:active, -html:not(.watch-active-state) .theme-gray .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-gray:active, -.theme-gray .floating-button.active-state, -.theme-gray .speed-dial-buttons a.active-state, -.floating-button.theme-gray.active-state, -.speed-dial-buttons a.theme-gray.active-state { - background: #616161; -} -.theme-gray .floating-button i, -.theme-gray .speed-dial-buttons a i, -.floating-button.theme-gray i, -.speed-dial-buttons a.theme-gray i { - color: inherit; -} -.theme-gray .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-gray input[type="range"]::-webkit-slider-thumb { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-gray input[type="range"]::-ms-thumb { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-gray input[type="range"]::-ms-fill-lower { - background-color: #9e9e9e; -} -.theme-gray .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-gray input[type="range"]::-moz-range-thumb { - background-color: #9e9e9e; -} -.badge.theme-gray { - background-color: #9e9e9e; - color: #fff; -} -.theme-bluegray .button:not(.button-fill) { - color: #607d8b; -} -.theme-bluegray .navbar .button:not(.button-fill), -.theme-bluegray.navbar .button:not(.button-fill), -.theme-bluegray .toolbar .button:not(.button-fill), -.theme-bluegray.toolbar .button:not(.button-fill), -.theme-bluegray .subnavbar .button:not(.button-fill), -.theme-bluegray.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-bluegray .button.button-fill { - background: #607d8b; - color: #fff; -} -html:not(.watch-active-state) .theme-bluegray .button.button-fill:active, -.theme-bluegray .button.button-fill.active-state { - background: #455A64; -} -.progressbar.theme-bluegray, -.theme-bluegray .progressbar { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar.theme-bluegray span, -.theme-bluegray .progressbar span { - background-color: #607d8b; -} -.progressbar-infinite.theme-bluegray, -.theme-bluegray .progressbar-infinite { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar-infinite.theme-bluegray:after, -.theme-bluegray .progressbar-infinite:after, -.progressbar-infinite.theme-bluegray:before, -.theme-bluegray .progressbar-infinite:before { - background-color: #607d8b; -} -.color-bluegray i.icon, -i.icon.color-bluegray { - color: #607d8b; -} -i.icon-next.color-bluegray, -i.icon-next.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-bluegray, -i.icon-prev.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23607d8b'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-bluegray, -i.icon-back.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-bluegray, -i.icon-forward.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-bluegray, -i.icon-bars.theme-bluegray { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-bluegray a { - color: #607d8b; -} -.theme-bluegray .navbar, -.navbar.theme-bluegray, -.theme-bluegray .toolbar, -.toolbar.theme-bluegray, -.theme-bluegray .subnavbar, -.subnavbar.theme-bluegray, -.theme-bluegray .searchbar, -.searchbar.theme-bluegray { - background-color: #607d8b; -} -.theme-bluegray .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-bluegray input[type="checkbox"]:checked + .checkbox { - background-color: rgba(96, 125, 139, 0.5); -} -.theme-bluegray .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-bluegray input[type="checkbox"]:checked + .checkbox:after { - background-color: #607d8b; -} -.theme-bluegray label.label-checkbox, -label.label-checkbox.theme-bluegray { - cursor: pointer; -} -.theme-bluegray label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-bluegray i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-bluegray label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-bluegray label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-bluegray input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #607d8b; - background-color: #607d8b; -} -.theme-bluegray label.label-radio i.icon-form-radio:after, -label.label-radio.theme-bluegray i.icon-form-radio:after { - background-color: #607d8b; -} -.theme-bluegray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-bluegray input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-bluegray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-bluegray input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #607d8b; -} -.theme-bluegray label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-bluegray label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-bluegray input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #607d8b; -} -.theme-bluegray .focus-state .label, -.theme-bluegray .focus-state .floating-label { - color: #607d8b; -} -.theme-bluegray .item-input-field.focus-state:after, -.theme-bluegray .input-field.focus-state:after, -.theme-bluegray .item-input-field.not-empty-state:after, -.theme-bluegray .input-field.not-empty-state:after { - background: #607d8b; -} -.theme-bluegray .picker-calendar-day.picker-calendar-day-today span { - color: #607d8b; -} -.theme-bluegray .picker-calendar-day.picker-calendar-day-selected span { - background-color: #607d8b; - color: #fff; -} -.theme-bluegray .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #607d8b; -} -.theme-bluegray .picker-header { - background-color: #607d8b; -} -.theme-bluegray .modal-button { - color: #607d8b; -} -.swiper-pagination.color-bluegray .swiper-pagination-bullet-active, -.theme-bluegray .swiper-pagination .swiper-pagination-bullet-active { - background-color: #607d8b; -} -.swiper-pagination.color-bluegray .swiper-pagination-progressbar, -.theme-bluegray .swiper-pagination .swiper-pagination-progressbar { - background-color: #607d8b; -} -.swiper-pagination.swiper-pagination-progress.bg-bluegray { - background-color: rgba(96, 125, 139, 0.25); -} -.swiper-button-next.color-bluegray, -.swiper-container-rtl .swiper-button-prev.color-bluegray, -.theme-bluegray .swiper-button-next, -.theme-bluegray .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-bluegray, -.swiper-container-rtl .swiper-button-next.color-bluegray, -.theme-bluegray .swiper-button-prev, -.theme-bluegray .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23607d8b'%2F%3E%3C%2Fsvg%3E"); -} -.theme-bluegray .floating-button, -.theme-bluegray .speed-dial-buttons a, -.floating-button.theme-bluegray, -.speed-dial-buttons a.theme-bluegray { - color: #fff; - background: #607d8b; -} -html:not(.watch-active-state) .theme-bluegray .floating-button:active, -html:not(.watch-active-state) .theme-bluegray .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-bluegray:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-bluegray:active, -.theme-bluegray .floating-button.active-state, -.theme-bluegray .speed-dial-buttons a.active-state, -.floating-button.theme-bluegray.active-state, -.speed-dial-buttons a.theme-bluegray.active-state { - background: #455A64; -} -.theme-bluegray .floating-button i, -.theme-bluegray .speed-dial-buttons a i, -.floating-button.theme-bluegray i, -.speed-dial-buttons a.theme-bluegray i { - color: inherit; -} -.theme-bluegray .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-bluegray input[type="range"]::-webkit-slider-thumb:before { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-bluegray input[type="range"]::-webkit-slider-thumb { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-bluegray input[type="range"]::-ms-thumb { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-bluegray input[type="range"]::-ms-fill-lower { - background-color: #607d8b; -} -.theme-bluegray .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-bluegray input[type="range"]::-moz-range-thumb { - background-color: #607d8b; -} -.badge.theme-bluegray { - background-color: #607d8b; - color: #fff; -} -.theme-white .button:not(.button-fill) { - color: #ffffff; -} -.theme-white .navbar .button:not(.button-fill), -.theme-white.navbar .button:not(.button-fill), -.theme-white .toolbar .button:not(.button-fill), -.theme-white.toolbar .button:not(.button-fill), -.theme-white .subnavbar .button:not(.button-fill), -.theme-white.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-white .button.button-fill { - background: #ffffff; - color: #fff; -} -html:not(.watch-active-state) .theme-white .button.button-fill:active, -.theme-white .button.button-fill.active-state { - background: rgba(0, 0, 0, 0.1); -} -.progressbar.theme-white, -.theme-white .progressbar { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar.theme-white span, -.theme-white .progressbar span { - background-color: #ffffff; -} -.progressbar-infinite.theme-white, -.theme-white .progressbar-infinite { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar-infinite.theme-white:after, -.theme-white .progressbar-infinite:after, -.progressbar-infinite.theme-white:before, -.theme-white .progressbar-infinite:before { - background-color: #ffffff; -} -.color-white i.icon, -i.icon.color-white { - color: #ffffff; -} -i.icon-next.color-white, -i.icon-next.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-white, -i.icon-prev.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-white, -i.icon-back.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-white, -i.icon-forward.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-white, -i.icon-bars.theme-white { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white a { - color: #ffffff; -} -.theme-white .navbar, -.navbar.theme-white, -.theme-white .toolbar, -.toolbar.theme-white, -.theme-white .subnavbar, -.subnavbar.theme-white, -.theme-white .searchbar, -.searchbar.theme-white { - background-color: #ffffff; -} -.theme-white .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-white input[type="checkbox"]:checked + .checkbox { - background-color: rgba(255, 255, 255, 0.5); -} -.theme-white .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-white input[type="checkbox"]:checked + .checkbox:after { - background-color: #ffffff; -} -.theme-white label.label-checkbox, -label.label-checkbox.theme-white { - cursor: pointer; -} -.theme-white label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-white i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-white label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-white input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #ffffff; - background-color: #ffffff; -} -.theme-white label.label-radio i.icon-form-radio:after, -label.label-radio.theme-white i.icon-form-radio:after { - background-color: #ffffff; -} -.theme-white label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-white input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-white label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-white input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #ffffff; -} -.theme-white label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-white input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-white label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-white input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-white label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-white input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-white label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-white input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #ffffff; -} -.theme-white .focus-state .label, -.theme-white .focus-state .floating-label { - color: #ffffff; -} -.theme-white .item-input-field.focus-state:after, -.theme-white .input-field.focus-state:after, -.theme-white .item-input-field.not-empty-state:after, -.theme-white .input-field.not-empty-state:after { - background: #ffffff; -} -.theme-white .picker-calendar-day.picker-calendar-day-today span { - color: #ffffff; -} -.theme-white .picker-calendar-day.picker-calendar-day-selected span { - background-color: #ffffff; - color: #fff; -} -.theme-white .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #ffffff; -} -.theme-white .picker-header { - background-color: #ffffff; -} -.theme-white .modal-button { - color: #ffffff; -} -.swiper-pagination.color-white .swiper-pagination-bullet-active, -.theme-white .swiper-pagination .swiper-pagination-bullet-active { - background-color: #ffffff; -} -.swiper-pagination.color-white .swiper-pagination-progressbar, -.theme-white .swiper-pagination .swiper-pagination-progressbar { - background-color: #ffffff; -} -.swiper-pagination.swiper-pagination-progress.bg-white { - background-color: rgba(255, 255, 255, 0.25); -} -.swiper-button-next.color-white, -.swiper-container-rtl .swiper-button-prev.color-white, -.theme-white .swiper-button-next, -.theme-white .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-white, -.swiper-container-rtl .swiper-button-next.color-white, -.theme-white .swiper-button-prev, -.theme-white .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -.theme-white .floating-button, -.theme-white .speed-dial-buttons a, -.floating-button.theme-white, -.speed-dial-buttons a.theme-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .theme-white .floating-button:active, -html:not(.watch-active-state) .theme-white .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-white:active, -.theme-white .floating-button.active-state, -.theme-white .speed-dial-buttons a.active-state, -.floating-button.theme-white.active-state, -.speed-dial-buttons a.theme-white.active-state { - background: rgba(0, 0, 0, 0.1); -} -.theme-white .floating-button i, -.theme-white .speed-dial-buttons a i, -.floating-button.theme-white i, -.speed-dial-buttons a.theme-white i { - color: inherit; -} -.theme-white .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-white input[type="range"]::-webkit-slider-thumb { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-white input[type="range"]::-ms-thumb { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.theme-white .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-white input[type="range"]::-moz-range-thumb { - background-color: #ffffff; -} -.badge.theme-white { - background-color: #ffffff; - color: #fff; -} -.theme-black .button:not(.button-fill) { - color: #000000; -} -.theme-black .navbar .button:not(.button-fill), -.theme-black.navbar .button:not(.button-fill), -.theme-black .toolbar .button:not(.button-fill), -.theme-black.toolbar .button:not(.button-fill), -.theme-black .subnavbar .button:not(.button-fill), -.theme-black.subnavbar .button:not(.button-fill) { - color: #fff; -} -.theme-black .button.button-fill { - background: #000000; - color: #fff; -} -html:not(.watch-active-state) .theme-black .button.button-fill:active, -.theme-black .button.button-fill.active-state { - background: #333; -} -.progressbar.theme-black, -.theme-black .progressbar { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar.theme-black span, -.theme-black .progressbar span { - background-color: #000000; -} -.progressbar-infinite.theme-black, -.theme-black .progressbar-infinite { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar-infinite.theme-black:after, -.theme-black .progressbar-infinite:after, -.progressbar-infinite.theme-black:before, -.theme-black .progressbar-infinite:before { - background-color: #000000; -} -.color-black i.icon, -i.icon.color-black { - color: #000000; -} -i.icon-next.color-black, -i.icon-next.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-prev.color-black, -i.icon-prev.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23000000'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-back.color-black, -i.icon-back.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-forward.color-black, -i.icon-forward.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -i.icon-bars.color-black, -i.icon-bars.theme-black { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black a { - color: #000000; -} -.theme-black .navbar, -.navbar.theme-black, -.theme-black .toolbar, -.toolbar.theme-black, -.theme-black .subnavbar, -.subnavbar.theme-black, -.theme-black .searchbar, -.searchbar.theme-black { - background-color: #000000; -} -.theme-black .label-switch input[type="checkbox"]:checked + .checkbox, -.label-switch.theme-black input[type="checkbox"]:checked + .checkbox { - background-color: rgba(0, 0, 0, 0.5); -} -.theme-black .label-switch input[type="checkbox"]:checked + .checkbox:after, -.label-switch.theme-black input[type="checkbox"]:checked + .checkbox:after { - background-color: #000000; -} -.theme-black label.label-checkbox, -label.label-checkbox.theme-black { - cursor: pointer; -} -.theme-black label.label-checkbox i.icon-form-checkbox:after, -label.label-checkbox.theme-black i.icon-form-checkbox:after { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="radio"]:checked + .item-media i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -.theme-black label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox.theme-black input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #000000; - background-color: #000000; -} -.theme-black label.label-radio i.icon-form-radio:after, -label.label-radio.theme-black i.icon-form-radio:after { - background-color: #000000; -} -.theme-black label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-black input[type="checkbox"]:checked + .item-media i.icon-form-radio, -.theme-black label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio.theme-black input[type="radio"]:checked + .item-media i.icon-form-radio, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-after i.icon-form-radio, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #000000; -} -.theme-black label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-black input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -.theme-black label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio.theme-black input[type="radio"]:checked + .item-media i.icon-form-radio:after, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -.theme-black label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-black input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -.theme-black label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio.theme-black input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #000000; -} -.theme-black .focus-state .label, -.theme-black .focus-state .floating-label { - color: #000000; -} -.theme-black .item-input-field.focus-state:after, -.theme-black .input-field.focus-state:after, -.theme-black .item-input-field.not-empty-state:after, -.theme-black .input-field.not-empty-state:after { - background: #000000; -} -.theme-black .picker-calendar-day.picker-calendar-day-today span { - color: #000000; -} -.theme-black .picker-calendar-day.picker-calendar-day-selected span { - background-color: #000000; - color: #fff; -} -.theme-black .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: #000000; -} -.theme-black .picker-header { - background-color: #000000; -} -.theme-black .modal-button { - color: #000000; -} -.swiper-pagination.color-black .swiper-pagination-bullet-active, -.theme-black .swiper-pagination .swiper-pagination-bullet-active { - background-color: #000000; -} -.swiper-pagination.color-black .swiper-pagination-progressbar, -.theme-black .swiper-pagination .swiper-pagination-progressbar { - background-color: #000000; -} -.swiper-pagination.swiper-pagination-progress.bg-black { - background-color: rgba(0, 0, 0, 0.25); -} -.swiper-button-next.color-black, -.swiper-container-rtl .swiper-button-prev.color-black, -.theme-black .swiper-button-next, -.theme-black .swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.swiper-button-prev.color-black, -.swiper-container-rtl .swiper-button-next.color-black, -.theme-black .swiper-button-prev, -.theme-black .swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); -} -.theme-black .floating-button, -.theme-black .speed-dial-buttons a, -.floating-button.theme-black, -.speed-dial-buttons a.theme-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .theme-black .floating-button:active, -html:not(.watch-active-state) .theme-black .speed-dial-buttons a:active, -html:not(.watch-active-state) .floating-button.theme-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.theme-black:active, -.theme-black .floating-button.active-state, -.theme-black .speed-dial-buttons a.active-state, -.floating-button.theme-black.active-state, -.speed-dial-buttons a.theme-black.active-state { - background: #333; -} -.theme-black .floating-button i, -.theme-black .speed-dial-buttons a i, -.floating-button.theme-black i, -.speed-dial-buttons a.theme-black i { - color: inherit; -} -.theme-black .range-slider input[type="range"]::-webkit-slider-thumb:before, -.range-slider.theme-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-webkit-slider-thumb, -.range-slider.theme-black input[type="range"]::-webkit-slider-thumb { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-ms-thumb, -.range-slider.theme-black input[type="range"]::-ms-thumb { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-ms-fill-lower, -.range-slider.theme-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.theme-black .range-slider input[type="range"]::-moz-range-thumb, -.range-slider.theme-black input[type="range"]::-moz-range-thumb { - background-color: #000000; -} -.badge.theme-black { - background-color: #000000; - color: #fff; -} -/*========================== -Framework7 Color + Bg + Border -==========================*/ -.color-red { - color: #f44336; -} -.list-block .item-link.list-button.color-red, -.list-block .item-link.color-red, -.tabbar a.active.color-red, -a.color-red { - color: #f44336; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-red, -.label-switch.color-red input[type="checkbox"]:checked + .checkbox { - background-color: #f44336; -} -.button.color-red:not(.button-fill), -.color-red.buttons-row .button:not(.button-fill) { - color: #f44336 !important; -} -.button.button-fill.bg-red, -.button.button-fill.color-red { - background: #f44336 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-red:active, -html:not(.watch-active-state) .button.button-fill.color-red:active, -.button.button-fill.bg-red.active-state, -.button.button-fill.color-red.active-state { - background: #D32F2F !important; -} -.progressbar.color-red, -.progressbar.bg-red { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar.color-red span, -.progressbar.bg-red span { - background-color: #f44336; -} -.progressbar-infinite.color-red, -.progressbar-infinite.bg-red { - background-color: rgba(244, 67, 54, 0.5); -} -.progressbar-infinite.color-red:after, -.progressbar-infinite.bg-red:after, -.progressbar-infinite.color-red:before, -.progressbar-infinite.bg-red:before { - background-color: #f44336; -} -.color-red i.icon, -i.icon.color-red { - color: #f44336; -} -.preloader.color-red svg circle, -.preloader.preloader-red svg circle { - stroke: #f44336; -} -.preloader.color-red .preloader-inner-gap, -.preloader.preloader-red .preloader-inner-gap, -.preloader.color-red .preloader-inner-half-circle, -.preloader.preloader-red .preloader-inner-half-circle { - border-color: #f44336; -} -.bg-red, -a.bg-red, -.list-block .swipeout-actions-left a.bg-red, -.list-block .swipeout-actions-right a.bg-red { - background-color: #f44336; -} -html:not(.watch-active-state) .list-block .bg-red .item-link:active, -html:not(.watch-active-state) .list-block a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block.bg-red .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-red .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-red .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-red:active, -html:not(.watch-active-state) .list-block .item-linka.bg-red:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-red:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-red:active, -.list-block .bg-red .item-link.active-state, -.list-block a.bg-red .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-red .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-red .item-link.active-state, -.list-block.bg-red .item-link.active-state, -.list-blocka.bg-red .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-red .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-red .item-link.active-state, -.list-block .item-link.bg-red.active-state, -.list-block .item-linka.bg-red.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-red.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-red.active-state { - background: #D32F2F; -} -.border-red { - border-color: #f44336; -} -.list-block .border-red.item-inner:after, -.list-block ul.border-red:after, -.border-red:after, -.list-block .border-red.item-inner:before, -.list-block ul.border-red:before, -.border-red:before { - background-color: #f44336; -} -.floating-button.color-red, -.speed-dial-buttons a.color-red, -.floating-button.bg-red, -.speed-dial-buttons a.bg-red { - color: #fff; - background: #f44336; -} -html:not(.watch-active-state) .floating-button.color-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-red:active, -html:not(.watch-active-state) .floating-button.bg-red:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-red:active, -.floating-button.color-red.active-state, -.speed-dial-buttons a.color-red.active-state, -.floating-button.bg-red.active-state, -.speed-dial-buttons a.bg-red.active-state { - background: #D32F2F; -} -.floating-button.color-red i, -.speed-dial-buttons a.color-red i, -.floating-button.bg-red i, -.speed-dial-buttons a.bg-red i { - color: inherit; -} -.ripple-red .ripple-wave { - background-color: rgba(244, 67, 54, 0.3); -} -.range-slider.color-red input[type="range"]::-webkit-slider-thumb:before { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-webkit-slider-thumb { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-ms-thumb { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-ms-fill-lower { - background-color: #f44336; -} -.range-slider.color-red input[type="range"]::-moz-range-thumb { - background-color: #f44336; -} -.badge.color-red { - background-color: #f44336; - color: #fff; -} -.color-pink { - color: #e91e63; -} -.list-block .item-link.list-button.color-pink, -.list-block .item-link.color-pink, -.tabbar a.active.color-pink, -a.color-pink { - color: #e91e63; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-pink, -.label-switch.color-pink input[type="checkbox"]:checked + .checkbox { - background-color: #e91e63; -} -.button.color-pink:not(.button-fill), -.color-pink.buttons-row .button:not(.button-fill) { - color: #e91e63 !important; -} -.button.button-fill.bg-pink, -.button.button-fill.color-pink { - background: #e91e63 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-pink:active, -html:not(.watch-active-state) .button.button-fill.color-pink:active, -.button.button-fill.bg-pink.active-state, -.button.button-fill.color-pink.active-state { - background: #C2185B !important; -} -.progressbar.color-pink, -.progressbar.bg-pink { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar.color-pink span, -.progressbar.bg-pink span { - background-color: #e91e63; -} -.progressbar-infinite.color-pink, -.progressbar-infinite.bg-pink { - background-color: rgba(233, 30, 99, 0.5); -} -.progressbar-infinite.color-pink:after, -.progressbar-infinite.bg-pink:after, -.progressbar-infinite.color-pink:before, -.progressbar-infinite.bg-pink:before { - background-color: #e91e63; -} -.color-pink i.icon, -i.icon.color-pink { - color: #e91e63; -} -.preloader.color-pink svg circle, -.preloader.preloader-pink svg circle { - stroke: #e91e63; -} -.preloader.color-pink .preloader-inner-gap, -.preloader.preloader-pink .preloader-inner-gap, -.preloader.color-pink .preloader-inner-half-circle, -.preloader.preloader-pink .preloader-inner-half-circle { - border-color: #e91e63; -} -.bg-pink, -a.bg-pink, -.list-block .swipeout-actions-left a.bg-pink, -.list-block .swipeout-actions-right a.bg-pink { - background-color: #e91e63; -} -html:not(.watch-active-state) .list-block .bg-pink .item-link:active, -html:not(.watch-active-state) .list-block a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block.bg-pink .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-pink .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-pink:active, -html:not(.watch-active-state) .list-block .item-linka.bg-pink:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-pink:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-pink:active, -.list-block .bg-pink .item-link.active-state, -.list-block a.bg-pink .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-pink .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-pink .item-link.active-state, -.list-block.bg-pink .item-link.active-state, -.list-blocka.bg-pink .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-pink .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-pink .item-link.active-state, -.list-block .item-link.bg-pink.active-state, -.list-block .item-linka.bg-pink.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-pink.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-pink.active-state { - background: #C2185B; -} -.border-pink { - border-color: #e91e63; -} -.list-block .border-pink.item-inner:after, -.list-block ul.border-pink:after, -.border-pink:after, -.list-block .border-pink.item-inner:before, -.list-block ul.border-pink:before, -.border-pink:before { - background-color: #e91e63; -} -.floating-button.color-pink, -.speed-dial-buttons a.color-pink, -.floating-button.bg-pink, -.speed-dial-buttons a.bg-pink { - color: #fff; - background: #e91e63; -} -html:not(.watch-active-state) .floating-button.color-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-pink:active, -html:not(.watch-active-state) .floating-button.bg-pink:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-pink:active, -.floating-button.color-pink.active-state, -.speed-dial-buttons a.color-pink.active-state, -.floating-button.bg-pink.active-state, -.speed-dial-buttons a.bg-pink.active-state { - background: #C2185B; -} -.floating-button.color-pink i, -.speed-dial-buttons a.color-pink i, -.floating-button.bg-pink i, -.speed-dial-buttons a.bg-pink i { - color: inherit; -} -.ripple-pink .ripple-wave { - background-color: rgba(233, 30, 99, 0.3); -} -.range-slider.color-pink input[type="range"]::-webkit-slider-thumb:before { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-webkit-slider-thumb { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-ms-thumb { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-ms-fill-lower { - background-color: #e91e63; -} -.range-slider.color-pink input[type="range"]::-moz-range-thumb { - background-color: #e91e63; -} -.badge.color-pink { - background-color: #e91e63; - color: #fff; -} -.color-purple { - color: #9c27b0; -} -.list-block .item-link.list-button.color-purple, -.list-block .item-link.color-purple, -.tabbar a.active.color-purple, -a.color-purple { - color: #9c27b0; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-purple, -.label-switch.color-purple input[type="checkbox"]:checked + .checkbox { - background-color: #9c27b0; -} -.button.color-purple:not(.button-fill), -.color-purple.buttons-row .button:not(.button-fill) { - color: #9c27b0 !important; -} -.button.button-fill.bg-purple, -.button.button-fill.color-purple { - background: #9c27b0 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-purple:active, -html:not(.watch-active-state) .button.button-fill.color-purple:active, -.button.button-fill.bg-purple.active-state, -.button.button-fill.color-purple.active-state { - background: #7B1FA2 !important; -} -.progressbar.color-purple, -.progressbar.bg-purple { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar.color-purple span, -.progressbar.bg-purple span { - background-color: #9c27b0; -} -.progressbar-infinite.color-purple, -.progressbar-infinite.bg-purple { - background-color: rgba(156, 39, 176, 0.5); -} -.progressbar-infinite.color-purple:after, -.progressbar-infinite.bg-purple:after, -.progressbar-infinite.color-purple:before, -.progressbar-infinite.bg-purple:before { - background-color: #9c27b0; -} -.color-purple i.icon, -i.icon.color-purple { - color: #9c27b0; -} -.preloader.color-purple svg circle, -.preloader.preloader-purple svg circle { - stroke: #9c27b0; -} -.preloader.color-purple .preloader-inner-gap, -.preloader.preloader-purple .preloader-inner-gap, -.preloader.color-purple .preloader-inner-half-circle, -.preloader.preloader-purple .preloader-inner-half-circle { - border-color: #9c27b0; -} -.bg-purple, -a.bg-purple, -.list-block .swipeout-actions-left a.bg-purple, -.list-block .swipeout-actions-right a.bg-purple { - background-color: #9c27b0; -} -html:not(.watch-active-state) .list-block .bg-purple .item-link:active, -html:not(.watch-active-state) .list-block a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block.bg-purple .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-purple .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-purple:active, -html:not(.watch-active-state) .list-block .item-linka.bg-purple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-purple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-purple:active, -.list-block .bg-purple .item-link.active-state, -.list-block a.bg-purple .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-purple .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-purple .item-link.active-state, -.list-block.bg-purple .item-link.active-state, -.list-blocka.bg-purple .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-purple .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-purple .item-link.active-state, -.list-block .item-link.bg-purple.active-state, -.list-block .item-linka.bg-purple.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-purple.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-purple.active-state { - background: #7B1FA2; -} -.border-purple { - border-color: #9c27b0; -} -.list-block .border-purple.item-inner:after, -.list-block ul.border-purple:after, -.border-purple:after, -.list-block .border-purple.item-inner:before, -.list-block ul.border-purple:before, -.border-purple:before { - background-color: #9c27b0; -} -.floating-button.color-purple, -.speed-dial-buttons a.color-purple, -.floating-button.bg-purple, -.speed-dial-buttons a.bg-purple { - color: #fff; - background: #9c27b0; -} -html:not(.watch-active-state) .floating-button.color-purple:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-purple:active, -html:not(.watch-active-state) .floating-button.bg-purple:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-purple:active, -.floating-button.color-purple.active-state, -.speed-dial-buttons a.color-purple.active-state, -.floating-button.bg-purple.active-state, -.speed-dial-buttons a.bg-purple.active-state { - background: #7B1FA2; -} -.floating-button.color-purple i, -.speed-dial-buttons a.color-purple i, -.floating-button.bg-purple i, -.speed-dial-buttons a.bg-purple i { - color: inherit; -} -.ripple-purple .ripple-wave { - background-color: rgba(156, 39, 176, 0.3); -} -.range-slider.color-purple input[type="range"]::-webkit-slider-thumb:before { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-webkit-slider-thumb { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-ms-thumb { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-ms-fill-lower { - background-color: #9c27b0; -} -.range-slider.color-purple input[type="range"]::-moz-range-thumb { - background-color: #9c27b0; -} -.badge.color-purple { - background-color: #9c27b0; - color: #fff; -} -.color-deeppurple { - color: #673ab7; -} -.list-block .item-link.list-button.color-deeppurple, -.list-block .item-link.color-deeppurple, -.tabbar a.active.color-deeppurple, -a.color-deeppurple { - color: #673ab7; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-deeppurple, -.label-switch.color-deeppurple input[type="checkbox"]:checked + .checkbox { - background-color: #673ab7; -} -.button.color-deeppurple:not(.button-fill), -.color-deeppurple.buttons-row .button:not(.button-fill) { - color: #673ab7 !important; -} -.button.button-fill.bg-deeppurple, -.button.button-fill.color-deeppurple { - background: #673ab7 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-deeppurple:active, -html:not(.watch-active-state) .button.button-fill.color-deeppurple:active, -.button.button-fill.bg-deeppurple.active-state, -.button.button-fill.color-deeppurple.active-state { - background: #512DA8 !important; -} -.progressbar.color-deeppurple, -.progressbar.bg-deeppurple { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar.color-deeppurple span, -.progressbar.bg-deeppurple span { - background-color: #673ab7; -} -.progressbar-infinite.color-deeppurple, -.progressbar-infinite.bg-deeppurple { - background-color: rgba(103, 58, 183, 0.5); -} -.progressbar-infinite.color-deeppurple:after, -.progressbar-infinite.bg-deeppurple:after, -.progressbar-infinite.color-deeppurple:before, -.progressbar-infinite.bg-deeppurple:before { - background-color: #673ab7; -} -.color-deeppurple i.icon, -i.icon.color-deeppurple { - color: #673ab7; -} -.preloader.color-deeppurple svg circle, -.preloader.preloader-deeppurple svg circle { - stroke: #673ab7; -} -.preloader.color-deeppurple .preloader-inner-gap, -.preloader.preloader-deeppurple .preloader-inner-gap, -.preloader.color-deeppurple .preloader-inner-half-circle, -.preloader.preloader-deeppurple .preloader-inner-half-circle { - border-color: #673ab7; -} -.bg-deeppurple, -a.bg-deeppurple, -.list-block .swipeout-actions-left a.bg-deeppurple, -.list-block .swipeout-actions-right a.bg-deeppurple { - background-color: #673ab7; -} -html:not(.watch-active-state) .list-block .bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-deeppurple .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-deeppurple:active, -html:not(.watch-active-state) .list-block .item-linka.bg-deeppurple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-deeppurple:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-deeppurple:active, -.list-block .bg-deeppurple .item-link.active-state, -.list-block a.bg-deeppurple .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-deeppurple .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-deeppurple .item-link.active-state, -.list-block.bg-deeppurple .item-link.active-state, -.list-blocka.bg-deeppurple .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-deeppurple .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-deeppurple .item-link.active-state, -.list-block .item-link.bg-deeppurple.active-state, -.list-block .item-linka.bg-deeppurple.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-deeppurple.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-deeppurple.active-state { - background: #512DA8; -} -.border-deeppurple { - border-color: #673ab7; -} -.list-block .border-deeppurple.item-inner:after, -.list-block ul.border-deeppurple:after, -.border-deeppurple:after, -.list-block .border-deeppurple.item-inner:before, -.list-block ul.border-deeppurple:before, -.border-deeppurple:before { - background-color: #673ab7; -} -.floating-button.color-deeppurple, -.speed-dial-buttons a.color-deeppurple, -.floating-button.bg-deeppurple, -.speed-dial-buttons a.bg-deeppurple { - color: #fff; - background: #673ab7; -} -html:not(.watch-active-state) .floating-button.color-deeppurple:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-deeppurple:active, -html:not(.watch-active-state) .floating-button.bg-deeppurple:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-deeppurple:active, -.floating-button.color-deeppurple.active-state, -.speed-dial-buttons a.color-deeppurple.active-state, -.floating-button.bg-deeppurple.active-state, -.speed-dial-buttons a.bg-deeppurple.active-state { - background: #512DA8; -} -.floating-button.color-deeppurple i, -.speed-dial-buttons a.color-deeppurple i, -.floating-button.bg-deeppurple i, -.speed-dial-buttons a.bg-deeppurple i { - color: inherit; -} -.ripple-deeppurple .ripple-wave { - background-color: rgba(103, 58, 183, 0.3); -} -.range-slider.color-deeppurple input[type="range"]::-webkit-slider-thumb:before { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-webkit-slider-thumb { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-ms-thumb { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-ms-fill-lower { - background-color: #673ab7; -} -.range-slider.color-deeppurple input[type="range"]::-moz-range-thumb { - background-color: #673ab7; -} -.badge.color-deeppurple { - background-color: #673ab7; - color: #fff; -} -.color-indigo { - color: #3f51b5; -} -.list-block .item-link.list-button.color-indigo, -.list-block .item-link.color-indigo, -.tabbar a.active.color-indigo, -a.color-indigo { - color: #3f51b5; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-indigo, -.label-switch.color-indigo input[type="checkbox"]:checked + .checkbox { - background-color: #3f51b5; -} -.button.color-indigo:not(.button-fill), -.color-indigo.buttons-row .button:not(.button-fill) { - color: #3f51b5 !important; -} -.button.button-fill.bg-indigo, -.button.button-fill.color-indigo { - background: #3f51b5 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-indigo:active, -html:not(.watch-active-state) .button.button-fill.color-indigo:active, -.button.button-fill.bg-indigo.active-state, -.button.button-fill.color-indigo.active-state { - background: #303F9F !important; -} -.progressbar.color-indigo, -.progressbar.bg-indigo { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar.color-indigo span, -.progressbar.bg-indigo span { - background-color: #3f51b5; -} -.progressbar-infinite.color-indigo, -.progressbar-infinite.bg-indigo { - background-color: rgba(63, 81, 181, 0.5); -} -.progressbar-infinite.color-indigo:after, -.progressbar-infinite.bg-indigo:after, -.progressbar-infinite.color-indigo:before, -.progressbar-infinite.bg-indigo:before { - background-color: #3f51b5; -} -.color-indigo i.icon, -i.icon.color-indigo { - color: #3f51b5; -} -.preloader.color-indigo svg circle, -.preloader.preloader-indigo svg circle { - stroke: #3f51b5; -} -.preloader.color-indigo .preloader-inner-gap, -.preloader.preloader-indigo .preloader-inner-gap, -.preloader.color-indigo .preloader-inner-half-circle, -.preloader.preloader-indigo .preloader-inner-half-circle { - border-color: #3f51b5; -} -.bg-indigo, -a.bg-indigo, -.list-block .swipeout-actions-left a.bg-indigo, -.list-block .swipeout-actions-right a.bg-indigo { - background-color: #3f51b5; -} -html:not(.watch-active-state) .list-block .bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-indigo .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-indigo:active, -html:not(.watch-active-state) .list-block .item-linka.bg-indigo:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-indigo:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-indigo:active, -.list-block .bg-indigo .item-link.active-state, -.list-block a.bg-indigo .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-indigo .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-indigo .item-link.active-state, -.list-block.bg-indigo .item-link.active-state, -.list-blocka.bg-indigo .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-indigo .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-indigo .item-link.active-state, -.list-block .item-link.bg-indigo.active-state, -.list-block .item-linka.bg-indigo.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-indigo.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-indigo.active-state { - background: #303F9F; -} -.border-indigo { - border-color: #3f51b5; -} -.list-block .border-indigo.item-inner:after, -.list-block ul.border-indigo:after, -.border-indigo:after, -.list-block .border-indigo.item-inner:before, -.list-block ul.border-indigo:before, -.border-indigo:before { - background-color: #3f51b5; -} -.floating-button.color-indigo, -.speed-dial-buttons a.color-indigo, -.floating-button.bg-indigo, -.speed-dial-buttons a.bg-indigo { - color: #fff; - background: #3f51b5; -} -html:not(.watch-active-state) .floating-button.color-indigo:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-indigo:active, -html:not(.watch-active-state) .floating-button.bg-indigo:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-indigo:active, -.floating-button.color-indigo.active-state, -.speed-dial-buttons a.color-indigo.active-state, -.floating-button.bg-indigo.active-state, -.speed-dial-buttons a.bg-indigo.active-state { - background: #303F9F; -} -.floating-button.color-indigo i, -.speed-dial-buttons a.color-indigo i, -.floating-button.bg-indigo i, -.speed-dial-buttons a.bg-indigo i { - color: inherit; -} -.ripple-indigo .ripple-wave { - background-color: rgba(63, 81, 181, 0.3); -} -.range-slider.color-indigo input[type="range"]::-webkit-slider-thumb:before { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-webkit-slider-thumb { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-ms-thumb { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-ms-fill-lower { - background-color: #3f51b5; -} -.range-slider.color-indigo input[type="range"]::-moz-range-thumb { - background-color: #3f51b5; -} -.badge.color-indigo { - background-color: #3f51b5; - color: #fff; -} -.color-blue { - color: #2196f3; -} -.list-block .item-link.list-button.color-blue, -.list-block .item-link.color-blue, -.tabbar a.active.color-blue, -a.color-blue { - color: #2196f3; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-blue, -.label-switch.color-blue input[type="checkbox"]:checked + .checkbox { - background-color: #2196f3; -} -.button.color-blue:not(.button-fill), -.color-blue.buttons-row .button:not(.button-fill) { - color: #2196f3 !important; -} -.button.button-fill.bg-blue, -.button.button-fill.color-blue { - background: #2196f3 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-blue:active, -html:not(.watch-active-state) .button.button-fill.color-blue:active, -.button.button-fill.bg-blue.active-state, -.button.button-fill.color-blue.active-state { - background: #1976D2 !important; -} -.progressbar.color-blue, -.progressbar.bg-blue { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar.color-blue span, -.progressbar.bg-blue span { - background-color: #2196f3; -} -.progressbar-infinite.color-blue, -.progressbar-infinite.bg-blue { - background-color: rgba(33, 150, 243, 0.5); -} -.progressbar-infinite.color-blue:after, -.progressbar-infinite.bg-blue:after, -.progressbar-infinite.color-blue:before, -.progressbar-infinite.bg-blue:before { - background-color: #2196f3; -} -.color-blue i.icon, -i.icon.color-blue { - color: #2196f3; -} -.preloader.color-blue svg circle, -.preloader.preloader-blue svg circle { - stroke: #2196f3; -} -.preloader.color-blue .preloader-inner-gap, -.preloader.preloader-blue .preloader-inner-gap, -.preloader.color-blue .preloader-inner-half-circle, -.preloader.preloader-blue .preloader-inner-half-circle { - border-color: #2196f3; -} -.bg-blue, -a.bg-blue, -.list-block .swipeout-actions-left a.bg-blue, -.list-block .swipeout-actions-right a.bg-blue { - background-color: #2196f3; -} -html:not(.watch-active-state) .list-block .bg-blue .item-link:active, -html:not(.watch-active-state) .list-block a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block.bg-blue .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-blue .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-blue:active, -html:not(.watch-active-state) .list-block .item-linka.bg-blue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-blue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-blue:active, -.list-block .bg-blue .item-link.active-state, -.list-block a.bg-blue .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-blue .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-blue .item-link.active-state, -.list-block.bg-blue .item-link.active-state, -.list-blocka.bg-blue .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-blue .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-blue .item-link.active-state, -.list-block .item-link.bg-blue.active-state, -.list-block .item-linka.bg-blue.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-blue.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-blue.active-state { - background: #1976D2; -} -.border-blue { - border-color: #2196f3; -} -.list-block .border-blue.item-inner:after, -.list-block ul.border-blue:after, -.border-blue:after, -.list-block .border-blue.item-inner:before, -.list-block ul.border-blue:before, -.border-blue:before { - background-color: #2196f3; -} -.floating-button.color-blue, -.speed-dial-buttons a.color-blue, -.floating-button.bg-blue, -.speed-dial-buttons a.bg-blue { - color: #fff; - background: #2196f3; -} -html:not(.watch-active-state) .floating-button.color-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-blue:active, -html:not(.watch-active-state) .floating-button.bg-blue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-blue:active, -.floating-button.color-blue.active-state, -.speed-dial-buttons a.color-blue.active-state, -.floating-button.bg-blue.active-state, -.speed-dial-buttons a.bg-blue.active-state { - background: #1976D2; -} -.floating-button.color-blue i, -.speed-dial-buttons a.color-blue i, -.floating-button.bg-blue i, -.speed-dial-buttons a.bg-blue i { - color: inherit; -} -.ripple-blue .ripple-wave { - background-color: rgba(33, 150, 243, 0.3); -} -.range-slider.color-blue input[type="range"]::-webkit-slider-thumb:before { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-webkit-slider-thumb { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-ms-thumb { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-ms-fill-lower { - background-color: #2196f3; -} -.range-slider.color-blue input[type="range"]::-moz-range-thumb { - background-color: #2196f3; -} -.badge.color-blue { - background-color: #2196f3; - color: #fff; -} -.color-lightblue { - color: #03a9f4; -} -.list-block .item-link.list-button.color-lightblue, -.list-block .item-link.color-lightblue, -.tabbar a.active.color-lightblue, -a.color-lightblue { - color: #03a9f4; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lightblue, -.label-switch.color-lightblue input[type="checkbox"]:checked + .checkbox { - background-color: #03a9f4; -} -.button.color-lightblue:not(.button-fill), -.color-lightblue.buttons-row .button:not(.button-fill) { - color: #03a9f4 !important; -} -.button.button-fill.bg-lightblue, -.button.button-fill.color-lightblue { - background: #03a9f4 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-lightblue:active, -html:not(.watch-active-state) .button.button-fill.color-lightblue:active, -.button.button-fill.bg-lightblue.active-state, -.button.button-fill.color-lightblue.active-state { - background: #0288D1 !important; -} -.progressbar.color-lightblue, -.progressbar.bg-lightblue { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar.color-lightblue span, -.progressbar.bg-lightblue span { - background-color: #03a9f4; -} -.progressbar-infinite.color-lightblue, -.progressbar-infinite.bg-lightblue { - background-color: rgba(3, 169, 244, 0.5); -} -.progressbar-infinite.color-lightblue:after, -.progressbar-infinite.bg-lightblue:after, -.progressbar-infinite.color-lightblue:before, -.progressbar-infinite.bg-lightblue:before { - background-color: #03a9f4; -} -.color-lightblue i.icon, -i.icon.color-lightblue { - color: #03a9f4; -} -.preloader.color-lightblue svg circle, -.preloader.preloader-lightblue svg circle { - stroke: #03a9f4; -} -.preloader.color-lightblue .preloader-inner-gap, -.preloader.preloader-lightblue .preloader-inner-gap, -.preloader.color-lightblue .preloader-inner-half-circle, -.preloader.preloader-lightblue .preloader-inner-half-circle { - border-color: #03a9f4; -} -.bg-lightblue, -a.bg-lightblue, -.list-block .swipeout-actions-left a.bg-lightblue, -.list-block .swipeout-actions-right a.bg-lightblue { - background-color: #03a9f4; -} -html:not(.watch-active-state) .list-block .bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lightblue .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-lightblue:active, -html:not(.watch-active-state) .list-block .item-linka.bg-lightblue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lightblue:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lightblue:active, -.list-block .bg-lightblue .item-link.active-state, -.list-block a.bg-lightblue .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-lightblue .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-lightblue .item-link.active-state, -.list-block.bg-lightblue .item-link.active-state, -.list-blocka.bg-lightblue .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-lightblue .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-lightblue .item-link.active-state, -.list-block .item-link.bg-lightblue.active-state, -.list-block .item-linka.bg-lightblue.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-lightblue.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-lightblue.active-state { - background: #0288D1; -} -.border-lightblue { - border-color: #03a9f4; -} -.list-block .border-lightblue.item-inner:after, -.list-block ul.border-lightblue:after, -.border-lightblue:after, -.list-block .border-lightblue.item-inner:before, -.list-block ul.border-lightblue:before, -.border-lightblue:before { - background-color: #03a9f4; -} -.floating-button.color-lightblue, -.speed-dial-buttons a.color-lightblue, -.floating-button.bg-lightblue, -.speed-dial-buttons a.bg-lightblue { - color: #fff; - background: #03a9f4; -} -html:not(.watch-active-state) .floating-button.color-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lightblue:active, -html:not(.watch-active-state) .floating-button.bg-lightblue:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lightblue:active, -.floating-button.color-lightblue.active-state, -.speed-dial-buttons a.color-lightblue.active-state, -.floating-button.bg-lightblue.active-state, -.speed-dial-buttons a.bg-lightblue.active-state { - background: #0288D1; -} -.floating-button.color-lightblue i, -.speed-dial-buttons a.color-lightblue i, -.floating-button.bg-lightblue i, -.speed-dial-buttons a.bg-lightblue i { - color: inherit; -} -.ripple-lightblue .ripple-wave { - background-color: rgba(3, 169, 244, 0.3); -} -.range-slider.color-lightblue input[type="range"]::-webkit-slider-thumb:before { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-webkit-slider-thumb { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-ms-thumb { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-ms-fill-lower { - background-color: #03a9f4; -} -.range-slider.color-lightblue input[type="range"]::-moz-range-thumb { - background-color: #03a9f4; -} -.badge.color-lightblue { - background-color: #03a9f4; - color: #fff; -} -.color-cyan { - color: #00bcd4; -} -.list-block .item-link.list-button.color-cyan, -.list-block .item-link.color-cyan, -.tabbar a.active.color-cyan, -a.color-cyan { - color: #00bcd4; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-cyan, -.label-switch.color-cyan input[type="checkbox"]:checked + .checkbox { - background-color: #00bcd4; -} -.button.color-cyan:not(.button-fill), -.color-cyan.buttons-row .button:not(.button-fill) { - color: #00bcd4 !important; -} -.button.button-fill.bg-cyan, -.button.button-fill.color-cyan { - background: #00bcd4 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-cyan:active, -html:not(.watch-active-state) .button.button-fill.color-cyan:active, -.button.button-fill.bg-cyan.active-state, -.button.button-fill.color-cyan.active-state { - background: #0097A7 !important; -} -.progressbar.color-cyan, -.progressbar.bg-cyan { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar.color-cyan span, -.progressbar.bg-cyan span { - background-color: #00bcd4; -} -.progressbar-infinite.color-cyan, -.progressbar-infinite.bg-cyan { - background-color: rgba(0, 188, 212, 0.5); -} -.progressbar-infinite.color-cyan:after, -.progressbar-infinite.bg-cyan:after, -.progressbar-infinite.color-cyan:before, -.progressbar-infinite.bg-cyan:before { - background-color: #00bcd4; -} -.color-cyan i.icon, -i.icon.color-cyan { - color: #00bcd4; -} -.preloader.color-cyan svg circle, -.preloader.preloader-cyan svg circle { - stroke: #00bcd4; -} -.preloader.color-cyan .preloader-inner-gap, -.preloader.preloader-cyan .preloader-inner-gap, -.preloader.color-cyan .preloader-inner-half-circle, -.preloader.preloader-cyan .preloader-inner-half-circle { - border-color: #00bcd4; -} -.bg-cyan, -a.bg-cyan, -.list-block .swipeout-actions-left a.bg-cyan, -.list-block .swipeout-actions-right a.bg-cyan { - background-color: #00bcd4; -} -html:not(.watch-active-state) .list-block .bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-cyan .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-cyan:active, -html:not(.watch-active-state) .list-block .item-linka.bg-cyan:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-cyan:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-cyan:active, -.list-block .bg-cyan .item-link.active-state, -.list-block a.bg-cyan .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-cyan .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-cyan .item-link.active-state, -.list-block.bg-cyan .item-link.active-state, -.list-blocka.bg-cyan .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-cyan .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-cyan .item-link.active-state, -.list-block .item-link.bg-cyan.active-state, -.list-block .item-linka.bg-cyan.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-cyan.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-cyan.active-state { - background: #0097A7; -} -.border-cyan { - border-color: #00bcd4; -} -.list-block .border-cyan.item-inner:after, -.list-block ul.border-cyan:after, -.border-cyan:after, -.list-block .border-cyan.item-inner:before, -.list-block ul.border-cyan:before, -.border-cyan:before { - background-color: #00bcd4; -} -.floating-button.color-cyan, -.speed-dial-buttons a.color-cyan, -.floating-button.bg-cyan, -.speed-dial-buttons a.bg-cyan { - color: #fff; - background: #00bcd4; -} -html:not(.watch-active-state) .floating-button.color-cyan:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-cyan:active, -html:not(.watch-active-state) .floating-button.bg-cyan:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-cyan:active, -.floating-button.color-cyan.active-state, -.speed-dial-buttons a.color-cyan.active-state, -.floating-button.bg-cyan.active-state, -.speed-dial-buttons a.bg-cyan.active-state { - background: #0097A7; -} -.floating-button.color-cyan i, -.speed-dial-buttons a.color-cyan i, -.floating-button.bg-cyan i, -.speed-dial-buttons a.bg-cyan i { - color: inherit; -} -.ripple-cyan .ripple-wave { - background-color: rgba(0, 188, 212, 0.3); -} -.range-slider.color-cyan input[type="range"]::-webkit-slider-thumb:before { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-webkit-slider-thumb { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-ms-thumb { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-ms-fill-lower { - background-color: #00bcd4; -} -.range-slider.color-cyan input[type="range"]::-moz-range-thumb { - background-color: #00bcd4; -} -.badge.color-cyan { - background-color: #00bcd4; - color: #fff; -} -.color-teal { - color: #009688; -} -.list-block .item-link.list-button.color-teal, -.list-block .item-link.color-teal, -.tabbar a.active.color-teal, -a.color-teal { - color: #009688; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-teal, -.label-switch.color-teal input[type="checkbox"]:checked + .checkbox { - background-color: #009688; -} -.button.color-teal:not(.button-fill), -.color-teal.buttons-row .button:not(.button-fill) { - color: #009688 !important; -} -.button.button-fill.bg-teal, -.button.button-fill.color-teal { - background: #009688 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-teal:active, -html:not(.watch-active-state) .button.button-fill.color-teal:active, -.button.button-fill.bg-teal.active-state, -.button.button-fill.color-teal.active-state { - background: #00897B !important; -} -.progressbar.color-teal, -.progressbar.bg-teal { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar.color-teal span, -.progressbar.bg-teal span { - background-color: #009688; -} -.progressbar-infinite.color-teal, -.progressbar-infinite.bg-teal { - background-color: rgba(0, 150, 136, 0.5); -} -.progressbar-infinite.color-teal:after, -.progressbar-infinite.bg-teal:after, -.progressbar-infinite.color-teal:before, -.progressbar-infinite.bg-teal:before { - background-color: #009688; -} -.color-teal i.icon, -i.icon.color-teal { - color: #009688; -} -.preloader.color-teal svg circle, -.preloader.preloader-teal svg circle { - stroke: #009688; -} -.preloader.color-teal .preloader-inner-gap, -.preloader.preloader-teal .preloader-inner-gap, -.preloader.color-teal .preloader-inner-half-circle, -.preloader.preloader-teal .preloader-inner-half-circle { - border-color: #009688; -} -.bg-teal, -a.bg-teal, -.list-block .swipeout-actions-left a.bg-teal, -.list-block .swipeout-actions-right a.bg-teal { - background-color: #009688; -} -html:not(.watch-active-state) .list-block .bg-teal .item-link:active, -html:not(.watch-active-state) .list-block a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block.bg-teal .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-teal .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-teal:active, -html:not(.watch-active-state) .list-block .item-linka.bg-teal:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-teal:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-teal:active, -.list-block .bg-teal .item-link.active-state, -.list-block a.bg-teal .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-teal .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-teal .item-link.active-state, -.list-block.bg-teal .item-link.active-state, -.list-blocka.bg-teal .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-teal .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-teal .item-link.active-state, -.list-block .item-link.bg-teal.active-state, -.list-block .item-linka.bg-teal.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-teal.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-teal.active-state { - background: #00897B; -} -.border-teal { - border-color: #009688; -} -.list-block .border-teal.item-inner:after, -.list-block ul.border-teal:after, -.border-teal:after, -.list-block .border-teal.item-inner:before, -.list-block ul.border-teal:before, -.border-teal:before { - background-color: #009688; -} -.floating-button.color-teal, -.speed-dial-buttons a.color-teal, -.floating-button.bg-teal, -.speed-dial-buttons a.bg-teal { - color: #fff; - background: #009688; -} -html:not(.watch-active-state) .floating-button.color-teal:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-teal:active, -html:not(.watch-active-state) .floating-button.bg-teal:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-teal:active, -.floating-button.color-teal.active-state, -.speed-dial-buttons a.color-teal.active-state, -.floating-button.bg-teal.active-state, -.speed-dial-buttons a.bg-teal.active-state { - background: #00897B; -} -.floating-button.color-teal i, -.speed-dial-buttons a.color-teal i, -.floating-button.bg-teal i, -.speed-dial-buttons a.bg-teal i { - color: inherit; -} -.ripple-teal .ripple-wave { - background-color: rgba(0, 150, 136, 0.3); -} -.range-slider.color-teal input[type="range"]::-webkit-slider-thumb:before { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-webkit-slider-thumb { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-ms-thumb { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-ms-fill-lower { - background-color: #009688; -} -.range-slider.color-teal input[type="range"]::-moz-range-thumb { - background-color: #009688; -} -.badge.color-teal { - background-color: #009688; - color: #fff; -} -.color-green { - color: #4caf50; -} -.list-block .item-link.list-button.color-green, -.list-block .item-link.color-green, -.tabbar a.active.color-green, -a.color-green { - color: #4caf50; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-green, -.label-switch.color-green input[type="checkbox"]:checked + .checkbox { - background-color: #4caf50; -} -.button.color-green:not(.button-fill), -.color-green.buttons-row .button:not(.button-fill) { - color: #4caf50 !important; -} -.button.button-fill.bg-green, -.button.button-fill.color-green { - background: #4caf50 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-green:active, -html:not(.watch-active-state) .button.button-fill.color-green:active, -.button.button-fill.bg-green.active-state, -.button.button-fill.color-green.active-state { - background: #388E3C !important; -} -.progressbar.color-green, -.progressbar.bg-green { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar.color-green span, -.progressbar.bg-green span { - background-color: #4caf50; -} -.progressbar-infinite.color-green, -.progressbar-infinite.bg-green { - background-color: rgba(76, 175, 80, 0.5); -} -.progressbar-infinite.color-green:after, -.progressbar-infinite.bg-green:after, -.progressbar-infinite.color-green:before, -.progressbar-infinite.bg-green:before { - background-color: #4caf50; -} -.color-green i.icon, -i.icon.color-green { - color: #4caf50; -} -.preloader.color-green svg circle, -.preloader.preloader-green svg circle { - stroke: #4caf50; -} -.preloader.color-green .preloader-inner-gap, -.preloader.preloader-green .preloader-inner-gap, -.preloader.color-green .preloader-inner-half-circle, -.preloader.preloader-green .preloader-inner-half-circle { - border-color: #4caf50; -} -.bg-green, -a.bg-green, -.list-block .swipeout-actions-left a.bg-green, -.list-block .swipeout-actions-right a.bg-green { - background-color: #4caf50; -} -html:not(.watch-active-state) .list-block .bg-green .item-link:active, -html:not(.watch-active-state) .list-block a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block.bg-green .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-green .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-green .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-green:active, -html:not(.watch-active-state) .list-block .item-linka.bg-green:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-green:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-green:active, -.list-block .bg-green .item-link.active-state, -.list-block a.bg-green .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-green .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-green .item-link.active-state, -.list-block.bg-green .item-link.active-state, -.list-blocka.bg-green .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-green .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-green .item-link.active-state, -.list-block .item-link.bg-green.active-state, -.list-block .item-linka.bg-green.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-green.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-green.active-state { - background: #388E3C; -} -.border-green { - border-color: #4caf50; -} -.list-block .border-green.item-inner:after, -.list-block ul.border-green:after, -.border-green:after, -.list-block .border-green.item-inner:before, -.list-block ul.border-green:before, -.border-green:before { - background-color: #4caf50; -} -.floating-button.color-green, -.speed-dial-buttons a.color-green, -.floating-button.bg-green, -.speed-dial-buttons a.bg-green { - color: #fff; - background: #4caf50; -} -html:not(.watch-active-state) .floating-button.color-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-green:active, -html:not(.watch-active-state) .floating-button.bg-green:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-green:active, -.floating-button.color-green.active-state, -.speed-dial-buttons a.color-green.active-state, -.floating-button.bg-green.active-state, -.speed-dial-buttons a.bg-green.active-state { - background: #388E3C; -} -.floating-button.color-green i, -.speed-dial-buttons a.color-green i, -.floating-button.bg-green i, -.speed-dial-buttons a.bg-green i { - color: inherit; -} -.ripple-green .ripple-wave { - background-color: rgba(76, 175, 80, 0.3); -} -.range-slider.color-green input[type="range"]::-webkit-slider-thumb:before { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-webkit-slider-thumb { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-ms-thumb { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-ms-fill-lower { - background-color: #4caf50; -} -.range-slider.color-green input[type="range"]::-moz-range-thumb { - background-color: #4caf50; -} -.badge.color-green { - background-color: #4caf50; - color: #fff; -} -.color-lightgreen { - color: #8bc34a; -} -.list-block .item-link.list-button.color-lightgreen, -.list-block .item-link.color-lightgreen, -.tabbar a.active.color-lightgreen, -a.color-lightgreen { - color: #8bc34a; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lightgreen, -.label-switch.color-lightgreen input[type="checkbox"]:checked + .checkbox { - background-color: #8bc34a; -} -.button.color-lightgreen:not(.button-fill), -.color-lightgreen.buttons-row .button:not(.button-fill) { - color: #8bc34a !important; -} -.button.button-fill.bg-lightgreen, -.button.button-fill.color-lightgreen { - background: #8bc34a !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-lightgreen:active, -html:not(.watch-active-state) .button.button-fill.color-lightgreen:active, -.button.button-fill.bg-lightgreen.active-state, -.button.button-fill.color-lightgreen.active-state { - background: #689F38 !important; -} -.progressbar.color-lightgreen, -.progressbar.bg-lightgreen { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar.color-lightgreen span, -.progressbar.bg-lightgreen span { - background-color: #8bc34a; -} -.progressbar-infinite.color-lightgreen, -.progressbar-infinite.bg-lightgreen { - background-color: rgba(139, 195, 74, 0.5); -} -.progressbar-infinite.color-lightgreen:after, -.progressbar-infinite.bg-lightgreen:after, -.progressbar-infinite.color-lightgreen:before, -.progressbar-infinite.bg-lightgreen:before { - background-color: #8bc34a; -} -.color-lightgreen i.icon, -i.icon.color-lightgreen { - color: #8bc34a; -} -.preloader.color-lightgreen svg circle, -.preloader.preloader-lightgreen svg circle { - stroke: #8bc34a; -} -.preloader.color-lightgreen .preloader-inner-gap, -.preloader.preloader-lightgreen .preloader-inner-gap, -.preloader.color-lightgreen .preloader-inner-half-circle, -.preloader.preloader-lightgreen .preloader-inner-half-circle { - border-color: #8bc34a; -} -.bg-lightgreen, -a.bg-lightgreen, -.list-block .swipeout-actions-left a.bg-lightgreen, -.list-block .swipeout-actions-right a.bg-lightgreen { - background-color: #8bc34a; -} -html:not(.watch-active-state) .list-block .bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lightgreen .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-lightgreen:active, -html:not(.watch-active-state) .list-block .item-linka.bg-lightgreen:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lightgreen:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lightgreen:active, -.list-block .bg-lightgreen .item-link.active-state, -.list-block a.bg-lightgreen .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-lightgreen .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-lightgreen .item-link.active-state, -.list-block.bg-lightgreen .item-link.active-state, -.list-blocka.bg-lightgreen .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-lightgreen .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-lightgreen .item-link.active-state, -.list-block .item-link.bg-lightgreen.active-state, -.list-block .item-linka.bg-lightgreen.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-lightgreen.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-lightgreen.active-state { - background: #689F38; -} -.border-lightgreen { - border-color: #8bc34a; -} -.list-block .border-lightgreen.item-inner:after, -.list-block ul.border-lightgreen:after, -.border-lightgreen:after, -.list-block .border-lightgreen.item-inner:before, -.list-block ul.border-lightgreen:before, -.border-lightgreen:before { - background-color: #8bc34a; -} -.floating-button.color-lightgreen, -.speed-dial-buttons a.color-lightgreen, -.floating-button.bg-lightgreen, -.speed-dial-buttons a.bg-lightgreen { - color: #fff; - background: #8bc34a; -} -html:not(.watch-active-state) .floating-button.color-lightgreen:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lightgreen:active, -html:not(.watch-active-state) .floating-button.bg-lightgreen:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lightgreen:active, -.floating-button.color-lightgreen.active-state, -.speed-dial-buttons a.color-lightgreen.active-state, -.floating-button.bg-lightgreen.active-state, -.speed-dial-buttons a.bg-lightgreen.active-state { - background: #689F38; -} -.floating-button.color-lightgreen i, -.speed-dial-buttons a.color-lightgreen i, -.floating-button.bg-lightgreen i, -.speed-dial-buttons a.bg-lightgreen i { - color: inherit; -} -.ripple-lightgreen .ripple-wave { - background-color: rgba(139, 195, 74, 0.3); -} -.range-slider.color-lightgreen input[type="range"]::-webkit-slider-thumb:before { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-webkit-slider-thumb { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-ms-thumb { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-ms-fill-lower { - background-color: #8bc34a; -} -.range-slider.color-lightgreen input[type="range"]::-moz-range-thumb { - background-color: #8bc34a; -} -.badge.color-lightgreen { - background-color: #8bc34a; - color: #fff; -} -.color-lime { - color: #cddc39; -} -.list-block .item-link.list-button.color-lime, -.list-block .item-link.color-lime, -.tabbar a.active.color-lime, -a.color-lime { - color: #cddc39; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-lime, -.label-switch.color-lime input[type="checkbox"]:checked + .checkbox { - background-color: #cddc39; -} -.button.color-lime:not(.button-fill), -.color-lime.buttons-row .button:not(.button-fill) { - color: #cddc39 !important; -} -.button.button-fill.bg-lime, -.button.button-fill.color-lime { - background: #cddc39 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-lime:active, -html:not(.watch-active-state) .button.button-fill.color-lime:active, -.button.button-fill.bg-lime.active-state, -.button.button-fill.color-lime.active-state { - background: #AFB42B !important; -} -.progressbar.color-lime, -.progressbar.bg-lime { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar.color-lime span, -.progressbar.bg-lime span { - background-color: #cddc39; -} -.progressbar-infinite.color-lime, -.progressbar-infinite.bg-lime { - background-color: rgba(205, 220, 57, 0.5); -} -.progressbar-infinite.color-lime:after, -.progressbar-infinite.bg-lime:after, -.progressbar-infinite.color-lime:before, -.progressbar-infinite.bg-lime:before { - background-color: #cddc39; -} -.color-lime i.icon, -i.icon.color-lime { - color: #cddc39; -} -.preloader.color-lime svg circle, -.preloader.preloader-lime svg circle { - stroke: #cddc39; -} -.preloader.color-lime .preloader-inner-gap, -.preloader.preloader-lime .preloader-inner-gap, -.preloader.color-lime .preloader-inner-half-circle, -.preloader.preloader-lime .preloader-inner-half-circle { - border-color: #cddc39; -} -.bg-lime, -a.bg-lime, -.list-block .swipeout-actions-left a.bg-lime, -.list-block .swipeout-actions-right a.bg-lime { - background-color: #cddc39; -} -html:not(.watch-active-state) .list-block .bg-lime .item-link:active, -html:not(.watch-active-state) .list-block a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block.bg-lime .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-lime .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-lime:active, -html:not(.watch-active-state) .list-block .item-linka.bg-lime:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-lime:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-lime:active, -.list-block .bg-lime .item-link.active-state, -.list-block a.bg-lime .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-lime .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-lime .item-link.active-state, -.list-block.bg-lime .item-link.active-state, -.list-blocka.bg-lime .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-lime .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-lime .item-link.active-state, -.list-block .item-link.bg-lime.active-state, -.list-block .item-linka.bg-lime.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-lime.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-lime.active-state { - background: #AFB42B; -} -.border-lime { - border-color: #cddc39; -} -.list-block .border-lime.item-inner:after, -.list-block ul.border-lime:after, -.border-lime:after, -.list-block .border-lime.item-inner:before, -.list-block ul.border-lime:before, -.border-lime:before { - background-color: #cddc39; -} -.floating-button.color-lime, -.speed-dial-buttons a.color-lime, -.floating-button.bg-lime, -.speed-dial-buttons a.bg-lime { - color: #fff; - background: #cddc39; -} -html:not(.watch-active-state) .floating-button.color-lime:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-lime:active, -html:not(.watch-active-state) .floating-button.bg-lime:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-lime:active, -.floating-button.color-lime.active-state, -.speed-dial-buttons a.color-lime.active-state, -.floating-button.bg-lime.active-state, -.speed-dial-buttons a.bg-lime.active-state { - background: #AFB42B; -} -.floating-button.color-lime i, -.speed-dial-buttons a.color-lime i, -.floating-button.bg-lime i, -.speed-dial-buttons a.bg-lime i { - color: inherit; -} -.ripple-lime .ripple-wave { - background-color: rgba(205, 220, 57, 0.3); -} -.range-slider.color-lime input[type="range"]::-webkit-slider-thumb:before { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-webkit-slider-thumb { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-ms-thumb { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-ms-fill-lower { - background-color: #cddc39; -} -.range-slider.color-lime input[type="range"]::-moz-range-thumb { - background-color: #cddc39; -} -.badge.color-lime { - background-color: #cddc39; - color: #fff; -} -.color-yellow { - color: #ffeb3b; -} -.list-block .item-link.list-button.color-yellow, -.list-block .item-link.color-yellow, -.tabbar a.active.color-yellow, -a.color-yellow { - color: #ffeb3b; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-yellow, -.label-switch.color-yellow input[type="checkbox"]:checked + .checkbox { - background-color: #ffeb3b; -} -.button.color-yellow:not(.button-fill), -.color-yellow.buttons-row .button:not(.button-fill) { - color: #ffeb3b !important; -} -.button.button-fill.bg-yellow, -.button.button-fill.color-yellow { - background: #ffeb3b !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-yellow:active, -html:not(.watch-active-state) .button.button-fill.color-yellow:active, -.button.button-fill.bg-yellow.active-state, -.button.button-fill.color-yellow.active-state { - background: #FBC02D !important; -} -.progressbar.color-yellow, -.progressbar.bg-yellow { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar.color-yellow span, -.progressbar.bg-yellow span { - background-color: #ffeb3b; -} -.progressbar-infinite.color-yellow, -.progressbar-infinite.bg-yellow { - background-color: rgba(255, 235, 59, 0.5); -} -.progressbar-infinite.color-yellow:after, -.progressbar-infinite.bg-yellow:after, -.progressbar-infinite.color-yellow:before, -.progressbar-infinite.bg-yellow:before { - background-color: #ffeb3b; -} -.color-yellow i.icon, -i.icon.color-yellow { - color: #ffeb3b; -} -.preloader.color-yellow svg circle, -.preloader.preloader-yellow svg circle { - stroke: #ffeb3b; -} -.preloader.color-yellow .preloader-inner-gap, -.preloader.preloader-yellow .preloader-inner-gap, -.preloader.color-yellow .preloader-inner-half-circle, -.preloader.preloader-yellow .preloader-inner-half-circle { - border-color: #ffeb3b; -} -.bg-yellow, -a.bg-yellow, -.list-block .swipeout-actions-left a.bg-yellow, -.list-block .swipeout-actions-right a.bg-yellow { - background-color: #ffeb3b; -} -html:not(.watch-active-state) .list-block .bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-yellow .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-yellow:active, -html:not(.watch-active-state) .list-block .item-linka.bg-yellow:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-yellow:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-yellow:active, -.list-block .bg-yellow .item-link.active-state, -.list-block a.bg-yellow .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-yellow .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-yellow .item-link.active-state, -.list-block.bg-yellow .item-link.active-state, -.list-blocka.bg-yellow .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-yellow .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-yellow .item-link.active-state, -.list-block .item-link.bg-yellow.active-state, -.list-block .item-linka.bg-yellow.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-yellow.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-yellow.active-state { - background: #FBC02D; -} -.border-yellow { - border-color: #ffeb3b; -} -.list-block .border-yellow.item-inner:after, -.list-block ul.border-yellow:after, -.border-yellow:after, -.list-block .border-yellow.item-inner:before, -.list-block ul.border-yellow:before, -.border-yellow:before { - background-color: #ffeb3b; -} -.floating-button.color-yellow, -.speed-dial-buttons a.color-yellow, -.floating-button.bg-yellow, -.speed-dial-buttons a.bg-yellow { - color: #fff; - background: #ffeb3b; -} -html:not(.watch-active-state) .floating-button.color-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-yellow:active, -html:not(.watch-active-state) .floating-button.bg-yellow:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-yellow:active, -.floating-button.color-yellow.active-state, -.speed-dial-buttons a.color-yellow.active-state, -.floating-button.bg-yellow.active-state, -.speed-dial-buttons a.bg-yellow.active-state { - background: #FBC02D; -} -.floating-button.color-yellow i, -.speed-dial-buttons a.color-yellow i, -.floating-button.bg-yellow i, -.speed-dial-buttons a.bg-yellow i { - color: inherit; -} -.ripple-yellow .ripple-wave { - background-color: rgba(255, 235, 59, 0.3); -} -.range-slider.color-yellow input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-webkit-slider-thumb { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-ms-thumb { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-ms-fill-lower { - background-color: #ffeb3b; -} -.range-slider.color-yellow input[type="range"]::-moz-range-thumb { - background-color: #ffeb3b; -} -.badge.color-yellow { - background-color: #ffeb3b; - color: #fff; -} -.color-amber { - color: #ffc107; -} -.list-block .item-link.list-button.color-amber, -.list-block .item-link.color-amber, -.tabbar a.active.color-amber, -a.color-amber { - color: #ffc107; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-amber, -.label-switch.color-amber input[type="checkbox"]:checked + .checkbox { - background-color: #ffc107; -} -.button.color-amber:not(.button-fill), -.color-amber.buttons-row .button:not(.button-fill) { - color: #ffc107 !important; -} -.button.button-fill.bg-amber, -.button.button-fill.color-amber { - background: #ffc107 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-amber:active, -html:not(.watch-active-state) .button.button-fill.color-amber:active, -.button.button-fill.bg-amber.active-state, -.button.button-fill.color-amber.active-state { - background: #FFA000 !important; -} -.progressbar.color-amber, -.progressbar.bg-amber { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar.color-amber span, -.progressbar.bg-amber span { - background-color: #ffc107; -} -.progressbar-infinite.color-amber, -.progressbar-infinite.bg-amber { - background-color: rgba(255, 193, 7, 0.5); -} -.progressbar-infinite.color-amber:after, -.progressbar-infinite.bg-amber:after, -.progressbar-infinite.color-amber:before, -.progressbar-infinite.bg-amber:before { - background-color: #ffc107; -} -.color-amber i.icon, -i.icon.color-amber { - color: #ffc107; -} -.preloader.color-amber svg circle, -.preloader.preloader-amber svg circle { - stroke: #ffc107; -} -.preloader.color-amber .preloader-inner-gap, -.preloader.preloader-amber .preloader-inner-gap, -.preloader.color-amber .preloader-inner-half-circle, -.preloader.preloader-amber .preloader-inner-half-circle { - border-color: #ffc107; -} -.bg-amber, -a.bg-amber, -.list-block .swipeout-actions-left a.bg-amber, -.list-block .swipeout-actions-right a.bg-amber { - background-color: #ffc107; -} -html:not(.watch-active-state) .list-block .bg-amber .item-link:active, -html:not(.watch-active-state) .list-block a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block.bg-amber .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-amber .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-amber:active, -html:not(.watch-active-state) .list-block .item-linka.bg-amber:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-amber:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-amber:active, -.list-block .bg-amber .item-link.active-state, -.list-block a.bg-amber .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-amber .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-amber .item-link.active-state, -.list-block.bg-amber .item-link.active-state, -.list-blocka.bg-amber .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-amber .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-amber .item-link.active-state, -.list-block .item-link.bg-amber.active-state, -.list-block .item-linka.bg-amber.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-amber.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-amber.active-state { - background: #FFA000; -} -.border-amber { - border-color: #ffc107; -} -.list-block .border-amber.item-inner:after, -.list-block ul.border-amber:after, -.border-amber:after, -.list-block .border-amber.item-inner:before, -.list-block ul.border-amber:before, -.border-amber:before { - background-color: #ffc107; -} -.floating-button.color-amber, -.speed-dial-buttons a.color-amber, -.floating-button.bg-amber, -.speed-dial-buttons a.bg-amber { - color: #fff; - background: #ffc107; -} -html:not(.watch-active-state) .floating-button.color-amber:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-amber:active, -html:not(.watch-active-state) .floating-button.bg-amber:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-amber:active, -.floating-button.color-amber.active-state, -.speed-dial-buttons a.color-amber.active-state, -.floating-button.bg-amber.active-state, -.speed-dial-buttons a.bg-amber.active-state { - background: #FFA000; -} -.floating-button.color-amber i, -.speed-dial-buttons a.color-amber i, -.floating-button.bg-amber i, -.speed-dial-buttons a.bg-amber i { - color: inherit; -} -.ripple-amber .ripple-wave { - background-color: rgba(255, 193, 7, 0.3); -} -.range-slider.color-amber input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-webkit-slider-thumb { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-ms-thumb { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-ms-fill-lower { - background-color: #ffc107; -} -.range-slider.color-amber input[type="range"]::-moz-range-thumb { - background-color: #ffc107; -} -.badge.color-amber { - background-color: #ffc107; - color: #fff; -} -.color-orange { - color: #ff9800; -} -.list-block .item-link.list-button.color-orange, -.list-block .item-link.color-orange, -.tabbar a.active.color-orange, -a.color-orange { - color: #ff9800; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-orange, -.label-switch.color-orange input[type="checkbox"]:checked + .checkbox { - background-color: #ff9800; -} -.button.color-orange:not(.button-fill), -.color-orange.buttons-row .button:not(.button-fill) { - color: #ff9800 !important; -} -.button.button-fill.bg-orange, -.button.button-fill.color-orange { - background: #ff9800 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-orange:active, -html:not(.watch-active-state) .button.button-fill.color-orange:active, -.button.button-fill.bg-orange.active-state, -.button.button-fill.color-orange.active-state { - background: #F57C00 !important; -} -.progressbar.color-orange, -.progressbar.bg-orange { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar.color-orange span, -.progressbar.bg-orange span { - background-color: #ff9800; -} -.progressbar-infinite.color-orange, -.progressbar-infinite.bg-orange { - background-color: rgba(255, 152, 0, 0.5); -} -.progressbar-infinite.color-orange:after, -.progressbar-infinite.bg-orange:after, -.progressbar-infinite.color-orange:before, -.progressbar-infinite.bg-orange:before { - background-color: #ff9800; -} -.color-orange i.icon, -i.icon.color-orange { - color: #ff9800; -} -.preloader.color-orange svg circle, -.preloader.preloader-orange svg circle { - stroke: #ff9800; -} -.preloader.color-orange .preloader-inner-gap, -.preloader.preloader-orange .preloader-inner-gap, -.preloader.color-orange .preloader-inner-half-circle, -.preloader.preloader-orange .preloader-inner-half-circle { - border-color: #ff9800; -} -.bg-orange, -a.bg-orange, -.list-block .swipeout-actions-left a.bg-orange, -.list-block .swipeout-actions-right a.bg-orange { - background-color: #ff9800; -} -html:not(.watch-active-state) .list-block .bg-orange .item-link:active, -html:not(.watch-active-state) .list-block a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block.bg-orange .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-orange .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-orange:active, -html:not(.watch-active-state) .list-block .item-linka.bg-orange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-orange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-orange:active, -.list-block .bg-orange .item-link.active-state, -.list-block a.bg-orange .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-orange .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-orange .item-link.active-state, -.list-block.bg-orange .item-link.active-state, -.list-blocka.bg-orange .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-orange .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-orange .item-link.active-state, -.list-block .item-link.bg-orange.active-state, -.list-block .item-linka.bg-orange.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-orange.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-orange.active-state { - background: #F57C00; -} -.border-orange { - border-color: #ff9800; -} -.list-block .border-orange.item-inner:after, -.list-block ul.border-orange:after, -.border-orange:after, -.list-block .border-orange.item-inner:before, -.list-block ul.border-orange:before, -.border-orange:before { - background-color: #ff9800; -} -.floating-button.color-orange, -.speed-dial-buttons a.color-orange, -.floating-button.bg-orange, -.speed-dial-buttons a.bg-orange { - color: #fff; - background: #ff9800; -} -html:not(.watch-active-state) .floating-button.color-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-orange:active, -html:not(.watch-active-state) .floating-button.bg-orange:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-orange:active, -.floating-button.color-orange.active-state, -.speed-dial-buttons a.color-orange.active-state, -.floating-button.bg-orange.active-state, -.speed-dial-buttons a.bg-orange.active-state { - background: #F57C00; -} -.floating-button.color-orange i, -.speed-dial-buttons a.color-orange i, -.floating-button.bg-orange i, -.speed-dial-buttons a.bg-orange i { - color: inherit; -} -.ripple-orange .ripple-wave { - background-color: rgba(255, 152, 0, 0.3); -} -.range-slider.color-orange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-webkit-slider-thumb { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-ms-thumb { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-ms-fill-lower { - background-color: #ff9800; -} -.range-slider.color-orange input[type="range"]::-moz-range-thumb { - background-color: #ff9800; -} -.badge.color-orange { - background-color: #ff9800; - color: #fff; -} -.color-deeporange { - color: #ff5722; -} -.list-block .item-link.list-button.color-deeporange, -.list-block .item-link.color-deeporange, -.tabbar a.active.color-deeporange, -a.color-deeporange { - color: #ff5722; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-deeporange, -.label-switch.color-deeporange input[type="checkbox"]:checked + .checkbox { - background-color: #ff5722; -} -.button.color-deeporange:not(.button-fill), -.color-deeporange.buttons-row .button:not(.button-fill) { - color: #ff5722 !important; -} -.button.button-fill.bg-deeporange, -.button.button-fill.color-deeporange { - background: #ff5722 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-deeporange:active, -html:not(.watch-active-state) .button.button-fill.color-deeporange:active, -.button.button-fill.bg-deeporange.active-state, -.button.button-fill.color-deeporange.active-state { - background: #E64A19 !important; -} -.progressbar.color-deeporange, -.progressbar.bg-deeporange { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar.color-deeporange span, -.progressbar.bg-deeporange span { - background-color: #ff5722; -} -.progressbar-infinite.color-deeporange, -.progressbar-infinite.bg-deeporange { - background-color: rgba(255, 87, 34, 0.5); -} -.progressbar-infinite.color-deeporange:after, -.progressbar-infinite.bg-deeporange:after, -.progressbar-infinite.color-deeporange:before, -.progressbar-infinite.bg-deeporange:before { - background-color: #ff5722; -} -.color-deeporange i.icon, -i.icon.color-deeporange { - color: #ff5722; -} -.preloader.color-deeporange svg circle, -.preloader.preloader-deeporange svg circle { - stroke: #ff5722; -} -.preloader.color-deeporange .preloader-inner-gap, -.preloader.preloader-deeporange .preloader-inner-gap, -.preloader.color-deeporange .preloader-inner-half-circle, -.preloader.preloader-deeporange .preloader-inner-half-circle { - border-color: #ff5722; -} -.bg-deeporange, -a.bg-deeporange, -.list-block .swipeout-actions-left a.bg-deeporange, -.list-block .swipeout-actions-right a.bg-deeporange { - background-color: #ff5722; -} -html:not(.watch-active-state) .list-block .bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-deeporange .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-deeporange:active, -html:not(.watch-active-state) .list-block .item-linka.bg-deeporange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-deeporange:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-deeporange:active, -.list-block .bg-deeporange .item-link.active-state, -.list-block a.bg-deeporange .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-deeporange .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-deeporange .item-link.active-state, -.list-block.bg-deeporange .item-link.active-state, -.list-blocka.bg-deeporange .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-deeporange .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-deeporange .item-link.active-state, -.list-block .item-link.bg-deeporange.active-state, -.list-block .item-linka.bg-deeporange.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-deeporange.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-deeporange.active-state { - background: #E64A19; -} -.border-deeporange { - border-color: #ff5722; -} -.list-block .border-deeporange.item-inner:after, -.list-block ul.border-deeporange:after, -.border-deeporange:after, -.list-block .border-deeporange.item-inner:before, -.list-block ul.border-deeporange:before, -.border-deeporange:before { - background-color: #ff5722; -} -.floating-button.color-deeporange, -.speed-dial-buttons a.color-deeporange, -.floating-button.bg-deeporange, -.speed-dial-buttons a.bg-deeporange { - color: #fff; - background: #ff5722; -} -html:not(.watch-active-state) .floating-button.color-deeporange:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-deeporange:active, -html:not(.watch-active-state) .floating-button.bg-deeporange:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-deeporange:active, -.floating-button.color-deeporange.active-state, -.speed-dial-buttons a.color-deeporange.active-state, -.floating-button.bg-deeporange.active-state, -.speed-dial-buttons a.bg-deeporange.active-state { - background: #E64A19; -} -.floating-button.color-deeporange i, -.speed-dial-buttons a.color-deeporange i, -.floating-button.bg-deeporange i, -.speed-dial-buttons a.bg-deeporange i { - color: inherit; -} -.ripple-deeporange .ripple-wave { - background-color: rgba(255, 87, 34, 0.3); -} -.range-slider.color-deeporange input[type="range"]::-webkit-slider-thumb:before { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-webkit-slider-thumb { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-ms-thumb { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-ms-fill-lower { - background-color: #ff5722; -} -.range-slider.color-deeporange input[type="range"]::-moz-range-thumb { - background-color: #ff5722; -} -.badge.color-deeporange { - background-color: #ff5722; - color: #fff; -} -.color-brown { - color: #795548; -} -.list-block .item-link.list-button.color-brown, -.list-block .item-link.color-brown, -.tabbar a.active.color-brown, -a.color-brown { - color: #795548; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-brown, -.label-switch.color-brown input[type="checkbox"]:checked + .checkbox { - background-color: #795548; -} -.button.color-brown:not(.button-fill), -.color-brown.buttons-row .button:not(.button-fill) { - color: #795548 !important; -} -.button.button-fill.bg-brown, -.button.button-fill.color-brown { - background: #795548 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-brown:active, -html:not(.watch-active-state) .button.button-fill.color-brown:active, -.button.button-fill.bg-brown.active-state, -.button.button-fill.color-brown.active-state { - background: #5D4037 !important; -} -.progressbar.color-brown, -.progressbar.bg-brown { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar.color-brown span, -.progressbar.bg-brown span { - background-color: #795548; -} -.progressbar-infinite.color-brown, -.progressbar-infinite.bg-brown { - background-color: rgba(121, 85, 72, 0.5); -} -.progressbar-infinite.color-brown:after, -.progressbar-infinite.bg-brown:after, -.progressbar-infinite.color-brown:before, -.progressbar-infinite.bg-brown:before { - background-color: #795548; -} -.color-brown i.icon, -i.icon.color-brown { - color: #795548; -} -.preloader.color-brown svg circle, -.preloader.preloader-brown svg circle { - stroke: #795548; -} -.preloader.color-brown .preloader-inner-gap, -.preloader.preloader-brown .preloader-inner-gap, -.preloader.color-brown .preloader-inner-half-circle, -.preloader.preloader-brown .preloader-inner-half-circle { - border-color: #795548; -} -.bg-brown, -a.bg-brown, -.list-block .swipeout-actions-left a.bg-brown, -.list-block .swipeout-actions-right a.bg-brown { - background-color: #795548; -} -html:not(.watch-active-state) .list-block .bg-brown .item-link:active, -html:not(.watch-active-state) .list-block a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block.bg-brown .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-brown .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-brown:active, -html:not(.watch-active-state) .list-block .item-linka.bg-brown:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-brown:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-brown:active, -.list-block .bg-brown .item-link.active-state, -.list-block a.bg-brown .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-brown .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-brown .item-link.active-state, -.list-block.bg-brown .item-link.active-state, -.list-blocka.bg-brown .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-brown .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-brown .item-link.active-state, -.list-block .item-link.bg-brown.active-state, -.list-block .item-linka.bg-brown.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-brown.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-brown.active-state { - background: #5D4037; -} -.border-brown { - border-color: #795548; -} -.list-block .border-brown.item-inner:after, -.list-block ul.border-brown:after, -.border-brown:after, -.list-block .border-brown.item-inner:before, -.list-block ul.border-brown:before, -.border-brown:before { - background-color: #795548; -} -.floating-button.color-brown, -.speed-dial-buttons a.color-brown, -.floating-button.bg-brown, -.speed-dial-buttons a.bg-brown { - color: #fff; - background: #795548; -} -html:not(.watch-active-state) .floating-button.color-brown:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-brown:active, -html:not(.watch-active-state) .floating-button.bg-brown:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-brown:active, -.floating-button.color-brown.active-state, -.speed-dial-buttons a.color-brown.active-state, -.floating-button.bg-brown.active-state, -.speed-dial-buttons a.bg-brown.active-state { - background: #5D4037; -} -.floating-button.color-brown i, -.speed-dial-buttons a.color-brown i, -.floating-button.bg-brown i, -.speed-dial-buttons a.bg-brown i { - color: inherit; -} -.ripple-brown .ripple-wave { - background-color: rgba(121, 85, 72, 0.3); -} -.range-slider.color-brown input[type="range"]::-webkit-slider-thumb:before { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-webkit-slider-thumb { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-ms-thumb { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-ms-fill-lower { - background-color: #795548; -} -.range-slider.color-brown input[type="range"]::-moz-range-thumb { - background-color: #795548; -} -.badge.color-brown { - background-color: #795548; - color: #fff; -} -.color-gray { - color: #9e9e9e; -} -.list-block .item-link.list-button.color-gray, -.list-block .item-link.color-gray, -.tabbar a.active.color-gray, -a.color-gray { - color: #9e9e9e; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-gray, -.label-switch.color-gray input[type="checkbox"]:checked + .checkbox { - background-color: #9e9e9e; -} -.button.color-gray:not(.button-fill), -.color-gray.buttons-row .button:not(.button-fill) { - color: #9e9e9e !important; -} -.button.button-fill.bg-gray, -.button.button-fill.color-gray { - background: #9e9e9e !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-gray:active, -html:not(.watch-active-state) .button.button-fill.color-gray:active, -.button.button-fill.bg-gray.active-state, -.button.button-fill.color-gray.active-state { - background: #616161 !important; -} -.progressbar.color-gray, -.progressbar.bg-gray { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar.color-gray span, -.progressbar.bg-gray span { - background-color: #9e9e9e; -} -.progressbar-infinite.color-gray, -.progressbar-infinite.bg-gray { - background-color: rgba(158, 158, 158, 0.5); -} -.progressbar-infinite.color-gray:after, -.progressbar-infinite.bg-gray:after, -.progressbar-infinite.color-gray:before, -.progressbar-infinite.bg-gray:before { - background-color: #9e9e9e; -} -.color-gray i.icon, -i.icon.color-gray { - color: #9e9e9e; -} -.preloader.color-gray svg circle, -.preloader.preloader-gray svg circle { - stroke: #9e9e9e; -} -.preloader.color-gray .preloader-inner-gap, -.preloader.preloader-gray .preloader-inner-gap, -.preloader.color-gray .preloader-inner-half-circle, -.preloader.preloader-gray .preloader-inner-half-circle { - border-color: #9e9e9e; -} -.bg-gray, -a.bg-gray, -.list-block .swipeout-actions-left a.bg-gray, -.list-block .swipeout-actions-right a.bg-gray { - background-color: #9e9e9e; -} -html:not(.watch-active-state) .list-block .bg-gray .item-link:active, -html:not(.watch-active-state) .list-block a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block.bg-gray .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-gray .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-gray:active, -html:not(.watch-active-state) .list-block .item-linka.bg-gray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-gray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-gray:active, -.list-block .bg-gray .item-link.active-state, -.list-block a.bg-gray .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-gray .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-gray .item-link.active-state, -.list-block.bg-gray .item-link.active-state, -.list-blocka.bg-gray .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-gray .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-gray .item-link.active-state, -.list-block .item-link.bg-gray.active-state, -.list-block .item-linka.bg-gray.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-gray.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-gray.active-state { - background: #616161; -} -.border-gray { - border-color: #9e9e9e; -} -.list-block .border-gray.item-inner:after, -.list-block ul.border-gray:after, -.border-gray:after, -.list-block .border-gray.item-inner:before, -.list-block ul.border-gray:before, -.border-gray:before { - background-color: #9e9e9e; -} -.floating-button.color-gray, -.speed-dial-buttons a.color-gray, -.floating-button.bg-gray, -.speed-dial-buttons a.bg-gray { - color: #fff; - background: #9e9e9e; -} -html:not(.watch-active-state) .floating-button.color-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-gray:active, -html:not(.watch-active-state) .floating-button.bg-gray:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-gray:active, -.floating-button.color-gray.active-state, -.speed-dial-buttons a.color-gray.active-state, -.floating-button.bg-gray.active-state, -.speed-dial-buttons a.bg-gray.active-state { - background: #616161; -} -.floating-button.color-gray i, -.speed-dial-buttons a.color-gray i, -.floating-button.bg-gray i, -.speed-dial-buttons a.bg-gray i { - color: inherit; -} -.ripple-gray .ripple-wave { - background-color: rgba(158, 158, 158, 0.3); -} -.range-slider.color-gray input[type="range"]::-webkit-slider-thumb:before { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-webkit-slider-thumb { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-ms-thumb { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-ms-fill-lower { - background-color: #9e9e9e; -} -.range-slider.color-gray input[type="range"]::-moz-range-thumb { - background-color: #9e9e9e; -} -.badge.color-gray { - background-color: #9e9e9e; - color: #fff; -} -.color-bluegray { - color: #607d8b; -} -.list-block .item-link.list-button.color-bluegray, -.list-block .item-link.color-bluegray, -.tabbar a.active.color-bluegray, -a.color-bluegray { - color: #607d8b; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-bluegray, -.label-switch.color-bluegray input[type="checkbox"]:checked + .checkbox { - background-color: #607d8b; -} -.button.color-bluegray:not(.button-fill), -.color-bluegray.buttons-row .button:not(.button-fill) { - color: #607d8b !important; -} -.button.button-fill.bg-bluegray, -.button.button-fill.color-bluegray { - background: #607d8b !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-bluegray:active, -html:not(.watch-active-state) .button.button-fill.color-bluegray:active, -.button.button-fill.bg-bluegray.active-state, -.button.button-fill.color-bluegray.active-state { - background: #455A64 !important; -} -.progressbar.color-bluegray, -.progressbar.bg-bluegray { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar.color-bluegray span, -.progressbar.bg-bluegray span { - background-color: #607d8b; -} -.progressbar-infinite.color-bluegray, -.progressbar-infinite.bg-bluegray { - background-color: rgba(96, 125, 139, 0.5); -} -.progressbar-infinite.color-bluegray:after, -.progressbar-infinite.bg-bluegray:after, -.progressbar-infinite.color-bluegray:before, -.progressbar-infinite.bg-bluegray:before { - background-color: #607d8b; -} -.color-bluegray i.icon, -i.icon.color-bluegray { - color: #607d8b; -} -.preloader.color-bluegray svg circle, -.preloader.preloader-bluegray svg circle { - stroke: #607d8b; -} -.preloader.color-bluegray .preloader-inner-gap, -.preloader.preloader-bluegray .preloader-inner-gap, -.preloader.color-bluegray .preloader-inner-half-circle, -.preloader.preloader-bluegray .preloader-inner-half-circle { - border-color: #607d8b; -} -.bg-bluegray, -a.bg-bluegray, -.list-block .swipeout-actions-left a.bg-bluegray, -.list-block .swipeout-actions-right a.bg-bluegray { - background-color: #607d8b; -} -html:not(.watch-active-state) .list-block .bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-bluegray .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-bluegray:active, -html:not(.watch-active-state) .list-block .item-linka.bg-bluegray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-bluegray:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-bluegray:active, -.list-block .bg-bluegray .item-link.active-state, -.list-block a.bg-bluegray .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-bluegray .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-bluegray .item-link.active-state, -.list-block.bg-bluegray .item-link.active-state, -.list-blocka.bg-bluegray .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-bluegray .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-bluegray .item-link.active-state, -.list-block .item-link.bg-bluegray.active-state, -.list-block .item-linka.bg-bluegray.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-bluegray.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-bluegray.active-state { - background: #455A64; -} -.border-bluegray { - border-color: #607d8b; -} -.list-block .border-bluegray.item-inner:after, -.list-block ul.border-bluegray:after, -.border-bluegray:after, -.list-block .border-bluegray.item-inner:before, -.list-block ul.border-bluegray:before, -.border-bluegray:before { - background-color: #607d8b; -} -.floating-button.color-bluegray, -.speed-dial-buttons a.color-bluegray, -.floating-button.bg-bluegray, -.speed-dial-buttons a.bg-bluegray { - color: #fff; - background: #607d8b; -} -html:not(.watch-active-state) .floating-button.color-bluegray:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-bluegray:active, -html:not(.watch-active-state) .floating-button.bg-bluegray:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-bluegray:active, -.floating-button.color-bluegray.active-state, -.speed-dial-buttons a.color-bluegray.active-state, -.floating-button.bg-bluegray.active-state, -.speed-dial-buttons a.bg-bluegray.active-state { - background: #455A64; -} -.floating-button.color-bluegray i, -.speed-dial-buttons a.color-bluegray i, -.floating-button.bg-bluegray i, -.speed-dial-buttons a.bg-bluegray i { - color: inherit; -} -.ripple-bluegray .ripple-wave { - background-color: rgba(96, 125, 139, 0.3); -} -.range-slider.color-bluegray input[type="range"]::-webkit-slider-thumb:before { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-webkit-slider-thumb { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-ms-thumb { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-ms-fill-lower { - background-color: #607d8b; -} -.range-slider.color-bluegray input[type="range"]::-moz-range-thumb { - background-color: #607d8b; -} -.badge.color-bluegray { - background-color: #607d8b; - color: #fff; -} -.color-white { - color: #ffffff; -} -.list-block .item-link.list-button.color-white, -.list-block .item-link.color-white, -.tabbar a.active.color-white, -a.color-white { - color: #ffffff; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-white, -.label-switch.color-white input[type="checkbox"]:checked + .checkbox { - background-color: #ffffff; -} -.button.color-white:not(.button-fill), -.color-white.buttons-row .button:not(.button-fill) { - color: #ffffff !important; -} -.button.button-fill.bg-white, -.button.button-fill.color-white { - background: #ffffff !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-white:active, -html:not(.watch-active-state) .button.button-fill.color-white:active, -.button.button-fill.bg-white.active-state, -.button.button-fill.color-white.active-state { - background: rgba(0, 0, 0, 0.1) !important; -} -.progressbar.color-white, -.progressbar.bg-white { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar.color-white span, -.progressbar.bg-white span { - background-color: #ffffff; -} -.progressbar-infinite.color-white, -.progressbar-infinite.bg-white { - background-color: rgba(255, 255, 255, 0.5); -} -.progressbar-infinite.color-white:after, -.progressbar-infinite.bg-white:after, -.progressbar-infinite.color-white:before, -.progressbar-infinite.bg-white:before { - background-color: #ffffff; -} -.color-white i.icon, -i.icon.color-white { - color: #ffffff; -} -.preloader.color-white svg circle, -.preloader.preloader-white svg circle { - stroke: #ffffff; -} -.preloader.color-white .preloader-inner-gap, -.preloader.preloader-white .preloader-inner-gap, -.preloader.color-white .preloader-inner-half-circle, -.preloader.preloader-white .preloader-inner-half-circle { - border-color: #ffffff; -} -.bg-white, -a.bg-white, -.list-block .swipeout-actions-left a.bg-white, -.list-block .swipeout-actions-right a.bg-white { - background-color: #ffffff; -} -html:not(.watch-active-state) .list-block .bg-white .item-link:active, -html:not(.watch-active-state) .list-block a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block.bg-white .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-white .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-white .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-white:active, -html:not(.watch-active-state) .list-block .item-linka.bg-white:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-white:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-white:active, -.list-block .bg-white .item-link.active-state, -.list-block a.bg-white .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-white .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-white .item-link.active-state, -.list-block.bg-white .item-link.active-state, -.list-blocka.bg-white .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-white .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-white .item-link.active-state, -.list-block .item-link.bg-white.active-state, -.list-block .item-linka.bg-white.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-white.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-white.active-state { - background: rgba(0, 0, 0, 0.1); -} -.border-white { - border-color: #ffffff; -} -.list-block .border-white.item-inner:after, -.list-block ul.border-white:after, -.border-white:after, -.list-block .border-white.item-inner:before, -.list-block ul.border-white:before, -.border-white:before { - background-color: #ffffff; -} -.floating-button.color-white, -.speed-dial-buttons a.color-white, -.floating-button.bg-white, -.speed-dial-buttons a.bg-white { - color: #fff; - background: #ffffff; -} -html:not(.watch-active-state) .floating-button.color-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-white:active, -html:not(.watch-active-state) .floating-button.bg-white:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-white:active, -.floating-button.color-white.active-state, -.speed-dial-buttons a.color-white.active-state, -.floating-button.bg-white.active-state, -.speed-dial-buttons a.bg-white.active-state { - background: rgba(0, 0, 0, 0.1); -} -.floating-button.color-white i, -.speed-dial-buttons a.color-white i, -.floating-button.bg-white i, -.speed-dial-buttons a.bg-white i { - color: inherit; -} -.ripple-white .ripple-wave { - background-color: rgba(255, 255, 255, 0.3); -} -.range-slider.color-white input[type="range"]::-webkit-slider-thumb:before { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-webkit-slider-thumb { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-ms-thumb { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-ms-fill-lower { - background-color: #ffffff; -} -.range-slider.color-white input[type="range"]::-moz-range-thumb { - background-color: #ffffff; -} -.badge.color-white { - background-color: #ffffff; - color: #fff; -} -.color-black { - color: #000000; -} -.list-block .item-link.list-button.color-black, -.list-block .item-link.color-black, -.tabbar a.active.color-black, -a.color-black { - color: #000000; -} -.label-switch input[type="checkbox"]:checked + .checkbox.color-black, -.label-switch.color-black input[type="checkbox"]:checked + .checkbox { - background-color: #000000; -} -.button.color-black:not(.button-fill), -.color-black.buttons-row .button:not(.button-fill) { - color: #000000 !important; -} -.button.button-fill.bg-black, -.button.button-fill.color-black { - background: #000000 !important; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill.bg-black:active, -html:not(.watch-active-state) .button.button-fill.color-black:active, -.button.button-fill.bg-black.active-state, -.button.button-fill.color-black.active-state { - background: #333 !important; -} -.progressbar.color-black, -.progressbar.bg-black { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar.color-black span, -.progressbar.bg-black span { - background-color: #000000; -} -.progressbar-infinite.color-black, -.progressbar-infinite.bg-black { - background-color: rgba(0, 0, 0, 0.5); -} -.progressbar-infinite.color-black:after, -.progressbar-infinite.bg-black:after, -.progressbar-infinite.color-black:before, -.progressbar-infinite.bg-black:before { - background-color: #000000; -} -.color-black i.icon, -i.icon.color-black { - color: #000000; -} -.preloader.color-black svg circle, -.preloader.preloader-black svg circle { - stroke: #000000; -} -.preloader.color-black .preloader-inner-gap, -.preloader.preloader-black .preloader-inner-gap, -.preloader.color-black .preloader-inner-half-circle, -.preloader.preloader-black .preloader-inner-half-circle { - border-color: #000000; -} -.bg-black, -a.bg-black, -.list-block .swipeout-actions-left a.bg-black, -.list-block .swipeout-actions-right a.bg-black { - background-color: #000000; -} -html:not(.watch-active-state) .list-block .bg-black .item-link:active, -html:not(.watch-active-state) .list-block a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-left a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block .list-block .swipeout-actions-right a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block.bg-black .item-link:active, -html:not(.watch-active-state) .list-blocka.bg-black .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-left a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block.list-block .swipeout-actions-right a.bg-black .item-link:active, -html:not(.watch-active-state) .list-block .item-link.bg-black:active, -html:not(.watch-active-state) .list-block .item-linka.bg-black:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-left a.bg-black:active, -html:not(.watch-active-state) .list-block .item-link.list-block .swipeout-actions-right a.bg-black:active, -.list-block .bg-black .item-link.active-state, -.list-block a.bg-black .item-link.active-state, -.list-block .list-block .swipeout-actions-left a.bg-black .item-link.active-state, -.list-block .list-block .swipeout-actions-right a.bg-black .item-link.active-state, -.list-block.bg-black .item-link.active-state, -.list-blocka.bg-black .item-link.active-state, -.list-block.list-block .swipeout-actions-left a.bg-black .item-link.active-state, -.list-block.list-block .swipeout-actions-right a.bg-black .item-link.active-state, -.list-block .item-link.bg-black.active-state, -.list-block .item-linka.bg-black.active-state, -.list-block .item-link.list-block .swipeout-actions-left a.bg-black.active-state, -.list-block .item-link.list-block .swipeout-actions-right a.bg-black.active-state { - background: #333; -} -.border-black { - border-color: #000000; -} -.list-block .border-black.item-inner:after, -.list-block ul.border-black:after, -.border-black:after, -.list-block .border-black.item-inner:before, -.list-block ul.border-black:before, -.border-black:before { - background-color: #000000; -} -.floating-button.color-black, -.speed-dial-buttons a.color-black, -.floating-button.bg-black, -.speed-dial-buttons a.bg-black { - color: #fff; - background: #000000; -} -html:not(.watch-active-state) .floating-button.color-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.color-black:active, -html:not(.watch-active-state) .floating-button.bg-black:active, -html:not(.watch-active-state) .speed-dial-buttons a.bg-black:active, -.floating-button.color-black.active-state, -.speed-dial-buttons a.color-black.active-state, -.floating-button.bg-black.active-state, -.speed-dial-buttons a.bg-black.active-state { - background: #333; -} -.floating-button.color-black i, -.speed-dial-buttons a.color-black i, -.floating-button.bg-black i, -.speed-dial-buttons a.bg-black i { - color: inherit; -} -.ripple-black .ripple-wave { - background-color: rgba(0, 0, 0, 0.3); -} -.range-slider.color-black input[type="range"]::-webkit-slider-thumb:before { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-webkit-slider-thumb { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-ms-thumb { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-ms-fill-lower { - background-color: #000000; -} -.range-slider.color-black input[type="range"]::-moz-range-thumb { - background-color: #000000; -} -.badge.color-black { - background-color: #000000; - color: #fff; -} diff --git a/vendor/framework7/src/less/css/framework7.material.css b/vendor/framework7/src/less/css/framework7.material.css deleted file mode 100644 index 0487d297a..000000000 --- a/vendor/framework7/src/less/css/framework7.material.css +++ /dev/null @@ -1,7333 +0,0 @@ -html, -body, -.framework7-root { - position: relative; - height: 100%; - width: 100%; - overflow-x: hidden; -} -body { - font-family: Roboto, Noto, Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; - color: #212121; - font-size: 14px; - line-height: 1.5; - width: 100%; - -webkit-text-size-adjust: 100%; - background: #fff; - overflow: hidden; -} -.framework7-root { - overflow: hidden; -} -* { - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); - -webkit-touch-callout: none; -} -a, -input, -textarea, -select { - outline: 0; -} -a { - text-decoration: none; - color: #2196f3; -} -p { - margin: 1em 0; -} -/* === Grid === */ -.row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.row > [class*="col-"] { - box-sizing: border-box; -} -.row .col-auto { - width: 100%; -} -.row .col-100 { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); -} -.row.no-gutter .col-100 { - width: 100%; -} -.row .col-95 { - width: 95%; - width: -webkit-calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); -} -.row.no-gutter .col-95 { - width: 95%; -} -.row .col-90 { - width: 90%; - width: -webkit-calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); -} -.row.no-gutter .col-90 { - width: 90%; -} -.row .col-85 { - width: 85%; - width: -webkit-calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); -} -.row.no-gutter .col-85 { - width: 85%; -} -.row .col-80 { - width: 80%; - width: -webkit-calc((100% - 16px*0.25) / 1.25); - width: calc((100% - 16px*0.25) / 1.25); -} -.row.no-gutter .col-80 { - width: 80%; -} -.row .col-75 { - width: 75%; - width: -webkit-calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); -} -.row.no-gutter .col-75 { - width: 75%; -} -.row .col-70 { - width: 70%; - width: -webkit-calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); -} -.row.no-gutter .col-70 { - width: 70%; -} -.row .col-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); -} -.row.no-gutter .col-66 { - width: 66.66666666666666%; -} -.row .col-65 { - width: 65%; - width: -webkit-calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); -} -.row.no-gutter .col-65 { - width: 65%; -} -.row .col-60 { - width: 60%; - width: -webkit-calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); -} -.row.no-gutter .col-60 { - width: 60%; -} -.row .col-55 { - width: 55%; - width: -webkit-calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); -} -.row.no-gutter .col-55 { - width: 55%; -} -.row .col-50 { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); -} -.row.no-gutter .col-50 { - width: 50%; -} -.row .col-45 { - width: 45%; - width: -webkit-calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); -} -.row.no-gutter .col-45 { - width: 45%; -} -.row .col-40 { - width: 40%; - width: -webkit-calc((100% - 16px*1.5) / 2.5); - width: calc((100% - 16px*1.5) / 2.5); -} -.row.no-gutter .col-40 { - width: 40%; -} -.row .col-35 { - width: 35%; - width: -webkit-calc((100% - 16px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 16px*1.8571428571428572) / 2.857142857142857); -} -.row.no-gutter .col-35 { - width: 35%; -} -.row .col-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); -} -.row.no-gutter .col-33 { - width: 33.333333333333336%; -} -.row .col-30 { - width: 30%; - width: -webkit-calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); -} -.row.no-gutter .col-30 { - width: 30%; -} -.row .col-25 { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); -} -.row.no-gutter .col-25 { - width: 25%; -} -.row .col-20 { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); -} -.row.no-gutter .col-20 { - width: 20%; -} -.row .col-15 { - width: 15%; - width: -webkit-calc((100% - 16px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 16px*5.666666666666667) / 6.666666666666667); -} -.row.no-gutter .col-15 { - width: 15%; -} -.row .col-10 { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); -} -.row.no-gutter .col-10 { - width: 10%; -} -.row .col-5 { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); -} -.row.no-gutter .col-5 { - width: 5%; -} -.row .col-auto:nth-last-child(1), -.row .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); -} -.row.no-gutter .col-auto:nth-last-child(1), -.row.no-gutter .col-auto:nth-last-child(1) ~ .col-auto { - width: 100%; -} -.row .col-auto:nth-last-child(2), -.row .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); -} -.row.no-gutter .col-auto:nth-last-child(2), -.row.no-gutter .col-auto:nth-last-child(2) ~ .col-auto { - width: 50%; -} -.row .col-auto:nth-last-child(3), -.row .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); -} -.row.no-gutter .col-auto:nth-last-child(3), -.row.no-gutter .col-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; -} -.row .col-auto:nth-last-child(4), -.row .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); -} -.row.no-gutter .col-auto:nth-last-child(4), -.row.no-gutter .col-auto:nth-last-child(4) ~ .col-auto { - width: 25%; -} -.row .col-auto:nth-last-child(5), -.row .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); -} -.row.no-gutter .col-auto:nth-last-child(5), -.row.no-gutter .col-auto:nth-last-child(5) ~ .col-auto { - width: 20%; -} -.row .col-auto:nth-last-child(6), -.row .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 16px*5) / 6); - width: calc((100% - 16px*5) / 6); -} -.row.no-gutter .col-auto:nth-last-child(6), -.row.no-gutter .col-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; -} -.row .col-auto:nth-last-child(7), -.row .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 16px*6) / 7); - width: calc((100% - 16px*6) / 7); -} -.row.no-gutter .col-auto:nth-last-child(7), -.row.no-gutter .col-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; -} -.row .col-auto:nth-last-child(8), -.row .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 16px*7) / 8); - width: calc((100% - 16px*7) / 8); -} -.row.no-gutter .col-auto:nth-last-child(8), -.row.no-gutter .col-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; -} -.row .col-auto:nth-last-child(9), -.row .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 16px*8) / 9); - width: calc((100% - 16px*8) / 9); -} -.row.no-gutter .col-auto:nth-last-child(9), -.row.no-gutter .col-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; -} -.row .col-auto:nth-last-child(10), -.row .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); -} -.row.no-gutter .col-auto:nth-last-child(10), -.row.no-gutter .col-auto:nth-last-child(10) ~ .col-auto { - width: 10%; -} -.row .col-auto:nth-last-child(11), -.row .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 16px*10) / 11); - width: calc((100% - 16px*10) / 11); -} -.row.no-gutter .col-auto:nth-last-child(11), -.row.no-gutter .col-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; -} -.row .col-auto:nth-last-child(12), -.row .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 16px*11) / 12); - width: calc((100% - 16px*11) / 12); -} -.row.no-gutter .col-auto:nth-last-child(12), -.row.no-gutter .col-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; -} -.row .col-auto:nth-last-child(13), -.row .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 16px*12) / 13); - width: calc((100% - 16px*12) / 13); -} -.row.no-gutter .col-auto:nth-last-child(13), -.row.no-gutter .col-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; -} -.row .col-auto:nth-last-child(14), -.row .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 16px*13) / 14); - width: calc((100% - 16px*13) / 14); -} -.row.no-gutter .col-auto:nth-last-child(14), -.row.no-gutter .col-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; -} -.row .col-auto:nth-last-child(15), -.row .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 16px*14) / 15); - width: calc((100% - 16px*14) / 15); -} -.row.no-gutter .col-auto:nth-last-child(15), -.row.no-gutter .col-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; -} -.row .col-auto:nth-last-child(16), -.row .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 16px*15) / 16); - width: calc((100% - 16px*15) / 16); -} -.row.no-gutter .col-auto:nth-last-child(16), -.row.no-gutter .col-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; -} -.row .col-auto:nth-last-child(17), -.row .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 16px*16) / 17); - width: calc((100% - 16px*16) / 17); -} -.row.no-gutter .col-auto:nth-last-child(17), -.row.no-gutter .col-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; -} -.row .col-auto:nth-last-child(18), -.row .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 16px*17) / 18); - width: calc((100% - 16px*17) / 18); -} -.row.no-gutter .col-auto:nth-last-child(18), -.row.no-gutter .col-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; -} -.row .col-auto:nth-last-child(19), -.row .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 16px*18) / 19); - width: calc((100% - 16px*18) / 19); -} -.row.no-gutter .col-auto:nth-last-child(19), -.row.no-gutter .col-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; -} -.row .col-auto:nth-last-child(20), -.row .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); -} -.row.no-gutter .col-auto:nth-last-child(20), -.row.no-gutter .col-auto:nth-last-child(20) ~ .col-auto { - width: 5%; -} -.row .col-auto:nth-last-child(21), -.row .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 16px*20) / 21); - width: calc((100% - 16px*20) / 21); -} -.row.no-gutter .col-auto:nth-last-child(21), -.row.no-gutter .col-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; -} -@media all and (min-width: 768px) { - .row .tablet-100 { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); - } - .row.no-gutter .tablet-100 { - width: 100%; - } - .row .tablet-95 { - width: 95%; - width: -webkit-calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); - width: calc((100% - 16px*0.05263157894736836) / 1.0526315789473684); - } - .row.no-gutter .tablet-95 { - width: 95%; - } - .row .tablet-90 { - width: 90%; - width: -webkit-calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); - width: calc((100% - 16px*0.11111111111111116) / 1.1111111111111112); - } - .row.no-gutter .tablet-90 { - width: 90%; - } - .row .tablet-85 { - width: 85%; - width: -webkit-calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); - width: calc((100% - 16px*0.17647058823529416) / 1.1764705882352942); - } - .row.no-gutter .tablet-85 { - width: 85%; - } - .row .tablet-80 { - width: 80%; - width: -webkit-calc((100% - 16px*0.25) / 1.25); - width: calc((100% - 16px*0.25) / 1.25); - } - .row.no-gutter .tablet-80 { - width: 80%; - } - .row .tablet-75 { - width: 75%; - width: -webkit-calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); - width: calc((100% - 16px*0.33333333333333326) / 1.3333333333333333); - } - .row.no-gutter .tablet-75 { - width: 75%; - } - .row .tablet-70 { - width: 70%; - width: -webkit-calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); - width: calc((100% - 16px*0.4285714285714286) / 1.4285714285714286); - } - .row.no-gutter .tablet-70 { - width: 70%; - } - .row .tablet-66 { - width: 66.66666666666666%; - width: -webkit-calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); - width: calc((100% - 16px*0.5000000000000002) / 1.5000000000000002); - } - .row.no-gutter .tablet-66 { - width: 66.66666666666666%; - } - .row .tablet-65 { - width: 65%; - width: -webkit-calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); - width: calc((100% - 16px*0.5384615384615385) / 1.5384615384615385); - } - .row.no-gutter .tablet-65 { - width: 65%; - } - .row .tablet-60 { - width: 60%; - width: -webkit-calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); - width: calc((100% - 16px*0.6666666666666667) / 1.6666666666666667); - } - .row.no-gutter .tablet-60 { - width: 60%; - } - .row .tablet-55 { - width: 55%; - width: -webkit-calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); - width: calc((100% - 16px*0.8181818181818181) / 1.8181818181818181); - } - .row.no-gutter .tablet-55 { - width: 55%; - } - .row .tablet-50 { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); - } - .row.no-gutter .tablet-50 { - width: 50%; - } - .row .tablet-45 { - width: 45%; - width: -webkit-calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); - width: calc((100% - 16px*1.2222222222222223) / 2.2222222222222223); - } - .row.no-gutter .tablet-45 { - width: 45%; - } - .row .tablet-40 { - width: 40%; - width: -webkit-calc((100% - 16px*1.5) / 2.5); - width: calc((100% - 16px*1.5) / 2.5); - } - .row.no-gutter .tablet-40 { - width: 40%; - } - .row .tablet-35 { - width: 35%; - width: -webkit-calc((100% - 16px*1.8571428571428572) / 2.857142857142857); - width: calc((100% - 16px*1.8571428571428572) / 2.857142857142857); - } - .row.no-gutter .tablet-35 { - width: 35%; - } - .row .tablet-33 { - width: 33.333333333333336%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); - } - .row.no-gutter .tablet-33 { - width: 33.333333333333336%; - } - .row .tablet-30 { - width: 30%; - width: -webkit-calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); - width: calc((100% - 16px*2.3333333333333335) / 3.3333333333333335); - } - .row.no-gutter .tablet-30 { - width: 30%; - } - .row .tablet-25 { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); - } - .row.no-gutter .tablet-25 { - width: 25%; - } - .row .tablet-20 { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); - } - .row.no-gutter .tablet-20 { - width: 20%; - } - .row .tablet-15 { - width: 15%; - width: -webkit-calc((100% - 16px*5.666666666666667) / 6.666666666666667); - width: calc((100% - 16px*5.666666666666667) / 6.666666666666667); - } - .row.no-gutter .tablet-15 { - width: 15%; - } - .row .tablet-10 { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); - } - .row.no-gutter .tablet-10 { - width: 10%; - } - .row .tablet-5 { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); - } - .row.no-gutter .tablet-5 { - width: 5%; - } - .row .tablet-auto:nth-last-child(1), - .row .tablet-auto:nth-last-child(1) ~ .col-auto { - width: 100%; - width: -webkit-calc((100% - 16px*0) / 1); - width: calc((100% - 16px*0) / 1); - } - .row.no-gutter .tablet-auto:nth-last-child(1), - .row.no-gutter .tablet-auto:nth-last-child(1) ~ .tablet-auto { - width: 100%; - } - .row .tablet-auto:nth-last-child(2), - .row .tablet-auto:nth-last-child(2) ~ .col-auto { - width: 50%; - width: -webkit-calc((100% - 16px*1) / 2); - width: calc((100% - 16px*1) / 2); - } - .row.no-gutter .tablet-auto:nth-last-child(2), - .row.no-gutter .tablet-auto:nth-last-child(2) ~ .tablet-auto { - width: 50%; - } - .row .tablet-auto:nth-last-child(3), - .row .tablet-auto:nth-last-child(3) ~ .col-auto { - width: 33.33333333%; - width: -webkit-calc((100% - 16px*2) / 3); - width: calc((100% - 16px*2) / 3); - } - .row.no-gutter .tablet-auto:nth-last-child(3), - .row.no-gutter .tablet-auto:nth-last-child(3) ~ .tablet-auto { - width: 33.33333333%; - } - .row .tablet-auto:nth-last-child(4), - .row .tablet-auto:nth-last-child(4) ~ .col-auto { - width: 25%; - width: -webkit-calc((100% - 16px*3) / 4); - width: calc((100% - 16px*3) / 4); - } - .row.no-gutter .tablet-auto:nth-last-child(4), - .row.no-gutter .tablet-auto:nth-last-child(4) ~ .tablet-auto { - width: 25%; - } - .row .tablet-auto:nth-last-child(5), - .row .tablet-auto:nth-last-child(5) ~ .col-auto { - width: 20%; - width: -webkit-calc((100% - 16px*4) / 5); - width: calc((100% - 16px*4) / 5); - } - .row.no-gutter .tablet-auto:nth-last-child(5), - .row.no-gutter .tablet-auto:nth-last-child(5) ~ .tablet-auto { - width: 20%; - } - .row .tablet-auto:nth-last-child(6), - .row .tablet-auto:nth-last-child(6) ~ .col-auto { - width: 16.66666667%; - width: -webkit-calc((100% - 16px*5) / 6); - width: calc((100% - 16px*5) / 6); - } - .row.no-gutter .tablet-auto:nth-last-child(6), - .row.no-gutter .tablet-auto:nth-last-child(6) ~ .tablet-auto { - width: 16.66666667%; - } - .row .tablet-auto:nth-last-child(7), - .row .tablet-auto:nth-last-child(7) ~ .col-auto { - width: 14.28571429%; - width: -webkit-calc((100% - 16px*6) / 7); - width: calc((100% - 16px*6) / 7); - } - .row.no-gutter .tablet-auto:nth-last-child(7), - .row.no-gutter .tablet-auto:nth-last-child(7) ~ .tablet-auto { - width: 14.28571429%; - } - .row .tablet-auto:nth-last-child(8), - .row .tablet-auto:nth-last-child(8) ~ .col-auto { - width: 12.5%; - width: -webkit-calc((100% - 16px*7) / 8); - width: calc((100% - 16px*7) / 8); - } - .row.no-gutter .tablet-auto:nth-last-child(8), - .row.no-gutter .tablet-auto:nth-last-child(8) ~ .tablet-auto { - width: 12.5%; - } - .row .tablet-auto:nth-last-child(9), - .row .tablet-auto:nth-last-child(9) ~ .col-auto { - width: 11.11111111%; - width: -webkit-calc((100% - 16px*8) / 9); - width: calc((100% - 16px*8) / 9); - } - .row.no-gutter .tablet-auto:nth-last-child(9), - .row.no-gutter .tablet-auto:nth-last-child(9) ~ .tablet-auto { - width: 11.11111111%; - } - .row .tablet-auto:nth-last-child(10), - .row .tablet-auto:nth-last-child(10) ~ .col-auto { - width: 10%; - width: -webkit-calc((100% - 16px*9) / 10); - width: calc((100% - 16px*9) / 10); - } - .row.no-gutter .tablet-auto:nth-last-child(10), - .row.no-gutter .tablet-auto:nth-last-child(10) ~ .tablet-auto { - width: 10%; - } - .row .tablet-auto:nth-last-child(11), - .row .tablet-auto:nth-last-child(11) ~ .col-auto { - width: 9.09090909%; - width: -webkit-calc((100% - 16px*10) / 11); - width: calc((100% - 16px*10) / 11); - } - .row.no-gutter .tablet-auto:nth-last-child(11), - .row.no-gutter .tablet-auto:nth-last-child(11) ~ .tablet-auto { - width: 9.09090909%; - } - .row .tablet-auto:nth-last-child(12), - .row .tablet-auto:nth-last-child(12) ~ .col-auto { - width: 8.33333333%; - width: -webkit-calc((100% - 16px*11) / 12); - width: calc((100% - 16px*11) / 12); - } - .row.no-gutter .tablet-auto:nth-last-child(12), - .row.no-gutter .tablet-auto:nth-last-child(12) ~ .tablet-auto { - width: 8.33333333%; - } - .row .tablet-auto:nth-last-child(13), - .row .tablet-auto:nth-last-child(13) ~ .col-auto { - width: 7.69230769%; - width: -webkit-calc((100% - 16px*12) / 13); - width: calc((100% - 16px*12) / 13); - } - .row.no-gutter .tablet-auto:nth-last-child(13), - .row.no-gutter .tablet-auto:nth-last-child(13) ~ .tablet-auto { - width: 7.69230769%; - } - .row .tablet-auto:nth-last-child(14), - .row .tablet-auto:nth-last-child(14) ~ .col-auto { - width: 7.14285714%; - width: -webkit-calc((100% - 16px*13) / 14); - width: calc((100% - 16px*13) / 14); - } - .row.no-gutter .tablet-auto:nth-last-child(14), - .row.no-gutter .tablet-auto:nth-last-child(14) ~ .tablet-auto { - width: 7.14285714%; - } - .row .tablet-auto:nth-last-child(15), - .row .tablet-auto:nth-last-child(15) ~ .col-auto { - width: 6.66666667%; - width: -webkit-calc((100% - 16px*14) / 15); - width: calc((100% - 16px*14) / 15); - } - .row.no-gutter .tablet-auto:nth-last-child(15), - .row.no-gutter .tablet-auto:nth-last-child(15) ~ .tablet-auto { - width: 6.66666667%; - } - .row .tablet-auto:nth-last-child(16), - .row .tablet-auto:nth-last-child(16) ~ .col-auto { - width: 6.25%; - width: -webkit-calc((100% - 16px*15) / 16); - width: calc((100% - 16px*15) / 16); - } - .row.no-gutter .tablet-auto:nth-last-child(16), - .row.no-gutter .tablet-auto:nth-last-child(16) ~ .tablet-auto { - width: 6.25%; - } - .row .tablet-auto:nth-last-child(17), - .row .tablet-auto:nth-last-child(17) ~ .col-auto { - width: 5.88235294%; - width: -webkit-calc((100% - 16px*16) / 17); - width: calc((100% - 16px*16) / 17); - } - .row.no-gutter .tablet-auto:nth-last-child(17), - .row.no-gutter .tablet-auto:nth-last-child(17) ~ .tablet-auto { - width: 5.88235294%; - } - .row .tablet-auto:nth-last-child(18), - .row .tablet-auto:nth-last-child(18) ~ .col-auto { - width: 5.55555556%; - width: -webkit-calc((100% - 16px*17) / 18); - width: calc((100% - 16px*17) / 18); - } - .row.no-gutter .tablet-auto:nth-last-child(18), - .row.no-gutter .tablet-auto:nth-last-child(18) ~ .tablet-auto { - width: 5.55555556%; - } - .row .tablet-auto:nth-last-child(19), - .row .tablet-auto:nth-last-child(19) ~ .col-auto { - width: 5.26315789%; - width: -webkit-calc((100% - 16px*18) / 19); - width: calc((100% - 16px*18) / 19); - } - .row.no-gutter .tablet-auto:nth-last-child(19), - .row.no-gutter .tablet-auto:nth-last-child(19) ~ .tablet-auto { - width: 5.26315789%; - } - .row .tablet-auto:nth-last-child(20), - .row .tablet-auto:nth-last-child(20) ~ .col-auto { - width: 5%; - width: -webkit-calc((100% - 16px*19) / 20); - width: calc((100% - 16px*19) / 20); - } - .row.no-gutter .tablet-auto:nth-last-child(20), - .row.no-gutter .tablet-auto:nth-last-child(20) ~ .tablet-auto { - width: 5%; - } - .row .tablet-auto:nth-last-child(21), - .row .tablet-auto:nth-last-child(21) ~ .col-auto { - width: 4.76190476%; - width: -webkit-calc((100% - 16px*20) / 21); - width: calc((100% - 16px*20) / 21); - } - .row.no-gutter .tablet-auto:nth-last-child(21), - .row.no-gutter .tablet-auto:nth-last-child(21) ~ .tablet-auto { - width: 4.76190476%; - } -} -/* === Views === */ -.views, -.view { - position: relative; - width: 100%; - height: 100%; - z-index: 5000; -} -.views { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.view { - overflow: hidden; - box-sizing: border-box; -} -/* === Pages === */ -.pages { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; -} -.page { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #fff; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.page.cached { - display: none; -} -.page-on-left { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.page-on-right { - opacity: 0; - pointer-events: none; - -webkit-transform: translate3d(0, 56px, 0); - transform: translate3d(0, 56px, 0); -} -.page-content { - overflow: auto; - -webkit-overflow-scrolling: touch; - box-sizing: border-box; - height: 100%; - position: relative; - z-index: 1; -} -.page-transitioning { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.page-from-right-to-center { - pointer-events: none; - -webkit-animation: pageFromRightToCenter 300ms forwards; - animation: pageFromRightToCenter 300ms forwards; -} -.page-from-center-to-right { - pointer-events: none; - -webkit-animation: pageFromCenterToRight 300ms forwards; - animation: pageFromCenterToRight 300ms forwards; -} -@-webkit-keyframes pageFromRightToCenter { - from { - opacity: 0; - -webkit-transform: translate3d(0, 56px, 0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes pageFromRightToCenter { - from { - opacity: 0; - transform: translate3d(0, 56px, 0); - } - to { - opacity: 1; - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, 56px, 0); - } -} -@keyframes pageFromCenterToRight { - from { - opacity: 1; - transform: translate3d(0, 0, 0); - } - to { - opacity: 0; - transform: translate3d(0, 56px, 0); - } -} -.page-from-center-to-left { - -webkit-animation: pageFromCenterToLeft 300ms forwards; - animation: pageFromCenterToLeft 300ms forwards; -} -.page-from-left-to-center { - -webkit-animation: pageFromLeftToCenter 300ms forwards; - animation: pageFromLeftToCenter 300ms forwards; -} -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@keyframes pageFromCenterToLeft { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@keyframes pageFromLeftToCenter { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -/* === Toolbars === */ -.navbar-inner, -.toolbar-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - box-sizing: border-box; - overflow: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.navbar-inner { - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; -} -.toolbar-inner { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.navbar-inner.cached { - display: none; -} -.navbar, -.toolbar { - width: 100%; - box-sizing: border-box; - position: relative; - margin: 0; - z-index: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - color: #fff; -} -.navbar b, -.toolbar b { - font-weight: 500; -} -.navbar ~ .toolbar { - z-index: 499; -} -.navbar, -.toolbar, -.subnavbar { - background: #2196f3; -} -.navbar a.link, -.toolbar a.link, -.subnavbar a.link { - text-decoration: none; - position: relative; - color: #fff; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - padding: 0 16px; - min-width: 48px; -} -.navbar a.link:before, -.toolbar a.link:before, -.subnavbar a.link:before { - content: ''; - width: 152%; - height: 152%; - position: absolute; - left: -26%; - top: -26%; - background-image: -webkit-radial-gradient(center, circle cover, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; - opacity: 0; - pointer-events: none; - -webkit-transition-duration: 600ms; - transition-duration: 600ms; -} -html:not(.watch-active-state) .navbar a.link:active:before, -html:not(.watch-active-state) .toolbar a.link:active:before, -html:not(.watch-active-state) .subnavbar a.link:active:before, -.navbar a.link.active-state:before, -.toolbar a.link.active-state:before, -.subnavbar a.link.active-state:before { - opacity: 1; - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.navbar a.link i + span, -.toolbar a.link i + span, -.subnavbar a.link i + span, -.navbar a.link i + i, -.toolbar a.link i + i, -.subnavbar a.link i + i, -.navbar a.link span + i, -.toolbar a.link span + i, -.subnavbar a.link span + i, -.navbar a.link span + span, -.toolbar a.link span + span, -.subnavbar a.link span + span { - margin-left: 8px; -} -.navbar a.icon-only, -.toolbar a.icon-only, -.subnavbar a.icon-only { - min-width: 0; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.navbar i.icon, -.toolbar i.icon, -.subnavbar i.icon { - display: block; -} -.navbar .center, -.subnavbar .center { - font-size: 20px; - font-weight: 500; - text-align: center; - margin: 0 16px; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - line-height: 56px; - display: inline-block; - text-align: left; -} -.navbar .left, -.subnavbar .left, -.navbar .right, -.subnavbar .right { - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar .right, -.subnavbar .right { - margin-left: auto; -} -.navbar .right:first-child, -.subnavbar .right:first-child { - position: absolute; - right: 16px; - height: 100%; -} -.navbar { - left: 0; - top: 0; - height: 56px; - font-size: 20px; -} -.navbar a.link { - line-height: 56px; - height: 56px; -} -.popup .navbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.subnavbar { - height: 48px; - width: 100%; - position: absolute; - left: 0; - top: 100%; - z-index: 20; - box-sizing: border-box; - padding: 0 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - overflow: hidden; -} -.subnavbar a.link { - line-height: 48px; - height: 48px; -} -.subnavbar .center { - line-height: 48px; -} -.subnavbar .center:first-child { - margin-left: 56px; -} -.navbar.no-border .subnavbar { - margin-top: 0; -} -.navbar-on-left .subnavbar, -.navbar-on-right .subnavbar { - pointer-events: none; -} -.navbar .subnavbar, -.page .subnavbar { - position: absolute; -} -.page > .subnavbar { - top: 0; - margin-top: 0; -} -.subnavbar > .buttons-row { - width: 100%; -} -.subnavbar .searchbar, -.subnavbar.searchbar { - position: absolute; -} -.subnavbar.searchbar, -.subnavbar .searchbar { - position: absolute; -} -.subnavbar .searchbar { - left: 0; - top: 0; -} -.toolbar { - left: 0; - bottom: 0; - height: 48px; - font-size: 14px; -} -.toolbar a.link { - line-height: 48px; - height: 48px; -} -.toolbar a { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - white-space: nowrap; - text-overflow: ellipsis; -} -.tabbar { - z-index: 5001; - overflow: hidden; - bottom: auto; - top: 0; -} -.tabbar .toolbar-inner { - padding-left: 0; - padding-right: 0; -} -.tabbar a.link { - line-height: 1.4; -} -.tabbar a.tab-link, -.tabbar a.link { - height: 100%; - width: 100%; - box-sizing: border-box; - padding-left: 0; - padding-right: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -ms-flex: 1; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - font-size: 14px; - text-transform: uppercase; -} -.tabbar i.icon { - height: 24px; -} -.tabbar a.tab-link { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - overflow: hidden; - color: rgba(255, 255, 255, 0.7); - position: relative; -} -.tabbar a.tab-link.active, -html:not(.watch-active-state) .tabbar a.tab-link:active, -.tabbar a.tab-link.active-state { - color: #ffffff; -} -.tabbar .tab-link-highlight { - position: absolute; - left: 0; - bottom: 0; - height: 3px; - background: #0a6ebd; - background: rgba(255, 255, 255, 0.5); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.tabbar-labels { - height: 72px; -} -.tabbar-labels a.tab-link, -.tabbar-labels a.link { - padding-top: 12px; - padding-bottom: 12px; - height: 100%; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.tabbar-labels span.tabbar-label { - line-height: 1; - display: block; - margin: 0; - margin-top: 10px; - position: relative; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - max-width: 100%; -} -.tabbar-scrollable .toolbar-inner { - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - overflow: auto; -} -.tabbar-scrollable .toolbar-inner::-webkit-scrollbar { - display: none !important; - width: 0 !important; - height: 0 !important; - -webkit-appearance: none; - opacity: 0 !important; -} -.tabbar-scrollable a.tab-link, -.tabbar-scrollable a.link { - width: auto; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - -ms-flex: 0; - padding: 0 16px; -} -.toolbar-bottom { - bottom: 0; - top: auto; -} -.toolbar-bottom .tab-link-highlight { - bottom: auto; - top: 0; -} -.subnavbar input[type="text"], -.navbar input[type="text"], -.subnavbar input[type="password"], -.navbar input[type="password"], -.subnavbar input[type="search"], -.navbar input[type="search"], -.subnavbar input[type="email"], -.navbar input[type="email"], -.subnavbar input[type="tel"], -.navbar input[type="tel"], -.subnavbar input[type="url"], -.navbar input[type="url"] { - box-sizing: border-box; - width: 100%; - height: 32px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 0; - font-family: inherit; - color: #fff; - font-size: 16px; - font-weight: 400; - background-color: transparent; - padding: 0; - border-bottom: 1px solid #fff; -} -.subnavbar input[type="text"]::-webkit-input-placeholder, -.navbar input[type="text"]::-webkit-input-placeholder, -.subnavbar input[type="password"]::-webkit-input-placeholder, -.navbar input[type="password"]::-webkit-input-placeholder, -.subnavbar input[type="search"]::-webkit-input-placeholder, -.navbar input[type="search"]::-webkit-input-placeholder, -.subnavbar input[type="email"]::-webkit-input-placeholder, -.navbar input[type="email"]::-webkit-input-placeholder, -.subnavbar input[type="tel"]::-webkit-input-placeholder, -.navbar input[type="tel"]::-webkit-input-placeholder, -.subnavbar input[type="url"]::-webkit-input-placeholder, -.navbar input[type="url"]::-webkit-input-placeholder { - color: #ffffff; - opacity: 1; -} -/* === Relation between toolbar/navbar types and pages === */ -.page > .navbar, -.view > .navbar, -.views > .navbar, -.page > .toolbar, -.view > .toolbar, -.views > .toolbar { - position: absolute; -} -.subnavbar ~ .page-content { - padding-top: 48px; -} -.toolbar-fixed .page-content, -.tabbar-fixed .page-content { - padding-top: 48px; -} -.tabbar-labels-fixed .page-content { - padding-top: 72px; -} -.toolbar ~ .page-content { - padding-top: 48px; -} -.tabbar-labels ~ .page-content { - padding-top: 72px; -} -.toolbar-bottom ~ .page-content, -.messagebar ~ .page-content { - padding-top: 0; - padding-bottom: 48px; -} -.tabbar-labels.toolbar-bottom ~ .page-content { - padding-bottom: 72px; -} -.navbar-fixed .page-content { - padding-top: 56px; -} -.navbar-fixed.toolbar-fixed .page-content, -.navbar-fixed.tabbar-fixed .page-content, -.navbar-fixed .toolbar-fixed .page-content, -.navbar-fixed .tabbar-fixed .page-content, -.toolbar-fixed .navbar-fixed .page-content, -.tabbar-fixed .navbar-fixed .page-content { - padding-top: 104px; -} -.navbar-fixed.tabbar-labels-fixed .page-content, -.navbar-fixed .tabbar-labels-fixed .page-content, -.tabbar-labels-fixed .navbar-fixed .page-content { - padding-top: 128px; -} -.navbar-fixed .toolbar ~ .page-content { - padding-top: 104px; -} -.navbar-fixed .messagebar ~ .page-content, -.navbar-fixed .toolbar-bottom ~ .page-content { - padding-top: 56px; -} -.navbar-fixed .tabbar-labels ~ .page-content { - padding-top: 128px; -} -.navbar-fixed .tabbar-labels.toolbar-bottom ~ .page-content { - padding-top: 56px; -} -.navbar-fixed .with-subnavbar .page-content, -.navbar-fixed .page-content.with-subnavbar, -.navbar-fixed .subnavbar ~ .page-content { - padding-top: 104px; -} -.navbar-fixed .page .subnavbar, -.navbar-fixed.page .subnavbar { - top: 56px; -} -.navbar-fixed .toolbar { - top: 56px; -} -.navbar-fixed .messagebar, -.navbar-fixed .toolbar-bottom { - top: auto; -} -.navbar.navbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.navbar.navbar-hiding ~ .page-content .list-group-title, -.navbar.navbar-hiding ~ .pages .list-group-title, -.navbar.navbar-hiding ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hiding ~ .page-content .subnavbar, -.navbar.navbar-hiding ~ .pages .subnavbar, -.navbar.navbar-hiding ~ .page .subnavbar { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hiding ~ .subnavbar, -.navbar.navbar-hiding ~ .toolbar { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} -.navbar.navbar-hidden ~ .page-content .list-group-title, -.navbar.navbar-hidden ~ .pages .list-group-title, -.navbar.navbar-hidden ~ .page .list-group-title { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - top: -56px; -} -.navbar.navbar-hidden ~ .page-content .subnavbar, -.navbar.navbar-hidden ~ .pages .subnavbar, -.navbar.navbar-hidden ~ .page .subnavbar { - -webkit-transform: translate3d(0, -56px, 0); - transform: translate3d(0, -56px, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.navbar.navbar-hidden ~ .subnavbar, -.navbar.navbar-hidden ~ .toolbar:not(.messagebar):not(.toolbar-bottom) { - -webkit-transform: translate3d(0, -56px, 0); - transform: translate3d(0, -56px, 0); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.page.no-navbar .page-content { - padding-top: 0; -} -.page.no-navbar.with-subnavbar .page-content, -.with-subnavbar .page.no-navbar .page-content, -.page.no-navbar .page-content.with-subnavbar { - padding-top: 48px; -} -.toolbar.toolbar-hiding, -.tabbar.toolbar-hiding, -.toolbar.tabbar-hiding, -.tabbar.tabbar-hiding { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.toolbar.toolbar-hidden, -.tabbar.toolbar-hidden, -.toolbar.tabbar-hidden, -.tabbar.tabbar-hidden { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.toolbar.toolbar-hidden, -.tabbar.toolbar-hidden, -.toolbar.tabbar-hidden, -.tabbar.tabbar-hidden { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); -} -.navbar ~ .toolbar.toolbar-hidden, -.navbar ~ .tabbar.toolbar-hidden, -.navbar ~ .toolbar.tabbar-hidden, -.navbar ~ .tabbar.tabbar-hidden { - -webkit-transform: translate3d(0, -104px, 0); - transform: translate3d(0, -104px, 0); -} -.navbar ~ .toolbar.tabbar-labels.toolbar-hidden, -.navbar ~ .tabbar.tabbar-labels.toolbar-hidden { - -webkit-transform: translate3d(0, -128px, 0); - transform: translate3d(0, -128px, 0); -} -.toolbar.toolbar-hidden.messagebar, -.tabbar.toolbar-hidden.messagebar, -.toolbar.toolbar-hidden.toolbar-bottom, -.tabbar.toolbar-hidden.toolbar-bottom { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.page.no-toolbar .page-content, -.page.no-tabbar .page-content { - padding-bottom: 0; -} -/* === Search Bar === */ -.searchbar { - height: 48px; - width: 100%; - background: #2196f3; - box-sizing: border-box; - padding: 0 16px; - overflow: hidden; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - color: #fff; -} -.searchbar a { - position: relative; - color: #fff; -} -.searchbar a:before { - content: ''; - width: 152%; - height: 152%; - position: absolute; - left: -26%; - top: -26%; - background-image: -webkit-radial-gradient(center, circle cover, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.15) 66%, rgba(255, 255, 255, 0) 66%); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; - opacity: 0; - pointer-events: none; - -webkit-transition-duration: 600ms; - transition-duration: 600ms; -} -html:not(.watch-active-state) .searchbar a:active:before, -.searchbar a.active-state:before { - opacity: 1; - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.searchbar .searchbar-input { - width: 100%; - height: 32px; - position: relative; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.searchbar input[type="search"] { - box-sizing: border-box; - width: 100%; - height: 32px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 0; - font-family: inherit; - color: #fff; - font-size: 16px; - font-weight: 400; - padding: 0; - border-bottom: 1px solid #fff; - height: 100%; - padding: 0 36px 0 24px; - background-color: transparent; - background-repeat: no-repeat; - background-position: 0 center; - opacity: 0.6; - -webkit-background-size: 24px 24px; - background-size: 24px 24px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M15.5%2014h-.79l-.28-.27C15.41%2012.59%2016%2011.11%2016%209.5%2016%205.91%2013.09%203%209.5%203S3%205.91%203%209.5%205.91%2016%209.5%2016c1.61%200%203.09-.59%204.23-1.57l.27.28v.79l5%204.99L20.49%2019l-4.99-5zm-6%200C7.01%2014%205%2011.99%205%209.5S7.01%205%209.5%205%2014%207.01%2014%209.5%2011.99%2014%209.5%2014z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -.searchbar input[type="search"]::-webkit-input-placeholder { - color: #ffffff; - opacity: 1; -} -.searchbar input[type="search"]::-webkit-search-cancel-button { - -webkit-appearance: none; -} -.searchbar .searchbar-clear { - position: absolute; - width: 56px; - height: 100%; - right: -16px; - top: 0; - opacity: 0; - pointer-events: none; - background-position: center; - background-repeat: no-repeat; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23fff'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 24px 24px; - background-size: 24px 24px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - cursor: pointer; -} -.searchbar .searchbar-cancel { - display: none; -} -.searchbar.searchbar-active input[type="search"] { - opacity: 1; -} -.searchbar.searchbar-active .searchbar-clear { - pointer-events: auto; - opacity: 1; -} -.searchbar.searchbar-not-empty .searchbar-clear { - pointer-events: auto; - opacity: 1; -} -.searchbar-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 100; - opacity: 0; - pointer-events: none; - background: rgba(0, 0, 0, 0.25); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.searchbar-overlay.searchbar-overlay-active { - opacity: 1; - pointer-events: auto; -} -.searchbar-not-found { - display: none; -} -.hidden-by-searchbar, -.list-block .hidden-by-searchbar, -.list-block li.hidden-by-searchbar { - display: none; -} -.page > .searchbar { - position: absolute; - width: 100%; - left: 0; - top: 0; - z-index: 200; -} -.page > .searchbar ~ .page-content { - padding-top: 48px; -} -.navbar-fixed .page > .searchbar, -.navbar-through .page > .searchbar, -.navbar-fixed > .searchbar, -.navbar-through > .searchbar { - top: 56px; -} -.navbar-fixed .page > .searchbar ~ .page-content, -.navbar-through .page > .searchbar ~ .page-content, -.navbar-fixed > .searchbar ~ .page-content, -.navbar-through > .searchbar ~ .page-content { - padding-top: 104px; -} -/* === Message Bar === */ -.toolbar.messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - background: #fff; - height: 48px; - top: auto; - bottom: 0; - font-size: 16px; - overflow: hidden; -} -.toolbar.messagebar:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #d1d1d1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .toolbar.messagebar:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .toolbar.messagebar:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.toolbar.messagebar textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0; - box-shadow: none; - display: block; - padding: 3px 8px 3px; - margin: 0; - width: 100%; - height: 28px; - color: #333; - font-size: 16px; - line-height: 22px; - font-family: inherit; - resize: none; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; -} -.toolbar.messagebar a.link { - color: #333; - -ms-flex-item-align: flex-end; - -webkit-align-self: flex-end; - align-self: flex-end; - height: 48px; - line-height: 48px; -} -.toolbar.messagebar a.link:before { - background-image: -webkit-radial-gradient(center, circle cover, rgba(0, 0, 0, 0.1) 66%, rgba(0, 0, 0, 0) 66%); - background-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.1) 66%, rgba(0, 0, 0, 0) 66%); -} -.toolbar.messagebar .link { - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.toolbar.messagebar ~ .page-content { - padding-bottom: 48px; -} -.page.no-toolbar .toolbar.messagebar ~ .page-content { - padding-bottom: 48px; -} -.hidden-toolbar .toolbar.messagebar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -/* === Icons === */ -i.icon { - display: inline-block; - vertical-align: middle; - background-size: 100% auto; - background-position: center; - background-repeat: no-repeat; - font-style: normal; - position: relative; - /* Material Icons http://google.github.io/material-design-icons/ */ -} -i.icon.icon-back { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M20%2011H7.83l5.59-5.59L12%204l-8%208%208%208%201.41-1.41L7.83%2013H20v-2z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-forward { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M12%204l-1.41%201.41L16.17%2011H4v2h12.17l-5.58%205.59L12%2020l8-8z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-bars { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%2018h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-camera { - width: 24px; - height: 24px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23333'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Ccircle%20cx%3D'12'%20cy%3D'12'%20r%3D'3.2'%2F%3E%3Cpath%20d%3D'M9%202L7.17%204H4c-1.1%200-2%20.9-2%202v12c0%201.1.9%202%202%202h16c1.1%200%202-.9%202-2V6c0-1.1-.9-2-2-2h-3.17L15%202H9zm3%2015c-2.76%200-5-2.24-5-5s2.24-5%205-5%205%202.24%205%205-2.24%205-5%205z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-f7 { - width: 24px; - height: 24px; - background-image: url("../img/i-f7-material.png"); - border-radius: 3px; -} -i.icon.icon-next, -i.icon.icon-prev { - width: 24px; - height: 24px; -} -i.icon.icon-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M10%206L8.59%207.41%2013.17%2012l-4.58%204.59L10%2018l6-6z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M15.41%207.41L14%206l-6%206%206%206%201.41-1.41L10.83%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-plus { - width: 24px; - height: 24px; - font-size: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%2013h-6v6h-2v-6H5v-2h6V5h2v6h6v2z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -i.icon.icon-close { - width: 24px; - height: 24px; - font-size: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23FFFFFF'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M19%206.41L17.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); -} -.badge { - font-size: 10px; - display: inline-block; - color: #fff; - background: #8e8e93; - border-radius: 3px; - padding: 1px 6px; - box-sizing: border-box; - vertical-align: middle; -} -.icon .badge { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 1.4; - padding: 1px 5px; -} -/* === Chips === */ -.chip { - font-size: 13px; - font-weight: normal; - color: rgba(0, 0, 0, 0.87); - background: rgba(0, 0, 0, 0.12); - display: inline-block; - height: 32px; - line-height: 32px; - border-radius: 16px; - padding: 0 12px; - box-sizing: border-box; - vertical-align: middle; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 2px 0; -} -.chip-media { - width: 32px; - height: 32px; - margin-left: -12px; - vertical-align: top; - border-radius: 50%; - text-align: center; - line-height: 32px; - color: #fff; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - font-size: 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -.chip-media img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - border-radius: 50%; - display: block; -} -.chip-media + .chip-label { - margin-left: 8px; -} -.chip-label { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - min-width: 0; -} -.chip-label + .chip-delete { - margin-left: 4px; -} -.chip-delete { - margin-right: -8px; - width: 24px; - height: 24px; - text-align: center; - line-height: 24px; - cursor: pointer; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20fill%3D'%23000'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%20width%3D'24'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M12%202C6.47%202%202%206.47%202%2012s4.47%2010%2010%2010%2010-4.47%2010-10S17.53%202%2012%202zm5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z'%2F%3E%3Cpath%20d%3D'M0%200h24v24H0z'%20fill%3D'none'%2F%3E%3C%2Fsvg%3E"); - background-repeat: no-repeat; - background-position: center; - background-size: 20px 20px; - opacity: 0.54; -} -html:not(.watch-active-state) .chip-delete:active, -.chip-delete.active-state { - opacity: 1; -} -/* === Content Block === */ -.content-block { - margin: 32px 0; - padding: 0 16px; - box-sizing: border-box; -} -.content-block.no-hairlines:before, -.content-block.no-hairlines ul:before, -.content-block.no-hairlines .content-block-inner:before { - display: none; -} -.content-block.no-hairlines:after, -.content-block.no-hairlines ul:after, -.content-block.no-hairlines .content-block-inner:after { - display: none; -} -.content-block-title { - position: relative; - overflow: hidden; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - line-height: 1; - margin: 16px 16px 16px; - padding-top: 16px; - line-height: 16px; - font-weight: 500; - color: rgba(0, 0, 0, 0.54); -} -.content-block-title + .list-block, -.content-block-title + .content-block, -.content-block-title + .card { - margin-top: 0px; -} -.content-block-inner { - padding: 16px 16px; - margin-left: -16px; - width: 100%; - position: relative; -} -.content-block-inner:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .content-block-inner:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .content-block-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .content-block-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.content-block-inner > p:first-child { - margin-top: 0; -} -.content-block-inner > p:last-child { - margin-bottom: 0; -} -.content-block.inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 7px; -} -.content-block.inset .content-block-inner { - border-radius: 4px; -} -.content-block.inset .content-block-inner:before { - display: none; -} -.content-block.inset .content-block-inner:after { - display: none; -} -@media all and (min-width: 768px) { - .content-block.tablet-inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; - } - .content-block.tablet-inset .content-block-inner { - border-radius: 4px; - } - .content-block.tablet-inset .content-block-inner:before { - display: none; - } - .content-block.tablet-inset .content-block-inner:after { - display: none; - } -} -/* === Lists === */ -.list-block { - margin: 32px 0; - font-size: 16px; -} -.list-block ul { - list-style: none; - padding: 0; - margin: 0; - position: relative; -} -.list-block ul:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .list-block ul:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block ul:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block ul:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block ul ul { - padding-left: 56px; -} -.list-block ul ul:before { - display: none; -} -.list-block ul ul:after { - display: none; -} -.list-block .align-top, -.list-block .align-top .item-content, -.list-block .align-top .item-inner { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.list-block.inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; -} -.list-block.inset .content-block-title { - margin-left: 0; - margin-right: 0; -} -.list-block.inset ul { - border-radius: 4px; -} -.list-block.inset ul:before { - display: none; -} -.list-block.inset ul:after { - display: none; -} -.list-block.inset li:first-child > a { - border-radius: 4px 4px 0 0; -} -.list-block.inset li:last-child > a { - border-radius: 0 0 4px 4px; -} -.list-block.inset li:first-child:last-child > a { - border-radius: 4px; -} -@media all and (min-width: 768px) { - .list-block.tablet-inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 4px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 4px 4px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 4px 4px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 4px; - } - .list-block.tablet-inset .content-block-title { - margin-left: 0; - margin-right: 0; - } - .list-block.tablet-inset ul { - border-radius: 4px; - } - .list-block.tablet-inset ul:before { - display: none; - } - .list-block.tablet-inset ul:after { - display: none; - } - .list-block.tablet-inset li:first-child > a { - border-radius: 4px 4px 0 0; - } - .list-block.tablet-inset li:last-child > a { - border-radius: 0 0 4px 4px; - } - .list-block.tablet-inset li:first-child:last-child > a { - border-radius: 4px; - } -} -.list-block li { - box-sizing: border-box; - position: relative; -} -.list-block .item-media { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - box-sizing: border-box; - padding-top: 8px; - padding-bottom: 8px; - min-width: 40px; -} -.list-block .item-media i + i { - margin-left: 8px; -} -.list-block .item-media i + img { - margin-left: 8px; -} -.list-block .item-media + .item-inner { - margin-left: 16px; -} -.list-block .item-inner { - padding-right: 16px; - position: relative; - width: 100%; - padding-top: 8px; - padding-bottom: 8px; - min-height: 48px; - box-sizing: border-box; - -webkit-box-flex: 1; - -ms-flex: 1; - min-width: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block .item-title { - min-width: 0; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; -} -.list-block .item-after { - white-space: nowrap; - color: #757575; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - margin-left: 8px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - max-height: 28px; - font-size: 14px; -} -.list-block .smart-select .item-after, -.list-block .autocomplete-opener .item-after { - max-width: 70%; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - display: block; -} -.list-block .item-link { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: block; - color: inherit; - position: relative; - overflow: hidden; - z-index: 0; -} -.list-block .item-link .item-inner { - padding-right: 42px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; - background-repeat: no-repeat; - background-position: 95% center; - background-position: -webkit-calc(100% - 16px) center; - background-position: calc(100% - 16px) center; -} -html:not(.watch-active-state) .list-block .item-link:active, -.list-block .item-link.active-state { - background-color: rgba(0, 0, 0, 0.1); -} -.list-block .item-link.list-button { - padding: 0 16px; - font-size: 16px; - display: block; - line-height: 48px; -} -.list-block .item-content { - box-sizing: border-box; - padding-left: 16px; - min-height: 48px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.list-block .list-block-label { - margin: 10px 0 35px; - padding: 0 16px; - font-size: 14px; - color: rgba(0, 0, 0, 0.54); -} -.list-block .swipeout { - overflow: hidden; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.list-block .swipeout.deleting { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .swipeout.deleting .swipeout-content { - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout.transitioning .swipeout-content, -.list-block .swipeout.transitioning .swipeout-actions-right a, -.list-block .swipeout.transitioning .swipeout-actions-left a, -.list-block .swipeout.transitioning .swipeout-overswipe { - -webkit-transition: 300ms; - transition: 300ms; -} -.list-block .swipeout-content { - position: relative; - z-index: 10; -} -.list-block .swipeout-overswipe { - -webkit-transition: 200ms left; - transition: 200ms left; -} -.list-block .swipeout-actions-left, -.list-block .swipeout-actions-right { - position: absolute; - top: 0; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.list-block .swipeout-actions-left a, -.list-block .swipeout-actions-right a { - padding: 0 24px; - color: #fff; - background: #c7c7cc; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - position: relative; - left: 0; -} -.list-block .swipeout-actions-left a:after, -.list-block .swipeout-actions-right a:after { - content: ''; - position: absolute; - top: 0; - width: 600%; - height: 100%; - background: inherit; - z-index: -1; -} -.list-block .swipeout-actions-left a.swipeout-delete, -.list-block .swipeout-actions-right a.swipeout-delete { - background: #f44336; -} -.list-block .swipeout-actions-right { - right: 0%; - -webkit-transform: translateX(100%); - transform: translateX(100%); -} -.list-block .swipeout-actions-right a:after { - left: 100%; - margin-left: -1px; -} -.list-block .swipeout-actions-left { - left: 0%; - -webkit-transform: translateX(-100%); - transform: translateX(-100%); -} -.list-block .swipeout-actions-left a:after { - right: 100%; - margin-right: -1px; -} -.list-block .item-subtitle { - font-size: 14px; - position: relative; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - text-overflow: ellipsis; -} -.list-block .item-text { - font-size: 14px; - color: #757575; - line-height: 20px; - position: relative; - overflow: hidden; - max-height: 40px; - text-overflow: ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - display: -webkit-box; -} -.list-block.media-list .item-inner, -.list-block li.media-item .item-inner { - display: block; - padding-top: 14px; - padding-bottom: 14px; - -ms-flex-item-align: stretch; - -webkit-align-self: stretch; - align-self: stretch; -} -.list-block.media-list .item-link .item-inner, -.list-block li.media-item .item-link .item-inner { - background: none; - padding-right: 16px; -} -.list-block.media-list .item-link .item-title-row, -.list-block li.media-item .item-link .item-title-row { - padding-right: 26px; - background: no-repeat right top; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -.list-block.media-list .item-media, -.list-block li.media-item .item-media { - padding-top: 14px; - padding-bottom: 14px; - -ms-flex-item-align: flex-start; - -webkit-align-self: flex-start; - align-self: flex-start; -} -.list-block.media-list .item-media img, -.list-block li.media-item .item-media img { - display: block; -} -.list-block.media-list .item-title-row, -.list-block li.media-item .item-title-row { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.list-block.media-list .item-content > .item-after, -.list-block li.media-item .item-content > .item-after { - padding-top: 14px; - padding-bottom: 14px; - -ms-flex-item-align: flex-start; - -webkit-align-self: flex-start; - align-self: flex-start; -} -.list-block .list-group ul:after, -.list-block .list-group ul:before { - z-index: 11; -} -.list-block .list-group + .list-group ul:before { - display: none; -} -.list-block .item-divider, -.list-block .list-group-title { - background: #f4f4f4; - padding: 0px 16px; - white-space: nowrap; - position: relative; - max-width: 100%; - text-overflow: ellipsis; - overflow: hidden; - color: rgba(0, 0, 0, 0.54); - height: 48px; - box-sizing: border-box; - line-height: 48px; - font-size: 14px; -} -.list-block .item-divider:before, -.list-block .list-group-title:before { - display: none; -} -.list-block .list-group-title { - position: relative; - position: -webkit-sticky; - position: -moz-sticky; - position: sticky; - top: 0px; - z-index: 10; - margin-top: 0; -} -.list-block .sortable-handler { - position: absolute; - right: 0; - top: 0; - bottom: 1px; - z-index: 10; - background-repeat: no-repeat; - background-size: 18px 12px; - background-position: center; - width: 50px; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2018%2012'%20fill%3D'%23c7c7cc'%3E%3Cpath%20d%3D'M0%2C2V0h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C7V5h22v2H0z'%2F%3E%3Cpath%20d%3D'M0%2C12v-2h22v2H0z'%2F%3E%3C%2Fsvg%3E"); - opacity: 0; - visibility: hidden; - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block.sortable-opened .sortable-handler { - visibility: visible; - opacity: 1; -} -.list-block.sortable-opened .item-inner, -.list-block.sortable-opened .item-link .item-inner { - padding-right: 50px; -} -.list-block.sortable-opened .item-link .item-inner, -.list-block.sortable-opened .item-link .item-title-row { - background-image: none; -} -.list-block.sortable-sorting li { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block li.sorting { - z-index: 50; - background: rgba(255, 255, 255, 0.8); - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.list-block li.sorting .item-inner:after { - display: none; -} -.list-block li:last-child .list-button:after { - display: none; -} -.list-block li:last-child .item-inner:after, -.list-block li:last-child li:last-child .item-inner:after { - display: none; -} -.list-block li li:last-child .item-inner:after, -.list-block li:last-child li .item-inner:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-2 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .list-block li li:last-child .item-inner:after, -html.pixel-ratio-3 .list-block li:last-child li .item-inner:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.list-block.no-hairlines:before, -.list-block.no-hairlines ul:before, -.list-block.no-hairlines .content-block-inner:before { - display: none; -} -.list-block.no-hairlines:after, -.list-block.no-hairlines ul:after, -.list-block.no-hairlines .content-block-inner:after { - display: none; -} -.list-block.no-hairlines-between .item-inner:after, -.list-block.no-hairlines-between .list-button:after, -.list-block.no-hairlines-between .item-divider:after, -.list-block.no-hairlines-between .list-group-title:after, -.list-block.no-hairlines-between .list-group-title:after { - display: none; -} -/* === Contacts === */ -.contacts-block { - margin: 0; -} -.contacts-block .list-group-title { - padding: 0 16px; - pointer-events: none; - background: none; - color: #888888; - line-height: 48px; - height: 48px; - font-size: 20px; - font-weight: 500; - overflow: visible; - width: 56px; - top: 0; -} -.contacts-block .list-group-title + li { - margin-top: -48px; -} -.contacts-block .list-group:first-child ul:before { - display: none; -} -.contacts-block .list-group:last-child ul:after { - display: none; -} -.contacts-block li:not(.list-group-title) { - padding-left: 56px; -} -/* === Forms === */ -.list-block input[type="text"], -.list-block input[type="password"], -.list-block input[type="search"], -.list-block input[type="email"], -.list-block input[type="tel"], -.list-block input[type="url"], -.list-block input[type="date"], -.list-block input[type="datetime-local"], -.list-block input[type="time"], -.list-block input[type="number"], -.list-block select, -.list-block textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0 0 0 0; - box-shadow: none; - display: block; - padding: 0; - margin: 0; - width: 100%; - height: 36px; - color: #212121; - font-size: 16px; - font-family: inherit; -} -.list-block input[type="text"]::-webkit-input-placeholder, -.list-block input[type="password"]::-webkit-input-placeholder, -.list-block input[type="search"]::-webkit-input-placeholder, -.list-block input[type="email"]::-webkit-input-placeholder, -.list-block input[type="tel"]::-webkit-input-placeholder, -.list-block input[type="url"]::-webkit-input-placeholder, -.list-block input[type="date"]::-webkit-input-placeholder, -.list-block input[type="datetime-local"]::-webkit-input-placeholder, -.list-block input[type="time"]::-webkit-input-placeholder, -.list-block input[type="number"]::-webkit-input-placeholder, -.list-block select::-webkit-input-placeholder, -.list-block textarea::-webkit-input-placeholder { - color: rgba(0, 0, 0, 0.35); -} -.list-block .label, -.list-block .floating-label { - vertical-align: top; - color: rgba(0, 0, 0, 0.65); - -webkit-transition-duration: 200ms; - transition-duration: 200ms; - width: 35%; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.list-block input[type="date"], -.list-block input[type="datetime-local"] { - line-height: 44px; -} -.list-block select { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; -} -.list-block textarea { - resize: none; - line-height: 1.4; - padding-top: 8px; - padding-bottom: 7px; - height: 100px; -} -.list-block textarea.resizable { - height: 36px; -} -.list-block .item-input { - width: 100%; - -ms-flex: 1; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - font-size: 0; - position: relative; - margin-bottom: 4px; - min-height: 36px; -} -.list-block .input-item ul:after, -.list-block.inputs-list ul:after { - display: none; -} -.list-block .input-item .item-media, -.list-block.inputs-list .item-media { - -ms-flex-item-align: flex-end; - -webkit-align-self: flex-end; - align-self: flex-end; - min-height: 36px; - margin-bottom: 8px; - padding: 0; -} -.list-block .input-item .item-inner, -.list-block.inputs-list .item-inner { - display: block; - margin-bottom: 4px; - padding-bottom: 0; -} -.list-block .input-item .item-inner:after, -.list-block.inputs-list .item-inner:after { - display: none; -} -.list-block .input-item .label, -.list-block.inputs-list .label, -.list-block .input-item .floating-label, -.list-block.inputs-list .floating-label { - width: 100%; - font-size: 12px; -} -.list-block .input-item .floating-label, -.list-block.inputs-list .floating-label { - -webkit-transform-origin: left; - transform-origin: left; - -webkit-transform: scale(1.33333333) translateY(21px); - transform: scale(1.33333333) translateY(21px); - color: rgba(0, 0, 0, 0.35); - width: auto; - max-width: 75%; -} -.list-block .input-item .floating-label ~ .item-input input::-webkit-input-placeholder, -.list-block.inputs-list .floating-label ~ .item-input input::-webkit-input-placeholder { - color: transparent; -} -.list-block .focus-state .floating-label, -.list-block .not-empty-state .floating-label { - color: rgba(0, 0, 0, 0.65); - -webkit-transform: scale(1) translateY(0); - transform: scale(1) translateY(0); -} -.list-block .focus-state .label, -.list-block .focus-state .floating-label { - color: #2196f3; -} -.item-input-field, -.input-field { - position: relative; -} -.item-input-field:after, -.input-field:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.12); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .item-input-field:after, -html.pixel-ratio-2 .input-field:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .item-input-field:after, -html.pixel-ratio-3 .input-field:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.item-input-field:after, -.input-field:after { - -webkit-transition-duration: 200ms; - transition-duration: 200ms; -} -.item-input-field.focus-state:after, -.input-field.focus-state:after, -.item-input-field.not-empty-state:after, -.input-field.not-empty-state:after, -.focus-state .item-input-field:after, -.focus-state .input-field:after, -.not-empty-state .item-input-field:after, -.not-empty-state .input-field:after { - background: #2196f3; - -webkit-transform: scaleY(2) !important; - transform: scaleY(2) !important; -} -textarea.resizable { - overflow: hidden; -} -.label-switch { - display: inline-block; - vertical-align: middle; - width: 36px; - height: 14px; - position: relative; - cursor: pointer; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.label-switch .checkbox { - width: 36px; - border-radius: 36px; - box-sizing: border-box; - height: 14px; - background: #b0afaf; - z-index: 0; - margin: 0; - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - cursor: pointer; - position: relative; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch .checkbox:after { - content: ' '; - height: 20px; - width: 20px; - border-radius: 20px; - background: #fff; - position: absolute; - z-index: 2; - top: -3px; - left: 0px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4); - -webkit-transform: translateX(0px); - transform: translateX(0px); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.label-switch input[type="checkbox"] { - display: none; -} -.label-switch input[type="checkbox"]:checked + .checkbox { - background: rgba(33, 150, 243, 0.5); -} -.label-switch input[type="checkbox"]:checked + .checkbox:after { - -webkit-transform: translateX(16px); - transform: translateX(16px); - background: #2196f3; -} -.item-input .label-switch { - top: 11px; -} -.button { - color: #2196f3; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -input[type="submit"].button, -input[type="button"].button { - width: 100%; -} -html:not(.watch-active-state) .button:active, -.button.active-state { - background: rgba(0, 0, 0, 0.1); -} -.button.button-fill { - background-color: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .button.button-fill:active, -.button.button-fill.active-state { - background: #0c82df; -} -.button.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; -} -.button i.icon + span, -.button span:not(.ripple-wave) + span, -.button span:not(.ripple-wave) + i.icon, -.button i.icon + i.icon { - margin-left: 8px; -} -.navbar .button:not(.button-fill), -.toolbar .button:not(.button-fill), -.subnavbar .button:not(.button-fill), -.notifications .button:not(.button-fill) { - color: #fff; -} -html:not(.watch-active-state) .navbar .button:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .button:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .button:not(.button-fill):active, -html:not(.watch-active-state) .notifications .button:not(.button-fill):active, -.navbar .button:not(.button-fill).active-state, -.toolbar .button:not(.button-fill).active-state, -.subnavbar .button:not(.button-fill).active-state, -.notifications .button:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.15); -} -.button-raised { - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} -html:not(.watch-active-state) .button-raised:active, -.button-raised.active-state { - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); -} -.buttons-row { - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.buttons-row .button { - margin-left: 16px; - width: 100%; - -webkit-box-flex: 1; - -ms-flex: 1; -} -.buttons-row .button:first-child { - margin-left: 0; -} -.range-slider { - width: 100%; - position: relative; - overflow: hidden; - -ms-flex-item-align: center; - -webkit-align-self: center; - align-self: center; -} -.range-slider input[type="range"] { - position: relative; - height: 20px; - width: 100%; - margin: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #b9b9b9), color-stop(100%, #b9b9b9)); - background: linear-gradient(to right, #b9b9b9 0, #b9b9b9 100%); - background-position: center; - background-size: 100% 2px; - background-repeat: no-repeat; - outline: 0; - -ms-background-position-y: 500px; -} -.range-slider input[type="range"]:focus, -.range-slider input[type="range"]:active { - border: 0; - outline: 0 none; -} -.range-slider input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: #2196f3; - border-radius: 20px; -} -.range-slider input[type="range"]::-webkit-slider-thumb:before { - position: absolute; - top: 50%; - right: 100%; - width: 2000px; - height: 2px; - margin-top: -1px; - z-index: 1; - background: #2196f3; - content: ' '; -} -.range-slider input[type="range"]::-moz-range-track { - width: 100%; - height: 2px; - background: #b7b8b7; - border: none; - outline: 0; -} -.range-slider input[type="range"]::-moz-range-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: #2196f3; - border-radius: 20px; -} -.range-slider input[type="range"]::-ms-track { - width: 100%; - height: 2px; - cursor: pointer; - background: transparent; - border-color: transparent; - color: transparent; -} -.range-slider input[type="range"]::-ms-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: #2196f3; - border-radius: 20px; -} -.range-slider input[type="range"]::-ms-fill-lower { - background: #2196f3; -} -.range-slider input[type="range"]::-ms-fill-upper { - background: #b7b8b7; -} -.item-input .range-slider { - top: 8px; -} -label.label-checkbox { - cursor: pointer; -} -label.label-checkbox i.icon-form-checkbox { - width: 18px; - height: 18px; - position: relative; - border-radius: 2px; - border: 2px solid #6d6d6d; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - background: transparent; -} -label.label-checkbox i.icon-form-checkbox:after { - content: ' '; - position: absolute; - width: 18px; - height: 18px; - left: -2px; - top: -2px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 0; - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20fill%3D'%23ffffff'%20width%3D'24'%20height%3D'24'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M9%2016.17L4.83%2012l-1.42%201.41L9%2019%2021%207l-1.41-1.41z'%2F%3E%3C%2Fsvg%3E"); - -webkit-background-size: 100% auto; - background-size: 100% auto; -} -label.label-checkbox input[type="checkbox"], -label.label-checkbox input[type="radio"] { - display: none; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox, -label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox, -label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox, -label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox { - border-color: #2196f3; - background-color: #2196f3; -} -label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox:after, -label.label-checkbox input[type="checkbox"]:checked ~ .item-after i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked ~ .item-after i.icon-form-checkbox:after, -label.label-checkbox input[type="checkbox"]:checked ~ .item-inner i.icon-form-checkbox:after, -label.label-checkbox input[type="radio"]:checked ~ .item-inner i.icon-form-checkbox:after { - opacity: 1; -} -label.label-radio { - cursor: pointer; -} -label.label-radio i.icon-form-radio { - width: 20px; - height: 20px; - position: relative; - border-radius: 20px; - border: 2px solid #6d6d6d; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -label.label-radio i.icon-form-radio:after { - content: ' '; - position: absolute; - width: 10px; - height: 10px; - left: 50%; - top: 50%; - margin-left: -5px; - margin-top: -5px; - background-color: #2196f3; - border-radius: 100%; - -webkit-transform: scale(0); - transform: scale(0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -label.label-radio input[type="checkbox"], -label.label-radio input[type="radio"] { - display: none; -} -label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio, -label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio, -label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio, -label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio, -label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio, -label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio { - border-color: #2196f3; -} -label.label-radio input[type="checkbox"]:checked + .item-media i.icon-form-radio:after, -label.label-radio input[type="radio"]:checked + .item-media i.icon-form-radio:after, -label.label-radio input[type="checkbox"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio input[type="radio"]:checked ~ .item-after i.icon-form-radio:after, -label.label-radio input[type="checkbox"]:checked ~ .item-inner i.icon-form-radio:after, -label.label-radio input[type="radio"]:checked ~ .item-inner i.icon-form-radio:after { - background-color: #2196f3; - -webkit-transform: scale(1); - transform: scale(1); -} -label.label-checkbox, -label.label-radio { - position: relative; - overflow: hidden; - z-index: 0; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -label.label-checkbox .item-after i.icon-form-checkbox, -label.label-radio .item-after i.icon-form-checkbox, -label.label-checkbox .item-after i.icon-form-radio, -label.label-radio .item-after i.icon-form-radio { - margin-left: 8px; - margin-right: 16px; -} -.media-list label.label-checkbox .item-media i.icon-form-checkbox, -.media-list label.label-radio .item-media i.icon-form-checkbox, -.media-item label.label-checkbox .item-media i.icon-form-checkbox, -.media-item label.label-radio .item-media i.icon-form-checkbox, -.media-list label.label-checkbox .item-media i.icon-form-radio, -.media-list label.label-radio .item-media i.icon-form-radio, -.media-item label.label-checkbox .item-media i.icon-form-radio, -.media-item label.label-radio .item-media i.icon-form-radio { - margin-top: 4px; -} -html:not(.watch-active-state) label.label-checkbox:active, -html:not(.watch-active-state) label.label-radio:active, -label.label-checkbox.active-state, -label.label-radio.active-state { - background-color: rgba(0, 0, 0, 0.1); -} -html:not(.watch-active-state) label.label-checkbox:active .item-inner:after, -html:not(.watch-active-state) label.label-radio:active .item-inner:after, -label.label-checkbox.active-state .item-inner:after, -label.label-radio.active-state .item-inner:after { - background-color: transparent; -} -.smart-select select { - display: none; -} -/* === Floating Action Button === */ -.floating-button { - position: absolute; - right: 16px; - bottom: 16px; - width: 56px; - height: 56px; - border-radius: 50%; - z-index: 1500; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); - background-color: #2196f3; - color: #fff; - overflow: hidden; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; -} -html:not(.watch-active-state) .floating-button:active, -.floating-button.active-state { - background: #0c82df; -} -.floating-button-toolbar, -.speed-dial { - position: absolute; - right: 16px; - bottom: 16px; - z-index: 1500; -} -.floating-button-toolbar .floating-button, -.speed-dial .floating-button { - right: 0; - bottom: 0; - position: relative; -} -.speed-dial .floating-button i { - position: absolute; - left: 50%; - top: 50%; - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.speed-dial .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - transform: translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5); - opacity: 0; -} -.speed-dial.speed-dial-opened .floating-button i + i { - -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1); - opacity: 1; -} -.speed-dial-buttons { - position: absolute; - width: 40px; - left: 50%; - margin-left: -20px; - bottom: 100%; - margin-bottom: 16px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -moz-box-orient: vertical; - -moz-box-direction: reverse; - -ms-flex-direction: column-reverse; - -webkit-flex-direction: column-reverse; - flex-direction: column-reverse; - visibility: hidden; - pointer-events: none; -} -.speed-dial-buttons a { - width: 40px; - height: 40px; - opacity: 0; - color: #fff; - border-radius: 50%; - position: relative; - z-index: 1; - overflow: hidden; - background-color: #2196f3; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-transform: translate3d(0, 8px, 0) scale(0.3); - transform: translate3d(0, 8px, 0) scale(0.3); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} -html:not(.watch-active-state) .speed-dial-buttons a:active, -.speed-dial-buttons a.active-state { - background: #0c82df; -} -.speed-dial-buttons a + a { - margin-bottom: 16px; -} -.speed-dial-opened .speed-dial-buttons { - visibility: visible; - pointer-events: auto; -} -.speed-dial-opened .speed-dial-buttons a { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0) scaleY(1); - transform: translate3d(0, 0, 0) scaleY(1); - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} -.speed-dial-opened .speed-dial-buttons a:nth-child(2) { - -webkit-transition-delay: 50ms; - transition-delay: 50ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(3) { - -webkit-transition-delay: 100ms; - transition-delay: 100ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(4) { - -webkit-transition-delay: 150ms; - transition-delay: 150ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(5) { - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -.speed-dial-opened .speed-dial-buttons a:nth-child(6) { - -webkit-transition-delay: 250ms; - transition-delay: 250ms; -} -.floating-button-to-popover.floating-button-to-popover { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-in { - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-in i { - opacity: 0; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.floating-button-to-popover.floating-button-to-popover-scale { - border-radius: 0; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - box-shadow: none; -} -.floating-button-to-popover.floating-button-to-popover-out { - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.floating-button-to-popover.floating-button-to-popover-out i { - opacity: 1; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; - -webkit-transition-delay: 200ms; - transition-delay: 200ms; -} -/* === Accordion === */ -.list-block .accordion-item-toggle { - cursor: pointer; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block .accordion-item-toggle .item-inner { - padding-right: 42px; - background: no-repeat -webkit-calc(100% - 15px) center; - background: no-repeat calc(100% - 15px) center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 10px 20px; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active, -.list-block .accordion-item-toggle.active-state { - -webkit-transition-duration: 0ms; - transition-duration: 0ms; - background-color: #d9d9d9; -} -html:not(.watch-active-state) .list-block .accordion-item-toggle:active > .item-inner:after, -.list-block .accordion-item-toggle.active-state > .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item-toggle .item-inner, -.list-block .accordion-item > .item-link .item-inner { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: background-color; - transition-property: background-color; -} -.list-block .accordion-item-toggle .item-inner:after, -.list-block .accordion-item > .item-link .item-inner:after { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, -.list-block:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, -.list-block.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, -.list-block.media-list .accordion-item-expanded > .item-link .item-title-row, -.list-block .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, -.list-block .accordion-item-expanded.media-item > .item-link .item-title-row { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%2060%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'm60%2061.5-38.25%2038.25-9.75-9.75%2029.25-28.5-29.25-28.5%209.75-9.75z'%20transform%3D'translate(115%2C%2030)%20rotate(90)'%20fill%3D'%23c7c7cc'%2F%3E%3C%2Fsvg%3E"); - background-size: 20px 20px; -} -.list-block .accordion-item-expanded .accordion-item-toggle .item-inner:after, -.list-block .accordion-item-expanded > .item-link .item-inner:after { - background-color: transparent; -} -.list-block .accordion-item .content-block, -.list-block .accordion-item .list-block { - margin-top: 0; - margin-bottom: 0; -} -.list-block .accordion-item ul { - padding-left: 0; -} -.accordion-item-content { - position: relative; - overflow: hidden; - height: 0; - font-size: 14px; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.accordion-item-expanded > .accordion-item-content { - height: auto; -} -html.android-4 .accordion-item-content { - -webkit-transform: none; - transform: none; -} -/* === Cards === */ -.cards-list ul, -.card .list-block ul { - background: none; -} -.cards-list > ul:before, -.card .list-block > ul:before { - display: none; -} -.cards-list > ul:after, -.card .list-block > ul:after { - display: none; -} -.card { - background: #fff; - margin: 8px; - position: relative; - border-radius: 2px; - font-size: 14px; - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); -} -.card .list-block, -.card .content-block { - margin: 0; -} -.row:not(.no-gutter) .col > .card { - margin-left: 0; - margin-right: 0; -} -.page-content > .card:last-child { - margin-bottom: 32px; -} -.card-content { - position: relative; -} -.card-content-inner { - padding: 16px; - position: relative; -} -.card-content-inner > p:first-child { - margin-top: 0; -} -.card-content-inner > p:last-child { - margin-bottom: 0; -} -.card-content-inner > .list-block, -.card-content-inner > .content-block { - margin: -15px; -} -.card-header, -.card-footer { - min-height: 48px; - position: relative; - padding: 4px 16px; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.card-header[valign="top"], -.card-footer[valign="top"] { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.card-header[valign="bottom"], -.card-footer[valign="bottom"] { - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.card-header a.link, -.card-footer a.link { - color: #2196f3; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - user-select: none; -} -input[type="submit"].card-header a.link, -input[type="submit"].card-footer a.link, -input[type="button"].card-header a.link, -input[type="button"].card-footer a.link { - width: 100%; -} -html:not(.watch-active-state) .card-header a.link:active, -html:not(.watch-active-state) .card-footer a.link:active, -.card-header a.link.active-state, -.card-footer a.link.active-state { - background: rgba(0, 0, 0, 0.1); -} -.card-header a.link.button-fill, -.card-footer a.link.button-fill { - background-color: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .card-header a.link.button-fill:active, -html:not(.watch-active-state) .card-footer a.link.button-fill:active, -.card-header a.link.button-fill.active-state, -.card-footer a.link.button-fill.active-state { - background: #0c82df; -} -.card-header a.link.button-big, -.card-footer a.link.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; -} -.card-header a.link i.icon + span, -.card-footer a.link i.icon + span, -.card-header a.link span:not(.ripple-wave) + span, -.card-footer a.link span:not(.ripple-wave) + span, -.card-header a.link span:not(.ripple-wave) + i.icon, -.card-footer a.link span:not(.ripple-wave) + i.icon, -.card-header a.link i.icon + i.icon, -.card-footer a.link i.icon + i.icon { - margin-left: 8px; -} -.navbar .card-header a.link:not(.button-fill), -.navbar .card-footer a.link:not(.button-fill), -.toolbar .card-header a.link:not(.button-fill), -.toolbar .card-footer a.link:not(.button-fill), -.subnavbar .card-header a.link:not(.button-fill), -.subnavbar .card-footer a.link:not(.button-fill), -.notifications .card-header a.link:not(.button-fill), -.notifications .card-footer a.link:not(.button-fill) { - color: #fff; -} -html:not(.watch-active-state) .navbar .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .navbar .card-footer a.link:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .card-footer a.link:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .card-footer a.link:not(.button-fill):active, -html:not(.watch-active-state) .notifications .card-header a.link:not(.button-fill):active, -html:not(.watch-active-state) .notifications .card-footer a.link:not(.button-fill):active, -.navbar .card-header a.link:not(.button-fill).active-state, -.navbar .card-footer a.link:not(.button-fill).active-state, -.toolbar .card-header a.link:not(.button-fill).active-state, -.toolbar .card-footer a.link:not(.button-fill).active-state, -.subnavbar .card-header a.link:not(.button-fill).active-state, -.subnavbar .card-footer a.link:not(.button-fill).active-state, -.notifications .card-header a.link:not(.button-fill).active-state, -.notifications .card-footer a.link:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.15); -} -.card-header a.link i + span, -.card-footer a.link i + span, -.card-header a.link i + i, -.card-footer a.link i + i, -.card-header a.link span + i, -.card-footer a.link span + i, -.card-header a.link span + span, -.card-footer a.link span + span { - margin-left: 7px; -} -.card-header a.link i.icon, -.card-footer a.link i.icon { - display: block; -} -.card-header a.icon-only, -.card-footer a.icon-only { - min-width: 48px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - margin: 0; -} -.card-header { - border-radius: 2px 2px 0 0; - font-size: 16px; -} -.card-header:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .card-header:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-header:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-header.no-border:after { - display: none; -} -.card-footer { - border-radius: 0 0 2px 2px; - color: #757575; -} -.card-footer:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: #e1e1e1; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .card-footer:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .card-footer:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.card-footer.no-border:before { - display: none; -} -/* === Modals === */ -.modal-overlay, -.preloader-indicator-overlay, -.popup-overlay, -.picker-modal-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.4); - z-index: 13000; - visibility: hidden; - opacity: 0; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.modal-overlay.modal-overlay-visible, -.preloader-indicator-overlay.modal-overlay-visible, -.popup-overlay.modal-overlay-visible, -.picker-modal-overlay.modal-overlay-visible { - visibility: visible; - opacity: 1; -} -.popup-overlay { - z-index: 10500; -} -.picker-modal-overlay { - z-index: 12000; -} -.modal { - width: 280px; - position: absolute; - z-index: 13500; - left: 50%; - margin-left: -140px; - margin-top: 0; - top: 50%; - border-radius: 3px; - opacity: 0; - -webkit-transform: translate3d(0, 0, 0) scale(1.185); - transform: translate3d(0, 0, 0) scale(1.185); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -ms-transition-property: -ms-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - color: #757575; - display: none; - background: #fff; - font-size: 16px; - box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); -} -.modal.modal-in { - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(1); - transform: translate3d(0, 0, 0) scale(1); -} -.modal.modal-out { - opacity: 0; - z-index: 13499; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; - -webkit-transform: translate3d(0, 0, 0) scale(0.815); - transform: translate3d(0, 0, 0) scale(0.815); -} -.modal-inner { - padding: 24px 24px 20px; - position: relative; -} -.modal-title { - font-weight: 500; - font-size: 20px; - color: #212121; - line-height: 1.3; -} -.modal-title + .modal-text { - margin-top: 20px; -} -.modal-text { - line-height: 1.5; -} -.modal-buttons { - height: 48px; - padding: 6px 8px; - overflow: hidden; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} -.modal-buttons.modal-buttons-vertical { - display: block; - height: auto; - padding: 0 0 8px 0; -} -.modal-buttons.modal-buttons-vertical .modal-button { - margin-left: 0; - text-align: right; - height: 48px; - line-height: 48px; - border-radius: 0; - padding-left: 16px; - padding-right: 16px; -} -.modal-button, -.modal-buttons .button { - color: #2196f3; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-user-select: none; - user-select: none; -} -input[type="submit"].modal-button, -input[type="submit"].modal-buttons .button, -input[type="button"].modal-button, -input[type="button"].modal-buttons .button { - width: 100%; -} -html:not(.watch-active-state) .modal-button:active, -html:not(.watch-active-state) .modal-buttons .button:active, -.modal-button.active-state, -.modal-buttons .button.active-state { - background: rgba(0, 0, 0, 0.1); -} -.modal-button.button-fill, -.modal-buttons .button.button-fill { - background-color: #2196f3; - color: #fff; -} -html:not(.watch-active-state) .modal-button.button-fill:active, -html:not(.watch-active-state) .modal-buttons .button.button-fill:active, -.modal-button.button-fill.active-state, -.modal-buttons .button.button-fill.active-state { - background: #0c82df; -} -.modal-button.button-big, -.modal-buttons .button.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; -} -.modal-button i.icon + span, -.modal-buttons .button i.icon + span, -.modal-button span:not(.ripple-wave) + span, -.modal-buttons .button span:not(.ripple-wave) + span, -.modal-button span:not(.ripple-wave) + i.icon, -.modal-buttons .button span:not(.ripple-wave) + i.icon, -.modal-button i.icon + i.icon, -.modal-buttons .button i.icon + i.icon { - margin-left: 8px; -} -.navbar .modal-button:not(.button-fill), -.navbar .modal-buttons .button:not(.button-fill), -.toolbar .modal-button:not(.button-fill), -.toolbar .modal-buttons .button:not(.button-fill), -.subnavbar .modal-button:not(.button-fill), -.subnavbar .modal-buttons .button:not(.button-fill), -.notifications .modal-button:not(.button-fill), -.notifications .modal-buttons .button:not(.button-fill) { - color: #fff; -} -html:not(.watch-active-state) .navbar .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .navbar .modal-buttons .button:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .toolbar .modal-buttons .button:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .subnavbar .modal-buttons .button:not(.button-fill):active, -html:not(.watch-active-state) .notifications .modal-button:not(.button-fill):active, -html:not(.watch-active-state) .notifications .modal-buttons .button:not(.button-fill):active, -.navbar .modal-button:not(.button-fill).active-state, -.navbar .modal-buttons .button:not(.button-fill).active-state, -.toolbar .modal-button:not(.button-fill).active-state, -.toolbar .modal-buttons .button:not(.button-fill).active-state, -.subnavbar .modal-button:not(.button-fill).active-state, -.subnavbar .modal-buttons .button:not(.button-fill).active-state, -.notifications .modal-button:not(.button-fill).active-state, -.notifications .modal-buttons .button:not(.button-fill).active-state { - background: rgba(255, 255, 255, 0.15); -} -.modal-button.modal-button-bold, -.modal-buttons .button.modal-button-bold { - font-weight: 700; -} -.modal-button + .modal-button, -.modal-buttons .button + .modal-button { - margin-left: 4px; -} -.modal-no-buttons .modal-buttons { - display: none; -} -.actions-modal { - position: absolute; - left: 0; - bottom: 0; - z-index: 13500; - width: 100%; - background: #fff; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - max-height: 100%; - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.actions-modal.modal-in { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.actions-modal.modal-out { - z-index: 13499; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.actions-modal-group { - position: relative; -} -.actions-modal-group:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #d2d2d6; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-modal-group:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-modal-group:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-modal-group:last-child:after { - display: none; -} -.actions-modal-button, -.actions-modal-label { - width: 100%; - font-weight: normal; - margin: 0; - box-sizing: border-box; - display: block; - position: relative; - padding: 0 16px; -} -.actions-modal-button a, -.actions-modal-label a { - text-decoration: none; - color: inherit; - display: block; -} -.actions-modal-button b, -.actions-modal-label b { - font-weight: 500; -} -.actions-modal-button.actions-modal-button-bold, -.actions-modal-label.actions-modal-button-bold { - font-weight: 500; -} -.actions-modal-button.actions-modal-button-red, -.actions-modal-label.actions-modal-button-red { - color: #f44336; -} -.actions-modal-button.disabled, -.actions-modal-label.disabled { - opacity: 0.95; - color: #9e9e9e; -} -.actions-modal-button { - cursor: pointer; - line-height: 48px; - font-size: 16px; - color: rgba(0, 0, 0, 0.87); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.actions-modal-button a, -.actions-modal-button { - position: relative; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} -html:not(.watch-active-state) .actions-modal-button:active, -.actions-modal-button.active-state { - background: rgba(0, 0, 0, 0.1); -} -.actions-modal-label { - font-size: 16px; - color: rgba(0, 0, 0, 0.54); - min-height: 56px; - line-height: 1.3; - padding-top: 12px; - padding-bottom: 12px; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -input.modal-text-input { - box-sizing: border-box; - height: 36px; - background: #fff; - margin: 0; - margin-top: 15px; - padding: 0; - border: none; - width: 100%; - font-size: 16px; - font-family: inherit; - display: block; - box-shadow: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-transition-duration: 200ms; - transition-duration: 200ms; -} -input.modal-text-input::-webkit-input-placeholder { - color: rgba(0, 0, 0, 0.35); -} -input.modal-text-input + input.modal-text-input { - margin-top: 16px; -} -.popover { - width: 320px; - background: #fff; - z-index: 13500; - margin: 0; - top: 0; - opacity: 0; - left: 0; - border-radius: 3px; - position: absolute; - display: none; - box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); - -webkit-transform: scale(0.85, 0.6); - transform: scale(0.85, 0.6); - -webkit-transition-property: opacity, -webkit-transform, border-radius; - -moz-transition-property: opacity, -moz-transform, border-radius; - transition-property: opacity, transform, border-radius; -} -.popover.popover-on-top { - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} -.popover.popover-on-bottom { - -webkit-transform-origin: center top; - transform-origin: center top; -} -.popover.modal-in { - -webkit-transform: scale(1); - transform: scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 1; -} -.popover.modal-out { - -webkit-transform: scale(1); - transform: scale(1); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 0; -} -.popover .list-block { - margin: 0; -} -.popover .list-block:first-child:last-child ul:before { - display: none; -} -.popover .list-block:first-child:last-child ul:after { - display: none; -} -.popover .list-block ul { - background: none; -} -.popover .list-block ul:before { - display: none; -} -.popover .list-block:first-child ul { - border-radius: 3px 3px 0 0; -} -.popover .list-block:first-child li:first-child a { - border-radius: 3px 3px 0 0; -} -.popover .list-block:last-child ul { - border-radius: 0 0 3px 3px; -} -.popover .list-block:last-child ul:after { - display: none; -} -.popover .list-block:last-child li:last-child a { - border-radius: 0 0 3px 3px; -} -.popover .list-block:first-child:last-child li:first-child:last-child a, -.popover .list-block:first-child:last-child ul:first-child:last-child { - border-radius: 3px; -} -.popover.popover-floating-button { - -webkit-transform-origin: center center; - transform-origin: center center; - -webkit-transform: scale(0.7); - transform: scale(0.7); - border-radius: 50%; - box-shadow: none; - box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); -} -.popover.popover-floating-button.modal-in { - border-radius: 0%; - -webkit-transform: scale(1); - transform: scale(1); - -webkit-transition-delay: 200ms; - transition-delay: 200ms; - -webkit-transition-duration: 200ms; - transition-duration: 200ms; -} -.popover.popover-floating-button.modal-out { - border-radius: 50%; - -webkit-transform: scale(0.7); - transform: scale(0.7); - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transition-duration: 100ms; - transition-duration: 100ms; -} -.popover.popover-floating-button .list-block { - margin: 0; -} -.popover.popover-floating-button .list-block:first-child ul { - border-radius: 0; -} -.popover.popover-floating-button .list-block:first-child li:first-child a { - border-radius: 0; -} -.popover.popover-floating-button .list-block:last-child ul { - border-radius: 0; -} -.popover.popover-floating-button .list-block:last-child li:last-child a { - border-radius: 0; -} -.popover.popover-floating-button .list-block:first-child:last-child li:first-child:last-child a, -.popover.popover-floating-button .list-block:first-child:last-child ul:first-child:last-child { - border-radius: 0; -} -.popover-inner { - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.actions-popover .list-block { - margin: 0; -} -.actions-popover-label { - padding: 8px 16px; - color: rgba(0, 0, 0, 0.54); - font-size: 16px; - line-height: 1.3; - padding-top: 12px; - padding-bottom: 12px; - position: relative; -} -.actions-popover-label:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: #d2d2d6; - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .actions-popover-label:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .actions-popover-label:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.actions-popover-label:last-child:after { - display: none; -} -.popup, -.login-screen { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11000; - background: #fff; - box-sizing: border-box; - display: none; - overflow: auto; - -webkit-overflow-scrolling: touch; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.popup.modal-in, -.login-screen.modal-in, -.popup.modal-out, -.login-screen.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.popup.modal-in, -.login-screen.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.popup.modal-out, -.login-screen.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.login-screen.modal-in, -.login-screen.modal-out { - display: block; -} -@media all and (min-width: 630px) and (min-height: 630px) { - .popup:not(.tablet-fullscreen) { - width: 630px; - height: 630px; - left: 50%; - top: 50%; - margin-left: -315px; - margin-top: -315px; - box-shadow: 0px 20px 44px rgba(0, 0, 0, 0.5); - border-radius: 3px; - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } - .popup:not(.tablet-fullscreen).modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - .popup:not(.tablet-fullscreen).modal-out { - -webkit-transform: translate3d(0, 1024px, 0); - transform: translate3d(0, 1024px, 0); - } -} -@media all and (max-width: 629px), (max-height: 629px) { - html.with-statusbar-overlay .popup { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; - } - html.with-statusbar-overlay .popup-overlay { - z-index: 9500; - } -} -html.with-statusbar-overlay .login-screen, -html.with-statusbar-overlay .popup.tablet-fullscreen { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.modal-preloader .modal-title, -.modal-preloader .modal-inner { - text-align: center; -} -.preloader-indicator-overlay { - visibility: visible; - opacity: 0; - background: none; -} -.preloader-indicator-modal { - position: absolute; - left: 50%; - top: 50%; - padding: 8px; - margin-left: -24px; - margin-top: -24px; - background: rgba(0, 0, 0, 0.8); - z-index: 13500; - border-radius: 4px; -} -.preloader-indicator-modal .preloader { - display: block; -} -.picker-modal { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 260px; - z-index: 12000; - display: none; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - background: #fff; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal.modal-in, -.picker-modal.modal-out { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.picker-modal.modal-in { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.modal-out { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); -} -.picker-modal .picker-modal-inner { - height: 100%; - position: relative; -} -.picker-modal .toolbar { - position: relative; - width: 100%; - top: 0; -} -.picker-modal .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 48px); - height: -moz-calc(100% - 48px); - height: calc(100% - 48px); -} -.picker-modal .toolbar a.link { - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.picker-modal .picker-header, -.picker-modal .picker-footer { - height: 48px; -} -.picker-modal .picker-header { - background: #2196f3; -} -.picker-modal .picker-header + .toolbar .toolbar-inner { - overflow: visible; -} -.picker-modal .picker-header + .picker-footer + .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 48px * 3); - height: -moz-calc(100% - 48px * 3); - height: calc(100% - 48px * 3); -} -.picker-modal .picker-footer { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 48px; - padding: 6px 8px; - overflow: hidden; - box-sizing: border-box; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} -.picker-modal .picker-footer.modal-buttons-vertical { - display: block; - height: auto; - padding: 0 0 8px 0; -} -.picker-modal .picker-footer.modal-buttons-vertical .modal-button { - margin-left: 0; - text-align: right; - height: 48px; - line-height: 48px; - border-radius: 0; - padding-left: 16px; - padding-right: 16px; -} -.picker-modal .picker-header + .picker-modal-inner, -.picker-modal .picker-footer + .picker-modal-inner { - height: -webkit-calc(100% - 48px); - height: -moz-calc(100% - 48px); - height: calc(100% - 48px); -} -.picker-modal .picker-header + .toolbar + .picker-modal-inner, -.picker-modal .picker-footer + .toolbar + .picker-modal-inner { - height: -webkit-calc(100% - 48px * 2); - height: -moz-calc(100% - 48px * 2); - height: calc(100% - 48px * 2); -} -.picker-modal.picker-modal-inline, -.popover .picker-modal { - display: block; - position: relative; - background: none; - z-index: inherit; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.picker-modal.picker-modal-inline .toolbar, -.popover .picker-modal .toolbar { - top: 0; -} -.popover .picker-modal { - width: auto; -} -.popover .picker-modal .toolbar:first-child, -.popover .picker-modal .picker-header:first-child { - border-radius: 2px 2px 0 0; -} -.picker-modal.smart-select-picker .list-block { - margin: 0; -} -.picker-modal.smart-select-picker .list-block ul:before { - display: none; -} -.picker-modal.smart-select-picker .list-block ul:after { - display: none; -} -/* === Panels === */ -.panel-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.2); - opacity: 0; - z-index: 5999; - display: none; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.panel { - z-index: 1000; - display: none; - background: #fff; - box-sizing: border-box; - overflow: auto; - -webkit-overflow-scrolling: touch; - position: absolute; - width: 260px; - top: 0; - height: 100%; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.panel.panel-left.panel-cover { - z-index: 6000; - left: -260px; -} -.panel.panel-left.panel-reveal { - left: 0; -} -.panel.panel-right.panel-cover { - z-index: 6000; - right: -260px; -} -.panel.panel-right.panel-reveal { - right: 0; -} -body.with-panel-left-cover .panel, -body.with-panel-right-cover .panel { - box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); -} -body.with-panel-left-cover .views, -body.with-panel-right-cover .views { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body.with-panel-left-cover .panel-overlay, -body.with-panel-right-cover .panel-overlay { - display: block; - opacity: 1; -} -body.with-panel-left-reveal .views, -body.with-panel-right-reveal .views { - box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: -webkit-transform, box-shadow; - -moz-transition-property: -moz-transform, box-shadow; - transition-property: transform, box-shadow; -} -body.with-panel-left-reveal .panel-overlay, -body.with-panel-right-reveal .panel-overlay { - background: rgba(0, 0, 0, 0); - display: block; - opacity: 0; -} -body.with-panel-left-reveal .views { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-left-reveal .panel-overlay { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-left-cover .panel-left { - -webkit-transform: translate3d(260px, 0, 0); - transform: translate3d(260px, 0, 0); -} -body.with-panel-right-reveal .views { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.with-panel-right-reveal .panel-overlay { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.with-panel-right-cover .panel-right { - -webkit-transform: translate3d(-260px, 0, 0); - transform: translate3d(-260px, 0, 0); -} -body.panel-closing .panel-overlay { - display: block; -} -body.panel-closing .views { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-property: -webkit-transform, box-shadow; - -moz-transition-property: -moz-transform, box-shadow; - transition-property: transform, box-shadow; -} -/* === Images Lazy Loading === */ -.lazy-loaded.lazy-fadeIn { - -webkit-animation: lazyFadeIn 600ms; - animation: lazyFadeIn 600ms; -} -@-webkit-keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -/* === Tabs === */ -.tabs .tab { - display: none; -} -.tabs .tab.active { - display: block; -} -.tabs-animated-wrap { - position: relative; - width: 100%; - overflow: hidden; - height: 100%; -} -.tabs-animated-wrap > .tabs { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.tabs-animated-wrap > .tabs > .tab { - width: 100%; - display: block; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; -} -.tabs-swipeable-wrap { - height: 100%; -} -.tabs-swipeable-wrap > .tabs > .tab { - display: block; -} -/* === Messages === */ -.messages-content { - background: #eee; -} -.messages { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.messages-date { - text-align: center; - font-weight: 500; - font-size: 12px; - line-height: 1; - margin: 10px 15px; -} -.messages-date span { - font-weight: 400; -} -.message { - box-sizing: border-box; - margin: 0px 8px 8px 8px; - max-width: 80%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.message:first-child { - margin-top: 8px; -} -.message.message-pic img { - display: block; -} -.message-name, -.message-label, -.message-date, -.messages-date { - color: rgba(0, 0, 0, 0.51); -} -.message-name { - font-size: 12px; - line-height: 1; - margin-bottom: 2px; - margin-top: 7px; -} -.message-hide-name .message-name { - display: none; -} -.message-label { - font-size: 12px; - line-height: 1; - margin-top: 4px; -} -.message-hide-label .message-label { - display: none; -} -.message-avatar { - width: 48px; - height: 48px; - border-radius: 100%; - margin-top: -48px; - position: relative; - top: 1px; - background-size: cover; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.message-hide-avatar .message-avatar { - opacity: 0; -} -.message-text { - box-sizing: border-box; - border-radius: 2px; - padding: 6px 8px; - min-width: 48px; - font-size: 16px; - line-height: 1.2; - word-break: break-word; - color: #333; - min-height: 48px; - position: relative; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.message-text img { - max-width: 100%; - height: auto; -} -.message-pic .message-text { - padding: 8px; -} -.message-date { - font-size: 12px; - margin-top: 4px; -} -.message-pic img + .message-date { - margin-top: 8px; -} -.message-sent { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.message-sent .message-name, -.message-sent .message-label { - margin-right: 8px; -} -.message-sent .message-text { - background-color: #C8E6C9; - margin-left: auto; - border-radius: 2px 2px 0 2px; - margin-right: 8px; -} -.message-sent .message-text:before { - position: absolute; - content: ''; - border-left: 0px solid transparent; - border-right: 8px solid transparent; - border-bottom: 8px solid #C8E6C9; - left: 100%; - bottom: 0; - width: 0; - height: 0; -} -.message-sent.message-with-avatar .message-text, -.message-sent.message-with-avatar .message-name, -.message-sent.message-with-avatar .message-label { - margin-right: 56px; -} -.message-received { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.message-received .message-text { - background-color: #fff; - border-radius: 2px 2px 2px 0px; - margin-left: 8px; -} -.message-received .message-text:before { - position: absolute; - content: ''; - border-left: 8px solid transparent; - border-right: 0px solid transparent; - border-bottom: 8px solid #fff; - right: 100%; - bottom: 0; - width: 0; - height: 0; -} -.message-received .message-name, -.message-received .message-label { - margin-left: 8px; -} -.message-received.message-with-avatar .message-text, -.message-received.message-with-avatar .message-name, -.message-received.message-with-avatar .message-label { - margin-left: 56px; -} -.message-appear-from-bottom { - -webkit-animation: messageAppearFromBottom 400ms; - animation: messageAppearFromBottom 400ms; -} -.message-appear-from-top { - -webkit-animation: messageAppearFromTop 400ms; - animation: messageAppearFromTop 400ms; -} -@-webkit-keyframes messageAppearFromBottom { - from { - -webkit-transform: translate3d(0, 100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromBottom { - from { - transform: translate3d(0, 100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -@-webkit-keyframes messageAppearFromTop { - from { - -webkit-transform: translate3d(0, -100%, 0); - } - to { - -webkit-transform: translate3d(0, 0, 0); - } -} -@keyframes messageAppearFromTop { - from { - transform: translate3d(0, -100%, 0); - } - to { - transform: translate3d(0, 0, 0); - } -} -/* === Statusbar overlay === */ -html.with-statusbar-overlay body { - padding-top: 20px; - box-sizing: border-box; -} -html.with-statusbar-overlay body .statusbar-overlay { - display: block; -} -html.with-statusbar-overlay body .panel { - padding-top: 20px; -} -.statusbar-overlay { - background: #2196f3; - z-index: 10000; - position: absolute; - left: 0; - top: 0; - height: 20px; - width: 100%; - display: none; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -/* === - Preloader - By Rudi Theunissen (https://github.com/rtheunissen/md-preloader) -=== */ -.preloader { - font-size: 0; - display: inline-block; - width: 32px; - height: 32px; - -webkit-animation: preloader-outer 3300ms linear infinite; - animation: preloader-outer 3300ms linear infinite; -} -.preloader svg { - width: 100%; - height: 100%; - -webkit-animation: preloader-inner 1320ms linear infinite; - animation: preloader-inner 1320ms linear infinite; -} -.preloader svg circle { - fill: none; - stroke: #757575; - stroke-linecap: square; - -webkit-animation: preloader-arc 1320ms cubic-bezier(0.8, 0, 0.4, 0.8) infinite; - animation: preloader-arc 1320ms cubic-bezier(0.8, 0, 0.4, 0.8) infinite; -} -@-webkit-keyframes preloader-outer { - 0% { - -webkit-transform: rotate(0); - } - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes preloader-outer { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} -@-webkit-keyframes preloader-inner { - 0% { - -webkit-transform: rotate(-100.8deg); - } - 100% { - -webkit-transform: rotate(0); - } -} -@keyframes preloader-inner { - 0% { - transform: rotate(-100.8deg); - } - 100% { - transform: rotate(0); - } -} -@-webkit-keyframes preloader-arc { - 0% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: 151.55042961px, 210.48670779px; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: -151.55042961px; - } -} -@keyframes preloader-arc { - 0% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: 151.55042961px, 210.48670779px; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: -151.55042961px; - } -} -.preloader-inner { - position: relative; - display: block; - width: 100%; - height: 100%; - -webkit-animation: preloader-inner-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; - animation: preloader-inner-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; -} -.preloader-inner .preloader-inner-gap { - position: absolute; - width: 2px; - left: 50%; - margin-left: -1px; - top: 0; - bottom: 0; - box-sizing: border-box; - border-top: 4px solid #757575; -} -.preloader-inner .preloader-inner-left, -.preloader-inner .preloader-inner-right { - position: absolute; - top: 0; - height: 100%; - width: 50%; - overflow: hidden; -} -.preloader-inner .preloader-inner-half-circle { - position: absolute; - top: 0; - height: 100%; - width: 200%; - box-sizing: border-box; - border: 4px solid #757575; - border-bottom-color: transparent !important; - border-radius: 50%; - -webkit-animation-iteration-count: infinite; - -webkit-animation-duration: 1.3125s; - -webkit-animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); - animation-iteration-count: infinite; - animation-duration: 1.3125s; - animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); -} -.preloader-white .preloader-inner .preloader-inner-gap, -.preloader-white .preloader-inner .preloader-inner-half-circle { - border-color: #fff; -} -.preloader-inner .preloader-inner-left { - left: 0; -} -.preloader-inner .preloader-inner-left .preloader-inner-half-circle { - left: 0; - border-right-color: transparent !important; - -webkit-animation-name: preloader-left-rotate; - animation-name: preloader-left-rotate; -} -.preloader-inner .preloader-inner-right { - right: 0; -} -.preloader-inner .preloader-inner-right .preloader-inner-half-circle { - right: 0; - border-left-color: transparent !important; - -webkit-animation-name: preloader-right-rotate; - animation-name: preloader-right-rotate; -} -.color-multi .preloader-inner .preloader-inner-left .preloader-inner-half-circle { - -webkit-animation-name: preloader-left-rotate-multicolor; - animation-name: preloader-left-rotate-multicolor; -} -.color-multi .preloader-inner .preloader-inner-right .preloader-inner-half-circle { - -webkit-animation-name: preloader-right-rotate-multicolor; - animation-name: preloader-right-rotate-multicolor; -} -@-webkit-keyframes preloader-left-rotate { - 0%, - 100% { - -webkit-transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - } -} -@keyframes preloader-left-rotate { - 0%, - 100% { - transform: rotate(130deg); - } - 50% { - transform: rotate(-5deg); - } -} -@-webkit-keyframes preloader-right-rotate { - 0%, - 100% { - -webkit-transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - } -} -@keyframes preloader-right-rotate { - 0%, - 100% { - transform: rotate(-130deg); - } - 50% { - transform: rotate(5deg); - } -} -@-webkit-keyframes preloader-inner-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - } - 100% { - -webkit-transform: rotate(1080deg); - } -} -@keyframes preloader-inner-rotate { - 12.5% { - transform: rotate(135deg); - } - 25% { - transform: rotate(270deg); - } - 37.5% { - transform: rotate(405deg); - } - 50% { - transform: rotate(540deg); - } - 62.5% { - transform: rotate(675deg); - } - 75% { - transform: rotate(810deg); - } - 87.5% { - transform: rotate(945deg); - } - 100% { - transform: rotate(1080deg); - } -} -@-webkit-keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - -webkit-transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@-webkit-keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - -webkit-transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} -@keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} -/* === Progress Bar === */ -.progressbar, -.progressbar-infinite { - height: 4px; - width: 100%; - overflow: hidden; - display: block; - position: relative; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - background: rgba(33, 150, 243, 0.5); -} -.progressbar { - display: block; - vertical-align: middle; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.progressbar span { - content: ''; - width: 100%; - background: #2196f3; - height: 100%; - position: absolute; - left: 0; - top: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - -webkit-transition-duration: 150ms; - transition-duration: 150ms; -} -.progressbar-infinite { - z-index: 15000; -} -.progressbar-infinite:before, -.progressbar-infinite:after { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #2196f3; - -webkit-transform-origin: left center; - transform-origin: left center; -} -.progressbar-infinite:before { - -webkit-animation: progressbar-infinite-1 2s linear infinite; - animation: progressbar-infinite-1 2s linear infinite; -} -.progressbar-infinite:after { - -webkit-animation: progressbar-infinite-2 2s linear infinite; - animation: progressbar-infinite-2 2s linear infinite; -} -html.with-statusbar-overlay body > .progressbar-infinite, -html.with-statusbar-overlay .framework7-root > .progressbar-infinite { - top: 20px; -} -.progressbar-infinite.color-multi { - background: none !important; -} -.progressbar-infinite.color-multi:before, -.progressbar-infinite.color-multi:after { - width: 100%; - animation: none; -} -.progressbar-infinite.color-multi:before { - background: none; - -webkit-animation: progressbar-infinite-multicolor-bg 3s step-end infinite; - animation: progressbar-infinite-multicolor-bg 3s step-end infinite; -} -.progressbar-infinite.color-multi:after { - background: none; - -webkit-animation: progressbar-infinite-multicolor-fill 3s linear infinite; - animation: progressbar-infinite-multicolor-fill 3s linear infinite; - -webkit-transform-origin: center center; - transform-origin: center center; -} -body > .progressbar, -.view > .progressbar, -.views > .progressbar, -.page > .progressbar, -.panel > .progressbar, -.popup > .progressbar, -.framework7-root > .progressbar, -body > .progressbar-infinite, -.view > .progressbar-infinite, -.views > .progressbar-infinite, -.page > .progressbar-infinite, -.panel > .progressbar-infinite, -.popup > .progressbar-infinite, -.framework7-root > .progressbar-infinite { - position: absolute; - left: 0; - top: 0; - z-index: 15000; - -webkit-transform-origin: center top; - transform-origin: center top; -} -.progressbar-in { - -webkit-animation: progressbar-in 300ms forwards; - animation: progressbar-in 300ms forwards; -} -.progressbar-out { - -webkit-animation: progressbar-out 300ms forwards; - animation: progressbar-out 300ms forwards; -} -html.with-statusbar-overlay body > .progressbar, -html.with-statusbar-overlay .framework7-root > .progressbar { - top: 20px; -} -@-webkit-keyframes progressbar-in { - from { - opacity: 0; - -webkit-transform: scaleY(0); - } - to { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes progressbar-in { - from { - opacity: 0; - transform: scaleY(0); - } - to { - opacity: 1; - transform: scaleY(1); - } -} -@-webkit-keyframes progressbar-out { - from { - opacity: 1; - -webkit-transform: scaleY(1); - } - to { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes progressbar-out { - from { - opacity: 1; - transform: scaleY(1); - } - to { - opacity: 0; - transform: scaleY(0); - } -} -@-webkit-keyframes progressbar-infinite-1 { - 0% { - -webkit-transform: translateX(-10%) scaleX(0.1); - } - 25% { - -webkit-transform: translateX(30%) scaleX(0.6); - } - 50% { - -webkit-transform: translateX(100%) scaleX(1); - } - 100% { - -webkit-transform: translateX(100%) scaleX(1); - } -} -@keyframes progressbar-infinite-1 { - 0% { - transform: translateX(-10%) scaleX(0.1); - } - 25% { - transform: translateX(30%) scaleX(0.6); - } - 50% { - transform: translateX(100%) scaleX(1); - } - 100% { - transform: translateX(100%) scaleX(1); - } -} -@-webkit-keyframes progressbar-infinite-2 { - 0% { - -webkit-transform: translateX(-100%) scaleX(1); - } - 40% { - -webkit-transform: translateX(-100%) scaleX(1); - } - 75% { - -webkit-transform: translateX(60%) scaleX(0.35); - } - 90% { - -webkit-transform: translateX(100%) scaleX(0.1); - } - 100% { - -webkit-transform: translateX(100%) scaleX(0.1); - } -} -@keyframes progressbar-infinite-2 { - 0% { - transform: translateX(-100%) scaleX(1); - } - 40% { - transform: translateX(-100%) scaleX(1); - } - 75% { - transform: translateX(60%) scaleX(0.35); - } - 90% { - transform: translateX(100%) scaleX(0.1); - } - 100% { - transform: translateX(100%) scaleX(0.1); - } -} -@-webkit-keyframes progressbar-infinite-multicolor-bg { - 0% { - background-color: #4caf50; - } - 25% { - background-color: #f44336; - } - 50% { - background-color: #2196f3; - } - 75% { - background-color: #ffeb3b; - } -} -@keyframes progressbar-infinite-multicolor-bg { - 0% { - background-color: #4caf50; - } - 25% { - background-color: #f44336; - } - 50% { - background-color: #2196f3; - } - 75% { - background-color: #ffeb3b; - } -} -@-webkit-keyframes progressbar-infinite-multicolor-fill { - 0% { - -webkit-transform: scaleX(0); - background-color: #f44336; - } - 24.9% { - -webkit-transform: scaleX(1); - background-color: #f44336; - } - 25% { - -webkit-transform: scaleX(0); - background-color: #2196f3; - } - 49.9% { - -webkit-transform: scaleX(1); - background-color: #2196f3; - } - 50% { - -webkit-transform: scaleX(0); - background-color: #ffeb3b; - } - 74.9% { - -webkit-transform: scaleX(1); - background-color: #ffeb3b; - } - 75% { - -webkit-transform: scaleX(0); - background-color: #4caf50; - } - 100% { - -webkit-transform: scaleX(1); - background-color: #4caf50; - } -} -@keyframes progressbar-infinite-multicolor-fill { - 0% { - transform: scaleX(0); - background-color: #f44336; - } - 24.9% { - transform: scaleX(1); - background-color: #f44336; - } - 25% { - transform: scaleX(0); - background-color: #2196f3; - } - 49.9% { - transform: scaleX(1); - background-color: #2196f3; - } - 50% { - transform: scaleX(0); - background-color: #ffeb3b; - } - 74.9% { - transform: scaleX(1); - background-color: #ffeb3b; - } - 75% { - transform: scaleX(0); - background-color: #4caf50; - } - 100% { - transform: scaleX(1); - background-color: #4caf50; - } -} -/* === Pull To Refresh === */ -.pull-to-refresh-layer { - position: absolute; - position: relative; - margin-top: -48px; - left: 0; - top: 0; - width: 100%; - height: 48px; -} -.pull-to-refresh-layer .preloader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -16px; - margin-top: -16px; - visibility: hidden; -} -.pull-to-refresh-layer .pull-to-refresh-arrow { - width: 24px; - height: 24px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -12px; - margin-top: -12px; - background: no-repeat center; - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'-80%204%2024%2024'%3E%3Cpath%20d%3D'M-69%2C8v12.2l-5.6-5.6L-76%2C16l8%2C8l8-8l-1.4-1.4l-5.6%2C5.6V8H-69z'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E"); - z-index: 10; - -webkit-transform: rotate(0deg) translate3d(0, 0, 0); - transform: rotate(0deg) translate3d(0, 0, 0); - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.pull-to-refresh-content.pull-to-refresh-no-navbar { - margin-top: -48px; - height: -webkit-calc(100% + 48px); - height: -moz-calc(100% + 48px); - height: calc(100% + 48px); -} -.pull-to-refresh-content.pull-to-refresh-no-navbar .pull-to-refresh-layer { - margin-top: 0; -} -.pull-to-refresh-content.transitioning, -.pull-to-refresh-content.refreshing { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.pull-to-refresh-content:not(.refreshing) .pull-to-refresh-layer .preloader { - -webkit-animation: none; - animation: none; -} -.pull-to-refresh-content.refreshing { - -webkit-transform: translate3d(0, 48px, 0); - transform: translate3d(0, 48px, 0); -} -.pull-to-refresh-content.refreshing .pull-to-refresh-arrow { - visibility: hidden; - -webkit-transition-duration: 0ms; - transition-duration: 0ms; -} -.pull-to-refresh-content.refreshing .preloader { - visibility: visible; -} -.pull-to-refresh-content.pull-up .pull-to-refresh-arrow { - -webkit-transform: rotate(180deg) translate3d(0, 0, 0); - transform: rotate(180deg) translate3d(0, 0, 0); -} -/* === Infinite Scroll Preloader === */ -.infinite-scroll-preloader { - text-align: center; - padding: 8px 0; -} -/* === Autocomplete === */ -.autocomplete-page .autocomplete-found { - display: block; -} -.autocomplete-page .autocomplete-not-found { - display: none; -} -.autocomplete-page .autocomplete-values { - display: block; -} -.autocomplete-page .list-block ul:empty { - display: none; -} -.autocomplete-page .navbar .autocomplete-preloader { - margin-right: 16px; -} -.autocomplete-preloader:not(.autocomplete-preloader-visible) { - -webkit-animation: none; - animation: none; - visibility: hidden; -} -.autocomplete-dropdown { - background: #fff; - box-sizing: border-box; - position: absolute; - z-index: 500; - box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25); - width: 100%; - left: 0; -} -.autocomplete-dropdown .autocomplete-dropdown-inner { - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; - height: 100%; - z-index: 1; -} -.autocomplete-dropdown .autocomplete-preloader { - display: none; - position: absolute; - right: 16px; - bottom: 100%; - margin-bottom: 8px; - width: 20px; - height: 20px; -} -.autocomplete-dropdown .autocomplete-preloader .preloader-inner-gap, -.autocomplete-dropdown .autocomplete-preloader .preloader-inner-half-circle { - border-width: 3px; -} -.autocomplete-dropdown .autocomplete-preloader-visible { - display: block; -} -.autocomplete-dropdown .autocomplete-dropdown-placeholder { - color: #a9a9a9; -} -.autocomplete-dropdown .list-block { - margin: 0; - color: rgba(0, 0, 0, 0.54); -} -.autocomplete-dropdown .list-block ul { - background: none !important; -} -.autocomplete-dropdown .list-block ul:before { - display: none; -} -.autocomplete-dropdown .list-block ul:after { - display: none; -} -.autocomplete-dropdown .list-block b { - font-weight: normal; - color: #212121; -} -/* === Swiper === */ -.swiper-container { - margin-left: auto; - margin-right: auto; - position: relative; - overflow: hidden; - /* Fix of Webkit flickering */ - z-index: 1; -} -.swiper-container-no-flexbox .swiper-slide { - float: left; -} -.swiper-container-vertical > .swiper-wrapper { - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.swiper-wrapper { - position: relative; - width: 100%; - height: 100%; - z-index: 1; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform; - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-container-android .swiper-slide, -.swiper-wrapper { - -webkit-transform: translate3d(0px, 0, 0); - -moz-transform: translate3d(0px, 0, 0); - -o-transform: translate(0px, 0px); - -ms-transform: translate3d(0px, 0, 0); - transform: translate3d(0px, 0, 0); -} -.swiper-container-multirow > .swiper-wrapper { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -ms-flex-wrap: wrap; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -.swiper-container-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-slide { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; -} -/* Auto Height */ -.swiper-container-autoheight, -.swiper-container-autoheight .swiper-slide { - height: auto; -} -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-transition-property: -webkit-transform, height; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform, height; -} -/* a11y */ -.swiper-container .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} -/* Arrows */ -.swiper-button-prev, -.swiper-button-next { - position: absolute; - top: 50%; - width: 27px; - height: 44px; - margin-top: -22px; - z-index: 10; - cursor: pointer; - -moz-background-size: 27px 44px; - -webkit-background-size: 27px 44px; - background-size: 27px 44px; - background-position: center; - background-repeat: no-repeat; -} -.swiper-button-prev.swiper-button-disabled, -.swiper-button-next.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; -} -.swiper-button-prev, -.swiper-container-rtl .swiper-button-next { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - left: 10px; - right: auto; -} -.swiper-button-next, -.swiper-container-rtl .swiper-button-prev { - background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E"); - right: 10px; - left: auto; -} -/* Pagination Styles */ -.swiper-pagination { - position: absolute; - text-align: center; - -webkit-transition: 300ms; - -moz-transition: 300ms; - -o-transition: 300ms; - transition: 300ms; - -webkit-transform: translate3d(0, 0, 0); - -ms-transform: translate3d(0, 0, 0); - -o-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - z-index: 10; -} -.swiper-pagination.swiper-pagination-hidden { - opacity: 0; -} -/* Common Styles */ -.swiper-pagination-fraction, -.swiper-pagination-custom, -.swiper-container-horizontal > .swiper-pagination-bullets { - bottom: 10px; - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullet { - width: 8px; - height: 8px; - display: inline-block; - border-radius: 100%; - background: #000; - opacity: 0.2; -} -button.swiper-pagination-bullet { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; -} -.swiper-pagination-clickable .swiper-pagination-bullet { - cursor: pointer; -} -.swiper-pagination-bullet-active { - opacity: 1; - background: #007aff; -} -.swiper-container-vertical > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform: translate3d(0px, -50%, 0); - -moz-transform: translate3d(0px, -50%, 0); - -o-transform: translate(0px, -50%); - -ms-transform: translate3d(0px, -50%, 0); - transform: translate3d(0px, -50%, 0); -} -.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 5px 0; - display: block; -} -.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { - margin: 0 5px; -} -/* Progress */ -.swiper-pagination-progress { - background: rgba(0, 0, 0, 0.25); - position: absolute; -} -.swiper-pagination-progress .swiper-pagination-progressbar { - background: #007aff; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: left top; - -moz-transform-origin: left top; - -ms-transform-origin: left top; - -o-transform-origin: left top; - transform-origin: left top; -} -.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - -moz-transform-origin: right top; - -ms-transform-origin: right top; - -o-transform-origin: right top; - transform-origin: right top; -} -.swiper-container-horizontal > .swiper-pagination-progress { - width: 100%; - height: 4px; - left: 0; - top: 0; -} -.swiper-container-vertical > .swiper-pagination-progress { - width: 4px; - height: 100%; - left: 0; - top: 0; -} -/* 3D Container */ -.swiper-container-3d { - -webkit-perspective: 1200px; - -moz-perspective: 1200px; - -o-perspective: 1200px; - perspective: 1200px; -} -.swiper-container-3d .swiper-wrapper, -.swiper-container-3d .swiper-slide, -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom, -.swiper-container-3d .swiper-cube-shadow { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.swiper-container-3d .swiper-slide-shadow-left, -.swiper-container-3d .swiper-slide-shadow-right, -.swiper-container-3d .swiper-slide-shadow-top, -.swiper-container-3d .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; -} -.swiper-container-3d .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -.swiper-container-3d .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0))); - /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Opera 11.10-12.00 */ - background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); - /* Firefox 16+, IE10, Opera 12.50+ */ -} -/* Coverflow */ -.swiper-container-coverflow .swiper-wrapper, -.swiper-container-flip .swiper-wrapper { - /* Windows 8 IE 10 fix */ - -ms-perspective: 1200px; -} -/* Cube + Flip */ -.swiper-container-cube, -.swiper-container-flip { - overflow: visible; -} -.swiper-container-cube .swiper-slide, -.swiper-container-flip .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; -} -.swiper-container-cube .swiper-slide .swiper-slide, -.swiper-container-flip .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-flip .swiper-slide-active, -.swiper-container-cube .swiper-slide-active .swiper-slide-active, -.swiper-container-flip .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-container-cube .swiper-slide-shadow-top, -.swiper-container-flip .swiper-slide-shadow-top, -.swiper-container-cube .swiper-slide-shadow-bottom, -.swiper-container-flip .swiper-slide-shadow-bottom, -.swiper-container-cube .swiper-slide-shadow-left, -.swiper-container-flip .swiper-slide-shadow-left, -.swiper-container-cube .swiper-slide-shadow-right, -.swiper-container-flip .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; -} -/* Cube */ -.swiper-container-cube .swiper-slide { - visibility: hidden; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; -} -.swiper-container-cube.swiper-container-rtl .swiper-slide { - -webkit-transform-origin: 100% 0; - -moz-transform-origin: 100% 0; - -ms-transform-origin: 100% 0; - transform-origin: 100% 0; -} -.swiper-container-cube .swiper-slide-active, -.swiper-container-cube .swiper-slide-next, -.swiper-container-cube .swiper-slide-prev, -.swiper-container-cube .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; -} -.swiper-container-cube .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - background: #000; - opacity: 0.6; - -webkit-filter: blur(50px); - filter: blur(50px); - z-index: 0; -} -/* Fade */ -.swiper-container-fade.swiper-container-free-mode .swiper-slide { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.swiper-container-fade .swiper-slide { - pointer-events: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; -} -.swiper-container-fade .swiper-slide .swiper-slide { - pointer-events: none; -} -.swiper-container-fade .swiper-slide-active, -.swiper-container-fade .swiper-slide-active .swiper-slide-active { - pointer-events: auto; -} -.swiper-zoom-container { - width: 100%; - height: 100%; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -moz-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -moz-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - text-align: center; -} -.swiper-zoom-container > img, -.swiper-zoom-container > svg, -.swiper-zoom-container > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; -} -/* Scrollbar */ -.swiper-scrollbar { - border-radius: 10px; - position: relative; - -ms-touch-action: none; - background: rgba(0, 0, 0, 0.1); -} -.swiper-container-horizontal > .swiper-scrollbar { - position: absolute; - left: 1%; - bottom: 3px; - z-index: 50; - height: 5px; - width: 98%; -} -.swiper-container-vertical > .swiper-scrollbar { - position: absolute; - right: 3px; - top: 1%; - z-index: 50; - width: 5px; - height: 98%; -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: rgba(0, 0, 0, 0.5); - border-radius: 10px; - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -/* Preloader */ -.swiper-slide .preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; -} -/* === Photo Browser === */ -.photo-browser { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11500; -} -body > .photo-browser, -.framework7-root > .photo-browser { - opacity: 0; - display: none; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -body > .photo-browser.photo-browser-in, -.framework7-root > .photo-browser.photo-browser-in { - display: block; - -webkit-animation: photoBrowserIn 400ms forwards; - animation: photoBrowserIn 400ms forwards; -} -body > .photo-browser.photo-browser-out, -.framework7-root > .photo-browser.photo-browser-out { - display: block; - -webkit-animation: photoBrowserOut 400ms forwards; - animation: photoBrowserOut 400ms forwards; -} -html.with-statusbar-overlay body > .photo-browser, -html.with-statusbar-overlay .framework7-root > .photo-browser { - height: -webkit-calc(100% - 20px); - height: calc(100% - 20px); - top: 20px; -} -.popup > .photo-browser .navbar, -body > .photo-browser .navbar, -.framework7-root > .photo-browser .navbar, -.popup > .photo-browser .toolbar, -body > .photo-browser .toolbar, -.framework7-root > .photo-browser .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.photo-browser .page[data-page="photo-browser-slides"] { - background: none; -} -.photo-browser-popup { - background: none; -} -.photo-browser .navbar, -.views .view[data-page="photo-browser-slides"] .navbar, -.photo-browser .toolbar, -.views .view[data-page="photo-browser-slides"] .toolbar { - background: rgba(33, 150, 243, 0.95); - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .navbar, -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .toolbar { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"] .toolbar, -.photo-browser .page[data-page="photo-browser-slides"] .toolbar { - bottom: 0; - top: auto; -} -.photo-browser-exposed .navbar, -.photo-browser-exposed .toolbar { - opacity: 0; - visibility: hidden; - pointer-events: none; -} -.photo-browser-exposed .photo-browser-swiper-container { - background: #000; -} -.photo-browser-of { - margin: 0 5px; -} -.photo-browser-captions { - pointer-events: none; - position: absolute; - left: 0; - width: 100%; - bottom: 0; - z-index: 10; - opacity: 1; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-captions.photo-browser-captions-exposed { - opacity: 0; -} -.toolbar ~ .photo-browser-captions { - bottom: 48px; - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-exposed .toolbar ~ .photo-browser-captions { - -webkit-transform: translate3d(0, 48px, 0); - transform: translate3d(0, 48px, 0); -} -.toolbar ~ .photo-browser-captions.photo-browser-captions-exposed { - -webkit-transform: translate3d(0, 0px, 0); - transform: translate3d(0, 0px, 0); -} -.photo-browser-caption { - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - position: absolute; - bottom: 0; - left: 0; - opacity: 0; - padding: 4px 5px; - width: 100%; - text-align: center; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-caption:empty { - display: none; -} -.photo-browser-caption.photo-browser-caption-active { - opacity: 1; -} -.photo-browser-captions-light .photo-browser-caption { - background: rgba(255, 255, 255, 0.8); -} -.photo-browser-captions-dark .photo-browser-caption { - color: #fff; -} -.photo-browser-exposed .photo-browser-caption { - color: #fff; - background: rgba(0, 0, 0, 0.8); -} -.photo-browser-swiper-container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: #fff; - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-swiper-wrapper { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-link-inactive { - opacity: 0.3; -} -.photo-browser-slide { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-flex: 0; - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - box-sizing: border-box; -} -.photo-browser-slide.transitioning { - -webkit-transition-duration: 400ms; - transition-duration: 400ms; -} -.photo-browser-slide span.swiper-zoom-container { - display: none; -} -.photo-browser-slide img { - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - display: none; -} -.photo-browser-slide.swiper-slide-active span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-next span.swiper-zoom-container, -.photo-browser-slide.swiper-slide-prev span.swiper-zoom-container { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.photo-browser-slide.swiper-slide-active img, -.photo-browser-slide.swiper-slide-next img, -.photo-browser-slide.swiper-slide-prev img { - display: inline; -} -.photo-browser-slide.swiper-slide-active.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-next.photo-browser-slide-lazy .preloader, -.photo-browser-slide.swiper-slide-prev.photo-browser-slide-lazy .preloader { - display: block; -} -.photo-browser-slide iframe { - width: 100%; - height: 100%; -} -.photo-browser-slide .preloader { - display: none; - position: absolute; - width: 42px; - height: 42px; - margin-left: -21px; - margin-top: -21px; - left: 50%; - top: 50%; -} -.photo-browser.photo-browser-dark .navbar, -.photo-browser.photo-browser-dark .toolbar { - background: rgba(30, 30, 30, 0.8); - color: #fff; -} -.photo-browser.photo-browser-dark .navbar:before, -.photo-browser.photo-browser-dark .toolbar:before { - display: none; -} -.photo-browser.photo-browser-dark .navbar:after, -.photo-browser.photo-browser-dark .toolbar:after { - display: none; -} -.photo-browser.photo-browser-dark .navbar a, -.photo-browser.photo-browser-dark .toolbar a { - color: #fff; -} -.photo-browser.photo-browser-dark .photo-browser-swiper-container { - background: #000; -} -@-webkit-keyframes photoBrowserIn { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@keyframes photoBrowserIn { - 0% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } - 100% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } -} -@-webkit-keyframes photoBrowserOut { - 0% { - -webkit-transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - -webkit-transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -@keyframes photoBrowserOut { - 0% { - transform: translate3d(0, 0, 0) scale(1); - opacity: 1; - } - 100% { - transform: translate3d(0, 0, 0) scale(0.5); - opacity: 0; - } -} -/* === Columns Picker === */ -.picker-columns { - width: 100%; - height: 260px; - z-index: 11500; -} -.picker-columns.picker-modal-inline { - height: 200px; -} -@media (orientation: landscape) and (max-height: 415px) { - .picker-columns:not(.picker-modal-inline) { - height: 200px; - } -} -.popover.popover-picker-columns { - width: 280px; -} -.popover.popover-picker-columns .toolbar { - border-radius: 2px 2px 0 0; -} -.picker-items { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - padding: 0; - text-align: right; - font-size: 20px; - -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); - -webkit-mask-box-image: linear-gradient(to top, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); -} -.picker-items-col { - overflow: hidden; - position: relative; - max-height: 100%; -} -.picker-items-col.picker-items-col-left { - text-align: left; -} -.picker-items-col.picker-items-col-center { - text-align: center; -} -.picker-items-col.picker-items-col-right { - text-align: right; -} -.picker-items-col.picker-items-col-divider { - color: rgba(0, 0, 0, 0.87); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.picker-items-col-wrapper { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.picker-item { - height: 36px; - line-height: 36px; - padding: 0 10px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - color: rgba(0, 0, 0, 0.54); - left: 0; - top: 0; - width: 100%; - box-sizing: border-box; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-items-col-absolute .picker-item { - position: absolute; -} -.picker-item.picker-item-far { - pointer-events: none; -} -.picker-item.picker-selected { - color: rgba(0, 0, 0, 0.87); - -webkit-transform: translate3d(0, 0, 0) rotateX(0deg); - transform: translate3d(0, 0, 0) rotateX(0deg); -} -.picker-center-highlight { - height: 36px; - box-sizing: border-box; - position: absolute; - left: 0; - width: 100%; - top: 50%; - margin-top: -18px; - pointer-events: none; -} -.picker-center-highlight:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.15); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 0%; - transform-origin: 50% 0%; -} -html.pixel-ratio-2 .picker-center-highlight:before { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:before { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-center-highlight:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: rgba(0, 0, 0, 0.15); - display: block; - z-index: 15; - -webkit-transform-origin: 50% 100%; - transform-origin: 50% 100%; -} -html.pixel-ratio-2 .picker-center-highlight:after { - -webkit-transform: scaleY(0.5); - transform: scaleY(0.5); -} -html.pixel-ratio-3 .picker-center-highlight:after { - -webkit-transform: scaleY(0.33); - transform: scaleY(0.33); -} -.picker-3d .picker-items { - overflow: hidden; - -webkit-perspective: 1200px; - perspective: 1200px; -} -.picker-3d .picker-items-col, -.picker-3d .picker-items-col-wrapper, -.picker-3d .picker-item { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -.picker-3d .picker-items-col { - overflow: visible; -} -.picker-3d .picker-item { - -webkit-transform-origin: center center -110px; - transform-origin: center center -110px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -/* === Calendar === */ -.picker-calendar { - background: #fff; - height: 420px; - overflow: hidden; - bottom: auto; - width: 90%; - left: 50%; - top: 50%; - min-width: 300px; - max-width: 380px; - -webkit-transform: translate3d(-50%, 100%, 0); - transform: translate3d(-50%, 100%, 0); - box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22); -} -@media (orientation: landscape) and (max-height: 460px) { - .picker-calendar:not(.picker-modal-inline) { - height: -webkit-calc(100% - 40px); - height: calc(100% - 40px); - } -} -.popover-picker-calendar .picker-calendar { - height: 420px; -} -.picker-calendar .picker-modal-inner { - overflow: hidden; -} -.picker-calendar.modal-in { - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); -} -.picker-calendar.modal-out { - -webkit-transform: translate3d(-50%, 100%, 0); - transform: translate3d(-50%, 100%, 0); -} -.picker-calendar.picker-modal-inline { - height: 300px; -} -.picker-calendar.picker-modal-inline, -.popover-picker-calendar .picker-calendar { - -webkit-transform: translate3d(0%, 0%, 0); - transform: translate3d(0%, 0%, 0); - width: auto; - max-width: none; - left: 0; - top: 0; - box-shadow: none; -} -.picker-calendar.picker-modal { - z-index: 12500; -} -.popover.popover-picker-calendar { - width: 320px; -} -.picker-calendar-selected-date { - line-height: 48px; - color: #fff; - padding: 0 24px; - font-size: 20px; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} -.picker-calendar-week-days { - height: 14.28571429%; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - font-size: 12px; - box-sizing: border-box; - position: relative; - color: rgba(0, 0, 0, 0.54); -} -.picker-calendar-week-days .picker-calendar-week-day { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - text-align: center; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; -} -.picker-calendar-week-days + .picker-calendar-months { - height: -webkit-calc(100% - 100% / 7); - height: -moz-calc(100% - 100% / 7); - height: calc(100% - 100% / 7); -} -.picker-calendar-months { - width: 100%; - height: 100%; - overflow: hidden; - position: relative; -} -.picker-calendar-months-wrapper { - position: relative; - width: 100%; - height: 100%; - -webkit-transition-duration: 300ms; - transition-duration: 300ms; -} -.picker-calendar-month { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.picker-calendar-row { - height: 16.66666667%; - height: -webkit-calc(100% / 6); - height: -moz-calc(100% / 6); - height: calc(100% / 6); - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - width: 100%; - position: relative; -} -.picker-calendar-day { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - box-sizing: border-box; - width: 14.28571429%; - width: -webkit-calc(100% / 7); - width: -moz-calc(100% / 7); - width: calc(100% / 7); - text-align: center; - font-size: 12px; - cursor: pointer; -} -.picker-calendar-day.picker-calendar-day-prev, -.picker-calendar-day.picker-calendar-day-next { - color: #b8b8b8; -} -.picker-calendar-day.picker-calendar-day-disabled { - color: #d4d4d4; - cursor: auto; -} -.picker-calendar-day.picker-calendar-day-today span { - color: #2196f3; -} -.picker-calendar-day.picker-calendar-day-selected span { - background: #2196f3; - color: #fff; -} -.picker-calendar-range .picker-calendar-day.picker-calendar-day-selected span { - border-radius: 0; - width: 100%; -} -.picker-calendar-day.picker-calendar-day-has-events span:after { - content: ''; - width: 4px; - height: 4px; - border-radius: 50%; - background: #2196f3; - position: absolute; - margin-left: -2px; - left: 50%; - bottom: 2px; -} -.picker-calendar-day.picker-calendar-day-has-events.picker-calendar-day-selected span:after { - display: none; -} -.picker-calendar-day span { - display: inline-block; - border-radius: 100%; - width: 36px; - height: 36px; - line-height: 36px; - position: relative; -} -.picker-calendar-month-picker, -.picker-calendar-year-picker { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; - width: 50%; - max-width: 200px; - -webkit-box-flex: 10; - -webkit-flex-shrink: 10; - -ms-flex: 0 10 auto; - flex-shrink: 10; -} -.picker-calendar-month-picker span, -.picker-calendar-year-picker span { - -webkit-box-flex: 1; - -webkit-flex-shrink: 1; - -ms-flex: 0 1 auto; - flex-shrink: 1; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - width: 100%; - text-align: center; -} -/* === Notifications === */ -.notifications { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - z-index: 10900; - color: #fff; - font-size: 14px; - margin: 0; - border: none; - display: none; - box-sizing: border-box; - max-height: 100%; - overflow: hidden; - -webkit-overflow-scrolling: touch; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-perspective: 1200px; - perspective: 1200px; -} -.notifications.list-block > ul { - max-width: 568px; - background: #323232; - margin: 0 auto; -} -.notifications.list-block > ul:before { - display: none; -} -.notifications.list-block > ul:after { - display: none; -} -.notifications .item-content { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - padding-left: 24px; -} -.notifications .item-title { - font-size: 14px; - font-weight: normal; - white-space: normal; - padding-top: 14px; - padding-bottom: 14px; -} -.notifications .item-inner { - padding-right: 24px; - padding-top: 0; - padding-bottom: 0; -} -.notifications .item-inner:after { - display: none; -} -.notifications .item-after { - max-height: none; - margin-left: 16px; -} -.notifications .button.close-notification { - color: #48aeff; -} -.notifications .notification-item { - margin: 0 auto; - -webkit-transition-duration: 450ms; - transition-duration: 450ms; - -webkit-transition-delay: 100ms; - transition-delay: 100ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; -} -.notifications .notification-hidden { - opacity: 0; - -webkit-transition-delay: 0ms; - transition-delay: 0ms; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); -} -.notifications .notification-item-removing { - -webkit-transition-delay: 0ms; - transition-delay: 0ms; -} -@media (min-width: 569px) { - .notifications.list-block > ul { - border-radius: 2px; - width: auto; - min-width: 288px; - } -} -/* === Login screen === */ -.login-screen-content { - background: #fff; -} -.login-screen-content .login-screen-title, -.login-screen-content .list-block, -.login-screen-content .content-block, -.login-screen-content .list-block-label { - max-width: 480px; - margin: 24px auto; -} -.login-screen-content .list-block ul { - background: none; -} -.login-screen-content .list-block ul:before { - display: none; -} -.login-screen-content .list-block ul:after { - display: none; -} -.login-screen-content .list-block-label { - text-align: center; -} -.navbar-fixed .page .login-screen-content { - padding-top: 0; -} -.login-screen-title { - text-align: center; - font-size: 34px; -} -/* === Touch ripple === */ -.ripple, -a.floating-button, -.floating-button > a, -a.link, -a.item-link, -.button, -.modal-button, -.tab-link, -.label-radio, -.label-checkbox, -.actions-modal-button, -.speed-dial-buttons a { - -webkit-user-select: none; - user-select: none; -} -.ripple-wave { - left: 0; - top: 0; - position: absolute !important; - border-radius: 50%; - pointer-events: none; - z-index: -1; - background: rgba(0, 0, 0, 0.1); - padding: 0; - margin: 0; - font-size: 0; - -webkit-transform: translate3d(0px, 0px, 0) scale(0); - transform: translate3d(0px, 0px, 0) scale(0); - -webkit-transition-duration: 1400ms; - transition-duration: 1400ms; -} -.ripple-wave.ripple-wave-fill { - -webkit-transition-duration: 300ms; - transition-duration: 300ms; - opacity: 0.35; -} -.ripple-wave.ripple-wave-out { - -webkit-transition-duration: 600ms; - transition-duration: 600ms; - opacity: 0; -} -.button-fill .ripple-wave, -.picker-calendar-day .ripple-wave { - z-index: 1; -} -.button-fill .ripple-wave, -.navbar .ripple-wave, -.toolbar .ripple-wave, -.subnavbar .ripple-wave, -.searchbar .ripple-wave, -.notifications .ripple-wave, -.floating-button .ripple-wave, -.speed-dial-buttons a .ripple-wave { - background: rgba(255, 255, 255, 0.3); -} -.messagebar .ripple-wave { - background: rgba(0, 0, 0, 0.1); -} -/* === Disabled elements === */ -.disabled, -[disabled] { - opacity: 0.55; - pointer-events: none; -} -.disabled .disabled, -.disabled [disabled], -[disabled] .disabled, -[disabled] [disabled] { - opacity: 1; -} diff --git a/vendor/framework7/src/less/css/preloader.css b/vendor/framework7/src/less/css/preloader.css deleted file mode 100644 index daaecfdda..000000000 --- a/vendor/framework7/src/less/css/preloader.css +++ /dev/null @@ -1,325 +0,0 @@ -/* === - Preloader - By Rudi Theunissen (https://github.com/rtheunissen/md-preloader) -=== */ -.preloader { - font-size: 0; - display: inline-block; - width: 32px; - height: 32px; - -webkit-animation: preloader-outer 3300ms linear infinite; - animation: preloader-outer 3300ms linear infinite; -} -.preloader svg { - width: 100%; - height: 100%; - -webkit-animation: preloader-inner 1320ms linear infinite; - animation: preloader-inner 1320ms linear infinite; -} -.preloader svg circle { - fill: none; - stroke: #757575; - stroke-linecap: square; - -webkit-animation: preloader-arc 1320ms cubic-bezier(0.8, 0, 0.4, 0.8) infinite; - animation: preloader-arc 1320ms cubic-bezier(0.8, 0, 0.4, 0.8) infinite; -} -@-webkit-keyframes preloader-outer { - 0% { - -webkit-transform: rotate(0); - } - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes preloader-outer { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } -} -@-webkit-keyframes preloader-inner { - 0% { - -webkit-transform: rotate(-100.8deg); - } - 100% { - -webkit-transform: rotate(0); - } -} -@keyframes preloader-inner { - 0% { - transform: rotate(-100.8deg); - } - 100% { - transform: rotate(0); - } -} -@-webkit-keyframes preloader-arc { - 0% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: 151.55042961px, 210.48670779px; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: -151.55042961px; - } -} -@keyframes preloader-arc { - 0% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: 151.55042961px, 210.48670779px; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 210.48670779px; - stroke-dashoffset: -151.55042961px; - } -} -.preloader-inner { - position: relative; - display: block; - width: 100%; - height: 100%; - -webkit-animation: preloader-inner-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; - animation: preloader-inner-rotate 5.25s cubic-bezier(0.35, 0, 0.25, 1) infinite; -} -.preloader-inner .preloader-inner-gap { - position: absolute; - width: 2px; - left: 50%; - margin-left: -1px; - top: 0; - bottom: 0; - box-sizing: border-box; - border-top: 4px solid #757575; -} -.preloader-inner .preloader-inner-left, -.preloader-inner .preloader-inner-right { - position: absolute; - top: 0; - height: 100%; - width: 50%; - overflow: hidden; -} -.preloader-inner .preloader-inner-half-circle { - position: absolute; - top: 0; - height: 100%; - width: 200%; - box-sizing: border-box; - border: 4px solid #757575; - border-bottom-color: transparent !important; - border-radius: 50%; - -webkit-animation-iteration-count: infinite; - -webkit-animation-duration: 1.3125s; - -webkit-animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); - animation-iteration-count: infinite; - animation-duration: 1.3125s; - animation-timing-function: cubic-bezier(0.35, 0, 0.25, 1); -} -.preloader-white .preloader-inner .preloader-inner-gap, -.preloader-white .preloader-inner .preloader-inner-half-circle { - border-color: #fff; -} -.preloader-inner .preloader-inner-left { - left: 0; -} -.preloader-inner .preloader-inner-left .preloader-inner-half-circle { - left: 0; - border-right-color: transparent !important; - -webkit-animation-name: preloader-left-rotate; - animation-name: preloader-left-rotate; -} -.preloader-inner .preloader-inner-right { - right: 0; -} -.preloader-inner .preloader-inner-right .preloader-inner-half-circle { - right: 0; - border-left-color: transparent !important; - -webkit-animation-name: preloader-right-rotate; - animation-name: preloader-right-rotate; -} -.color-multi .preloader-inner .preloader-inner-left .preloader-inner-half-circle { - -webkit-animation-name: preloader-left-rotate-multicolor; - animation-name: preloader-left-rotate-multicolor; -} -.color-multi .preloader-inner .preloader-inner-right .preloader-inner-half-circle { - -webkit-animation-name: preloader-right-rotate-multicolor; - animation-name: preloader-right-rotate-multicolor; -} -@-webkit-keyframes preloader-left-rotate { - 0%, - 100% { - -webkit-transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - } -} -@keyframes preloader-left-rotate { - 0%, - 100% { - transform: rotate(130deg); - } - 50% { - transform: rotate(-5deg); - } -} -@-webkit-keyframes preloader-right-rotate { - 0%, - 100% { - -webkit-transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - } -} -@keyframes preloader-right-rotate { - 0%, - 100% { - transform: rotate(-130deg); - } - 50% { - transform: rotate(5deg); - } -} -@-webkit-keyframes preloader-inner-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - } - 100% { - -webkit-transform: rotate(1080deg); - } -} -@keyframes preloader-inner-rotate { - 12.5% { - transform: rotate(135deg); - } - 25% { - transform: rotate(270deg); - } - 37.5% { - transform: rotate(405deg); - } - 50% { - transform: rotate(540deg); - } - 62.5% { - transform: rotate(675deg); - } - 75% { - transform: rotate(810deg); - } - 87.5% { - transform: rotate(945deg); - } - 100% { - transform: rotate(1080deg); - } -} -@-webkit-keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - -webkit-transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@-webkit-keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - -webkit-transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} -@keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} diff --git a/vendor/framework7/src/less/ios/_colors-vars.less b/vendor/framework7/src/less/ios/_colors-vars.less deleted file mode 100644 index a496127de..000000000 --- a/vendor/framework7/src/less/ios/_colors-vars.less +++ /dev/null @@ -1,12 +0,0 @@ -@blue:#007aff; -@red: #ff3b30; -@white: #ffffff; -@black: #000000; -@lightblue: #5ac8fa; -@yellow: #ffcc00; -@orange: #ff9500; -@pink: #ff2d55; -@green: #4cd964; -@gray: #8e8e93; - -@themeColor: @blue; \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/_mixins.less b/vendor/framework7/src/less/ios/_mixins.less deleted file mode 100644 index 6ee481693..000000000 --- a/vendor/framework7/src/less/ios/_mixins.less +++ /dev/null @@ -1,302 +0,0 @@ -.transition(@d) { - -webkit-transition-duration: @d; - transition-duration: @d; -} -.delay(@d) { - -webkit-transition-delay: @d; - transition-delay: @d; -} -.transform(@t) { - -webkit-transform: @t; - transform: @t; -} -.transform-origin(@to) { - -webkit-transform-origin: @to; - transform-origin: @to; -} -.translate3d(@x:0, @y:0, @z:0) { - -webkit-transform: translate3d(@x,@y,@z); - transform: translate3d(@x,@y,@z); -} -.animation(@a) { - -webkit-animation: @a; - animation: @a; -} -.scrollable(){ - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.flexbox() { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.flexbox-inline() { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; -} -.flex-wrap(@fw) when (@fw = nowrap) { - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.flex-wrap(@fw) when (@fw = wrap) { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} -.flex-wrap(@fw) when not (@fw = wrap) and not (@fw = nowrap) { - -webkit-flex-wrap: @fw; - -ms-flex-wrap: @fw; - flex-wrap: @fw; -} -.flex-shrink(@fs) { - -webkit-flex-shrink: @fs; - -ms-flex: 0 @fs auto; - flex-shrink: @fs; -} -.justify-content(@jc) when (@jc = flex-start) { - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; -} -.justify-content(@jc) when (@jc = flex-end) { - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} -.justify-content(@jc) when (@jc = space-between) { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.justify-content(@jc) when not (@jc = flex-start) and not (@jc = flex-end) and not (@jc = space-between) { - -webkit-box-pack: @jc; - -ms-flex-pack: @jc; - -webkit-justify-content: @jc; - justify-content: @jc; -} -.align-items(@ai) when (@ai = flex-start) { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.align-items(@ai) when (@ai = flex-end) { - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.align-items(@ai) when not (@ai = flex-start) and not (@ai = flex-end) { - -webkit-box-align: @ai; - -ms-flex-align: @ai; - -webkit-align-items: @ai; - align-items: @ai; -} -.align-content(@ai) { - -ms-flex-line-pack: @ai; - -webkit-align-content: @ai; - align-content: @ai; -} -.align-self(@as) { - -ms-flex-item-align: @as; - -webkit-align-self: @as; - align-self: @as; -} -.clearfix() { - &:before, - &:after { - content: " "; - display: table; - } - &:after { - clear: both; - } -} -.hairline(@position, @color) when (@position = top) { - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(50% 0%); - html.pixel-ratio-2 & { - .transform(scaleY(0.5)); - } - html.pixel-ratio-3 & { - .transform(scaleY(0.33)); - } - } -} -.hairline(@position, @color) when (@position = left) { - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - width: 1px; - height: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(0% 50%); - html.pixel-ratio-2 & { - .transform(scaleX(0.5)); - } - html.pixel-ratio-3 & { - .transform(scaleX(0.33)); - } - } -} -.hairline(@position, @color) when (@position = bottom) { - &:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(50% 100%); - html.pixel-ratio-2 & { - .transform(scaleY(0.5)); - } - html.pixel-ratio-3 & { - .transform(scaleY(0.33)); - } - } -} -.hairline(@position, @color) when (@position = right) { - &:after { - content: ''; - position: absolute; - right: 0; - top: 0; - left: auto; - bottom: auto; - width: 1px; - height: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(100% 50%); - html.pixel-ratio-2 & { - .transform(scaleX(0.5)); - } - html.pixel-ratio-3 & { - .transform(scaleX(0.33)); - } - } -} -// For right and bottom -.hairline-remove(@position) when not (@position = left) and not (@position = top) { - &:after { - display: none; - } -} -// For left and top -.hairline-remove(@position) when not (@position = right) and not (@position = bottom) { - &:before { - display: none; - } -} -// For right and bottom -.hairline-color(@position, @color) when not (@position = left) and not (@position = top) { - &:after { - background-color: @color; - } -} -// For left and top -.hairline-color(@position, @color) when not (@position = right) and not (@position = bottom) { - &:before { - background-color: @color; - } -} - -// Encoded SVG Background -.encoded-svg-background(@svg) { - @url: `encodeURIComponent(@{svg})`; - background-image: url("data:image/svg+xml;charset=utf-8,@{url}"); -} - -// Backdrop Blur -.backdrop-blur(@blur) { - -webkit-backdrop-filter: blur(@blur); - backdrop-filter: blur(@blur); -} - -// Preserve3D -.preserve3d() { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} - -// No Scrollbar -.no-scrollbar() { - &::-webkit-scrollbar { - display: none !important; - width: 0 !important; - height: 0 !important; - -webkit-appearance: none; - opacity: 0 !important; - } -} -// Bars Input -.bars-input() { - box-sizing: border-box; - width: 100%; - height: 28px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 5px; - font-family: inherit; - color:#000; - font-size: 14px; - font-weight: normal; - padding: 0 8px; - background-color: #fff; -} -.no-hairlines() { - &.no-hairlines, &.no-hairlines ul, &.no-hairlines .content-block-inner { - .hairline-remove(top); - .hairline-remove(bottom); - } -} -.no-hairlines-between() { - &.no-hairlines-between { - .item-inner, .list-button, .item-divider, .list-group-title, .list-group-title { - .hairline-remove(bottom); - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/accordion.less b/vendor/framework7/src/less/ios/accordion.less deleted file mode 100644 index 31511d939..000000000 --- a/vendor/framework7/src/less/ios/accordion.less +++ /dev/null @@ -1,72 +0,0 @@ -/* === Accordion === */ -.list-block { - .accordion-item-toggle { - cursor: pointer; - .transition(300ms); - .item-inner { - padding-right: 35px; - background: no-repeat -webkit-calc(~"100% - 15px") center; - background: no-repeat calc(~"100% - 15px") center; - .encoded-svg-background(""); - background-size: 10px 20px; - - } - html:not(.watch-active-state) &:active, &.active-state { - .transition(0ms); - background-color: #d9d9d9; - > .item-inner { - .hairline-color(bottom, transparent); - } - } - } - .accordion-item-toggle, .accordion-item > .item-link { - .item-inner { - .transition(300ms); - &:after { - .transition(300ms); - } - -webkit-transition-property: background-color; - transition-property: background-color; - } - } - &:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, - &:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, - &.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, - &.media-list .accordion-item-expanded > .item-link .item-title-row, - .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, - .accordion-item-expanded.media-item > .item-link .item-title-row, - { - .encoded-svg-background(""); - background-size: 20px 20px; - } - .accordion-item-expanded { - .accordion-item-toggle .item-inner, > .item-link .item-inner { - .hairline-color(bottom, transparent); - } - } - - - .accordion-item { - .content-block, .list-block { - margin-top: 0; - margin-bottom: 0; - } - ul { - padding-left: 0; - } - } -} -.accordion-item-content { - position: relative; - overflow: hidden; - height: 0; - font-size: 14px; - .transition(300ms); - .transform(translate3d(0,0,0)); - .accordion-item-expanded > &{ - height: auto; - } - html.android-4 & { - .transform(none); - } -} diff --git a/vendor/framework7/src/less/ios/autocomplete.less b/vendor/framework7/src/less/ios/autocomplete.less deleted file mode 100644 index 19a803854..000000000 --- a/vendor/framework7/src/less/ios/autocomplete.less +++ /dev/null @@ -1,80 +0,0 @@ -/* === Autocomplete === */ -.autocomplete-page { - .autocomplete-found { - display: block; - } - .autocomplete-not-found { - display: none; - } - .autocomplete-values { - display: block; - } - .list-block ul:empty { - display: none; - } -} -.autocomplete-preloader:not(.autocomplete-preloader-visible) { - -webkit-animation: none; - animation: none; - visibility: hidden; -} - -.autocomplete-dropdown { - background: #fff; - box-sizing: border-box; - position: absolute; - z-index: 500; - box-shadow: 0px 3px 3px rgba(0,0,0,0.2); - width: 100%; - left: 0; - .autocomplete-dropdown-inner { - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; - height: 100%; - z-index: 1; - } - .autocomplete-preloader { - display: none; - position: absolute; - right: 15px; - bottom: 100%; - margin-bottom: 12px; - width: 20px; - height: 20px; - } - .autocomplete-preloader-visible { - display: block; - } - .autocomplete-dropdown-placeholder { - color: #a9a9a9; - } - .list-block { - margin: 0; - ul { - .hairline-remove(top); - .hairline-remove(bottom); - background: none !important; - } - b { - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } - } -} -.list-block { - .item-content-dropdown-expand { - .item-title.label { - width: 0; - .flex-shrink(10); - + .item-input { - margin-left: 0; - } - } - .item-input { - width: 100%; - } - } -} diff --git a/vendor/framework7/src/less/ios/badges.less b/vendor/framework7/src/less/ios/badges.less deleted file mode 100644 index 1844e9f07..000000000 --- a/vendor/framework7/src/less/ios/badges.less +++ /dev/null @@ -1,28 +0,0 @@ -.badge { - font-size: 13px; - display: inline-block; - color:#fff; - background: #8e8e93; - border-radius: 20px; - padding: 0px 6px; - height: 20px; - line-height: 20px; - box-sizing: border-box; - text-align: center; - .item-after & { - min-width: 20px; - } - .icon & { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 16px; - height: 16px; - border-radius: 16px; - padding: 0px 4px; - min-width: 16px; - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; - } -} diff --git a/vendor/framework7/src/less/ios/calendar.less b/vendor/framework7/src/less/ios/calendar.less deleted file mode 100644 index b5aad31a9..000000000 --- a/vendor/framework7/src/less/ios/calendar.less +++ /dev/null @@ -1,188 +0,0 @@ -/* === Calendar === */ -.picker-calendar { - background: #fff; - height: 320px; - width: 100%; - overflow: hidden; - @media (orientation: landscape) and (max-height: 415px) { - &:not(.picker-modal-inline) { - height: 220px; - } - } - .picker-modal-inner { - overflow: hidden; - } - .popover-picker-calendar & { - height: 320px; - } -} -.popover.popover-picker-calendar { - width: 320px; -} - -.picker-calendar-week-days { - height: 18px; - background: #f7f7f8; - .flexbox(); - .hairline(bottom, #c4c4c4); - font-size: 11px; - box-sizing: border-box; - position: relative; - .picker-calendar-week-day { - .flex-shrink(1); - width: 100% / 7; - width: ~"-webkit-calc(100% / 7)"; - width: ~"-moz-calc(100% / 7)"; - width: ~"calc(100% / 7)"; - line-height: 17px; - text-align: center; - } - + .picker-calendar-months { - height: ~"-webkit-calc(100% - 18px)"; - height: ~"-moz-calc(100% - 18px)"; - height: ~"calc(100% - 18px)"; - } -} -.picker-calendar-months { - width: 100%; - height: 100%; - overflow: hidden; - position: relative; -} -.picker-calendar-months-wrapper { - position: relative; - width: 100%; - height: 100%; - .transition(300ms); -} -.picker-calendar-month { - .flexbox(); - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.picker-calendar-row { - height: 100% / 6; - height: ~"-webkit-calc(100% / 6)"; - height: ~"-moz-calc(100% / 6)"; - height: ~"calc(100% / 6)"; - .flexbox(); - .flex-shrink(1); - width: 100%; - position: relative; - .hairline(bottom, #ccc); - &:last-child { - .hairline-remove(bottom); - } -} -.picker-calendar-day { - .flex-shrink(1); - .flexbox(); - .justify-content(center); - .align-items(center); - box-sizing: border-box; - width: 100% / 7; - width: ~"-webkit-calc(100% / 7)"; - width: ~"-moz-calc(100% / 7)"; - width: ~"calc(100% / 7)"; - text-align: center; - color:#000; - font-size: 15px; - cursor: pointer; - z-index: 20; - height: 100%; - &.picker-calendar-day-weekend { - } - &.picker-calendar-day-prev, &.picker-calendar-day-next { - color: #b8b8b8; - } - .picker-calendar-month-prev &, .picker-calendar-month-next & { - - } - &.picker-calendar-day-disabled { - color: #d4d4d4; - cursor: auto; - } - &.picker-calendar-day-today span { - background: #e3e3e3; - } - &.picker-calendar-day-selected span { - background: @themeColor; - color:#fff; - } - &.picker-calendar-day-has-events span { - &:after { - content: ''; - width: 4px; - height: 4px; - border-radius: 50%; - background: #ccc; - position: absolute; - margin-left: -2px; - left: 50%; - bottom: 1px; - } - } - &.picker-calendar-day-has-events.picker-calendar-day-selected span:after { - display: none; - } - span { - display: inline-block; - border-radius: 100%; - width: 30px; - height: 30px; - line-height: 30px; - position: relative; - - } - .picker-calendar-range &.picker-calendar-day-selected { - .align-items(stretch); - .align-content(stretch); - span { - width: 100%; - border-radius: 0; - height: auto; - text-align: center; - .flexbox(); - .align-items(center); - .justify-content(center); - } - } -} -.picker-calendar-month-picker, .picker-calendar-year-picker { - .flexbox(); - .align-items(center); - .justify-content(space-between); - width: 50%; - max-width: 200px; - .flex-shrink(10); - a.icon-only { - min-width: 36px; - } - span { - .flex-shrink(1); - position: relative; - overflow: hidden; - text-overflow: ellipsis; - } -} -// Inline and popover borders -.popover .picker-calendar, .picker-calendar.picker-modal-inline { - .picker-calendar-week-days { - background: none; - } - .toolbar, .picker-calendar-week-days { - .hairline-remove(top); - .hairline-remove(bottom); - } - .toolbar ~ .picker-modal-inner .picker-calendar-months, .picker-calendar-week-days ~ .picker-calendar-months { - .hairline(top, #c4c4c4); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/cards.less b/vendor/framework7/src/less/ios/cards.less deleted file mode 100644 index 06b1b773f..000000000 --- a/vendor/framework7/src/less/ios/cards.less +++ /dev/null @@ -1,102 +0,0 @@ -/* === Cards === */ -.cards-list, .card .list-block { - ul { - background: none; - } - > ul { - .hairline-remove(top); - .hairline-remove(bottom); - } -} -.card { - background: #fff; - box-shadow: 0px 1px 2px rgba(0,0,0,0.3); - margin: 10px; - position: relative; - border-radius: 2px; - font-size: 14px; - .list-block, .content-block { - margin: 0; - } - .row:not(.no-gutter) .col > & { - margin-left: 0; - margin-right: 0; - } -} -.card-content { - position: relative; -} -.card-content-inner { - padding: 15px; - position: relative; - > p:first-child { - margin-top: 0; - } - > p:last-child { - margin-bottom: 0; - } - > .list-block, >.content-block { - margin: -15px; - } -} -.card-header, .card-footer { - min-height: 44px; - position: relative; - padding: 10px 15px; - box-sizing: border-box; - .flexbox(); - .justify-content(space-between); - .align-items(center); - &[valign="top"] { - .align-items(flex-start); - } - &[valign="bottom"] { - .align-items(flex-end); - } - a.link { - line-height: 44px; - height: 44px; - text-decoration: none; - position: relative; - margin-top: -10px; - margin-bottom: -10px; - .flexbox(); - .justify-content(flex-start); - .align-items(center); - .transition(300ms); - html:not(.watch-active-state) &:active, &.active-state { - opacity: 0.3; - .transition(0ms); - } - i+span, i+i, span+i, span+span { - margin-left: 7px; - } - i.icon { - display: block; - } - } - a.icon-only { - min-width: 44px; - .flexbox(); - .justify-content(center); - .align-items(center); - margin: 0; - } -} -.card-header { - border-radius: 2px 2px 0 0; - font-size: 17px; - .hairline(bottom, #e1e1e1); - &.no-border { - .hairline-remove(bottom); - } -} -.card-footer { - border-radius: 0 0 2px 2px; - color:#6d6d72; - .hairline(top, #e1e1e1); - &.no-border { - .hairline-remove(top); - } - -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/chips.less b/vendor/framework7/src/less/ios/chips.less deleted file mode 100644 index 20b3659e6..000000000 --- a/vendor/framework7/src/less/ios/chips.less +++ /dev/null @@ -1,74 +0,0 @@ -/* === Chips === */ -@chipSize: 23px; -.chip { - font-size: 14px; - font-weight: normal; - color: #fff; - background: rgba(0,0,0,0.37); - display: inline-block; - height: @chipSize; - line-height: @chipSize; - border-radius: 5px; - padding: 0 6px; - box-sizing: border-box; - vertical-align: middle; - .flexbox-inline(); - .align-items(center); - margin: 2px 0; -} -.chip-media { - width: 16px; - height: 16px; - vertical-align: middle; - border-radius: 50%; - text-align: center; - line-height: 16px; - color: #fff; - font-size: 12px; - box-sizing: border-box; - .flex-shrink(0); - .flexbox(); - .align-items(center); - .justify-content(center); - img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - border-radius: 50%; - display: block; - } - + .chip-label { - margin-left: 4px; - } - i.icon { - font-size: 16px; - height: 16px; - } -} -.chip-label { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - .flex-shrink(1); - min-width: 0; -} -.chip-delete { - margin-right: -6px; - width: @chipSize; - height: @chipSize; - text-align: center; - line-height: @chipSize; - cursor: pointer; - .flex-shrink(0); - .encoded-svg-background(""); - background-repeat: no-repeat; - background-position: center; - -webkit-background-size: 13px 13px; - background-size: 13px 13px; - opacity: 0.7; - html:not(.watch-active-state) &:active, &.active-state { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/contacts.less b/vendor/framework7/src/less/ios/contacts.less deleted file mode 100644 index a65615c6f..000000000 --- a/vendor/framework7/src/less/ios/contacts.less +++ /dev/null @@ -1,24 +0,0 @@ -/* === Contacts === */ -.contacts-content { - background: #fff; -} -.contacts-block { - margin: 0; - .list-group-title { - padding: 0 15px; - background: #f7f7f7; - color:#000; - font-weight: 500; - line-height: 22px; - height: 22px; - html.ios-gt-8 & { - font-weight: 600; - } - } - .list-group:first-child ul { - .hairline-remove(top); - } - .list-group:last-child ul { - .hairline-remove(bottom); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/content-block.less b/vendor/framework7/src/less/ios/content-block.less deleted file mode 100644 index c49922440..000000000 --- a/vendor/framework7/src/less/ios/content-block.less +++ /dev/null @@ -1,59 +0,0 @@ -/* === Content Block === */ -@contentBlockBorderColor: #c8c7cc; -@contentBlockColor: #6d6d72; -@contentBlockTitle: @contentBlockColor; -.content-block { - margin: 35px 0; - padding: 0 15px; - color: @contentBlockTitle; - box-sizing: border-box; - .no-hairlines(); -} -.content-block-title { - position: relative; - overflow: hidden; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - text-transform: uppercase; - line-height: 1; - color: @contentBlockColor; - margin: 35px 15px 10px; - + .list-block, + .content-block, +.card { - margin-top: 10px; - } -} -.content-block-inner { - background: #fff; - padding: 10px 15px; - margin-left: -15px; - width: 100%; - position: relative; - .hairline(top, @contentBlockBorderColor); - .hairline(bottom, @contentBlockBorderColor); - color: #000; -} -.content-block.inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; - .content-block-inner { - .hairline-remove(top); - .hairline-remove(bottom); - border-radius: 7px; - } -} -@media all and (min-width:768px) { - .content-block.tablet-inset { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px - } - - .content-block.tablet-inset .content-block-inner { - .hairline-remove(top); - .hairline-remove(bottom); - border-radius: 7px; - } -} diff --git a/vendor/framework7/src/less/ios/disabled.less b/vendor/framework7/src/less/ios/disabled.less deleted file mode 100644 index f480f6a68..000000000 --- a/vendor/framework7/src/less/ios/disabled.less +++ /dev/null @@ -1,8 +0,0 @@ -/* === Disabled elements === */ -.disabled, [disabled] { - opacity: 0.55; - pointer-events: none; - .disabled &, [disabled] & { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/floating-button.less b/vendor/framework7/src/less/ios/floating-button.less deleted file mode 100644 index 1153dbca9..000000000 --- a/vendor/framework7/src/less/ios/floating-button.less +++ /dev/null @@ -1,172 +0,0 @@ -/* === Floating Action Button === */ -.floating-button { - position: absolute; - right: 15px; - bottom: 15px; - width: 50px; - height: 50px; - border-radius: 50%; - z-index: 1500; - background-color: @themeColor; - color:#fff; - overflow: hidden; - .transition(300ms); - .flexbox(); - .align-items(center); - .justify-content(center); - html:not(.watch-active-state) &:active, &.active-state { - .transition(0ms); - background: darken(@themeColor, 8%); - } - .toolbar-fixed &, .toolbar-through &{ - bottom: 15px + 44px; - } - .tabbar-labels-fixed &, .tabbar-labels-through &{ - bottom: 15px + 50px; - @media (min-width: 768px) { - bottom: 15px + 56px; - } - } -} -.floating-button-toolbar, .speed-dial { - position: absolute; - right: 15px; - bottom: 15px; - z-index: 1500; - .toolbar-fixed &, .toolbar-through &{ - bottom: 15px + 44px; - } - .tabbar-labels-fixed &, .tabbar-labels-through &{ - bottom: 15px + 50px; - @media (min-width: 768px) { - bottom: 15px + 56px; - } - } - .floating-button { - right: 0; - bottom: 0; - position: relative; - } -} -// Speed Dial -.speed-dial { - .floating-button { - i { - position: absolute; - left: 50%; - top: 50%; - .transform(translate3d(-50%, -50%, 0) rotate(0deg) scale(1)); - .transition(300ms); - } - i + i { - .transform(translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5)); - opacity: 0; - } - } - &.speed-dial-opened { - .floating-button { - i { - .transform(translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5)); - opacity: 0; - } - i + i { - .transform(translate3d(-50%, -50%, 0) rotate(0deg) scale(1)); - opacity: 1; - } - } - } -} -.speed-dial-buttons { - position: absolute; - width: 40px; - left: 50%; - margin-left: -20px; - bottom: 100%; - margin-bottom: 16px; - .flexbox(); - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -moz-box-orient: vertical; - -moz-box-direction: reverse; - -ms-flex-direction: column-reverse; - -webkit-flex-direction: column-reverse; - flex-direction: column-reverse; - visibility: hidden; - pointer-events: none; - a { - width: 40px; - height: 40px; - opacity: 0; - color: #fff; - border-radius: 50%; - position: relative; - z-index: 1; - overflow: hidden; - background-color: @themeColor; - .transition(300ms); - .flexbox(); - .align-items(center); - .justify-content(center); - .transform(translate3d(0, 8px, 0) scale(0.3)); - .transform-origin(center bottom); - + a { - margin-bottom: 16px; - } - html:not(.watch-active-state) &:active, &.active-state { - .transition(0ms); - background: darken(@themeColor, 8%); - } - } - .speed-dial-opened & { - visibility: visible; - pointer-events: auto; - a { - opacity: 1; - .transform(translate3d(0, 0, 0) scaleY(1)); - // .depth(3); - &:nth-child(2) { - .delay(50ms); - } - &:nth-child(3) { - .delay(100ms); - } - &:nth-child(4) { - .delay(150ms); - } - &:nth-child(5) { - .delay(200ms); - } - &:nth-child(6) { - .delay(250ms); - } - } - } -} - -// Popove Morph -.floating-button-to-popover { - &.floating-button-to-popover { - .transition(300ms); - } - &.floating-button-to-popover-in { - .transition(100ms); - i { - opacity: 0; - .transition(100ms); - } - } - &.floating-button-to-popover-scale { - border-radius: 0; - .transition(300ms); - box-shadow: none; - } - &.floating-button-to-popover-out { - .delay(0ms); - .transition(300ms); - i { - opacity: 1; - .transition(100ms); - .delay(200ms); - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/forms.less b/vendor/framework7/src/less/ios/forms.less deleted file mode 100644 index 4ab329501..000000000 --- a/vendor/framework7/src/less/ios/forms.less +++ /dev/null @@ -1,446 +0,0 @@ -/* === Forms === */ -// Inputs -.list-block { - input[type="text"], input[type="password"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="time"], input[type="number"], select, textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0 0 0 0; - box-shadow: none; - display: block; - padding: 0px; - margin: 0; - width: 100%; - height: 43px; - color: #000; - font-size: 17px; - font-family: inherit; - - } - .item-title.label { - vertical-align: top; - + .item-input { - margin-left: 5px; - } - } - input[type="date"], input[type="datetime-local"] { - line-height: 44px; - } - select { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - } - textarea { - height: 100px; - resize:none; - line-height: 1.4; - padding-top: 8px; - padding-bottom: 7px; - &.resizable { - height: 43px; - } - } - .item-input { - width: 100%; - margin-top: -8px; - margin-bottom: -7px; - -webkit-box-flex:1; - -ms-flex:1; - .flex-shrink(1); - } - .item-title.label { - width: 35%; - .flex-shrink(0); - } -} - -//Switch -.label-switch { - display: inline-block; - vertical-align: middle; - width: 52px; - border-radius: 16px; - box-sizing: border-box; - height: 32px; - position: relative; - cursor: pointer; - .align-self(center); - .checkbox { - width: 52px; - border-radius: 16px; - box-sizing: border-box; - height: 32px; - background: #e5e5e5; - z-index: 0; - margin: 0; - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border:none; - cursor: pointer; - position: relative; - .transition(300ms); - &:before { - content:' '; - position: absolute; - left: 2px; - top: 2px; - width: 48px; - border-radius: 16px; - box-sizing: border-box; - height: 28px; - background: #fff; - z-index: 1; - .transition(300ms); - .transform(scale(1)); - } - &:after { - content:' '; - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - position: absolute; - z-index: 2; - top: 2px; - left: 2px; - box-shadow: 0 2px 5px rgba(0,0,0,0.4); - .transform(translateX(0px)); - .transition(300ms); - } - } - input[type="checkbox"] { - display: none; - &:checked { - &+ .checkbox { - background: #4cd964; - &:before { - .transform(scale(0)); - } - &:after { - .transform(translateX(20px)); - } - } - } - } -} -html.android { - .label-switch input[type="checkbox"] { - &+ .checkbox { - .transition(0); - &:after, &:before { - .transition(0); - } - } - } -} -//Buttons -.button { - border: 1px solid @themeColor; - color: @themeColor; - text-decoration: none; - text-align: center; - display: block; - border-radius: 5px; - line-height: 27px; - box-sizing: border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 29px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow:ellipsis; - font-size: 14px; - font-family: inherit; - cursor: pointer; - outline: 0; - input[type="submit"]&, input[type="button"]&{ - width: 100%; - } - - html:not(.watch-active-state) &:active, &.active-state { - background: rgba(red(@themeColor), green(@themeColor), blue(@themeColor), .15); - } - &.button-round { - border-radius: 27px; - } - &.active { - background: @themeColor; - color: #fff; - } - &.button-big { - font-size: 17px; - height: 44px; - line-height: 42px; - } - &.button-fill { - color:#fff; - background: @themeColor; - border-color: transparent; - html:not(.watch-active-state) &:active, &.active-state { - opacity: 0.8; - } - } - i.icon { - &:first-child { - margin-right: 10px; - } - &:last-child { - margin-left: 10px; - } - &:first-child:last-child { - margin-left: 0; - margin-right: 0; - } - } -} -.buttons-row { - .align-self(center); - .flexbox(); - .flex-wrap(nowrap); - .button { - border-radius: 0 0 0 0; - border-left-width: 0; - width: 100%; - -webkit-box-flex:1; - -ms-flex:1; - } - .button:first-child { - border-radius: 5px 0 0 5px; - border-left-width: 1px; - border-left-style: solid; - } - .button:last-child { - border-radius: 0 5px 5px 0; - } - .button:first-child:last-child { - border-radius: 5px; - } - .button.button-round:first-child { - border-radius: 27px 0 0 27px; - } - .button.button-round:last-child { - border-radius: 0 27px 27px 0; - } -} - - -// Slider -.range-slider { - width: 100%; - position: relative; - overflow: hidden; - padding-left: 3px; - padding-right: 3px; - margin-left: -1px; - .align-self(center); - input[type="range"] { - position: relative; - height: 28px; - width: 100%; - margin: 4px 0 5px 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #b7b8b7), color-stop(100%, #b7b8b7)); - background: linear-gradient(to right, #b7b8b7 0, #b7b8b7 100%); - background-position: center; - background-size: 100% 2px; - background-repeat: no-repeat; - outline: 0; - border: none; - box-sizing: content-box; - -ms-background-position-y: 500px; - &:focus, &:active { - border: 0; - outline: 0; - } - } - - - - // Range thumb mixin - .range-thumb() { - height: 28px; - width: 28px; - border-radius: 28px; - background: #fff; - z-index: 10; - box-shadow: 0 2px 4px rgba(0,0,0,0.4); - border: 0; - outline: 0; - position: absolute; - box-sizing: border-box; - content: ' '; - } - - // ======= WebKit/Blink ======== - - // Before Track - input[type="range"]:after { - height: 2px; - background: #fff; - content:' '; - width: 5px; - top: 50%; - margin-top: -1px; - left: -5px; - z-index: 1; - position: absolute; - } - // Thumb - input[type="range"]::-webkit-slider-thumb { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - height: 28px; - width: 28px; - position: relative; - background: none; - } - input[type="range"]::-webkit-slider-thumb:after { - .range-thumb(); - left: 0; - top: 0; - } - // Track Active Highlight - input[type="range"]::-webkit-slider-thumb:before { - position: absolute; - top: 50%; - right: 100%; - width: 2000px; - height: 2px; - margin-top: -1px; - z-index: 1; - background: @themeColor; - content: ' '; - } - - // ======= FireFox ======== - input[type="range"]::-moz-range-track { - width: 100%; - height: 2px; - background: #b7b8b7; - border: none; - outline: 0; - } - input[type="range"]::-moz-range-thumb { - .range-thumb(); - } - - // ======= IE ======== - input[type="range"]::-ms-track { - width: 100%; - height: 2px; - cursor: pointer; - background: transparent; - border-color: transparent; - color: transparent; - } - input[type="range"]::-ms-thumb { - .range-thumb(); - box-shadow: none; - border: 1px solid rgba(0,0,0,0.2); - box-sizing: border-box; - margin-top: 0; - top: 50%; - } - - input[type="range"]::-ms-fill-lower { - background: @themeColor; - } - input[type="range"]::-ms-fill-upper { - background: #b7b8b7; - } -} - -// Checkboxes -label.label-checkbox { - cursor: pointer; - i.icon-form-checkbox { - width: 22px; - height: 22px; - position: relative; - border-radius: 22px; - border: 1px solid #c7c7cc; - box-sizing: border-box; - - &:after { - content:' '; - position: absolute; - left: 50%; - margin-left: -6px; - top: 50%; - margin-top: -4px; - width: 12px; - height: 9px; - } - } - input[type="checkbox"], input[type="radio"] { - display: none; - &:checked + .item-media{ - i.icon-form-checkbox { - border: none; - background-color: @themeColor; - } - i.icon-form-checkbox:after { - background: no-repeat center; - .encoded-svg-background(""); - -webkit-background-size: 12px 9px; - background-size: 12px 9px; - } - } - } -} -label.label-radio { - cursor: pointer; - input[type="checkbox"], input[type="radio"] { - display: none; - ~ .item-inner { - padding-right: 35px; - } - &:checked ~ .item-inner{ - background: no-repeat center; - .encoded-svg-background(""); - background-position: 90% center; - background-position: ~"-webkit-calc(100% - 15px)" center; - background-position: ~"calc(100% - 15px)" center; - -webkit-background-size: 13px 10px; - background-size: 13px 10px; - } - } -} -label.label-checkbox, label.label-radio { - .transition(300ms); - html:not(.watch-active-state) &:active, &.active-state { - .transition(0ms); - background-color: #d9d9d9; - .item-inner { - .hairline-color(bottom, transparent); - } - } -} - -// Smart selects -.smart-select { - select { - display: none; - } -} diff --git a/vendor/framework7/src/less/ios/framework7.ios.colors.less b/vendor/framework7/src/less/ios/framework7.ios.colors.less deleted file mode 100644 index e02f6eb55..000000000 --- a/vendor/framework7/src/less/ios/framework7.ios.colors.less +++ /dev/null @@ -1,637 +0,0 @@ -@import url('_mixins.less'); -@import url('_colors-vars.less'); -/*========================== -Framework7 Color Themes -==========================*/ -.theme-mixin(@colorName, @color, @colorHex) { - //Buttons - .theme-@{colorName} .button:not(.button-fill) { - border-color: @color; - html:not(.watch-active-state) &:active, &.active-state { - background-color: rgba(red(@color), green(@color), blue(@color), 0.15); - } - &.active { - background-color: @color; - color:#fff; - } - } - .theme-@{colorName} .button.button-fill { - background: @color; - color:#fff; - } - // Progress bar - .progressbar { - &.theme-@{colorName}, .theme-@{colorName} & { - span { - background-color: @color; - } - } - } - .progressbar-infinite { - &.theme-@{colorName}, .theme-@{colorName} & { - &:before { - background-color: @color; - } - } - } - //Icons - .theme-@{colorName} { - i.icon, i.icon& { - color:@color; - } - } - i.icon-next.color-@{colorName}, i.icon-next.theme-@{colorName}, .theme-@{colorName} i.icon-next { - .encoded-svg-background(""); - } - i.icon-prev.color-@{colorName}, i.icon-prev.theme-@{colorName}, .theme-@{colorName} i.icon-prev { - .encoded-svg-background(""); - } - i.icon-back.color-@{colorName}, i.icon-back.theme-@{colorName}, .theme-@{colorName} i.icon-back { - .encoded-svg-background(""); - } - i.icon-forward.color-@{colorName}, i.icon-forward.theme-@{colorName}, .theme-@{colorName} i.icon-forward { - .encoded-svg-background(""); - } - i.icon-bars.color-@{colorName}, i.icon-bars.theme-@{colorName}, .theme-@{colorName} i.icon-bars { - .encoded-svg-background(""); - @media (-webkit-min-device-pixel-ratio: 2) { - .encoded-svg-background(""); - } - } - - // Theme - .theme-@{colorName} { - a, .item-link.list-button { - color: @color; - } - .tabbar, .tabbar& { - a, a i { - color:inherit; - } - a.active, a.active i { - color:@color; - } - } - .messagebar .messagebar-send-link { - background-color: @color; - } - label.label-checkbox input[type="checkbox"]:checked + .item-media i.icon-form-checkbox, label.label-checkbox input[type="radio"]:checked + .item-media i.icon-form-checkbox { - background-color: @color; - } - label.label-radio input[type="checkbox"]:checked ~ .item-inner, label.label-radio input[type="radio"]:checked ~ .item-inner { - .encoded-svg-background(""); - } - .picker-calendar-day.picker-calendar-day-selected span { - background-color: @color !important; - } - } - .swiper-pagination { - &.color-@{colorName}, .theme-@{colorName} & { - .swiper-pagination-bullet-active { - background-color: @color; - } - .swiper-pagination-progressbar { - background-color: @color; - } - } - &.swiper-pagination-progress.bg-@{colorName} { - background-color: rgba(red(@color), green(@color), blue(@color), 0.25); - } - } - .swiper-button-next, .swiper-container-rtl .swiper-button-prev { - &.color-@{colorName}, .theme-@{colorName} & { - .encoded-svg-background(""); - } - } - .swiper-button-prev, .swiper-container-rtl .swiper-button-next { - &.color-@{colorName}, .theme-@{colorName} & { - .encoded-svg-background(""); - } - } - // Floating Button - .floating-button, .speed-dial-buttons a { - .theme-@{colorName} &, &.theme-@{colorName} { - color:#fff; - background: @color; - html:not(.watch-active-state) &:active, &.active-state { - background: darken(@color, 8%); - } - i { - color: inherit; - } - } - } - // Range Slider - .range-slider { - .theme-@{colorName} &, &.theme-@{colorName} { - input[type="range"]::-webkit-slider-thumb:before { - background-color: @color; - } - input[type="range"]::-ms-fill-lower { - background-color: @color; - } - } - } - // Badges - .badge.theme-@{colorName} { - background-color:@color; - color: #fff; - } -} -.theme-mixin(e('gray'), #8e8e93, '8e8e93'); -.theme-mixin(e('white'), #ffffff, 'ffffff'); -.theme-mixin(e('black'), #000000, '000000'); -.theme-mixin(e('lightblue'), #5ac8fa, '5ac8fa'); -.theme-mixin(e('yellow'), #ffcc00, 'ffcc00'); -.theme-mixin(e('orange'), #ff9500, 'ff9500'); -.theme-mixin(e('pink'), #ff2d55, 'ff2d55'); -.theme-mixin(e('blue'), #007aff, '007aff'); -.theme-mixin(e('green'), #4cd964, '4cd964'); -.theme-mixin(e('red'), #ff3b30, 'ff3b30'); - -/*========================== -Framework7 Color + Bg + Border -==========================*/ -.color-mixin(@colorName, @color, @colorHex) { - // Overwrite colors for links, icons, buttons, badges, icon, preloader - //Plain color and links - .color-@{colorName} { - color: @color; - .list-block .item-link.list-button&, .tabbar a.active&, a& { - color: @color; - } - .label-switch input[type="checkbox"]:checked + .checkbox&, .label-switch& input[type="checkbox"]:checked + .checkbox{ - background-color: @color; - } - } - //Buttons - .color-@{colorName}.button:not(.button-fill), .color-@{colorName}.buttons-row .button { - border-color: @color; - html:not(.watch-active-state) &:active, &.active-state { - background-color: rgba(red(@color), green(@color), blue(@color), 0.15); - } - &.active { - background-color: @color; - color:#fff; - } - } - .button.button-fill.color-@{colorName} { - background: @color; - color:#fff; - } - // Progress bar - .progressbar { - &.color-@{colorName}, &.bg-@{colorName} { - span { - background-color: @color; - } - } - } - .progressbar-infinite { - &.color-@{colorName}, &.bg-@{colorName} { - &:before { - background-color: @color; - } - } - } - //Icons - .color-@{colorName} { - i.icon, i.icon& { - color:@color; - } - } - // Preloader - .preloader.color-@{colorName}, .preloader.preloader-@{colorName} { - .encoded-svg-background(""); - } - // Bg rule - .bg-@{colorName}, .button.button-fill.bg-@{colorName}, a.bg-@{colorName}, .list-block .swipeout-actions-left a.bg-@{colorName}, .list-block .swipeout-actions-right a.bg-@{colorName} { - background-color: @color; - } - // Border rule - .border-@{colorName} { - border-color: @color; - .list-block &.item-inner, .list-block ul&, & { - &:after, &:before { - background-color: @color; - } - } - } - // Floating Button - .floating-button, .speed-dial-buttons a { - &.color-@{colorName}, &.bg-@{colorName} { - color:#fff; - background: @color; - html:not(.watch-active-state) &:active, &.active-state { - background: darken(@color, 8%); - } - i { - color: inherit; - } - } - } - // Range Slider - .range-slider { - &.color-@{colorName} { - input[type="range"]::-webkit-slider-thumb:before { - background-color: @color; - } - input[type="range"]::-ms-fill-lower { - background-color: @color; - } - } - } - // Badges - .badge.color-@{colorName} { - background-color:@color; - color: #fff; - } -} -.color-mixin(e('gray'), #8e8e93, '8e8e93'); -.color-mixin(e('white'), #ffffff, 'ffffff'); -.color-mixin(e('black'), #000000, '000000'); -.color-mixin(e('lightblue'), #5ac8fa, '5ac8fa'); -.color-mixin(e('yellow'), #ffcc00, 'ffcc00'); -.color-mixin(e('orange'), #ff9500, 'ff9500'); -.color-mixin(e('pink'), #ff2d55, 'ff2d55'); -.color-mixin(e('blue'), #007aff, '007aff'); -.color-mixin(e('green'), #4cd964, '4cd964'); -.color-mixin(e('red'), #ff3b30, 'ff3b30'); - -/*========================== -Framework7 Layouts Themes -==========================*/ -/* === Dark layout === */ -.layout-dark { - @pageBg: #222426; - @barsBg: #131313; - @barsBorder: #333; - @barsText: #fff; - @tabBarText: #fff; - @text: #ddd; - @lightText: #bbb; - @strongText: #fff; - @activeLink: #29292f; - @blockBg: #1c1d1f; - @blockBorder: #393939; - @blockStrongBg: #1c1d1f; - @dividerBg: #1a1a1a; - @itemAfterText: @lightText; - @searchbarBg: #333; - @searchbarBorder: #333; - @swipeoutButton: #444; - @checkboxBorder: @blockBorder; - .navbar, .navbar&, .subnavbar, .subnavbar& { - .hairline-color(bottom, @barsBorder); - background-color: @barsBg; - color:@barsText; - } - .toolbar, .toolbar& { - .hairline-color(top, @barsBorder); - background-color: @barsBg; - color:@barsText; - } - // Picker - .picker-modal { - .toolbar { - background-color: @barsBg; - } - } - .popover .picker-modal .toolbar { - background: none; - } - .picker-calendar-week-days { - color:#fff; - background-color: @barsBg; - } - .popover .picker-modal, .picker-modal.picker-modal-inline { - .picker-center-highlight { - .hairline-color(top, @barsBorder); - .hairline-color(bottom, @barsBorder); - } - .picker-item.picker-selected { - color:#fff; - } - .picker-calendar-week-days { - color: #fff; - } - .picker-calendar-day { - color:#fff; - &.picker-calendar-day-prev, &.picker-calendar-day-next { - color: #777; - } - &.picker-calendar-day-disabled { - color: #555; - } - &.picker-calendar-day-today span { - background: #333; - } - &.picker-calendar-day-has-events span:after { - background: #555; - } - } - .picker-calendar-week-days, .picker-calendar-row { - .hairline-color(bottom, @barsBorder); - } - .toolbar ~ .picker-modal-inner .picker-calendar-months, .picker-calendar-week-days ~ .picker-calendar-months { - .hairline-color(top, @barsBorder); - } - - } - .popover .picker-modal { - .toolbar { - .hairline-color(bottom, @barsBorder); - } - } - // Photo Browser - .photo-browser, .views .view[data-page="photo-browser-slides"] { - .navbar, .toolbar { - color:#000; - background: rgba(247,247,247,0.95); - } - } - .photo-browser-dark { - .navbar, .toolbar { - background: rgba(30,30,30,0.8); - color:#fff; - } - } - - .tabbar a:not(.active) { - color:@tabBarText; - } - .page, .login-screen-content, .page&, .panel, .panel& { - background-color: @pageBg; - color:@text; - } - .content-block-title { - color:@strongText; - } - .content-block, .content-block& { - color:@lightText; - } - .content-block-inner { - background: @blockStrongBg; - color:@text; - .hairline-color(top, @blockBorder); - .hairline-color(bottom, @blockBorder); - } - .list-block, .list-block& { - ul { - background: @blockBg; - .hairline-color(top, @blockBorder); - .hairline-color(bottom, @blockBorder); - } - &.inset ul{ - background: @blockStrongBg; - } - &.notifications > ul { - background: none; - } - } - .autocomplete-dropdown { - background: @blockBg; - .list-block b { - color: #fff; - } - } - .card { - background: @blockBg; - } - .card-header{ - .hairline-color(bottom, @blockBorder); - } - .card-footer { - .hairline-color(top, @blockBorder); - color:@lightText; - } - .popover, .popover& { - background: rgba(0,0,0,0.8); - .popover-angle:after { - background: rgba(0,0,0,0.8); - } - .list-block ul { - background: none; - } - - } - .actions-popover .list-block ul { - .hairline-color(top, @blockBorder); - .hairline-color(bottom, @blockBorder); - } - .actions-popover .actions-popover-label { - .hairline-color(bottom, @blockBorder); - } - li.sorting { - background-color: @activeLink; - } - .swipeout-actions-left a, .swipeout-actions-right a { - background-color: @swipeoutButton; - } - .item-inner, .list-block ul ul li:last-child .item-inner { - .hairline-color(bottom, @blockBorder); - } - .item-after { - color:@itemAfterText; - } - .item-link, label.label-checkbox, label.label-radio { - html:not(.watch-active-state) &:active, &.active-state { - background-color: @activeLink; - } - } - .item-link.list-button { - .hairline-color(bottom, @blockBorder); - } - .list-block-label { - color:@lightText; - } - .item-divider, .list-group-title { - background: @dividerBg; - color:@lightText; - .hairline-color(top, @blockBorder); - } - - // Searchbar - .searchbar { - background: @searchbarBg; - .hairline-color(bottom, @searchbarBorder); - } - - // Forms - .list-block, .list-block& { - input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="number"], select, textarea { - color:@strongText; - } - } - .label-switch .checkbox { - background-color: @checkboxBorder; - &:before { - background-color: @blockBg; - } - } - .range-slider input[type="range"]:after { - background: @blockBg; - } - .range-slider input[type="range"]::-ms-thumb { - border: none; - } -} - -/* === White layout === */ -.layout-white { - @pageBg: #fff; - @barsBg: #fff; - @barsBorder: #ddd; - @barsText: #000; - @tabBarText: #777; - @text: #000; - @lightText: #777; - @strongText: #777; - @activeLink: #eee; - @blockBg: @pageBg; - @blockBorder: #ddd; - @blockStrongBg: #fafafa; - @dividerBg: #f7f7f7; - @itemAfterText: #8e8e93; - @searchbarBg: #c9c9ce; - @searchbarBorder: #b4b4b4; - @swipeoutButton: #c7c7cc; - @checkboxBorder: #e5e5e5; - .navbar, .navbar&, .subnavbar, .subnavbar& { - .hairline-color(bottom, @barsBorder); - background-color: @barsBg; - color:@barsText; - } - .toolbar, .toolbar& { - .hairline-color(top, @barsBorder); - background-color: @barsBg; - color:@barsText; - } - - // Picker - .picker-modal { - .toolbar { - background-color: @barsBg; - } - } - .popover .picker-modal .toolbar { - background: none; - } - .popover .picker-modal, .picker-modal.picker-modal-inline { - .picker-center-highlight { - .hairline-color(top, @barsBorder); - .hairline-color(bottom, @barsBorder); - } - .picker-calendar-week-days, .picker-calendar-row { - .hairline-color(bottom, @barsBorder); - } - .toolbar ~ .picker-modal-inner .picker-calendar-months, .picker-calendar-week-days ~ .picker-calendar-months { - .hairline-color(top, @barsBorder); - } - } - .popover .picker-modal { - .toolbar { - .hairline-color(bottom, @barsBorder); - } - } - // Photo Browser - .photo-browser, .views .view[data-page="photo-browser-slides"] { - .navbar, .toolbar { - color:#000; - background: rgba(247,247,247,0.95); - } - } - .photo-browser-dark { - .navbar, .toolbar { - background: rgba(30,30,30,0.8); - color:#fff; - } - } - .tabbar a:not(.active) { - color:@tabBarText; - } - .page, .login-screen-content, .page&, .panel, .panel& { - background-color: @pageBg; - color: @text; - } - .content-block-title { - color:@strongText; - } - .content-block, .content-block& { - color:@lightText; - } - .content-block-inner { - background: @blockStrongBg; - color:@text; - .hairline-color(bottom, @blockBorder); - .hairline-color(top, @blockBorder); - } - .list-block, .list-block& { - ul { - background: @blockBg; - .hairline-color(bottom, @blockBorder); - .hairline-color(top, @blockBorder); - } - &.inset ul{ - background: @blockStrongBg; - } - &.notifications > ul { - background: none; - } - } - .popover-inner > .list-block ul { - background: none; - } - li.sorting { - background-color: @activeLink; - } - .swipeout-actions-left a, .swipeout-actions-right a { - background-color: @swipeoutButton; - } - .item-inner, .list-block ul ul li:last-child .item-inner { - border-color: @blockBorder; - .hairline-color(bottom, @blockBorder); - } - .item-after { - color:@itemAfterText; - } - .item-link, label.label-checkbox, label.label-radio { - html:not(.watch-active-state) &:active, &.active-state { - background-color: @activeLink; - } - } - .item-link.list-button { - .hairline-color(bottom, @blockBorder); - } - .list-block-label { - color:@lightText; - } - .item-divider, .list-group-title { - background: @dividerBg; - color:@lightText; - .hairline-color(top, @blockBorder); - } - - // Searchbar - .searchbar { - background: @searchbarBg; - .hairline-color(bottom, @searchbarBorder); - } - - // Forms - .list-block, .list-block& { - input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="number"], select, textarea { - color:@strongText; - } - } - .label-switch .checkbox { - background-color: @checkboxBorder; - &:before { - background-color: @blockBg; - } - } - .range-slider input[type="range"]:after { - background: @blockBg; - } -} - diff --git a/vendor/framework7/src/less/ios/framework7.ios.less b/vendor/framework7/src/less/ios/framework7.ios.less deleted file mode 100644 index de7d746d4..000000000 --- a/vendor/framework7/src/less/ios/framework7.ios.less +++ /dev/null @@ -1,38 +0,0 @@ -@import url('_mixins.less'); -@import url('_colors-vars.less'); -@import url('intro.less'); -@import url('grid.less'); -@import url('views.less'); -@import url('pages.less'); -@import url('toolbars.less'); -@import url('toolbars-pages.less'); -@import url('searchbar.less'); -@import url('messagebar.less'); -@import url('icons.less'); -@import url('badges.less'); -@import url('chips.less'); -@import url('content-block.less'); -@import url('lists.less'); -@import url('contacts.less'); -@import url('forms.less'); -@import url('floating-button.less'); -@import url('accordion.less'); -@import url('cards.less'); -@import url('modals.less'); -@import url('panels.less'); -@import url('lazy-load.less'); -@import url('tabs.less'); -@import url('messages.less'); -@import url('statusbar.less'); -@import url('preloader.less'); -@import url('progressbar.less'); -@import url('pull-to-refresh.less'); -@import url('infinite-scroll.less'); -@import url('autocomplete.less'); -@import url('swiper.less'); -@import url('photo-browser.less'); -@import url('picker.less'); -@import url('calendar.less'); -@import url('notifications.less'); -@import url('login-screen.less'); -@import url('disabled.less'); diff --git a/vendor/framework7/src/less/ios/framework7.ios.rtl.less b/vendor/framework7/src/less/ios/framework7.ios.rtl.less deleted file mode 100644 index 956da01f8..000000000 --- a/vendor/framework7/src/less/ios/framework7.ios.rtl.less +++ /dev/null @@ -1,414 +0,0 @@ -@import url('_mixins.less'); -@import url('_colors-vars.less'); -/*============= - Framework 7 RTL Additions -=============*/ -html { - direction: rtl; -} - -/* === Lists === */ -.list-block { - ul ul { - padding-left: 0; - padding-right: 45px; - } - .item-content { - padding-left: 0; - padding-right: 15px; - } - .item-inner { - padding-right: 0; - padding-left: 15px; - } - .item-after { - margin-left: 0; - margin-right: 5px; - } - .item-media { - i + i, i + img { - margin-left: 0; - margin-right: 5px; - } - & + .item-inner { - margin-left: 0; - margin-right: 15px; - } - } - .item-link { - .item-inner { - padding-right: 0; - padding-left: 35px; - background-position: 15px center; - .encoded-svg-background(""); - } - } - - &.media-list, li.media-item { - .item-link { - .item-inner { - padding-right: 0; - padding-left: 15px; - } - .item-title-row { - padding-right: 0; - padding-left: 20px; - background-position: center left; - .encoded-svg-background(""); - } - } - } - .sortable-handler { - right: auto; - left: 0; - } - &.sortable-opened { - .item-inner, .item-link .item-inner { - padding-right: 0; - padding-left: 35px; - } - .item-link .item-inner, .item-link .item-title-row { - background-image: none; - } - } - .swipeout-actions-left, .swipeout-actions-right { - direction: ltr; - } -} - -/* === Toolbars === */ -.navbar, .toolbar { - a.link { - i+span, i+i, span+i, span+span { - margin-left: 0; - margin-right: 7px; - } - } - -} -.navbar { - .left, .right { - a+a { - margin-left: 0; - margin-right: 15px; - } - } - .left { - margin-right: 0px; - margin-left: 10px; - } - .right { - margin-left: 0px; - margin-right: 10px; - } - .right:first-child { - right: auto; - left: 8px; - } -} -/* === Forms === */ -.list-block { - input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="number"], select, textarea { - padding-left: 0; - padding-right: 5px; - } -} -.buttons-row { - .button:first-child { - border-radius: 0 5px 5px 0; - border-left: none; - } - .button:last-child { - border-radius: 5px 0 0 5px; - border-left-width: 1px; - border-left-style: solid; - } - .button.button-round:first-child { - border-radius: 0 27px 27px 0; - } - .button.button-round:last-child { - border-radius: 27px 0 0 27px; - } -} -.label-switch { - input[type="checkbox"] { - &+ .checkbox { - &:before { - left: auto; - right: 2px; - } - &:after { - right: 2px; - left: auto; - .translate3d(0,0,0); - } - } - &:checked { - &+ .checkbox { - &:after { - left: auto; - .transform(translateX(-20px)); - } - } - } - } -} -.range-slider { - padding-left: 0; - padding-right: 0; - margin-left: 0; - padding-right: 3px; - padding-left: 3px; - margin-right: -1px; - input[type="range"]:after { - left: auto; - right: -5px; - } - input[type="range"]::-webkit-slider-thumb:after { - left: auto; - right: 0; - } - input[type="range"]::-webkit-slider-thumb:before { - right: auto; - left: 100%; - } -} -label.label-radio { - input[type="checkbox"], input[type="radio"] { - ~ .item-inner { - padding-left: 35px; - padding-right: 0; - } - &:checked ~ .item-inner{ - background-position: 15px center; - } - } -} - -/* === Search Bar === */ -.searchbar { - input[type="search"] { - background-position: right center; - background-position: ~"-webkit-calc(100% - 8px)" center; - background-position: ~"calc(100% - 8px)" center; - } - .searchbar-clear { - right: auto; - left: 0; - } - &.searchbar-active { - .searchbar-cancel { - margin-left: 0; - margin-right: 8px; - } - } -} -/* === Message Bar === */ -.messagebar { - .link + textarea { - margin-left: 0; - margin-right: 8px; - } - textarea + .link { - margin-left: 0; - margin-right: 8px; - } -} -/* === Modals === */ -.modal-button { - &:first-child { - border-radius: 0 0 7px 0; - border-right: none; - } - &:last-child { - border-right: 1px solid #b5b5b5; - border-radius: 0 0 0 7px; - } - &:first-child:last-child { - border-radius: 0 0 7px 7px; - } -} - -/* === Content Block === */ -.content-block-inner { - margin-left: 0; - margin-right: -15px; -} - -/* === Pages === */ -.page-from-right-to-center:before, .page-from-center-to-right:before, .page-fake-shadow { - right: auto; - left: 100%; - background: -webkit-linear-gradient(right, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 10%, rgba(0,0,0,0.01) 50%, rgba(0,0,0,0.2) 100%); - background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 10%, rgba(0,0,0,0.01) 50%, rgba(0,0,0,0.2) 100%); -} -.page-on-left { - .translate3d(20%); -} -.page-on-right { - .translate3d(-100%); -} -@-webkit-keyframes pageFromRightToCenter { - from { - -webkit-transform: translate3d(-100%,0,0); - } - to { - -webkit-transform: translate3d(0,0,0); - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - -webkit-transform: translate3d(0,0,0); - } - to { - -webkit-transform: translate3d(-100%,0,0); - } -} -@keyframes pageFromRightToCenter { - from { - transform: translate3d(-100%,0,0); - } - to { - transform: translate3d(0,0,0); - } -} -@keyframes pageFromCenterToRight { - from { - transform: translate3d(0,0,0); - } - to { - transform: translate3d(-100%,0,0); - } -} -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - -webkit-transform: translate3d(0,0,0); - } - to { - opacity: 0.9; - -webkit-transform: translate3d(20%,0,0); - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - -webkit-transform: translate3d(20%,0,0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes pageFromCenterToLeft { - from { - opacity: 1; - transform: translate3d(0,0,0); - } - to { - opacity: 0.9; - transform: translate3d(20%,0,0); - } -} -@keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - transform: translate3d(20%,0,0); - } - to { - opacity: 1; - transform: translate3d(0,0,0); - } -} - -/* === Messages === */ -.message-received { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - .align-items(flex-end); -} -.message-sent { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - .align-items(flex-start); -} -/* === Chips === */ -.chip { - -} -.chip-media { - + .chip-label{ - margin-left: 0px; - margin-right: 4px; - } -} -.chip-delete { - margin-right: 0; - margin-left: -6px; -} -/* === Back Icons === */ -i.icon { - &.icon-back { - .encoded-svg-background(""); - } - &.icon-forward { - .encoded-svg-background(""); - } - &.icon-next { - .encoded-svg-background(""); - } - &.icon-prev { - .encoded-svg-background(""); - } -} -.rtl-icon-color-mixin(@colorName, @color) { - i.icon-back.color-@{colorName}, i.icon-back.theme-@{colorName}, .theme-@{colorName} i.icon-back { - .encoded-svg-background(""); - } - i.icon-forward.color-@{colorName}, i.icon-forward.theme-@{colorName}, .theme-@{colorName} i.icon-forward { - .encoded-svg-background(""); - } - i.icon-next.color-@{colorName}, i.icon-next.theme-@{colorName}, .theme-@{colorName} i.icon-next { - .encoded-svg-background(""); - } - i.icon-prev.color-@{colorName}, i.icon-prev.theme-@{colorName}, .theme-@{colorName} i.icon-prev { - .encoded-svg-background(""); - } -} -.rtl-icon-color-mixin(e('gray'), #8e8e93); -.rtl-icon-color-mixin(e('white'), #ffffff); -.rtl-icon-color-mixin(e('black'), #000000); -.rtl-icon-color-mixin(e('lightblue'), #5ac8fa); -.rtl-icon-color-mixin(e('yellow'), #ffcc00); -.rtl-icon-color-mixin(e('orange'), #ff9500); -.rtl-icon-color-mixin(e('pink'), #ff2d55); -.rtl-icon-color-mixin(e('blue'), #007aff); -.rtl-icon-color-mixin(e('green'), #4cd964); -.rtl-icon-color-mixin(e('red'), #ff3b30); - -/* === Accordion === */ -.list-block { - .accordion-toggle { - .item-inner { - padding-right: 0; - padding-left: 35px; - background-position: 15px center; - .encoded-svg-background(""); - } - } - &:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, - &:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, - &.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, - &.media-list .accordion-item-expanded > .item-link .item-title-row, - .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, - .accordion-item-expanded.media-item > .item-link .item-title-row, - { - .encoded-svg-background(""); - background-size: 20px 20px; - } - .accordion-item ul { - padding-right: 0; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/grid.less b/vendor/framework7/src/less/ios/grid.less deleted file mode 100644 index 636c497b3..000000000 --- a/vendor/framework7/src/less/ios/grid.less +++ /dev/null @@ -1,87 +0,0 @@ -/* === Grid === */ -.row { - .flexbox(); - .justify-content(space-between); - .flex-wrap(wrap); - .align-items(flex-start); - > [class*="col-"] { - box-sizing: border-box; - } -} -@cols: 5, 10, 15, 20, 25, 30, 100/3, 35, 40, 45, 50, 55, 60, 65, 100*(2/3), 70, 75, 80, 85, 90, 95, 100; -.row { - .col-auto { - width: 100%; - } - .-(@i: length(@cols)) when (@i > 0) { - @divider: e(extract(@cols, @i)); - @className: `Math.floor(@{divider})`; - @n: `100/parseFloat(@{divider})`; - @n-1: @n - 1; - .col-@{className} { - width: ~"@{divider}%"; - width: ~"-webkit-calc((100% - 15px*@{n-1}) / @{n})"; - width: ~"calc((100% - 15px*@{n-1}) / @{n})"; - } - &.no-gutter { - .col-@{className} { - width: ~"@{divider}%"; - } - } - .-((@i - 1)); - } .-; - .--(@j: 1) when (@j < length(@cols)) { - @divider: e(extract(@cols, @j)); - @className: `Math.floor(@{divider})`; - .col-auto:nth-last-child(@{j}), .col-auto:nth-last-child(@{j}) ~ .col-auto { - @j-1: @j - 1; - width: 100% / @j; - width: ~"-webkit-calc((100% - 15px*@{j-1}) / @{j})"; - width: ~"calc((100% - 15px*@{j-1}) / @{j})"; - } - &.no-gutter { - .col-auto:nth-last-child(@{j}), .col-auto:nth-last-child(@{j}) ~ .col-auto { - width: 100% / @j; - } - } - .--((@j + 1)); - } .--; - -} - -@media all and (min-width:768px) { - .row { - .-(@i: length(@cols)) when (@i > 0) { - @divider: e(extract(@cols, @i)); - @className: `Math.floor(@{divider})`; - @n: `100/parseFloat(@{divider})`; - @n-1: @n - 1; - .tablet-@{className} { - width: ~"@{divider}%"; - width: ~"-webkit-calc((100% - 15px*@{n-1}) / @{n})"; - width: ~"calc((100% - 15px*@{n-1}) / @{n})"; - } - &.no-gutter { - .tablet-@{className} { - width: ~"@{divider}%"; - } - } - .-((@i - 1)); - } .-; - .--(@j: 1) when (@j < length(@cols)) { - .tablet-auto:nth-last-child(@{j}), .tablet-auto:nth-last-child(@{j}) ~ .col-auto { - @j-1: @j - 1; - width: 100% / @j; - width: ~"-webkit-calc((100% - 15px*@{j-1}) / @{j})"; - width: ~"calc((100% - 15px*@{j-1}) / @{j})"; - } - &.no-gutter { - .tablet-auto:nth-last-child(@{j}), .tablet-auto:nth-last-child(@{j}) ~ .tablet-auto { - width: 100% / @j; - } - } - .--((@j + 1)); - } .--; - } - -} diff --git a/vendor/framework7/src/less/ios/icons.less b/vendor/framework7/src/less/ios/icons.less deleted file mode 100644 index 0e12792b9..000000000 --- a/vendor/framework7/src/less/ios/icons.less +++ /dev/null @@ -1,66 +0,0 @@ -/* === Icons === */ -i.icon { - display: inline-block; - vertical-align: middle; - background-size: 100% auto; - background-position: center; - background-repeat: no-repeat; - font-style: normal; - position: relative; - &.icon-back { - width: 12px; - height: 20px; - .encoded-svg-background(""); - } - &.icon-forward { - width: 12px; - height: 20px; - .encoded-svg-background(""); - } - &.icon-bars { - width: 21px; - height: 14px; - .encoded-svg-background(""); - @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2ddpx) { - .encoded-svg-background(""); - height: 13px; - } - } - &.icon-camera { - width: 25px; - height: 20px; - .encoded-svg-background(""); - } - &.icon-f7 { - width: 29px; - height: 29px; - background-image: url("@{imgBaseUrl}/i-f7-ios.png"); - border-radius: 6px; - } - &.icon-next, &.icon-prev { - width: 15px; - height: 15px; - } - &.icon-next { - .encoded-svg-background(""); - } - &.icon-prev { - .encoded-svg-background(""); - } - &.icon-plus { - width: 25px; - height: 25px; - font-size: 31px; - line-height: 20px; - text-align: center; - font-weight: 100; - } -} -.framework7-icons, .f7-icons { - .navbar &, .toolbar & { - font-size: 22px; - } - .tabbar &, .tabbar-labels & { - font-size: 25px; - } -} diff --git a/vendor/framework7/src/less/ios/infinite-scroll.less b/vendor/framework7/src/less/ios/infinite-scroll.less deleted file mode 100644 index f351cb166..000000000 --- a/vendor/framework7/src/less/ios/infinite-scroll.less +++ /dev/null @@ -1,5 +0,0 @@ -/* === Infinite Scroll Preloader === */ -.infinite-scroll-preloader { - text-align: center; - padding: 5px 0; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/intro.less b/vendor/framework7/src/less/ios/intro.less deleted file mode 100644 index 14b3532b4..000000000 --- a/vendor/framework7/src/less/ios/intro.less +++ /dev/null @@ -1,49 +0,0 @@ -@imgBaseUrl: "../img"; -html, body, .framework7-root { - position: relative; - height: 100%; - width: 100%; - overflow-x: hidden; -} -body { - font-family: -apple-system, SF UI Text, Helvetica Neue, Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; - color: #000; - font-size: 14px; - line-height: 1.4; - width: 100%; - -webkit-text-size-adjust:100%; - background: #fff; - overflow: hidden; -} -.framework7-root { - overflow: hidden; -} -// Fix for iPad in Safari in Lanscape mode -@media all and (width:1024px) and (height:691px) and (orientation:landscape) { - html, body, .framework7-root { - height: 671px; - } -} -@media all and (width:1024px) and (height:692px) and (orientation:landscape) { - html, body, .framework7-root { - height: 672px; - } -} - -* { - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-touch-callout:none; -} -a, input, textarea, select { - outline: 0; -} - -a { - text-decoration: none; - color: @themeColor; -} -p { - margin: 1em 0; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/lazy-load.less b/vendor/framework7/src/less/ios/lazy-load.less deleted file mode 100644 index 0482f8c22..000000000 --- a/vendor/framework7/src/less/ios/lazy-load.less +++ /dev/null @@ -1,20 +0,0 @@ -/* === Images Lazy Loading === */ -.lazy-loaded.lazy-fadeIn { - .animation(lazyFadeIn 600ms); -} -@-webkit-keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/lists.less b/vendor/framework7/src/less/ios/lists.less deleted file mode 100644 index 3ee774ddb..000000000 --- a/vendor/framework7/src/less/ios/lists.less +++ /dev/null @@ -1,401 +0,0 @@ -/* === Lists === */ -@listBlockBorderColor: #c8c7cc; -@listBlockBg: #fff; -@dividerBg: #F7F7F7; -@dividerColor: #8e8e93; -.list-block { - margin: 35px 0; - font-size: 17px; - ul { - background: @listBlockBg; - list-style: none; - padding: 0; - margin: 0; - position: relative; - .hairline(top, @listBlockBorderColor); - .hairline(bottom, @listBlockBorderColor); - ul { - .hairline-remove(top); - .hairline-remove(bottom); - padding-left: 45px; - } - } - - .align-top, .align-top .item-content, .align-top .item-inner { - .align-items(flex-start); - } - - .inset() { - margin-left: 15px; - margin-right: 15px; - border-radius: 7px; - .content-block-title { - margin-left: 0; - margin-right: 0; - } - ul { - border-radius: 7px; - .hairline-remove(top); - .hairline-remove(bottom); - } - li:first-child > a{ - border-radius: 7px 7px 0 0; - } - li:last-child > a{ - border-radius: 0 0 7px 7px; - } - li:first-child:last-child > a { - border-radius: 7px; - } - } - &.inset { - .inset() - } - &.tablet-inset { - @media all and (min-width:768px) { - .inset(); - } - } - - // List items - li { - box-sizing: border-box; - position: relative; - } - - .item-media { - .flexbox(); - .flex-shrink(0); - .flex-wrap(nowrap); - box-sizing: border-box; - .align-items(center); - padding-top: 7px; - padding-bottom: 8px; - i + i { - margin-left: 5px; - } - i + img { - margin-left: 5px; - } - } - .item-media + .item-inner { - margin-left: 15px; - } - .item-inner { - padding-right: 15px; - position: relative; - .hairline(bottom, @listBlockBorderColor); - width: 100%; - padding-top: 8px; - padding-bottom: 7px; - min-height: 44px; - box-sizing: border-box; - .flexbox(); - -webkit-box-flex:1; - -ms-flex:1; - overflow: hidden; - .justify-content(space-between); - .align-items(center); - .align-self(stretch); - } - .item-title { - .flex-shrink(1); - min-width: 0; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; - } - .item-after { - white-space: nowrap; - color: #8e8e93; - .flex-shrink(0); - margin-left: 5px; - .flexbox(); - max-height: 28px; - } - .smart-select .item-after, .autocomplete-opener .item-after { - max-width: 70%; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - display: block; - } - .item-link { - .transition(300ms); - display: block; - color: inherit; - - .item-inner { - padding-right: 35px; - .encoded-svg-background(""); - background-size: 10px 20px; - background-repeat: no-repeat; - background-position: 95% center; - background-position: -webkit-calc(~"100% - 15px") center; - background-position: calc(~"100% - 15px") center; - } - html:not(.watch-active-state) &:active, &.active-state { - .transition(0ms); - background-color: #d9d9d9; - .item-inner { - .hairline-color(bottom, transparent); - } - } - &.list-button { - padding: 0 15px; - text-align: center; - color: @blue; - display: block; - .hairline(bottom, @listBlockBorderColor); - line-height: 43px; - } - } - .item-content { - box-sizing: border-box; - padding-left: 15px; - min-height: 44px; - .flexbox(); - .justify-content(space-between); - .align-items(center); - } - // Label after List block - .list-block-label { - margin: 10px 0 35px; - padding: 0 15px; - font-size: 14px; - color: #8f8f94; - } - - // Swipe outs - .swipeout { - overflow: hidden; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - } - .swipeout.deleting { - .transition(300ms); - .swipeout-content { - .transform(translateX(-100%)); - } - } - .swipeout.transitioning { - .swipeout-content, .swipeout-actions-right a, .swipeout-actions-left a, .swipeout-overswipe { - -webkit-transition: 300ms; - transition: 300ms; - } - } - .swipeout-content { - position: relative; - z-index: 10; - } - .swipeout-overswipe { - -webkit-transition: 200ms left; - transition: 200ms left; - } - .swipeout-actions-left, .swipeout-actions-right { - position: absolute; - top: 0; - height: 100%; - .flexbox(); - a { - padding: 0 30px; - color:#fff; - background: #c7c7cc; - .flexbox(); - .align-items(center); - position: relative; - left: 0; - &:after { - content:''; - position: absolute; - top: 0; - width: 600%; - height: 100%; - background: inherit; - z-index: -1; - } - } - a.swipeout-delete { - background: @red; - } - } - .swipeout-actions-right { - right: 0%; - .transform(translateX(100%)); - a:after { - left: 100%; - margin-left: -1px; - } - } - .swipeout-actions-left { - left: 0%; - .transform(translateX(-100%)); - a:after { - right: 100%; - margin-right: -1px; - } - } - .item-subtitle { - font-size: 15px; - position: relative; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - text-overflow:ellipsis; - } - .item-text { - font-size: 15px; - color: #8e8e93; - line-height: 21px; - position: relative; - overflow: hidden; - height: 42px; - text-overflow:ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - display: -webkit-box; - } - &.media-list, li.media-item { - .item-title { - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } - .item-inner { - display: block; - padding-top: 10px; - padding-bottom: 9px; - .align-self(stretch); - } - .item-link .item-inner { - background: none; - padding-right: 15px; - } - .item-link .item-title-row { - padding-right: 20px; - background: no-repeat right center; - .encoded-svg-background(""); - background-size: 10px 20px; - } - .item-media { - padding-top: 9px; - padding-bottom: 10px; - img { - display: block; - } - } - .item-title-row { - .flexbox(); - .justify-content(space-between); - } - .item-content > .item-after { - margin-right: 15px; - margin-left: 15px; - } - } - .list-group { - ul { - &:after, &:before { - z-index: 25; - } - } - + .list-group ul { - .hairline-remove(top); - } - } - .item-divider, .list-group-title { - background: @dividerBg; - .hairline(top, @listBlockBorderColor); - margin-top: -1px; - padding: 4px 15px; - white-space: nowrap; - position: relative; - max-width: 100%; - text-overflow: ellipsis; - overflow: hidden; - color: @dividerColor; - z-index: 15; - } - .list-group-title { - position: relative; - position: -webkit-sticky; - position: -moz-sticky; - position: sticky; - top: 0px; - z-index: 20; - margin-top: 0; - .hairline-remove(top); - } - // Sortable - .sortable-handler { - position: absolute; - right: 0; - top: 0; - bottom: 1px; - z-index: 10; - background-repeat: no-repeat; - background-size: 18px 12px; - background-position: center; - width: 35px; - .encoded-svg-background(""); - opacity: 0; - visibility: hidden; - cursor: pointer; - .transition(300ms); - } - &.sortable { - .item-inner { - .transition(300ms); - } - } - &.sortable-opened { - .sortable-handler { - visibility: visible; - opacity: 1; - } - .item-inner, .item-link .item-inner { - padding-right: 35px; - } - .item-link .item-inner, .item-link .item-title-row { - background-image: none; - } - } - &.sortable-sorting { - li { - .transition(300ms); - } - } - li.sorting { - z-index: 50; - background: rgba(255,255,255,0.8); - box-shadow: 0px 2px 8px rgba(0,0,0,0.6); - .transition(0ms); - .item-inner { - .hairline-remove(bottom); - } - } - - // Last-childs - li { - &:last-child { - .list-button { - .hairline-remove(bottom); - } - } - &:last-child, &:last-child li:last-child { - .item-inner { - .hairline-remove(bottom); - } - } - li:last-child, &:last-child li { - .item-inner { - .hairline(bottom, @listBlockBorderColor); - } - } - } - .no-hairlines(); - .no-hairlines-between() -} diff --git a/vendor/framework7/src/less/ios/login-screen.less b/vendor/framework7/src/less/ios/login-screen.less deleted file mode 100644 index a9a69b525..000000000 --- a/vendor/framework7/src/less/ios/login-screen.less +++ /dev/null @@ -1,20 +0,0 @@ -/* === Login screen === */ -.login-screen-content { - background: #fff; - .login-screen-title, .list-block, .content-block, .list-block-label { - max-width: 480px; - margin: 25px auto; - } - .list-block ul { - .hairline-remove(top); - .hairline-remove(bottom); - background: none; - } - .list-block-label { - text-align: center; - } -} -.login-screen-title { - text-align: center; - font-size: 30px; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/messagebar.less b/vendor/framework7/src/less/ios/messagebar.less deleted file mode 100644 index 88104846c..000000000 --- a/vendor/framework7/src/less/ios/messagebar.less +++ /dev/null @@ -1,56 +0,0 @@ -/* === Message Bar === */ -.messagebar { - .translate3d(0,0,0); - .transition(0ms); - background: #fff; - .hairline-remove(top); - textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: 1px solid #c8c8cd; - background: #fff; - border-radius: 17px; - box-shadow: none; - display: block; - padding: 6px 15px; - margin: 0; - width: 100%; - height: 34px; - color: #000; - font-size: 17px; - line-height: 20px; - font-family: inherit; - resize:none; - .flex-shrink(1); - } - .link { - .align-self(flex-end); - } - .link.icon-only:first-child { - margin-left: -6px; - } - .link:not(.icon-only) + textarea { - margin-left: 8px; - } - textarea + .link { - margin-left: 8px; - } - .link { - .flex-shrink(0); - } - ~ .page-content { - padding-bottom: @toolbarSize; - } - .page.no-toolbar & ~.page-content { - padding-bottom: @toolbarSize; - } - .hidden-toolbar & { - .translate3d(0,0,0); - .transition(0ms); - } -} diff --git a/vendor/framework7/src/less/ios/messages.less b/vendor/framework7/src/less/ios/messages.less deleted file mode 100644 index d5feeb5b4..000000000 --- a/vendor/framework7/src/less/ios/messages.less +++ /dev/null @@ -1,255 +0,0 @@ -/* === Messages === */ -.messages-content { - background: #fff; -} -.messages { - .flexbox(); - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.messages-date { - text-align: center; - font-weight: 500; - font-size: 11px; - line-height: 1; - margin: 10px 15px; - color: #8e8e93; - html.ios-gt-8 & { - font-weight: 600; - } - span { - font-weight: 400; - } -} -.message { - box-sizing: border-box; - margin: 1px 10px 0; - max-width: 70%; - .flexbox(); - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - &:first-child { - margin-top: 10px; - } - .message-text { - box-sizing: border-box; - border-radius: 16px; - padding: 6px 16px 9px; - min-width: 48px; - min-height: 35px; - font-size: 17px; - line-height: 1.2; - word-break: break-word; - img { - max-width: 100%; - height: auto; - } - } - &.message-pic { - .message-text { - padding: 0; - background: none; - } - img { - display: block; - border-radius: 16px; - } - } -} -.message-name { - font-size: 12px; - line-height: 1; - color: #8e8e93; - margin-bottom: 2px; - margin-top: 7px; - .message-hide-name & { - display: none; - } -} -.message-label { - font-size: 12px; - line-height: 1; - color: #8e8e93; - margin-top: 4px; - .message-hide-label & { - display: none; - } -} -.message-avatar { - width: 29px; - height: 29px; - border-radius: 100%; - margin-top: -29px; - position: relative; - top: 1px; - background-size: cover; - opacity: 1; - .transition(400ms); - .message-hide-avatar & { - opacity: 0; - } -} -.message-date { - font-size: 12px; - margin-top: 4px; - opacity: 0.8; - .message-pic img + & { - margin-top: 8px; - } - .message-sent & { - text-align: right; - } -} -.message-sent { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - .align-items(flex-end); - .message-name { - margin-right: 16px; - } - .message-label { - margin-right: 6px; - } - &.message-with-avatar { - .message-text { - margin-right: 29px; - } - .message-name { - margin-right: 45px; - } - .message-label { - margin-right: 34px; - } - } - .message-text { - padding-right: 22px; - background-color: #00d449; - color: white; - margin-left: auto; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%; - } - &.message-last, &.message-with-tail { - .message-text { - border-radius: 16px 16px 0 16px; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 56% 46% 42%; - } - &.message-pic img{ - border-radius: 16px 16px 0 16px; - } - } -} -.message-received { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - .align-items(flex-start); - .message-text { - padding-left: 22px; - background-color: #e5e5ea; - color: #000; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%; - } - .message-name { - margin-left: 16px; - } - .message-label { - margin-left: 6px; - } - &.message-with-avatar { - .message-text { - margin-left: 29px; - } - .message-name { - margin-left: 45px; - } - .message-label { - margin-left: 34px; - } - } - &.message-last, &.message-with-tail { - .message-text { - border-radius: 16px 16px 16px 0; - -webkit-mask-box-image: url("data:image/svg+xml;charset=utf-8,") 50% 42% 46% 56%; - } - &.message-pic img{ - border-radius: 16px 16px 16px 0; - } - } -} -.message-last { - margin-bottom: 8px; -} -.message-appear-from-bottom { - -webkit-animation: messageAppearFromBottom 400ms; - animation: messageAppearFromBottom 400ms; -} -.message-appear-from-top { - -webkit-animation: messageAppearFromTop 400ms; - animation: messageAppearFromTop 400ms; -} -.messages-auto-layout { - .message-name, .message-label { - display: none; - } - .message-avatar { - opacity: 0; - } - .message-first { - .message-name { - display: block; - } - } - .message-last { - .message-avatar { - opacity: 1; - } - .message-label { - display: block; - } - } -} -html.retina.ios-6 { - .message, .message.message-pic img { - -webkit-mask-box-image:none; - border-radius: 16px; - } -} -@-webkit-keyframes messageAppearFromBottom { - from { - -webkit-transform: translate3d(0,100%,0); - } - to { - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes messageAppearFromBottom { - from { - transform: translate3d(0,100%,0); - } - to { - transform: translate3d(0,0,0); - } -} -@-webkit-keyframes messageAppearFromTop { - from { - -webkit-transform: translate3d(0,-100%,0); - } - to { - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes messageAppearFromTop { - from { - transform: translate3d(0,-100%,0); - } - to { - transform: translate3d(0,0,0); - } -} diff --git a/vendor/framework7/src/less/ios/modals.less b/vendor/framework7/src/less/ios/modals.less deleted file mode 100644 index f898e59f4..000000000 --- a/vendor/framework7/src/less/ios/modals.less +++ /dev/null @@ -1,594 +0,0 @@ -/* === Modals === */ -@modalBg: rgba(255,255,255,0.95); -@modalButonColor : @themeColor; -@modalButonActiveBg: rgba(230,230,230,0.95); -@modalHairlineColor: rgba(0,0,0,0.2); -@modalDuration: 400ms; - -@actionsModalBg: rgba(255,255,255,0.95); -@actionsModalButtonActiveBg: rgba(230,230,230,0.9); -@actionsModalHairlineColor: rgba(0,0,0,0.2); -@actionsModalDuration: 300ms; - -@popoverBg: rgba(255,255,255,0.95); - -@popupDuration: 400ms; - -@actionsPopoverHairline: rgba(0,0,0,0.2); -.modal-overlay, .preloader-indicator-overlay, .popup-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0,0,0,0.4); - z-index: 13000; - visibility: hidden; - opacity: 0; - .transition(@modalDuration); - &.modal-overlay-visible { - visibility: visible; - opacity: 1; - } -} -.popup-overlay { - z-index: 10500; -} -.modal { - width: 270px; - position: absolute; - z-index: 13500; - left: 50%; - margin-left: -135px; - margin-top: 0; - top: 50%; - text-align: center; - border-radius: 13px; - overflow: hidden; - opacity: 0; - .transform(translate3d(0,0,0) scale(1.185)); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -ms-transition-property: -ms-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - color:#000; - display: none; - - &.modal-in { - opacity: 1; - .transition(@modalDuration); - .transform(translate3d(0,0,0) scale(1)); - } - &.modal-out { - opacity: 0; - z-index: 13500-1; - .transition(@modalDuration); - .transform(translate3d(0,0,0) scale(1)); - } -} -.modal-inner { - padding: 15px; - border-radius: 13px 13px 0 0; - position: relative; - background: @modalBg; - .hairline(bottom, @modalHairlineColor); - -} -.modal-title { - font-weight: 500; - font-size: 18px; - text-align: center; - html.ios-gt-8 & { - font-weight: 600; - } - +.modal-text { - margin-top: 5px; - } -} -.modal-buttons { - height: 44px; - position: relative; - .flexbox(); - .justify-content(center); - &.modal-buttons-vertical { - display: block; - height: auto; - } -} -.modal-button { - width: 100%; - padding: 0 5px; - height: 44px; - font-size: 17px; - line-height: 44px; - text-align: center; - color: @modalButonColor; - display: block; - position: relative; - white-space: nowrap; - text-overflow:ellipsis; - overflow: hidden; - cursor: pointer; - box-sizing: border-box; - -webkit-box-flex:1; - -ms-flex:1; - background: @modalBg; - .hairline(right, @modalHairlineColor); - &:first-child { - border-radius: 0 0 0 13px; - } - &:last-child { - .hairline-remove(right); - border-radius: 0 0 13px 0; - } - &:first-child:last-child { - border-radius: 0 0 13px 13px; - } - &.modal-button-bold { - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } - html:not(.watch-active-state) &:active, &.active-state { - background: @modalButonActiveBg; - } - .modal-buttons-vertical & { - border-radius: 0; - .hairline-remove(right); - .hairline-remove(top); - .hairline(bottom, @modalHairlineColor); - &:last-child { - border-radius: 0 0 13px 13px; - .hairline-remove(bottom); - } - } -} -.modal-no-buttons { - .modal-inner { - border-radius: 13px; - .hairline-remove(bottom); - } - .modal-buttons { - display: none; - } -} -// Action sheet -.actions-modal { - position: absolute; - left: 0; - bottom: 0; - z-index: 13500; - width: 100%; - .transform(translate3d(0,100%,0)); - max-height: 100%; - .scrollable(); - @media (min-width:496px) { - width: 480px; - left: 50%; - margin-left: -240px; - } - &.modal-in { - .transition(@actionsModalDuration); - .transform(translate3d(0,0,0)); - } - &.modal-out { - z-index: 13500-1; - .transition(@actionsModalDuration); - .transform(translate3d(0,100%,0)); - } -} -.actions-modal-group { - margin: 8px; - position: relative; - border-radius: 13px; - overflow: hidden; - .transform(translate3d(0,0,0)); -} -.actions-modal-button, .actions-modal-label { - width: 100%; - text-align: center; - font-weight: normal; - margin: 0; - background: @actionsModalBg; - box-sizing: border-box; - display: block; - position: relative; - overflow: hidden; - .hairline(bottom, @actionsModalHairlineColor); - a { - text-decoration: none; - color: inherit; - display: block; - } - b { - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } - &.actions-modal-button-bold { - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } - &.actions-modal-button-red { - color: @red; - } - &:first-child { - border-radius: 13px 13px 0 0; - } - &:last-child { - .hairline-remove(bottom); - border-radius: 0 0 13px 13px; - } - &:first-child:last-child { - border-radius: 13px; - } - &.disabled { - opacity: 0.9; - color:@gray; - } -} -.actions-modal-button { - cursor: pointer; - height: 57px; - line-height: 57px; - font-size: 20px; - color: @themeColor; - white-space: normal; - text-overflow: ellipsis; - html:not(.watch-active-state) &:active, &.active-state { - background: @actionsModalButtonActiveBg; - } -} -.actions-modal-label { - font-size: 13px; - line-height: 1.3; - min-height: 57px; - padding: 8px 10px; - color: #8a8a8a; - .flexbox(); - .justify-content(center); - .align-items(center); -} -@media (orientation:landscape) { - .actions-modal-label { - min-height: 44px; - } - .actions-modal-button { - height: 44px; - line-height: 44px; - } -} -// Prompt -input.modal-text-input { - box-sizing: border-box; - height: 26px; - background: #fff; - margin: 0; - margin-top: 15px; - padding: 0 5px; - border: 1px solid rgba(0,0,0,0.3); - border-radius: 0; - width: 100%; - font-size: 14px; - font-family: inherit; - display: block; - box-shadow: 0 0 0 rgba(0,0,0,0); - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - + input.modal-text-input { - margin-top: 5px; - } -} -.modal-input-double { - input.modal-text-input { - } - .modal-input-double + & { - input.modal-text-input { - border-top: 0; - margin-top: 0; - } - } -} -// Popover -.popover { - width: 320px; - background:@popoverBg; - z-index: 13500; - margin: 0; - top: 0; - opacity: 0; - left: 0; - border-radius: 13px; - position: absolute; - display: none; - .transform(none); - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -ms-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; - &.modal-in { - .transition(@actionsModalDuration); - opacity: 1; - } - .list-block { - margin: 0; - ul { - background: none; - } - &:first-child { - ul { - .hairline-remove(top); - border-radius: 13px 13px 0 0; - } - li:first-child a{ - border-radius: 13px 13px 0 0; - } - } - &:last-child { - ul { - .hairline-remove(bottom); - border-radius: 0 0 13px 13px; - } - li:last-child a{ - border-radius: 0 0 13px 13px; - } - } - &:first-child:last-child { - li:first-child:last-child a, ul:first-child:last-child { - border-radius: 13px; - } - } - + .list-block { - margin-top: 35px; - } - } -} -.popover-angle { - width: 26px; - height: 26px; - position: absolute; - left: -26px; - top: 0; - z-index: 100; - overflow: hidden; - &:after { - content:' '; - background: @popoverBg; - width: 26px; - height: 26px; - position: absolute; - left: 0; - top: 0; - border-radius: 3px; - .transform(rotate(45deg)); - } - &.on-left { - left: -26px; - &:after { - left: 19px; - top: 0; - } - } - &.on-right { - left: 100%; - &:after { - left: -19px; - top: 0; - } - } - &.on-top { - left: 0; - top: -26px; - &:after { - left: 0; - top: 19px; - } - } - &.on-bottom { - left: 0; - top: 100%; - &:after { - left: 0; - top: -19px; - } - } -} -.popover-inner { - .scrollable(); -} -.actions-popover { - .list-block + .list-block { - margin-top: 20px; - } - .list-block ul { - background: #fff; - } -} -.actions-popover-label { - padding: 8px 10px; - color:#8a8a8a; - font-size: 13px; - line-height: 1.3; - text-align: center; - position: relative; - .hairline(bottom, @actionsPopoverHairline); - &:last-child { - .hairline-remove(bottom); - } -} -// Popup -.popup, .login-screen { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11000; - background: #fff; - box-sizing: border-box; - display: none; - .scrollable(); - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - .translate3d(0,100%,0); - &.modal-in, &.modal-out { - .transition(@popupDuration); - } - &.modal-in { - .translate3d(0,0,0); - } - &.modal-out { - .translate3d(0,100%,0); - } -} -.login-screen.modal-in, .login-screen.modal-out { - display: block; -} -// iPad Popup -@media all and (min-width:630px) and (min-height:630px) { - .popup:not(.tablet-fullscreen) { - width: 630px; - height: 630px; - left: 50%; - top: 50%; - margin-left: -315px; - margin-top: -315px; - .translate3d(0,1024px,0); - &.modal-in { - .translate3d(0,0,0); - } - &.modal-out { - .translate3d(0,1024px,0); - } - } -} -html.with-statusbar-overlay { - // iPhone with statusbar overlay - @media all and (max-width:629px), (max-height:629px) { - .popup { - height: ~"-webkit-calc(100% - 20px)"; - height: ~"calc(100% - 20px)"; - top: 20px; - } - .popup-overlay { - z-index: 9500; - } - } - .login-screen, .popup.tablet-fullscreen { - height: ~"-webkit-calc(100% - 20px)"; - height: ~"calc(100% - 20px)"; - top: 20px; - } -} - -//Preloaders modals -.modal .preloader { - width: 34px; - height: 34px; -} -.preloader-indicator-overlay { - visibility: visible; - opacity: 0; - background: none; -} -.preloader-indicator-modal { - position: absolute; - left: 50%; - top: 50%; - padding: 8px; - margin-left: -25px; - margin-top: -25px; - background: rgba(0,0,0,0.8); - z-index: 13500; - border-radius: 5px; - .preloader { - display: block; - width: 34px; - height: 34px; - } -} - -// Picker Modal -.picker-modal { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 260px; - z-index: 12500; - display: none; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - background: #cfd5da; - .translate3d(0,100%,0); - &.modal-in, &.modal-out { - .transition(400ms); - } - &.modal-in { - .translate3d(0,0,0); - } - &.modal-out { - .translate3d(0,100%,0); - } - .picker-modal-inner { - height: 100%; - position: relative; - } - .toolbar { - .hairline(top, #929499); - position: relative; - width: 100%; - background: #f7f7f8; - + .picker-modal-inner { - height: ~"-webkit-calc(100% - @{toolbarSize})"; - height: ~"-moz-calc(100% - @{toolbarSize})"; - height: ~"calc(100% - @{toolbarSize})"; - } - } - &.picker-modal-inline, .popover & { - display: block; - position: relative; - background: none; - z-index: inherit; - .translate3d(0,0,0); - .toolbar { - .hairline-remove(top); - .hairline(bottom, #929499); - } - } - .popover & { - width: auto; - .toolbar { - background: none; - } - } - &.smart-select-picker { - .page { - background: #fff; - } - .toolbar { - .hairline(bottom, #c4c4c4); - } - .list-block { - margin: 0; - ul { - .hairline-remove(top); - .hairline-remove(bottom); - } - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/notifications.less b/vendor/framework7/src/less/ios/notifications.less deleted file mode 100644 index e3d654e4d..000000000 --- a/vendor/framework7/src/less/ios/notifications.less +++ /dev/null @@ -1,159 +0,0 @@ -/* === Notifications === */ -@notificationsDuration: 450ms; -.notifications { - position: absolute; - left: 0; - top: 0; - width: 100%; - z-index: 20000; - font-size: 14px; - margin: 0; - border: none; - display: none; - box-sizing: border-box; - max-height: 100%; - .transition(@notificationsDuration); - -webkit-perspective: 1200px; - perspective: 1200px; - padding-top: 8px; - padding-bottom: 8px; - &.list-block > ul { - .hairline-remove(top); - .hairline-remove(bottom); - background: none; - margin: 0 auto; - max-width: 568px + 16px; - } - .with-statusbar-overlay & { - padding-top: 20px; - .translate3d(0, -20px, 0); - } - .item-content { - padding-left: 8px; - .align-items(flex-start); - } - .item-title-row { - margin-bottom: 8px; - &:before { - position: absolute; - left: 0; - top: 0; - height: 36px; - border-radius: 12px 12px 0 0; - z-index: -1; - background: #fff; - content: ''; - width: 100%; - } - } - .item-title { - font-weight: 400 !important; - height: 36px; - text-transform: uppercase; - line-height: 35px; - font-size: 13px; - html.ios-gt-8 & { - font-weight: 400 !important; - } - } - .item-subtitle { - font-size: 15px; - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } - .item-text { - font-size: 14px; - color: inherit; - height: auto; - line-height: inherit; - } - .item-subtitle, .item-text { - &:first-child { - margin-top: 8px; - } - } - .item-content, .item-inner { - min-height: 0; - } - .item-inner { - position: static; - .hairline-remove(bottom); - } - .item-media { - width: 20px; - img { - max-width: 20px; - max-height: 20px; - } - i.icon { - width: 20px; - height: 20px; - -webkit-background-size: cover; - background-size: cover; - background-position: center; - background-repeat: no-repeat; - } - + .item-inner { - margin-left: 8px; - overflow: visible; - } - } - li.notification-item { - box-shadow: 0px 0px 10px rgba(0,0,0,0.15); - .item-inner { - padding-top: 0; - } - .item-media { - padding-top: 8px; - } - - } - .item-after { - margin-top: auto; - margin-bottom: auto; - } - .close-notification { - width: 22px; - height: 22px; - .encoded-svg-background(""); - background-position: center top; - background-repeat: no-repeat; - -webkit-background-size: 100% auto; - background-size: 100% auto; - position: relative; - opacity: 0.2; - span { - position: absolute; - width: 44px; - height: 44px; - left: 50%; - top: 50%; - margin-left: -22px; - margin-top: -22px; - } - } - .notification-item { - max-width: 568px; - margin: 0 auto 8px; - .transition(@notificationsDuration); - .translate3d(0,0,0); - opacity: 1; - background: rgba(250,250,250,0.95); - border-radius: 12px; - width: ~"-webkit-calc(100% - 16px)"; - width: ~"-moz-calc(100% - 16px)"; - width: ~"calc(100% - 16px)"; - position: absolute; - left: 8px; - top: 0; - &:last-child { - margin-bottom: 0; - } - } - .notification-hidden { - opacity: 0; - .translate3d(0,0,0); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/pages.less b/vendor/framework7/src/less/ios/pages.less deleted file mode 100644 index 7c163a1ad..000000000 --- a/vendor/framework7/src/less/ios/pages.less +++ /dev/null @@ -1,205 +0,0 @@ -/* === Pages === */ - -// Pages animations -@pageDuration: 400ms; - -.pages { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; - background: #000; -} -.page { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #efeff4; - .translate3d(0,0,0); - &.cached { - display: none; - } -} -.page-on-left { - opacity: 0.9; - .translate3d(-20%); -} -.page-on-center { - .swipeback-page-shadow { - opacity: 1; - } -} -.page-on-right { - .translate3d(100%); - .swipeback-page-shadow { - opacity: 0; - } -} -.page-content { - .scrollable(); - box-sizing: border-box; - height: 100%; - position: relative; - z-index: 1; -} - -// Page Shadow -.page-fake-shadow() { - position: absolute; - right: 100%; - top: 0; - width: 16px; - height: 100%; - background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 10%, rgba(0,0,0,0.01) 50%, rgba(0,0,0,0.2) 100%); - background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 10%, rgba(0,0,0,0.01) 50%, rgba(0,0,0,0.2) 100%); - z-index: -1; - content: ''; - html.android & { - display: none; - .animation(none); - } -} -.swipeback-page-shadow { - .page-fake-shadow(); -} - - -//Class that will trigger transition during page custom transitions (like swipe-back) -.page-transitioning { - &, .swipeback-page-shadow { - .transition(@pageDuration); - } -} -.page-from-right-to-center, .page-from-center-to-right { - &:before { - .page-fake-shadow(); - } -} -// From/to Right To/from Center animations -.page-from-right-to-center { - &:before { - .animation(pageFromRightToCenterShadow @pageDuration forwards); - } - .animation(pageFromRightToCenter @pageDuration forwards); -} -.page-from-center-to-right { - &:before { - .animation(pageFromCenterToRightShadow @pageDuration forwards); - } - .animation(pageFromCenterToRight @pageDuration forwards); -} -@-webkit-keyframes pageFromRightToCenter { - from { - -webkit-transform: translate3d(100%,0,0); - } - to { - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes pageFromRightToCenter { - from { - transform: translate3d(100%,0,0); - } - to { - transform: translate3d(0,0,0); - } -} -@-webkit-keyframes pageFromRightToCenterShadow { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes pageFromRightToCenterShadow { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - -webkit-transform: translate3d(0,0,0); - } - to { - -webkit-transform: translate3d(100%,0,0); - } -} -@keyframes pageFromCenterToRight { - from { - transform: translate3d(0,0,0); - } - to { - transform: translate3d(100%,0,0); - } -} -@-webkit-keyframes pageFromCenterToRightShadow { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes pageFromCenterToRightShadow { - from { - opacity: 1; - } - to { - opacity: 0; - } -} - - -// From/to Center To/from Left animations -.page-from-center-to-left { - .animation(pageFromCenterToLeft @pageDuration forwards); -} -.page-from-left-to-center { - .animation(pageFromLeftToCenter @pageDuration forwards); -} - -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - -webkit-transform: translate3d(0,0,0); - } - to { - opacity: 0.9; - -webkit-transform: translate3d(-20%,0,0); - } -} -@keyframes pageFromCenterToLeft { - from { - transform: translate3d(0,0,0); - } - to { - opacity: 0.9; - transform: translate3d(-20%,0,0); - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 0.9; - -webkit-transform: translate3d(-20%,0,0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes pageFromLeftToCenter { - from { - transform: translate3d(-20%,0,0); - } - to { - opacity: 1; - transform: translate3d(0,0,0); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/panels.less b/vendor/framework7/src/less/ios/panels.less deleted file mode 100644 index 3be8d3a26..000000000 --- a/vendor/framework7/src/less/ios/panels.less +++ /dev/null @@ -1,99 +0,0 @@ -/* === Panels === */ -@panelWidth:260px; -@panelsDuration: 400ms; -.panel-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0,0,0,0); - opacity: 0; - z-index: 5999; - display: none; -} -.panel { - z-index: 1000; - display: none; - background: #111; - box-sizing: border-box; - .scrollable(); - position: absolute; - width: @panelWidth; - top: 0; - height: 100%; - .translate3d(0); - .transition(@panelsDuration); - - &.panel-left { - &.panel-cover { - z-index: 6000; - left: -@panelWidth; - } - &.panel-reveal { - left: 0; - } - } - &.panel-right { - &.panel-cover { - z-index: 6000; - right: -@panelWidth; - } - &.panel-reveal { - right: 0; - } - } -} -body.with-panel-left-cover, body.with-panel-right-cover { - .views { - .translate3d(0); - } - .panel-overlay { - display: block; - } -} -body.with-panel-left-reveal, body.with-panel-right-reveal { - .views { - .transition(@panelsDuration); - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; - } - .panel-overlay { - display: block; - } -} -body.with-panel-left-reveal { - .views { - .translate3d(@panelWidth); - } - .panel-overlay { - margin-left: @panelWidth; - } -} -body.with-panel-left-cover { - .panel-left { - .translate3d(@panelWidth); - } -} -body.with-panel-right-reveal { - .views { - .translate3d(-@panelWidth); - } - .panel-overlay { - margin-left: -@panelWidth; - } -} -body.with-panel-right-cover { - .panel-right { - .translate3d(-@panelWidth); - } -} -body.panel-closing { - .views { - .transition(@panelsDuration); - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/photo-browser.less b/vendor/framework7/src/less/ios/photo-browser.less deleted file mode 100644 index 347df1f66..000000000 --- a/vendor/framework7/src/less/ios/photo-browser.less +++ /dev/null @@ -1,247 +0,0 @@ -/* === Photo Browser === */ -.photo-browser { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11500; - body > &, .framework7-root > & { - opacity: 0; - display: none; - .transform(translate3d(0,0,0)); - &.photo-browser-in { - display: block; - .animation(photoBrowserIn 400ms forwards); - } - &.photo-browser-out { - display: block; - .animation(photoBrowserOut 400ms forwards); - } - html.with-statusbar-overlay & { - height: ~"-webkit-calc(100% - 20px)"; - height: ~"calc(100% - 20px)"; - top: 20px; - } - } - .popup > &, body > &, .framework7-root > & { - .navbar, .toolbar { - .transform(translate3d(0,0,0)); - } - } - .page[data-page="photo-browser-slides"] { - background:none; - } - -} -.photo-browser-popup { - background: none; -} -.photo-browser, .views .view[data-page="photo-browser-slides"] { - .navbar, .toolbar { - background: rgba(247,247,247,0.95); - .transition(400ms); - } -} - -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"]{ - .navbar, .toolbar { - .transform(translate3d(0,0,0)); - } -} -.photo-browser-exposed { - .navbar, .toolbar { - opacity: 0; - visibility: hidden; - pointer-events:none; - } - .photo-browser-swiper-container { - background: #000; - } -} -.photo-browser-of { - margin: 0 5px; -} -.photo-browser-captions { - pointer-events:none; - position: absolute; - left: 0; - width: 100%; - bottom: 0; - z-index: 10; - opacity: 1; - .transition(400ms); - &.photo-browser-captions-exposed { - opacity: 0; - } -} -.toolbar ~ .photo-browser-captions { - bottom: @toolbarSize; - .transform(translate3d(0, 0px, 0)); - .photo-browser-exposed & { - .transform(translate3d(0, @toolbarSize, 0)); - } - &.photo-browser-captions-exposed { - .transform(translate3d(0, 0px, 0)); - } -} - -.photo-browser-caption { - box-sizing: border-box; - .transition(300ms); - position:absolute; - bottom:0; - left:0; - opacity: 0; - padding:4px 5px; - width:100%; - text-align:center; - color:#fff; - background: rgba(0,0,0,0.8); - - &:empty { - display: none; - } - &.photo-browser-caption-active { - opacity: 1; - } - .photo-browser-captions-light & { - background: rgba(255,255,255,0.8); - color:#000; - } - .photo-browser-exposed & { - color:#fff; - background: rgba(0,0,0,0.8); - } -} - -.photo-browser-swiper-container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: #fff; - .transition(400ms); -} -.photo-browser-swiper-wrapper { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0; - .flexbox(); -} -.photo-browser-link-inactive { - opacity: 0.3; -} -.photo-browser-slide { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; - .flexbox(); - .justify-content(center); - .align-items(center); - .flex-shrink(0); - box-sizing: border-box; - &.transitioning { - .transition(400ms); - } - span.swiper-zoom-container { - display: none; - } - img { - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - display: none; - } - &.swiper-slide-active, &.swiper-slide-next, &.swiper-slide-prev { - span.swiper-zoom-container { - .flexbox(); - } - img { - display: inline; - } - &.photo-browser-slide-lazy { - .preloader { - display: block; - } - } - } - iframe { - width: 100%; - height: 100%; - } - .preloader { - display: none; - position: absolute; - width: 42px; - height: 42px; - margin-left: -21px; - margin-top: -21px; - left: 50%; - top: 50%; - } -} - -.photo-browser-dark { - .navbar, .toolbar { - background: rgba(30,30,30,0.8); - .hairline-remove(top); - .hairline-remove(bottom); - color:#fff; - a { - color:#fff; - } - } - .photo-browser-swiper-container { - background: #000; - } - -} - -@-webkit-keyframes photoBrowserIn { - 0% { - -webkit-transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } - 100% { - -webkit-transform: translate3d(0,0,0) scale(1); - opacity: 1; - } -} -@keyframes photoBrowserIn { - 0% { - transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } - 100% { - transform: translate3d(0,0,0) scale(1); - opacity: 1; - } -} -@-webkit-keyframes photoBrowserOut { - 0% { - -webkit-transform: translate3d(0,0,0) scale(1); - opacity: 1; - } - 100% { - -webkit-transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } -} -@keyframes photoBrowserOut { - 0% { - transform: translate3d(0,0,0) scale(1); - opacity: 1; - } - 100% { - transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } -} diff --git a/vendor/framework7/src/less/ios/picker.less b/vendor/framework7/src/less/ios/picker.less deleted file mode 100644 index 48eed98b2..000000000 --- a/vendor/framework7/src/less/ios/picker.less +++ /dev/null @@ -1,112 +0,0 @@ -/* === Columns Picker === */ -.picker-columns { - width: 100%; - height: 260px; - z-index: 11500; - &.picker-modal-inline, .popover & { - height: 200px; - } - @media (orientation: landscape) and (max-height: 415px) { - &:not(.picker-modal-inline) { - height: 200px; - } - } -} -.popover.popover-picker-columns { - width: 280px; -} -.picker-items { - .flexbox(); - .justify-content(center); - padding: 0; - text-align: right; - font-size: 24px; - -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); - -webkit-mask-box-image: linear-gradient(to top, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); -} -.picker-items-col { - overflow: hidden; - position: relative; - max-height: 100%; - - &.picker-items-col-left { - text-align: left; - } - &.picker-items-col-center { - text-align: center; - } - &.picker-items-col-right { - text-align: right; - } - &.picker-items-col-divider { - color:#000; - .flexbox(); - .align-items(center); - } -} -.picker-items-col-wrapper { - .transition(300ms); - - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.picker-item { - height: 36px; - line-height: 36px; - padding: 0 10px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - color:#707274; - left: 0; - top: 0; - width: 100%; - box-sizing: border-box; - .transition(300ms); - .picker-items-col-absolute &{ - position: absolute; - } - &.picker-item-far { - pointer-events: none; - } - &.picker-selected { - color: #000; - .transform(translate3d(0,0,0) rotateX(0deg)); - } -} -.picker-center-highlight { - height: 36px; - box-sizing: border-box; - position: absolute; - left: 0; - width: 100%; - top: 50%; - margin-top: -18px; - .hairline(top, #a8abb0); - .hairline(bottom, #a8abb0); - pointer-events: none; -} -// 3D Picker -.picker-3d { - .picker-items { - overflow: hidden; - -webkit-perspective: 1200px; - perspective: 1200px; - } - .picker-items-col, .picker-items-col-wrapper, .picker-item { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - } - .picker-items-col { - overflow: visible; - } - .picker-item { - -webkit-transform-origin: center center -110px; - transform-origin: center center -110px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/preloader.less b/vendor/framework7/src/less/ios/preloader.less deleted file mode 100644 index 205bc28ac..000000000 --- a/vendor/framework7/src/less/ios/preloader.less +++ /dev/null @@ -1,22 +0,0 @@ -/* === Preloader === */ -.preloader { - display: inline-block; - width: 20px; - height: 20px; - .encoded-svg-background(""); - background-position: 50%; - background-size: 100%; - background-repeat: no-repeat; - -webkit-animation: preloader-spin 1s steps(12, end) infinite; - animation: preloader-spin 1s steps(12, end) infinite; -} -@-webkit-keyframes preloader-spin { - 100% { - -webkit-transform: rotate(360deg); - } -} -@keyframes preloader-spin { - 100% { - transform: rotate(360deg); - } -} diff --git a/vendor/framework7/src/less/ios/progressbar.less b/vendor/framework7/src/less/ios/progressbar.less deleted file mode 100644 index af5f28352..000000000 --- a/vendor/framework7/src/less/ios/progressbar.less +++ /dev/null @@ -1,158 +0,0 @@ -/* === Progress Bar === */ -.progressbar, .progressbar-infinite { - height: 2px; - width: 100%; - overflow: hidden; - position: relative; - display: block; - background: #b6b6b6; - border-radius: 2px; - .transform-origin(center top); - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; -} -// Determined -.progressbar { - vertical-align: middle; - span { - width: 100%; - background: @themeColor; - height: 100%; - position: absolute; - left: 0; - top: 0; - .translate3d(-100%, 0, 0); - .transition(150ms); - } -} -// Infinite -.progressbar-infinite { - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: @themeColor; - .translate3d(0, 0, 0); - .transform-origin(left center); - .animation(progressbar-infinite 1s linear infinite); - } - html.with-statusbar-overlay body > &, html.with-statusbar-overlay .framework7-root > & { - top: 20px; - } -} -// Multicolor -.progressbar-infinite.color-multi { - background: none; - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 400%; - height: 100%; - background-image: -webkit-linear-gradient(left, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964); - background-image: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55, #5856d6, #34aadc, #007aff, #5ac8fa, #4cd964); - background-size: 25% 100%; - background-repeat: repeat-x; - .translate3d(0, 0, 0); - .animation(progressbar-infinite-multicolor 3s linear infinite); - } - html.with-statusbar-overlay body > & , html.with-statusbar-overlay .framework7-root > & { - top: 20px; - } -} -body, .view, .views, .page, .panel, .popup, .framework7-root { - > .progressbar, > .progressbar-infinite { - position: absolute; - left: 0; - top: 0; - z-index: 15000; - border-radius: 0; - } -} -// Animations -.progressbar-in { - .animation(progressbar-in 300ms forwards); -} -.progressbar-out { - .animation(progressbar-out 300ms forwards); -} - -html.with-statusbar-overlay body > .progressbar { - top: 20px; -} -@-webkit-keyframes progressbar-in { - from { - opacity: 0; - -webkit-transform: scaleY(0); - } - to { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes progressbar-in { - from { - opacity: 0; - transform: scaleY(0); - } - to { - opacity: 1; - transform: scaleY(1); - } -} -@-webkit-keyframes progressbar-out { - from { - opacity: 1; - -webkit-transform: scaleY(1); - } - to { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes progressbar-out { - from { - opacity: 1; - transform: scaleY(1); - } - to { - opacity: 0; - transform: scaleY(0); - } -} -@-webkit-keyframes progressbar-infinite { - 0% { - -webkit-transform: translate3d(-50%, 0, 0) scaleX(0.5); - } - 100% { - -webkit-transform: translate3d(100%, 0, 0) scaleX(0.5); - } -} -@keyframes progressbar-infinite { - 0% { - transform: translate3d(-50%, 0, 0) scaleX(0.5); - } - 100% { - transform: translate3d(100%, 0, 0) scaleX(0.5); - } -} -@-webkit-keyframes progressbar-infinite-multicolor { - from { - -webkit-transform: translate3d(0%, 0, 0); - } - to { - -webkit-transform: translate3d(-50%, 0, 0); - } -} -@keyframes progressbar-infinite-multicolor { - from { - transform: translate3d(0%, 0, 0); - } - to { - transform: translate3d(-50%, 0, 0); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/pull-to-refresh.less b/vendor/framework7/src/less/ios/pull-to-refresh.less deleted file mode 100644 index ab86b0b16..000000000 --- a/vendor/framework7/src/less/ios/pull-to-refresh.less +++ /dev/null @@ -1,71 +0,0 @@ -/* === Pull To Refresh === */ -.pull-to-refresh-layer { - position:absolute; - position: relative; - margin-top: -@toolbarSize; - left:0; - top:0; - width:100%; - height:@toolbarSize; - - .preloader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -10px; - margin-top: -10px; - visibility: hidden; - - } - .pull-to-refresh-arrow { - width: 13px; - height: 20px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -6px; - margin-top: -10px; - background: no-repeat center; - .encoded-svg-background(""); - background-size: 13px 20px; - z-index: 10; - .transform(rotate(0deg) translate3d(0,0,0)); - .transition(300ms); - } - -} -.pull-to-refresh-content { - &.pull-to-refresh-no-navbar { - margin-top: -@toolbarSize; - height: ~"-webkit-calc(100% + @{toolbarSize})"; - height: ~"-moz-calc(100% + @{toolbarSize})"; - height: ~"calc(100% + @{toolbarSize})"; - .pull-to-refresh-layer { - margin-top: 0; - } - } - &.transitioning, &.refreshing { - .transition(400ms); - } - &:not(.refreshing) { - .pull-to-refresh-layer .preloader { - .animation(none); - } - } - &.refreshing { - .translate3d(0,@toolbarSize,0); - .pull-to-refresh-arrow { - visibility: hidden; - .transition(0ms); - } - .preloader { - visibility: visible; - } - } - &.pull-up { - .pull-to-refresh-arrow { - .transform(rotate(180deg) translate3d(0,0,0)); - } - } - -} diff --git a/vendor/framework7/src/less/ios/searchbar.less b/vendor/framework7/src/less/ios/searchbar.less deleted file mode 100644 index f1360c52e..000000000 --- a/vendor/framework7/src/less/ios/searchbar.less +++ /dev/null @@ -1,124 +0,0 @@ -/* === Search Bar === */ -@searchbarBg: #c9c9ce; -@searchbarBorderColor: #b4b4b4; -@searchbarSize: 44px; -.searchbar { - height: @searchbarSize; - width: 100%; - background: @searchbarBg; - box-sizing: border-box; - .hairline(bottom, @searchbarBorderColor); - padding: 0 8px; - overflow: hidden; - position: relative; - .flexbox(); - .align-items(center); - .searchbar-input { - width: 100%; - height: 28px; - position: relative; - .flex-shrink(1); - } - input[type="search"] { - .bars-input(); - padding: 0 28px; - height: 100%; - background-repeat: no-repeat; - background-position: 8px center; - .encoded-svg-background(""); - -webkit-background-size: 13px 13px; - background-size: 13px 13px; - &::-webkit-input-placeholder { - color: #939398; - opacity: 1; - } - &::-webkit-search-cancel-button { - -webkit-appearance:none; - } - } - .searchbar-clear { - position: absolute; - width: 28px; - height: 28px; - right: 0; - top: 0; - opacity: 0; - pointer-events:none; - background-position: center; - background-repeat: no-repeat; - .encoded-svg-background(""); - -webkit-background-size: 14px 14px; - background-size: 14px 14px; - .transition(300ms); - cursor: pointer; - } - .searchbar-cancel { - .transition(300ms); - .translate3d(0,0,0); - font-size: 17px; - cursor: pointer; - opacity: 0; - .flex-shrink(0); - margin-left: 0; - pointer-events:none; - display: none; - } - &.searchbar-active { - .searchbar-cancel { - margin-left: 8px; - opacity: 1; - pointer-events: auto; - html:not(.watch-active-state) &:active, &.active-state { - opacity: 0.3; - .transition(0ms); - } - } - } - &.searchbar-not-empty { - .searchbar-clear { - pointer-events: auto; - opacity: 1; - } - } -} -.searchbar-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 100; - opacity: 0; - pointer-events:none; - background: rgba(0,0,0,0.4); - .transition(300ms); - .translate3d(0,0,0); - &.searchbar-overlay-active { - opacity: 1; - pointer-events: auto; - } -} -.searchbar-not-found { - display: none; -} -.hidden-by-searchbar, .list-block .hidden-by-searchbar, .list-block li.hidden-by-searchbar { - display: none; -} -.page > .searchbar { - position: absolute; - width: 100%; - left: 0; - top: 0; - z-index: 200; - & ~ .page-content { - padding-top: @searchbarSize; - } -} -.navbar-fixed, .navbar-through { - .page > .searchbar, > .searchbar { - top: @toolbarSize; - & ~ .page-content { - padding-top: @searchbarSize + @toolbarSize; - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/statusbar.less b/vendor/framework7/src/less/ios/statusbar.less deleted file mode 100644 index 305adb5ff..000000000 --- a/vendor/framework7/src/less/ios/statusbar.less +++ /dev/null @@ -1,22 +0,0 @@ -/* === Statusbar overlay === */ -html.with-statusbar-overlay body{ - padding-top: 20px; - box-sizing: border-box; - .statusbar-overlay { - display: block; - } - .panel { - padding-top: 20px; - } -} -.statusbar-overlay { - background: @toolbarBg; - z-index: 10000; // A bit lower than .modals-overlay - position: absolute; - left: 0; - top: 0; - height: 20px; - width: 100%; - display: none; - .transition(@panelsDuration); -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/swiper.less b/vendor/framework7/src/less/ios/swiper.less deleted file mode 100644 index ed0d9e5dc..000000000 --- a/vendor/framework7/src/less/ios/swiper.less +++ /dev/null @@ -1,466 +0,0 @@ -/* === Swiper === */ -.swiper-container { - margin-left: auto; - margin-right: auto; - position:relative; - overflow:hidden; - /* Fix of Webkit flickering */ - z-index:1; -} -.swiper-container-no-flexbox { - .swiper-slide { - float: left; - } -} -.swiper-container-vertical > .swiper-wrapper{ - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.swiper-wrapper { - position:relative; - width: 100%; - height: 100%; - z-index: 1; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - - -webkit-transition-property:-webkit-transform; - -moz-transition-property:-moz-transform; - -o-transition-property:-o-transform; - -ms-transition-property:-ms-transform; - transition-property:transform; - - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-container-android .swiper-slide, .swiper-wrapper { - -webkit-transform:translate3d(0px,0,0); - -moz-transform:translate3d(0px,0,0); - -o-transform:translate(0px,0px); - -ms-transform:translate3d(0px,0,0); - transform:translate3d(0px,0,0); -} -.swiper-container-multirow > .swiper-wrapper { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -ms-flex-wrap: wrap; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -.swiper-container-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-slide { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; -} -/* Auto Height */ -.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide { - height: auto; -} -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-transition-property: -webkit-transform, height; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform, height; -} -/* a11y */ -.swiper-container .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} - -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} -/* Arrows */ -.swiper-button-prev, .swiper-button-next { - position: absolute; - top: 50%; - width: 27px; - height: 44px; - margin-top: -22px; - z-index: 10; - cursor: pointer; - -moz-background-size: 27px 44px; - -webkit-background-size: 27px 44px; - background-size: 27px 44px; - background-position: center; - background-repeat: no-repeat; - &.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; - } -} -.swiper-button-prev, .swiper-container-rtl .swiper-button-next { - .encoded-svg-background(""); - left: 10px; - right: auto; -} -.swiper-button-next, .swiper-container-rtl .swiper-button-prev { - .encoded-svg-background(""); - right: 10px; - left: auto; -} - -/* Pagination Styles */ -.swiper-pagination { - position: absolute; - text-align: center; - -webkit-transition: 300ms; - -moz-transition: 300ms; - -o-transition: 300ms; - transition: 300ms; - -webkit-transform: translate3d(0,0,0); - -ms-transform: translate3d(0,0,0); - -o-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - z-index: 10; - &.swiper-pagination-hidden { - opacity: 0; - } -} -/* Common Styles */ -.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets{ - bottom: 10px; - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullet { - width: 8px; - height: 8px; - display: inline-block; - border-radius: 100%; - background: #000; - opacity: 0.2; - button& { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - } - .swiper-pagination-clickable & { - cursor: pointer; - } -} -.swiper-pagination-bullet-active { - opacity: 1; - background: #007aff; -} -.swiper-container-vertical { - > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform:translate3d(0px,-50%,0); - -moz-transform:translate3d(0px,-50%,0); - -o-transform:translate(0px,-50%); - -ms-transform:translate3d(0px,-50%,0); - transform:translate3d(0px,-50%,0); - .swiper-pagination-bullet { - margin: 5px 0; - display: block; - } - } -} -.swiper-container-horizontal { - > .swiper-pagination-bullets { - .swiper-pagination-bullet { - margin: 0 5px; - } - } -} -/* Progress */ -.swiper-pagination-progress { - background: rgba(0,0,0,0.25); - position: absolute; - .swiper-pagination-progressbar { - background: #007aff; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: left top; - -moz-transform-origin: left top; - -ms-transform-origin: left top; - -o-transform-origin: left top; - transform-origin: left top; - } - .swiper-container-rtl & .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - -moz-transform-origin: right top; - -ms-transform-origin: right top; - -o-transform-origin: right top; - transform-origin: right top; - } - .swiper-container-horizontal > & { - width: 100%; - height: 4px; - left: 0; - top: 0; - } - .swiper-container-vertical > & { - width: 4px; - height: 100%; - left: 0; - top: 0; - } -} -/* 3D Container */ -.swiper-container-3d { - -webkit-perspective: 1200px; - -moz-perspective: 1200px; - -o-perspective: 1200px; - perspective: 1200px; - .swiper-wrapper, .swiper-slide, .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top, .swiper-slide-shadow-bottom, .swiper-cube-shadow { - .preserve3d(); - } - .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top, .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; - } - .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } - .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } - .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } - .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } -} -/* Coverflow */ -.swiper-container-coverflow, .swiper-container-flip { - .swiper-wrapper { - /* Windows 8 IE 10 fix */ - -ms-perspective:1200px; - } -} -/* Cube + Flip */ -.swiper-container-cube, .swiper-container-flip { - overflow: visible; - .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, & .swiper-slide-active { - pointer-events: auto; - } - } - .swiper-slide-shadow-top, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left, .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - } -} -/* Cube */ -.swiper-container-cube { - .swiper-slide { - visibility: hidden; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; - } - &.swiper-container-rtl .swiper-slide{ - -webkit-transform-origin: 100% 0; - -moz-transform-origin: 100% 0; - -ms-transform-origin: 100% 0; - transform-origin: 100% 0; - } - .swiper-slide-active, .swiper-slide-next, .swiper-slide-prev, .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; - } - .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - background: #000; - opacity: 0.6; - -webkit-filter: blur(50px); - filter: blur(50px); - z-index: 0; - } -} -/* Fade */ -.swiper-container-fade { - &.swiper-container-free-mode { - .swiper-slide { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - } - } - .swiper-slide { - pointer-events: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, & .swiper-slide-active { - pointer-events: auto; - } - } -} -.swiper-zoom-container { - width: 100%; - height: 100%; - - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - - -webkit-box-pack: center; - -moz-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - - -webkit-box-align: center; - -moz-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - - text-align: center; - > img, > svg, > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; - } -} -/* Scrollbar */ -.swiper-scrollbar { - border-radius: 10px; - position: relative; - -ms-touch-action: none; - background: rgba(0,0,0,0.1); - .swiper-container-horizontal > & { - position: absolute; - left: 1%; - bottom: 3px; - z-index: 50; - height: 5px; - width: 98%; - } - .swiper-container-vertical > & { - position: absolute; - right: 3px; - top: 1%; - z-index: 50; - width: 5px; - height: 98%; - } -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: rgba(0,0,0,0.5); - border-radius: 10px; - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -/* Preloader */ -.swiper-slide .preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/tabs.less b/vendor/framework7/src/less/ios/tabs.less deleted file mode 100644 index 2e896c5c4..000000000 --- a/vendor/framework7/src/less/ios/tabs.less +++ /dev/null @@ -1,31 +0,0 @@ -/* === Tabs === */ -.tabs { - .tab { - display: none; - } - .tab.active { - display: block; - } -} -.tabs-animated-wrap { - position: relative; - width: 100%; - overflow: hidden; - height: 100%; - >.tabs { - .flexbox(); - height: 100%; - .transition(300ms); - >.tab { - width: 100%; - display: block; - .flex-shrink(0); - } - } -} -.tabs-swipeable-wrap { - height: 100%; - > .tabs > .tab { - display: block; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/toolbars-pages.less b/vendor/framework7/src/less/ios/toolbars-pages.less deleted file mode 100644 index c6f5e980b..000000000 --- a/vendor/framework7/src/less/ios/toolbars-pages.less +++ /dev/null @@ -1,85 +0,0 @@ -/* === Relation between toolbar/navbar types and pages === */ -.page, .view, .views{ - >.navbar, >.toolbar { - position: absolute; - } -} -.subnavbar ~ .page-content { - padding-top: @toolbarSize; -} -.navbar-through, .navbar-fixed { - .page-content { - padding-top: @toolbarSize; - } - .with-subnavbar .page-content, .page-content.with-subnavbar, .subnavbar ~ .page-content { - padding-top: @toolbarSize * 2; - } - .page .subnavbar, &.page .subnavbar { - top: @toolbarSize; - } -} - -.toolbar-through, .toolbar-fixed, .tabbar-through, .tabbar-fixed { - .page-content { - padding-bottom: @toolbarSize; - } -} -.tabbar-labels-fixed, .tabbar-labels-through { - .page-content { - padding-bottom: @tabbarLabelsSize; - @media all and (min-width:768px) { - padding-bottom: @tabbarLabelsSizeTablet; - } - } -} -// Page Hidden Navbar -.navbar { - &.navbar-hiding { - .transition(400ms); - .translate3d(0,0,0); - & ~ .page-content, & ~ .pages, & ~ .page { - .list-group-title { - .transition(400ms); - } - .subnavbar { - .transition(400ms); - } - } - } - &.navbar-hidden { - .transition(400ms); - .translate3d(0,-100%,0); - & ~ .page-content, & ~ .pages, & ~ .page { - .list-group-title { - .transition(400ms); - top:-@toolbarSize; - } - .subnavbar { - .translate3d(0,-100%,0); - .transition(400ms); - } - } - } -} -.page.no-navbar { - .page-content { - padding-top: 0; - } - &.with-subnavbar .page-content, .with-subnavbar & .page-content, .page-content.with-subnavbar { - padding-top: @toolbarSize; - } -} -// Page Hidden Toolbar -.toolbar, .tabbar { - &.toolbar-hiding, &.tabbar-hiding { - .transition(400ms); - .translate3d(0,0,0); - } - &.toolbar-hidden, &.tabbar-hidden { - .transition(400ms); - .translate3d(0,100%,0); - } -} -.page.no-toolbar .page-content, .page.no-tabbar .page-content { - padding-bottom: 0; -} diff --git a/vendor/framework7/src/less/ios/toolbars.less b/vendor/framework7/src/less/ios/toolbars.less deleted file mode 100644 index bba227858..000000000 --- a/vendor/framework7/src/less/ios/toolbars.less +++ /dev/null @@ -1,374 +0,0 @@ -/* === Toolbars === */ - -//Toolbar/Navbar -@toolbarBg : #f7f7f8; -@toolbarBgBlured: rgba(248,248,249, 0.85); -@toolbarBorderColor: #c4c4c4; -@toolbarLinksColor: @themeColor; -@toolbarSize: 44px; - -//Tab bar -@tabbarLabelsSize: 50px; -@tabbarLinksColor: #929292; -@tabbarActiveLinksColor: @themeColor; -@tabbarLabelsSizeTablet: 56px; - -// Toolbars animations -@toolbarDuration: 400ms; - -.navbar-inner, .toolbar-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0 8px; - box-sizing: border-box; - .flexbox(); - .justify-content(space-between); - .align-items(center); -} -.navbar-inner.cached { - display: none; -} -.navbar, .toolbar { - height: @toolbarSize; - width: 100%; - box-sizing: border-box; - font-size: 17px; - position: relative; - margin: 0; - z-index: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - b { - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - } -} -.navbar, .toolbar, .subnavbar { - background: @toolbarBg; - a.link { - line-height: @toolbarSize; - height: @toolbarSize; - text-decoration: none; - position: relative; - .flexbox(); - .justify-content(flex-start); - .align-items(center); - .transition(300ms); - .transform(translateZ(0px)); - html:not(.watch-active-state) &:active, &.active-state { - opacity: 0.3; - .transition(0ms); - } - i+span, i+i, span+i, span+span { - margin-left: 7px; - } - } - a.icon-only { - min-width: @toolbarSize; - .flexbox(); - .justify-content(center); - .align-items(center); - margin: 0; - } - i.icon { - display: block; - } -} -.navbar { - left: 0; - top: 0; - .hairline(bottom, @toolbarBorderColor); - &:after { - backface-visibility: hidden; - } - &.no-border { - .hairline-remove(bottom); - } - .center { - font-size: 17px; - font-weight: 500; - html.ios-gt-8 & { - font-weight: 600; - } - text-align: center; - margin: 0; - position: relative; - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; - line-height: @toolbarSize; - .flex-shrink(10); - .flexbox(); - .align-items(center); - } - .left, .right { - .flex-shrink(0); - .flexbox(); - .justify-content(flex-start); - .align-items(center); - .translate3d(0,0,0); - a+a { - margin-left: 15px; - } - } - .left { - margin-right: 10px; - } - .right { - margin-left: 10px; - } - .right:first-child { - position: absolute; - right: 8px; - height: 100%; - } - .popup & { - .translate3d(0,0,0); - } -} -.subnavbar { - height: @toolbarSize; - width: 100%; - position: absolute; - left: 0; - top: 100%; - margin-top: -1px; - z-index: 20; - box-sizing: border-box; - padding: 0 8px; - .flexbox(); - .justify-content(space-between); - .align-items(center); - .hairline(bottom, @toolbarBorderColor); - &.no-border { - .hairline-remove(bottom); - } - .navbar.no-border & { - margin-top: 0; - } - .navbar-on-left &, .navbar-on-right &{ - pointer-events: none; - } - .navbar &, .page & { - position: absolute; - } - .page > & { - top: 0; - margin-top: 0; - } - > .buttons-row { - width: 100%; - } - .searchbar, &.searchbar { - position: absolute; - } - &.searchbar, .searchbar { - position: absolute; - } - .searchbar { - left: 0; - top: 0; - } -} -.toolbar { - left: 0; - bottom: 0; - .hairline(top, @toolbarBorderColor); - &.no-border { - .hairline-remove(top); - } - a { - .flex-shrink(1); - position: relative; - white-space: nowrap; - text-overflow:ellipsis; - overflow: hidden; - } -} - -// Tabbar -.tabbar { - color: @tabbarLinksColor; - z-index: 5001; - a { - color: @tabbarLinksColor; - } - a.active { - color: @tabbarActiveLinksColor; - } - a.link { - line-height: 1.4; - } - a.tab-link, a.link { - height: 100%; - width: 100%; - box-sizing: border-box; - .flexbox(); - .justify-content(center); - .align-items(center); - overflow: visible; - -webkit-box-flex: 1; - -ms-flex: 1; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - } - i.icon { - height: 30px; - } -} -.tabbar-labels { - height: @tabbarLabelsSize; - a.tab-link, a.link { - padding-top: 4px; - padding-bottom: 4px; - height: 100%; - .justify-content(space-between); - i + span { - margin: 0; - } - } - span.tabbar-label { - line-height: 1; - display: block; - margin: 0; - letter-spacing: 0.01em; - font-size: 10px; - position: relative; - text-overflow: ellipsis; - white-space: nowrap; - } -} -.subnavbar, .navbar { - input[type="text"], input[type="password"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"] { - .bars-input(); - } -} -@media all and (min-width:768px) { - .tabbar { - .toolbar-inner { - .justify-content(center); - } - a.tab-link, a.link { - width: auto; - min-width: 105px; - } - } - .tabbar-labels { - height: @tabbarLabelsSizeTablet; - span.tabbar-label { - font-size: 14px; - } - } -} - -.navbar-from-right-to-center { - .left, .right, .center, .subnavbar, .fading { - .animation(navbarElementFadeIn @toolbarDuration forwards); - } - .sliding { - opacity: 1; - } - -} -.navbar-from-center-to-right { - .left, .right, .center, .subnavbar, .fading { - .animation(navbarElementFadeOut @toolbarDuration forwards); - } - .sliding { - opacity: 0; - } - .subnavbar.sliding { - opacity: 1; - } -} -@-webkit-keyframes navbarElementFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes navbarElementFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -.navbar-from-center-to-left { - .left, .right, .center, .subnavbar, .fading { - .animation(navbarElementFadeOut @toolbarDuration forwards); - } - .sliding { - opacity: 0; - } - .subnavbar.sliding { - opacity: 1; - } -} -.navbar-from-left-to-center { - .left, .right, .center, .subnavbar, .fading { - .animation(navbarElementFadeIn @toolbarDuration forwards); - } - .sliding { - opacity: 1; - } -} -.navbar-on-left { - .left, .right, .center, .subnavbar, .fading { - opacity: 0; - } - .sliding { - opacity: 0; - } - .subnavbar.sliding { - opacity: 1; - .translate3d(-100%,0,0); - } -} -.navbar-on-right { - .left, .right, .center, .subnavbar, .fading { - opacity: 0; - } - .sliding { - opacity: 0; - } - .subnavbar.sliding { - .translate3d(100%,0,0); - } -} -@-webkit-keyframes navbarElementFadeOut { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -@keyframes navbarElementFadeOut { - from { - opacity: 1; - } - to { - opacity: 0; - } -} -.navbar-from-right-to-center, .navbar-from-center-to-right, .navbar-from-center-to-left, .navbar-from-left-to-center { - .left.sliding .back.link .icon { - .transition(@toolbarDuration); - } - .sliding { - .transition(@toolbarDuration); - .animation(none); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/ios/views.less b/vendor/framework7/src/less/ios/views.less deleted file mode 100644 index a4307edde..000000000 --- a/vendor/framework7/src/less/ios/views.less +++ /dev/null @@ -1,14 +0,0 @@ -/* === Views === */ -.views, .view { - position: relative; - width: 100%; - height: 100%; - z-index: 5000; -} -.views { - .scrollable(); -} -.view { - overflow: hidden; - box-sizing: border-box; -} diff --git a/vendor/framework7/src/less/material/_colors-vars.less b/vendor/framework7/src/less/material/_colors-vars.less deleted file mode 100644 index 1b591d226..000000000 --- a/vendor/framework7/src/less/material/_colors-vars.less +++ /dev/null @@ -1,24 +0,0 @@ -@red: #f44336; -@pink: #e91e63; -@purple: #9c27b0; -@deeppurple:#673ab7; -@indigo: #3f51b5; -@blue: #2196f3; -@lightblue: #03a9f4; -@cyan: #00bcd4; -@teal: #009688; -@green: #4caf50; -@lightgreen: #8bc34a; -@lime: #cddc39; -@yellow: #ffeb3b; -@amber: #ffc107; -@orange: #ff9800; -@deeporange: #ff5722; -@brown: #795548; -@gray: #9e9e9e; -@bluegray: #607d8b; -@white: #ffffff; -@black: #000000; - -// Theme Color -@themeColor: @blue; \ No newline at end of file diff --git a/vendor/framework7/src/less/material/_mixins.less b/vendor/framework7/src/less/material/_mixins.less deleted file mode 100644 index ab3e4bfca..000000000 --- a/vendor/framework7/src/less/material/_mixins.less +++ /dev/null @@ -1,352 +0,0 @@ -.transition(@d) { - -webkit-transition-duration: @d; - transition-duration: @d; -} -.delay(@d) { - -webkit-transition-delay: @d; - transition-delay: @d; -} -.transform(@t) { - -webkit-transform: @t; - transform: @t; -} -.transform-origin(@to) { - -webkit-transform-origin: @to; - transform-origin: @to; -} -.translate3d(@x:0, @y:0, @z:0) { - -webkit-transform: translate3d(@x,@y,@z); - transform: translate3d(@x,@y,@z); -} -.animation(@a) { - -webkit-animation: @a; - animation: @a; -} -.scrollable(){ - overflow: auto; - -webkit-overflow-scrolling: touch; -} -.flexbox() { - display: -webkit-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; -} -.flexbox-inline() { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: -webkit-inline-flex; - display: inline-flex; -} -.flex-wrap(@fw) when (@fw = nowrap) { - -webkit-box-lines: single; - -moz-box-lines: single; - -webkit-flex-wrap: nowrap; - -ms-flex-wrap: none; - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.flex-wrap(@fw) when (@fw = wrap) { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -webkit-flex-wrap: wrap; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} -.flex-wrap(@fw) when not (@fw = wrap) and not (@fw = nowrap) { - -webkit-flex-wrap: @fw; - -ms-flex-wrap: @fw; - flex-wrap: @fw; -} -.flex-shrink(@fs) { - -webkit-box-flex: @fs; - -webkit-flex-shrink: @fs; - -ms-flex: 0 @fs auto; - flex-shrink: @fs; -} -.justify-content(@jc) when (@jc = flex-start) { - -webkit-box-pack: start; - -ms-flex-pack: start; - -webkit-justify-content: flex-start; - justify-content: flex-start; -} -.justify-content(@jc) when (@jc = flex-end) { - -webkit-box-pack: end; - -ms-flex-pack: end; - -webkit-justify-content: flex-end; - justify-content: flex-end; -} -.justify-content(@jc) when (@jc = space-between) { - -webkit-box-pack: justify; - -ms-flex-pack: justify; - -webkit-justify-content: space-between; - justify-content: space-between; -} -.justify-content(@jc) when not (@jc = flex-start) and not (@jc = flex-end) and not (@jc = space-between) { - -webkit-box-pack: @jc; - -ms-flex-pack: @jc; - -webkit-justify-content: @jc; - justify-content: @jc; -} -.align-items(@ai) when (@ai = flex-start) { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; -} -.align-items(@ai) when (@ai = flex-end) { - -webkit-box-align: end; - -ms-flex-align: end; - -webkit-align-items: flex-end; - align-items: flex-end; -} -.align-items(@ai) when not (@ai = flex-start) and not (@ai = flex-end) { - -webkit-box-align: @ai; - -ms-flex-align: @ai; - -webkit-align-items: @ai; - align-items: @ai; -} -.align-content(@ai) { - -ms-flex-line-pack: @ai; - -webkit-align-content: @ai; - align-content: @ai; -} -.align-self(@as) { - -ms-flex-item-align: @as; - -webkit-align-self: @as; - align-self: @as; -} -.clearfix() { - &:before, - &:after { - content: " "; - display: table; - } - &:after { - clear: both; - } -} -.hairline(@position, @color) when (@position = top) { - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - height: 1px; - width: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(50% 0%); - html.pixel-ratio-2 &{ - .transform(scaleY(0.5)); - } - html.pixel-ratio-3 &{ - .transform(scaleY(0.33)); - } - } -} -.hairline(@position, @color) when (@position = left) { - &:before { - content: ''; - position: absolute; - left: 0; - top: 0; - bottom: auto; - right: auto; - width: 1px; - height: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(0% 50%); - html.pixel-ratio-2 &{ - .transform(scaleX(0.5)); - } - html.pixel-ratio-3 &{ - .transform(scaleX(0.33)); - } - } -} -.hairline(@position, @color) when (@position = bottom) { - &:after { - content: ''; - position: absolute; - left: 0; - bottom: 0; - right: auto; - top: auto; - height: 1px; - width: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(50% 100%); - html.pixel-ratio-2 &{ - .transform(scaleY(0.5)); - } - html.pixel-ratio-3 &{ - .transform(scaleY(0.33)); - } - } -} -.hairline(@position, @color) when (@position = right) { - &:after { - content: ''; - position: absolute; - right: 0; - top: 0; - left: auto; - bottom: auto; - width: 1px; - height: 100%; - background-color: @color; - display: block; - z-index: 15; - .transform-origin(100% 50%); - html.pixel-ratio-2 &{ - .transform(scaleX(0.5)); - } - html.pixel-ratio-3 &{ - .transform(scaleX(0.33)); - } - } -} -// For right and bottom -.hairline-remove(@position) when not (@position = left) and not (@position = top) { - &:after { - display: none; - } -} -// For left and top -.hairline-remove(@position) when not (@position = right) and not (@position = bottom) { - &:before { - display: none; - } -} -// For right and bottom -.hairline-color(@position, @color) when not (@position = left) and not (@position = top) { - &:after { - background-color: @color; - } -} -// For left and top -.hairline-color(@position, @color) when not (@position = right) and not (@position = bottom) { - &:before { - background-color: @color; - } -} - -// Encoded SVG Background -.encoded-svg-background(@svg) { - @url: `encodeURIComponent(@{svg})`; - background-image: url("data:image/svg+xml;charset=utf-8,@{url}"); -} - -// Preserve3D -.preserve3d() { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; -} - -// Shadow -.depth(@level:1) { - & when (@level = 1) { - box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - } - & when (@level = 2) { - box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); - } - & when (@level = 3) { - box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23); - } - & when (@level = 4) { - box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); - } - & when (@level = 5) { - box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22); - } -} - -// Highlighted Links -.active-highlight(@color:rgba(255,255,255,0.15)) { - &:before { - content: ''; - width: 152%; - height: 152%; - position: absolute; - left: -26%; - top: -26%; - background-image: -webkit-radial-gradient(center, circle cover, @color 66%, rgba(red(@color),green(@color),blue(@color),0) 66%); - background-image: radial-gradient(circle at center, @color 66%, rgba(red(@color),green(@color),blue(@color),0) 66%); - background-repeat: no-repeat; - background-position: center; - background-size: 100% 100%; - opacity: 0; - pointer-events: none; - .transition(600ms); - } - html:not(.watch-active-state) &:active:before, &.active-state:before { - opacity: 1; - .transition(150ms); - } -} -.active-highlight-color(@color) { - &:before { - background-image: -webkit-radial-gradient(center, circle cover, @color 66%, rgba(red(@color),green(@color),blue(@color),0) 66%); - background-image: radial-gradient(circle at center, @color 66%, rgba(red(@color),green(@color),blue(@color),0) 66%); - } -} - -// No Scrollbar -.no-scrollbar() { - &::-webkit-scrollbar { - display: none !important; - width: 0 !important; - height: 0 !important; - -webkit-appearance: none; - opacity: 0 !important; - } -} - -// Bars Input -.bars-input() { - box-sizing: border-box; - width: 100%; - height: 32px; - display: block; - border: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border-radius: 0; - font-family: inherit; - color: #fff; - font-size: 16px; - font-weight: 400; - background-color: transparent; - padding: 0; - border-bottom: 1px solid #fff; - &::-webkit-input-placeholder { - color: rgba(255,255,255,1); - opacity: 1; - } -} -.no-hairlines() { - &.no-hairlines, &.no-hairlines ul, &.no-hairlines .content-block-inner { - .hairline-remove(top); - .hairline-remove(bottom); - } -} -.no-hairlines-between() { - &.no-hairlines-between { - .item-inner, .list-button, .item-divider, .list-group-title, .list-group-title { - .hairline-remove(bottom); - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/accordion.less b/vendor/framework7/src/less/material/accordion.less deleted file mode 100644 index 6d9f01478..000000000 --- a/vendor/framework7/src/less/material/accordion.less +++ /dev/null @@ -1,70 +0,0 @@ -/* === Accordion === */ -.list-block { - .accordion-item-toggle { - cursor: pointer; - .transition(300ms); - .item-inner { - padding-right: 42px; - background: no-repeat -webkit-calc(~"100% - 15px") center; - background: no-repeat calc(~"100% - 15px") center; - .encoded-svg-background(""); - background-size: 10px 20px; - - } - html:not(.watch-active-state) &:active, &.active-state { - .transition(0ms); - background-color: #d9d9d9; - > .item-inner { - .hairline-color(bottom, transparent); - } - } - } - .accordion-item-toggle, .accordion-item > .item-link { - .item-inner { - .transition(300ms); - &:after { - .transition(300ms); - } - -webkit-transition-property: background-color; - transition-property: background-color; - } - } - &:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, - &:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, - &.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, - &.media-list .accordion-item-expanded > .item-link .item-title-row, - .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, - .accordion-item-expanded.media-item > .item-link .item-title-row, - { - .encoded-svg-background(""); - background-size: 20px 20px; - } - .accordion-item-expanded { - .accordion-item-toggle .item-inner, > .item-link .item-inner { - .hairline-color(bottom, transparent); - } - } - .accordion-item { - .content-block, .list-block { - margin-top: 0; - margin-bottom: 0; - } - ul { - padding-left: 0; - } - } -} -.accordion-item-content { - position: relative; - overflow: hidden; - height: 0; - font-size: 14px; - .transition(300ms); - .transform(translate3d(0,0,0)); - .accordion-item-expanded > &{ - height: auto; - } - html.android-4 & { - .transform(none); - } -} diff --git a/vendor/framework7/src/less/material/autocomplete.less b/vendor/framework7/src/less/material/autocomplete.less deleted file mode 100644 index 26187f054..000000000 --- a/vendor/framework7/src/less/material/autocomplete.less +++ /dev/null @@ -1,70 +0,0 @@ -/* === Autocomplete === */ -.autocomplete-page { - .autocomplete-found { - display: block; - } - .autocomplete-not-found { - display: none; - } - .autocomplete-values { - display: block; - } - .list-block ul:empty { - display: none; - } - .navbar .autocomplete-preloader{ - margin-right: 16px; - } -} -.autocomplete-preloader:not(.autocomplete-preloader-visible) { - -webkit-animation: none; - animation: none; - visibility: hidden; -} -.autocomplete-dropdown { - background: #fff; - box-sizing: border-box; - position: absolute; - z-index: 500; - box-shadow: 0 2px 2px rgba(0,0,0,0.25); - width: 100%; - left: 0; - .autocomplete-dropdown-inner { - position: relative; - overflow: auto; - -webkit-overflow-scrolling: touch; - height: 100%; - z-index: 1; - } - .autocomplete-preloader { - display: none; - position: absolute; - right: 16px; - bottom: 100%; - margin-bottom: 8px; - width: 20px; - height: 20px; - .preloader-inner-gap, .preloader-inner-half-circle { - border-width: 3px; - } - } - .autocomplete-preloader-visible { - display: block; - } - .autocomplete-dropdown-placeholder { - color: #a9a9a9; - } - .list-block { - margin: 0; - color: rgba(0,0,0,0.54); - ul { - .hairline-remove(top); - .hairline-remove(bottom); - background: none !important; - } - b { - font-weight: normal; - color: #212121; - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/badges.less b/vendor/framework7/src/less/material/badges.less deleted file mode 100644 index 78cd551e7..000000000 --- a/vendor/framework7/src/less/material/badges.less +++ /dev/null @@ -1,19 +0,0 @@ -.badge { - font-size: 10px; - display: inline-block; - color:#fff; - background: #8e8e93; - border-radius: 3px; - padding: 1px 6px; - box-sizing: border-box; - vertical-align: middle; -} -.icon .badge { - position: absolute; - left: 100%; - margin-left: -10px; - top: -2px; - font-size: 10px; - line-height: 1.4; - padding: 1px 5px; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/calendar.less b/vendor/framework7/src/less/material/calendar.less deleted file mode 100644 index 8fd394d4f..000000000 --- a/vendor/framework7/src/less/material/calendar.less +++ /dev/null @@ -1,197 +0,0 @@ -/* === Calendar === */ -.picker-calendar { - background: #fff; - height: 420px; - overflow: hidden; - bottom: auto; - width: 90%; - left: 50%; - top: 50%; - min-width: 300px; - max-width: 380px; - .translate3d(-50%,100%,0); - .depth(5); - @media (orientation: landscape) and (max-height: 460px) { - &:not(.picker-modal-inline) { - height: ~"-webkit-calc(100% - 40px)"; - height: ~"calc(100% - 40px)"; - } - } - .popover-picker-calendar & { - height: 420px; - } - .picker-modal-inner { - overflow: hidden; - } - &.modal-in { - .translate3d(-50%,-50%,0); - } - &.modal-out { - .translate3d(-50%,100%,0); - } - &.picker-modal-inline { - height: 300px; - } - &.picker-modal-inline, .popover-picker-calendar & { - .translate3d(0%,0%,0); - width: auto; - max-width: none; - left: 0; - top: 0; - box-shadow: none; - } - &.picker-modal { - z-index: 12500; - } - -} -.popover.popover-picker-calendar { - width: 320px; -} -.picker-calendar-selected-date { - line-height: 48px; - color:#fff; - padding: 0 24px; - font-size: 20px; - position: relative; - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; -} -.picker-calendar-week-days { - height: 100% / 7; - .flexbox(); - font-size: 12px; - box-sizing: border-box; - position: relative; - color: rgba(0,0,0,0.54); - .picker-calendar-week-day { - .flex-shrink(1); - width: 100% / 7; - width: ~"-webkit-calc(100% / 7)"; - width: ~"-moz-calc(100% / 7)"; - width: ~"calc(100% / 7)"; - text-align: center; - .flexbox(); - .justify-content(center); - .align-items(center); - } - + .picker-calendar-months { - height: ~"-webkit-calc(100% - 100% / 7)"; - height: ~"-moz-calc(100% - 100% / 7)"; - height: ~"calc(100% - 100% / 7)"; - } -} -.picker-calendar-months { - width: 100%; - height: 100%; - overflow: hidden; - position: relative; -} -.picker-calendar-months-wrapper { - position: relative; - width: 100%; - height: 100%; - .transition(300ms); -} -.picker-calendar-month { - .flexbox(); - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; -} -.picker-calendar-row { - height: 100% / 6; - height: ~"-webkit-calc(100% / 6)"; - height: ~"-moz-calc(100% / 6)"; - height: ~"calc(100% / 6)"; - .flexbox(); - .flex-shrink(1); - width: 100%; - position: relative; -} -.picker-calendar-day { - .flex-shrink(1); - .flexbox(); - .justify-content(center); - .align-items(center); - box-sizing: border-box; - width: 100% / 7; - width: ~"-webkit-calc(100% / 7)"; - width: ~"-moz-calc(100% / 7)"; - width: ~"calc(100% / 7)"; - text-align: center; - font-size: 12px; - cursor: pointer; - &.picker-calendar-day-weekend { - } - &.picker-calendar-day-prev, &.picker-calendar-day-next { - color: #b8b8b8; - } - .picker-calendar-month-prev &, .picker-calendar-month-next & { - - } - &.picker-calendar-day-disabled { - color: #d4d4d4; - cursor: auto; - } - &.picker-calendar-day-today span { - color:@themeColor; - } - &.picker-calendar-day-selected span { - background: @themeColor; - color:#fff; - } - .picker-calendar-range &.picker-calendar-day-selected span { - border-radius: 0; - width: 100%; - } - &.picker-calendar-day-has-events span { - &:after { - content: ''; - width: 4px; - height: 4px; - border-radius: 50%; - background: @themeColor; - position: absolute; - margin-left: -2px; - left: 50%; - bottom: 2px; - } - } - &.picker-calendar-day-has-events.picker-calendar-day-selected span:after { - display: none; - } - span { - display: inline-block; - border-radius: 100%; - width: 36px; - height: 36px; - line-height: 36px; - position: relative; - - } -} -.picker-calendar-month-picker, .picker-calendar-year-picker { - .flexbox(); - .align-items(center); - .justify-content(space-between); - width: 50%; - max-width: 200px; - .flex-shrink(10); - span { - .flex-shrink(1); - position: relative; - overflow: hidden; - text-overflow: ellipsis; - width: 100%; - text-align: center; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/cards.less b/vendor/framework7/src/less/material/cards.less deleted file mode 100644 index abdce5842..000000000 --- a/vendor/framework7/src/less/material/cards.less +++ /dev/null @@ -1,94 +0,0 @@ -/* === Cards === */ -.cards-list, .card .list-block { - ul { - background: none; - } - > ul { - .hairline-remove(top); - .hairline-remove(bottom); - } -} -.card { - background: #fff; - margin: 8px; - position: relative; - border-radius: 2px; - font-size: 14px; - .depth(1); - .list-block, .content-block { - margin: 0; - } - .row:not(.no-gutter) .col > & { - margin-left: 0; - margin-right: 0; - } -} -.page-content > .card:last-child { - margin-bottom: 32px; -} -.card-content { - position: relative; -} -.card-content-inner { - padding: 16px; - position: relative; - > p:first-child { - margin-top: 0; - } - > p:last-child { - margin-bottom: 0; - } - > .list-block, >.content-block { - margin: -15px; - } -} -.card-header, .card-footer { - min-height: 48px; - position: relative; - padding: 4px 16px; - box-sizing: border-box; - .flexbox(); - .justify-content(space-between); - .align-items(center); - &[valign="top"] { - .align-items(flex-start); - } - &[valign="bottom"] { - .align-items(flex-end); - } - a.link { - position: relative; - .button; - i+span, i+i, span+i, span+span { - margin-left: 7px; - } - i.icon { - display: block; - } - } - a.icon-only { - min-width: 48px; - .flexbox(); - .justify-content(center); - .align-items(center); - margin: 0; - } -} -.card-header { - border-radius: 2px 2px 0 0; - font-size: 16px; - .hairline(bottom, #e1e1e1); - &.no-border { - .hairline-remove(bottom); - } -} -.card-footer { - border-radius: 0 0 2px 2px; - // color:#6d6d72; - color: #757575; - .hairline(top, #e1e1e1); - &.no-border { - .hairline-remove(top); - } - -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/chips.less b/vendor/framework7/src/less/material/chips.less deleted file mode 100644 index 3e3e12b14..000000000 --- a/vendor/framework7/src/less/material/chips.less +++ /dev/null @@ -1,71 +0,0 @@ -/* === Chips === */ -.chip { - font-size: 13px; - font-weight: normal; - color: rgba(0,0,0,0.87); - background: rgba(0,0,0,0.12); - display: inline-block; - height: 32px; - line-height: 32px; - border-radius: 16px; - padding: 0 12px; - box-sizing: border-box; - vertical-align: middle; - .flexbox-inline(); - .align-items(center); - margin: 2px 0; -} -.chip-media { - width: 32px; - height: 32px; - margin-left: -12px; - vertical-align: top; - border-radius: 50%; - text-align: center; - line-height: 32px; - color: #fff; - .flex-shrink(0); - font-size: 16px; - .flexbox(); - .align-items(center); - .justify-content(center); - img { - max-width: 100%; - max-height: 100%; - width: auto; - height: auto; - border-radius: 50%; - display: block; - } - + .chip-label { - margin-left: 8px; - } -} -.chip-label { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - .flex-shrink(1); - min-width: 0; - + .chip-delete { - margin-left: 4px; - } -} -.chip-delete { - margin-right: -8px; - width: 24px; - height: 24px; - text-align: center; - line-height: 24px; - cursor: pointer; - .flex-shrink(0); - .encoded-svg-background(""); - background-repeat: no-repeat; - background-position: center; - background-size: 20px 20px; - opacity: 0.54; - html:not(.watch-active-state) &:active, &.active-state { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/contacts.less b/vendor/framework7/src/less/material/contacts.less deleted file mode 100644 index bea763ec1..000000000 --- a/vendor/framework7/src/less/material/contacts.less +++ /dev/null @@ -1,30 +0,0 @@ -/* === Contacts === */ -.contacts-block { - margin: 0; - .list-group-title { - padding: 0 16px; - pointer-events: none; - background: none; - color:#888888; - font-weight: 500; - line-height: 48px; - height: 48px; - font-size: 20px; - font-weight: 500; - overflow: visible; - width: 56px; - top: 0; - + li { - margin-top: -48px; - } - } - .list-group:first-child ul { - .hairline-remove(top); - } - .list-group:last-child ul { - .hairline-remove(bottom); - } - li:not(.list-group-title) { - padding-left: 40px + 16px; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/content-block.less b/vendor/framework7/src/less/material/content-block.less deleted file mode 100644 index cc99d0fc1..000000000 --- a/vendor/framework7/src/less/material/content-block.less +++ /dev/null @@ -1,63 +0,0 @@ -/* === Content Block === */ -@contentBlockBorderColor: rgba(0,0,0,0.12); -.content-block { - margin: 32px 0; - padding: 0 16px; - box-sizing: border-box; - .no-hairlines(); -} -.content-block-title { - position: relative; - overflow: hidden; - margin: 0; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 14px; - line-height: 1; - margin: 16px 16px 16px; - padding-top: 16px; - line-height: 16px; - font-weight: 500; - color: rgba(0,0,0,0.54); - + .list-block, + .content-block, +.card { - margin-top: 0px; - } - -} -.content-block-inner { - padding: 16px 16px; - margin-left: -16px; - width: 100%; - position: relative; - .hairline(top, @contentBlockBorderColor); - .hairline(bottom, @contentBlockBorderColor); - >p:first-child { - margin-top: 0; - } - >p:last-child { - margin-bottom: 0; - } -} -.content-block.inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 7px; - .content-block-inner { - .hairline-remove(top); - .hairline-remove(bottom); - border-radius: 4px; - } -} -@media all and (min-width:768px) { - .content-block.tablet-inset { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px - } - - .content-block.tablet-inset .content-block-inner { - .hairline-remove(top); - .hairline-remove(bottom); - border-radius: 4px; - } -} diff --git a/vendor/framework7/src/less/material/disabled.less b/vendor/framework7/src/less/material/disabled.less deleted file mode 100644 index f480f6a68..000000000 --- a/vendor/framework7/src/less/material/disabled.less +++ /dev/null @@ -1,8 +0,0 @@ -/* === Disabled elements === */ -.disabled, [disabled] { - opacity: 0.55; - pointer-events: none; - .disabled &, [disabled] & { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/floating-button.less b/vendor/framework7/src/less/material/floating-button.less deleted file mode 100644 index 9d3d0c1d3..000000000 --- a/vendor/framework7/src/less/material/floating-button.less +++ /dev/null @@ -1,153 +0,0 @@ -/* === Floating Action Button === */ -.floating-button { - position: absolute; - right: 16px; - bottom: 16px; - width: 56px; - height: 56px; - border-radius: 50%; - z-index: 1500; - .depth(3); - background-color: @themeColor; - color:#fff; - overflow: hidden; - .transition(300ms); - .flexbox(); - .align-items(center); - .justify-content(center); - html:not(.watch-active-state) &:active, &.active-state { - background: darken(@themeColor, 8%); - } -} -.floating-button-toolbar, .speed-dial { - position: absolute; - right: 16px; - bottom: 16px; - z-index: 1500; - .floating-button { - right: 0; - bottom: 0; - position: relative; - } -} -// Speed Dial -.speed-dial { - .floating-button { - i { - position: absolute; - left: 50%; - top: 50%; - .transform(translate3d(-50%, -50%, 0) rotate(0deg) scale(1)); - .transition(300ms); - } - i + i { - .transform(translate3d(-50%, -50%, 0) rotate(-90deg) scale(0.5)); - opacity: 0; - } - } - &.speed-dial-opened { - .floating-button { - i { - .transform(translate3d(-50%, -50%, 0) rotate(90deg) scale(0.5)); - opacity: 0; - } - i + i { - .transform(translate3d(-50%, -50%, 0) rotate(0deg) scale(1)); - opacity: 1; - } - } - } -} -.speed-dial-buttons { - position: absolute; - width: 40px; - left: 50%; - margin-left: -20px; - bottom: 100%; - margin-bottom: 16px; - .flexbox(); - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -moz-box-orient: vertical; - -moz-box-direction: reverse; - -ms-flex-direction: column-reverse; - -webkit-flex-direction: column-reverse; - flex-direction: column-reverse; - visibility: hidden; - pointer-events: none; - a { - width: 40px; - height: 40px; - opacity: 0; - color: #fff; - border-radius: 50%; - position: relative; - z-index: 1; - overflow: hidden; - background-color: @themeColor; - html:not(.watch-active-state) &:active, &.active-state { - background: darken(@themeColor, 8%); - } - .transition(300ms); - .flexbox(); - .align-items(center); - .justify-content(center); - .transform(translate3d(0, 8px, 0) scale(0.3)); - .transform-origin(center bottom); - + a { - margin-bottom: 16px; - } - } - .speed-dial-opened & { - visibility: visible; - pointer-events: auto; - a { - opacity: 1; - .transform(translate3d(0, 0, 0) scaleY(1)); - .depth(3); - &:nth-child(2) { - .delay(50ms); - } - &:nth-child(3) { - .delay(100ms); - } - &:nth-child(4) { - .delay(150ms); - } - &:nth-child(5) { - .delay(200ms); - } - &:nth-child(6) { - .delay(250ms); - } - } - } -} - -// Popove Morph -.floating-button-to-popover { - &.floating-button-to-popover { - .transition(300ms); - } - &.floating-button-to-popover-in { - .transition(100ms); - i { - opacity: 0; - .transition(100ms); - } - } - &.floating-button-to-popover-scale { - border-radius: 0; - .transition(300ms); - box-shadow: none; - } - &.floating-button-to-popover-out { - .delay(0ms); - .transition(300ms); - i { - opacity: 1; - .transition(100ms); - .delay(200ms); - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/forms.less b/vendor/framework7/src/less/material/forms.less deleted file mode 100644 index a400cd88e..000000000 --- a/vendor/framework7/src/less/material/forms.less +++ /dev/null @@ -1,474 +0,0 @@ -/* === Forms === */ -// Inputs -.list-block { - input[type="text"], input[type="password"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="time"], input[type="number"], select, textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - box-sizing:border-box; - border: none; - background: none; - border-radius: 0 0 0 0; - box-shadow: none; - display: block; - padding: 0; - margin: 0; - width: 100%; - height: 36px; - color: #212121; - font-size: 16px; - font-family: inherit; - &::-webkit-input-placeholder { - color: rgba(0,0,0,0.35); - } - } - .label, .floating-label { - vertical-align: top; - color:rgba(0,0,0,0.65); - .transition(200ms); - width: 35%; - .flex-shrink(0); - } - - input[type="date"], input[type="datetime-local"] { - line-height: 44px; - } - select { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - } - textarea { - resize:none; - line-height: 1.4; - padding-top: 8px; - padding-bottom: 7px; - height: 100px; - &.resizable { - height: 36px; - } - } - - .item-input { - width: 100%; - -ms-flex:1; - .flex-shrink(1); - font-size: 0; - position: relative; - margin-bottom: 4px; - min-height: 36px; - } - - // Inputs List - .input-item, &.inputs-list { - ul { - .hairline-remove(bottom); - } - .item-media { - .align-self(flex-end); - min-height: 36px; - margin-bottom: 8px; - padding: 0; - } - .item-inner { - display: block; - margin-bottom: 4px; - padding-bottom: 0; - .hairline-remove(bottom); - } - .label, .floating-label { - width: 100%; - font-size: 12px; - } - .floating-label { - .transform-origin(left); - .transform(scale(16/12) translateY(21px)); - color: rgba(0,0,0,0.35); - width: auto; - max-width: 75%; - ~.item-input input::-webkit-input-placeholder { - color: transparent; - } - } - } - .focus-state, .not-empty-state { - .floating-label { - color:rgba(0,0,0,0.65); - .transform(scale(1) translateY(0)); - } - } - .focus-state { - .label, .floating-label { - color: @themeColor; - } - } -} -.item-input-field, .input-field { - position: relative; - .hairline(bottom, rgba(0, 0, 0, 0.12)); - &:after { - .transition(200ms); - } - &.focus-state:after, &.not-empty-state:after, .focus-state &:after, .not-empty-state &:after{ - background: @themeColor; - .transform(scaleY(2)) !important; - } -} -textarea.resizable { - overflow: hidden; -} -//Switch -.label-switch { - display: inline-block; - vertical-align: middle; - width: 36px; - height: 14px; - position: relative; - cursor: pointer; - .align-self(center); - .checkbox { - width: 36px; - border-radius: 36px; - box-sizing:border-box; - height: 14px; - background: #b0afaf; - z-index: 0; - margin: 0; - padding: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border:none; - cursor: pointer; - position: relative; - .transition(300ms); - &:after { - content:' '; - height: 20px; - width: 20px; - border-radius: 20px; - background: #fff; - position: absolute; - z-index: 2; - top: -3px; - left: 0px; - box-shadow: 0 2px 5px rgba(0,0,0,0.4); - .transform(translateX(0px)); - .transition(300ms); - } - } - input[type="checkbox"] { - display: none; - &:checked { - &+ .checkbox { - background: rgba(red(@themeColor), green(@themeColor), blue(@themeColor), 0.5); - &:after { - .transform(translateX(16px)); - background: @themeColor; - } - } - } - } - .item-input & { - top: (36px - 14px) / 2; - } -} - -//Buttons -.button { - color:@themeColor; - text-decoration: none; - text-align: center; - display: block; - border-radius: 2px; - line-height: 36px; - box-sizing:border-box; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: none; - padding: 0 10px; - margin: 0; - height: 36px; - white-space: nowrap; - text-overflow:ellipsis; - font-size: 14px; - text-transform: uppercase; - font-family: inherit; - cursor: pointer; - min-width: 64px; - padding: 0 8px; - position: relative; - overflow: hidden; - outline: 0; - border: none; - .transition(300ms); - .translate3d(0,0,0); - input[type="submit"]&, input[type="button"]&{ - width: 100%; - } - html:not(.watch-active-state) &:active, &.active-state { - background: rgba(0,0,0,0.1); - } - &.button-fill { - background-color: @themeColor; - color: #fff; - html:not(.watch-active-state) &:active, &.active-state { - background: darken(@themeColor, 8%); - } - } - &.button-big { - height: 48px; - line-height: 48px; - border-radius: 3px; - } - - i.icon + span, - span:not(.ripple-wave) + span, - span:not(.ripple-wave) + i.icon, - i.icon + i.icon { - margin-left: 8px; - } - - .navbar &, .toolbar &, .subnavbar &, .notifications & { - &:not(.button-fill) { - color:#fff; - html:not(.watch-active-state) &:active, &.active-state { - background: rgba(255,255,255,0.15); - } - } - } -} -.button-raised { - .depth(1); - html:not(.watch-active-state) &:active, &.active-state { - .depth(2); - } -} -.buttons-row { - .align-self(center); - .flexbox(); - .flex-wrap(nowrap); - .button { - margin-left: 16px; - width: 100%; - -webkit-box-flex:1; - -ms-flex:1; - } - .button:first-child { - margin-left: 0; - } -} - - -// Slider -.range-slider { - width: 100%; - position: relative; - overflow: hidden; - .align-self(center); - input[type="range"] { - position: relative; - height: 20px; - width: 100%; - margin: 0; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - background: -webkit-gradient(linear, 50% 0, 50% 100%, color-stop(0, #b9b9b9), color-stop(100%, #b9b9b9)); - background: linear-gradient(to right, #b9b9b9 0, #b9b9b9 100%); - background-position: center; - background-size: 100% 2px; - background-repeat: no-repeat; - outline: 0; - -ms-background-position-y: 500px; - &:focus, &:active { - border: 0; - outline: 0 none; - } - } - - // Range thumb mixin - .range-thumb() { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - border: none; - outline: 0; - height: 20px; - width: 20px; - position: relative; - background: @themeColor; - border-radius: 20px; - } - - // ======= Webkit ======== - input[type="range"]::-webkit-slider-thumb { - .range-thumb(); - } - - input[type="range"]::-webkit-slider-thumb:before { - position: absolute; - top: 50%; - right: 100%; - width: 2000px; - height: 2px; - margin-top: -1px; - z-index: 1; - background: @themeColor; - content: ' '; - } - - // ======= FireFox ======== - input[type="range"]::-moz-range-track { - width: 100%; - height: 2px; - background: #b7b8b7; - border: none; - outline: 0; - } - input[type="range"]::-moz-range-thumb { - .range-thumb(); - } - - // ======= IE ======== - input[type="range"]::-ms-track { - width: 100%; - height: 2px; - cursor: pointer; - background: transparent; - border-color: transparent; - color: transparent; - } - input[type="range"]::-ms-thumb { - .range-thumb(); - } - - input[type="range"]::-ms-fill-lower { - background: @themeColor; - } - input[type="range"]::-ms-fill-upper { - background: #b7b8b7; - } - - .item-input & { - top: (36px - 20px) / 2; - } -} - -// Checkboxes -label.label-checkbox { - cursor: pointer; - i.icon-form-checkbox { - width: 18px; - height: 18px; - position: relative; - border-radius: 2px; - border: 2px solid #6d6d6d; - box-sizing:border-box; - .transition(300ms); - background: transparent; - &:after { - content:' '; - position: absolute; - width: 18px; - height: 18px; - left: -2px; - top: -2px; - .transition(300ms); - opacity: 0; - background: no-repeat center; - .encoded-svg-background(""); - -webkit-background-size: 100% auto; - background-size: 100% auto; - } - } - input[type="checkbox"], input[type="radio"] { - display: none; - &:checked + .item-media, &:checked ~ .item-after, &:checked ~ .item-inner{ - i.icon-form-checkbox { - border-color: @themeColor; - background-color: @themeColor; - } - i.icon-form-checkbox:after { - opacity: 1; - } - } - } -} -label.label-radio { - cursor: pointer; - i.icon-form-radio { - width: 20px; - height: 20px; - position: relative; - border-radius: 20px; - border: 2px solid #6d6d6d; - box-sizing:border-box; - .transition(300ms); - &:after { - content:' '; - position: absolute; - width: 10px; - height: 10px; - left: 50%; - top: 50%; - margin-left: -5px; - margin-top: -5px; - background-color: @themeColor; - border-radius: 100%; - .transform(scale(0)); - .transition(300ms); - } - } - input[type="checkbox"], input[type="radio"] { - display: none; - &:checked + .item-media, &:checked ~ .item-after, &:checked ~ .item-inner{ - i.icon-form-radio { - border-color: @themeColor; - } - i.icon-form-radio:after { - background-color: @themeColor; - .transform(scale(1)); - } - } - } -} -label.label-checkbox, label.label-radio { - position: relative; - overflow: hidden; - z-index: 0; - .transition(300ms); - .item-after { - i.icon-form-checkbox, i.icon-form-radio { - margin-left: 8px; - margin-right: 16px; - } - } - .media-list &, .media-item & { - .item-media { - i.icon-form-checkbox, i.icon-form-radio { - margin-top: 4px; - } - } - } - html:not(.watch-active-state) &:active, &.active-state { - background-color: rgba(0,0,0,0.1); - .item-inner { - .hairline-color(bottom, transparent); - } - } -} - -// Smart selects -.smart-select { - select { - display: none; - } -} diff --git a/vendor/framework7/src/less/material/framework7.material.colors.less b/vendor/framework7/src/less/material/framework7.material.colors.less deleted file mode 100644 index 1188c5d99..000000000 --- a/vendor/framework7/src/less/material/framework7.material.colors.less +++ /dev/null @@ -1,529 +0,0 @@ -@import url('_mixins.less'); -@import url('_colors-vars.less'); -/*========================== -Framework7 Layouts Themes -==========================*/ -/* === Dark layout === */ -.layout-dark { - @pageBg: #222; - @barsBg: #131313; - @barsBorder: #333; - @barsText: #fff; - @tabBarText: #fff; - @text: #ddd; - @lightText: #bbb; - @strongText: #fff; - @activeLink: rgba(255,255,255,0.05); - @blockBg: #1c1c1c; - @blockBorder: #393939; - @blockStrongBg: #1c1c1c; - @dividerBg: #1a1a1a; - @itemAfterText: @lightText; - @searchbarBg: #333; - @searchbarBorder: #333; - @swipeoutButton: #444; - @checkboxBorder: @blockBorder; - - // Photo Browser - .page, .login-screen-content, .page&, .panel, .panel& { - background-color: @pageBg; - color:rgba(255,255,255,0.87); - } - // Content Block - .content-block-title { - color:rgba(255,255,255,0.87); - } - - .content-block-inner { - .hairline-color(top, @blockBorder); - .hairline-color(bottom, @blockBorder); - } - // Popover - .popover .list-block ul { - background: none; - } - // Card - .card { - background: @blockBg; - } - .card-header{ - .hairline-color(bottom, @blockBorder); - } - .card-footer { - .hairline-color(top, @blockBorder); - color:@lightText; - } - // List - .list-block, .list-block& { - ul { - .hairline-color(top, @blockBorder); - .hairline-color(bottom, @blockBorder); - } - &.inset ul{ - background: @blockStrongBg; - } - &.notifications > ul { - background: none; - } - } - li.sorting { - background-color: rgba(34,34,34,0.8); - } - .swipeout-actions-left a, .swipeout-actions-right a { - background-color: @swipeoutButton; - } - .item-inner, .list-block ul ul li:last-child .item-inner { - .hairline-color(bottom, @blockBorder); - } - .item-after, .item-text { - color: rgba(255,255,255,0.7); - } - .list-block-label { - color:@lightText; - } - .item-divider, .list-group-title { - background: @dividerBg; - color:@lightText; - .hairline-color(top, @blockBorder); - } - .contacts-block .list-group-title { - background: none; - } - .autocomplete-dropdown { - background: @blockBg; - .list-block { - color: rgba(255,255,255,0.54); - } - .list-block b { - color: rgba(255,255,255,0.87); - } - } - // Forms - .item-link, label.label-checkbox, label.label-radio { - html:not(.watch-active-state) &:active, &.active-state { - background-color: @activeLink; - } - } - .list-block { - input[type="text"], input[type="password"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="time"], input[type="number"], select, textarea { - color:@strongText; - &::-webkit-input-placeholder { - color: rgba(255,255,255,0.35); - } - } - } - .label-switch { - .checkbox { - background: rgba(255,255,255,0.3); - } - } - .item-inner:not(.focus-state) .label, .item-inner:not(.focus-state) .floating-label { - color: rgba(255,255,255,0.7); - } - .item-inner:not(.focus-state):not(.not-empty-state) .item-input-field, .item-inner:not(.focus-state):not(.not-empty-state) .input-field { - .hairline-color(bottom, rgba(255, 255, 255, 0.12)); - } - - label.label-checkbox { - i.icon-form-checkbox { - border-color: rgba(255,255,255,0.7); - } - } - label.label-radio { - i.icon-form-radio { - border-color: rgba(255,255,255,0.7); - } - } - .item-link.list-button { - .hairline-color(bottom, @blockBorder); - } - .page-content .ripple-wave { - background:rgba(255,255,255,0.3); - } - .button:not(.button-fill) { - html:not(.watch-active-state) &:active, &.active-state { - background:rgba(255,255,255,0.1); - } - } - // Chips - .chip { - background: rgba(255,255,255,0.87); - } -} - -/*========================== -Framework7 Color Themes -==========================*/ -.theme-mixin(@colorName, @color, @pressColor) { - //Buttons - .button { - .theme-@{colorName} & { - &:not(.button-fill) { - color:@color; - } - } - .theme-@{colorName} .navbar &, .theme-@{colorName}.navbar &, .theme-@{colorName} .toolbar &, .theme-@{colorName}.toolbar &, .theme-@{colorName} .subnavbar &, .theme-@{colorName}.subnavbar & { - &:not(.button-fill) { - color:#fff; - } - } - .theme-@{colorName} &.button-fill { - background: @color; - color:#fff; - html:not(.watch-active-state) &:active, &.active-state { - background: @pressColor; - } - } - } - // Progress bar - .progressbar { - &.theme-@{colorName}, .theme-@{colorName} & { - background-color: rgba(red(@color), green(@color), blue(@color), 0.5); - span { - background-color: @color; - } - } - } - .progressbar-infinite{ - &.theme-@{colorName}, .theme-@{colorName} & { - background-color: rgba(red(@color), green(@color), blue(@color), 0.5); - &:after, &:before { - background-color: @color; - } - } - } - //Icons - .color-@{colorName} { - i.icon, i.icon& { - color:@color; - } - } - i.icon-next.color-@{colorName}, i.icon-next.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-prev.color-@{colorName}, i.icon-prev.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-back.color-@{colorName}, i.icon-back.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-forward.color-@{colorName}, i.icon-forward.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-bars.color-@{colorName}, i.icon-bars.theme-@{colorName} { - .encoded-svg-background(""); - } - - // Theme - .theme-@{colorName} { - // Links - a { - color: @color; - } - // Toolbars - .navbar, .navbar& , .toolbar, .toolbar&, .subnavbar, .subnavbar&, .searchbar, .searchbar&{ - background-color: @color; - } - // Forms - .label-switch, .label-switch& { - input[type="checkbox"] { - &:checked { - &+ .checkbox { - background-color: rgba(red(@color), green(@color), blue(@color), 0.5); - &:after { - background-color: @color; - } - } - } - } - } - label.label-checkbox, label.label-checkbox& { - cursor: pointer; - i.icon-form-checkbox { - &:after { - .encoded-svg-background(""); - } - } - input[type="checkbox"], input[type="radio"] { - &:checked + .item-media, &:checked ~ .item-after, &:checked ~ .item-inner{ - i.icon-form-checkbox { - border-color: @color; - background-color: @color; - } - } - } - } - label.label-radio, label.label-radio& { - i.icon-form-radio:after { - background-color: @color; - } - input[type="checkbox"], input[type="radio"] { - &:checked + .item-media, &:checked ~ .item-after, &:checked ~ .item-inner{ - i.icon-form-radio { - border-color: @color; - } - i.icon-form-radio:after { - background-color: @color; - } - } - } - } - .focus-state { - .label, .floating-label { - color: @color; - } - } - .item-input-field, .input-field { - &.focus-state:after, &.not-empty-state:after { - background: @color; - } - } - // Calendar - .picker-calendar-day.picker-calendar-day-today span { - color: @color; - } - .picker-calendar-day.picker-calendar-day-selected span { - background-color: @color; - color:#fff; - } - .picker-calendar-day.picker-calendar-day-has-events span:after { - background-color: @color; - } - // Picker Header - .picker-header { - background-color: @color; - } - // Modal buttons - .modal-button { - color: @color; - } - } - .swiper-pagination { - &.color-@{colorName}, .theme-@{colorName} & { - .swiper-pagination-bullet-active { - background-color: @color; - } - .swiper-pagination-progressbar { - background-color: @color; - } - } - &.swiper-pagination-progress.bg-@{colorName} { - background-color: rgba(red(@color), green(@color), blue(@color), 0.25); - } - } - .swiper-button-next, .swiper-container-rtl .swiper-button-prev { - &.color-@{colorName}, .theme-@{colorName} & { - .encoded-svg-background(""); - } - } - .swiper-button-prev, .swiper-container-rtl .swiper-button-next { - &.color-@{colorName}, .theme-@{colorName} & { - .encoded-svg-background(""); - } - } - // Floating Button - .floating-button, .speed-dial-buttons a { - .theme-@{colorName} &, &.theme-@{colorName} { - color:#fff; - background: @color; - html:not(.watch-active-state) &:active, &.active-state { - background: @pressColor; - } - i { - color: inherit; - } - } - } - - // Range Slider - .range-slider { - .theme-@{colorName} &, &.theme-@{colorName} { - input[type="range"]::-webkit-slider-thumb:before { - background-color: @color; - } - input[type="range"]::-webkit-slider-thumb { - background-color: @color; - } - input[type="range"]::-ms-thumb { - background-color: @color; - } - input[type="range"]::-ms-fill-lower { - background-color: @color; - } - input[type="range"]::-moz-range-thumb { - background-color: @color; - } - } - } - // Badges - .badge.theme-@{colorName} { - background-color:@color; - color: #fff; - } -} -.theme-mixin(e('red'), @red, #D32F2F); -.theme-mixin(e('pink'), @pink, #C2185B); -.theme-mixin(e('purple'), @purple, #7B1FA2); -.theme-mixin(e('deeppurple'), @deeppurple, #512DA8); -.theme-mixin(e('indigo'), @indigo, #303F9F); -.theme-mixin(e('blue'), @blue, #1976D2); -.theme-mixin(e('lightblue'), @lightblue, #0288D1); -.theme-mixin(e('cyan'), @cyan, #0097A7); -.theme-mixin(e('teal'), @teal, #00897B); -.theme-mixin(e('green'), @green, #388E3C); -.theme-mixin(e('lightgreen'), @lightgreen, #689F38); -.theme-mixin(e('lime'), @lime, #AFB42B); -.theme-mixin(e('yellow'), @yellow, #FBC02D); -.theme-mixin(e('amber'), @amber, #FFA000); -.theme-mixin(e('orange'), @orange, #F57C00); -.theme-mixin(e('deeporange'), @deeporange, #E64A19); -.theme-mixin(e('brown'), @brown, #5D4037); -.theme-mixin(e('gray'), @gray, #616161); -.theme-mixin(e('bluegray'), @bluegray, #455A64); -.theme-mixin(e('white'), @white, rgba(0,0,0,0.1)); -.theme-mixin(e('black'), @black, #333); - -/*========================== -Framework7 Color + Bg + Border -==========================*/ -.color-mixin(@colorName, @color, @pressColor) { - //Plain color and links - .color-@{colorName} { - color: @color; - .list-block .item-link.list-button&, .list-block .item-link&, .tabbar a.active&, a& { - color: @color; - } - .label-switch input[type="checkbox"]:checked + .checkbox&, .label-switch& input[type="checkbox"]:checked + .checkbox{ - background-color: @color; - } - } - //Buttons - .button { - &.color-@{colorName}:not(.button-fill), .color-@{colorName}.buttons-row &:not(.button-fill) { - color: @color !important; - } - &.button-fill.bg-@{colorName}, &.button-fill.color-@{colorName} { - background: @color !important; - color:#fff; - html:not(.watch-active-state) &:active, &.active-state { - background: @pressColor !important; - } - } - - } - // Progress bar - .progressbar { - &.color-@{colorName}, &.bg-@{colorName} { - background-color: rgba(red(@color), green(@color), blue(@color), 0.5); - span { - background-color: @color; - } - } - } - .progressbar-infinite{ - &.color-@{colorName}, &.bg-@{colorName} { - background-color: rgba(red(@color), green(@color), blue(@color), 0.5); - &:after, &:before { - background-color: @color; - } - } - } - //Icons - .color-@{colorName} { - i.icon, i.icon& { - color:@color; - } - } - // Preloader - .preloader.color-@{colorName}, .preloader.preloader-@{colorName} { - svg circle { - stroke: @color; - } - .preloader-inner-gap, .preloader-inner-half-circle { - border-color: @color; - } - } - // Bg rule - .bg-@{colorName}, a.bg-@{colorName}, .list-block .swipeout-actions-left a.bg-@{colorName}, .list-block .swipeout-actions-right a.bg-@{colorName} { - background-color: @color; - .list-block & .item-link, .list-block& .item-link, .list-block .item-link& { - html:not(.watch-active-state) &:active, &.active-state { - background: @pressColor; - } - } - } - // Border rule - .border-@{colorName} { - border-color: @color; - .list-block &.item-inner, .list-block ul&, & { - &:after, &:before { - background-color: @color; - } - } - } - // Floating Button - .floating-button, .speed-dial-buttons a { - &.color-@{colorName}, &.bg-@{colorName} { - color:#fff; - background: @color; - html:not(.watch-active-state) &:active, &.active-state { - background: @pressColor; - } - i { - color: inherit; - } - } - } - // Ripple - .ripple-@{colorName} { - .ripple-wave { - background-color: rgba(red(@color), green(@color), blue(@color), 0.3); - } - } - // Range Slider - .range-slider { - &.color-@{colorName} { - input[type="range"]::-webkit-slider-thumb:before { - background-color: @color; - } - input[type="range"]::-webkit-slider-thumb { - background-color: @color; - } - input[type="range"]::-ms-thumb { - background-color: @color; - } - input[type="range"]::-ms-fill-lower { - background-color: @color; - } - input[type="range"]::-moz-range-thumb { - background-color: @color; - } - } - } - // Badges - .badge.color-@{colorName} { - background-color:@color; - color: #fff; - } -} -.color-mixin(e('red'), @red, #D32F2F); -.color-mixin(e('pink'), @pink, #C2185B); -.color-mixin(e('purple'), @purple, #7B1FA2); -.color-mixin(e('deeppurple'), @deeppurple, #512DA8); -.color-mixin(e('indigo'), @indigo, #303F9F); -.color-mixin(e('blue'), @blue, #1976D2); -.color-mixin(e('lightblue'), @lightblue, #0288D1); -.color-mixin(e('cyan'), @cyan, #0097A7); -.color-mixin(e('teal'), @teal, #00897B); -.color-mixin(e('green'), @green, #388E3C); -.color-mixin(e('lightgreen'), @lightgreen, #689F38); -.color-mixin(e('lime'), @lime, #AFB42B); -.color-mixin(e('yellow'), @yellow, #FBC02D); -.color-mixin(e('amber'), @amber, #FFA000); -.color-mixin(e('orange'), @orange, #F57C00); -.color-mixin(e('deeporange'), @deeporange, #E64A19); -.color-mixin(e('brown'), @brown, #5D4037); -.color-mixin(e('gray'), @gray, #616161); -.color-mixin(e('bluegray'), @bluegray, #455A64); -.color-mixin(e('white'), @white, rgba(0,0,0,0.1)); -.color-mixin(e('black'), @black, #333); \ No newline at end of file diff --git a/vendor/framework7/src/less/material/framework7.material.less b/vendor/framework7/src/less/material/framework7.material.less deleted file mode 100644 index 5d43afe17..000000000 --- a/vendor/framework7/src/less/material/framework7.material.less +++ /dev/null @@ -1,39 +0,0 @@ -@import url('_mixins.less'); -@import url('_colors-vars.less'); -@import url('intro.less'); -@import url('grid.less'); -@import url('views.less'); -@import url('pages.less'); -@import url('toolbars.less'); -@import url('toolbars-pages.less'); -@import url('searchbar.less'); -@import url('messagebar.less'); -@import url('icons.less'); -@import url('badges.less'); -@import url('chips.less'); -@import url('content-block.less'); -@import url('lists.less'); -@import url('contacts.less'); -@import url('forms.less'); -@import url('floating-button.less'); -@import url('accordion.less'); -@import url('cards.less'); -@import url('modals.less'); -@import url('panels.less'); -@import url('lazy-load.less'); -@import url('tabs.less'); -@import url('messages.less'); -@import url('statusbar.less'); -@import url('preloader.less'); -@import url('progressbar.less'); -@import url('pull-to-refresh.less'); -@import url('infinite-scroll.less'); -@import url('autocomplete.less'); -@import url('swiper.less'); -@import url('photo-browser.less'); -@import url('picker.less'); -@import url('calendar.less'); -@import url('notifications.less'); -@import url('login-screen.less'); -@import url('ripple.less'); -@import url('disabled.less'); diff --git a/vendor/framework7/src/less/material/framework7.material.rtl.less b/vendor/framework7/src/less/material/framework7.material.rtl.less deleted file mode 100644 index 8fe14ac3b..000000000 --- a/vendor/framework7/src/less/material/framework7.material.rtl.less +++ /dev/null @@ -1,281 +0,0 @@ -@import url('_mixins.less'); -@import url('_colors-vars.less'); -/*============= - Framework 7 RTL Additions -=============*/ -html { - direction: rtl; -} - -/* === Lists === */ -.list-block { - ul ul { - padding-left: 0; - padding-right: 56px; - } - .item-content { - padding-left: 0; - padding-right: 16px; - } - .item-inner { - padding-right: 0; - padding-left: 16px; - } - .item-after { - margin-left: 0; - margin-right: 8px; - } - .item-media { - i + i, i + img { - margin-left: 0; - margin-right: 8px; - } - & + .item-inner { - margin-left: 0; - margin-right: 16px; - } - } - .item-link { - .item-inner { - padding-right: 0; - padding-left: 42px; - background-position: 16px center; - .encoded-svg-background(""); - } - } - - &.media-list, li.media-item { - .item-link { - .item-inner { - padding-right: 0; - padding-left: 16px; - } - .item-title-row { - padding-right: 0; - padding-left: 26px; - background-position: center left; - .encoded-svg-background(""); - } - } - } - .sortable-handler { - right: auto; - left: 0; - } - &.sortable-opened { - .item-inner, .item-link .item-inner { - padding-right: 0; - padding-left: 50px; - } - .item-link .item-inner, .item-link .item-title-row { - background-image: none; - } - } - .swipeout-actions-left, .swipeout-actions-right { - direction: ltr; - } -} - -/* === Toolbars === */ -.navbar, .toolbar { - a.link { - i+span, i+i, span+i, span+span { - margin-left: 0; - margin-right: 8px; - } - } - -} -.navbar { - .right { - margin-left: 0; - margin-right: auto; - } -} -.tabbar .tab-link-highlight { - left: auto; - right: 0; -} -/* === Forms === */ -.list-block { - input[type="text"], input[type="password"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="time"], input[type="number"], select, textarea { - text-align: right; - } -} -.buttons-row { - .button { - margin-left: 0; - margin-right: 8px; - &:first-child { - margin-right: 0; - } - } -} - -.label-switch { - .checkbox { - &:after { - left: auto; - right: 0; - } - } - input[type="checkbox"]:checked + .checkbox:after { - .transform(translateX(-16px)); - } -} -.range-slider { - input[type="range"]::-webkit-slider-thumb:before { - right: auto; - left: 100%; - } -} - -label.label-checkbox, label.label-radio { - .item-after { - i.icon-form-checkbox, i.icon-form-radio { - margin-left: 16px; - margin-right: 8px; - } - } -} -/* === Search Bar === */ -.searchbar { - input[type="search"] { - background-position: right center; - padding: 0 24px 0 36px - } - .searchbar-clear { - right: auto; - left: -16px; - } -} -/* === Modals === */ -.modal-button { - + .modal-button { - margin-left: 0; - margin-right: 4px; - } -} - -/* === Content Block === */ -.content-block-inner { - margin-left: 0; - margin-right: -16px; -} - -/* === Messages === */ -.message-received { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - .align-items(flex-end); -} -.message-sent { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - .align-items(flex-start); -} - -/* === Chips === */ -.chip{ - -} -.chip-media { - margin-left: 0; - margin-right: -12px; - + .chip-label{ - margin-left: 0px; - margin-right: 8px; - } -} -.chip-label { - + .chip-delete { - margin-left: -8px; - margin-right: 4px; - } -} -.chip-delete { - margin-left: -8px; -} -/* === Accordion === */ -.list-block { - .accordion-toggle { - .item-inner { - padding-right: 0; - padding-left: 42px; - background-position: 16px center; - .encoded-svg-background(""); - } - } - &:not(.media-list) .accordion-item-expanded:not(.media-item) .accordion-item-toggle .item-inner, - &:not(.media-list) .accordion-item-expanded:not(.media-item) > .item-link .item-inner, - &.media-list .accordion-item-expanded .accordion-item-toggle .item-title-row, - &.media-list .accordion-item-expanded > .item-link .item-title-row, - .accordion-item-expanded.media-item .accordion-item-toggle .item-title-row, - .accordion-item-expanded.media-item > .item-link .item-title-row, - { - .encoded-svg-background(""); - background-size: 20px 20px; - } - .accordion-item ul { - padding-right: 0; - } -} -/* === Icons === */ -.contacts-block { - li:not(.list-group-title) { - padding-left: 0; - padding-right: 40px + 16px; - } -} -/* === Icons === */ -i.icon { - &.icon-back { - .encoded-svg-background(""); - } - &.icon-forward { - .encoded-svg-background(""); - } - &.icon-next { - .encoded-svg-background(""); - } - &.icon-prev { - .encoded-svg-background(""); - } -} -.rtl-icon-color-mixin(@colorName, @color) { - i.icon-back.color-@{colorName}, i.icon-back.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-forward.color-@{colorName}, i.icon-forward.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-next.color-@{colorName}, i.icon-next.theme-@{colorName} { - .encoded-svg-background(""); - } - i.icon-prev.color-@{colorName}, i.icon-prev.theme-@{colorName} { - .encoded-svg-background(""); - } -} -.rtl-icon-color-mixin(e('red'), @red); -.rtl-icon-color-mixin(e('pink'), @pink); -.rtl-icon-color-mixin(e('purple'), @purple); -.rtl-icon-color-mixin(e('deeppurple'), @deeppurple); -.rtl-icon-color-mixin(e('indigo'), @indigo); -.rtl-icon-color-mixin(e('blue'), @blue); -.rtl-icon-color-mixin(e('lightblue'), @lightblue); -.rtl-icon-color-mixin(e('cyan'), @cyan); -.rtl-icon-color-mixin(e('teal'), @teal); -.rtl-icon-color-mixin(e('green'), @green); -.rtl-icon-color-mixin(e('lightgreen'), @lightgreen); -.rtl-icon-color-mixin(e('lime'), @lime); -.rtl-icon-color-mixin(e('yellow'), @yellow); -.rtl-icon-color-mixin(e('amber'), @amber); -.rtl-icon-color-mixin(e('orange'), @orange); -.rtl-icon-color-mixin(e('deeporange'), @deeporange); -.rtl-icon-color-mixin(e('brown'), @brown); -.rtl-icon-color-mixin(e('gray'), @gray); -.rtl-icon-color-mixin(e('bluegray'), @bluegray); -.rtl-icon-color-mixin(e('white'), @white); -.rtl-icon-color-mixin(e('black'), @black); diff --git a/vendor/framework7/src/less/material/grid.less b/vendor/framework7/src/less/material/grid.less deleted file mode 100644 index 09081ee32..000000000 --- a/vendor/framework7/src/less/material/grid.less +++ /dev/null @@ -1,87 +0,0 @@ -/* === Grid === */ -.row { - .flexbox(); - .justify-content(space-between); - .flex-wrap(wrap); - .align-items(flex-start); - > [class*="col-"] { - box-sizing: border-box; - } -} -@cols: 5, 10, 15, 20, 25, 30, 100/3, 35, 40, 45, 50, 55, 60, 65, 100*(2/3), 70, 75, 80, 85, 90, 95, 100; -.row { - .col-auto { - width: 100%; - } - .-(@i: length(@cols)) when (@i > 0) { - @divider: e(extract(@cols, @i)); - @className: `Math.floor(@{divider})`; - @n: `100/parseFloat(@{divider})`; - @n-1: @n - 1; - .col-@{className} { - width: ~"@{divider}%"; - width: ~"-webkit-calc((100% - 16px*@{n-1}) / @{n})"; - width: ~"calc((100% - 16px*@{n-1}) / @{n})"; - } - &.no-gutter { - .col-@{className} { - width: ~"@{divider}%"; - } - } - .-((@i - 1)); - } .-; - .--(@j: 1) when (@j < length(@cols)) { - @divider: e(extract(@cols, @j)); - @className: `Math.floor(@{divider})`; - .col-auto:nth-last-child(@{j}), .col-auto:nth-last-child(@{j}) ~ .col-auto { - @j-1: @j - 1; - width: 100% / @j; - width: ~"-webkit-calc((100% - 16px*@{j-1}) / @{j})"; - width: ~"calc((100% - 16px*@{j-1}) / @{j})"; - } - &.no-gutter { - .col-auto:nth-last-child(@{j}), .col-auto:nth-last-child(@{j}) ~ .col-auto { - width: 100% / @j; - } - } - .--((@j + 1)); - } .--; - -} - -@media all and (min-width:768px) { - .row { - .-(@i: length(@cols)) when (@i > 0) { - @divider: e(extract(@cols, @i)); - @className: `Math.floor(@{divider})`; - @n: `100/parseFloat(@{divider})`; - @n-1: @n - 1; - .tablet-@{className} { - width: ~"@{divider}%"; - width: ~"-webkit-calc((100% - 16px*@{n-1}) / @{n})"; - width: ~"calc((100% - 16px*@{n-1}) / @{n})"; - } - &.no-gutter { - .tablet-@{className} { - width: ~"@{divider}%"; - } - } - .-((@i - 1)); - } .-; - .--(@j: 1) when (@j < length(@cols)) { - .tablet-auto:nth-last-child(@{j}), .tablet-auto:nth-last-child(@{j}) ~ .col-auto { - @j-1: @j - 1; - width: 100% / @j; - width: ~"-webkit-calc((100% - 16px*@{j-1}) / @{j})"; - width: ~"calc((100% - 16px*@{j-1}) / @{j})"; - } - &.no-gutter { - .tablet-auto:nth-last-child(@{j}), .tablet-auto:nth-last-child(@{j}) ~ .tablet-auto { - width: 100% / @j; - } - } - .--((@j + 1)); - } .--; - } - -} diff --git a/vendor/framework7/src/less/material/icons.less b/vendor/framework7/src/less/material/icons.less deleted file mode 100644 index b34348607..000000000 --- a/vendor/framework7/src/less/material/icons.less +++ /dev/null @@ -1,59 +0,0 @@ -/* === Icons === */ -i.icon { - display: inline-block; - vertical-align: middle; - background-size: 100% auto; - background-position: center; - background-repeat: no-repeat; - font-style: normal; - position: relative; - /* Material Icons http://google.github.io/material-design-icons/ */ - &.icon-back { - width: 24px; - height: 24px; - .encoded-svg-background("") - } - &.icon-forward { - width: 24px; - height: 24px; - .encoded-svg-background(""); - } - &.icon-bars { - width: 24px; - height: 24px; - .encoded-svg-background(""); - } - &.icon-camera { - width: 24px; - height: 24px; - .encoded-svg-background(""); - } - &.icon-f7 { - width: 24px; - height: 24px; - background-image: url("@{imgBaseUrl}/i-f7-material.png"); - border-radius: 3px; - } - &.icon-next, &.icon-prev { - width: 24px; - height: 24px; - } - &.icon-next { - .encoded-svg-background(""); - } - &.icon-prev { - .encoded-svg-background(""); - } - &.icon-plus { - width: 24px; - height: 24px; - font-size: 0; - .encoded-svg-background(""); - } - &.icon-close { - width: 24px; - height: 24px; - font-size: 0; - .encoded-svg-background(""); - } -} diff --git a/vendor/framework7/src/less/material/infinite-scroll.less b/vendor/framework7/src/less/material/infinite-scroll.less deleted file mode 100644 index 5531c9bd4..000000000 --- a/vendor/framework7/src/less/material/infinite-scroll.less +++ /dev/null @@ -1,5 +0,0 @@ -/* === Infinite Scroll Preloader === */ -.infinite-scroll-preloader { - text-align: center; - padding: 8px 0; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/intro.less b/vendor/framework7/src/less/material/intro.less deleted file mode 100644 index 9d3d8d418..000000000 --- a/vendor/framework7/src/less/material/intro.less +++ /dev/null @@ -1,37 +0,0 @@ -@imgBaseUrl: "../img"; -html, body, .framework7-root { - position: relative; - height: 100%; - width: 100%; - overflow-x: hidden; -} -body { - font-family: Roboto, Noto, Helvetica, Arial, sans-serif; - margin: 0; - padding: 0; - color: #212121; - font-size: 14px; - line-height: 1.5; - width: 100%; - -webkit-text-size-adjust:100%; - background: #fff; - overflow: hidden; -} -.framework7-root { - overflow: hidden; -} -* { - -webkit-tap-highlight-color: rgba(0,0,0,0); - -webkit-touch-callout:none; -} -a, input, textarea, select { - outline: 0; -} - -a { - text-decoration: none; - color: @themeColor; -} -p { - margin: 1em 0; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/lazy-load.less b/vendor/framework7/src/less/material/lazy-load.less deleted file mode 100644 index 0482f8c22..000000000 --- a/vendor/framework7/src/less/material/lazy-load.less +++ /dev/null @@ -1,20 +0,0 @@ -/* === Images Lazy Loading === */ -.lazy-loaded.lazy-fadeIn { - .animation(lazyFadeIn 600ms); -} -@-webkit-keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes lazyFadeIn { - from { - opacity: 0; - } - to { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/lists.less b/vendor/framework7/src/less/material/lists.less deleted file mode 100644 index 0493caa75..000000000 --- a/vendor/framework7/src/less/material/lists.less +++ /dev/null @@ -1,394 +0,0 @@ -/* === Lists === */ -@listBlockBorderColor: rgba(0,0,0,0.12); -.list-block { - margin: 32px 0; - font-size: 16px; - ul { - list-style: none; - padding: 0; - margin: 0; - position: relative; - .hairline(top, @listBlockBorderColor); - .hairline(bottom, @listBlockBorderColor); - ul { - .hairline-remove(top); - .hairline-remove(bottom); - padding-left: 56px; - } - } - - .align-top, .align-top .item-content, .align-top .item-inner { - .align-items(flex-start); - } - - .inset() { - margin-left: 16px; - margin-right: 16px; - border-radius: 4px; - .content-block-title { - margin-left: 0; - margin-right: 0; - } - ul { - border-radius: 4px; - .hairline-remove(top); - .hairline-remove(bottom); - } - li:first-child > a{ - border-radius: 4px 4px 0 0; - } - li:last-child > a{ - border-radius: 0 0 4px 4px; - } - li:first-child:last-child > a { - border-radius: 4px; - } - } - &.inset { - .inset() - } - &.tablet-inset { - @media all and (min-width:768px) { - .inset(); - } - } - - // List items - li { - box-sizing:border-box; - position: relative; - } - - .item-media { - .flexbox(); - .flex-shrink(0); - .flex-wrap(nowrap); - .align-items(center); - box-sizing:border-box; - padding-top: 8px; - padding-bottom: 8px; - min-width: 40px; - i + i { - margin-left: 8px; - } - i + img { - margin-left: 8px; - } - } - .item-media + .item-inner { - margin-left: 16px; - } - .item-inner { - padding-right: 16px; - position: relative; - .hairline(bottom, @listBlockBorderColor); - width: 100%; - padding-top: 8px; - padding-bottom: 8px; - min-height: 48px; - box-sizing:border-box; - -webkit-box-flex:1; - -ms-flex:1; - min-width: 0; - .flexbox(); - .justify-content(space-between); - .align-items(center); - .align-self(stretch); - } - .item-title { - min-width: 0; - .flex-shrink(1); - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - max-width: 100%; - } - - .item-after { - white-space: nowrap; - color: #757575; - .flex-shrink(0); - margin-left: 8px; - .flexbox(); - max-height: 28px; - font-size: 14px; - } - .smart-select .item-after, .autocomplete-opener .item-after { - max-width: 70%; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - display: block; - } - .item-link { - .transition(300ms); - display: block; - color: inherit; - position: relative; - overflow: hidden; - z-index: 0; - .item-inner { - padding-right: 42px; - .encoded-svg-background(""); - background-size: 10px 20px; - background-repeat: no-repeat; - background-position: 95% center; - background-position: -webkit-calc(~"100% - 16px") center; - background-position: calc(~"100% - 16px") center; - } - html:not(.watch-active-state) &:active, &.active-state { - background-color: rgba(0,0,0,0.1); - } - &.list-button { - padding: 0 16px; - font-size: 16px; - display: block; - line-height: 48px; - } - } - .item-content { - box-sizing:border-box; - padding-left: 16px; - min-height: 48px; - .flexbox(); - .justify-content(space-between); - .align-items(center); - } - // Label after List block - .list-block-label { - margin: 10px 0 35px; - padding: 0 16px; - font-size: 14px; - color: rgba(0,0,0,0.54); - } - - // Swipe outs - .swipeout { - overflow: hidden; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - } - .swipeout.deleting { - .transition(300ms); - .swipeout-content { - .transform(translateX(-100%)); - } - } - .swipeout.transitioning { - .swipeout-content, .swipeout-actions-right a, .swipeout-actions-left a, .swipeout-overswipe { - -webkit-transition: 300ms; - transition: 300ms; - } - } - .swipeout-content { - position: relative; - z-index: 10; - } - .swipeout-overswipe { - -webkit-transition: 200ms left; - transition: 200ms left; - } - .swipeout-actions-left, .swipeout-actions-right { - position: absolute; - top: 0; - height: 100%; - .flexbox(); - a { - padding: 0 24px; - color:#fff; - background: #c7c7cc; - .flexbox(); - .align-items(center); - position: relative; - left: 0; - &:after { - content:''; - position: absolute; - top: 0; - width: 600%; - height: 100%; - background: inherit; - z-index: -1; - } - } - a.swipeout-delete { - background: @red; - } - } - .swipeout-actions-right { - right: 0%; - .transform(translateX(100%)); - a:after { - left: 100%; - margin-left: -1px; - } - } - .swipeout-actions-left { - left: 0%; - .transform(translateX(-100%)); - a:after { - right: 100%; - margin-right: -1px; - } - } - .item-subtitle { - font-size: 14px; - position: relative; - overflow: hidden; - white-space: nowrap; - max-width: 100%; - text-overflow:ellipsis; - } - .item-text { - font-size: 14px; - color: #757575; - line-height: 20px; - position: relative; - overflow: hidden; - max-height: 40px; - text-overflow:ellipsis; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; - display: -webkit-box; - } - &.media-list, li.media-item { - .item-inner { - display: block; - padding-top: 14px; - padding-bottom: 14px; - .align-self(stretch); - } - .item-link .item-inner { - background: none; - padding-right: 16px; - } - .item-link .item-title-row { - padding-right: 26px; - background: no-repeat right top; - .encoded-svg-background(""); - background-size: 10px 20px; - } - .item-media { - padding-top: 14px; - padding-bottom: 14px; - .align-self(flex-start); - img { - display: block; - } - } - .item-title-row { - .flexbox(); - .justify-content(space-between); - } - .item-content > .item-after { - padding-top: 14px; - padding-bottom: 14px; - .align-self(flex-start); - } - } - .list-group { - ul { - &:after, &:before { - z-index: 11; - } - } - + .list-group ul { - .hairline-remove(top); - } - } - .item-divider, .list-group-title { - background: #f4f4f4; - .hairline-remove(top); - padding: 0px 16px; - white-space: nowrap; - position: relative; - max-width: 100%; - text-overflow: ellipsis; - overflow: hidden; - color: rgba(0,0,0,0.54); - height: 48px; - box-sizing: border-box; - line-height: 48px; - font-size: 14px; - } - .list-group-title { - position: relative; - position: -webkit-sticky; - position: -moz-sticky; - position: sticky; - top: 0px; - z-index: 10; - margin-top: 0; - } - // Sortable - .sortable-handler { - position: absolute; - right: 0; - top: 0; - bottom: 1px; - z-index: 10; - background-repeat: no-repeat; - background-size: 18px 12px; - background-position: center; - width: 50px; - .encoded-svg-background(""); - opacity: 0; - visibility: hidden; - cursor: pointer; - .transition(300ms); - } - &.sortable { - .item-inner { - .transition(300ms); - } - } - &.sortable-opened { - .sortable-handler { - visibility: visible; - opacity: 1; - } - .item-inner, .item-link .item-inner { - padding-right: 16px + 18px + 16px; - } - .item-link .item-inner, .item-link .item-title-row { - background-image: none; - } - } - &.sortable-sorting { - li { - .transition(300ms); - } - } - li.sorting { - z-index: 50; - background: rgba(255,255,255,0.8); - .depth(2); - .transition(0ms); - .item-inner { - .hairline-remove(bottom); - } - } - - // Last-childs - li { - &:last-child { - .list-button { - .hairline-remove(bottom); - } - } - &:last-child, &:last-child li:last-child { - .item-inner { - .hairline-remove(bottom); - } - } - li:last-child, &:last-child li { - .item-inner { - .hairline(bottom, @listBlockBorderColor); - } - } - } - - .no-hairlines(); - .no-hairlines-between() -} diff --git a/vendor/framework7/src/less/material/login-screen.less b/vendor/framework7/src/less/material/login-screen.less deleted file mode 100644 index b5edfa0d8..000000000 --- a/vendor/framework7/src/less/material/login-screen.less +++ /dev/null @@ -1,23 +0,0 @@ -/* === Login screen === */ -.login-screen-content { - background: #fff; - .login-screen-title, .list-block, .content-block, .list-block-label { - max-width: 480px; - margin: 24px auto; - } - .list-block ul { - .hairline-remove(top); - .hairline-remove(bottom); - background: none; - } - .list-block-label { - text-align: center; - } -} -.navbar-fixed .page .login-screen-content { - padding-top: 0; -} -.login-screen-title { - text-align: center; - font-size: 34px; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/messagebar.less b/vendor/framework7/src/less/material/messagebar.less deleted file mode 100644 index b77d07dbf..000000000 --- a/vendor/framework7/src/less/material/messagebar.less +++ /dev/null @@ -1,56 +0,0 @@ -/* === Message Bar === */ -.toolbar.messagebar { - .translate3d(0,0,0); - background: #fff; - .hairline(top, #d1d1d1); - height: 48px; - top: auto; - bottom: 0; - font-size: 16px; - overflow: hidden; - textarea { - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - border: none; - background: none; - border-radius: 0; - box-shadow: none; - display: block; - padding: 3px 8px 3px; - margin: 0; - width: 100%; - height: 28px; - color: #333; - font-size: 16px; - line-height: 22px; - font-family: inherit; - resize:none; - .flex-shrink(1); - } - a.link { - color: #333; - .align-self(flex-end); - height: @toolbarSize; - line-height: @toolbarSize; - .active-highlight-color(rgba(0,0,0,0.1)); - - } - .link { - .flex-shrink(0); - } - ~ .page-content { - padding-bottom: @toolbarSize; - } - .page.no-toolbar & ~.page-content { - padding-bottom: @toolbarSize; - } - .hidden-toolbar & { - .translate3d(0,0,0); - .transition(0ms); - } -} diff --git a/vendor/framework7/src/less/material/messages.less b/vendor/framework7/src/less/material/messages.less deleted file mode 100644 index 66af384ad..000000000 --- a/vendor/framework7/src/less/material/messages.less +++ /dev/null @@ -1,206 +0,0 @@ -/* === Messages === */ -@messagesAvatarSize: 48px; -.messages-content { - background: #eee; -} -.messages { - .flexbox(); - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.messages-date { - text-align: center; - font-weight: 500; - font-size: 12px; - line-height: 1; - margin: 10px 15px; - span { - font-weight: 400; - } -} -.message { - box-sizing: border-box; - margin: 0px 8px 8px 8px; - max-width: 80%; - .flexbox(); - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - &:first-child { - margin-top: 8px; - } - &.message-pic { - img { - display: block; - } - } -} -.message-name, .message-label, .message-date, .messages-date { - color:rgba(0,0,0,0.51); -} -.message-name { - font-size: 12px; - line-height: 1; - margin-bottom: 2px; - margin-top: 7px; - .message-hide-name & { - display: none; - } -} -.message-label { - font-size: 12px; - line-height: 1; - margin-top: 4px; - .message-hide-label & { - display: none; - } -} -.message-avatar { - width: @messagesAvatarSize; - height: @messagesAvatarSize; - border-radius: 100%; - margin-top: -@messagesAvatarSize; - position: relative; - top: 1px; - background-size: cover; - opacity: 1; - .transition(400ms); - .message-hide-avatar & { - opacity: 0; - } -} -.message-text { - box-sizing: border-box; - border-radius: 2px; - padding: 6px 8px; - min-width: 48px; - font-size: 16px; - line-height: 1.2; - word-break: break-word; - color:#333; - min-height: @messagesAvatarSize; - position: relative; - .translate3d(0,0,0); - img { - max-width: 100%; - height: auto; - } - .message-pic & { - padding: 8px; - } -} -.message-date { - font-size: 12px; - margin-top: 4px; - .message-pic img + & { - margin-top: 8px; - } -} -.message-sent { - -ms-flex-item-align: end; - -webkit-align-self: flex-end; - align-self: flex-end; - .align-items(flex-end); - .message-name, .message-label { - margin-right: 8px; - } - .message-text { - background-color: #C8E6C9; - margin-left: auto; - border-radius: 2px 2px 0 2px; - margin-right: 8px; - &:before { - position: absolute; - content: ''; - border-left: 0px solid transparent; - border-right: 8px solid transparent; - border-bottom: 8px solid #C8E6C9; - left: 100%; - bottom: 0; - width: 0; - height: 0; - } - } - &.message-with-avatar { - .message-text, .message-name, .message-label { - margin-right: @messagesAvatarSize + 8px; - } - } -} -.message-received { - -ms-flex-item-align: start; - -webkit-align-self: flex-start; - align-self: flex-start; - .align-items(flex-start); - .message-text { - background-color: #fff; - border-radius: 2px 2px 2px 0px; - margin-left: 8px; - &:before { - position: absolute; - content: ''; - border-left: 8px solid transparent; - border-right: 0px solid transparent; - border-bottom: 8px solid #fff; - right: 100%; - bottom: 0; - width: 0; - height: 0; - } - } - .message-name, .message-label { - margin-left: 8px; - } - &.message-with-avatar { - .message-text, .message-name, .message-label { - margin-left: @messagesAvatarSize + 8px; - } - } -} - -.message-appear-from-bottom { - -webkit-animation: messageAppearFromBottom 400ms; - animation: messageAppearFromBottom 400ms; -} -.message-appear-from-top { - -webkit-animation: messageAppearFromTop 400ms; - animation: messageAppearFromTop 400ms; -} - -@-webkit-keyframes messageAppearFromBottom { - from { - -webkit-transform: translate3d(0,100%,0); - } - to { - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes messageAppearFromBottom { - from { - transform: translate3d(0,100%,0); - } - to { - transform: translate3d(0,0,0); - } -} -@-webkit-keyframes messageAppearFromTop { - from { - -webkit-transform: translate3d(0,-100%,0); - } - to { - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes messageAppearFromTop { - from { - transform: translate3d(0,-100%,0); - } - to { - transform: translate3d(0,0,0); - } -} diff --git a/vendor/framework7/src/less/material/modals.less b/vendor/framework7/src/less/material/modals.less deleted file mode 100644 index 1ccbf6433..000000000 --- a/vendor/framework7/src/less/material/modals.less +++ /dev/null @@ -1,552 +0,0 @@ -/* === Modals === */ -@modalBgColor:#fff; -@modalButonColor : #4285f4; -@modalButonBg: @modalBgColor; -@modalDuration:400ms; -@actionsModalDuration:300ms; -@popoverDuration: 300ms; -@popupDuration: 400ms; -.modal-overlay, .preloader-indicator-overlay, .popup-overlay, .picker-modal-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0,0,0,0.4); - z-index: 13000; - visibility: hidden; - opacity: 0; - .transition(@modalDuration); - &.modal-overlay-visible { - visibility: visible; - opacity: 1; - } -} -.popup-overlay { - z-index: 10500; -} -.picker-modal-overlay { - z-index: 12000; -} -.modal { - width: 280px; - position: absolute; - z-index: 13500; - left: 50%; - margin-left: -140px; - margin-top: 0; - top: 50%; - border-radius: 3px; - opacity: 0; - .transform(translate3d(0,0,0) scale(1.185)); - -webkit-transition-property: -webkit-transform, opacity; - -moz-transition-property: -moz-transform, opacity; - -ms-transition-property: -ms-transform, opacity; - -o-transition-property: -o-transform, opacity; - transition-property: transform, opacity; - color:#757575; - display: none; - background: #fff; - font-size: 16px; - .depth(5); - &.modal-in { - opacity: 1; - .transition(@modalDuration); - .transform(translate3d(0,0,0) scale(1)); - } - &.modal-out { - opacity: 0; - z-index: 13500-1; - .transition(@modalDuration); - .transform(translate3d(0,0,0) scale(0.815)); - } -} -.modal-inner { - padding: 24px 24px 20px; - position: relative; -} -.modal-title { - font-weight: 500; - font-size: 20px; - color:#212121; - line-height: 1.3; - +.modal-text { - margin-top: 20px; - } -} -.modal-text { - line-height: 1.5; -} -.modal-buttons { - height: 48px; - padding: 6px 8px; - overflow: hidden; - box-sizing:border-box; - .flexbox(); - .justify-content(flex-end); - &.modal-buttons-vertical { - display: block; - height: auto; - padding: 0 0 8px 0; - .modal-button { - margin-left: 0; - text-align: right; - height: 48px; - line-height: 48px; - border-radius: 0; - padding-left: 16px; - padding-right: 16px; - } - } -} -.modal-button, .modal-buttons .button { - .button; - &.modal-button-bold { - font-weight: 700; - } - + .modal-button { - margin-left: 4px; - } -} -.modal-no-buttons { - .modal-buttons { - display: none; - } -} -// Action sheet -.actions-modal { - position: absolute; - left: 0; - bottom: 0; - z-index: 13500; - width: 100%; - background: #fff; - .transform(translate3d(0,100%,0)); - max-height: 100%; - .scrollable(); - &.modal-in { - .transition(@actionsModalDuration); - .transform(translate3d(0,0,0)); - } - &.modal-out { - z-index: 13500-1; - .transition(@actionsModalDuration); - .transform(translate3d(0,100%,0)); - } -} -.actions-modal-group { - position: relative; - .hairline(bottom, #d2d2d6); - &:last-child { - .hairline-remove(bottom); - } -} -.actions-modal-button, .actions-modal-label { - width: 100%; - font-weight: normal; - margin: 0; - box-sizing: border-box; - display: block; - position: relative; - padding: 0 16px; - a { - text-decoration: none; - color: inherit; - display: block; - } - b { - font-weight: 500; - } - &.actions-modal-button-bold { - font-weight: 500; - } - &.actions-modal-button-red { - color: @red; - } - &.disabled { - opacity: 0.95; - color:@gray; - } -} -.actions-modal-button { - cursor: pointer; - line-height: 48px; - font-size: 16px; - color: rgba(0,0,0,0.87); - .transition(300ms); - a, & { - position: relative; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - html:not(.watch-active-state) &:active, &.active-state { - background: rgba(0,0,0,0.1); - } -} -.actions-modal-label { - font-size: 16px; - color: rgba(0,0,0,0.54); - min-height: 56px; - line-height: 1.3; - padding-top: 12px; - padding-bottom: 12px; - .flexbox(); - .justify-content(flex-start); - .align-items(center); -} -// Prompt -input.modal-text-input { - box-sizing:border-box; - height: 36px; - background: #fff; - margin: 0; - margin-top: 15px; - padding: 0; - border: none; - width: 100%; - font-size: 16px; - font-family: inherit; - display: block; - box-shadow: none; - -webkit-appearance: none; - -moz-appearance: none; - -ms-appearance: none; - appearance: none; - .transition(200ms); - &::-webkit-input-placeholder { - color: rgba(0,0,0,0.35); - } - + input.modal-text-input { - margin-top: 16px; - } -} -// Popover -.popover { - width: 320px; - background: #fff; - z-index: 13500; - margin: 0; - top: 0; - opacity: 0; - left: 0; - border-radius: 3px; - position: absolute; - display: none; - .depth(2); - .transform(scale(0.85, 0.6)); - -webkit-transition-property: opacity, -webkit-transform, border-radius; - -moz-transition-property: opacity, -moz-transform, border-radius; - transition-property: opacity, transform, border-radius; - &.popover-on-top { - .transform-origin(center bottom); - } - &.popover-on-bottom { - .transform-origin(center top); - } - &.modal-in { - .transform(scale(1)); - .transition(@popoverDuration); - opacity: 1; - } - &.modal-out { - .transform(scale(1)); - .transition(@popoverDuration); - opacity: 0; - } - .list-block { - margin: 0; - &:first-child:last-child ul { - .hairline-remove(top); - .hairline-remove(bottom); - } - ul { - background: none; - .hairline-remove(top); - } - &:first-child { - ul { - border-radius: 3px 3px 0 0; - } - li:first-child a { - border-radius: 3px 3px 0 0; - } - } - &:last-child { - ul { - .hairline-remove(bottom); - border-radius: 0 0 3px 3px; - } - li:last-child a { - border-radius: 0 0 3px 3px; - } - } - &:first-child:last-child { - li:first-child:last-child a, ul:first-child:last-child { - border-radius: 3px; - } - } - } - &.popover-floating-button { - .transform-origin(center center); - .transform(scale(0.7)); - border-radius: 50%; - box-shadow: none; - .depth(3); - &.modal-in { - border-radius: 0%; - .transform(scale(1)); - .delay(200ms); - .transition(200ms); - } - &.modal-out { - border-radius: 50%; - .transform(scale(0.7)); - .delay(0ms); - .transition(100ms); - } - .list-block { - margin: 0; - &:first-child { - ul { - border-radius: 0; - } - li:first-child a { - border-radius: 0; - } - } - &:last-child { - ul { - border-radius: 0; - } - li:last-child a { - border-radius: 0; - } - } - &:first-child:last-child { - li:first-child:last-child a, ul:first-child:last-child { - border-radius: 0; - } - } - } - } -} -.popover-inner { - .scrollable(); -} -.actions-popover { - .list-block { - margin: 0; - } -} -.actions-popover-label { - padding: 8px 16px; - color:rgba(0,0,0,0.54); - font-size: 16px; - line-height: 1.3; - padding-top: 12px; - padding-bottom: 12px; - position: relative; - .hairline(bottom, #d2d2d6); - &:last-child { - .hairline-remove(bottom); - } -} -// Popup -.popup, .login-screen { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11000; - background: #fff; - box-sizing:border-box; - display: none; - .scrollable(); - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - .translate3d(0,100%,0); - &.modal-in, &.modal-out { - .transition(@popupDuration); - } - &.modal-in { - .translate3d(0,0,0); - } - &.modal-out { - .translate3d(0,100%,0); - } -} -.login-screen.modal-in, .login-screen.modal-out { - display: block; -} -// iPad Popup -@media all and (min-width:630px) and (min-height:630px) { - .popup:not(.tablet-fullscreen) { - width: 630px; - height: 630px; - left: 50%; - top: 50%; - margin-left: -315px; - margin-top: -315px; - box-shadow: 0px 20px 44px rgba(0,0,0,0.5); - border-radius: 3px; - .translate3d(0,1024px,0); - &.modal-in { - .translate3d(0,0,0); - } - &.modal-out { - .translate3d(0,1024px,0); - } - } -} -html.with-statusbar-overlay { - // iPhone with statusbar overlay - @media all and (max-width:629px), (max-height:629px) { - .popup { - height: ~"-webkit-calc(100% - 20px)"; - height: ~"calc(100% - 20px)"; - top: 20px; - } - .popup-overlay { - z-index: 9500; - } - } - .login-screen, .popup.tablet-fullscreen { - height: ~"-webkit-calc(100% - 20px)"; - height: ~"calc(100% - 20px)"; - top: 20px; - } -} - -//Preloaders modals -.modal-preloader { - .modal-title, .modal-inner { - text-align: center; - } -} -.preloader-indicator-overlay { - visibility: visible; - opacity: 0; - background: none; -} -.preloader-indicator-modal { - position: absolute; - left: 50%; - top: 50%; - padding: 8px; - margin-left: -24px; - margin-top: -24px; - background: rgba(0,0,0,0.8); - z-index: 13500; - border-radius: 4px; - .preloader { - display: block; - } -} - -// Picker Modal -.picker-modal { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - height: 260px; - z-index: 12000; - display: none; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - -ms-transition-property: -ms-transform; - -o-transition-property: -o-transform; - transition-property: transform; - background: #fff; - .translate3d(0,100%,0); - &.modal-in, &.modal-out { - .transition(400ms); - } - &.modal-in { - .translate3d(0,0,0); - } - &.modal-out { - .translate3d(0,100%,0); - } - .picker-modal-inner { - height: 100%; - position: relative; - } - .toolbar { - position: relative; - width: 100%; - top: 0; - + .picker-modal-inner { - height: ~"-webkit-calc(100% - @{toolbarSize})"; - height: ~"-moz-calc(100% - @{toolbarSize})"; - height: ~"calc(100% - @{toolbarSize})"; - } - a.link { - .flex-shrink(0); - } - } - .picker-header, .picker-footer { - height: @toolbarSize; - } - .picker-header { - background: @themeColor; - + .toolbar .toolbar-inner { - overflow: visible; - } - + .picker-footer + .toolbar + .picker-modal-inner { - height: ~"-webkit-calc(100% - @{toolbarSize} * 3)"; - height: ~"-moz-calc(100% - @{toolbarSize} * 3)"; - height: ~"calc(100% - @{toolbarSize} * 3)"; - } - } - .picker-footer { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - .modal-buttons; - - } - .picker-header, .picker-footer { - + .picker-modal-inner { - height: ~"-webkit-calc(100% - @{toolbarSize})"; - height: ~"-moz-calc(100% - @{toolbarSize})"; - height: ~"calc(100% - @{toolbarSize})"; - } - + .toolbar + .picker-modal-inner { - height: ~"-webkit-calc(100% - @{toolbarSize} * 2)"; - height: ~"-moz-calc(100% - @{toolbarSize} * 2)"; - height: ~"calc(100% - @{toolbarSize} * 2)"; - } - } - &.picker-modal-inline, .popover & { - display: block; - position: relative; - background: none; - z-index: inherit; - .translate3d(0,0,0); - .toolbar { - top: 0; - } - } - .popover & { - width: auto; - .toolbar:first-child, .picker-header:first-child { - border-radius: 2px 2px 0 0; - } - } - &.smart-select-picker { - .list-block { - margin: 0; - ul { - .hairline-remove(top); - .hairline-remove(bottom); - } - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/notifications.less b/vendor/framework7/src/less/material/notifications.less deleted file mode 100644 index 5dbdf82a2..000000000 --- a/vendor/framework7/src/less/material/notifications.less +++ /dev/null @@ -1,75 +0,0 @@ -/* === Notifications === */ -@notificationsDuration: 450ms; -.notifications { - position: absolute; - left: 0; - bottom: 0; - width: 100%; - z-index: 10900; - color: #fff; - font-size: 14px; - margin: 0; - border: none; - display: none; - box-sizing: border-box; - max-height: 100%; - overflow: hidden; - -webkit-overflow-scrolling: touch; - .transition(@notificationsDuration); - -webkit-perspective:1200px; - perspective:1200px; - - &.list-block > ul { - .hairline-remove(top); - .hairline-remove(bottom); - max-width: 568px; - background: #323232; - margin: 0 auto; - } - .item-content { - .align-items(flex-start); - padding-left: 24px; - } - .item-title { - font-size: 14px; - font-weight: normal; - white-space: normal; - padding-top: 14px; - padding-bottom: 14px; - } - .item-inner { - padding-right: 24px; - padding-top: 0; - padding-bottom: 0; - .hairline-remove(bottom); - } - .item-after { - max-height: none; - margin-left: 16px; - } - .button.close-notification { - color: lighten(saturate(@themeColor, 10%), 10%); - } - .notification-item { - margin: 0 auto; - .transition(@notificationsDuration); - .delay(100ms); - .translate3d(0,0,0); - opacity: 1; - } - .notification-hidden { - opacity: 0; - .delay(0ms); - .translate3d(0,0,0); - } - .notification-item-removing { - .delay(0ms); - } - @media (min-width: 569px) { - &.list-block > ul { - border-radius: 2px; - width: auto; - min-width: 288px; - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/pages.less b/vendor/framework7/src/less/material/pages.less deleted file mode 100644 index 3e8aabc7d..000000000 --- a/vendor/framework7/src/less/material/pages.less +++ /dev/null @@ -1,137 +0,0 @@ -/* === Pages === */ - -// Pages animations -@pageDuration: 300ms; -@newPageOffset: 56px; - -.pages { - position: relative; - width: 100%; - height: 100%; - overflow: hidden; -} -.page { - box-sizing: border-box; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: #fff; - .translate3d(0,0,0); - &.cached { - display: none; - } -} -.page-on-left { - opacity: 1; - .translate3d(0,0,0); -} -.page-on-right { - opacity: 0; - pointer-events: none; - .translate3d(0, @newPageOffset, 0); -} -.page-content { - .scrollable(); - box-sizing: border-box; - height: 100%; - position: relative; - z-index: 1; -} - -//Class that will trigger transition during page custom transitions (like swipe-back) -.page-transitioning { - .transition(@pageDuration); -} -// From/to Right To/from Center animations -.page-from-right-to-center { - pointer-events: none; - .animation(pageFromRightToCenter @pageDuration forwards); -} -.page-from-center-to-right { - pointer-events: none; - .animation(pageFromCenterToRight @pageDuration forwards); -} -@-webkit-keyframes pageFromRightToCenter { - from { - opacity: 0; - -webkit-transform: translate3d(0, @newPageOffset,0); - } - to { - opacity: 1; - -webkit-transform: translate3d(0,0,0); - } -} -@keyframes pageFromRightToCenter { - from { - opacity: 0; - transform: translate3d(0, @newPageOffset,0); - } - to { - opacity: 1; - transform: translate3d(0,0,0); - } -} -@-webkit-keyframes pageFromCenterToRight { - from { - opacity: 1; - -webkit-transform: translate3d(0,0,0); - } - to { - opacity: 0; - -webkit-transform: translate3d(0, @newPageOffset,0); - } -} -@keyframes pageFromCenterToRight { - from { - opacity: 1; - transform: translate3d(0,0,0); - } - to { - opacity: 0; - transform: translate3d(0, @newPageOffset,0); - } -} - - -// From/to Center To/from Left animations -.page-from-center-to-left { - .animation(pageFromCenterToLeft @pageDuration forwards); -} -.page-from-left-to-center { - .animation(pageFromLeftToCenter @pageDuration forwards); -} - -@-webkit-keyframes pageFromCenterToLeft { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@keyframes pageFromCenterToLeft { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@-webkit-keyframes pageFromLeftToCenter { - from { - opacity: 1; - } - to { - opacity: 1; - } -} -@keyframes pageFromLeftToCenter { - from { - opacity: 1; - } - to { - opacity: 1; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/panels.less b/vendor/framework7/src/less/material/panels.less deleted file mode 100644 index 703de2ec2..000000000 --- a/vendor/framework7/src/less/material/panels.less +++ /dev/null @@ -1,112 +0,0 @@ -/* === Panels === */ -@panelWidth:260px; -@panelsDuration: 300ms; -.panel-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: rgba(0,0,0,0.2); - opacity: 0; - z-index: 5999; - display: none; - .transform(translate3d(0,0,0)); - .transition(@panelsDuration); -} -.panel { - z-index: 1000; - display: none; - background: #fff; - box-sizing: border-box; - .scrollable(); - position: absolute; - width: @panelWidth; - top: 0; - height: 100%; - .translate3d(0); - .transition(@panelsDuration); - - &.panel-left { - - &.panel-cover { - z-index: 6000; - left: -@panelWidth; - } - &.panel-reveal { - left: 0; - } - } - &.panel-right { - &.panel-cover { - z-index: 6000; - right: -@panelWidth; - } - &.panel-reveal { - right: 0; - } - } -} -body.with-panel-left-cover, body.with-panel-right-cover { - .panel { - box-shadow: 0px 0px 20px rgba(0,0,0,0.5); - } - .views { - .translate3d(0); - } - .panel-overlay { - display: block; - opacity: 1; - } -} -body.with-panel-left-reveal, body.with-panel-right-reveal { - .views { - box-shadow: 0px 0px 20px rgba(0,0,0,0.5); - .transition(@panelsDuration); - -webkit-transition-property: -webkit-transform, box-shadow; - -moz-transition-property: -moz-transform, box-shadow; - transition-property: transform, box-shadow; - } - .panel-overlay { - background: rgba(0,0,0,0); - display: block; - opacity: 0; - } -} -body.with-panel-left-reveal { - .views { - .translate3d(@panelWidth); - } - .panel-overlay { - .translate3d(@panelWidth); - } -} -body.with-panel-left-cover { - .panel-left { - .translate3d(@panelWidth); - } -} -body.with-panel-right-reveal { - .views { - .translate3d(-@panelWidth); - } - .panel-overlay { - .translate3d(-@panelWidth); - } -} -body.with-panel-right-cover { - .panel-right { - .translate3d(-@panelWidth); - } -} -body.panel-closing { - .panel-overlay { - display: block; - } - .views { - .transition(@panelsDuration); - -webkit-transition-property: -webkit-transform, box-shadow; - -moz-transition-property: -moz-transform, box-shadow; - transition-property: transform, box-shadow; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/photo-browser.less b/vendor/framework7/src/less/material/photo-browser.less deleted file mode 100644 index 3f48b7e2c..000000000 --- a/vendor/framework7/src/less/material/photo-browser.less +++ /dev/null @@ -1,253 +0,0 @@ -/* === Photo Browser === */ -.photo-browser { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 11500; - body > &, .framework7-root > & { - opacity: 0; - display: none; - .transform(translate3d(0,0,0)); - &.photo-browser-in { - display: block; - .animation(photoBrowserIn 400ms forwards); - } - &.photo-browser-out { - display: block; - .animation(photoBrowserOut 400ms forwards); - } - html.with-statusbar-overlay & { - height: ~"-webkit-calc(100% - 20px)"; - height: ~"calc(100% - 20px)"; - top: 20px; - } - } - .popup > &, body > &, .framework7-root > & { - .navbar, .toolbar { - .transform(translate3d(0,0,0)); - } - } - .page[data-page="photo-browser-slides"] { - background:none; - } - -} -.photo-browser-popup { - background: none; -} -.photo-browser, .views .view[data-page="photo-browser-slides"] { - .navbar, .toolbar { - background: rgba(red(@themeColor),green(@themeColor),blue(@themeColor),0.95); - .transition(400ms); - } -} - -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"]{ - .navbar, .toolbar { - .transform(translate3d(0,0,0)); - } -} -.view[data-page="photo-browser-slides"] .page[data-page="photo-browser-slides"], .photo-browser .page[data-page="photo-browser-slides"] { - .toolbar { - bottom: 0; - top:auto; - } -} -.photo-browser-exposed { - .navbar, .toolbar { - opacity: 0; - visibility: hidden; - pointer-events:none; - } - .photo-browser-swiper-container { - background: #000; - } -} -.photo-browser-of { - margin: 0 5px; -} -.photo-browser-captions { - pointer-events:none; - position: absolute; - left: 0; - width: 100%; - bottom: 0; - z-index: 10; - opacity: 1; - .transition(400ms); - &.photo-browser-captions-exposed { - opacity: 0; - } -} -.toolbar ~ .photo-browser-captions { - bottom: @toolbarSize; - .transform(translate3d(0, 0px, 0)); - .photo-browser-exposed & { - .transform(translate3d(0, @toolbarSize, 0)); - } - &.photo-browser-captions-exposed { - .transform(translate3d(0, 0px, 0)); - } -} - -.photo-browser-caption { - box-sizing: border-box; - .transition(300ms); - position:absolute; - bottom:0; - left:0; - opacity: 0; - padding:4px 5px; - width:100%; - text-align:center; - background: rgba(0,0,0,0.8); - &:empty { - display: none; - } - &.photo-browser-caption-active { - opacity: 1; - } - .photo-browser-captions-light & { - background: rgba(255,255,255,0.8); - } - .photo-browser-captions-dark & { - color: #fff; - } - .photo-browser-exposed & { - color:#fff; - background: rgba(0,0,0,0.8); - } -} - -.photo-browser-swiper-container { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - overflow: hidden; - background: #fff; - .transition(400ms); -} -.photo-browser-swiper-wrapper { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - padding: 0; - .flexbox(); -} -.photo-browser-link-inactive { - opacity: 0.3; -} -.photo-browser-slide { - width: 100%; - height: 100%; - position: relative; - overflow: hidden; - .flexbox(); - .justify-content(center); - .align-items(center); - .flex-shrink(0); - box-sizing: border-box; - &.transitioning { - .transition(400ms); - } - span.swiper-zoom-container { - display: none; - } - img { - width: auto; - height: auto; - max-width: 100%; - max-height: 100%; - display: none; - } - &.swiper-slide-active, &.swiper-slide-next, &.swiper-slide-prev { - span.swiper-zoom-container { - .flexbox(); - } - img { - display: inline; - } - &.photo-browser-slide-lazy { - .preloader { - display: block; - } - } - } - iframe { - width: 100%; - height: 100%; - } - .preloader { - display: none; - position: absolute; - width: 42px; - height: 42px; - margin-left: -21px; - margin-top: -21px; - left: 50%; - top: 50%; - } -} - -.photo-browser.photo-browser-dark { - .navbar, .toolbar { - background: rgba(30,30,30,0.8); - .hairline-remove(top); - .hairline-remove(bottom); - color:#fff; - a { - color:#fff; - } - } - .photo-browser-swiper-container { - background: #000; - } - -} - -@-webkit-keyframes photoBrowserIn { - 0% { - -webkit-transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } - 100% { - -webkit-transform: translate3d(0,0,0) scale(1); - opacity: 1; - } -} -@keyframes photoBrowserIn { - 0% { - transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } - 100% { - transform: translate3d(0,0,0) scale(1); - opacity: 1; - } -} -@-webkit-keyframes photoBrowserOut { - 0% { - -webkit-transform: translate3d(0,0,0) scale(1); - opacity: 1; - } - 100% { - -webkit-transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } -} -@keyframes photoBrowserOut { - 0% { - transform: translate3d(0,0,0) scale(1); - opacity: 1; - } - 100% { - transform: translate3d(0,0,0) scale(0.5); - opacity: 0; - } -} diff --git a/vendor/framework7/src/less/material/picker.less b/vendor/framework7/src/less/material/picker.less deleted file mode 100644 index a80cc4679..000000000 --- a/vendor/framework7/src/less/material/picker.less +++ /dev/null @@ -1,115 +0,0 @@ -/* === Columns Picker === */ -.picker-columns { - width: 100%; - height: 260px; - z-index: 11500; - &.picker-modal-inline { - height: 200px; - } - @media (orientation: landscape) and (max-height: 415px) { - &:not(.picker-modal-inline) { - height: 200px; - } - } -} -.popover.popover-picker-columns { - width: 280px; - .toolbar { - border-radius: 2px 2px 0 0; - } -} -.picker-items { - .flexbox(); - .justify-content(center); - padding: 0; - text-align: right; - font-size: 20px; - -webkit-mask-box-image: -webkit-linear-gradient(bottom, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); - -webkit-mask-box-image: linear-gradient(to top, transparent, transparent 5%, white 20%, white 80%, transparent 95%, transparent); -} -.picker-items-col { - overflow: hidden; - position: relative; - max-height: 100%; - - &.picker-items-col-left { - text-align: left; - } - &.picker-items-col-center { - text-align: center; - } - &.picker-items-col-right { - text-align: right; - } - &.picker-items-col-divider { - color: rgba(0,0,0,0.87); - .flexbox(); - .align-items(center); - } -} -.picker-items-col-wrapper { - .transition(300ms); - - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.picker-item { - height: 36px; - line-height: 36px; - padding: 0 10px; - white-space: nowrap; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - color: rgba(0,0,0,0.54); - left: 0; - top: 0; - width: 100%; - box-sizing: border-box; - .transition(300ms); - .picker-items-col-absolute &{ - position: absolute; - } - &.picker-item-far { - pointer-events: none; - } - &.picker-selected { - color: rgba(0,0,0,0.87); - .transform(translate3d(0,0,0) rotateX(0deg)); - } -} -.picker-center-highlight { - height: 36px; - box-sizing: border-box; - position: absolute; - left: 0; - width: 100%; - top: 50%; - margin-top: -18px; - .hairline(top, rgba(0,0,0,0.15)); - .hairline(bottom, rgba(0,0,0,0.15)); - pointer-events: none; -} -// 3D Picker -.picker-3d { - .picker-items { - overflow: hidden; - -webkit-perspective: 1200px; - perspective: 1200px; - } - .picker-items-col, .picker-items-col-wrapper, .picker-item { - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - } - .picker-items-col { - overflow: visible; - } - .picker-item { - -webkit-transform-origin: center center -110px; - transform-origin: center center -110px; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition-timing-function: ease-out; - transition-timing-function: ease-out; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/preloader.less b/vendor/framework7/src/less/material/preloader.less deleted file mode 100644 index aceb54611..000000000 --- a/vendor/framework7/src/less/material/preloader.less +++ /dev/null @@ -1,346 +0,0 @@ -/* === - Preloader - By Rudi Theunissen (https://github.com/rtheunissen/md-preloader) -=== */ -.preloader { - @easing: cubic-bezier(.8,.0,.4,.8); - - @speed: 1320ms; // animation time for each loop - @color: #757575; // Blue A200 in the Material Design color palette - @linecap: square; // could be 'round', but the official one is square - @loops: 5; // number of points where the arc meets - @arc: 0.72; // fraction of the circumference that the arc grows to - @perimeter: 67px * pi(); // circumference of the raw svg inner cricle - - font-size: 0; - - display: inline-block; - width: 32px; - height: 32px; - -webkit-animation: preloader-outer @speed * @loops / 2 linear infinite; - animation: preloader-outer @speed * @loops / 2 linear infinite; - - svg { - width: 100%; - height: 100%; - -webkit-animation: preloader-inner @speed linear infinite; - animation: preloader-inner @speed linear infinite; - - circle { - fill: none; - stroke: @color; - stroke-linecap: @linecap; - -webkit-animation: preloader-arc @speed @easing infinite; - animation: preloader-arc @speed @easing infinite; - } - } - @-webkit-keyframes preloader-outer { - 0% { - -webkit-transform: rotate(0); - } - 100% { - -webkit-transform: rotate(360deg); - } - } - @keyframes preloader-outer { - 0% { - transform: rotate(0); - } - 100% { - transform: rotate(360deg); - } - } - - @-webkit-keyframes preloader-inner { - 0% { - -webkit-transform: rotate(-360deg * (1 - @arc)); - } - 100% { - -webkit-transform: rotate(0); - } - } - @keyframes preloader-inner { - 0% { - transform: rotate(-360deg * (1 - @arc)); - } - 100% { - transform: rotate(0); - } - } - @-webkit-keyframes preloader-arc { - 0% { - stroke-dasharray: 1 @perimeter; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: @arc * @perimeter, @perimeter; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 @perimeter; - stroke-dashoffset: -@arc * @perimeter; - } - } - @keyframes preloader-arc { - 0% { - stroke-dasharray: 1 @perimeter; - stroke-dashoffset: 0; - } - 40% { - stroke-dasharray: @arc * @perimeter, @perimeter; - stroke-dashoffset: 0; - } - 100% { - stroke-dasharray: 1 @perimeter; - stroke-dashoffset: -@arc * @perimeter; - } - } -} -.preloader-inner { - @preloader-inner-ease: cubic-bezier(0.35, 0, 0.25, 1); - @preloader-inner-duration: 5.25s; - @preloader-inner-circle-duration: @preloader-inner-duration * 0.25; - @preloader-inner-outer-duration: @preloader-inner-duration * (5/9); - - position: relative; - display: block; - width: 100%; - height: 100%; - -webkit-animation: preloader-inner-rotate @preloader-inner-duration @preloader-inner-ease infinite; - animation: preloader-inner-rotate @preloader-inner-duration @preloader-inner-ease infinite; - .preloader-inner-gap { - position: absolute; - width: 2px; - left: 50%; - margin-left: -1px; - top: 0; - bottom: 0; - box-sizing: border-box; - border-top: 4px solid #757575; - } - .preloader-inner-left, .preloader-inner-right { - position: absolute; - top: 0; - height: 100%; - width: 50%; - overflow: hidden; - } - .preloader-inner-half-circle { - position: absolute; - top: 0; - height: 100%; - width: 200%; - box-sizing: border-box; - border: 4px solid #757575; - border-bottom-color: transparent !important; - border-radius: 50%; - -webkit-animation-iteration-count: infinite; - -webkit-animation-duration: (@preloader-inner-duration * 0.25); - -webkit-animation-timing-function: @preloader-inner-ease; - animation-iteration-count: infinite; - animation-duration: (@preloader-inner-duration * 0.25); - animation-timing-function: @preloader-inner-ease; - } - .preloader-white & { - .preloader-inner-gap, .preloader-inner-half-circle { - border-color: #fff; - } - } - .preloader-inner-left { - left: 0; - .preloader-inner-half-circle { - left: 0; - border-right-color: transparent !important; - -webkit-animation-name: preloader-left-rotate; - animation-name: preloader-left-rotate; - } - } - .preloader-inner-right { - right: 0; - .preloader-inner-half-circle { - right: 0; - border-left-color: transparent !important; - -webkit-animation-name: preloader-right-rotate; - animation-name: preloader-right-rotate; - } - } - .color-multi & { - .preloader-inner-left { - .preloader-inner-half-circle { - -webkit-animation-name: preloader-left-rotate-multicolor; - animation-name: preloader-left-rotate-multicolor; - } - } - .preloader-inner-right { - .preloader-inner-half-circle { - -webkit-animation-name: preloader-right-rotate-multicolor; - animation-name: preloader-right-rotate-multicolor; - } - } - } -} -@-webkit-keyframes preloader-left-rotate { - 0%, 100% { - -webkit-transform: rotate(130deg); - } - 50% { - -webkit-transform: rotate(-5deg); - } -} -@keyframes preloader-left-rotate { - 0%, 100% { - transform: rotate(130deg); - } - 50% { - transform: rotate(-5deg); - } -} -@-webkit-keyframes preloader-right-rotate { - 0%, 100% { - -webkit-transform: rotate(-130deg); - } - 50% { - -webkit-transform: rotate(5deg); - } -} -@keyframes preloader-right-rotate { - 0%, 100% { - transform: rotate(-130deg); - } - 50% { - transform: rotate(5deg); - } -} - -@-webkit-keyframes preloader-inner-rotate { - 12.5% { - -webkit-transform: rotate(135deg); - } - 25% { - -webkit-transform: rotate(270deg); - } - 37.5% { - -webkit-transform: rotate(405deg); - } - 50% { - -webkit-transform: rotate(540deg); - } - 62.5% { - -webkit-transform: rotate(675deg); - } - 75% { - -webkit-transform: rotate(810deg); - } - 87.5% { - -webkit-transform: rotate(945deg); - } - 100% { - -webkit-transform: rotate(1080deg); - } -} -@keyframes preloader-inner-rotate { - 12.5% { - transform: rotate(135deg); - } - 25% { - transform: rotate(270deg); - } - 37.5% { - transform: rotate(405deg); - } - 50% { - transform: rotate(540deg); - } - 62.5% { - transform: rotate(675deg); - } - 75% { - transform: rotate(810deg); - } - 87.5% { - transform: rotate(945deg); - } - 100% { - transform: rotate(1080deg); - } -} -@-webkit-keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - -webkit-transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@keyframes preloader-left-rotate-multicolor { - 0%, - 100% { - border-left-color: #4285F4; - transform: rotate(130deg); - } - 75% { - border-left-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-left-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(-5deg); - } - 25% { - border-left-color: #DE3E35; - border-top-color: #DE3E35; - } -} -@-webkit-keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - -webkit-transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - -webkit-transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} -@keyframes preloader-right-rotate-multicolor { - 0%, - 100% { - border-right-color: #4285F4; - transform: rotate(-130deg); - } - 75% { - border-right-color: #1B9A59; - border-top-color: #1B9A59; - } - 50% { - border-right-color: #F7C223; - border-top-color: #F7C223; - transform: rotate(5deg); - } - 25% { - border-top-color: #DE3E35; - border-right-color: #DE3E35; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/progressbar.less b/vendor/framework7/src/less/material/progressbar.less deleted file mode 100644 index 67c2972ff..000000000 --- a/vendor/framework7/src/less/material/progressbar.less +++ /dev/null @@ -1,290 +0,0 @@ -/* === Progress Bar === */ -.progressbar, .progressbar-infinite { - height: 4px; - width: 100%; - overflow: hidden; - display: block; - position: relative; - .transform-origin(center bottom); - background: rgba(red(@themeColor), green(@themeColor), blue(@themeColor), 0.5); -} -// Determined -.progressbar { - display: block; - vertical-align: middle; - -webkit-transform-style: preserve-3d; - transform-style: preserve-3d; - span { - content: ''; - width: 100%; - background: @themeColor; - height: 100%; - position: absolute; - left: 0; - top: 0; - .translate3d(-100%, 0, 0); - .transition(150ms); - } -} -// Infinite -.progressbar-infinite { - z-index: 15000; - &:before, &:after { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - background: @themeColor; - .transform-origin(left center); - } - &:before { - .animation(progressbar-infinite-1 2s linear infinite); - } - &:after { - .animation(progressbar-infinite-2 2s linear infinite); - } - html.with-statusbar-overlay body > &, html.with-statusbar-overlay .framework7-root > & { - top: 20px; - } -} - - -// Multicolor -.progressbar-infinite.color-multi { - background: none !important; - &:before, &:after { - width: 100%; - animation: none; - } - &:before { - background: none; - .animation(progressbar-infinite-multicolor-bg 3s step-end infinite); - } - &:after { - background: none; - .animation(progressbar-infinite-multicolor-fill 3s linear infinite); - .transform-origin(center center); - } -} - -body, .view, .views, .page, .panel, .popup, .framework7-root { - > .progressbar, > .progressbar-infinite { - position: absolute; - left: 0; - top: 0; - z-index: 15000; - .transform-origin(center top); - } -} -// Animations -.progressbar-in { - .animation(progressbar-in 300ms forwards); -} -.progressbar-out { - .animation(progressbar-out 300ms forwards); -} - -html.with-statusbar-overlay body > .progressbar, html.with-statusbar-overlay .framework7-root > .progressbar { - top: 20px; -} -@-webkit-keyframes progressbar-in { - from { - opacity: 0; - -webkit-transform: scaleY(0); - } - to { - opacity: 1; - -webkit-transform: scaleY(1); - } -} -@keyframes progressbar-in { - from { - opacity: 0; - transform: scaleY(0); - } - to { - opacity: 1; - transform: scaleY(1); - } -} -@-webkit-keyframes progressbar-out { - from { - opacity: 1; - -webkit-transform: scaleY(1); - } - to { - opacity: 0; - -webkit-transform: scaleY(0); - } -} -@keyframes progressbar-out { - from { - opacity: 1; - transform: scaleY(1); - } - to { - opacity: 0; - transform: scaleY(0); - } -} -@-webkit-keyframes progressbar-infinite-1 { - 0% { - -webkit-transform: translateX(-10%) scaleX(0.1); - } - 25% { - -webkit-transform: translateX(30%) scaleX(0.6); - } - 50% { - -webkit-transform: translateX(100%) scaleX(1); - } - 100% { - -webkit-transform: translateX(100%) scaleX(1); - } -} -@keyframes progressbar-infinite-1 { - 0% { - transform: translateX(-10%) scaleX(0.1); - } - 25% { - transform: translateX(30%) scaleX(0.6); - } - 50% { - transform: translateX(100%) scaleX(1); - } - 100% { - transform: translateX(100%) scaleX(1); - } -} -@-webkit-keyframes progressbar-infinite-2 { - 0% { - -webkit-transform: translateX(-100%) scaleX(1); - } - 40% { - -webkit-transform: translateX(-100%) scaleX(1); - } - 75% { - -webkit-transform: translateX(60%) scaleX(0.35); - } - 90% { - -webkit-transform: translateX(100%) scaleX(0.1); - } - 100% { - -webkit-transform: translateX(100%) scaleX(0.1); - } -} -@keyframes progressbar-infinite-2 { - 0% { - transform: translateX(-100%) scaleX(1); - } - 40% { - transform: translateX(-100%) scaleX(1); - } - 75% { - transform: translateX(60%) scaleX(0.35); - } - 90% { - transform: translateX(100%) scaleX(0.1); - } - 100% { - transform: translateX(100%) scaleX(0.1); - } -} - -@-webkit-keyframes progressbar-infinite-multicolor-bg { - 0% { - background-color: @green; - } - 25% { - background-color: @red; - } - 50% { - background-color: @blue; - } - 75% { - background-color: @yellow; - } -} -@keyframes progressbar-infinite-multicolor-bg { - 0% { - background-color: @green; - } - 25% { - background-color: @red; - } - 50% { - background-color: @blue; - } - 75% { - background-color: @yellow; - } -} -@-webkit-keyframes progressbar-infinite-multicolor-fill { - 0% { - -webkit-transform: scaleX(0); - background-color: @red; - } - 24.9% { - -webkit-transform: scaleX(1); - background-color: @red; - } - 25% { - -webkit-transform: scaleX(0); - background-color: @blue; - } - 49.9% { - -webkit-transform: scaleX(1); - background-color: @blue; - } - 50% { - -webkit-transform: scaleX(0); - background-color: @yellow; - } - 74.9% { - -webkit-transform: scaleX(1); - background-color: @yellow; - } - 75% { - -webkit-transform: scaleX(0); - background-color: @green; - } - 100% { - -webkit-transform: scaleX(1); - background-color: @green; - } -} -@keyframes progressbar-infinite-multicolor-fill { - 0% { - transform: scaleX(0); - background-color: @red; - } - 24.9% { - transform: scaleX(1); - background-color: @red; - } - 25% { - transform: scaleX(0); - background-color: @blue; - } - 49.9% { - transform: scaleX(1); - background-color: @blue; - } - 50% { - transform: scaleX(0); - background-color: @yellow; - } - 74.9% { - transform: scaleX(1); - background-color: @yellow; - } - 75% { - transform: scaleX(0); - background-color: @green; - } - 100% { - transform: scaleX(1); - background-color: @green; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/pull-to-refresh.less b/vendor/framework7/src/less/material/pull-to-refresh.less deleted file mode 100644 index 5d023525a..000000000 --- a/vendor/framework7/src/less/material/pull-to-refresh.less +++ /dev/null @@ -1,70 +0,0 @@ -/* === Pull To Refresh === */ -.pull-to-refresh-layer { - position:absolute; - position: relative; - margin-top: -@toolbarSize; - left:0; - top:0; - width:100%; - height:@toolbarSize; - - .preloader { - position: absolute; - left: 50%; - top: 50%; - margin-left: -16px; - margin-top: -16px; - visibility: hidden; - - } - .pull-to-refresh-arrow { - width: 24px; - height: 24px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -12px; - margin-top: -12px; - background: no-repeat center; - .encoded-svg-background(""); - z-index: 10; - .transform(rotate(0deg) translate3d(0,0,0)); - .transition(300ms); - } - -} -.pull-to-refresh-content { - &.pull-to-refresh-no-navbar { - margin-top: -@toolbarSize; - height: ~"-webkit-calc(100% + @{toolbarSize})"; - height: ~"-moz-calc(100% + @{toolbarSize})"; - height: ~"calc(100% + @{toolbarSize})"; - .pull-to-refresh-layer { - margin-top: 0; - } - } - &.transitioning, &.refreshing { - .transition(400ms); - } - &:not(.refreshing) { - .pull-to-refresh-layer .preloader { - .animation(none); - } - } - &.refreshing { - .translate3d(0,@toolbarSize,0); - .pull-to-refresh-arrow { - visibility: hidden; - .transition(0ms); - } - .preloader { - visibility: visible; - } - } - &.pull-up { - .pull-to-refresh-arrow { - .transform(rotate(180deg) translate3d(0,0,0)); - } - } - -} diff --git a/vendor/framework7/src/less/material/ripple.less b/vendor/framework7/src/less/material/ripple.less deleted file mode 100644 index 3f3584b81..000000000 --- a/vendor/framework7/src/less/material/ripple.less +++ /dev/null @@ -1,42 +0,0 @@ -/* === Touch ripple === */ -// Ripple Elements -.ripple, a.floating-button, .floating-button > a, a.link, a.item-link, .button, .modal-button, .tab-link, .label-radio, .label-checkbox, .actions-modal-button, .speed-dial-buttons a { - -webkit-user-select: none; - user-select: none; -} -// Ripple -.ripple-wave { - left: 0; - top: 0; - position: absolute !important; - border-radius: 50%; - pointer-events: none; - z-index:-1; - background:rgba(0,0,0,0.1); - padding: 0; - margin: 0; - font-size: 0; - .transform(translate3d(0px, 0px, 0) scale(0)); - .transition(1400ms); - &.ripple-wave-fill { - .transition(300ms); - opacity: 0.35; - } - &.ripple-wave-out { - .transition(600ms); - opacity: 0; - } - .button-fill &, .picker-calendar-day &{ - z-index: 1; - } -} -.button-fill, .navbar, .toolbar, .subnavbar, .searchbar, .notifications, .floating-button, .speed-dial-buttons a { - .ripple-wave { - background:rgba(255,255,255,0.3); - } -} -.messagebar { - .ripple-wave { - background:rgba(0,0,0,0.1); - } -} diff --git a/vendor/framework7/src/less/material/searchbar.less b/vendor/framework7/src/less/material/searchbar.less deleted file mode 100644 index 42eb8bc94..000000000 --- a/vendor/framework7/src/less/material/searchbar.less +++ /dev/null @@ -1,117 +0,0 @@ -/* === Search Bar === */ -@searchbarBorderColor: #b4b4b4; -@searchbarSize: @toolbarSize; -.searchbar { - height: @searchbarSize; - width: 100%; - background: @themeColor; - box-sizing: border-box; - padding: 0 16px; - overflow: hidden; - position: relative; - .flexbox(); - .align-items(center); - color:#fff; - a { - position: relative; - color:#fff; - .active-highlight(); - } - .searchbar-input { - width: 100%; - height: 32px; - position: relative; - .flex-shrink(1); - } - input[type="search"] { - .bars-input(); - height: 100%; - padding: 0 36px 0 24px; - background-color: transparent; - background-repeat: no-repeat; - background-position: 0 center; - opacity: 0.6; - -webkit-background-size: 24px 24px; - background-size: 24px 24px; - .transition(300ms); - .encoded-svg-background(""); - &::-webkit-search-cancel-button { - -webkit-appearance:none; - } - } - .searchbar-clear { - position: absolute; - width: 56px; - height: 100%; - right: -16px; - top: 0; - opacity: 0; - pointer-events:none; - background-position: center; - background-repeat: no-repeat; - .encoded-svg-background(""); - -webkit-background-size: 24px 24px; - background-size: 24px 24px; - .transition(300ms); - cursor: pointer; - } - .searchbar-cancel { - display: none; - } - &.searchbar-active { - input[type="search"] { - opacity: 1; - } - .searchbar-clear { - pointer-events: auto; - opacity: 1; - } - } - &.searchbar-not-empty { - .searchbar-clear { - pointer-events: auto; - opacity: 1; - } - } -} -.searchbar-overlay { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: 100; - opacity: 0; - pointer-events:none; - background: rgba(0,0,0,0.25); - .transition(300ms); - .translate3d(0,0,0); - &.searchbar-overlay-active { - opacity: 1; - pointer-events: auto; - } -} -.searchbar-not-found { - display: none; -} -.hidden-by-searchbar, .list-block .hidden-by-searchbar, .list-block li.hidden-by-searchbar { - display: none; -} -.page > .searchbar { - position: absolute; - width: 100%; - left: 0; - top: 0; - z-index: 200; - & ~ .page-content { - padding-top: @searchbarSize; - } -} -.navbar-fixed, .navbar-through { - .page > .searchbar, > .searchbar { - top: @navbarSize; - & ~ .page-content { - padding-top: @searchbarSize + @navbarSize; - } - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/statusbar.less b/vendor/framework7/src/less/material/statusbar.less deleted file mode 100644 index c30c6c63c..000000000 --- a/vendor/framework7/src/less/material/statusbar.less +++ /dev/null @@ -1,22 +0,0 @@ -/* === Statusbar overlay === */ -html.with-statusbar-overlay body{ - padding-top: 20px; - box-sizing: border-box; - .statusbar-overlay { - display: block; - } - .panel { - padding-top: 20px; - } -} -.statusbar-overlay { - background: @themeColor; - z-index: 10000; // A bit lower than .modals-overlay - position: absolute; - left: 0; - top: 0; - height: 20px; - width: 100%; - display: none; - .transition(@panelsDuration); -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/swiper.less b/vendor/framework7/src/less/material/swiper.less deleted file mode 100644 index ed0d9e5dc..000000000 --- a/vendor/framework7/src/less/material/swiper.less +++ /dev/null @@ -1,466 +0,0 @@ -/* === Swiper === */ -.swiper-container { - margin-left: auto; - margin-right: auto; - position:relative; - overflow:hidden; - /* Fix of Webkit flickering */ - z-index:1; -} -.swiper-container-no-flexbox { - .swiper-slide { - float: left; - } -} -.swiper-container-vertical > .swiper-wrapper{ - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; -} -.swiper-wrapper { - position:relative; - width: 100%; - height: 100%; - z-index: 1; - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - - -webkit-transition-property:-webkit-transform; - -moz-transition-property:-moz-transform; - -o-transition-property:-o-transform; - -ms-transition-property:-ms-transform; - transition-property:transform; - - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-container-android .swiper-slide, .swiper-wrapper { - -webkit-transform:translate3d(0px,0,0); - -moz-transform:translate3d(0px,0,0); - -o-transform:translate(0px,0px); - -ms-transform:translate3d(0px,0,0); - transform:translate3d(0px,0,0); -} -.swiper-container-multirow > .swiper-wrapper { - -webkit-box-lines: multiple; - -moz-box-lines: multiple; - -ms-flex-wrap: wrap; - -webkit-flex-wrap: wrap; - flex-wrap: wrap; -} -.swiper-container-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.swiper-slide { - -webkit-flex-shrink: 0; - -ms-flex: 0 0 auto; - flex-shrink: 0; - width: 100%; - height: 100%; - position: relative; -} -/* Auto Height */ -.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide { - height: auto; -} -.swiper-container-autoheight .swiper-wrapper { - -webkit-box-align: start; - -ms-flex-align: start; - -webkit-align-items: flex-start; - align-items: flex-start; - -webkit-transition-property: -webkit-transform, height; - -moz-transition-property: -moz-transform; - -o-transition-property: -o-transform; - -ms-transition-property: -ms-transform; - transition-property: transform, height; -} -/* a11y */ -.swiper-container .swiper-notification { - position: absolute; - left: 0; - top: 0; - pointer-events: none; - opacity: 0; - z-index: -1000; -} - -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; - touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; - touch-action: pan-x; -} -/* Arrows */ -.swiper-button-prev, .swiper-button-next { - position: absolute; - top: 50%; - width: 27px; - height: 44px; - margin-top: -22px; - z-index: 10; - cursor: pointer; - -moz-background-size: 27px 44px; - -webkit-background-size: 27px 44px; - background-size: 27px 44px; - background-position: center; - background-repeat: no-repeat; - &.swiper-button-disabled { - opacity: 0.35; - cursor: auto; - pointer-events: none; - } -} -.swiper-button-prev, .swiper-container-rtl .swiper-button-next { - .encoded-svg-background(""); - left: 10px; - right: auto; -} -.swiper-button-next, .swiper-container-rtl .swiper-button-prev { - .encoded-svg-background(""); - right: 10px; - left: auto; -} - -/* Pagination Styles */ -.swiper-pagination { - position: absolute; - text-align: center; - -webkit-transition: 300ms; - -moz-transition: 300ms; - -o-transition: 300ms; - transition: 300ms; - -webkit-transform: translate3d(0,0,0); - -ms-transform: translate3d(0,0,0); - -o-transform: translate3d(0,0,0); - transform: translate3d(0,0,0); - z-index: 10; - &.swiper-pagination-hidden { - opacity: 0; - } -} -/* Common Styles */ -.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets{ - bottom: 10px; - left: 0; - width: 100%; -} -/* Bullets */ -.swiper-pagination-bullet { - width: 8px; - height: 8px; - display: inline-block; - border-radius: 100%; - background: #000; - opacity: 0.2; - button& { - border: none; - margin: 0; - padding: 0; - box-shadow: none; - -moz-appearance: none; - -ms-appearance: none; - -webkit-appearance: none; - appearance: none; - } - .swiper-pagination-clickable & { - cursor: pointer; - } -} -.swiper-pagination-bullet-active { - opacity: 1; - background: #007aff; -} -.swiper-container-vertical { - > .swiper-pagination-bullets { - right: 10px; - top: 50%; - -webkit-transform:translate3d(0px,-50%,0); - -moz-transform:translate3d(0px,-50%,0); - -o-transform:translate(0px,-50%); - -ms-transform:translate3d(0px,-50%,0); - transform:translate3d(0px,-50%,0); - .swiper-pagination-bullet { - margin: 5px 0; - display: block; - } - } -} -.swiper-container-horizontal { - > .swiper-pagination-bullets { - .swiper-pagination-bullet { - margin: 0 5px; - } - } -} -/* Progress */ -.swiper-pagination-progress { - background: rgba(0,0,0,0.25); - position: absolute; - .swiper-pagination-progressbar { - background: #007aff; - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - -webkit-transform: scale(0); - -ms-transform: scale(0); - -o-transform: scale(0); - transform: scale(0); - -webkit-transform-origin: left top; - -moz-transform-origin: left top; - -ms-transform-origin: left top; - -o-transform-origin: left top; - transform-origin: left top; - } - .swiper-container-rtl & .swiper-pagination-progressbar { - -webkit-transform-origin: right top; - -moz-transform-origin: right top; - -ms-transform-origin: right top; - -o-transform-origin: right top; - transform-origin: right top; - } - .swiper-container-horizontal > & { - width: 100%; - height: 4px; - left: 0; - top: 0; - } - .swiper-container-vertical > & { - width: 4px; - height: 100%; - left: 0; - top: 0; - } -} -/* 3D Container */ -.swiper-container-3d { - -webkit-perspective: 1200px; - -moz-perspective: 1200px; - -o-perspective: 1200px; - perspective: 1200px; - .swiper-wrapper, .swiper-slide, .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top, .swiper-slide-shadow-bottom, .swiper-cube-shadow { - .preserve3d(); - } - .swiper-slide-shadow-left, .swiper-slide-shadow-right, .swiper-slide-shadow-top, .swiper-slide-shadow-bottom { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - pointer-events: none; - z-index: 10; - } - .swiper-slide-shadow-left { - background-image: -webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } - .swiper-slide-shadow-right { - background-image: -webkit-gradient(linear, right top, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(left, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to right, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } - .swiper-slide-shadow-top { - background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } - .swiper-slide-shadow-bottom { - background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0))); /* Safari 4+, Chrome */ - background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Chrome 10+, Safari 5.1+, iOS 5+ */ - background-image: -moz-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 3.6-15 */ - background-image: -o-linear-gradient(top, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Opera 11.10-12.00 */ - background-image: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0)); /* Firefox 16+, IE10, Opera 12.50+ */ - } -} -/* Coverflow */ -.swiper-container-coverflow, .swiper-container-flip { - .swiper-wrapper { - /* Windows 8 IE 10 fix */ - -ms-perspective:1200px; - } -} -/* Cube + Flip */ -.swiper-container-cube, .swiper-container-flip { - overflow: visible; - .swiper-slide { - pointer-events: none; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - z-index: 1; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, & .swiper-slide-active { - pointer-events: auto; - } - } - .swiper-slide-shadow-top, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left, .swiper-slide-shadow-right { - z-index: 0; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - } -} -/* Cube */ -.swiper-container-cube { - .swiper-slide { - visibility: hidden; - -webkit-transform-origin: 0 0; - -moz-transform-origin: 0 0; - -ms-transform-origin: 0 0; - transform-origin: 0 0; - width: 100%; - height: 100%; - } - &.swiper-container-rtl .swiper-slide{ - -webkit-transform-origin: 100% 0; - -moz-transform-origin: 100% 0; - -ms-transform-origin: 100% 0; - transform-origin: 100% 0; - } - .swiper-slide-active, .swiper-slide-next, .swiper-slide-prev, .swiper-slide-next + .swiper-slide { - pointer-events: auto; - visibility: visible; - } - .swiper-cube-shadow { - position: absolute; - left: 0; - bottom: 0px; - width: 100%; - height: 100%; - background: #000; - opacity: 0.6; - -webkit-filter: blur(50px); - filter: blur(50px); - z-index: 0; - } -} -/* Fade */ -.swiper-container-fade { - &.swiper-container-free-mode { - .swiper-slide { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - } - } - .swiper-slide { - pointer-events: none; - -webkit-transition-property: opacity; - -moz-transition-property: opacity; - -o-transition-property: opacity; - transition-property: opacity; - .swiper-slide { - pointer-events: none; - } - } - .swiper-slide-active { - &, & .swiper-slide-active { - pointer-events: auto; - } - } -} -.swiper-zoom-container { - width: 100%; - height: 100%; - - display: -webkit-box; - display: -moz-box; - display: -ms-flexbox; - display: -webkit-flex; - display: flex; - - -webkit-box-pack: center; - -moz-box-pack: center; - -ms-flex-pack: center; - -webkit-justify-content: center; - justify-content: center; - - -webkit-box-align: center; - -moz-box-align: center; - -ms-flex-align: center; - -webkit-align-items: center; - align-items: center; - - text-align: center; - > img, > svg, > canvas { - max-width: 100%; - max-height: 100%; - object-fit: contain; - } -} -/* Scrollbar */ -.swiper-scrollbar { - border-radius: 10px; - position: relative; - -ms-touch-action: none; - background: rgba(0,0,0,0.1); - .swiper-container-horizontal > & { - position: absolute; - left: 1%; - bottom: 3px; - z-index: 50; - height: 5px; - width: 98%; - } - .swiper-container-vertical > & { - position: absolute; - right: 3px; - top: 1%; - z-index: 50; - width: 5px; - height: 98%; - } -} -.swiper-scrollbar-drag { - height: 100%; - width: 100%; - position: relative; - background: rgba(0,0,0,0.5); - border-radius: 10px; - left: 0; - top: 0; -} -.swiper-scrollbar-cursor-drag { - cursor: move; -} -/* Preloader */ -.swiper-slide .preloader { - width: 42px; - height: 42px; - position: absolute; - left: 50%; - top: 50%; - margin-left: -21px; - margin-top: -21px; - z-index: 10; -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/tabs.less b/vendor/framework7/src/less/material/tabs.less deleted file mode 100644 index 2e896c5c4..000000000 --- a/vendor/framework7/src/less/material/tabs.less +++ /dev/null @@ -1,31 +0,0 @@ -/* === Tabs === */ -.tabs { - .tab { - display: none; - } - .tab.active { - display: block; - } -} -.tabs-animated-wrap { - position: relative; - width: 100%; - overflow: hidden; - height: 100%; - >.tabs { - .flexbox(); - height: 100%; - .transition(300ms); - >.tab { - width: 100%; - display: block; - .flex-shrink(0); - } - } -} -.tabs-swipeable-wrap { - height: 100%; - > .tabs > .tab { - display: block; - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/toolbars-pages.less b/vendor/framework7/src/less/material/toolbars-pages.less deleted file mode 100644 index 2fb64b602..000000000 --- a/vendor/framework7/src/less/material/toolbars-pages.less +++ /dev/null @@ -1,149 +0,0 @@ -/* === Relation between toolbar/navbar types and pages === */ -.page, .view, .views{ - >.navbar, >.toolbar { - position: absolute; - } -} -.subnavbar ~ .page-content { - padding-top: @toolbarSize; -} -.toolbar-fixed, .tabbar-fixed { - .page-content { - padding-top: @toolbarSize; - } -} -.tabbar-labels-fixed { - .page-content { - padding-top: @tabbarLabelsSize; - } -} - -.toolbar ~ .page-content { - padding-top: @toolbarSize; -} -.tabbar-labels ~ .page-content { - padding-top: @tabbarLabelsSize; -} -.toolbar-bottom, .messagebar { - ~ .page-content { - padding-top: 0; - padding-bottom: @toolbarSize; - } -} -.tabbar-labels.toolbar-bottom ~ .page-content { - padding-bottom: @tabbarLabelsSize; -} -.navbar-fixed { - .page-content { - padding-top: @navbarSize; - } - - &.toolbar-fixed, &.tabbar-fixed, .toolbar-fixed, .tabbar-fixed, .toolbar-fixed &, .tabbar-fixed & { - .page-content { - padding-top: @navbarSize + @toolbarSize; - } - } - &.tabbar-labels-fixed, .tabbar-labels-fixed, .tabbar-labels-fixed & { - .page-content { - padding-top: @navbarSize + @tabbarLabelsSize; - } - } - .toolbar ~ .page-content { - padding-top: @navbarSize + @toolbarSize; - } - .messagebar ~ .page-content, .toolbar-bottom ~ .page-content { - padding-top: @navbarSize; - } - - .tabbar-labels ~ .page-content { - padding-top: @navbarSize + @tabbarLabelsSize; - } - .tabbar-labels.toolbar-bottom ~ .page-content { - padding-top: @navbarSize; - } - - .with-subnavbar .page-content, .page-content.with-subnavbar, .subnavbar ~ .page-content { - padding-top: @navbarSize + @toolbarSize; - } - - .page .subnavbar, &.page .subnavbar { - top: @navbarSize; - } - - .toolbar { - top: @navbarSize; - } - .messagebar, .toolbar-bottom { - top: auto; - } -} -// Page Hidden Navbar -.navbar { - &.navbar-hiding { - .transition(400ms); - .translate3d(0,0,0); - & ~ .page-content, & ~ .pages, & ~ .page { - .list-group-title { - .transition(400ms); - } - .subnavbar { - .transition(400ms); - } - } - & ~ .subnavbar, & ~ .toolbar { - .transition(400ms); - } - } - &.navbar-hidden { - .transition(400ms); - .translate3d(0,-100%,0); - & ~ .page-content, & ~ .pages, & ~ .page { - .list-group-title { - .transition(400ms); - top:-@navbarSize; - } - .subnavbar { - .translate3d(0,-@navbarSize,0); - .transition(400ms); - } - } - & ~ .subnavbar, & ~ .toolbar:not(.messagebar):not(.toolbar-bottom) { - .translate3d(0,-@navbarSize,0); - .transition(400ms); - } - } -} -.page.no-navbar { - .page-content { - padding-top: 0; - } - &.with-subnavbar .page-content, .with-subnavbar & .page-content, .page-content.with-subnavbar { - padding-top: @toolbarSize; - } -} -// Page Hidden Toolbar -.toolbar, .tabbar { - &.toolbar-hiding, &.tabbar-hiding { - .transition(400ms); - .translate3d(0,0,0); - } - &.toolbar-hidden, &.tabbar-hidden { - .transition(400ms); - } - - &.toolbar-hidden, &.tabbar-hidden { - .translate3d(0,-100%,0); - } - .navbar ~ &.toolbar-hidden, .navbar ~ &.tabbar-hidden { - .translate3d(0,-104px,0); - } - .navbar ~ &.tabbar-labels.toolbar-hidden { - .translate3d(0,-128px,0); - } - &.toolbar-hidden.messagebar, &.toolbar-hidden.toolbar-bottom { - .translate3d(0, 100%,0); - } -} -.page.no-toolbar .page-content, .page.no-tabbar .page-content { - padding-bottom: 0; -} diff --git a/vendor/framework7/src/less/material/toolbars.less b/vendor/framework7/src/less/material/toolbars.less deleted file mode 100644 index 6e9016205..000000000 --- a/vendor/framework7/src/less/material/toolbars.less +++ /dev/null @@ -1,291 +0,0 @@ -/* === Toolbars === */ - -//Toolbar/Navbar -@toolbarBg : @themeColor; -@toolbarColor: #fff; -@toolbarLinksColor: #fff; -@navbarSize: 56px; -@toolbarSize: 48px; - -//Tab bar -@tabbarSize: 48px; -@tabbarLabelsSize: 72px; -@tabbarLinksColor: rgba(255,255,255,0.7); -@tabbarActiveLinksColor: rgba(255,255,255,1); - -// Toolbars animations -@toolbarDuration: 300ms; - -.navbar-inner, .toolbar-inner { - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - box-sizing: border-box; - overflow: hidden; - .flexbox(); - .align-items(center); -} -.navbar-inner { - .justify-content(flex-start); -} -.toolbar-inner { - .justify-content(space-between); -} -.navbar-inner.cached { - display: none; -} -.navbar, .toolbar { - width: 100%; - box-sizing: border-box; - position: relative; - margin: 0; - z-index: 500; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - color: @toolbarColor; - b { - font-weight: 500; - } -} -.navbar ~ .toolbar { - z-index: 499; -} -.navbar, .toolbar, .subnavbar { - background: @toolbarBg; - a.link { - text-decoration: none; - position: relative; - color: @toolbarLinksColor; - box-sizing: border-box; - .flexbox(); - .justify-content(center); - .align-items(center); - padding: 0 16px; - min-width: 48px; - .active-highlight(); - i+span, i+i, span+i, span+span { - margin-left: 8px; - } - } - a.icon-only { - min-width: 0; - .flex-shrink(0); - } - i.icon { - display: block; - } -} -.navbar, .subnavbar { - .center { - font-size: 20px; - font-weight: 500; - text-align: center; - margin: 0 16px; - position: relative; - overflow: hidden; - text-overflow:ellipsis; - white-space: nowrap; - line-height: @navbarSize; - display: inline-block; - text-align: left; - } - .left, .right { - .flex-shrink(0); - .flexbox(); - .justify-content(flex-start); - .align-items(center); - .translate3d(0,0,0); - } - .right { - margin-left: auto; - } - .right:first-child { - position: absolute; - right: 16px; - height: 100%; - } -} -.navbar { - left: 0; - top: 0; - height: @navbarSize; - font-size: 20px; - a.link { - line-height: @navbarSize; - height: @navbarSize; - } - .popup & { - .translate3d(0,0,0); - } -} -.subnavbar { - height: @toolbarSize; - width: 100%; - position: absolute; - left: 0; - top: 100%; - z-index: 20; - box-sizing: border-box; - padding: 0 16px; - .flexbox(); - .justify-content(space-between); - .align-items(center); - overflow: hidden; - a.link { - line-height: @toolbarSize; - height: @toolbarSize; - } - .center { - line-height: @toolbarSize; - &:first-child { - margin-left: 56px; - } - } - .navbar.no-border & { - margin-top: 0; - } - .navbar-on-left &, .navbar-on-right &{ - pointer-events: none; - } - .navbar &, .page & { - position: absolute; - } - .page > & { - top: 0; - margin-top: 0; - } - > .buttons-row { - width: 100%; - } - .searchbar, &.searchbar { - position: absolute; - } - &.searchbar, .searchbar { - position: absolute; - } - .searchbar { - left: 0; - top: 0; - } - .center { - - } -} -.toolbar { - left: 0; - bottom: 0; - height: @toolbarSize; - font-size: 14px; - a.link { - line-height: @toolbarSize; - height: @toolbarSize; - } - a { - .flex-shrink(1); - position: relative; - white-space: nowrap; - text-overflow:ellipsis; - } -} - -// Tabbar -.tabbar { - z-index: 5001; - overflow: hidden; - bottom: auto; - top: 0; - .toolbar-inner { - padding-left: 0; - padding-right: 0; - } - a.link { - line-height: 1.4; - } - a.tab-link, a.link { - height: 100%; - width: 100%; - box-sizing: border-box; - padding-left: 0; - padding-right: 0; - .flexbox(); - .justify-content(center); - .align-items(center); - -ms-flex: 1; - -webkit-box-orient: vertical; - -moz-box-orient: vertical; - -ms-flex-direction: column; - -webkit-flex-direction: column; - flex-direction: column; - font-size: 14px; - text-transform: uppercase; - } - i.icon { - height: 24px; - } - a.tab-link { - .transition(300ms); - overflow: hidden; - color: @tabbarLinksColor; - position: relative; - &.active, html:not(.watch-active-state) &:active, &.active-state { - color: @tabbarActiveLinksColor; - } - } - .tab-link-highlight { - position: absolute; - left: 0; - bottom: 0; - height: 3px; - background: darken(@themeColor, 15%); - background: rgba(255,255,255,0.5); - .transition(300ms); - } -} -.tabbar-labels { - height: @tabbarLabelsSize; - a.tab-link, a.link { - padding-top: 12px; - padding-bottom: 12px; - height: 100%; - .justify-content(space-between); - } - span.tabbar-label { - line-height: 1; - display: block; - margin: 0; - margin-top: 10px; - position: relative; - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; - max-width: 100%; - } -} -.tabbar-scrollable { - .toolbar-inner { - .justify-content(flex-start); - .no-scrollbar(); - overflow: auto; - } - a.tab-link, a.link { - width: auto; - .flex-shrink(0); - -ms-flex: 0; - padding: 0 16px; - } -} -.toolbar-bottom { - bottom: 0; - top: auto; - .tab-link-highlight { - bottom: auto; - top: 0; - } -} -.subnavbar, .navbar { - input[type="text"], input[type="password"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"] { - .bars-input(); - } -} \ No newline at end of file diff --git a/vendor/framework7/src/less/material/views.less b/vendor/framework7/src/less/material/views.less deleted file mode 100644 index a4307edde..000000000 --- a/vendor/framework7/src/less/material/views.less +++ /dev/null @@ -1,14 +0,0 @@ -/* === Views === */ -.views, .view { - position: relative; - width: 100%; - height: 100%; - z-index: 5000; -} -.views { - .scrollable(); -} -.view { - overflow: hidden; - box-sizing: border-box; -}