diff --git a/pte-app-client/index.html b/pte-app-client/index.html
index c3ff205..8875413 100644
--- a/pte-app-client/index.html
+++ b/pte-app-client/index.html
@@ -1,20 +1,25 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pte-app-client/pages.json b/pte-app-client/pages.json
index 25918da..02d2d5d 100644
--- a/pte-app-client/pages.json
+++ b/pte-app-client/pages.json
@@ -21,6 +21,14 @@
"navigationBarTitleText" : "分析",
"enablePullDownRefresh" : false
}
+ },
+ {
+ "path" : "pages/login/login",
+ "style" :
+ {
+ "navigationBarTitleText" : "登录",
+ "enablePullDownRefresh" : false
+ }
}
],
diff --git a/pte-app-client/pages/login/login.css b/pte-app-client/pages/login/login.css
index c38d253..e652f6a 100644
--- a/pte-app-client/pages/login/login.css
+++ b/pte-app-client/pages/login/login.css
@@ -1,129 +1,129 @@
-.loginPage {
- color: #0B121F;
- font-family: Arial, Helvetica, sans-serif;
- font-style: normal;
- font-weight: 500;
- line-height: normal;
- letter-spacing: 0.24px;
- /* width: 23.4375rem;
- height: 50.75rem; */
- }
-
- .loginPageBody {
- flex-direction: column;
- margin-left: 1rem;
- margin-right: 1rem;
- }
-
- .loginGreeting {
- text-align: center;
- margin-top: 3rem;
- margin-bottom: 5rem;
- }
-
- .loginText {
- color: #0B121F;
- text-align: center;
- font-size: 1.5rem;
- font-style: normal;
- font-weight: 400;
- line-height: normal;
- letter-spacing: 0.015rem;
- }
-
- .loginCatchline,
- .wechatText {
- color: #9FA3A9;
- text-align: center;
- font-size: 0.75rem;
- font-style: normal;
- font-weight: 400;
- line-height: normal;
- letter-spacing: 0.009rem;
- }
-
- .midPage {
- margin-bottom: 5rem;
- }
-
- .wechatLogin {
- margin-bottom: 3rem;
- }
-
- .loginBtn {
- width: 20.9375rem;
- height: 3.75rem;
- flex-shrink: 0;
- border-radius: 0.375rem;
- background: #265AE8;
- box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
- padding-top: 0.5rem;
- }
-
- .wechatLoginText {
- color: #FFF;
- text-align: center;
- font-size: 1rem;
- font-style: normal;
- font-weight: 400;
- line-height: normal;
- letter-spacing: 0.01rem;
- }
-
- .clickEffect {
- opacity: 0.7;
- background: #265AE8;
- transform: scale(0.99, 0.99);
- position: relative;
- }
-
- .consentTitle {
- color: #9FA3A9;
- font-size: 0.75rem;
- font-style: normal;
- font-weight: 400;
- line-height: normal;
- letter-spacing: 0.009rem;
- }
-
- .checkbox {
- display: inline-flex;
- padding-left: 3.125rem;
- justify-content: flex-end;
- align-items: center;
- gap: 0.6875rem;
- }
-
- checkbox {
- width: 0.875rem;
- height: 0.875rem;
- border-radius: 0.1875rem;
- border: 1px #CFD1D4;
- margin-right: 1rem;
- }
-
- .greyText {
- color: #9FA3A9;
- text-align: center;
- font-size: 0.75rem;
- font-style: normal;
- font-weight: 400;
- line-height: 1.25rem;
- }
-
- .blueText {
- color: #265AE8;
- font-size: 0.75rem;
- font-style: normal;
- font-weight: 400;
- line-height: 1.25rem;
- }
-
- .thirdPartyLoginBtn {
- padding: 0;
- height: 2.5rem;
- width: 2.5rem;
- border-radius: 50%;
- margin-top: 1rem;
- margin-bottom: 0.2rem;
- }
\ No newline at end of file
+.loginPage {
+ color: #0B121F;
+ font-family: Arial, Helvetica, sans-serif;
+ font-style: normal;
+ font-weight: 500;
+ line-height: normal;
+ letter-spacing: 0.24px;
+ /* width: 23.4375rem;
+ height: 50.75rem; */
+}
+
+.loginPageBody {
+ flex-direction: column;
+ margin-left: 1rem;
+ margin-right: 1rem;
+}
+
+.loginGreeting {
+ text-align: center;
+ margin-top: 3rem;
+ margin-bottom: 5rem;
+}
+
+.loginText {
+ color: #0B121F;
+ text-align: center;
+ font-size: 1.5rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.015rem;
+}
+
+.loginCatchline,
+.wechatText {
+ color: #9FA3A9;
+ text-align: center;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.009rem;
+}
+
+.midPage {
+ margin-bottom: 5rem;
+}
+
+.wechatLogin {
+ margin-bottom: 3rem;
+}
+
+.loginBtn {
+ width: 20.9375rem;
+ height: 3.75rem;
+ flex-shrink: 0;
+ border-radius: 0.375rem;
+ background: #265AE8;
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+ padding-top: 0.5rem;
+}
+
+.wechatLoginText {
+ color: #FFF;
+ text-align: center;
+ font-size: 1rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.01rem;
+}
+
+.clickEffect {
+ opacity: 0.7;
+ background: #265AE8;
+ transform: scale(0.99, 0.99);
+ position: relative;
+}
+
+.consentTitle {
+ color: #9FA3A9;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.009rem;
+}
+
+.checkbox {
+ display: inline-flex;
+ padding-left: 3.125rem;
+ justify-content: flex-end;
+ align-items: center;
+ gap: 0.6875rem;
+}
+
+checkbox {
+ width: 0.875rem;
+ height: 0.875rem;
+ border-radius: 0.1875rem;
+ border: 1px #CFD1D4;
+ margin-right: 1rem;
+}
+
+.greyText {
+ color: #9FA3A9;
+ text-align: center;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.25rem;
+}
+
+.blueText {
+ color: #265AE8;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.25rem;
+}
+
+.thirdPartyLoginBtn {
+ padding: 0;
+ height: 2.5rem;
+ width: 2.5rem;
+ border-radius: 50%;
+ margin-top: 1rem;
+ margin-bottom: 0.2rem;
+}
\ No newline at end of file
diff --git a/pte-app-client/pages/login/login.scss b/pte-app-client/pages/login/login.scss
new file mode 100644
index 0000000..afe613c
--- /dev/null
+++ b/pte-app-client/pages/login/login.scss
@@ -0,0 +1,125 @@
+ .loginPage {
+ color: #0B121F;
+ font-family: Arial, Helvetica, sans-serif;
+ font-style: normal;
+ font-weight: 500;
+ line-height: normal;
+ letter-spacing: 0.24px;
+ }
+
+ .loginPageBody {
+ flex-direction: column;
+ margin-left: 1rem;
+ margin-right: 1rem;
+ }
+
+ .loginGreeting {
+ text-align: center;
+ margin-top: 3rem;
+ margin-bottom: 5rem;
+ }
+
+ .loginText {
+ color: #0B121F;
+ text-align: center;
+ font-size: 1.5rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.015rem;
+ }
+
+ .loginCatchline,
+ .wechatText {
+ color: #9FA3A9;
+ text-align: center;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.009rem;
+ }
+
+ .midPage {
+ margin-bottom: 5rem;
+ }
+
+ .wechatLogin {
+ margin-bottom: 3rem;
+ }
+
+ .loginBtn {
+ width: 20.9375rem;
+ height: 3.75rem;
+ flex-shrink: 0;
+ border-radius: 0.375rem;
+ background: #265AE8;
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+ padding-top: 0.5rem;
+ }
+
+ .wechatLoginText {
+ color: #FFF;
+ text-align: center;
+ font-size: 1rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.01rem;
+ }
+
+ .clickEffect {
+ opacity: 0.7;
+ background: #265AE8;
+ transform: scale(0.99, 0.99);
+ position: relative;
+ }
+
+ .consentTitle {
+ color: #9FA3A9;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: normal;
+ letter-spacing: 0.009rem;
+ }
+
+ .checkbox {
+ display: inline-flex;
+ padding-left: 3.125rem;
+ justify-content: flex-end;
+ align-items: center;
+ gap: 0.6875rem;
+ }
+
+ checkbox {
+ width: 0.875rem;
+ height: 0.875rem;
+ border-radius: 0.1875rem;
+ border: 1px #CFD1D4;
+ margin-right: 1rem;
+ }
+
+ .greyText {
+ color: #9FA3A9;
+ text-align: center;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.25rem;
+ }
+
+ .blueText {
+ color: #265AE8;
+ font-size: 0.75rem;
+ font-style: normal;
+ font-weight: 400;
+ line-height: 1.25rem;
+ }
+
+.thirdPartyLoginBtn {
+ padding: 0;
+ height: 2.5rem;
+ width: 2.5rem;
+ border-color: #FFF;
+ }
\ No newline at end of file
diff --git a/pte-app-client/pages/login/login.vue b/pte-app-client/pages/login/login.vue
index 5d1522e..4bc4e49 100644
--- a/pte-app-client/pages/login/login.vue
+++ b/pte-app-client/pages/login/login.vue
@@ -1,94 +1,64 @@
-
-
-
-
-
-
- 登录
- 开启趣味学习体验
-
-
-
-
-
- 微信
-
-
-
-
- 用户协议
-
-
-
- 同意
- 用户协议
- 、
- 隐私政策
- 和
- 儿童保护政策
-
-
-
-
-
-
-
- 第三方
-
- ———————其他登陆方式———————
-
-
- 账号密码
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pte-app-client/static/css/mui.css b/pte-app-client/static/css/mui.css
new file mode 100644
index 0000000..ab71e75
--- /dev/null
+++ b/pte-app-client/static/css/mui.css
@@ -0,0 +1,5649 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ */
+
+/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
+html
+{
+ font-family: sans-serif;
+
+ -webkit-text-size-adjust: 100%;
+}
+
+body
+{
+ margin: 0;
+}
+
+body::after
+{
+ position: fixed;
+ top: -1000px;
+ left: -1000px;
+
+ content: '';
+ -webkit-animation: shadow-preload .1s;
+ animation: shadow-preload .1s;
+ -webkit-animation-delay: 3s;
+ animation-delay: 3s;
+}
+
+@-webkit-keyframes shadow-preload
+{
+ 0%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+
+ 100%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+}
+@keyframes shadow-preload
+{
+ 0%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+
+ 100%
+ {
+ background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
+ }
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary
+{
+ display: block;
+}
+
+audio,
+canvas,
+progress,
+video
+{
+ display: inline-block;
+
+ vertical-align: baseline;
+}
+
+audio:not([controls])
+{
+ display: none;
+
+ height: 0;
+}
+
+[hidden],
+template
+{
+ display: none;
+}
+
+a
+{
+ background: transparent;
+}
+
+a:active,
+a:hover
+{
+ outline: 0;
+}
+
+abbr[title]
+{
+ border-bottom: 1px dotted;
+}
+
+b,
+strong
+{
+ font-weight: bold;
+}
+
+dfn
+{
+ font-style: italic;
+}
+
+h1
+{
+ font-size: 2em;
+
+ margin: .67em 0;
+}
+
+mark
+{
+ color: #000;
+ background: #ff0;
+}
+
+small
+{
+ font-size: 80%;
+}
+
+sub,
+sup
+{
+ font-size: 75%;
+ line-height: 0;
+
+ position: relative;
+
+ vertical-align: baseline;
+}
+
+sup
+{
+ top: -.5em;
+}
+
+sub
+{
+ bottom: -.25em;
+}
+
+img
+{
+ border: 0;
+}
+
+svg:not(:root)
+{
+ overflow: hidden;
+}
+
+figure
+{
+ margin: 1em 40px;
+}
+
+hr
+{
+ box-sizing: content-box;
+ height: 0;
+}
+
+pre
+{
+ overflow: auto;
+}
+
+code,
+kbd,
+pre,
+samp
+{
+ font-family: monospace, monospace;
+ font-size: 1em;
+}
+
+button,
+input,
+optgroup,
+select,
+textarea
+{
+ font: inherit;
+
+ margin: 0;
+
+ color: inherit;
+}
+
+button
+{
+ overflow: visible;
+}
+
+button,
+select
+{
+ text-transform: none;
+}
+
+button,
+html input[type='button'],
+input[type='reset'],
+input[type='submit']
+{
+ cursor: pointer;
+
+ -webkit-appearance: button;
+}
+
+button[disabled],
+html input[disabled]
+{
+ cursor: default;
+}
+
+input
+{
+ line-height: normal;
+}
+
+input[type='checkbox'],
+input[type='radio']
+{
+ box-sizing: border-box;
+ padding: 0;
+}
+
+input[type='number']::-webkit-inner-spin-button,
+input[type='number']::-webkit-outer-spin-button
+{
+ height: auto;
+}
+
+input[type='search']
+{
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+
+ -webkit-appearance: textfield;
+}
+
+input[type='search']::-webkit-search-cancel-button,
+input[type='search']::-webkit-search-decoration
+{
+ -webkit-appearance: none;
+}
+
+fieldset
+{
+ margin: 0 2px;
+ padding: .35em .625em .75em;
+
+ border: 1px solid #c0c0c0;
+}
+
+legend
+{
+ padding: 0;
+
+ border: 0;
+}
+
+textarea
+{
+ overflow: auto;
+}
+
+optgroup
+{
+ font-weight: bold;
+}
+
+table
+{
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+
+td,
+th
+{
+ padding: 0;
+}
+
+*
+{
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+
+ -webkit-user-select: none;
+
+ outline: none;
+
+ -webkit-tap-highlight-color: transparent;
+ -webkit-tap-highlight-color: transparent;
+}
+
+body
+{
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ font-size: 17px;
+ line-height: 21px;
+
+ color: #000;
+ background-color: #efeff4;
+
+ -webkit-overflow-scrolling: touch;
+}
+
+a
+{
+ text-decoration: none;
+
+ color: #007aff;
+}
+a:active
+{
+ color: #0062cc;
+}
+
+.mui-content
+{
+ background-color: #efeff4;
+
+ -webkit-overflow-scrolling: touch;
+}
+
+.mui-bar-nav ~ .mui-content
+{
+ padding-top: 44px;
+}
+.mui-bar-nav ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ top: 44px;
+}
+
+.mui-bar-header-secondary ~ .mui-content
+{
+ padding-top: 88px;
+}
+.mui-bar-header-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ top: 88px;
+}
+
+.mui-bar-footer ~ .mui-content
+{
+ padding-bottom: 44px;
+}
+.mui-bar-footer ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 44px;
+}
+
+.mui-bar-footer-secondary ~ .mui-content
+{
+ padding-bottom: 88px;
+}
+.mui-bar-footer-secondary ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 88px;
+}
+
+.mui-bar-tab ~ .mui-content
+{
+ padding-bottom: 50px;
+}
+.mui-bar-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 50px;
+}
+
+.mui-bar-footer-secondary-tab ~ .mui-content
+{
+ padding-bottom: 94px;
+}
+.mui-bar-footer-secondary-tab ~ .mui-content.mui-scroll-wrapper .mui-scrollbar-vertical
+{
+ bottom: 94px;
+}
+
+.mui-content-padded
+{
+ margin: 10px;
+}
+
+.mui-inline
+{
+ display: inline-block;
+
+ vertical-align: top;
+}
+
+.mui-block
+{
+ display: block !important;
+}
+
+.mui-visibility
+{
+ visibility: visible !important;
+}
+
+.mui-hidden
+{
+ display: none !important;
+}
+
+.mui-ellipsis
+{
+ overflow: hidden;
+
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.mui-ellipsis-2
+{
+ display: -webkit-box;
+ overflow: hidden;
+
+ white-space: normal !important;
+ text-overflow: ellipsis;
+ word-wrap: break-word;
+
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+}
+
+.mui-table
+{
+ display: table;
+
+ width: 100%;
+
+ table-layout: fixed;
+}
+
+.mui-table-cell
+{
+ position: relative;
+
+ display: table-cell;
+}
+
+.mui-text-left
+{
+ text-align: left !important;
+}
+
+.mui-text-center
+{
+ text-align: center !important;
+}
+
+.mui-text-justify
+{
+ text-align: justify !important;
+}
+
+.mui-text-right
+{
+ text-align: right !important;
+}
+
+.mui-pull-left
+{
+ float: left;
+}
+
+.mui-pull-right
+{
+ float: right;
+}
+
+.mui-list-unstyled
+{
+ padding-left: 0;
+
+ list-style: none;
+}
+
+.mui-list-inline
+{
+ margin-left: -5px;
+ padding-left: 0;
+
+ list-style: none;
+}
+
+.mui-list-inline > li
+{
+ display: inline-block;
+
+ padding-right: 5px;
+ padding-left: 5px;
+}
+
+.mui-clearfix:before, .mui-clearfix:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-clearfix:after
+{
+ clear: both;
+}
+
+.mui-bg-primary
+{
+ background-color: #007aff;
+}
+
+.mui-bg-positive
+{
+ background-color: #4cd964;
+}
+
+.mui-bg-negative
+{
+ background-color: #dd524d;
+}
+
+.mui-error
+{
+ margin: 88px 35px;
+ padding: 10px;
+
+ border-radius: 6px;
+ background-color: #bbb;
+}
+
+.mui-subtitle
+{
+ font-size: 15px;
+}
+
+h1, h2, h3, h4, h5, h6
+{
+ line-height: 1;
+
+ margin-top: 5px;
+ margin-bottom: 5px;
+}
+
+h1, .mui-h1
+{
+ font-size: 36px;
+}
+
+h2, .mui-h2
+{
+ font-size: 30px;
+}
+
+h3, .mui-h3
+{
+ font-size: 24px;
+}
+
+h4, .mui-h4
+{
+ font-size: 18px;
+}
+
+h5, .mui-h5
+{
+ font-size: 14px;
+ font-weight: normal;
+
+ color: #8f8f94;
+}
+
+h6, .mui-h6
+{
+ font-size: 12px;
+ font-weight: normal;
+
+ color: #8f8f94;
+}
+
+p
+{
+ font-size: 14px;
+
+ margin-top: 0;
+ margin-bottom: 10px;
+
+ color: #8f8f94;
+}
+
+.mui-row:before, .mui-row:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-row:after
+{
+ clear: both;
+}
+
+.mui-col-xs-1, .mui-col-sm-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-xs-12, .mui-col-sm-12
+{
+ position: relative;
+
+ min-height: 1px;
+}
+
+.mui-row > [class*='mui-col-']
+{
+ float: left;
+}
+
+.mui-col-xs-12
+{
+ width: 100%;
+}
+
+.mui-col-xs-11
+{
+ width: 91.66666667%;
+}
+
+.mui-col-xs-10
+{
+ width: 83.33333333%;
+}
+
+.mui-col-xs-9
+{
+ width: 75%;
+}
+
+.mui-col-xs-8
+{
+ width: 66.66666667%;
+}
+
+.mui-col-xs-7
+{
+ width: 58.33333333%;
+}
+
+.mui-col-xs-6
+{
+ width: 50%;
+}
+
+.mui-col-xs-5
+{
+ width: 41.66666667%;
+}
+
+.mui-col-xs-4
+{
+ width: 33.33333333%;
+}
+
+.mui-col-xs-3
+{
+ width: 25%;
+}
+
+.mui-col-xs-2
+{
+ width: 16.66666667%;
+}
+
+.mui-col-xs-1
+{
+ width: 8.33333333%;
+}
+
+@media (min-width: 400px)
+{
+ .mui-col-sm-12
+ {
+ width: 100%;
+ }
+
+ .mui-col-sm-11
+ {
+ width: 91.66666667%;
+ }
+
+ .mui-col-sm-10
+ {
+ width: 83.33333333%;
+ }
+
+ .mui-col-sm-9
+ {
+ width: 75%;
+ }
+
+ .mui-col-sm-8
+ {
+ width: 66.66666667%;
+ }
+
+ .mui-col-sm-7
+ {
+ width: 58.33333333%;
+ }
+
+ .mui-col-sm-6
+ {
+ width: 50%;
+ }
+
+ .mui-col-sm-5
+ {
+ width: 41.66666667%;
+ }
+
+ .mui-col-sm-4
+ {
+ width: 33.33333333%;
+ }
+
+ .mui-col-sm-3
+ {
+ width: 25%;
+ }
+
+ .mui-col-sm-2
+ {
+ width: 16.66666667%;
+ }
+
+ .mui-col-sm-1
+ {
+ width: 8.33333333%;
+ }
+}
+.mui-scroll-wrapper
+{
+ position: absolute;
+ z-index: 2;
+ top: 0;
+ bottom: 0;
+ left: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+}
+
+.mui-scroll
+{
+ position: absolute;
+ z-index: 1;
+
+ width: 100%;
+}
+
+.mui-scrollbar
+{
+ position: absolute;
+ z-index: 9998;
+
+ overflow: hidden;
+
+ -webkit-transition: 500ms;
+ transition: 500ms;
+ transform: translateZ(0px);
+ pointer-events: none;
+
+ opacity: 0;
+}
+
+.mui-scrollbar-vertical
+{
+ top: 0;
+ right: 1px;
+ bottom: 2px;
+
+ width: 4px;
+}
+.mui-scrollbar-vertical .mui-scrollbar-indicator
+{
+ width: 100%;
+}
+
+.mui-scrollbar-horizontal
+{
+ right: 2px;
+ bottom: 0;
+ left: 2px;
+
+ height: 4px;
+}
+.mui-scrollbar-horizontal .mui-scrollbar-indicator
+{
+ height: 100%;
+}
+
+.mui-scrollbar-indicator
+{
+ position: absolute;
+
+ display: block;
+
+ box-sizing: border-box;
+
+ -webkit-transition: .01s cubic-bezier(.1, .57, .1, 1);
+ transition: .01s cubic-bezier(.1, .57, .1, 1);
+ transform: translate(0px, 0px) translateZ(0px);
+
+ border: 1px solid rgba(255, 255, 255, .80196);
+ border-radius: 2px;
+ background: rgba(0, 0, 0, .39804);
+}
+
+.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper
+{
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+}
+.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll, .mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll
+{
+ position: absolute;
+
+ width: 100%;
+}
+.mui-plus-pullrefresh .mui-scroll-wrapper, .mui-plus-pullrefresh .mui-slider-group
+{
+ position: static;
+ top: auto;
+ bottom: auto;
+ left: auto;
+
+ overflow: auto;
+
+ width: auto;
+}
+.mui-plus-pullrefresh .mui-slider-group
+{
+ overflow: visible;
+}
+.mui-plus-pullrefresh .mui-scroll
+{
+ position: static;
+
+ width: auto;
+}
+
+.mui-off-canvas-wrap .mui-bar
+{
+ position: absolute !important;
+
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-off-canvas-wrap
+{
+ position: relative;
+ z-index: 1;
+
+ overflow: hidden;
+
+ width: 100%;
+ height: 100%;
+}
+.mui-off-canvas-wrap .mui-inner-wrap
+{
+ position: relative;
+ z-index: 1;
+
+ width: 100%;
+ height: 100%;
+}
+.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning
+{
+ -webkit-transition: -webkit-transform 350ms;
+ transition: transform 350ms cubic-bezier(.165, .84, .44, 1);
+}
+.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left
+{
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+}
+.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right
+{
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+.mui-off-canvas-wrap.mui-active
+{
+ overflow: hidden;
+
+ height: 100%;
+}
+.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop
+{
+ position: absolute;
+ z-index: 998;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ display: block;
+
+ transition: background 350ms cubic-bezier(.165, .84, .44, 1);
+
+ background: rgba(0, 0, 0, .4);
+ box-shadow: -4px 0 4px rgba(0, 0, 0, .5), 4px 0 4px rgba(0, 0, 0, .5);
+
+ -webkit-tap-highlight-color: transparent;
+}
+.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right
+{
+ z-index: 10000 !important;
+
+ -webkit-transform: translate3d(100%, 0px, 0px);
+}
+.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left
+{
+ z-index: 10000 !important;
+
+ -webkit-transform: translate3d(-100%, 0px, 0px);
+}
+
+.mui-off-canvas-left, .mui-off-canvas-right
+{
+ position: absolute;
+ z-index: -1;
+ top: 0;
+ bottom: 0;
+
+ visibility: hidden;
+
+ box-sizing: content-box;
+ width: 70%;
+ min-height: 100%;
+
+ background: #333;
+
+ -webkit-overflow-scrolling: touch;
+}
+.mui-off-canvas-left.mui-transitioning, .mui-off-canvas-right.mui-transitioning
+{
+ -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1);
+ transition: transform 350ms cubic-bezier(.165, .84, .44, 1);
+}
+
+.mui-off-canvas-left
+{
+ left: 0;
+}
+
+.mui-off-canvas-right
+{
+ right: 0;
+}
+
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable
+{
+ background-color: #333;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right
+{
+ width: 80%;
+
+ -webkit-transform: scale(.8);
+ transform: scale(.8);
+
+ opacity: .1;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left.mui-transitioning, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right.mui-transitioning
+{
+ -webkit-transition: -webkit-transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1);
+ transition: transform 350ms cubic-bezier(.165, .84, .44, 1), opacity 350ms cubic-bezier(.165, .84, .44, 1);
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-left
+{
+ -webkit-transform-origin: -100%;
+ transform-origin: -100%;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable > .mui-off-canvas-right
+{
+ -webkit-transform-origin: 200%;
+ transform-origin: 200%;
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-inner-wrap
+{
+ -webkit-transform: scale(.8);
+ transform: scale(.8);
+}
+.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-left, .mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active > .mui-off-canvas-right
+{
+ -webkit-transform: scale(1);
+ transform: scale(1);
+
+ opacity: 1;
+}
+
+.mui-loading .mui-spinner
+{
+ display: block;
+
+ margin: 0 auto;
+}
+
+.mui-spinner
+{
+ display: inline-block;
+
+ width: 24px;
+ height: 24px;
+
+ -webkit-transform-origin: 50%;
+ transform-origin: 50%;
+ -webkit-animation: spinner-spin 1s step-end infinite;
+ animation: spinner-spin 1s step-end infinite;
+}
+
+.mui-spinner:after
+{
+ display: block;
+
+ width: 100%;
+ height: 100%;
+
+ content: '';
+
+ background-image: url('data:image/svg+xml;charset=utf-8,');
+ background-repeat: no-repeat;
+ background-position: 50%;
+ background-size: 100%;
+}
+
+.mui-spinner-white:after
+{
+ background-image: url('data:image/svg+xml;charset=utf-8,');
+}
+
+@-webkit-keyframes spinner-spin
+{
+ 0%
+ {
+ -webkit-transform: rotate(0deg);
+ }
+
+ 8.33333333%
+ {
+ -webkit-transform: rotate(30deg);
+ }
+
+ 16.66666667%
+ {
+ -webkit-transform: rotate(60deg);
+ }
+
+ 25%
+ {
+ -webkit-transform: rotate(90deg);
+ }
+
+ 33.33333333%
+ {
+ -webkit-transform: rotate(120deg);
+ }
+
+ 41.66666667%
+ {
+ -webkit-transform: rotate(150deg);
+ }
+
+ 50%
+ {
+ -webkit-transform: rotate(180deg);
+ }
+
+ 58.33333333%
+ {
+ -webkit-transform: rotate(210deg);
+ }
+
+ 66.66666667%
+ {
+ -webkit-transform: rotate(240deg);
+ }
+
+ 75%
+ {
+ -webkit-transform: rotate(270deg);
+ }
+
+ 83.33333333%
+ {
+ -webkit-transform: rotate(300deg);
+ }
+
+ 91.66666667%
+ {
+ -webkit-transform: rotate(330deg);
+ }
+
+ 100%
+ {
+ -webkit-transform: rotate(360deg);
+ }
+}
+@keyframes spinner-spin
+{
+ 0%
+ {
+ transform: rotate(0deg);
+ }
+
+ 8.33333333%
+ {
+ transform: rotate(30deg);
+ }
+
+ 16.66666667%
+ {
+ transform: rotate(60deg);
+ }
+
+ 25%
+ {
+ transform: rotate(90deg);
+ }
+
+ 33.33333333%
+ {
+ transform: rotate(120deg);
+ }
+
+ 41.66666667%
+ {
+ transform: rotate(150deg);
+ }
+
+ 50%
+ {
+ transform: rotate(180deg);
+ }
+
+ 58.33333333%
+ {
+ transform: rotate(210deg);
+ }
+
+ 66.66666667%
+ {
+ transform: rotate(240deg);
+ }
+
+ 75%
+ {
+ transform: rotate(270deg);
+ }
+
+ 83.33333333%
+ {
+ transform: rotate(300deg);
+ }
+
+ 91.66666667%
+ {
+ transform: rotate(330deg);
+ }
+
+ 100%
+ {
+ transform: rotate(360deg);
+ }
+}
+input[type='button'],
+input[type='submit'],
+input[type='reset'],
+button,
+.mui-btn
+{
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 1.42;
+
+ position: relative;
+
+ display: inline-block;
+
+ margin-bottom: 0;
+ padding: 6px 12px;
+
+ cursor: pointer;
+ -webkit-transition: all;
+ transition: all;
+ -webkit-transition-timing-function: linear;
+ transition-timing-function: linear;
+ -webkit-transition-duration: .2s;
+ transition-duration: .2s;
+ text-align: center;
+ vertical-align: top;
+ white-space: nowrap;
+
+ color: #333;
+ border: 1px solid #ccc;
+ border-radius: 3px;
+ border-top-left-radius: 3px;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ border-bottom-left-radius: 3px;
+ background-color: #fff;
+ background-clip: padding-box;
+}
+input[type='button']:enabled:active, input[type='button'].mui-active:enabled,
+input[type='submit']:enabled:active,
+input[type='submit'].mui-active:enabled,
+input[type='reset']:enabled:active,
+input[type='reset'].mui-active:enabled,
+button:enabled:active,
+button.mui-active:enabled,
+.mui-btn:enabled:active,
+.mui-btn.mui-active:enabled
+{
+ color: #fff;
+ background-color: #929292;
+}
+input[type='button']:disabled, input[type='button'].mui-disabled,
+input[type='submit']:disabled,
+input[type='submit'].mui-disabled,
+input[type='reset']:disabled,
+input[type='reset'].mui-disabled,
+button:disabled,
+button.mui-disabled,
+.mui-btn:disabled,
+.mui-btn.mui-disabled
+{
+ opacity: .6;
+}
+
+input[type='submit'],
+.mui-btn-primary,
+.mui-btn-blue
+{
+ color: #fff;
+ border: 1px solid #007aff;
+ background-color: #007aff;
+}
+input[type='submit']:enabled:active, input[type='submit'].mui-active:enabled,
+.mui-btn-primary:enabled:active,
+.mui-btn-primary.mui-active:enabled,
+.mui-btn-blue:enabled:active,
+.mui-btn-blue.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #0062cc;
+ background-color: #0062cc;
+}
+
+.mui-btn-positive,
+.mui-btn-success,
+.mui-btn-green
+{
+ color: #fff;
+ border: 1px solid #4cd964;
+ background-color: #4cd964;
+}
+.mui-btn-positive:enabled:active, .mui-btn-positive.mui-active:enabled,
+.mui-btn-success:enabled:active,
+.mui-btn-success.mui-active:enabled,
+.mui-btn-green:enabled:active,
+.mui-btn-green.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #2ac845;
+ background-color: #2ac845;
+}
+
+.mui-btn-warning,
+.mui-btn-yellow
+{
+ color: #fff;
+ border: 1px solid #f0ad4e;
+ background-color: #f0ad4e;
+}
+.mui-btn-warning:enabled:active, .mui-btn-warning.mui-active:enabled,
+.mui-btn-yellow:enabled:active,
+.mui-btn-yellow.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #ec971f;
+ background-color: #ec971f;
+}
+
+.mui-btn-negative,
+.mui-btn-danger,
+.mui-btn-red
+{
+ color: #fff;
+ border: 1px solid #dd524d;
+ background-color: #dd524d;
+}
+.mui-btn-negative:enabled:active, .mui-btn-negative.mui-active:enabled,
+.mui-btn-danger:enabled:active,
+.mui-btn-danger.mui-active:enabled,
+.mui-btn-red:enabled:active,
+.mui-btn-red.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #cf2d28;
+ background-color: #cf2d28;
+}
+
+.mui-btn-royal,
+.mui-btn-purple
+{
+ color: #fff;
+ border: 1px solid #8a6de9;
+ background-color: #8a6de9;
+}
+.mui-btn-royal:enabled:active, .mui-btn-royal.mui-active:enabled,
+.mui-btn-purple:enabled:active,
+.mui-btn-purple.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #6641e2;
+ background-color: #6641e2;
+}
+
+.mui-btn-grey
+{
+ color: #fff;
+ border: 1px solid #c7c7cc;
+ background-color: #c7c7cc;
+}
+.mui-btn-grey:enabled:active, .mui-btn-grey.mui-active:enabled
+{
+ color: #fff;
+ border: 1px solid #acacb4;
+ background-color: #acacb4;
+}
+
+.mui-btn-outlined
+{
+ background-color: transparent;
+}
+.mui-btn-outlined.mui-btn-primary, .mui-btn-outlined.mui-btn-blue
+{
+ color: #007aff;
+}
+.mui-btn-outlined.mui-btn-positive, .mui-btn-outlined.mui-btn-success, .mui-btn-outlined.mui-btn-green
+{
+ color: #4cd964;
+}
+.mui-btn-outlined.mui-btn-warning, .mui-btn-outlined.mui-btn-yellow
+{
+ color: #f0ad4e;
+}
+.mui-btn-outlined.mui-btn-negative, .mui-btn-outlined.mui-btn-danger, .mui-btn-outlined.mui-btn-red
+{
+ color: #dd524d;
+}
+.mui-btn-outlined.mui-btn-royal, .mui-btn-outlined.mui-btn-purple
+{
+ color: #8a6de9;
+}
+.mui-btn-outlined.mui-btn-primary:enabled:active, .mui-btn-outlined.mui-btn-blue:enabled:active, .mui-btn-outlined.mui-btn-positive:enabled:active, .mui-btn-outlined.mui-btn-success:enabled:active, .mui-btn-outlined.mui-btn-green:enabled:active, .mui-btn-outlined.mui-btn-warning:enabled:active, .mui-btn-outlined.mui-btn-yellow:enabled:active, .mui-btn-outlined.mui-btn-negative:enabled:active, .mui-btn-outlined.mui-btn-danger:enabled:active, .mui-btn-outlined.mui-btn-red:enabled:active, .mui-btn-outlined.mui-btn-royal:enabled:active, .mui-btn-outlined.mui-btn-purple:enabled:active
+{
+ color: #fff;
+}
+
+.mui-btn-link
+{
+ padding-top: 6px;
+ padding-bottom: 6px;
+
+ color: #007aff;
+ border: 0;
+ background-color: transparent;
+}
+.mui-btn-link:enabled:active, .mui-btn-link.mui-active:enabled
+{
+ color: #0062cc;
+ background-color: transparent;
+}
+
+.mui-btn-block
+{
+ font-size: 18px;
+
+ display: block;
+
+ width: 100%;
+ margin-bottom: 10px;
+ padding: 15px 0;
+}
+
+.mui-btn .mui-badge
+{
+ font-size: 14px;
+
+ margin: -2px -4px -2px 4px;
+
+ background-color: rgba(0, 0, 0, .15);
+}
+
+.mui-btn .mui-badge-inverted,
+.mui-btn:enabled:active .mui-badge-inverted
+{
+ background-color: transparent;
+}
+
+.mui-btn-primary:enabled:active .mui-badge-inverted,
+.mui-btn-positive:enabled:active .mui-badge-inverted,
+.mui-btn-negative:enabled:active .mui-badge-inverted
+{
+ color: #fff;
+}
+
+.mui-btn-block .mui-badge
+{
+ position: absolute;
+ right: 0;
+
+ margin-right: 10px;
+}
+
+.mui-btn .mui-icon
+{
+ font-size: inherit;
+}
+
+.mui-btn.mui-icon
+{
+ font-size: 14px;
+ line-height: 1.42;
+}
+
+.mui-btn.mui-fab
+{
+ width: 56px;
+ height: 56px;
+ padding: 16px;
+
+ border-radius: 50%;
+ outline: none;
+}
+.mui-btn.mui-fab.mui-btn-mini
+{
+ width: 40px;
+ height: 40px;
+ padding: 8px;
+}
+.mui-btn.mui-fab .mui-icon
+{
+ font-size: 24px;
+ line-height: 24px;
+
+ width: 24px;
+ height: 24px;
+}
+
+.mui-btn .mui-spinner
+{
+ width: 14px;
+ height: 14px;
+
+ vertical-align: text-bottom;
+}
+
+.mui-btn-block .mui-spinner
+{
+ width: 22px;
+ height: 22px;
+}
+
+.mui-bar
+{
+ position: fixed;
+ z-index: 10;
+ right: 0;
+ left: 0;
+
+ height: 44px;
+ padding-right: 10px;
+ padding-left: 10px;
+
+ border-bottom: 0;
+ background-color: #f7f7f7;
+ -webkit-box-shadow: 0 0 1px rgba(0, 0, 0, .85);
+ box-shadow: 0 0 1px rgba(0, 0, 0, .85);
+
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+.mui-bar .mui-title
+{
+ right: 40px;
+ left: 40px;
+
+ display: inline-block;
+ overflow: hidden;
+
+ width: auto;
+ margin: 0;
+
+ text-overflow: ellipsis;
+}
+.mui-bar .mui-backdrop
+{
+ background: none;
+}
+
+.mui-bar-header-secondary
+{
+ top: 44px;
+}
+
+.mui-bar-footer
+{
+ bottom: 0;
+}
+
+.mui-bar-footer-secondary
+{
+ bottom: 44px;
+}
+
+.mui-bar-footer-secondary-tab
+{
+ bottom: 50px;
+}
+
+.mui-bar-footer,
+.mui-bar-footer-secondary,
+.mui-bar-footer-secondary-tab
+{
+ border-top: 0;
+}
+
+.mui-bar-transparent
+{
+ top: 0;
+
+ background-color: rgba(247, 247, 247, 0);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-bar-nav
+{
+ top: 0;
+
+ -webkit-box-shadow: 0 1px 6px #ccc;
+ box-shadow: 0 1px 6px #ccc;
+}
+.mui-bar-nav ~ .mui-content .mui-anchor
+{
+ display: block;
+ visibility: hidden;
+
+ height: 45px;
+ margin-top: -45px;
+}
+.mui-bar-nav.mui-bar .mui-icon
+{
+ margin-right: -10px;
+ margin-left: -10px;
+ padding-right: 10px;
+ padding-left: 10px;
+}
+
+.mui-title
+{
+ font-size: 17px;
+ font-weight: 500;
+ line-height: 44px;
+
+ position: absolute;
+
+ display: block;
+
+ width: 100%;
+ margin: 0 -10px;
+ padding: 0;
+
+ text-align: center;
+ white-space: nowrap;
+
+ color: #000;
+}
+
+.mui-title a
+{
+ color: inherit;
+}
+
+.mui-bar-tab
+{
+ bottom: 0;
+
+ display: table;
+
+ width: 100%;
+ height: 50px;
+ padding: 0;
+
+ table-layout: fixed;
+
+ border-top: 0;
+ border-bottom: 0;
+
+ -webkit-touch-callout: none;
+}
+.mui-bar-tab .mui-tab-item
+{
+ display: table-cell;
+ overflow: hidden;
+
+ width: 1%;
+ height: 50px;
+
+ text-align: center;
+ vertical-align: middle;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: #929292;
+}
+.mui-bar-tab .mui-tab-item.mui-active
+{
+ color: #007aff;
+}
+.mui-bar-tab .mui-tab-item .mui-icon
+{
+ top: 3px;
+
+ width: 24px;
+ height: 24px;
+ padding-top: 0;
+ padding-bottom: 0;
+}
+.mui-bar-tab .mui-tab-item .mui-icon ~ .mui-tab-label
+{
+ font-size: 11px;
+
+ display: block;
+ overflow: hidden;
+
+ text-overflow: ellipsis;
+}
+.mui-bar-tab .mui-tab-item .mui-icon:active
+{
+ background: none;
+}
+
+.mui-focusin > .mui-bar-nav,
+.mui-focusin > .mui-bar-header-secondary
+{
+ position: absolute;
+}
+
+.mui-focusin > .mui-bar ~ .mui-content
+{
+ padding-bottom: 0;
+}
+
+.mui-bar .mui-btn
+{
+ font-weight: 400;
+
+ position: relative;
+ z-index: 20;
+ top: 7px;
+
+ margin-top: 0;
+ padding: 6px 12px 7px;
+}
+.mui-bar .mui-btn.mui-pull-right
+{
+ margin-left: 10px;
+}
+.mui-bar .mui-btn.mui-pull-left
+{
+ margin-right: 10px;
+}
+
+.mui-bar .mui-btn-link
+{
+ font-size: 16px;
+ line-height: 44px;
+
+ top: 0;
+
+ padding: 0;
+
+ color: #007aff;
+ border: 0;
+}
+.mui-bar .mui-btn-link:active, .mui-bar .mui-btn-link.mui-active
+{
+ color: #0062cc;
+}
+
+.mui-bar .mui-btn-block
+{
+ font-size: 16px;
+
+ top: 6px;
+
+ margin-bottom: 0;
+ padding: 5px 0;
+}
+
+.mui-bar .mui-btn-nav.mui-pull-left
+{
+ margin-left: -5px;
+}
+.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav
+{
+ margin-right: -3px;
+}
+.mui-bar .mui-btn-nav.mui-pull-right
+{
+ margin-right: -5px;
+}
+.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav
+{
+ margin-left: -3px;
+}
+.mui-bar .mui-btn-nav:active
+{
+ opacity: .3;
+}
+
+.mui-bar .mui-icon
+{
+ font-size: 24px;
+
+ position: relative;
+ z-index: 20;
+
+ padding-top: 10px;
+ padding-bottom: 10px;
+}
+.mui-bar .mui-icon:active
+{
+ opacity: .3;
+}
+.mui-bar .mui-btn .mui-icon
+{
+ top: 1px;
+
+ margin: 0;
+ padding: 0;
+}
+.mui-bar .mui-title .mui-icon
+{
+ margin: 0;
+ padding: 0;
+}
+.mui-bar .mui-title .mui-icon.mui-icon-caret
+{
+ top: 4px;
+
+ margin-left: -5px;
+}
+
+.mui-bar input[type='search']
+{
+ height: 29px;
+ margin: 6px 0;
+}
+
+.mui-bar .mui-input-row .mui-btn
+{
+ padding: 12px 10px;
+}
+
+.mui-bar .mui-search:before
+{
+ margin-top: -10px;
+}
+
+.mui-bar .mui-input-row .mui-input-clear ~ .mui-icon-clear,
+.mui-bar .mui-input-row .mui-input-speech ~ .mui-icon-speech
+{
+ top: 0;
+ right: 12px;
+}
+
+.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear ~ .mui-icon-clear,
+.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech ~ .mui-icon-speech
+{
+ top: 0;
+ right: 0;
+}
+
+.mui-bar .mui-segmented-control
+{
+ top: 7px;
+
+ width: auto;
+ margin: 0 auto;
+}
+
+.mui-bar.mui-bar-header-secondary .mui-segmented-control
+{
+ top: 0;
+}
+
+.mui-badge
+{
+ font-size: 12px;
+ line-height: 1;
+
+ display: inline-block;
+
+ padding: 3px 6px;
+
+ color: #333;
+ border-radius: 100px;
+ background-color: rgba(0, 0, 0, .15);
+}
+.mui-badge.mui-badge-inverted
+{
+ padding: 0 5px 0 0;
+
+ color: #929292;
+ background-color: transparent;
+}
+
+.mui-badge-primary, .mui-badge-blue
+{
+ color: #fff;
+ background-color: #007aff;
+}
+.mui-badge-primary.mui-badge-inverted, .mui-badge-blue.mui-badge-inverted
+{
+ color: #007aff;
+ background-color: transparent;
+}
+
+.mui-badge-success, .mui-badge-green
+{
+ color: #fff;
+ background-color: #4cd964;
+}
+.mui-badge-success.mui-badge-inverted, .mui-badge-green.mui-badge-inverted
+{
+ color: #4cd964;
+ background-color: transparent;
+}
+
+.mui-badge-warning, .mui-badge-yellow
+{
+ color: #fff;
+ background-color: #f0ad4e;
+}
+.mui-badge-warning.mui-badge-inverted, .mui-badge-yellow.mui-badge-inverted
+{
+ color: #f0ad4e;
+ background-color: transparent;
+}
+
+.mui-badge-danger, .mui-badge-red
+{
+ color: #fff;
+ background-color: #dd524d;
+}
+.mui-badge-danger.mui-badge-inverted, .mui-badge-red.mui-badge-inverted
+{
+ color: #dd524d;
+ background-color: transparent;
+}
+
+.mui-badge-royal, .mui-badge-purple
+{
+ color: #fff;
+ background-color: #8a6de9;
+}
+.mui-badge-royal.mui-badge-inverted, .mui-badge-purple.mui-badge-inverted
+{
+ color: #8a6de9;
+ background-color: transparent;
+}
+
+.mui-icon .mui-badge
+{
+ font-size: 10px;
+ line-height: 1.4;
+
+ position: absolute;
+ top: -2px;
+ left: 100%;
+
+ margin-left: -10px;
+ padding: 1px 5px;
+
+ color: white;
+ background: red;
+}
+
+.mui-card
+{
+ font-size: 14px;
+
+ position: relative;
+
+ overflow: hidden;
+
+ margin: 10px;
+
+ border-radius: 2px;
+ background-color: white;
+ background-clip: padding-box;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
+}
+
+.mui-content > .mui-card:first-child
+{
+ margin-top: 15px;
+}
+
+.mui-card .mui-input-group:before, .mui-card .mui-input-group:after
+{
+ height: 0;
+}
+.mui-card .mui-input-group .mui-input-row:last-child:before, .mui-card .mui-input-group .mui-input-row:last-child:after
+{
+ height: 0;
+}
+
+.mui-card .mui-table-view
+{
+ margin-bottom: 0;
+
+ border-top: 0;
+ border-bottom: 0;
+ border-radius: 6px;
+}
+.mui-card .mui-table-view .mui-table-view-divider:first-child, .mui-card .mui-table-view .mui-table-view-cell:first-child
+{
+ top: 0;
+
+ border-top-left-radius: 6px;
+ border-top-right-radius: 6px;
+}
+.mui-card .mui-table-view .mui-table-view-divider:last-child, .mui-card .mui-table-view .mui-table-view-cell:last-child
+{
+ border-bottom-right-radius: 6px;
+ border-bottom-left-radius: 6px;
+}
+.mui-card .mui-table-view:before, .mui-card .mui-table-view:after
+{
+ height: 0;
+}
+
+.mui-card > .mui-table-view > .mui-table-view-cell:last-child:before, .mui-card > .mui-table-view > .mui-table-view-cell:last-child:after
+{
+ height: 0;
+}
+
+.mui-card-header,
+.mui-card-footer
+{
+ position: relative;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ min-height: 44px;
+ padding: 10px 15px;
+
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+}
+.mui-card-header .mui-card-link,
+.mui-card-footer .mui-card-link
+{
+ line-height: 44px;
+
+ position: relative;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ height: 44px;
+ margin-top: -10px;
+ margin-bottom: -10px;
+
+ -webkit-transition-duration: .3s;
+ transition-duration: .3s;
+ text-decoration: none;
+
+ -webkit-box-pack: start;
+ -webkit-justify-content: flex-start;
+ justify-content: flex-start;
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+}
+
+.mui-card-header:after,
+.mui-card-footer:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-card-header
+{
+ font-size: 17px;
+
+ border-radius: 2px 2px 0 0;
+}
+.mui-card-header:after
+{
+ top: auto;
+ bottom: 0;
+}
+.mui-card-header > img:first-child
+{
+ font-size: 0;
+ line-height: 0;
+
+ float: left;
+
+ width: 34px;
+ height: 34px;
+}
+
+.mui-card-footer
+{
+ color: #6d6d72;
+ border-radius: 0 0 2px 2px;
+}
+
+.mui-card-content
+{
+ font-size: 14px;
+
+ position: relative;
+}
+
+.mui-card-content-inner
+{
+ position: relative;
+
+ padding: 15px;
+}
+
+.mui-card-media
+{
+ vertical-align: bottom;
+
+ color: #fff;
+ background-position: center;
+ background-size: cover;
+}
+
+.mui-card-header.mui-card-media
+{
+ display: block;
+
+ padding: 10px;
+}
+.mui-card-header.mui-card-media .mui-media-body
+{
+ font-size: 14px;
+ font-weight: 500;
+ line-height: 17px;
+
+ margin-bottom: 0;
+ margin-left: 44px;
+
+ color: #333;
+}
+.mui-card-header.mui-card-media .mui-media-body p
+{
+ font-size: 13px;
+
+ margin-bottom: 0;
+}
+
+.mui-table-view
+{
+ position: relative;
+
+ margin-top: 0;
+ margin-bottom: 0;
+ padding-left: 0;
+
+ list-style: none;
+
+ background-color: #fff;
+}
+.mui-table-view:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view:before
+{
+ top: -1px;
+}
+
+.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon
+{
+ font-size: 20px;
+
+ margin-top: -1px;
+ margin-right: 5px;
+ margin-left: -5px;
+}
+.mui-table-view-icon .mui-table-view-cell:after
+{
+ left: 40px;
+}
+
+.mui-table-view-chevron .mui-table-view-cell
+{
+ padding-right: 65px;
+}
+.mui-table-view-chevron .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin-right: -65px;
+}
+
+.mui-table-view-radio .mui-table-view-cell
+{
+ padding-right: 65px;
+}
+.mui-table-view-radio .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin-right: -65px;
+}
+.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after
+{
+ font-size: 30px;
+ font-weight: 600;
+
+ right: 9px;
+
+ content: '';
+
+ color: #007aff;
+}
+.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after
+{
+ content: '\e472';
+}
+
+.mui-table-view-inverted
+{
+ color: #fff;
+ background: #333;
+}
+.mui-table-view-inverted:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #222;
+}
+.mui-table-view-inverted:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #222;
+}
+.mui-table-view-inverted .mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 15px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #222;
+}
+.mui-table-view-inverted .mui-table-view-cell.mui-active
+{
+ background-color: #242424;
+}
+.mui-table-view-inverted .mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ background-color: #242424;
+}
+
+.mui-table-view-cell
+{
+ position: relative;
+
+ overflow: hidden;
+
+ padding: 11px 15px;
+
+ -webkit-touch-callout: none;
+}
+.mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 15px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view-cell.mui-radio input[type=radio], .mui-table-view-cell.mui-checkbox input[type=checkbox]
+{
+ top: 8px;
+}
+.mui-table-view-cell.mui-radio.mui-left, .mui-table-view-cell.mui-checkbox.mui-left
+{
+ padding-left: 58px;
+}
+.mui-table-view-cell.mui-active
+{
+ background-color: #eee;
+}
+.mui-table-view-cell:last-child:before, .mui-table-view-cell:last-child:after
+{
+ height: 0;
+}
+.mui-table-view-cell > a:not(.mui-btn)
+{
+ position: relative;
+
+ display: block;
+ overflow: hidden;
+
+ margin: -11px -15px;
+ padding: inherit;
+
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: inherit;
+ /*&:active {
+ background-color: #eee;
+ }*/
+}
+.mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ background-color: #eee;
+}
+.mui-table-view-cell p
+{
+ margin-bottom: 0;
+}
+
+.mui-table-view-cell.mui-transitioning > .mui-slider-handle, .mui-table-view-cell.mui-transitioning > .mui-slider-left .mui-btn, .mui-table-view-cell.mui-transitioning > .mui-slider-right .mui-btn
+{
+ -webkit-transition: -webkit-transform 300ms ease;
+ transition: transform 300ms ease;
+}
+.mui-table-view-cell.mui-active > .mui-slider-handle
+{
+ background-color: #eee;
+}
+.mui-table-view-cell > .mui-slider-handle
+{
+ position: relative;
+
+ background-color: #fff;
+}
+.mui-table-view-cell > .mui-slider-handle.mui-navigate-right:after, .mui-table-view-cell > .mui-slider-handle .mui-navigate-right:after
+{
+ right: 0;
+}
+.mui-table-view-cell > .mui-slider-handle, .mui-table-view-cell > .mui-slider-left .mui-btn, .mui-table-view-cell > .mui-slider-right .mui-btn
+{
+ -webkit-transition: -webkit-transform 0ms ease;
+ transition: transform 0ms ease;
+}
+.mui-table-view-cell > .mui-slider-left, .mui-table-view-cell > .mui-slider-right
+{
+ position: absolute;
+ top: 0;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ height: 100%;
+}
+.mui-table-view-cell > .mui-slider-left > .mui-btn, .mui-table-view-cell > .mui-slider-right > .mui-btn
+{
+ position: relative;
+ left: 0;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ padding: 0 30px;
+
+ color: #fff;
+ border: 0;
+ border-radius: 0;
+
+ -webkit-box-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+}
+.mui-table-view-cell > .mui-slider-left > .mui-btn:after, .mui-table-view-cell > .mui-slider-right > .mui-btn:after
+{
+ position: absolute;
+ z-index: -1;
+ top: 0;
+
+ width: 600%;
+ height: 100%;
+
+ content: '';
+
+ background: inherit;
+}
+.mui-table-view-cell > .mui-slider-left > .mui-btn.mui-icon, .mui-table-view-cell > .mui-slider-right > .mui-btn.mui-icon
+{
+ font-size: 30px;
+}
+.mui-table-view-cell > .mui-slider-right
+{
+ right: 0;
+
+ -webkit-transition: -webkit-transform 0ms ease;
+ transition: transform 0ms ease;
+ -webkit-transform: translateX(100%);
+ transform: translateX(100%);
+}
+.mui-table-view-cell > .mui-slider-left
+{
+ left: 0;
+
+ -webkit-transition: -webkit-transform 0ms ease;
+ transition: transform 0ms ease;
+ -webkit-transform: translateX(-100%);
+ transform: translateX(-100%);
+}
+.mui-table-view-cell > .mui-slider-left > .mui-btn:after
+{
+ right: 100%;
+
+ margin-right: -1px;
+}
+
+.mui-table-view-divider
+{
+ font-weight: 500;
+
+ position: relative;
+
+ margin-top: -1px;
+ margin-left: 0;
+ padding-top: 6px;
+ padding-bottom: 6px;
+ padding-left: 15px;
+
+ color: #999;
+ background-color: #fafafa;
+}
+.mui-table-view-divider:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view-divider:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-table-view .mui-media,
+.mui-table-view .mui-media-body
+{
+ overflow: hidden;
+}
+
+.mui-table-view .mui-media-large .mui-media-object
+{
+ line-height: 80px;
+
+ max-width: 80px;
+ height: 80px;
+}
+.mui-table-view .mui-media .mui-subtitle
+{
+ color: #000;
+}
+.mui-table-view .mui-media-object
+{
+ line-height: 42px;
+
+ max-width: 42px;
+ height: 42px;
+}
+.mui-table-view .mui-media-object.mui-pull-left
+{
+ margin-right: 10px;
+}
+.mui-table-view .mui-media-object.mui-pull-right
+{
+ margin-left: 10px;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object
+{
+ line-height: 29px;
+
+ max-width: 29px;
+ height: 29px;
+ margin: -4px 0;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img
+{
+ line-height: 29px;
+
+ max-width: 29px;
+ height: 29px;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left
+{
+ margin-right: 10px;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon
+{
+ font-size: 29px;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 55px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-table-view .mui-table-view-cell.mui-media-icon:after
+{
+ height: 0 !important;
+}
+
+.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view
+{
+ display: block;
+}
+.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after
+{
+ height: 0 !important;
+}
+.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 70px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-table-view-cell > .mui-btn,
+.mui-table-view-cell > .mui-badge,
+.mui-table-view-cell > .mui-switch,
+.mui-table-view-cell > a > .mui-btn,
+.mui-table-view-cell > a > .mui-badge,
+.mui-table-view-cell > a > .mui-switch
+{
+ position: absolute;
+ top: 50%;
+ right: 15px;
+
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.mui-table-view-cell .mui-navigate-right > .mui-btn,
+.mui-table-view-cell .mui-navigate-right > .mui-badge,
+.mui-table-view-cell .mui-navigate-right > .mui-switch,
+.mui-table-view-cell .mui-push-left > .mui-btn,
+.mui-table-view-cell .mui-push-left > .mui-badge,
+.mui-table-view-cell .mui-push-left > .mui-switch,
+.mui-table-view-cell .mui-push-right > .mui-btn,
+.mui-table-view-cell .mui-push-right > .mui-badge,
+.mui-table-view-cell .mui-push-right > .mui-switch,
+.mui-table-view-cell > a .mui-navigate-right > .mui-btn,
+.mui-table-view-cell > a .mui-navigate-right > .mui-badge,
+.mui-table-view-cell > a .mui-navigate-right > .mui-switch,
+.mui-table-view-cell > a .mui-push-left > .mui-btn,
+.mui-table-view-cell > a .mui-push-left > .mui-badge,
+.mui-table-view-cell > a .mui-push-left > .mui-switch,
+.mui-table-view-cell > a .mui-push-right > .mui-btn,
+.mui-table-view-cell > a .mui-push-right > .mui-badge,
+.mui-table-view-cell > a .mui-push-right > .mui-switch
+{
+ right: 35px;
+}
+
+.mui-content > .mui-table-view:first-child
+{
+ margin-top: 15px;
+}
+
+.mui-table-view-cell.mui-collapse .mui-table-view:before, .mui-table-view-cell.mui-collapse .mui-table-view:after
+{
+ height: 0;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after
+{
+ height: 0;
+}
+.mui-table-view-cell.mui-collapse > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse > .mui-push-right:after
+{
+ content: '\e581';
+}
+.mui-table-view-cell.mui-collapse.mui-active
+{
+ margin-top: -1px;
+}
+.mui-table-view-cell.mui-collapse.mui-active .mui-table-view, .mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content
+{
+ display: block;
+}
+.mui-table-view-cell.mui-collapse.mui-active > .mui-navigate-right:after, .mui-table-view-cell.mui-collapse.mui-active > .mui-push-right:after
+{
+ content: '\e580';
+}
+.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ margin-left: -31px;
+ padding-left: 47px;
+}
+.mui-table-view-cell.mui-collapse .mui-collapse-content
+{
+ position: relative;
+
+ display: none;
+ overflow: hidden;
+
+ margin: 11px -15px -11px;
+ padding: 8px 15px;
+
+ -webkit-transition: height .35s ease;
+ -o-transition: height .35s ease;
+ transition: height .35s ease;
+
+ background: white;
+}
+.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-input-group, .mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider
+{
+ width: auto;
+ height: auto;
+ margin: -8px -15px;
+}
+.mui-table-view-cell.mui-collapse .mui-collapse-content > .mui-slider
+{
+ margin: -8px -16px;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view
+{
+ display: none;
+
+ margin-top: 11px;
+ margin-right: -15px;
+ margin-bottom: -11px;
+ margin-left: -15px;
+
+ border: 0;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron
+{
+ margin-right: -65px;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell
+{
+ padding-left: 31px;
+
+ background-position: 31px 100%;
+}
+.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 30px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-table-view.mui-grid-view
+{
+ font-size: 0;
+
+ display: block;
+
+ width: 100%;
+ padding: 0 10px 10px 0;
+
+ white-space: normal;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell
+{
+ font-size: 17px;
+
+ display: inline-block;
+
+ margin-right: -4px;
+ padding: 10px 0 0 14px;
+
+ text-align: center;
+ vertical-align: middle;
+
+ background: none;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object
+{
+ width: 100%;
+ max-width: 100%;
+ height: auto;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin: -10px 0 0 -14px;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn):active, .mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn).mui-active
+{
+ background: none;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body
+{
+ font-size: 15px;
+ line-height: 15px;
+
+ display: block;
+
+ width: 100%;
+ height: 15px;
+ margin-top: 8px;
+
+ text-overflow: ellipsis;
+
+ color: #333;
+}
+.mui-table-view.mui-grid-view .mui-table-view-cell:before, .mui-table-view.mui-grid-view .mui-table-view-cell:after
+{
+ height: 0;
+}
+
+.mui-grid-view.mui-grid-9
+{
+ margin: 0;
+ padding: 0;
+
+ border-top: 1px solid #eee;
+ border-left: 1px solid #eee;
+ background-color: #f2f2f2;
+}
+.mui-grid-view.mui-grid-9:before, .mui-grid-view.mui-grid-9:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-grid-view.mui-grid-9:after
+{
+ clear: both;
+}
+.mui-grid-view.mui-grid-9:after
+{
+ position: static;
+}
+.mui-grid-view.mui-grid-9 .mui-table-view-cell
+{
+ margin: 0;
+ padding: 11px 15px;
+
+ vertical-align: top;
+
+ border-right: 1px solid #eee;
+ border-bottom: 1px solid #eee;
+}
+.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active
+{
+ background-color: #eee;
+}
+.mui-grid-view.mui-grid-9 .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin: 0;
+ padding: 10px 0;
+}
+.mui-grid-view.mui-grid-9:before
+{
+ height: 0;
+}
+.mui-grid-view.mui-grid-9 .mui-media
+{
+ color: #797979;
+}
+.mui-grid-view.mui-grid-9 .mui-media .mui-icon
+{
+ font-size: 2.4em;
+
+ position: relative;
+}
+
+.mui-slider-cell
+{
+ position: relative;
+}
+.mui-slider-cell > .mui-slider-handle
+{
+ z-index: 1;
+}
+.mui-slider-cell > .mui-slider-left, .mui-slider-cell > .mui-slider-right
+{
+ position: absolute;
+ z-index: 0;
+ top: 0;
+ bottom: 0;
+}
+.mui-slider-cell > .mui-slider-left
+{
+ left: 0;
+}
+.mui-slider-cell > .mui-slider-right
+{
+ right: 0;
+}
+
+input,
+textarea,
+select
+{
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ font-size: 17px;
+
+ -webkit-tap-highlight-color: transparent;
+ -webkit-tap-highlight-color: transparent;
+}
+input:focus,
+textarea:focus,
+select:focus
+{
+ -webkit-tap-highlight-color: transparent;
+ -webkit-tap-highlight-color: transparent;
+ -webkit-user-modify: read-write-plaintext-only;
+}
+
+select,
+textarea,
+input[type='text'],
+input[type='search'],
+input[type='password'],
+input[type='datetime'],
+input[type='datetime-local'],
+input[type='date'],
+input[type='month'],
+input[type='time'],
+input[type='week'],
+input[type='number'],
+input[type='email'],
+input[type='url'],
+input[type='tel'],
+input[type='color']
+{
+ line-height: 21px;
+
+ width: 100%;
+ height: 40px;
+ margin-bottom: 15px;
+ padding: 10px 15px;
+
+ -webkit-user-select: text;
+
+ border: 1px solid rgba(0, 0, 0, .2);
+ border-radius: 3px;
+ outline: none;
+ background-color: #fff;
+
+ -webkit-appearance: none;
+}
+
+input[type=number]::-webkit-inner-spin-button,
+input[type=number]::-webkit-outer-spin-button
+{
+ margin: 0;
+
+ -webkit-appearance: none;
+}
+
+input[type='search']
+{
+ font-size: 16px;
+
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ height: 34px;
+
+ text-align: center;
+
+ border: 0;
+ border-radius: 6px;
+ background-color: rgba(0, 0, 0, .1);
+}
+
+input[type='search']:focus
+{
+ text-align: left;
+}
+
+textarea
+{
+ height: auto;
+
+ resize: none;
+}
+
+select
+{
+ font-size: 14px;
+
+ height: auto;
+ margin-top: 1px;
+
+ border: 0 !important;
+ background-color: #fff;
+}
+select:focus
+{
+ -webkit-user-modify: read-only;
+}
+
+.mui-input-group
+{
+ position: relative;
+
+ padding: 0;
+
+ border: 0;
+ background-color: #fff;
+}
+.mui-input-group:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-input-group:before
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-input-group input,
+.mui-input-group textarea
+{
+ margin-bottom: 0;
+
+ border: 0;
+ border-radius: 0;
+ background-color: transparent;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-input-group input[type='search']
+{
+ background: none;
+}
+
+.mui-input-group input:last-child
+{
+ background-image: none;
+}
+
+.mui-input-row
+{
+ clear: left;
+ overflow: hidden;
+}
+.mui-input-row select
+{
+ font-size: 17px;
+
+ height: 37px;
+ padding: 0;
+}
+
+.mui-input-row:last-child,
+.mui-input-row label + input, .mui-input-row .mui-btn + input
+{
+ background: none;
+}
+
+.mui-input-group .mui-input-row
+{
+ height: 40px;
+}
+.mui-input-group .mui-input-row:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 15px;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+
+.mui-input-row label
+{
+ font-family: 'Helvetica Neue', Helvetica, sans-serif;
+ line-height: 1.1;
+
+ float: left;
+
+ width: 35%;
+ padding: 11px 15px;
+}
+
+.mui-input-row label ~ input, .mui-input-row label ~ select, .mui-input-row label ~ textarea
+{
+ float: right;
+
+ width: 65%;
+ margin-bottom: 0;
+ padding-left: 0;
+
+ border: 0;
+}
+
+.mui-input-row .mui-btn
+{
+ line-height: 1.1;
+
+ float: right;
+
+ width: 15%;
+ padding: 10px 15px;
+}
+
+.mui-input-row .mui-btn ~ input, .mui-input-row .mui-btn ~ select, .mui-input-row .mui-btn ~ textarea
+{
+ float: left;
+
+ width: 85%;
+ margin-bottom: 0;
+ padding-left: 0;
+
+ border: 0;
+}
+
+.mui-button-row
+{
+ position: relative;
+
+ padding-top: 5px;
+
+ text-align: center;
+}
+
+.mui-input-group .mui-button-row
+{
+ height: 45px;
+}
+
+.mui-input-row
+{
+ position: relative;
+}
+.mui-input-row.mui-input-range
+{
+ overflow: visible;
+
+ padding-right: 20px;
+}
+.mui-input-row .mui-inline
+{
+ padding: 8px 0;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear, .mui-input-row .mui-input-speech ~ .mui-icon-speech, .mui-input-row .mui-input-password ~ .mui-icon-eye
+{
+ font-size: 20px;
+
+ position: absolute;
+ z-index: 1;
+ top: 10px;
+ right: 0;
+
+ width: 38px;
+ height: 38px;
+
+ text-align: center;
+
+ color: #999;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-active, .mui-input-row .mui-input-speech ~ .mui-icon-speech.mui-active, .mui-input-row .mui-input-password ~ .mui-icon-eye.mui-active
+{
+ color: #007aff;
+}
+.mui-input-row .mui-input-speech ~ .mui-icon-speech
+{
+ font-size: 24px;
+
+ top: 8px;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear ~ .mui-icon-speech
+{
+ display: none;
+}
+.mui-input-row .mui-input-clear ~ .mui-icon-clear.mui-hidden ~ .mui-icon-speech
+{
+ display: inline-block;
+}
+.mui-input-row .mui-icon-speech ~ .mui-placeholder
+{
+ right: 38px;
+}
+.mui-input-row.mui-search .mui-icon-clear
+{
+ top: 7px;
+}
+.mui-input-row.mui-search .mui-icon-speech
+{
+ top: 5px;
+}
+
+.mui-radio, .mui-checkbox
+{
+ position: relative;
+}
+.mui-radio label, .mui-checkbox label
+{
+ display: inline-block;
+ float: none;
+
+ width: 100%;
+ padding-right: 58px;
+}
+
+.mui-radio.mui-left input[type='radio'], .mui-checkbox.mui-left input[type='checkbox']
+{
+ left: 20px;
+}
+
+.mui-radio.mui-left label, .mui-checkbox.mui-left label
+{
+ padding-right: 15px;
+ padding-left: 58px;
+}
+
+.mui-radio input[type='radio'], .mui-checkbox input[type='checkbox']
+{
+ position: absolute;
+ top: 4px;
+ right: 20px;
+
+ display: inline-block;
+
+ width: 28px;
+ height: 26px;
+
+ border: 0;
+ outline: 0 !important;
+ background-color: transparent;
+
+ -webkit-appearance: none;
+}
+.mui-radio input[type='radio'][disabled]:before, .mui-checkbox input[type='checkbox'][disabled]:before
+{
+ opacity: .3;
+}
+.mui-radio input[type='radio']:before, .mui-checkbox input[type='checkbox']:before
+{
+ font-family: Muiicons;
+ font-size: 28px;
+ font-weight: normal;
+ line-height: 1;
+
+ text-decoration: none;
+
+ color: #aaa;
+ border-radius: 0;
+ background: none;
+
+ -webkit-font-smoothing: antialiased;
+}
+.mui-radio input[type='radio']:checked:before, .mui-checkbox input[type='checkbox']:checked:before
+{
+ color: #007aff;
+}
+
+.mui-radio.mui-disabled label, .mui-radio label.mui-disabled, .mui-checkbox.mui-disabled label, .mui-checkbox label.mui-disabled
+{
+ opacity: .4;
+}
+
+.mui-radio input[type='radio']:before
+{
+ content: '\e411';
+}
+
+.mui-radio input[type='radio']:checked:before
+{
+ content: '\e441';
+}
+
+.mui-checkbox input[type='checkbox']:before
+{
+ content: '\e411';
+}
+
+.mui-checkbox input[type='checkbox']:checked:before
+{
+ content: '\e442';
+}
+
+.mui-select
+{
+ position: relative;
+}
+
+.mui-select:before
+{
+ font-family: Muiicons;
+
+ position: absolute;
+ top: 8px;
+ right: 21px;
+
+ content: '\e581';
+
+ color: rgba(170, 170, 170, .6);
+}
+
+.mui-input-row .mui-switch
+{
+ float: right;
+
+ margin-top: 5px;
+ margin-right: 20px;
+}
+
+.mui-input-range
+{
+ /*input[type="range"] {
+ -webkit-appearance: none;
+ background: #999;
+ height: 36px;
+ border-radius: 1px;
+ overflow: hidden;
+ margin-top: 2px;
+ margin-bottom: 2px;
+ outline:none;
+ position:relative;
+ width:100%;
+ }*/
+ /*input[type='range']::-webkit-slider-thumb {
+ -webkit-appearance: none!important;
+ opacity: 0.5;
+ height:28px;
+ width:28px;
+ border-radius: 50%;
+ background:#00b7fb;
+ position: relative;
+ pointer-events: none;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ &:before{
+ position: absolute;
+ top: 13px;
+ left: -2000px;
+ width: 2000px;
+ height: 2px;
+ background: #00b7fb;
+ content:' ';
+ }
+ }*/
+}
+.mui-input-range input[type='range']
+{
+ position: relative;
+
+ width: 100%;
+ height: 2px;
+ margin: 17px 0;
+ padding: 0;
+
+ cursor: pointer;
+
+ border: 0;
+ border-radius: 3px;
+ outline: none;
+ background-color: #999;
+
+ -webkit-appearance: none !important;
+}
+.mui-input-range input[type='range']::-webkit-slider-thumb
+{
+ width: 28px;
+ height: 28px;
+
+ border-color: #0062cc;
+ border-radius: 50%;
+ background-color: #007aff;
+ background-clip: padding-box;
+
+ -webkit-appearance: none !important;
+}
+.mui-input-range label ~ input[type='range']
+{
+ width: 65%;
+}
+.mui-input-range .mui-tooltip
+{
+ font-size: 36px;
+ line-height: 64px;
+
+ position: absolute;
+ z-index: 1;
+ top: -70px;
+
+ width: 64px;
+ height: 64px;
+
+ text-align: center;
+
+ opacity: .8;
+ color: #333;
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ background-color: #fff;
+ text-shadow: 0 1px 0 #f3f3f3;
+}
+
+.mui-search
+{
+ position: relative;
+}
+.mui-search input[type='search']
+{
+ padding-left: 30px;
+}
+.mui-search .mui-placeholder
+{
+ font-size: 16px;
+ line-height: 34px;
+
+ position: absolute;
+ z-index: 1;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ display: inline-block;
+
+ height: 34px;
+
+ text-align: center;
+
+ color: #999;
+ border: 0;
+ border-radius: 6px;
+ background: none;
+}
+.mui-search .mui-placeholder .mui-icon
+{
+ font-size: 20px;
+
+ color: #333;
+}
+.mui-search:before
+{
+ font-family: Muiicons;
+ font-size: 20px;
+ font-weight: normal;
+
+ position: absolute;
+ top: 50%;
+ right: 50%;
+
+ display: none;
+
+ margin-top: -18px;
+ margin-right: 31px;
+
+ content: '\e466';
+}
+.mui-search.mui-active:before
+{
+ font-size: 20px;
+
+ right: auto;
+ left: 5px;
+
+ display: block;
+
+ margin-right: 0;
+}
+.mui-search.mui-active input[type='search']
+{
+ text-align: left;
+}
+.mui-search.mui-active .mui-placeholder
+{
+ display: none;
+}
+
+.mui-segmented-control
+{
+ font-size: 15px;
+ font-weight: 400;
+
+ position: relative;
+
+ display: table;
+ overflow: hidden;
+
+ width: 100%;
+
+ table-layout: fixed;
+
+ border: 1px solid #007aff;
+ border-radius: 3px;
+ background-color: transparent;
+
+ -webkit-touch-callout: none;
+}
+.mui-segmented-control.mui-segmented-control-vertical
+{
+ border-collapse: collapse;
+
+ border-width: 0;
+ border-radius: 0;
+}
+.mui-segmented-control.mui-segmented-control-vertical .mui-control-item
+{
+ display: block;
+
+ border-bottom: 1px solid #c8c7cc;
+ border-left-width: 0;
+}
+.mui-segmented-control.mui-scroll-wrapper
+{
+ height: 38px;
+}
+.mui-segmented-control.mui-scroll-wrapper .mui-scroll
+{
+ width: auto;
+ height: 40px;
+
+ white-space: nowrap;
+}
+.mui-segmented-control.mui-scroll-wrapper .mui-control-item
+{
+ display: inline-block;
+
+ width: auto;
+ padding: 0 20px;
+
+ border: 0;
+}
+.mui-segmented-control .mui-control-item
+{
+ line-height: 38px;
+
+ display: table-cell;
+ overflow: hidden;
+
+ width: 1%;
+
+ -webkit-transition: background-color .1s linear;
+ transition: background-color .1s linear;
+ text-align: center;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: #007aff;
+ border-color: #007aff;
+ border-left: 1px solid #007aff;
+}
+.mui-segmented-control .mui-control-item:first-child
+{
+ border-left-width: 0;
+}
+.mui-segmented-control .mui-control-item.mui-active
+{
+ color: #fff;
+ background-color: #007aff;
+}
+.mui-segmented-control.mui-segmented-control-inverted
+{
+ width: 100%;
+
+ border: 0;
+ border-radius: 0;
+}
+.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item
+{
+ border-bottom: 1px solid #c8c7cc;
+}
+.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active
+{
+ border-bottom: 1px solid #c8c7cc;
+}
+.mui-segmented-control.mui-segmented-control-inverted .mui-control-item
+{
+ color: inherit;
+ border: 0;
+}
+.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ color: #007aff;
+ border-bottom: 2px solid #007aff;
+ background: none;
+}
+.mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-progress-bar
+{
+ background-color: #007aff;
+}
+
+.mui-segmented-control-positive
+{
+ border: 1px solid #4cd964;
+}
+.mui-segmented-control-positive .mui-control-item
+{
+ color: #4cd964;
+ border-color: inherit;
+}
+.mui-segmented-control-positive .mui-control-item.mui-active
+{
+ color: #fff;
+ background-color: #4cd964;
+}
+.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ color: #4cd964;
+ border-bottom: 2px solid #4cd964;
+ background: none;
+}
+.mui-segmented-control-positive.mui-segmented-control-inverted ~ .mui-slider-progress-bar
+{
+ background-color: #4cd964;
+}
+
+.mui-segmented-control-negative
+{
+ border: 1px solid #dd524d;
+}
+.mui-segmented-control-negative .mui-control-item
+{
+ color: #dd524d;
+ border-color: inherit;
+}
+.mui-segmented-control-negative .mui-control-item.mui-active
+{
+ color: #fff;
+ background-color: #dd524d;
+}
+.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ color: #dd524d;
+ border-bottom: 2px solid #dd524d;
+ background: none;
+}
+.mui-segmented-control-negative.mui-segmented-control-inverted ~ .mui-slider-progress-bar
+{
+ background-color: #dd524d;
+}
+
+.mui-control-content
+{
+ position: relative;
+
+ display: none;
+}
+.mui-control-content.mui-active
+{
+ display: block;
+}
+
+.mui-popover
+{
+ position: absolute;
+ z-index: 999;
+
+ display: none;
+
+ width: 280px;
+
+ -webkit-transition: opacity .3s;
+ transition: opacity .3s;
+ -webkit-transition-property: opacity;
+ transition-property: opacity;
+ -webkit-transform: none;
+ transform: none;
+
+ opacity: 0;
+ border-radius: 7px;
+ background-color: #f7f7f7;
+ -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, .1);
+ box-shadow: 0 0 15px rgba(0, 0, 0, .1);
+}
+.mui-popover .mui-popover-arrow
+{
+ position: absolute;
+ z-index: 1000;
+ top: -25px;
+ left: 0;
+
+ overflow: hidden;
+
+ width: 26px;
+ height: 26px;
+}
+.mui-popover .mui-popover-arrow:after
+{
+ position: absolute;
+ top: 19px;
+ left: 0;
+
+ width: 26px;
+ height: 26px;
+
+ content: ' ';
+ -webkit-transform: rotate(45deg);
+ transform: rotate(45deg);
+
+ border-radius: 3px;
+ background: #f7f7f7;
+}
+.mui-popover .mui-popover-arrow.mui-bottom
+{
+ top: 100%;
+ left: -26px;
+
+ margin-top: -1px;
+}
+.mui-popover .mui-popover-arrow.mui-bottom:after
+{
+ top: -19px;
+ left: 0;
+}
+.mui-popover.mui-popover-action
+{
+ bottom: 0;
+
+ width: 100%;
+
+ -webkit-transition: -webkit-transform .3s, opacity .3s;
+ transition: transform .3s, opacity .3s;
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+
+ border-radius: 0;
+ background: none;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+.mui-popover.mui-popover-action .mui-popover-arrow
+{
+ display: none;
+}
+.mui-popover.mui-popover-action.mui-popover-bottom
+{
+ position: fixed;
+}
+.mui-popover.mui-popover-action.mui-active
+{
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+}
+.mui-popover.mui-popover-action .mui-table-view
+{
+ margin: 8px;
+
+ text-align: center;
+
+ color: #007aff;
+ border-radius: 4px;
+}
+.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after
+{
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+
+ background-color: #c8c7cc;
+}
+.mui-popover.mui-popover-action .mui-table-view small
+{
+ font-weight: 400;
+ line-height: 1.3;
+
+ display: block;
+}
+.mui-popover.mui-active
+{
+ display: block;
+
+ opacity: 1;
+}
+.mui-popover .mui-bar ~ .mui-table-view
+{
+ padding-top: 44px;
+}
+
+.mui-backdrop
+{
+ position: fixed;
+ z-index: 998;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ background-color: rgba(0, 0, 0, .3);
+}
+
+.mui-bar-backdrop.mui-backdrop
+{
+ bottom: 50px;
+
+ background: none;
+}
+
+.mui-backdrop-action.mui-backdrop
+{
+ background-color: rgba(0, 0, 0, .3);
+}
+
+.mui-bar-backdrop.mui-backdrop, .mui-backdrop-action.mui-backdrop
+{
+ opacity: 0;
+}
+.mui-bar-backdrop.mui-backdrop.mui-active, .mui-backdrop-action.mui-backdrop.mui-active
+{
+ -webkit-transition: all .4s ease;
+ transition: all .4s ease;
+
+ opacity: 1;
+}
+
+.mui-popover .mui-btn-block
+{
+ margin-bottom: 5px;
+}
+.mui-popover .mui-btn-block:last-child
+{
+ margin-bottom: 0;
+}
+
+.mui-popover .mui-bar
+{
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-popover .mui-bar-nav
+{
+ border-bottom: 1px solid rgba(0, 0, 0, .15);
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+ -webkit-box-shadow: none;
+ box-shadow: none;
+}
+
+.mui-popover .mui-scroll-wrapper
+{
+ margin: 7px 0;
+
+ border-radius: 7px;
+ background-clip: padding-box;
+}
+
+.mui-popover .mui-scroll .mui-table-view
+{
+ max-height: none;
+}
+
+.mui-popover .mui-table-view
+{
+ overflow: auto;
+
+ max-height: 300px;
+ margin-bottom: 0;
+
+ border-radius: 7px;
+ background-color: #f7f7f7;
+ background-image: none;
+
+ -webkit-overflow-scrolling: touch;
+}
+.mui-popover .mui-table-view:before, .mui-popover .mui-table-view:after
+{
+ height: 0;
+}
+.mui-popover .mui-table-view .mui-table-view-cell:first-child,
+.mui-popover .mui-table-view .mui-table-view-cell:first-child > a:not(.mui-btn)
+{
+ border-top-left-radius: 12px;
+ border-top-right-radius: 12px;
+}
+.mui-popover .mui-table-view .mui-table-view-cell:last-child,
+.mui-popover .mui-table-view .mui-table-view-cell:last-child > a:not(.mui-btn)
+{
+ border-bottom-right-radius: 12px;
+ border-bottom-left-radius: 12px;
+}
+
+.mui-popover.mui-bar-popover .mui-table-view
+{
+ width: 106px;
+}
+.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell
+{
+ padding: 11px 15px 11px 15px;
+
+ background-position: 0 100%;
+}
+.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell > a:not(.mui-btn)
+{
+ margin: -11px -15px -11px -15px;
+}
+
+.mui-popup-backdrop
+{
+ position: fixed;
+ z-index: 998;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+
+ opacity: 0;
+ background: rgba(0, 0, 0, .4);
+}
+.mui-popup-backdrop.mui-active
+{
+ opacity: 1;
+}
+
+.mui-popup
+{
+ position: fixed;
+ z-index: 10000;
+ top: 50%;
+ left: 50%;
+
+ display: none;
+ overflow: hidden;
+
+ width: 270px;
+
+ -webkit-transition-property: -webkit-transform,opacity;
+ transition-property: transform,opacity;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1.185);
+ transform: translate3d(-50%, -50%, 0) scale(1.185);
+ text-align: center;
+
+ opacity: 0;
+ color: #000;
+ border-radius: 13px;
+}
+.mui-popup.mui-popup-in
+{
+ display: block;
+
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
+ transform: translate3d(-50%, -50%, 0) scale(1);
+
+ opacity: 1;
+}
+.mui-popup.mui-popup-out
+{
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
+ transform: translate3d(-50%, -50%, 0) scale(1);
+
+ opacity: 0;
+}
+
+.mui-popup-inner
+{
+ position: relative;
+
+ padding: 15px;
+
+ border-radius: 13px 13px 0 0;
+ background: rgba(255, 255, 255, .95);
+}
+.mui-popup-inner:after
+{
+ position: absolute;
+ z-index: 15;
+ top: auto;
+ right: auto;
+ bottom: 0;
+ left: 0;
+
+ display: block;
+
+ width: 100%;
+ height: 1px;
+
+ content: '';
+ -webkit-transform: scaleY(.5);
+ transform: scaleY(.5);
+ -webkit-transform-origin: 50% 100%;
+ transform-origin: 50% 100%;
+
+ background-color: rgba(0, 0, 0, .2);
+}
+
+.mui-popup-title
+{
+ font-size: 18px;
+ font-weight: 500;
+
+ text-align: center;
+}
+
+.mui-popup-title + .mui-popup-text
+{
+ font-family: inherit;
+ font-size: 14px;
+
+ margin: 5px 0 0;
+}
+
+.mui-popup-buttons
+{
+ position: relative;
+
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: flex;
+
+ height: 44px;
+
+ -webkit-box-pack: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+}
+
+.mui-popup-button
+{
+ font-size: 17px;
+ line-height: 44px;
+
+ position: relative;
+
+ display: block;
+ overflow: hidden;
+
+ box-sizing: border-box;
+ width: 100%;
+ height: 44px;
+ padding: 0 5px;
+
+ cursor: pointer;
+ text-align: center;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+
+ color: #007aff;
+ background: rgba(255, 255, 255, .95);
+
+ -webkit-box-flex: 1;
+}
+.mui-popup-button:after
+{
+ position: absolute;
+ z-index: 15;
+ top: 0;
+ right: 0;
+ bottom: auto;
+ left: auto;
+
+ display: block;
+
+ width: 1px;
+ height: 100%;
+
+ content: '';
+ -webkit-transform: scaleX(.5);
+ transform: scaleX(.5);
+ -webkit-transform-origin: 100% 50%;
+ transform-origin: 100% 50%;
+
+ background-color: rgba(0, 0, 0, .2);
+}
+.mui-popup-button:first-child
+{
+ border-radius: 0 0 0 13px;
+}
+.mui-popup-button:first-child:last-child
+{
+ border-radius: 0 0 13px 13px;
+}
+.mui-popup-button:last-child
+{
+ border-radius: 0 0 13px 0;
+}
+.mui-popup-button:last-child:after
+{
+ display: none;
+}
+.mui-popup-button.mui-popup-button-bold
+{
+ font-weight: 600;
+}
+
+.mui-popup-input input
+{
+ font-size: 14px;
+
+ width: 100%;
+ height: 26px;
+ margin: 15px 0 0;
+ padding: 0 5px;
+
+ border: 1px solid rgba(0, 0, 0, .3);
+ border-radius: 0;
+ background: #fff;
+}
+
+.mui-plus.mui-android .mui-popup-backdrop
+{
+ -webkit-transition-duration: 1ms;
+ transition-duration: 1ms;
+}
+
+.mui-plus.mui-android .mui-popup
+{
+ -webkit-transition-duration: 1ms;
+ transition-duration: 1ms;
+ -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
+ transform: translate3d(-50%, -50%, 0) scale(1);
+}
+
+/* === Progress Bar === */
+.mui-progressbar
+{
+ position: relative;
+
+ display: block;
+ overflow: hidden;
+
+ width: 100%;
+ height: 2px;
+
+ -webkit-transform-origin: center top;
+ transform-origin: center top;
+ vertical-align: middle;
+
+ border-radius: 2px;
+ background: #b6b6b6;
+
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+}
+.mui-progressbar span
+{
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+
+ -webkit-transition: 150ms;
+ transition: 150ms;
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+
+ background: #007aff;
+}
+.mui-progressbar.mui-progressbar-infinite:before
+{
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ width: 100%;
+ height: 100%;
+
+ content: '';
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+ -webkit-transform-origin: left center;
+ transform-origin: left center;
+ -webkit-animation: mui-progressbar-infinite 1s linear infinite;
+ animation: mui-progressbar-infinite 1s linear infinite;
+
+ background: #007aff;
+}
+
+body > .mui-progressbar
+{
+ position: absolute;
+ z-index: 10000;
+ top: 44px;
+ left: 0;
+
+ border-radius: 0;
+}
+
+.mui-progressbar-in
+{
+ -webkit-animation: mui-progressbar-in 300ms forwards;
+ animation: mui-progressbar-in 300ms forwards;
+}
+
+.mui-progressbar-out
+{
+ -webkit-animation: mui-progressbar-out 300ms forwards;
+ animation: mui-progressbar-out 300ms forwards;
+}
+
+@-webkit-keyframes mui-progressbar-in
+{
+ from
+ {
+ -webkit-transform: scaleY(0);
+
+ opacity: 0;
+ }
+
+ to
+ {
+ -webkit-transform: scaleY(1);
+
+ opacity: 1;
+ }
+}
+@keyframes mui-progressbar-in
+{
+ from
+ {
+ transform: scaleY(0);
+
+ opacity: 0;
+ }
+
+ to
+ {
+ transform: scaleY(1);
+
+ opacity: 1;
+ }
+}
+@-webkit-keyframes mui-progressbar-out
+{
+ from
+ {
+ -webkit-transform: scaleY(1);
+
+ opacity: 1;
+ }
+
+ to
+ {
+ -webkit-transform: scaleY(0);
+
+ opacity: 0;
+ }
+}
+@keyframes mui-progressbar-out
+{
+ from
+ {
+ transform: scaleY(1);
+
+ opacity: 1;
+ }
+
+ to
+ {
+ transform: scaleY(0);
+
+ opacity: 0;
+ }
+}
+@-webkit-keyframes mui-progressbar-infinite
+{
+ 0%
+ {
+ -webkit-transform: translate3d(-50%, 0, 0) scaleX(.5);
+ }
+
+ 100%
+ {
+ -webkit-transform: translate3d(100%, 0, 0) scaleX(.5);
+ }
+}
+@keyframes mui-progressbar-infinite
+{
+ 0%
+ {
+ transform: translate3d(-50%, 0, 0) scaleX(.5);
+ }
+
+ 100%
+ {
+ transform: translate3d(100%, 0, 0) scaleX(.5);
+ }
+}
+.mui-pagination
+{
+ display: inline-block;
+
+ margin: 0 auto;
+ padding-left: 0;
+
+ border-radius: 6px;
+}
+.mui-pagination > li
+{
+ display: inline;
+}
+.mui-pagination > li > a,
+.mui-pagination > li > span
+{
+ line-height: 1.428571429;
+
+ position: relative;
+
+ float: left;
+
+ margin-left: -1px;
+ padding: 6px 12px;
+
+ text-decoration: none;
+
+ color: #007aff;
+ border: 1px solid #ddd;
+ background-color: #fff;
+}
+.mui-pagination > li:first-child > a,
+.mui-pagination > li:first-child > span
+{
+ margin-left: 0;
+
+ border-top-left-radius: 6px;
+ border-bottom-left-radius: 6px;
+ background-clip: padding-box;
+}
+.mui-pagination > li:last-child > a,
+.mui-pagination > li:last-child > span
+{
+ border-top-right-radius: 6px;
+ border-bottom-right-radius: 6px;
+ background-clip: padding-box;
+}
+.mui-pagination > li:active > a, .mui-pagination > li:active > a:active,
+.mui-pagination > li:active > span,
+.mui-pagination > li:active > span:active,
+.mui-pagination > li.mui-active > a,
+.mui-pagination > li.mui-active > a:active,
+.mui-pagination > li.mui-active > span,
+.mui-pagination > li.mui-active > span:active
+{
+ z-index: 2;
+
+ cursor: default;
+
+ color: #fff;
+ border-color: #007aff;
+ background-color: #007aff;
+}
+.mui-pagination > li.mui-disabled > span,
+.mui-pagination > li.mui-disabled > span:active,
+.mui-pagination > li.mui-disabled > a,
+.mui-pagination > li.mui-disabled > a:active
+{
+ opacity: .6;
+ color: #777;
+ border: 1px solid #ddd;
+ background-color: #fff;
+}
+
+.mui-pagination-lg > li > a,
+.mui-pagination-lg > li > span
+{
+ font-size: 18px;
+
+ padding: 10px 16px;
+}
+
+.mui-pagination-sm > li > a,
+.mui-pagination-sm > li > span
+{
+ font-size: 12px;
+
+ padding: 5px 10px;
+}
+
+.mui-pager
+{
+ padding-left: 0;
+
+ list-style: none;
+
+ text-align: center;
+}
+.mui-pager:before, .mui-pager:after
+{
+ display: table;
+
+ content: ' ';
+}
+.mui-pager:after
+{
+ clear: both;
+}
+.mui-pager li
+{
+ display: inline;
+}
+.mui-pager li > a,
+.mui-pager li > span
+{
+ display: inline-block;
+
+ padding: 5px 14px;
+
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ background-color: #fff;
+ background-clip: padding-box;
+}
+.mui-pager li:active > a, .mui-pager li:active > span, .mui-pager li.mui-active > a, .mui-pager li.mui-active > span
+{
+ cursor: default;
+ text-decoration: none;
+
+ color: #fff;
+ border-color: #007aff;
+ background-color: #007aff;
+}
+.mui-pager .mui-next > a,
+.mui-pager .mui-next > span
+{
+ float: right;
+}
+.mui-pager .mui-previous > a,
+.mui-pager .mui-previous > span
+{
+ float: left;
+}
+.mui-pager .mui-disabled > a,
+.mui-pager .mui-disabled > a:active,
+.mui-pager .mui-disabled > span,
+.mui-pager .mui-disabled > span:active
+{
+ opacity: .6;
+ color: #777;
+ border: 1px solid #ddd;
+ background-color: #fff;
+}
+
+.mui-modal
+{
+ position: fixed;
+ z-index: 999;
+ top: 0;
+
+ overflow: hidden;
+
+ width: 100%;
+ min-height: 100%;
+
+ -webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
+ transition: transform .25s, opacity 1ms .25s;
+ -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ -webkit-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
+
+ opacity: 0;
+ background-color: #fff;
+}
+.mui-modal.mui-active
+{
+ height: 100%;
+
+ -webkit-transition: -webkit-transform .25s;
+ transition: transform .25s;
+ -webkit-transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ transition-timing-function: cubic-bezier(.1, .5, .1, 1);
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+
+ opacity: 1;
+}
+
+.mui-android .mui-modal .mui-bar
+{
+ position: static;
+}
+
+.mui-android .mui-modal .mui-bar-nav ~ .mui-content
+{
+ padding-top: 0;
+}
+
+.mui-slider
+{
+ position: relative;
+ z-index: 1;
+
+ overflow: hidden;
+
+ width: 100%;
+}
+.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active
+{
+ border-bottom: 0;
+}
+.mui-slider .mui-segmented-control.mui-segmented-control-inverted ~ .mui-slider-group .mui-slider-item
+{
+ border-top: 1px solid #c8c7cc;
+ border-bottom: 1px solid #c8c7cc;
+}
+.mui-slider .mui-slider-group
+{
+ font-size: 0;
+
+ position: relative;
+
+ -webkit-transition: all 0s linear;
+ transition: all 0s linear;
+ white-space: nowrap;
+}
+.mui-slider .mui-slider-group .mui-slider-item
+{
+ font-size: 14px;
+
+ position: relative;
+
+ display: inline-block;
+
+ width: 100%;
+ height: 100%;
+
+ vertical-align: top;
+ white-space: normal;
+}
+.mui-slider .mui-slider-group .mui-slider-item > a:not(.mui-control-item)
+{
+ line-height: 0;
+
+ position: relative;
+
+ display: block;
+}
+.mui-slider .mui-slider-group .mui-slider-item img
+{
+ width: 100%;
+}
+.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before, .mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after
+{
+ height: 0;
+}
+.mui-slider .mui-slider-group.mui-slider-loop
+{
+ -webkit-transform: translate(-100%, 0px);
+ transform: translate(-100%, 0px);
+}
+
+.mui-slider-title
+{
+ line-height: 30px;
+
+ position: absolute;
+ bottom: 0;
+ left: 0;
+
+ width: 100%;
+ height: 30px;
+ margin: 0;
+
+ text-align: left;
+ text-indent: 12px;
+
+ opacity: .8;
+ background-color: #000;
+}
+
+.mui-slider-indicator
+{
+ position: absolute;
+ bottom: 8px;
+
+ width: 100%;
+
+ text-align: center;
+
+ background: none;
+}
+.mui-slider-indicator.mui-segmented-control
+{
+ position: relative;
+ bottom: auto;
+}
+.mui-slider-indicator .mui-indicator
+{
+ display: inline-block;
+
+ width: 6px;
+ height: 6px;
+ margin: 1px 6px;
+
+ cursor: pointer;
+
+ border-radius: 50%;
+ background: #aaa;
+ -webkit-box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7);
+ box-shadow: 0 0 1px 1px rgba(130, 130, 130, .7);
+}
+.mui-slider-indicator .mui-active.mui-indicator
+{
+ background: #fff;
+}
+.mui-slider-indicator .mui-icon
+{
+ font-size: 20px;
+ line-height: 30px;
+
+ width: 40px;
+ height: 30px;
+ margin: 3px;
+
+ text-align: center;
+
+ border: 1px solid #ddd;
+}
+.mui-slider-indicator .mui-number
+{
+ line-height: 32px;
+
+ display: inline-block;
+
+ width: 58px;
+}
+.mui-slider-indicator .mui-number span
+{
+ color: #ff5053;
+}
+
+.mui-slider-progress-bar
+{
+ z-index: 1;
+
+ height: 2px;
+
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+}
+
+.mui-switch
+{
+ position: relative;
+
+ display: block;
+
+ width: 74px;
+ height: 30px;
+
+ -webkit-transition-timing-function: ease-in-out;
+ transition-timing-function: ease-in-out;
+ -webkit-transition-duration: .2s;
+ transition-duration: .2s;
+ -webkit-transition-property: background-color, border;
+ transition-property: background-color, border;
+
+ border: 2px solid #ddd;
+ border-radius: 20px;
+ background-color: #fff;
+ background-clip: padding-box;
+}
+.mui-switch.mui-disabled
+{
+ opacity: .3;
+}
+.mui-switch .mui-switch-handle
+{
+ position: absolute;
+ z-index: 1;
+ top: -1px;
+ left: -1px;
+
+ width: 28px;
+ height: 28px;
+
+ -webkit-transition: .2s ease-in-out;
+ transition: .2s ease-in-out;
+ -webkit-transition-property: -webkit-transform, width,left;
+ transition-property: transform, width,left;
+
+ border-radius: 16px;
+ background-color: #fff;
+ background-clip: padding-box;
+ -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
+ box-shadow: 0 2px 5px rgba(0, 0, 0, .4);
+}
+.mui-switch:before
+{
+ font-size: 13px;
+
+ position: absolute;
+ top: 3px;
+ right: 11px;
+
+ content: 'Off';
+ text-transform: uppercase;
+
+ color: #999;
+}
+.mui-switch.mui-dragging
+{
+ border-color: #f7f7f7;
+ background-color: #f7f7f7;
+}
+.mui-switch.mui-dragging .mui-switch-handle
+{
+ width: 38px;
+}
+.mui-switch.mui-dragging.mui-active .mui-switch-handle
+{
+ left: -11px;
+
+ width: 38px;
+}
+.mui-switch.mui-active
+{
+ border-color: #4cd964;
+ background-color: #4cd964;
+}
+.mui-switch.mui-active .mui-switch-handle
+{
+ -webkit-transform: translate(43px, 0);
+ transform: translate(43px, 0);
+}
+.mui-switch.mui-active:before
+{
+ right: auto;
+ left: 15px;
+
+ content: 'On';
+
+ color: #fff;
+}
+.mui-switch input[type='checkbox']
+{
+ display: none;
+}
+
+.mui-switch-mini
+{
+ width: 47px;
+}
+.mui-switch-mini:before
+{
+ display: none;
+}
+.mui-switch-mini.mui-active .mui-switch-handle
+{
+ -webkit-transform: translate(16px, 0);
+ transform: translate(16px, 0);
+}
+
+.mui-switch-blue.mui-active
+{
+ border: 2px solid #007aff;
+ background-color: #007aff;
+}
+
+.mui-content.mui-fade
+{
+ left: 0;
+
+ opacity: 0;
+}
+.mui-content.mui-fade.mui-in
+{
+ opacity: 1;
+}
+.mui-content.mui-sliding
+{
+ z-index: 2;
+
+ -webkit-transition: -webkit-transform .4s;
+ transition: transform .4s;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0);
+}
+.mui-content.mui-sliding.mui-left
+{
+ z-index: 1;
+
+ -webkit-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+}
+.mui-content.mui-sliding.mui-right
+{
+ z-index: 3;
+
+ -webkit-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+
+.mui-navigate-right:after,
+.mui-push-left:after,
+.mui-push-right:after
+{
+ font-family: Muiicons;
+ font-size: inherit;
+ line-height: 1;
+
+ position: absolute;
+ top: 50%;
+
+ display: inline-block;
+
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+ text-decoration: none;
+
+ color: #bbb;
+
+ -webkit-font-smoothing: antialiased;
+}
+
+.mui-push-left:after
+{
+ left: 15px;
+
+ content: '\e582';
+}
+
+.mui-navigate-right:after,
+.mui-push-right:after
+{
+ right: 15px;
+
+ content: '\e583';
+}
+
+.mui-pull-top-pocket, .mui-pull-bottom-pocket
+{
+ position: absolute;
+ left: 0;
+
+ display: block;
+ visibility: hidden;
+ overflow: hidden;
+
+ width: 100%;
+ height: 50px;
+}
+
+.mui-plus-pullrefresh .mui-pull-top-pocket, .mui-plus-pullrefresh .mui-pull-bottom-pocket
+{
+ display: none;
+ visibility: visible;
+}
+
+.mui-pull-top-pocket
+{
+ top: 0;
+}
+
+.mui-bar-nav ~ .mui-content .mui-pull-top-pocket
+{
+ top: 44px;
+}
+
+.mui-bar-nav ~ .mui-bar-header-secondary ~ .mui-content .mui-pull-top-pocket
+{
+ top: 88px;
+}
+
+.mui-pull-bottom-pocket
+{
+ position: relative;
+ bottom: 0;
+
+ height: 40px;
+}
+.mui-pull-bottom-pocket .mui-pull-loading
+{
+ visibility: hidden;
+}
+.mui-pull-bottom-pocket .mui-pull-loading.mui-in
+{
+ display: inline-block;
+}
+
+.mui-pull
+{
+ font-weight: bold;
+
+ position: absolute;
+ right: 0;
+ bottom: 10px;
+ left: 0;
+
+ text-align: center;
+
+ color: #777;
+}
+
+.mui-pull-loading
+{
+ margin-right: 10px;
+
+ -webkit-transition: -webkit-transform .4s;
+ transition: transform .4s;
+ -webkit-transition-duration: 400ms;
+ transition-duration: 400ms;
+ vertical-align: middle;
+}
+
+.mui-pull-loading.mui-reverse
+{
+ -webkit-transform: rotate(180deg) translateZ(0);
+ transform: rotate(180deg) translateZ(0);
+}
+
+.mui-pull-caption
+{
+ font-size: 15px;
+ line-height: 24px;
+
+ position: relative;
+
+ display: inline-block;
+ overflow: visible;
+
+ margin-top: 0;
+
+ vertical-align: middle;
+}
+.mui-pull-caption span
+{
+ display: none;
+}
+.mui-pull-caption span.mui-in
+{
+ display: inline;
+}
+
+.mui-toast-container
+{
+ line-height: 17px;
+
+ position: fixed;
+ z-index: 9999;
+ bottom: 50px;
+ left: 50%;
+
+ -webkit-transition: opacity .3s;
+ transition: opacity .3s;
+ -webkit-transform: translate(-50%, 0);
+ transform: translate(-50%, 0);
+
+ opacity: 0;
+}
+.mui-toast-container.mui-active
+{
+ opacity: .9;
+}
+
+.mui-toast-message
+{
+ font-size: 14px;
+
+ padding: 10px 25px;
+
+ text-align: center;
+
+ color: #fff;
+ border-radius: 6px;
+ background-color: #323232;
+}
+
+.mui-numbox
+{
+ position: relative;
+
+ display: inline-block;
+ overflow: hidden;
+
+ width: 120px;
+ height: 35px;
+ padding: 0 40px 0 40px;
+
+ vertical-align: top;
+ vertical-align: middle;
+
+ border: solid 1px #bbb;
+ border-radius: 3px;
+ background-color: #efeff4;
+}
+.mui-numbox [class*=numbox-btn], .mui-numbox [class*=btn-numbox]
+{
+ font-size: 18px;
+ font-weight: normal;
+ line-height: 100%;
+
+ position: absolute;
+ top: 0;
+
+ overflow: hidden;
+
+ width: 40px;
+ height: 100%;
+ padding: 0;
+
+ color: #555;
+ border: none;
+ border-radius: 0;
+ background-color: #f9f9f9;
+}
+.mui-numbox [class*=numbox-btn]:active, .mui-numbox [class*=btn-numbox]:active
+{
+ background-color: #ccc;
+}
+.mui-numbox [class*=numbox-btn][disabled], .mui-numbox [class*=btn-numbox][disabled]
+{
+ color: #c0c0c0;
+}
+.mui-numbox .mui-numbox-btn-plus, .mui-numbox .mui-btn-numbox-plus
+{
+ right: 0;
+
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+}
+.mui-numbox .mui-numbox-btn-minus, .mui-numbox .mui-btn-numbox-minus
+{
+ left: 0;
+
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+}
+.mui-numbox .mui-numbox-input, .mui-numbox .mui-input-numbox
+{
+ display: inline-block;
+ overflow: hidden;
+
+ width: 100% !important;
+ height: 100%;
+ margin: 0;
+ padding: 0 3px !important;
+
+ text-align: center;
+ text-overflow: ellipsis;
+ word-break: normal;
+
+ border: none !important;
+ border-right: solid 1px #ccc !important;
+ border-left: solid 1px #ccc !important;
+ border-radius: 0 !important;
+}
+
+.mui-input-row .mui-numbox
+{
+ float: right;
+
+ margin: 2px 8px;
+}
+
+@font-face {
+ font-family: Muiicons;
+ font-weight: normal;
+ font-style: normal;
+
+ src: url('../fonts/mui.ttf') format('truetype');
+}
+.mui-icon
+{
+ font-family: Muiicons;
+ font-size: 24px;
+ font-weight: normal;
+ font-style: normal;
+ line-height: 1;
+
+ display: inline-block;
+
+ text-decoration: none;
+
+ -webkit-font-smoothing: antialiased;
+}
+.mui-icon.mui-active
+{
+ color: #007aff;
+}
+.mui-icon.mui-right:before
+{
+ float: right;
+
+ padding-left: .2em;
+}
+
+.mui-icon-contact:before
+{
+ content: '\e100';
+}
+
+.mui-icon-person:before
+{
+ content: '\e101';
+}
+
+.mui-icon-personadd:before
+{
+ content: '\e102';
+}
+
+.mui-icon-contact-filled:before
+{
+ content: '\e130';
+}
+
+.mui-icon-person-filled:before
+{
+ content: '\e131';
+}
+
+.mui-icon-personadd-filled:before
+{
+ content: '\e132';
+}
+
+.mui-icon-phone:before
+{
+ content: '\e200';
+}
+
+.mui-icon-email:before
+{
+ content: '\e201';
+}
+
+.mui-icon-chatbubble:before
+{
+ content: '\e202';
+}
+
+.mui-icon-chatboxes:before
+{
+ content: '\e203';
+}
+
+.mui-icon-phone-filled:before
+{
+ content: '\e230';
+}
+
+.mui-icon-email-filled:before
+{
+ content: '\e231';
+}
+
+.mui-icon-chatbubble-filled:before
+{
+ content: '\e232';
+}
+
+.mui-icon-chatboxes-filled:before
+{
+ content: '\e233';
+}
+
+.mui-icon-weibo:before
+{
+ content: '\e260';
+}
+
+.mui-icon-weixin:before
+{
+ content: '\e261';
+}
+
+.mui-icon-pengyouquan:before
+{
+ content: '\e262';
+}
+
+.mui-icon-chat:before
+{
+ content: '\e263';
+}
+
+.mui-icon-qq:before
+{
+ content: '\e264';
+}
+
+.mui-icon-videocam:before
+{
+ content: '\e300';
+}
+
+.mui-icon-camera:before
+{
+ content: '\e301';
+}
+
+.mui-icon-mic:before
+{
+ content: '\e302';
+}
+
+.mui-icon-location:before
+{
+ content: '\e303';
+}
+
+.mui-icon-mic-filled:before, .mui-icon-speech:before
+{
+ content: '\e332';
+}
+
+.mui-icon-location-filled:before
+{
+ content: '\e333';
+}
+
+.mui-icon-micoff:before
+{
+ content: '\e360';
+}
+
+.mui-icon-image:before
+{
+ content: '\e363';
+}
+
+.mui-icon-map:before
+{
+ content: '\e364';
+}
+
+.mui-icon-compose:before
+{
+ content: '\e400';
+}
+
+.mui-icon-trash:before
+{
+ content: '\e401';
+}
+
+.mui-icon-upload:before
+{
+ content: '\e402';
+}
+
+.mui-icon-download:before
+{
+ content: '\e403';
+}
+
+.mui-icon-close:before
+{
+ content: '\e404';
+}
+
+.mui-icon-redo:before
+{
+ content: '\e405';
+}
+
+.mui-icon-undo:before
+{
+ content: '\e406';
+}
+
+.mui-icon-refresh:before
+{
+ content: '\e407';
+}
+
+.mui-icon-star:before
+{
+ content: '\e408';
+}
+
+.mui-icon-plus:before
+{
+ content: '\e409';
+}
+
+.mui-icon-minus:before
+{
+ content: '\e410';
+}
+
+.mui-icon-circle:before, .mui-icon-checkbox:before
+{
+ content: '\e411';
+}
+
+.mui-icon-close-filled:before, .mui-icon-clear:before
+{
+ content: '\e434';
+}
+
+.mui-icon-refresh-filled:before
+{
+ content: '\e437';
+}
+
+.mui-icon-star-filled:before
+{
+ content: '\e438';
+}
+
+.mui-icon-plus-filled:before
+{
+ content: '\e439';
+}
+
+.mui-icon-minus-filled:before
+{
+ content: '\e440';
+}
+
+.mui-icon-circle-filled:before
+{
+ content: '\e441';
+}
+
+.mui-icon-checkbox-filled:before
+{
+ content: '\e442';
+}
+
+.mui-icon-closeempty:before
+{
+ content: '\e460';
+}
+
+.mui-icon-refreshempty:before
+{
+ content: '\e461';
+}
+
+.mui-icon-reload:before
+{
+ content: '\e462';
+}
+
+.mui-icon-starhalf:before
+{
+ content: '\e463';
+}
+
+.mui-icon-spinner:before
+{
+ content: '\e464';
+}
+
+.mui-icon-spinner-cycle:before
+{
+ content: '\e465';
+}
+
+.mui-icon-search:before
+{
+ content: '\e466';
+}
+
+.mui-icon-plusempty:before
+{
+ content: '\e468';
+}
+
+.mui-icon-forward:before
+{
+ content: '\e470';
+}
+
+.mui-icon-back:before, .mui-icon-left-nav:before
+{
+ content: '\e471';
+}
+
+.mui-icon-checkmarkempty:before
+{
+ content: '\e472';
+}
+
+.mui-icon-home:before
+{
+ content: '\e500';
+}
+
+.mui-icon-navigate:before
+{
+ content: '\e501';
+}
+
+.mui-icon-gear:before
+{
+ content: '\e502';
+}
+
+.mui-icon-paperplane:before
+{
+ content: '\e503';
+}
+
+.mui-icon-info:before
+{
+ content: '\e504';
+}
+
+.mui-icon-help:before
+{
+ content: '\e505';
+}
+
+.mui-icon-locked:before
+{
+ content: '\e506';
+}
+
+.mui-icon-more:before
+{
+ content: '\e507';
+}
+
+.mui-icon-flag:before
+{
+ content: '\e508';
+}
+
+.mui-icon-home-filled:before
+{
+ content: '\e530';
+}
+
+.mui-icon-gear-filled:before
+{
+ content: '\e532';
+}
+
+.mui-icon-info-filled:before
+{
+ content: '\e534';
+}
+
+.mui-icon-help-filled:before
+{
+ content: '\e535';
+}
+
+.mui-icon-more-filled:before
+{
+ content: '\e537';
+}
+
+.mui-icon-settings:before
+{
+ content: '\e560';
+}
+
+.mui-icon-list:before
+{
+ content: '\e562';
+}
+
+.mui-icon-bars:before
+{
+ content: '\e563';
+}
+
+.mui-icon-loop:before
+{
+ content: '\e565';
+}
+
+.mui-icon-paperclip:before
+{
+ content: '\e567';
+}
+
+.mui-icon-eye:before
+{
+ content: '\e568';
+}
+
+.mui-icon-arrowup:before
+{
+ content: '\e580';
+}
+
+.mui-icon-arrowdown:before
+{
+ content: '\e581';
+}
+
+.mui-icon-arrowleft:before
+{
+ content: '\e582';
+}
+
+.mui-icon-arrowright:before
+{
+ content: '\e583';
+}
+
+.mui-icon-arrowthinup:before
+{
+ content: '\e584';
+}
+
+.mui-icon-arrowthindown:before
+{
+ content: '\e585';
+}
+
+.mui-icon-arrowthinleft:before
+{
+ content: '\e586';
+}
+
+.mui-icon-arrowthinright:before
+{
+ content: '\e587';
+}
+
+.mui-icon-pulldown:before
+{
+ content: '\e588';
+}
+
+.mui-fullscreen
+{
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+.mui-fullscreen.mui-slider .mui-slider-group
+{
+ height: 100%;
+}
+.mui-fullscreen .mui-segmented-control ~ .mui-slider-group
+{
+ position: absolute;
+ top: 40px;
+ bottom: 0;
+
+ width: 100%;
+ height: auto;
+}
+.mui-fullscreen.mui-slider .mui-slider-item > a
+{
+ top: 50%;
+
+ -webkit-transform: translateY(-50%);
+ transform: translateY(-50%);
+}
+.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item > a
+{
+ top: auto;
+
+ -webkit-transform: none;
+ transform: none;
+}
+
+.mui-bar-nav ~ .mui-content .mui-slider.mui-fullscreen
+{
+ top: 44px;
+}
+
+.mui-bar-tab ~ .mui-content .mui-slider.mui-fullscreen .mui-segmented-control ~ .mui-slider-group
+{
+ bottom: 50px;
+}
+
+.mui-android.mui-android-4-0 input:focus,
+.mui-android.mui-android-4-0 textarea:focus
+{
+ -webkit-user-modify: inherit;
+}
+
+.mui-android.mui-android-4-2 input,
+.mui-android.mui-android-4-2 textarea, .mui-android.mui-android-4-3 input,
+.mui-android.mui-android-4-3 textarea
+{
+ -webkit-user-select: text;
+}
+
+.mui-ios .mui-table-view-cell
+{
+ -webkit-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+}
+
+.mui-plus-visible, .mui-wechat-visible
+{
+ display: none !important;
+}
+
+.mui-plus-hidden, .mui-wechat-hidden
+{
+ display: block !important;
+}
+
+.mui-tab-item.mui-plus-hidden, .mui-tab-item.mui-wechat-hidden
+{
+ display: table-cell !important;
+}
+
+.mui-plus .mui-plus-visible, .mui-wechat .mui-wechat-visible
+{
+ display: block !important;
+}
+
+.mui-plus .mui-tab-item.mui-plus-visible, .mui-wechat .mui-tab-item.mui-wechat-visible
+{
+ display: table-cell !important;
+}
+
+.mui-plus .mui-plus-hidden, .mui-wechat .mui-wechat-hidden
+{
+ display: none !important;
+}
+
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav
+{
+ height: 64px;
+ padding-top: 20px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content
+{
+ padding-top: 64px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav ~ .mui-content .mui-pull-top-pocket
+{
+ top: 64px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary
+{
+ top: 64px;
+}
+.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary ~ .mui-content
+{
+ padding-top: 94px;
+}
+
+.mui-iframe-wrapper
+{
+ position: absolute;
+ right: 0;
+ left: 0;
+
+ -webkit-overflow-scrolling: touch;
+}
+.mui-iframe-wrapper iframe
+{
+ width: 100%;
+ height: 100%;
+
+ border: 0;
+}
diff --git a/pte-app-client/static/css/mui.min.css b/pte-app-client/static/css/mui.min.css
new file mode 100644
index 0000000..eaf6974
--- /dev/null
+++ b/pte-app-client/static/css/mui.min.css
@@ -0,0 +1,5 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}body::after{position:fixed;top:-1000px;left:-1000px;content:'';-webkit-animation:shadow-preload .1s;animation:shadow-preload .1s;-webkit-animation-delay:3s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%,100%{background-image:url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png)}}@keyframes shadow-preload{0%,100%{background-image:url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png)}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-btn .mui-spinner{width:14px;height:14px;vertical-align:text-bottom}.mui-btn-block .mui-spinner{width:22px;height:22px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-transparent{top:0;background-color:rgba(247,247,247,0);-webkit-box-shadow:none;box-shadow:none}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{font-size:14px;position:relative;overflow:hidden;margin:10px;border-radius:2px;background-color:#fff;background-clip:padding-box;box-shadow:0 1px 2px rgba(0,0,0,.3)}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-card-footer,.mui-card-header{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;min-height:44px;padding:10px 15px;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer .mui-card-link,.mui-card-header .mui-card-link{line-height:44px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;margin-top:-10px;margin-bottom:-10px;-webkit-transition-duration:.3s;transition-duration:.3s;text-decoration:none;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-card-footer:before,.mui-card-header:after{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-card-header{font-size:17px;border-radius:2px 2px 0 0}.mui-card-header:after{top:auto;bottom:0}.mui-card-header>img:first-child{font-size:0;line-height:0;float:left;width:34px;height:34px}.mui-card-footer{color:#6d6d72;border-radius:0 0 2px 2px}.mui-card-content{font-size:14px;position:relative}.mui-card-content-inner{position:relative;padding:15px}.mui-card-media{vertical-align:bottom;color:#fff;background-position:center;background-size:cover}.mui-card-header.mui-card-media{display:block;padding:10px}.mui-card-header.mui-card-media .mui-media-body{font-size:14px;font-weight:500;line-height:17px;margin-bottom:0;margin-left:44px;color:#333}.mui-card-header.mui-card-media .mui-media-body p{font-size:13px;margin-bottom:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:fixed;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-family:inherit;font-size:14px;margin:5px 0 0}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:15px 0 0;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:44px;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{line-height:17px;position:fixed;z-index:9999;bottom:50px;left:50%;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);opacity:0}.mui-toast-container.mui-active{opacity:.9}.mui-toast-message{font-size:14px;padding:10px 25px;text-align:center;color:#fff;border-radius:6px;background-color:#323232}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{top:44px}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0}
\ No newline at end of file
diff --git a/pte-app-client/static/fonts/mui.ttf b/pte-app-client/static/fonts/mui.ttf
new file mode 100644
index 0000000..45d3b04
Binary files /dev/null and b/pte-app-client/static/fonts/mui.ttf differ
diff --git a/pte-app-client/static/js/mui.js b/pte-app-client/static/js/mui.js
new file mode 100644
index 0000000..d4e4c17
--- /dev/null
+++ b/pte-app-client/static/js/mui.js
@@ -0,0 +1,8390 @@
+/*!
+ * =====================================================
+ * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)
+ * =====================================================
+ */
+/**
+ * MUI核心JS
+ * @type _L4.$|Function
+ */
+var mui = (function(document, undefined) {
+ var readyRE = /complete|loaded|interactive/;
+ var idSelectorRE = /^#([\w-]+)$/;
+ var classSelectorRE = /^\.([\w-]+)$/;
+ var tagSelectorRE = /^[\w-]+$/;
+ var translateRE = /translate(?:3d)?\((.+?)\)/;
+ var translateMatrixRE = /matrix(3d)?\((.+?)\)/;
+
+ var $ = function(selector, context) {
+ context = context || document;
+ if (!selector)
+ return wrap();
+ if (typeof selector === 'object')
+ if ($.isArrayLike(selector)) {
+ return wrap($.slice.call(selector), null);
+ } else {
+ return wrap([selector], null);
+ }
+ if (typeof selector === 'function')
+ return $.ready(selector);
+ if (typeof selector === 'string') {
+ try {
+ selector = selector.trim();
+ if (idSelectorRE.test(selector)) {
+ var found = document.getElementById(RegExp.$1);
+ return wrap(found ? [found] : []);
+ }
+ return wrap($.qsa(selector, context), selector);
+ } catch (e) {}
+ }
+ return wrap();
+ };
+
+ var wrap = function(dom, selector) {
+ dom = dom || [];
+ Object.setPrototypeOf(dom, $.fn);
+ dom.selector = selector || '';
+ return dom;
+ };
+
+ $.uuid = 0;
+
+ $.data = {};
+ /**
+ * extend(simple)
+ * @param {type} target
+ * @param {type} source
+ * @param {type} deep
+ * @returns {unresolved}
+ */
+ $.extend = function() { //from jquery2
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[0] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ if (typeof target === "boolean") {
+ deep = target;
+
+ target = arguments[i] || {};
+ i++;
+ }
+
+ if (typeof target !== "object" && !$.isFunction(target)) {
+ target = {};
+ }
+
+ if (i === length) {
+ target = this;
+ i--;
+ }
+
+ for (; i < length; i++) {
+ if ((options = arguments[i]) != null) {
+ for (name in options) {
+ src = target[name];
+ copy = options[name];
+
+ if (target === copy) {
+ continue;
+ }
+
+ if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) {
+ if (copyIsArray) {
+ copyIsArray = false;
+ clone = src && $.isArray(src) ? src : [];
+
+ } else {
+ clone = src && $.isPlainObject(src) ? src : {};
+ }
+
+ target[name] = $.extend(deep, clone, copy);
+
+ } else if (copy !== undefined) {
+ target[name] = copy;
+ }
+ }
+ }
+ }
+
+ return target;
+ };
+ /**
+ * mui noop(function)
+ */
+ $.noop = function() {};
+ /**
+ * mui slice(array)
+ */
+ $.slice = [].slice;
+ /**
+ * mui filter(array)
+ */
+ $.filter = [].filter;
+
+ $.type = function(obj) {
+ return obj == null ? String(obj) : class2type[{}.toString.call(obj)] || "object";
+ };
+ /**
+ * mui isArray
+ */
+ $.isArray = Array.isArray ||
+ function(object) {
+ return object instanceof Array;
+ };
+ /**
+ * mui isArrayLike
+ * @param {Object} obj
+ */
+ $.isArrayLike = function(obj) {
+ var length = !!obj && "length" in obj && obj.length;
+ var type = $.type(obj);
+ if (type === "function" || $.isWindow(obj)) {
+ return false;
+ }
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && (length - 1) in obj;
+ };
+ /**
+ * mui isWindow(需考虑obj为undefined的情况)
+ */
+ $.isWindow = function(obj) {
+ return obj != null && obj === obj.window;
+ };
+ /**
+ * mui isObject
+ */
+ $.isObject = function(obj) {
+ return $.type(obj) === "object";
+ };
+ /**
+ * mui isPlainObject
+ */
+ $.isPlainObject = function(obj) {
+ return $.isObject(obj) && !$.isWindow(obj) && Object.getPrototypeOf(obj) === Object.prototype;
+ };
+ /**
+ * mui isEmptyObject
+ * @param {Object} o
+ */
+ $.isEmptyObject = function(o) {
+ for (var p in o) {
+ if (p !== undefined) {
+ return false;
+ }
+ }
+ return true;
+ };
+ /**
+ * mui isFunction
+ */
+ $.isFunction = function(value) {
+ return $.type(value) === "function";
+ };
+ /**
+ * mui querySelectorAll
+ * @param {type} selector
+ * @param {type} context
+ * @returns {Array}
+ */
+ $.qsa = function(selector, context) {
+ context = context || document;
+ return $.slice.call(classSelectorRE.test(selector) ? context.getElementsByClassName(RegExp.$1) : tagSelectorRE.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector));
+ };
+ /**
+ * ready(DOMContentLoaded)
+ * @param {type} callback
+ * @returns {_L6.$}
+ */
+ $.ready = function(callback) {
+ if (readyRE.test(document.readyState)) {
+ callback($);
+ } else {
+ document.addEventListener('DOMContentLoaded', function() {
+ callback($);
+ }, false);
+ }
+ return this;
+ };
+ /**
+ * 将 fn 缓存一段时间后, 再被调用执行
+ * 此方法为了避免在 ms 段时间内, 执行 fn 多次. 常用于 resize , scroll , mousemove 等连续性事件中;
+ * 当 ms 设置为 -1, 表示立即执行 fn, 即和直接调用 fn 一样;
+ * 调用返回函数的 stop 停止最后一次的 buffer 效果
+ * @param {Object} fn
+ * @param {Object} ms
+ * @param {Object} context
+ */
+ $.buffer = function(fn, ms, context) {
+ var timer;
+ var lastStart = 0;
+ var lastEnd = 0;
+ var ms = ms || 150;
+
+ function run() {
+ if (timer) {
+ timer.cancel();
+ timer = 0;
+ }
+ lastStart = $.now();
+ fn.apply(context || this, arguments);
+ lastEnd = $.now();
+ }
+
+ return $.extend(function() {
+ if (
+ (!lastStart) || // 从未运行过
+ (lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
+ (lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
+ ) {
+ run.apply(this, arguments);
+ } else {
+ if (timer) {
+ timer.cancel();
+ }
+ timer = $.later(run, ms, null, $.slice.call(arguments));
+ }
+ }, {
+ stop: function() {
+ if (timer) {
+ timer.cancel();
+ timer = 0;
+ }
+ }
+ });
+ };
+ /**
+ * each
+ * @param {type} elements
+ * @param {type} callback
+ * @returns {_L8.$}
+ */
+ $.each = function(elements, callback, hasOwnProperty) {
+ if (!elements) {
+ return this;
+ }
+ if (typeof elements.length === 'number') {
+ [].every.call(elements, function(el, idx) {
+ return callback.call(el, idx, el) !== false;
+ });
+ } else {
+ for (var key in elements) {
+ if (hasOwnProperty) {
+ if (elements.hasOwnProperty(key)) {
+ if (callback.call(elements[key], key, elements[key]) === false) return elements;
+ }
+ } else {
+ if (callback.call(elements[key], key, elements[key]) === false) return elements;
+ }
+ }
+ }
+ return this;
+ };
+ $.focus = function(element) {
+ if ($.os.ios) {
+ setTimeout(function() {
+ element.focus();
+ }, 10);
+ } else {
+ element.focus();
+ }
+ };
+ /**
+ * trigger event
+ * @param {type} element
+ * @param {type} eventType
+ * @param {type} eventData
+ * @returns {_L8.$}
+ */
+ $.trigger = function(element, eventType, eventData) {
+ element.dispatchEvent(new CustomEvent(eventType, {
+ detail: eventData,
+ bubbles: true,
+ cancelable: true
+ }));
+ return this;
+ };
+ /**
+ * getStyles
+ * @param {type} element
+ * @param {type} property
+ * @returns {styles}
+ */
+ $.getStyles = function(element, property) {
+ var styles = element.ownerDocument.defaultView.getComputedStyle(element, null);
+ if (property) {
+ return styles.getPropertyValue(property) || styles[property];
+ }
+ return styles;
+ };
+ /**
+ * parseTranslate
+ * @param {type} translateString
+ * @param {type} position
+ * @returns {Object}
+ */
+ $.parseTranslate = function(translateString, position) {
+ var result = translateString.match(translateRE || '');
+ if (!result || !result[1]) {
+ result = ['', '0,0,0'];
+ }
+ result = result[1].split(",");
+ result = {
+ x: parseFloat(result[0]),
+ y: parseFloat(result[1]),
+ z: parseFloat(result[2])
+ };
+ if (position && result.hasOwnProperty(position)) {
+ return result[position];
+ }
+ return result;
+ };
+ /**
+ * parseTranslateMatrix
+ * @param {type} translateString
+ * @param {type} position
+ * @returns {Object}
+ */
+ $.parseTranslateMatrix = function(translateString, position) {
+ var matrix = translateString.match(translateMatrixRE);
+ var is3D = matrix && matrix[1];
+ if (matrix) {
+ matrix = matrix[2].split(",");
+ if (is3D === "3d")
+ matrix = matrix.slice(12, 15);
+ else {
+ matrix.push(0);
+ matrix = matrix.slice(4, 7);
+ }
+ } else {
+ matrix = [0, 0, 0];
+ }
+ var result = {
+ x: parseFloat(matrix[0]),
+ y: parseFloat(matrix[1]),
+ z: parseFloat(matrix[2])
+ };
+ if (position && result.hasOwnProperty(position)) {
+ return result[position];
+ }
+ return result;
+ };
+ $.hooks = {};
+ $.addAction = function(type, hook) {
+ var hooks = $.hooks[type];
+ if (!hooks) {
+ hooks = [];
+ }
+ hook.index = hook.index || 1000;
+ hooks.push(hook);
+ hooks.sort(function(a, b) {
+ return a.index - b.index;
+ });
+ $.hooks[type] = hooks;
+ return $.hooks[type];
+ };
+ $.doAction = function(type, callback) {
+ if ($.isFunction(callback)) { //指定了callback
+ $.each($.hooks[type], callback);
+ } else { //未指定callback,直接执行
+ $.each($.hooks[type], function(index, hook) {
+ return !hook.handle();
+ });
+ }
+ };
+ /**
+ * setTimeout封装
+ * @param {Object} fn
+ * @param {Object} when
+ * @param {Object} context
+ * @param {Object} data
+ */
+ $.later = function(fn, when, context, data) {
+ when = when || 0;
+ var m = fn;
+ var d = data;
+ var f;
+ var r;
+
+ if (typeof fn === 'string') {
+ m = context[fn];
+ }
+
+ f = function() {
+ m.apply(context, $.isArray(d) ? d : [d]);
+ };
+
+ r = setTimeout(f, when);
+
+ return {
+ id: r,
+ cancel: function() {
+ clearTimeout(r);
+ }
+ };
+ };
+ $.now = Date.now || function() {
+ return +new Date();
+ };
+ var class2type = {};
+ $.each(['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Object', 'Error'], function(i, name) {
+ class2type["[object " + name + "]"] = name.toLowerCase();
+ });
+ if (window.JSON) {
+ $.parseJSON = JSON.parse;
+ }
+ /**
+ * $.fn
+ */
+ $.fn = {
+ each: function(callback) {
+ [].every.call(this, function(el, idx) {
+ return callback.call(el, idx, el) !== false;
+ });
+ return this;
+ }
+ };
+
+ /**
+ * 兼容 AMD 模块
+ **/
+ if (typeof define === 'function' && define.amd) {
+ define('mui', [], function() {
+ return $;
+ });
+ }
+
+ return $;
+})(document);
+//window.mui = mui;
+//'$' in window || (window.$ = mui);
+/**
+ * $.os
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, window) {
+ function detect(ua) {
+ this.os = {};
+ var funcs = [
+
+ function() { //wechat
+ var wechat = ua.match(/(MicroMessenger)\/([\d\.]+)/i);
+ if (wechat) { //wechat
+ this.os.wechat = {
+ version: wechat[2].replace(/_/g, '.')
+ };
+ }
+ return false;
+ },
+ function() { //android
+ var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/);
+ if (android) {
+ this.os.android = true;
+ this.os.version = android[2];
+
+ this.os.isBadAndroid = !(/Chrome\/\d/.test(window.navigator.appVersion));
+ }
+ return this.os.android === true;
+ },
+ function() { //ios
+ var iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/);
+ if (iphone) { //iphone
+ this.os.ios = this.os.iphone = true;
+ this.os.version = iphone[2].replace(/_/g, '.');
+ } else {
+ var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
+ if (ipad) { //ipad
+ this.os.ios = this.os.ipad = true;
+ this.os.version = ipad[2].replace(/_/g, '.');
+ }
+ }
+ return this.os.ios === true;
+ }
+ ];
+ [].every.call(funcs, function(func) {
+ return !func.call($);
+ });
+ }
+ detect.call($, navigator.userAgent);
+})(mui, window);
+/**
+ * $.os.plus
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, document) {
+ function detect(ua) {
+ this.os = this.os || {};
+ var plus = ua.match(/Html5Plus/i); //TODO 5\+Browser?
+ if (plus) {
+ this.os.plus = true;
+ $(function() {
+ document.body.classList.add('mui-plus');
+ });
+ if (ua.match(/StreamApp/i)) { //TODO 最好有流应用自己的标识
+ this.os.stream = true;
+ $(function() {
+ document.body.classList.add('mui-plus-stream');
+ });
+ }
+ }
+ }
+ detect.call($, navigator.userAgent);
+})(mui, document);
+/**
+ * 仅提供简单的on,off(仅支持事件委托,不支持当前元素绑定,当前元素绑定请直接使用addEventListener,removeEventListener)
+ * @param {Object} $
+ */
+(function($) {
+ if ('ontouchstart' in window) {
+ $.isTouchable = true;
+ $.EVENT_START = 'touchstart';
+ $.EVENT_MOVE = 'touchmove';
+ $.EVENT_END = 'touchend';
+ } else {
+ $.isTouchable = false;
+ $.EVENT_START = 'mousedown';
+ $.EVENT_MOVE = 'mousemove';
+ $.EVENT_END = 'mouseup';
+ }
+ $.EVENT_CANCEL = 'touchcancel';
+ $.EVENT_CLICK = 'click';
+
+ var _mid = 1;
+ var delegates = {};
+ //需要wrap的函数
+ var eventMethods = {
+ preventDefault: 'isDefaultPrevented',
+ stopImmediatePropagation: 'isImmediatePropagationStopped',
+ stopPropagation: 'isPropagationStopped'
+ };
+ //默认true返回函数
+ var returnTrue = function() {
+ return true
+ };
+ //默认false返回函数
+ var returnFalse = function() {
+ return false
+ };
+ //wrap浏览器事件
+ var compatible = function(event, target) {
+ if (!event.detail) {
+ event.detail = {
+ currentTarget: target
+ };
+ } else {
+ event.detail.currentTarget = target;
+ }
+ $.each(eventMethods, function(name, predicate) {
+ var sourceMethod = event[name];
+ event[name] = function() {
+ this[predicate] = returnTrue;
+ return sourceMethod && sourceMethod.apply(event, arguments)
+ }
+ event[predicate] = returnFalse;
+ }, true);
+ return event;
+ };
+ //简单的wrap对象_mid
+ var mid = function(obj) {
+ return obj && (obj._mid || (obj._mid = _mid++));
+ };
+ //事件委托对象绑定的事件回调列表
+ var delegateFns = {};
+ //返回事件委托的wrap事件回调
+ var delegateFn = function(element, event, selector, callback) {
+ return function(e) {
+ //same event
+ var callbackObjs = delegates[element._mid][event];
+ var handlerQueue = [];
+ var target = e.target;
+ var selectorAlls = {};
+ for (; target && target !== document; target = target.parentNode) {
+ if (target === element) {
+ break;
+ }
+ if (~['click', 'tap', 'doubletap', 'longtap', 'hold'].indexOf(event) && (target.disabled || target.classList.contains('mui-disabled'))) {
+ break;
+ }
+ var matches = {};
+ $.each(callbackObjs, function(selector, callbacks) { //same selector
+ selectorAlls[selector] || (selectorAlls[selector] = $.qsa(selector, element));
+ if (selectorAlls[selector] && ~(selectorAlls[selector]).indexOf(target)) {
+ if (!matches[selector]) {
+ matches[selector] = callbacks;
+ }
+ }
+ }, true);
+ if (!$.isEmptyObject(matches)) {
+ handlerQueue.push({
+ element: target,
+ handlers: matches
+ });
+ }
+ }
+ selectorAlls = null;
+ e = compatible(e); //compatible event
+ $.each(handlerQueue, function(index, handler) {
+ target = handler.element;
+ var tagName = target.tagName;
+ if (event === 'tap' && (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && tagName !== 'SELECT')) {
+ e.preventDefault();
+ e.detail && e.detail.gesture && e.detail.gesture.preventDefault();
+ }
+ $.each(handler.handlers, function(index, handler) {
+ $.each(handler, function(index, callback) {
+ if (callback.call(target, e) === false) {
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ }, true);
+ }, true)
+ if (e.isPropagationStopped()) {
+ return false;
+ }
+ }, true);
+ };
+ };
+ var findDelegateFn = function(element, event) {
+ var delegateCallbacks = delegateFns[mid(element)];
+ var result = [];
+ if (delegateCallbacks) {
+ result = [];
+ if (event) {
+ var filterFn = function(fn) {
+ return fn.type === event;
+ }
+ return delegateCallbacks.filter(filterFn);
+ } else {
+ result = delegateCallbacks;
+ }
+ }
+ return result;
+ };
+ var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/;
+ /**
+ * mui delegate events
+ * @param {type} event
+ * @param {type} selector
+ * @param {type} callback
+ * @returns {undefined}
+ */
+ $.fn.on = function(event, selector, callback) { //仅支持简单的事件委托,主要是tap事件使用,类似mouse,focus之类暂不封装支持
+ return this.each(function() {
+ var element = this;
+ mid(element);
+ mid(callback);
+ var isAddEventListener = false;
+ var delegateEvents = delegates[element._mid] || (delegates[element._mid] = {});
+ var delegateCallbackObjs = delegateEvents[event] || ((delegateEvents[event] = {}));
+ if ($.isEmptyObject(delegateCallbackObjs)) {
+ isAddEventListener = true;
+ }
+ var delegateCallbacks = delegateCallbackObjs[selector] || (delegateCallbackObjs[selector] = []);
+ delegateCallbacks.push(callback);
+ if (isAddEventListener) {
+ var delegateFnArray = delegateFns[mid(element)];
+ if (!delegateFnArray) {
+ delegateFnArray = [];
+ }
+ var delegateCallback = delegateFn(element, event, selector, callback);
+ delegateFnArray.push(delegateCallback);
+ delegateCallback.i = delegateFnArray.length - 1;
+ delegateCallback.type = event;
+ delegateFns[mid(element)] = delegateFnArray;
+ element.addEventListener(event, delegateCallback);
+ if (event === 'tap') { //TODO 需要找个更好的解决方案
+ element.addEventListener('click', function(e) {
+ if (e.target) {
+ var tagName = e.target.tagName;
+ if (!preventDefaultException.test(tagName)) {
+ if (tagName === 'A') {
+ var href = e.target.href;
+ if (!(href && ~href.indexOf('tel:'))) {
+ e.preventDefault();
+ }
+ } else {
+ e.preventDefault();
+ }
+ }
+ }
+ });
+ }
+ }
+ });
+ };
+ $.fn.off = function(event, selector, callback) {
+ return this.each(function() {
+ var _mid = mid(this);
+ if (!event) { //mui(selector).off();
+ delegates[_mid] && delete delegates[_mid];
+ } else if (!selector) { //mui(selector).off(event);
+ delegates[_mid] && delete delegates[_mid][event];
+ } else if (!callback) { //mui(selector).off(event,selector);
+ delegates[_mid] && delegates[_mid][event] && delete delegates[_mid][event][selector];
+ } else { //mui(selector).off(event,selector,callback);
+ var delegateCallbacks = delegates[_mid] && delegates[_mid][event] && delegates[_mid][event][selector];
+ $.each(delegateCallbacks, function(index, delegateCallback) {
+ if (mid(delegateCallback) === mid(callback)) {
+ delegateCallbacks.splice(index, 1);
+ return false;
+ }
+ }, true);
+ }
+ if (delegates[_mid]) {
+ //如果off掉了所有当前element的指定的event事件,则remove掉当前element的delegate回调
+ if ((!delegates[_mid][event] || $.isEmptyObject(delegates[_mid][event]))) {
+ findDelegateFn(this, event).forEach(function(fn) {
+ this.removeEventListener(fn.type, fn);
+ delete delegateFns[_mid][fn.i];
+ }.bind(this));
+ }
+ } else {
+ //如果delegates[_mid]已不存在,删除所有
+ findDelegateFn(this).forEach(function(fn) {
+ this.removeEventListener(fn.type, fn);
+ delete delegateFns[_mid][fn.i];
+ }.bind(this));
+ }
+ });
+
+ };
+})(mui);
+/**
+ * mui target(action>popover>modal>tab>toggle)
+ */
+(function($, window, document) {
+ /**
+ * targets
+ */
+ $.targets = {};
+ /**
+ * target handles
+ */
+ $.targetHandles = [];
+ /**
+ * register target
+ * @param {type} target
+ * @returns {$.targets}
+ */
+ $.registerTarget = function(target) {
+
+ target.index = target.index || 1000;
+
+ $.targetHandles.push(target);
+
+ $.targetHandles.sort(function(a, b) {
+ return a.index - b.index;
+ });
+
+ return $.targetHandles;
+ };
+ window.addEventListener($.EVENT_START, function(event) {
+ var target = event.target;
+ var founds = {};
+ for (; target && target !== document; target = target.parentNode) {
+ var isFound = false;
+ $.each($.targetHandles, function(index, targetHandle) {
+ var name = targetHandle.name;
+ if (!isFound && !founds[name] && targetHandle.hasOwnProperty('handle')) {
+ $.targets[name] = targetHandle.handle(event, target);
+ if ($.targets[name]) {
+ founds[name] = true;
+ if (targetHandle.isContinue !== true) {
+ isFound = true;
+ }
+ }
+ } else {
+ if (!founds[name]) {
+ if (targetHandle.isReset !== false)
+ $.targets[name] = false;
+ }
+ }
+ });
+ if (isFound) {
+ break;
+ }
+ }
+ });
+ window.addEventListener('click', function(event) { //解决touch与click的target不一致的问题(比如链接边缘点击时,touch的target为html,而click的target为A)
+ var target = event.target;
+ var isFound = false;
+ for (; target && target !== document; target = target.parentNode) {
+ if (target.tagName === 'A') {
+ $.each($.targetHandles, function(index, targetHandle) {
+ var name = targetHandle.name;
+ if (targetHandle.hasOwnProperty('handle')) {
+ if (targetHandle.handle(event, target)) {
+ isFound = true;
+ event.preventDefault();
+ return false;
+ }
+ }
+ });
+ if (isFound) {
+ break;
+ }
+ }
+ }
+ });
+})(mui, window, document);
+/**
+ * fixed trim
+ * @param {type} undefined
+ * @returns {undefined}
+ */
+(function(undefined) {
+ if (String.prototype.trim === undefined) { // fix for iOS 3.2
+ String.prototype.trim = function() {
+ return this.replace(/^\s+|\s+$/g, '');
+ };
+ }
+ Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) {
+ obj['__proto__'] = proto;
+ return obj;
+ };
+
+})();
+/**
+ * fixed CustomEvent
+ */
+(function() {
+ if (typeof window.CustomEvent === 'undefined') {
+ function CustomEvent(event, params) {
+ params = params || {
+ bubbles: false,
+ cancelable: false,
+ detail: undefined
+ };
+ var evt = document.createEvent('Events');
+ var bubbles = true;
+ for (var name in params) {
+ (name === 'bubbles') ? (bubbles = !!params[name]) : (evt[name] = params[name]);
+ }
+ evt.initEvent(event, bubbles, true);
+ return evt;
+ };
+ CustomEvent.prototype = window.Event.prototype;
+ window.CustomEvent = CustomEvent;
+ }
+})();
+/*
+ A shim for non ES5 supporting browsers.
+ Adds function bind to Function prototype, so that you can do partial application.
+ Works even with the nasty thing, where the first word is the opposite of extranet, the second one is the profession of Columbus, and the version number is 9, flipped 180 degrees.
+*/
+
+Function.prototype.bind = Function.prototype.bind || function(to) {
+ // Make an array of our arguments, starting from second argument
+ var partial = Array.prototype.splice.call(arguments, 1),
+ // We'll need the original function.
+ fn = this;
+ var bound = function() {
+ // Join the already applied arguments to the now called ones (after converting to an array again).
+ var args = partial.concat(Array.prototype.splice.call(arguments, 0));
+ // If not being called as a constructor
+ if (!(this instanceof bound)) {
+ // return the result of the function called bound to target and partially applied.
+ return fn.apply(to, args);
+ }
+ // If being called as a constructor, apply the function bound to self.
+ fn.apply(this, args);
+ }
+ // Attach the prototype of the function to our newly created function.
+ bound.prototype = fn.prototype;
+ return bound;
+};
+/**
+ * mui fixed classList
+ * @param {type} document
+ * @returns {undefined}
+ */
+(function(document) {
+ if (!("classList" in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') {
+
+ Object.defineProperty(HTMLElement.prototype, 'classList', {
+ get: function() {
+ var self = this;
+ function update(fn) {
+ return function(value) {
+ var classes = self.className.split(/\s+/),
+ index = classes.indexOf(value);
+
+ fn(classes, index, value);
+ self.className = classes.join(" ");
+ };
+ }
+
+ var ret = {
+ add: update(function(classes, index, value) {
+ ~index || classes.push(value);
+ }),
+ remove: update(function(classes, index) {
+ ~index && classes.splice(index, 1);
+ }),
+ toggle: update(function(classes, index, value) {
+ ~index ? classes.splice(index, 1) : classes.push(value);
+ }),
+ contains: function(value) {
+ return !!~self.className.split(/\s+/).indexOf(value);
+ },
+ item: function(i) {
+ return self.className.split(/\s+/)[i] || null;
+ }
+ };
+
+ Object.defineProperty(ret, 'length', {
+ get: function() {
+ return self.className.split(/\s+/).length;
+ }
+ });
+
+ return ret;
+ }
+ });
+ }
+})(document);
+
+/**
+ * mui fixed requestAnimationFrame
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function(window) {
+ if (!window.requestAnimationFrame) {
+ var lastTime = 0;
+ window.requestAnimationFrame = window.webkitRequestAnimationFrame || function(callback, element) {
+ var currTime = new Date().getTime();
+ var timeToCall = Math.max(0, 16.7 - (currTime - lastTime));
+ var id = window.setTimeout(function() {
+ callback(currTime + timeToCall);
+ }, timeToCall);
+ lastTime = currTime + timeToCall;
+ return id;
+ };
+ window.cancelAnimationFrame = window.webkitCancelAnimationFrame || window.webkitCancelRequestAnimationFrame || function(id) {
+ clearTimeout(id);
+ };
+ };
+}(window));
+/**
+ * fastclick(only for radio,checkbox)
+ */
+(function($, window, name) {
+ if (!$.os.android && !$.os.ios) { //目前仅识别android和ios
+ return;
+ }
+ if (window.FastClick) {
+ return;
+ }
+
+ var handle = function(event, target) {
+ if (target.tagName === 'LABEL') {
+ if (target.parentNode) {
+ target = target.parentNode.querySelector('input');
+ }
+ }
+ if (target && (target.type === 'radio' || target.type === 'checkbox')) {
+ if (!target.disabled) { //disabled
+ return target;
+ }
+ }
+ return false;
+ };
+
+ $.registerTarget({
+ name: name,
+ index: 40,
+ handle: handle,
+ target: false
+ });
+ var dispatchEvent = function(event) {
+ var targetElement = $.targets.click;
+ if (targetElement) {
+ var clickEvent, touch;
+ // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect
+ if (document.activeElement && document.activeElement !== targetElement) {
+ document.activeElement.blur();
+ }
+ touch = event.detail.gesture.changedTouches[0];
+ // Synthesise a click event, with an extra attribute so it can be tracked
+ clickEvent = document.createEvent('MouseEvents');
+ clickEvent.initMouseEvent('click', true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
+ clickEvent.forwardedTouchEvent = true;
+ targetElement.dispatchEvent(clickEvent);
+ event.detail && event.detail.gesture.preventDefault();
+ }
+ };
+ window.addEventListener('tap', dispatchEvent);
+ window.addEventListener('doubletap', dispatchEvent);
+ //捕获
+ window.addEventListener('click', function(event) {
+ if ($.targets.click) {
+ if (!event.forwardedTouchEvent) { //stop click
+ if (event.stopImmediatePropagation) {
+ event.stopImmediatePropagation();
+ } else {
+ // Part of the hack for browsers that don't support Event#stopImmediatePropagation
+ event.propagationStopped = true;
+ }
+ event.stopPropagation();
+ event.preventDefault();
+ return false;
+ }
+ }
+ }, true);
+
+})(mui, window, 'click');
+(function($, document) {
+ $(function() {
+ if (!$.os.ios) {
+ return;
+ }
+ var CLASS_FOCUSIN = 'mui-focusin';
+ var CLASS_BAR_TAB = 'mui-bar-tab';
+ var CLASS_BAR_FOOTER = 'mui-bar-footer';
+ var CLASS_BAR_FOOTER_SECONDARY = 'mui-bar-footer-secondary';
+ var CLASS_BAR_FOOTER_SECONDARY_TAB = 'mui-bar-footer-secondary-tab';
+ // var content = document.querySelector('.' + CLASS_CONTENT);
+ // if (content) {
+ // document.body.insertBefore(content, document.body.firstElementChild);
+ // }
+ document.addEventListener('focusin', function(e) {
+ if ($.os.plus) { //在父webview里边不fix
+ if (window.plus) {
+ if (plus.webview.currentWebview().children().length > 0) {
+ return;
+ }
+ }
+ }
+ var target = e.target;
+ //TODO 需考虑所有键盘弹起的情况
+ if (target.tagName && (target.tagName === 'TEXTAREA' || (target.tagName === 'INPUT' && (target.type === 'text' || target.type === 'search' || target.type === 'number')))) {
+ if (target.disabled || target.readOnly) {
+ return;
+ }
+ document.body.classList.add(CLASS_FOCUSIN);
+ var isFooter = false;
+ for (; target && target !== document; target = target.parentNode) {
+ var classList = target.classList;
+ if (classList && classList.contains(CLASS_BAR_TAB) || classList.contains(CLASS_BAR_FOOTER) || classList.contains(CLASS_BAR_FOOTER_SECONDARY) || classList.contains(CLASS_BAR_FOOTER_SECONDARY_TAB)) {
+ isFooter = true;
+ break;
+ }
+ }
+ if (isFooter) {
+ var scrollTop = document.body.scrollHeight;
+ var scrollLeft = document.body.scrollLeft;
+ setTimeout(function() {
+ window.scrollTo(scrollLeft, scrollTop);
+ }, 20);
+ }
+ }
+ });
+ document.addEventListener('focusout', function(e) {
+ var classList = document.body.classList;
+ if (classList.contains(CLASS_FOCUSIN)) {
+ classList.remove(CLASS_FOCUSIN);
+ setTimeout(function() {
+ window.scrollTo(document.body.scrollLeft, document.body.scrollTop);
+ }, 20);
+ }
+ });
+ });
+})(mui, document);
+/**
+ * mui namespace(optimization)
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ $.namespace = 'mui';
+ $.classNamePrefix = $.namespace + '-';
+ $.classSelectorPrefix = '.' + $.classNamePrefix;
+ /**
+ * 返回正确的className
+ * @param {type} className
+ * @returns {String}
+ */
+ $.className = function(className) {
+ return $.classNamePrefix + className;
+ };
+ /**
+ * 返回正确的classSelector
+ * @param {type} classSelector
+ * @returns {String}
+ */
+ $.classSelector = function(classSelector) {
+ return classSelector.replace(/\./g, $.classSelectorPrefix);
+ };
+ /**
+ * 返回正确的eventName
+ * @param {type} event
+ * @param {type} module
+ * @returns {String}
+ */
+ $.eventName = function(event, module) {
+ return event + ($.namespace ? ('.' + $.namespace) : '') + ( module ? ('.' + module) : '');
+ };
+})(mui);
+
+/**
+ * mui gestures
+ * @param {type} $
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function($, window) {
+ $.gestures = {
+ session: {}
+ };
+ /**
+ * Gesture preventDefault
+ * @param {type} e
+ * @returns {undefined}
+ */
+ $.preventDefault = function(e) {
+ e.preventDefault();
+ };
+ /**
+ * Gesture stopPropagation
+ * @param {type} e
+ * @returns {undefined}
+ */
+ $.stopPropagation = function(e) {
+ e.stopPropagation();
+ };
+
+ /**
+ * register gesture
+ * @param {type} gesture
+ * @returns {$.gestures}
+ */
+ $.addGesture = function(gesture) {
+ return $.addAction('gestures', gesture);
+
+ };
+
+ var round = Math.round;
+ var abs = Math.abs;
+ var sqrt = Math.sqrt;
+ var atan = Math.atan;
+ var atan2 = Math.atan2;
+ /**
+ * distance
+ * @param {type} p1
+ * @param {type} p2
+ * @returns {Number}
+ */
+ var getDistance = function(p1, p2, props) {
+ if(!props) {
+ props = ['x', 'y'];
+ }
+ var x = p2[props[0]] - p1[props[0]];
+ var y = p2[props[1]] - p1[props[1]];
+ return sqrt((x * x) + (y * y));
+ };
+ /**
+ * scale
+ * @param {Object} starts
+ * @param {Object} moves
+ */
+ var getScale = function(starts, moves) {
+ if(starts.length >= 2 && moves.length >= 2) {
+ var props = ['pageX', 'pageY'];
+ return getDistance(moves[1], moves[0], props) / getDistance(starts[1], starts[0], props);
+ }
+ return 1;
+ };
+ /**
+ * angle
+ * @param {type} p1
+ * @param {type} p2
+ * @returns {Number}
+ */
+ var getAngle = function(p1, p2, props) {
+ if(!props) {
+ props = ['x', 'y'];
+ }
+ var x = p2[props[0]] - p1[props[0]];
+ var y = p2[props[1]] - p1[props[1]];
+ return atan2(y, x) * 180 / Math.PI;
+ };
+ /**
+ * direction
+ * @param {Object} x
+ * @param {Object} y
+ */
+ var getDirection = function(x, y) {
+ if(x === y) {
+ return '';
+ }
+ if(abs(x) >= abs(y)) {
+ return x > 0 ? 'left' : 'right';
+ }
+ return y > 0 ? 'up' : 'down';
+ };
+ /**
+ * rotation
+ * @param {Object} start
+ * @param {Object} end
+ */
+ var getRotation = function(start, end) {
+ var props = ['pageX', 'pageY'];
+ return getAngle(end[1], end[0], props) - getAngle(start[1], start[0], props);
+ };
+ /**
+ * px per ms
+ * @param {Object} deltaTime
+ * @param {Object} x
+ * @param {Object} y
+ */
+ var getVelocity = function(deltaTime, x, y) {
+ return {
+ x: x / deltaTime || 0,
+ y: y / deltaTime || 0
+ };
+ };
+ /**
+ * detect gestures
+ * @param {type} event
+ * @param {type} touch
+ * @returns {undefined}
+ */
+ var detect = function(event, touch) {
+ if($.gestures.stoped) {
+ return;
+ }
+ $.doAction('gestures', function(index, gesture) {
+ if(!$.gestures.stoped) {
+ if($.options.gestureConfig[gesture.name] !== false) {
+ gesture.handle(event, touch);
+ }
+ }
+ });
+ };
+ /**
+ * 暂时无用
+ * @param {Object} node
+ * @param {Object} parent
+ */
+ var hasParent = function(node, parent) {
+ while(node) {
+ if(node == parent) {
+ return true;
+ }
+ node = node.parentNode;
+ }
+ return false;
+ };
+
+ var uniqueArray = function(src, key, sort) {
+ var results = [];
+ var values = [];
+ var i = 0;
+
+ while(i < src.length) {
+ var val = key ? src[i][key] : src[i];
+ if(values.indexOf(val) < 0) {
+ results.push(src[i]);
+ }
+ values[i] = val;
+ i++;
+ }
+
+ if(sort) {
+ if(!key) {
+ results = results.sort();
+ } else {
+ results = results.sort(function sortUniqueArray(a, b) {
+ return a[key] > b[key];
+ });
+ }
+ }
+
+ return results;
+ };
+ var getMultiCenter = function(touches) {
+ var touchesLength = touches.length;
+ if(touchesLength === 1) {
+ return {
+ x: round(touches[0].pageX),
+ y: round(touches[0].pageY)
+ };
+ }
+
+ var x = 0;
+ var y = 0;
+ var i = 0;
+ while(i < touchesLength) {
+ x += touches[i].pageX;
+ y += touches[i].pageY;
+ i++;
+ }
+
+ return {
+ x: round(x / touchesLength),
+ y: round(y / touchesLength)
+ };
+ };
+ var multiTouch = function() {
+ return $.options.gestureConfig.pinch;
+ };
+ var copySimpleTouchData = function(touch) {
+ var touches = [];
+ var i = 0;
+ while(i < touch.touches.length) {
+ touches[i] = {
+ pageX: round(touch.touches[i].pageX),
+ pageY: round(touch.touches[i].pageY)
+ };
+ i++;
+ }
+ return {
+ timestamp: $.now(),
+ gesture: touch.gesture,
+ touches: touches,
+ center: getMultiCenter(touch.touches),
+ deltaX: touch.deltaX,
+ deltaY: touch.deltaY
+ };
+ };
+
+ var calDelta = function(touch) {
+ var session = $.gestures.session;
+ var center = touch.center;
+ var offset = session.offsetDelta || {};
+ var prevDelta = session.prevDelta || {};
+ var prevTouch = session.prevTouch || {};
+
+ if(touch.gesture.type === $.EVENT_START || touch.gesture.type === $.EVENT_END) {
+ prevDelta = session.prevDelta = {
+ x: prevTouch.deltaX || 0,
+ y: prevTouch.deltaY || 0
+ };
+
+ offset = session.offsetDelta = {
+ x: center.x,
+ y: center.y
+ };
+ }
+ touch.deltaX = prevDelta.x + (center.x - offset.x);
+ touch.deltaY = prevDelta.y + (center.y - offset.y);
+ };
+ var calTouchData = function(touch) {
+ var session = $.gestures.session;
+ var touches = touch.touches;
+ var touchesLength = touches.length;
+
+ if(!session.firstTouch) {
+ session.firstTouch = copySimpleTouchData(touch);
+ }
+
+ if(multiTouch() && touchesLength > 1 && !session.firstMultiTouch) {
+ session.firstMultiTouch = copySimpleTouchData(touch);
+ } else if(touchesLength === 1) {
+ session.firstMultiTouch = false;
+ }
+
+ var firstTouch = session.firstTouch;
+ var firstMultiTouch = session.firstMultiTouch;
+ var offsetCenter = firstMultiTouch ? firstMultiTouch.center : firstTouch.center;
+
+ var center = touch.center = getMultiCenter(touches);
+ touch.timestamp = $.now();
+ touch.deltaTime = touch.timestamp - firstTouch.timestamp;
+
+ touch.angle = getAngle(offsetCenter, center);
+ touch.distance = getDistance(offsetCenter, center);
+
+ calDelta(touch);
+
+ touch.offsetDirection = getDirection(touch.deltaX, touch.deltaY);
+
+ touch.scale = firstMultiTouch ? getScale(firstMultiTouch.touches, touches) : 1;
+ touch.rotation = firstMultiTouch ? getRotation(firstMultiTouch.touches, touches) : 0;
+
+ calIntervalTouchData(touch);
+
+ };
+ var CAL_INTERVAL = 25;
+ var calIntervalTouchData = function(touch) {
+ var session = $.gestures.session;
+ var last = session.lastInterval || touch;
+ var deltaTime = touch.timestamp - last.timestamp;
+ var velocity;
+ var velocityX;
+ var velocityY;
+ var direction;
+
+ if(touch.gesture.type != $.EVENT_CANCEL && (deltaTime > CAL_INTERVAL || last.velocity === undefined)) {
+ var deltaX = last.deltaX - touch.deltaX;
+ var deltaY = last.deltaY - touch.deltaY;
+
+ var v = getVelocity(deltaTime, deltaX, deltaY);
+ velocityX = v.x;
+ velocityY = v.y;
+ velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;
+ direction = getDirection(deltaX, deltaY) || last.direction;
+
+ session.lastInterval = touch;
+ } else {
+ velocity = last.velocity;
+ velocityX = last.velocityX;
+ velocityY = last.velocityY;
+ direction = last.direction;
+ }
+
+ touch.velocity = velocity;
+ touch.velocityX = velocityX;
+ touch.velocityY = velocityY;
+ touch.direction = direction;
+ };
+ var targetIds = {};
+ var convertTouches = function(touches) {
+ for(var i = 0; i < touches.length; i++) {
+ !touches['identifier'] && (touches['identifier'] = 0);
+ }
+ return touches;
+ };
+ var getTouches = function(event, touch) {
+ var allTouches = convertTouches($.slice.call(event.touches || [event]));
+
+ var type = event.type;
+
+ var targetTouches = [];
+ var changedTargetTouches = [];
+
+ //当touchstart或touchmove且touches长度为1,直接获得all和changed
+ if((type === $.EVENT_START || type === $.EVENT_MOVE) && allTouches.length === 1) {
+ targetIds[allTouches[0].identifier] = true;
+ targetTouches = allTouches;
+ changedTargetTouches = allTouches;
+ touch.target = event.target;
+ } else {
+ var i = 0;
+ var targetTouches = [];
+ var changedTargetTouches = [];
+ var changedTouches = convertTouches($.slice.call(event.changedTouches || [event]));
+
+ touch.target = event.target;
+ var sessionTarget = $.gestures.session.target || event.target;
+ targetTouches = allTouches.filter(function(touch) {
+ return hasParent(touch.target, sessionTarget);
+ });
+
+ if(type === $.EVENT_START) {
+ i = 0;
+ while(i < targetTouches.length) {
+ targetIds[targetTouches[i].identifier] = true;
+ i++;
+ }
+ }
+
+ i = 0;
+ while(i < changedTouches.length) {
+ if(targetIds[changedTouches[i].identifier]) {
+ changedTargetTouches.push(changedTouches[i]);
+ }
+ if(type === $.EVENT_END || type === $.EVENT_CANCEL) {
+ delete targetIds[changedTouches[i].identifier];
+ }
+ i++;
+ }
+
+ if(!changedTargetTouches.length) {
+ return false;
+ }
+ }
+ targetTouches = uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true);
+ var touchesLength = targetTouches.length;
+ var changedTouchesLength = changedTargetTouches.length;
+ if(type === $.EVENT_START && touchesLength - changedTouchesLength === 0) { //first
+ touch.isFirst = true;
+ $.gestures.touch = $.gestures.session = {
+ target: event.target
+ };
+ }
+ touch.isFinal = ((type === $.EVENT_END || type === $.EVENT_CANCEL) && (touchesLength - changedTouchesLength === 0));
+
+ touch.touches = targetTouches;
+ touch.changedTouches = changedTargetTouches;
+ return true;
+
+ };
+ var handleTouchEvent = function(event) {
+ var touch = {
+ gesture: event
+ };
+ var touches = getTouches(event, touch);
+ if(!touches) {
+ return;
+ }
+ calTouchData(touch);
+ detect(event, touch);
+ $.gestures.session.prevTouch = touch;
+ if(event.type === $.EVENT_END && !$.isTouchable) {
+ $.gestures.touch = $.gestures.session = {};
+ }
+ };
+ var supportsPassive = (function checkPassiveListener() {
+ var supportsPassive = false;
+ try {
+ var opts = Object.defineProperty({}, 'passive', {
+ get: function get() {
+ supportsPassive = true;
+ },
+ });
+ window.addEventListener('testPassiveListener', null, opts);
+ } catch(e) {
+ // No support
+ }
+ return supportsPassive;
+ }())
+ window.addEventListener($.EVENT_START, handleTouchEvent);
+ window.addEventListener($.EVENT_MOVE, handleTouchEvent, supportsPassive ? {
+ passive: false,
+ capture: false
+ } : false);
+ window.addEventListener($.EVENT_END, handleTouchEvent);
+ window.addEventListener($.EVENT_CANCEL, handleTouchEvent);
+ //fixed hashchange(android)
+ window.addEventListener($.EVENT_CLICK, function(e) {
+ //TODO 应该判断当前target是不是在targets.popover内部,而不是非要相等
+ if(($.os.android || $.os.ios) && (($.targets.popover && e.target === $.targets.popover) || ($.targets.tab) || $.targets.offcanvas || $.targets.modal)) {
+ e.preventDefault();
+ }
+ }, true);
+
+ //增加原生滚动识别
+ $.isScrolling = false;
+ var scrollingTimeout = null;
+ window.addEventListener('scroll', function() {
+ $.isScrolling = true;
+ scrollingTimeout && clearTimeout(scrollingTimeout);
+ scrollingTimeout = setTimeout(function() {
+ $.isScrolling = false;
+ }, 250);
+ });
+})(mui, window);
+/**
+ * mui gesture flick[left|right|up|down]
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var flickStartTime = 0;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ var now = $.now();
+ switch (event.type) {
+ case $.EVENT_MOVE:
+ if (now - flickStartTime > 300) {
+ flickStartTime = now;
+ session.flickStart = touch.center;
+ }
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ touch.flick = false;
+ if (session.flickStart && options.flickMaxTime > (now - flickStartTime) && touch.distance > options.flickMinDistince) {
+ touch.flick = true;
+ touch.flickTime = now - flickStartTime;
+ touch.flickDistanceX = touch.center.x - session.flickStart.x;
+ touch.flickDistanceY = touch.center.y - session.flickStart.y;
+ $.trigger(session.target, name, touch);
+ $.trigger(session.target, name + touch.direction, touch);
+ }
+ break;
+ }
+
+ };
+ /**
+ * mui gesture flick
+ */
+ $.addGesture({
+ name: name,
+ index: 5,
+ handle: handle,
+ options: {
+ flickMaxTime: 200,
+ flickMinDistince: 10
+ }
+ });
+})(mui, 'flick');
+/**
+ * mui gesture swipe[left|right|up|down]
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ if (event.type === $.EVENT_END || event.type === $.EVENT_CANCEL) {
+ var options = this.options;
+ touch.swipe = false;
+ //TODO 后续根据velocity计算
+ if (touch.direction && options.swipeMaxTime > touch.deltaTime && touch.distance > options.swipeMinDistince) {
+ touch.swipe = true;
+ $.trigger(session.target, name, touch);
+ $.trigger(session.target, name + touch.direction, touch);
+ }
+ }
+ };
+ /**
+ * mui gesture swipe
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ swipeMaxTime: 300,
+ swipeMinDistince: 18
+ }
+ });
+})(mui, 'swipe');
+/**
+ * mui gesture drag[start|left|right|up|down|end]
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ switch (event.type) {
+ case $.EVENT_START:
+ break;
+ case $.EVENT_MOVE:
+ if (!touch.direction || !session.target) {
+ return;
+ }
+ //修正direction,可在session期间自行锁定拖拽方向,方便开发scroll类不同方向拖拽插件嵌套
+ if (session.lockDirection && session.startDirection) {
+ if (session.startDirection && session.startDirection !== touch.direction) {
+ if (session.startDirection === 'up' || session.startDirection === 'down') {
+ touch.direction = touch.deltaY < 0 ? 'up' : 'down';
+ } else {
+ touch.direction = touch.deltaX < 0 ? 'left' : 'right';
+ }
+ }
+ }
+
+ if (!session.drag) {
+ session.drag = true;
+ $.trigger(session.target, name + 'start', touch);
+ }
+ $.trigger(session.target, name, touch);
+ $.trigger(session.target, name + touch.direction, touch);
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ if (session.drag && touch.isFinal) {
+ $.trigger(session.target, name + 'end', touch);
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture drag
+ */
+ $.addGesture({
+ name: name,
+ index: 20,
+ handle: handle,
+ options: {
+ fingers: 1
+ }
+ });
+})(mui, 'drag');
+/**
+ * mui gesture tap and doubleTap
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var lastTarget;
+ var lastTapTime;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ switch (event.type) {
+ case $.EVENT_END:
+ if (!touch.isFinal) {
+ return;
+ }
+ var target = session.target;
+ if (!target || (target.disabled || (target.classList && target.classList.contains('mui-disabled')))) {
+ return;
+ }
+ if (touch.distance < options.tapMaxDistance && touch.deltaTime < options.tapMaxTime) {
+ if ($.options.gestureConfig.doubletap && lastTarget && (lastTarget === target)) { //same target
+ if (lastTapTime && (touch.timestamp - lastTapTime) < options.tapMaxInterval) {
+ $.trigger(target, 'doubletap', touch);
+ lastTapTime = $.now();
+ lastTarget = target;
+ return;
+ }
+ }
+ $.trigger(target, name, touch);
+ lastTapTime = $.now();
+ lastTarget = target;
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture tap
+ */
+ $.addGesture({
+ name: name,
+ index: 30,
+ handle: handle,
+ options: {
+ fingers: 1,
+ tapMaxInterval: 300,
+ tapMaxDistance: 5,
+ tapMaxTime: 250
+ }
+ });
+})(mui, 'tap');
+/**
+ * mui gesture longtap
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var timer;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ switch (event.type) {
+ case $.EVENT_START:
+ clearTimeout(timer);
+ timer = setTimeout(function() {
+ $.trigger(session.target, name, touch);
+ }, options.holdTimeout);
+ break;
+ case $.EVENT_MOVE:
+ if (touch.distance > options.holdThreshold) {
+ clearTimeout(timer);
+ }
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ clearTimeout(timer);
+ break;
+ }
+ };
+ /**
+ * mui gesture longtap
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ fingers: 1,
+ holdTimeout: 500,
+ holdThreshold: 2
+ }
+ });
+})(mui, 'longtap');
+/**
+ * mui gesture hold
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var timer;
+ var handle = function(event, touch) {
+ var session = $.gestures.session;
+ var options = this.options;
+ switch (event.type) {
+ case $.EVENT_START:
+ if ($.options.gestureConfig.hold) {
+ timer && clearTimeout(timer);
+ timer = setTimeout(function() {
+ touch.hold = true;
+ $.trigger(session.target, name, touch);
+ }, options.holdTimeout);
+ }
+ break;
+ case $.EVENT_MOVE:
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ if (timer) {
+ clearTimeout(timer) && (timer = null);
+ $.trigger(session.target, 'release', touch);
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture hold
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ fingers: 1,
+ holdTimeout: 0
+ }
+ });
+})(mui, 'hold');
+/**
+ * mui gesture pinch
+ * @param {type} $
+ * @param {type} name
+ * @returns {undefined}
+ */
+(function($, name) {
+ var handle = function(event, touch) {
+ var options = this.options;
+ var session = $.gestures.session;
+ switch (event.type) {
+ case $.EVENT_START:
+ break;
+ case $.EVENT_MOVE:
+ if ($.options.gestureConfig.pinch) {
+ if (touch.touches.length < 2) {
+ return;
+ }
+ if (!session.pinch) { //start
+ session.pinch = true;
+ $.trigger(session.target, name + 'start', touch);
+ }
+ $.trigger(session.target, name, touch);
+ var scale = touch.scale;
+ var rotation = touch.rotation;
+ var lastScale = typeof touch.lastScale === 'undefined' ? 1 : touch.lastScale;
+ var scaleDiff = 0.000000000001; //防止scale与lastScale相等,不触发事件的情况。
+ if (scale > lastScale) { //out
+ lastScale = scale - scaleDiff;
+ $.trigger(session.target, name + 'out', touch);
+ } //in
+ else if (scale < lastScale) {
+ lastScale = scale + scaleDiff;
+ $.trigger(session.target, name + 'in', touch);
+ }
+ if (Math.abs(rotation) > options.minRotationAngle) {
+ $.trigger(session.target, 'rotate', touch);
+ }
+ }
+ break;
+ case $.EVENT_END:
+ case $.EVENT_CANCEL:
+ if ($.options.gestureConfig.pinch && session.pinch && touch.touches.length === 2) {
+ session.pinch = false;
+ $.trigger(session.target, name + 'end', touch);
+ }
+ break;
+ }
+ };
+ /**
+ * mui gesture pinch
+ */
+ $.addGesture({
+ name: name,
+ index: 10,
+ handle: handle,
+ options: {
+ minRotationAngle: 0
+ }
+ });
+})(mui, 'pinch');
+/**
+ * mui.init
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ $.global = $.options = {
+ gestureConfig: {
+ tap: true,
+ doubletap: false,
+ longtap: false,
+ hold: false,
+ flick: true,
+ swipe: true,
+ drag: true,
+ pinch: false
+ }
+ };
+ /**
+ *
+ * @param {type} options
+ * @returns {undefined}
+ */
+ $.initGlobal = function(options) {
+ $.options = $.extend(true, $.global, options);
+ return this;
+ };
+ var inits = {};
+
+ /**
+ * 单页配置 初始化
+ * @param {object} options
+ */
+ $.init = function(options) {
+ $.options = $.extend(true, $.global, options || {});
+ $.ready(function() {
+ $.doAction('inits', function(index, init) {
+ var isInit = !!(!inits[init.name] || init.repeat);
+ if (isInit) {
+ init.handle.call($);
+ inits[init.name] = true;
+ }
+ });
+ });
+ return this;
+ };
+
+ /**
+ * 增加初始化执行流程
+ * @param {function} init
+ */
+ $.addInit = function(init) {
+ return $.addAction('inits', init);
+ };
+ /**
+ * 处理html5版本subpages
+ */
+ $.addInit({
+ name: 'iframe',
+ index: 100,
+ handle: function() {
+ var options = $.options;
+ var subpages = options.subpages || [];
+ if (!$.os.plus && subpages.length) {
+ //暂时只处理单个subpage。后续可以考虑支持多个subpage
+ createIframe(subpages[0]);
+ }
+ }
+ });
+ var createIframe = function(options) {
+ var wrapper = document.createElement('div');
+ wrapper.className = 'mui-iframe-wrapper';
+ var styles = options.styles || {};
+ if (typeof styles.top !== 'string') {
+ styles.top = '0px';
+ }
+ if (typeof styles.bottom !== 'string') {
+ styles.bottom = '0px';
+ }
+ wrapper.style.top = styles.top;
+ wrapper.style.bottom = styles.bottom;
+ var iframe = document.createElement('iframe');
+ iframe.src = options.url;
+ iframe.id = options.id || options.url;
+ iframe.name = iframe.id;
+ wrapper.appendChild(iframe);
+ document.body.appendChild(wrapper);
+ //目前仅处理微信
+ $.os.wechat && handleScroll(wrapper, iframe);
+ };
+
+ function handleScroll(wrapper, iframe) {
+ var key = 'MUI_SCROLL_POSITION_' + document.location.href + '_' + iframe.src;
+ var scrollTop = (parseFloat(localStorage.getItem(key)) || 0);
+ if (scrollTop) {
+ (function(y) {
+ iframe.onload = function() {
+ window.scrollTo(0, y);
+ };
+ })(scrollTop);
+ }
+ setInterval(function() {
+ var _scrollTop = window.scrollY;
+ if (scrollTop !== _scrollTop) {
+ localStorage.setItem(key, _scrollTop + '');
+ scrollTop = _scrollTop;
+ }
+ }, 100);
+ };
+ $(function() {
+ var classList = document.body.classList;
+ var os = [];
+ if ($.os.ios) {
+ os.push({
+ os: 'ios',
+ version: $.os.version
+ });
+ classList.add('mui-ios');
+ } else if ($.os.android) {
+ os.push({
+ os: 'android',
+ version: $.os.version
+ });
+ classList.add('mui-android');
+ }
+ if ($.os.wechat) {
+ os.push({
+ os: 'wechat',
+ version: $.os.wechat.version
+ });
+ classList.add('mui-wechat');
+ }
+ if (os.length) {
+ $.each(os, function(index, osObj) {
+ var version = '';
+ var classArray = [];
+ if (osObj.version) {
+ $.each(osObj.version.split('.'), function(i, v) {
+ version = version + (version ? '-' : '') + v;
+ classList.add($.className(osObj.os + '-' + version));
+ });
+ }
+ });
+ }
+ });
+})(mui);
+/**
+ * mui.init 5+
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ var defaultOptions = {
+ swipeBack: false,
+ preloadPages: [], //5+ lazyLoad webview
+ preloadLimit: 10, //预加载窗口的数量限制(一旦超出,先进先出)
+ keyEventBind: {
+ backbutton: true,
+ menubutton: true
+ },
+ titleConfig: {
+ height: "44px",
+ backgroundColor: "#f7f7f7", //导航栏背景色
+ bottomBorderColor: "#cccccc", //底部边线颜色
+ title: { //标题配置
+ text: "", //标题文字
+ position: {
+ top: 0,
+ left: 0,
+ width: "100%",
+ height: "100%"
+ },
+ styles: {
+ color: "#000000",
+ align: "center",
+ family: "'Helvetica Neue',Helvetica,sans-serif",
+ size: "17px",
+ style: "normal",
+ weight: "normal",
+ fontSrc: ""
+ }
+ },
+ back: {
+ image: {
+ base64Data: '',
+ imgSrc: '',
+ sprite: {
+ top: '0px',
+ left: '0px',
+ width: '100%',
+ height: '100%'
+ },
+ position: {
+ top: "10px",
+ left: "10px",
+ width: "24px",
+ height: "24px"
+ }
+ }
+ }
+ }
+ };
+
+ //默认页面动画
+ var defaultShow = {
+ event:"titleUpdate",
+ autoShow: true,
+ duration: 300,
+ aniShow: 'slide-in-right',
+ extras:{}
+ };
+ //若执行了显示动画初始化操作,则要覆盖默认配置
+ if($.options.show) {
+ defaultShow = $.extend(true, defaultShow, $.options.show);
+ }
+
+ $.currentWebview = null;
+
+ $.extend(true, $.global, defaultOptions);
+ $.extend(true, $.options, defaultOptions);
+ /**
+ * 等待动画配置
+ * @param {type} options
+ * @returns {Object}
+ */
+ $.waitingOptions = function(options) {
+ return $.extend(true, {}, {
+ autoShow: true,
+ title: '',
+ modal: false
+ }, options);
+ };
+ /**
+ * 窗口显示配置
+ * @param {type} options
+ * @returns {Object}
+ */
+ $.showOptions = function(options) {
+ return $.extend(true, {}, defaultShow, options);
+ };
+ /**
+ * 窗口默认配置
+ * @param {type} options
+ * @returns {Object}
+ */
+ $.windowOptions = function(options) {
+ return $.extend({
+ scalable: false,
+ bounce: "" //vertical
+ }, options);
+ };
+ /**
+ * plusReady
+ * @param {type} callback
+ * @returns {_L6.$}
+ */
+ $.plusReady = function(callback) {
+ if(window.plus) {
+ setTimeout(function() { //解决callback与plusready事件的执行时机问题(典型案例:showWaiting,closeWaiting)
+ callback();
+ }, 0);
+ } else {
+ document.addEventListener("plusready", function() {
+ callback();
+ }, false);
+ }
+ return this;
+ };
+ /**
+ * 5+ event(5+没提供之前我自己实现)
+ * @param {type} webview
+ * @param {type} eventType
+ * @param {type} data
+ * @returns {undefined}
+ */
+ $.fire = function(webview, eventType, data) {
+ if(webview) {
+ if(typeof data === 'undefined') {
+ data = '';
+ } else if(typeof data === 'boolean' || typeof data === 'number') {
+ webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")");
+ return;
+ } else if($.isPlainObject(data) || $.isArray(data)) {
+ data = JSON.stringify(data || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c");
+ }
+ webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "','" + data + "')");
+ }
+ };
+ /**
+ * 5+ event(5+没提供之前我自己实现)
+ * @param {type} eventType
+ * @param {type} data
+ * @returns {undefined}
+ */
+ $.receive = function(eventType, data) {
+ if(eventType) {
+ try {
+ if(data && typeof data === 'string') {
+ data = JSON.parse(data);
+ }
+ } catch(e) {}
+ $.trigger(document, eventType, data);
+ }
+ };
+ var triggerPreload = function(webview) {
+ if(!webview.preloaded) { //保证仅触发一次
+ $.fire(webview, 'preload');
+ var list = webview.children();
+ for(var i = 0; i < list.length; i++) {
+ $.fire(list[i], 'preload');
+ }
+ webview.preloaded = true;
+ }
+ };
+ var trigger = function(webview, eventType, timeChecked) {
+ if(timeChecked) {
+ if(!webview[eventType + 'ed']) {
+ $.fire(webview, eventType);
+ var list = webview.children();
+ for(var i = 0; i < list.length; i++) {
+ $.fire(list[i], eventType);
+ }
+ webview[eventType + 'ed'] = true;
+ }
+ } else {
+ $.fire(webview, eventType);
+ var list = webview.children();
+ for(var i = 0; i < list.length; i++) {
+ $.fire(list[i], eventType);
+ }
+ }
+
+ };
+ /**
+ * 打开新窗口
+ * @param {string} url 要打开的页面地址
+ * @param {string} id 指定页面ID
+ * @param {object} options 可选:参数,等待,窗口,显示配置{params:{},waiting:{},styles:{},show:{}}
+ */
+ $.openWindow = function(url, id, options) {
+ if(typeof url === 'object') {
+ options = url;
+ url = options.url;
+ id = options.id || url;
+ } else {
+ if(typeof id === 'object') {
+ options = id;
+ id = options.id || url;
+ } else {
+ id = id || url;
+ }
+ }
+ if(!$.os.plus) {
+ //TODO 先临时这么处理:手机上顶层跳,PC上parent跳
+ if($.os.ios || $.os.android) {
+ window.top.location.href = url;
+ } else {
+ window.parent.location.href = url;
+ }
+ return;
+ }
+ if(!window.plus) {
+ return;
+ }
+
+ options = options || {};
+ var params = options.params || {};
+ var webview = null,
+ webviewCache = null,
+ nShow, nWaiting;
+
+ if($.webviews[id]) {
+ webviewCache = $.webviews[id];
+ //webview真实存在,才能获取
+ if(plus.webview.getWebviewById(id)) {
+ webview = webviewCache.webview;
+ }
+ } else if(options.createNew !== true) {
+ webview = plus.webview.getWebviewById(id);
+ }
+
+ if(webview) { //已缓存
+ //每次show都需要传递动画参数;
+ //预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置;
+ nShow = webviewCache ? webviewCache.show : defaultShow;
+ nShow = options.show ? $.extend(nShow, options.show) : nShow;
+ nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
+ triggerPreload(webview);
+ trigger(webview, 'pagebeforeshow', false);
+ });
+ if(webviewCache) {
+ webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
+ }
+ return webview;
+ } else { //新窗口
+ if(!url) {
+ throw new Error('webview[' + id + '] does not exist');
+ }
+
+ //显示waiting
+ var waitingConfig = $.waitingOptions(options.waiting);
+ if(waitingConfig.autoShow) {
+ nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options);
+ }
+
+ //创建页面
+ options = $.extend(options, {
+ id: id,
+ url: url
+ });
+
+ webview = $.createWindow(options);
+
+ //显示
+ nShow = $.showOptions(options.show);
+ if(nShow.autoShow) {
+ var showWebview = function() {
+ //关闭等待框
+ if(nWaiting) {
+ nWaiting.close();
+ }
+ //显示页面
+ webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
+ options.afterShowMethodName && webview.evalJS(options.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
+ };
+ //titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview
+ webview.addEventListener(nShow.event, showWebview, false);
+ //loaded事件发生后,触发预加载和pagebeforeshow事件
+ webview.addEventListener("loaded", function() {
+ triggerPreload(webview);
+ trigger(webview, 'pagebeforeshow', false);
+ }, false);
+ }
+ }
+ return webview;
+ };
+
+ $.openWindowWithTitle = function(options, titleConfig) {
+ options = options || {};
+ var url = options.url;
+ var id = options.id || url;
+
+ if(!$.os.plus) {
+ //TODO 先临时这么处理:手机上顶层跳,PC上parent跳
+ if($.os.ios || $.os.android) {
+ window.top.location.href = url;
+ } else {
+ window.parent.location.href = url;
+ }
+ return;
+ }
+ if(!window.plus) {
+ return;
+ }
+
+ var params = options.params || {};
+ var webview = null,
+ webviewCache = null,
+ nShow, nWaiting;
+
+ if($.webviews[id]) {
+ webviewCache = $.webviews[id];
+ //webview真实存在,才能获取
+ if(plus.webview.getWebviewById(id)) {
+ webview = webviewCache.webview;
+ }
+ } else if(options.createNew !== true) {
+ webview = plus.webview.getWebviewById(id);
+ }
+
+ if(webview) { //已缓存
+ //每次show都需要传递动画参数;
+ //预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置;
+ nShow = webviewCache ? webviewCache.show : defaultShow;
+ nShow = options.show ? $.extend(nShow, options.show) : nShow;
+ nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
+ triggerPreload(webview);
+ trigger(webview, 'pagebeforeshow', false);
+ });
+ if(webviewCache) {
+ webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
+ }
+ return webview;
+ } else { //新窗口
+ if(!url) {
+ throw new Error('webview[' + id + '] does not exist');
+ }
+
+ //显示waiting
+ var waitingConfig = $.waitingOptions(options.waiting);
+ if(waitingConfig.autoShow) {
+ nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options);
+ }
+
+ //创建页面
+ options = $.extend(options, {
+ id: id,
+ url: url
+ });
+
+ webview = $.createWindow(options);
+
+ if(titleConfig) { //处理原生头
+ $.extend(true, $.options.titleConfig, titleConfig);
+ var tid = $.options.titleConfig.id ? $.options.titleConfig.id : id + "_title";
+ var view = new plus.nativeObj.View(tid, {
+ top: 0,
+ height: $.options.titleConfig.height,
+ width: "100%",
+ dock: "top",
+ position: "dock"
+ });
+ view.drawRect($.options.titleConfig.backgroundColor); //绘制背景色
+ var _b = parseInt($.options.titleConfig.height) - 1;
+ view.drawRect($.options.titleConfig.bottomBorderColor, {
+ top: _b + "px",
+ left: "0px"
+ }); //绘制底部边线
+
+ //绘制文字
+ if($.options.titleConfig.title.text){
+ var _title = $.options.titleConfig.title;
+ view.drawText(_title.text,_title.position , _title.styles);
+ }
+
+ //返回图标绘制
+ var _back = $.options.titleConfig.back;
+ var backClick = null;
+ //优先字体
+
+ //其次是图片
+ var _backImage = _back.image;
+ if(_backImage.base64Data || _backImage.imgSrc) {
+ //TODO 此处需要处理百分比的情况
+ backClick = {
+ left:parseInt(_backImage.position.left),
+ right:parseInt(_backImage.position.left) + parseInt(_backImage.position.width)
+ };
+ var bitmap = new plus.nativeObj.Bitmap(id + "_back");
+ if(_backImage.base64Data) { //优先base64编码字符串
+ bitmap.loadBase64Data(_backImage.base64Data);
+ } else { //其次加载图片文件
+ bitmap.load(_backImage.imgSrc);
+ }
+ view.drawBitmap(bitmap,_backImage.sprite , _backImage.position);
+ }
+
+ //处理点击事件
+ view.setTouchEventRect({
+ top: "0px",
+ left: "0px",
+ width: "100%",
+ height: "100%"
+ });
+ view.interceptTouchEvent(true);
+ view.addEventListener("click", function(e) {
+ var x = e.clientX;
+
+ //返回按钮点击
+ if(backClick&& x > backClick.left && x < backClick.right){
+ if( _back.click && $.isFunction(_back.click)){
+ _back.click();
+ }else{
+ webview.evalJS("window.mui&&mui.back();");
+ }
+ }
+ }, false);
+ webview.append(view);
+
+ }
+
+ //显示
+ nShow = $.showOptions(options.show);
+ if(nShow.autoShow) {
+ //titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview
+ webview.addEventListener(nShow.event, function () {
+ //关闭等待框
+ if(nWaiting) {
+ nWaiting.close();
+ }
+ //显示页面
+ webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
+ }, false);
+ }
+ }
+ return webview;
+ };
+
+ /**
+ * 根据配置信息创建一个webview
+ * @param {type} options
+ * @param {type} isCreate
+ * @returns {webview}
+ */
+ $.createWindow = function(options, isCreate) {
+ if(!window.plus) {
+ return;
+ }
+ var id = options.id || options.url;
+ var webview;
+ if(options.preload) {
+ if($.webviews[id] && $.webviews[id].webview.getURL()) { //已经cache
+ webview = $.webviews[id].webview;
+ } else { //新增预加载窗口
+ //判断是否携带createNew参数,默认为false
+ if(options.createNew !== true) {
+ webview = plus.webview.getWebviewById(id);
+ }
+
+ //之前没有,那就新创建
+ if(!webview) {
+ webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), $.extend({
+ preload: true
+ }, options.extras));
+ if(options.subpages) {
+ $.each(options.subpages, function(index, subpage) {
+ var subpageId = subpage.id || subpage.url;
+ if(subpageId) { //过滤空对象
+ var subWebview = plus.webview.getWebviewById(subpageId);
+ if(!subWebview) { //如果该webview不存在,则创建
+ subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), $.extend({
+ preload: true
+ }, subpage.extras));
+ }
+ webview.append(subWebview);
+ }
+ });
+ }
+ }
+ }
+
+ //TODO 理论上,子webview也应该计算到预加载队列中,但这样就麻烦了,要退必须退整体,否则可能出现问题;
+ $.webviews[id] = {
+ webview: webview, //目前仅preload的缓存webview
+ preload: true,
+ show: $.showOptions(options.show),
+ afterShowMethodName: options.afterShowMethodName //就不应该用evalJS。应该是通过事件消息通讯
+ };
+ //索引该预加载窗口
+ var preloads = $.data.preloads;
+ var index = preloads.indexOf(id);
+ if(~index) { //删除已存在的(变相调整插入位置)
+ preloads.splice(index, 1);
+ }
+ preloads.push(id);
+ if(preloads.length > $.options.preloadLimit) {
+ //先进先出
+ var first = $.data.preloads.shift();
+ var webviewCache = $.webviews[first];
+ if(webviewCache && webviewCache.webview) {
+ //需要将自己打开的所有页面,全部close;
+ //关闭该预加载webview
+ $.closeAll(webviewCache.webview);
+ }
+ //删除缓存
+ delete $.webviews[first];
+ }
+ } else {
+ if(isCreate !== false) { //直接创建非预加载窗口
+ webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), options.extras);
+ if(options.subpages) {
+ $.each(options.subpages, function(index, subpage) {
+ var subpageId = subpage.id || subpage.url;
+ var subWebview = plus.webview.getWebviewById(subpageId);
+ if(!subWebview) {
+ subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), subpage.extras);
+ }
+ webview.append(subWebview);
+ });
+ }
+ }
+ }
+ return webview;
+ };
+
+ /**
+ * 预加载
+ */
+ $.preload = function(options) {
+ //调用预加载函数,不管是否传递preload参数,强制变为true
+ if(!options.preload) {
+ options.preload = true;
+ }
+ return $.createWindow(options);
+ };
+
+ /**
+ *关闭当前webview打开的所有webview;
+ */
+ $.closeOpened = function(webview) {
+ var opened = webview.opened();
+ if(opened) {
+ for(var i = 0, len = opened.length; i < len; i++) {
+ var openedWebview = opened[i];
+ var open_open = openedWebview.opened();
+ if(open_open && open_open.length > 0) {
+ //关闭打开的webview
+ $.closeOpened(openedWebview);
+ //关闭自己
+ openedWebview.close("none");
+ } else {
+ //如果直接孩子节点,就不用关闭了,因为父关闭的时候,会自动关闭子;
+ if(openedWebview.parent() !== webview) {
+ openedWebview.close('none');
+ }
+ }
+ }
+ }
+ };
+ $.closeAll = function(webview, aniShow) {
+ $.closeOpened(webview);
+ if(aniShow) {
+ webview.close(aniShow);
+ } else {
+ webview.close();
+ }
+ };
+
+ /**
+ * 批量创建webview
+ * @param {type} options
+ * @returns {undefined}
+ */
+ $.createWindows = function(options) {
+ $.each(options, function(index, option) {
+ //初始化预加载窗口(创建)和非预加载窗口(仅配置,不创建)
+ $.createWindow(option, false);
+ });
+ };
+ /**
+ * 创建当前页面的子webview
+ * @param {type} options
+ * @returns {webview}
+ */
+ $.appendWebview = function(options) {
+ if(!window.plus) {
+ return;
+ }
+ var id = options.id || options.url;
+ var webview;
+ if(!$.webviews[id]) { //保证执行一遍
+ //TODO 这里也有隐患,比如某个webview不是作为subpage创建的,而是作为target webview的话;
+ if(!plus.webview.getWebviewById(id)) {
+ webview = plus.webview.create(options.url, id, options.styles, options.extras);
+ }
+ //之前的实现方案:子窗口loaded之后再append到父窗口中;
+ //问题:部分子窗口loaded事件发生较晚,此时执行父窗口的children方法会返回空,导致父子通讯失败;
+ // 比如父页面执行完preload事件后,需触发子页面的preload事件,此时未append的话,就无法触发;
+ //修改方式:不再监控loaded事件,直接append
+ //by chb@20150521
+ // webview.addEventListener('loaded', function() {
+ plus.webview.currentWebview().append(webview);
+ // });
+ $.webviews[id] = options;
+
+ }
+ return webview;
+ };
+
+ //全局webviews
+ $.webviews = {};
+ //预加载窗口索引
+ $.data.preloads = [];
+ //$.currentWebview
+ $.plusReady(function() {
+ $.currentWebview = plus.webview.currentWebview();
+ });
+ $.addInit({
+ name: '5+',
+ index: 100,
+ handle: function() {
+ var options = $.options;
+ var subpages = options.subpages || [];
+ if($.os.plus) {
+ $.plusReady(function() {
+ //TODO 这里需要判断一下,最好等子窗口加载完毕后,再调用主窗口的show方法;
+ //或者:在openwindow方法中,监听实现;
+ $.each(subpages, function(index, subpage) {
+ $.appendWebview(subpage);
+ });
+ //判断是否首页
+ if(plus.webview.currentWebview() === plus.webview.getWebviewById(plus.runtime.appid)) {
+ //首页需要自己激活预加载;
+ //timeout因为子页面loaded之后才append的,防止子页面尚未append、从而导致其preload未触发的问题;
+ setTimeout(function() {
+ triggerPreload(plus.webview.currentWebview());
+ }, 300);
+ }
+ //设置ios顶部状态栏颜色;
+ if($.os.ios && $.options.statusBarBackground) {
+ plus.navigator.setStatusBarBackground($.options.statusBarBackground);
+ }
+ if($.os.android && parseFloat($.os.version) < 4.4) {
+ //解决Android平台4.4版本以下,resume后,父窗体标题延迟渲染的问题;
+ if(plus.webview.currentWebview().parent() == null) {
+ document.addEventListener("resume", function() {
+ var body = document.body;
+ body.style.display = 'none';
+ setTimeout(function() {
+ body.style.display = '';
+ }, 10);
+ });
+ }
+ }
+ });
+ } else {
+ //已支持iframe嵌入
+ // if (subpages.length > 0) {
+ // var err = document.createElement('div');
+ // err.className = 'mui-error';
+ // //文字描述
+ // var span = document.createElement('span');
+ // span.innerHTML = '在该浏览器下,不支持创建子页面,具体参考';
+ // err.appendChild(span);
+ // var a = document.createElement('a');
+ // a.innerHTML = '"mui框架适用场景"';
+ // a.href = 'http://ask.dcloud.net.cn/article/113';
+ // err.appendChild(a);
+ // document.body.appendChild(err);
+ // console.log('在该浏览器下,不支持创建子页面');
+ // }
+
+ }
+
+ }
+ });
+ window.addEventListener('preload', function() {
+ //处理预加载部分
+ var webviews = $.options.preloadPages || [];
+ $.plusReady(function() {
+ $.each(webviews, function(index, webview) {
+ $.createWindow($.extend(webview, {
+ preload: true
+ }));
+ });
+
+ });
+ });
+ $.supportStatusbarOffset = function() {
+ return $.os.plus && $.os.ios && parseFloat($.os.version) >= 7;
+ };
+ $.ready(function() {
+ //标识当前环境支持statusbar
+ if($.supportStatusbarOffset()) {
+ document.body.classList.add('mui-statusbar');
+ }
+ });
+})(mui);
+
+/**
+ * mui back
+ * @param {type} $
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function($, window) {
+ /**
+ * register back
+ * @param {type} back
+ * @returns {$.gestures}
+ */
+ $.addBack = function(back) {
+ return $.addAction('backs', back);
+ };
+ /**
+ * default
+ */
+ $.addBack({
+ name: 'browser',
+ index: 100,
+ handle: function() {
+ if (window.history.length > 1) {
+ window.history.back();
+ return true;
+ }
+ return false;
+ }
+ });
+ /**
+ * 后退
+ */
+ $.back = function() {
+ if (typeof $.options.beforeback === 'function') {
+ if ($.options.beforeback() === false) {
+ return;
+ }
+ }
+ $.doAction('backs');
+ };
+ window.addEventListener('tap', function(e) {
+ var action = $.targets.action;
+ if (action && action.classList.contains('mui-action-back')) {
+ $.back();
+ $.targets.action = false;
+ }
+ });
+ window.addEventListener('swiperight', function(e) {
+ var detail = e.detail;
+ if ($.options.swipeBack === true && Math.abs(detail.angle) < 3) {
+ $.back();
+ }
+ });
+
+})(mui, window);
+/**
+ * mui back 5+
+ * @param {type} $
+ * @param {type} window
+ * @returns {undefined}
+ */
+(function($, window) {
+ if ($.os.plus && $.os.android) {
+ $.addBack({
+ name: 'mui',
+ index: 5,
+ handle: function() {
+ //后续重新设计此处,将back放到各个空间内部实现
+ //popover
+ if ($.targets._popover && $.targets._popover.classList.contains('mui-active')) {
+ $($.targets._popover).popover('hide');
+ return true;
+ }
+ //offcanvas
+ var offCanvas = document.querySelector('.mui-off-canvas-wrap.mui-active');
+ if (offCanvas) {
+ $(offCanvas).offCanvas('close');
+ return true;
+ }
+ var previewImage = $.isFunction($.getPreviewImage) && $.getPreviewImage();
+ if (previewImage && previewImage.isShown()) {
+ previewImage.close();
+ return true;
+ }
+ //popup
+ return $.closePopup();
+ }
+ });
+ }
+ //首次按下back按键的时间
+ $.__back__first = null;
+ /**
+ * 5+ back
+ */
+ $.addBack({
+ name: '5+',
+ index: 10,
+ handle: function() {
+ if (!window.plus) {
+ return false;
+ }
+ var wobj = plus.webview.currentWebview();
+ var parent = wobj.parent();
+ if (parent) {
+ parent.evalJS('mui&&mui.back();');
+ } else {
+ wobj.canBack(function(e) {
+ //by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
+ if (e.canBack) { //webview history back
+ window.history.back();
+ } else { //webview close or hide
+ //fixed by fxy 此处不应该用opener判断,因为用户有可能自己close掉当前窗口的opener。这样的话。opener就为空了,导致不能执行close
+ if (wobj.id === plus.runtime.appid) { //首页
+ //首页不存在opener的情况下,后退实际上应该是退出应用;
+ //首次按键,提示‘再按一次退出应用’
+ if (!$.__back__first) {
+ $.__back__first = new Date().getTime();
+ mui.toast('再按一次退出应用');
+ setTimeout(function() {
+ $.__back__first = null;
+ }, 2000);
+ } else {
+ if (new Date().getTime() - $.__back__first < 2000) {
+ plus.runtime.quit();
+ }
+ }
+ } else { //其他页面,
+ if (wobj.preload) {
+ wobj.hide("auto");
+ } else {
+ //关闭页面时,需要将其打开的所有子页面全部关闭;
+ $.closeAll(wobj);
+ }
+ }
+ }
+ });
+ }
+ return true;
+ }
+ });
+
+
+ $.menu = function() {
+ var menu = document.querySelector('.mui-action-menu');
+ if (menu) {
+ $.trigger(menu, $.EVENT_START); //临时处理menu无touchstart的话,找不到当前targets的问题
+ $.trigger(menu, 'tap');
+ } else { //执行父窗口的menu
+ if (window.plus) {
+ var wobj = $.currentWebview;
+ var parent = wobj.parent();
+ if (parent) { //又得evalJS
+ parent.evalJS('mui&&mui.menu();');
+ }
+ }
+ }
+ };
+ var __back = function() {
+ $.back();
+ };
+ var __menu = function() {
+ $.menu();
+ };
+ //默认监听
+ $.plusReady(function() {
+ if ($.options.keyEventBind.backbutton) {
+ plus.key.addEventListener('backbutton', __back, false);
+ }
+ if ($.options.keyEventBind.menubutton) {
+ plus.key.addEventListener('menubutton', __menu, false);
+ }
+ });
+ //处理按键监听事件
+ $.addInit({
+ name: 'keyEventBind',
+ index: 1000,
+ handle: function() {
+ $.plusReady(function() {
+ //如果不为true,则移除默认监听
+ if (!$.options.keyEventBind.backbutton) {
+ plus.key.removeEventListener('backbutton', __back);
+ }
+ if (!$.options.keyEventBind.menubutton) {
+ plus.key.removeEventListener('menubutton', __menu);
+ }
+ });
+ }
+ });
+})(mui, window);
+/**
+ * mui.init pulldownRefresh
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($) {
+ $.addInit({
+ name: 'pullrefresh',
+ index: 1000,
+ handle: function() {
+ var options = $.options;
+ var pullRefreshOptions = options.pullRefresh || {};
+ var hasPulldown = pullRefreshOptions.down && pullRefreshOptions.down.hasOwnProperty('callback');
+ var hasPullup = pullRefreshOptions.up && pullRefreshOptions.up.hasOwnProperty('callback');
+ if(hasPulldown || hasPullup) {
+ var container = pullRefreshOptions.container;
+ if(container) {
+ var $container = $(container);
+ if($container.length === 1) {
+ if($.os.plus) { //5+环境
+ if(hasPulldown && pullRefreshOptions.down.style == "circle") { //原生转圈
+ $.plusReady(function() {
+ //这里改写$.fn.pullRefresh
+ $.fn.pullRefresh = $.fn.pullRefresh_native;
+ $container.pullRefresh(pullRefreshOptions);
+ });
+
+ } else if($.os.android) { //非原生转圈,但是Android环境
+ $.plusReady(function() {
+ //这里改写$.fn.pullRefresh
+ $.fn.pullRefresh = $.fn.pullRefresh_native
+ var webview = plus.webview.currentWebview();
+ if(window.__NWin_Enable__ === false) { //不支持多webview
+ $container.pullRefresh(pullRefreshOptions);
+ } else {
+ if(hasPullup) {
+ //当前页面初始化pullup
+ var upOptions = {};
+ upOptions.up = pullRefreshOptions.up;
+ upOptions.webviewId = webview.id || webview.getURL();
+ $container.pullRefresh(upOptions);
+ }
+ if(hasPulldown) {
+ var parent = webview.parent();
+ var id = webview.id || webview.getURL();
+ if(parent) {
+ if(!hasPullup) { //如果没有上拉加载,需要手动初始化一个默认的pullRefresh,以便当前页面容器可以调用endPulldownToRefresh等方法
+ $container.pullRefresh({
+ webviewId: id
+ });
+ }
+ var downOptions = {
+ webviewId: id//子页面id
+ };
+ downOptions.down = $.extend({}, pullRefreshOptions.down);
+ downOptions.down.callback = '_CALLBACK';
+ //改写父页面的$.fn.pullRefresh
+ parent.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native");
+ //父页面初始化pulldown
+ parent.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(downOptions) + "')");
+ }
+ }
+ }
+ });
+ } else { //非原生转圈,iOS环境
+ $container.pullRefresh(pullRefreshOptions);
+ }
+ } else {
+ $container.pullRefresh(pullRefreshOptions);
+ }
+ }
+ }
+ }
+ }
+ });
+})(mui);
+/**
+ * mui ajax
+ * @param {type} $
+ * @returns {undefined}
+ */
+(function($, window, undefined) {
+
+ var jsonType = 'application/json';
+ var htmlType = 'text/html';
+ var rscript = /